anonymous@RULINUX.NET~# | Last login: 2024-11-24 12:17:32 |
Регистрация Вход | Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск |
Форум - Talks | [RSS] |
Субж! Я вот тут уже устал от ПыхПыха, Питона, Ц/Ц++ и прочей императивщины, и в связи с этим решил расширить свой кругозор, так сказать)))
Может кого тоже эта тема вставляет?
Обменялись бы мнениями, и так далее. Напишем наконец правильную асинхронную мегакапчу на нашу днявочку и элементами матана и садомазо, Ы?
anonymous(*) (2011-08-03 20:24:00)
Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.124 Safari/534.30
|
|
|
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,Посоветуй какой-нибудь приличный учебник по этому вашему эрлангу, но чтобы для полных быдлокодеров. А то erlang course на официальном сайте какой-то немногословный и пугающий. |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,>по изучать
|
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,> Посоветуй какой-нибудь приличный учебник по этому вашему эрлангу, но чтобы для полных быдлокодеров. А то erlang course на официальном сайте какой-то немногословный и пугающий.
|
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,>"Erlang Programming", Francesco Cesarini & Simon Thompson, O'Reilly
|
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,>"Erlang Programming", Francesco Cesarini & Simon Thompson, O'Reilly
Пожалуста. Я сам сейчас по ниму учусь. Позитивно, что в книге заодно и функциональное программирование преподаётся. |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,>> по изучать
Ты знаешь, после того как я это запостил, после трудового дня прошедшего в копании ПыхПых Симфонии. Я был конечно же немного неадекватен. Но я увидел эту багу, но Туксоид для ананимусов отрезал функцию редактирования (ему минус за это). И что мне оставалось? Уповать на то что граммар-наци идут на хуй (обойдемся без условностей, на нашем ресурсе пока ещё можно посылать на хуй))). Так чта извиняй))) Ax-Xa-Xa(*)(2011-08-04 01:12:13)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.124 Safari/534.30 |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,> Посоветуй какой-нибудь приличный учебник по этому вашему эрлангу,
Я прекрасно начал с http://rsdn.ru/article/erlang/GettingStartedWithErlang.xml и дошел до темы межпроцесорного взаимодействия за два дня (~3-4 часа в день). Правда я на прошел не так давно курс sicp, ну не буду понтоваться где-то на 3/5, задрал матан в примерах. Но впрочм немного сейчас вникну в тему рекордов, в упоминаемой статье они зря не освщались (это наверно все таки в доках эрганга). Потом вернусь к статье по поводу межпроцесорного взаимодействия, попутно читая OTP в http://erlanger.ru/wiki/index.php/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0. и думаю через недельку другую, доберусь до мойшевеба.))) Ax-Xa-Xa(*)(2011-08-04 01:24:21)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.124 Safari/534.30 |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,>> "Erlang Programming", Francesco Cesarini & Simon Thompson, O'Reilly
> Пожалуста. Я сам сейчас по ниму учусь. Позитивно, что в книге заодно и функциональное программирование преподаётся.
Функциональное программирование лучше по SICP. Небольшой вынос мозга, но если не всё вынесло - ерланг пойдет гораздо легче.))) Ax-Xa-Xa(*)(2011-08-04 01:28:11)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.124 Safari/534.30 |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,Пишу на эрланге распределенный аналог жуйки для анонимусов, сейчас использую связку erlang+exmpp+yaws. Уже есть рабочий прототип. Пиши в жаббер bonegnasher [at] jabber.ru anonymous(*)(2011-08-04 02:55:18)
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0 |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,Открою небольшой секрет: ни схема, ни лисп, ни эрланг не являются строго функциональными языками, потому как позволяют использование императивных конструкций и побочных эффектов. anonymous(*)(2011-08-04 03:10:27)
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0 |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,> Открою небольшой секрет: ни схема, ни лисп, ни эрланг не являются строго функциональными языками, потому как позволяют использование императивных конструкций и побочных эффектов.
|
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,> Функциональное программирование лучше по SICP. Небольшой вынос мозга, но если не всё вынесло - ерланг пойдет гораздо легче.)))
|
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,Без императивщины реальной проги всё равно не сделаешь. А лисп никогда как функциональный и не позиционировался вообще-то. bugmaker(*)(2011-08-05 07:29:39)
Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.2.17) Gecko/20110422 Ubuntu/10.04 (lucid) Firefox/3.6.17 |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,Эрланг-трэд стартует здесь. Просьба к модераторам не трогать пока, пусть повисит некоторое время. На фоне обсуждения УГ и политоты хоть какая-то польза. В devel все-равно никого нет. |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,>Без императивщины реальной проги всё равно не сделаешь.
|
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,> Не теряя функциональной чистоты можно использовать монады
|
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,> Эрланг-трэд стартует здесь.
Ax-Xa-Xa(*)(2011-08-06 06:09:51)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.124 Safari/534.30 |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,С точки зрения программиста монада это абстрактный контейнер с тремя функциями. map — заменяет содержимое контейнера без изменения самого контейнера. Заменяем каждый гвоздь в коробке шурупом, каждый int в массиве float-ом — так map и работает. unit — берет элемент и возвращает контейнер с одним этим элементом. Делаем из гвоздя коробку с одним гвоздем. Делаем из int массив из одного int. join — уменьшает вложенность контейнеров — из коробки коробок гвоздей делает коробку с гвоздями (из массива массивов int-ов — массив int-ов). Ну или из коробки коробок коробок гвоздей делаем коробку коробок гвоздей. Это уже сложная концепция, доступная только программистам и более абстрактно развитым товарищам; обычный человек будет обескуражен тем, как в одну коробку могли поместиться несколько точно таких-же коробок. Впрочем, простая замена коробок коробок на мешки мешков или пакеты пакетов позволяет совершить абстрактно-теоретико-категориальный прорыв. Необязательные сведения: мы имеем иерархию абстрактных контейнеров, которые эти функции наследуют так: Еще более необязательная информация: между pointed functor и монадой в этой иерархии аппликативный функтор. Также можно добавить к монаде ноль — пустую коробку и плюс — берем две коробки (эти две коробки сами не в коробке!) и складываем их содержимое в одну такую же коробку. Ноль, естественно, для этого плюса будет нейтральным элементом. Представьте, что у нас есть функция f, которая что-то делает с двумя значениями, объектами. Эти два объекта мы можем получать разными способами. Допустим, что мы ищем их в некоем хранилище, базе данных, коллекции, т.е. они результат поиска, запроса. Можем найти, а можем и не найти. Тут логика перепутана с проверкой возвращаемых значений, да и проверки реализуются для каждого использования поиска, по месту. Разделяется и повторно используется она монадой Maybe все, теперь проверки где-то за кадром, пишутся они один раз и потом работают.Допустим, мы хотим получить результаты f для некоего набора значений. Проверить, например, функцию f на ее области определения или для каких-то особых случаев. Проход по наборам иксов и игреков также можно отделить от логики. Похоже на декартово произведение, записанное в нотации для множеств, что собственно нам и надо. Разумеется, одна реализация интерфейса-монады для списка позволит писать и так т.е. за кулисами нашей монады могут быть циклы любой вложенности, каждый раз реализовывать работу с несколькими списками по месту нам больше не понадобится. Точно также все будет работать и для других монад: Парсим строку, получаем значения x и y, возращем результат применения f. Если x и y не распарсились — возвращаем ошибку парсинга. Получаем значения по сети, ждем, пока придут оба, потом возвращаем результат применения f. И так далее. Более того, для монады можно реализовать функции, "поднимающие" другие функции в монады. Все, теперь мы превратили функцию f в парсер. Даже писать не обязательно. Необязательные свдения — для этих примеров достаточно аппликативного функтора — возможности монад несколько шире. Все мы изучали в школе свойства сложения, умножения, тригонометрических функций и т.д. Они позволяли упростить некоторое громоздкое выражение и решить задачу. Программирование — это решение задач. Упрощение там может пригодится, а может пригодится усложнение — оптимизация, но упрощение и усложнение, всякое преобразование кода в программировании это путь по минному полю. Мы можем думать, что отрефактореный код делает то же самое, но это не обязательно так. Как не покрывай код тестами, но покрытие это статистическое и баг может проскочить. Ну и проскакивает. В школе было проще, выражения равны, это доказано "багу" взяться неоткуда. Это оптимизация. Мы заменили одну простую операцию и две сложных на одну простую и одну сложную. Функторы, монады, моноиды и т.д. приводят школьную простоту и железную надежность доказательства в программирование. Если мы гарантируем выполнение простых свойств, то и сложные преобразования больших объемов кода с соблюдением этих простых правил будут корректны. Это свойство функтора (а следовательно и монады) и тоже оптимизация. Мы заменили работу со списком в два прохода эквивалентной работой в один проход. До этого я писал, в основном, о монадах и функторах, а вопрос был еще и про стрелки. Тут у нас есть стрелки-функции (да, функция это стрелка) и комбинация этих стрелок: Если у нас есть то нет смысла делать сложное вычисление — мы уже знаем ответ. Для map тоже есть значение, "отношения" операции map с которым похожи на отношение операции умножения с нулем. это id — функция, которая дает результат равный принимаемому значению. нет смысла проходить по огромному списку — он не изменится. "Какой-то бред", может подумать читатель "откуда у нас вдруг возьмется функция, которая ничего не делает?". Легко возмется. Есть множество пар действий, которые будучи сгруппированы (мы ведь упрощаем программу-выражение) дадут ничего не делающую функцию. Папример, поворот изображения по часовой стрелке в комбинации с поворотом изображения против часовой стрелки не делает ничего. есть также операции, которые становятся ничего не делающими при повторном применении, в комбинации с самими собой — зеркальное отражение изображения, например. Другие свойства монад: Для того, чтобы собирать из монад конструкции из первой части, нам нужны специальные операции, которые монады соединяют. Самая простая из них — рыбка (>=>). Рыбка, как и . комбинирует стрелки, но не всякие, а стрелки Клейсли, т.е. функции, которые упаковывают значение (предмет) в монаду (коробку). Одну стрелку клейсли мы уже упоминали — это unit. Unit нейтральный элемент для рыбки, как id для . и 0 для +: Рыбка ассоциативна, как и + и *: Самая известная из них — bind (>>=), это когда мы сначала делаем map стрелкой Клейсли, а потом уменьшаем вложенность монад операцией join кладем a в коробку применяем к внутренностям коробки функцию f f это стрелка Клейсли, она кладет свой результат в коробку а теперь джойним коробки готово, то же что и просто тут все понятно, упаковываем содержимое коробки в коробку, добавляя вложенность коробок, а потом убираем лишнюю вложенность коробок — бессмысленное занятие. Это уже совсем не так весело, вот потому-то и начинать объяснение монад с bind — это ошибка. Смотрите лучше на join и рыбок. выражаем map через bind — упаковывая результат функции f в коробку. Используя такой вот "алгебраический подход", можно рефакторить программы с обоснованной корректностью преобразования при условии выполнении свойств, а также писать, например, наивную реализацию, которую легко придумать и понять, а потом так же корректно трансформировать в реализацию эффективную, но, возможно, неочевидную и плохо читаемую. Пример таких преобразований на небольшой программе продемонстрирован в этой презентации, но материал не простой, не для первого чтения, потому как слайды в презентации перевернуты, ну а что поделать? В equational reasoning царской дороги нет. Также требуется знание синтаскиса и семантики языка haskell, что, конечно, не так сложно, как переворачивание слайдов, но, тем не менее, не совсем легко. Резюмируя. Фактически, это аналог того процесса, который произошел гораздо раньше в физике. Два тысячелетия философы спорили о том, летит стрела Зенона или не летит, но вот составили набор простых правил и вуаля: производные находит ученик 10-го класса. Т.е. молодое ремесло "программирование" выпускается из детского сада и идет в школу с перспективой поступить в институт, получить диплом и стать обычной инженерной деятельностью. Вроде самолетостроения. Надеюсь, что на этот раз тысячелетий не понадобится. |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,Да и вообще, в интернетах over9000 всяких монадных блогпостов, однако понимать их практически невозможно — не стоит даже и пытаться. Все что можно из них извлечь — это странные продукты подсознания автора монадного тьюториала и его детские страхи. Вот, например, годная статья про монады, где рассказывается про монады с точки зрения теории категорий.: http://stefan-klinger.de/files/monadGuide.pdf Если есть интерес, то могу запилить перевод, но статья очень просто и понятно написана. |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,> С точки зрения программиста монада это абстрактный контейнер с тремя функциями.
> Да и вообще, в интернетах over9000 всяких монадных блогпостов, однако понимать их практически невозможно — не стоит даже и пытаться. Все что можно из них извлечь — это странные продукты подсознания автора монадного тьюториала и его детские страхи.
|
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,> Если есть интерес, то могу запилить перевод, но статья очень просто и понятно написана.
Ax-Xa-Xa(*)(2011-08-06 18:25:30)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.124 Safari/534.30 |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,> и вуаля: производные находит ученик 10-го класса.
Ax-Xa-Xa(*)(2011-08-06 18:30:34)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.124 Safari/534.30 |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,>Математический и физический смысл производной описывается одним предложением.
>А запощенная сюда попытка дать определение термину монада на овер 500 строк вряд ли можно назвать популярным объяснением.)))
Более сложное определение с кратким введением в теорию категорий приводится в статье Стэфана Клингера, ссылку на которую я дал выше. |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,>> Математический и физический смысл производной описывается одним предложением.
Я конечно понимаю, что смысл производной практически невозможно объяснить неграмотному пастуху. Но его можно объяснить, человеку получившему начальное среднее образование. Поэтому логично ввести категорию человека, которому надо объяснить, что такое монада. Пусть это будет программист сносно владеющий Си. Например понятное для него определение функции высшего порядка: "Функция принимающая в качестве параметра и/или возвращающая в результате другую функцию". Если у тебя получиться объяснить монаду, то можешь считать что ты многое сделал для популизации функцирнальщины.))) Ax-Xa-Xa(*)(2011-08-06 20:44:11)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.124 Safari/534.30 |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,>Если у тебя получиться объяснить монаду, то можешь считать что ты многое сделал для популизации функцирнальщины.)))
|
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,Сегодня на швабрашвабре опубликовали неплохую статью о монадах: http://habrahabr.ru/blogs/programming/125782/
|
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,> Сегодня на швабрашвабре опубликовали неплохую статью о монадах: http://habrahabr.ru/blogs/programming/125782/
Пока еще не прочитал вдумчиво, но утверждение что тот кто не знает матана не сможет спроектировать усилитель - бля, нам как бэ намекает. Афтор сноб живущий в своем собственном сферическом вакууме, делающий выводы об окружающей его среде только на основе своих мыслеветвлений.) Есть умный термин такого мировоззрения, но сейчас не припомню. anonymous(*)(2011-08-08 15:21:05)
Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.124 Safari/534.30 |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,"Монады — это живые, духообразные единицы, из которых все состоит и кроме которых ничего в мире нет" (педивикия). Как - то так махарадж тролил бы топик стартера, изведя его на говно. Ибо истину глаголит Лейпниц - отец, порадивший сына монадологию, и куда без духа святого - философии, аминь, блеать. anonymous(*)(2011-08-08 15:57:18)
Mozilla/5.0 (X11; Linux x86_64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1 |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,>Пока еще не прочитал вдумчиво, но утверждение что тот кто не знает матана не сможет спроектировать усилитель - бля, нам как бэ намекает. Афтор сноб живущий в своем собственном сферическом вакууме, делающий выводы об окружающей его среде только на основе своих мыслеветвлений.) Есть умный термин такого мировоззрения, но сейчас не припомню.
|
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,Это я к тому, что вполне можно спаять усилитель, ничего не зная о работе его компонентов. Вполне можно использовать монады, понятия не имея о том как они работают. |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,> Гораздо быстрее и проще открыть книжку по дискретной математике и прочитать несколько глав.
В общем ты признал, что объяснить популярно что такое монада ты не состоянии. Насчет "проще открыть книжку...", понимаешь прежде чем открыть книгу я хотел бы понять в общих чертах что это и нужно ли мне это вообще. А ты предлагаешь мне вспомнить матан, изучить дискретную математику и хаскель, что бы понять, что такое монады и сделать вывод нужны ли мне они в повседневной практике? Ax-Xa-Xa(*)(2011-08-10 23:34:34)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.124 Safari/534.30 |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,>В общем ты признал, что объяснить популярно что такое монада ты не состоянии. ?
>С точки зрения программиста монада это абстрактный контейнер с тремя функциями.
>А ты предлагаешь мне вспомнить матан, изучить дискретную математику и хаскель,
|
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,>> В общем ты признал, что объяснить популярно что такое монада ты не состоянии. ?
Дад, а зачем мне этот контейнер? Ax-Xa-Xa(*)(2011-08-11 09:22:48)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.124 Safari/534.30 |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,>Дад, а зачем мне этот контейнер?
Конкретные примеры приводятся выше и я еще давал ссылку про монады в эрланге, там довольно простые примеры. |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,>> Дад, а зачем мне этот контейнер?
Ну вот уже ближе к телу.))) Итак попробуем дать определение: Монада набор связанных функции, для которой можно определить алгоритм вычисления, который может изменять параметры и последовательность вызова функций в наборе в зависимости от результата вызова предыдущей функции или начальных параметров. Ну как, пойдет? Или бред? anonymous(*)(2011-08-11 13:35:06)
Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.107 Safari/535.1 |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,Кстати, вроде получилось написать асинхронный OTP TCP сервер и даже echoсервер с его использованием заработал. Из плюсов:
Реализацию конечно не придумана мной, а выдрано в творческом парсинге кодов мойшевеба. Но так как упрощена, то легко читается. Если кому интересно - распишу подробно код комментариями, кое чего поправлю и закину сюда. anonymous(*)(2011-08-11 13:59:40)
Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.107 Safari/535.1 |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,>Монада набор связанных функции, для которой можно определить алгоритм вычисления, который может изменять параметры и последовательность вызова функций в наборе в зависимости от результата вызова предыдущей функции или начальных параметров.
|
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,> Тебе религия не позволяет поставить хаскелль или erlng+erlando и ввести примеры?
Позволяет, более того я представляю себе как это использовать и для чего. Просто мы вроде бы обсуждали можно ли в принципе дать определение понятное среднему программисту. Или ты уже забыл в чем предмет дискуссии. anonymous(*)(2011-08-11 14:23:31)
Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.107 Safari/535.1 |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,>Если кому интересно - распишу подробно код комментариями, кое чего поправлю и закину сюда.
|
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,>Позволяет, более того я представляю себе как это использовать и для чего. Просто мы вроде бы обсуждали можно ли в принципе дать определение понятное среднему программисту. Или ты уже забыл в чем предмет дискуссии.
|
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,уже ищут на работу кошек http://juick.com/dmz/1352705#18 anonymous(*)(2011-08-11 14:39:47)
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,> уже ищут на работу кошек http://juick.com/dmz/1352705#18
Зря они кстати вилку не пишут, я вот например даже задумываться над отсылкой им резюме не стал. А была бы вилка, кто его знает, может мы всё жизнь друг друга искали.))) anonymous(*)(2011-08-11 15:58:58)
Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.107 Safari/535.1 |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,>уже ищут на работу кошек http://juick.com/dmz/1352705#18
|
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,В общем выкладываю результат двухнедельного изучения Эрланга. Если кто распарсил что это и готов конструктивно покидаться тапочками (покритиковать код), с удовольствием буду отмахиваться (давать пояснения).))) Ax-Xa-Xa(*)(2011-08-14 00:03:19)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1 |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,Вроде нормально написано, только почему здесь не используешь gen_server? |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,Да и вообще, задумался переходить ли на мойшевеб с yaws или забить, какие подводные камни? Последний стабильный мойша 1.5.2, а что слышно про релиз 2.0, тот что активно пилят? |
Скрыть
Re: Никто случайно не хочет Эрганг по изучать,> не используешь gen_server?
Почему не ген_сервер? А зачем генсервер? процессы акцепторов полностью констролируются процесом сервера. Патерн генсервера предполагает насколько я понял, что его жизнью и смертью занимается супервизор причем использую примитивный алгоритм "упало=поднял". Здесь такой компот не пойдет, алгоритм совсем другой другой. Ax-Xa-Xa(*)(2011-08-18 18:34:38)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1 |
|
|
|
Этот тред читают 3 пользователя: |
Анонимных: 3 Зарегистрированных: 0 |
Re: Никто случайно не хочет Эрганг по изучать,
является ли устройство, изображенное на капче, анальной пробочкой? ответ да/нет
))))))))))))))))))))
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729)