Темы второго выпуска: отвечаем на комментарии к пилотному выпуску, что не так с нынешними интернетами, зачем программисту на Java учить Erlang или Haskell и что может предложить Idris вместо трансформаторов монад. Первый, пилотный, выпуск можно послушать здесь.
Находки в сети за январь 2014
3 февраля 2014
В этом выпуске: как убедить свое руководство переписать все на Haskell, пишем свою операционную систему, не пускаем на сайт пользователей, сидящих через Tor, и не только. Предыдущие выпуски: декабрь 2013, ноябрь 2013, октябрь 2013, сентябрь 2013.
Логирование в Haskell с помощью hslogger
29 января 2014
В любом серьезном приложении должно быть логирование, и по возможности логов должно писаться как можно больше. Тут даже обсуждать нечего. Наиболее каноничным средством для решения этой задачи в мире Haskell является гибкий и богатый возможностями пакет hslogger. Сегодня мы научимся работать с ним.
Преимущества и недостатки микросервисной архитектуры
27 января 2014
Если вкратце, микросервисная архитектура (Micro Service Architecture, MSA), это когда ваше приложение представляет собой много-много небольших (буквально несколько сотен строк кода) сервисов, взаимодействующих между собой путем обмена сообщениями. Это могут быть сообщения Erlang‘а, Cloud Haskell‘я, Akka, или же REST API, Protobuf, Thrift, MessagePack и так далее. Давайте же попытаемся понять, в каких задачах может быть целесообразно использовать такой подход, чем он хорош, и, конечно же, чем он плох.
EaxCast S01E01, пилотный выпуск
22 января 2014
Представляем вашему вниманию пилотный выпуск нового подкаста EaxCast, подкаста о программировании, информационных технологиях и смежных темах. Темы выпуска: зачем было делать еще один подкаст, вебинар о внутреннем устройстве шедулера Erlang’а от ESL, mekao и нужен ли Erlang’у ORM, готовится русский перевод LYSE.
Шестой десяток прочитанных книг и журналов
20 января 2014
Прочитал очередные десять книг и спешу поделиться с вами рецензиями на них. К сожалению, моя грандиозная цель дочитать шестой десяток к концу года не была достигнута. Но и так получилось примерно по одной технической книге среднего размера в неделю, что совсем неплохо и в разы больше, чем читает большинство программистов. Если вдруг вы будете искать предыдущие мои рецензии на прочитанные книги, то вот же они: пятый десяток, четвертый десяток, третий десяток, второй десяток.
Cloud Haskell — резюме и подборка ссылок по теме
17 января 2014
На этой неделе мы проделали большую работу. Если вы честно прочитали весь цикл постов о Cloud Haskell, во всем разобрались и прорешали домашку, то можете с чистой совестью пойти в ближайший магазин и купить себе какую-нибудь вкусняшку. Если ничего не поняли, не расстраивайтесь. Спокойно разберитесь в непонятных вопросах и вернитесь к Cloud Haskell через пару-тройку недель. Не пытайтесь разобраться во всем наскоком, в мире Haskell это не работает! В заключение мне хотелось бы поделиться кое-какими своими мыслями, а также привести ссылки на дополнительные материалы по теме.
Памятка по функциям Cloud Haskell
16 января 2014
На данный момент мы уже посмотрели на Cloud Haskell в действии и выяснили, в чем заключаются отличия Cloud Haskell от Erlang. Сегодня же мы посмотрим на основные функции, предоставляемые Cloud Haskell. В том числе, на функции для работы с типизированными каналами, а также функции receiveTimeout, register, whereis, getProcessInfo, и другие. Про распределенщину пока не будет, потому что этот вопрос я и сам еще не до конца осилил :)
Простейший пример использования Cloud Haskell
15 января 2014
Итак, у вас было целых два дня на то, чтобы подготовиться к подаче материала про Cloud Haskell, а также составить общее впечатление об отличиях Cloud Haskell от Erlang. Сегодня же мы наконец-то увидим пусть и простую, но саму что ни на есть настоящую программу, использующую сабж. Возможно, кто-то из читателей предпочел бы сначала ознакомиться с детальным описанием API, но я лично всегда больше любил учиться на примерах, так что API отложим до завтра.
Небольшое сравнение Cloud Haskell и Erlang
14 января 2014
Cloud Haskell — это фреймворк / DSL для разработки конкарент распределенных отказоустойчивых приложений без разделяемого состояния. Типа Erlang, только лучше. Как минимум, за счет строгой статической типизации, компиляции в нативный код и более приятного синтаксиса. Кроме того, как будет показано ниже, Cloud Haskell лишен некоторых родовых травм Erlang’а и в некоторых аспектах более гибок.