Возможность Erlang'а производить прозрачный обмен сообщениями между процессами, работающими на разных физических машинах, бесспорно, является интересной и порой весьма практичной. Но не факт, что эту возможность следует использовать именно в вашем проекте. Хотя далее по тексту речь будет идти об Erlang, многое из написанного также относится и к распределенным акторам в Akka или Cloud Haskell.
Никогда не любил пылесосить. Это очень скучное занятие, отнимающее пусть и не слишком много времени, зато делающее это регулярно. Вот бы было устройство, на котором нажимаешь кнопку и оно за тебя пылесосит. И недавно такое устройство у меня наконец-то появилось.
Недавно я прочитал очередной десяткок книг, а значит настало время для написания рецензий. На сей раз десять книг я осилил всего лишь месяца за полтора. Должно быть, книжки были тоньше, чем обычно. Предыдущие обзоры литературы вы найдете здесь: третий десяток, второй десяток, первый десяток.
Я тут читаю «Happstack Crashcourse» и нашел в главе о шаблонизаторах упоминание одной интересной возможности GHC. Оказывается, в исходном коде можно указывать дополнительные ключи, которые будут переданы GHC при компиляции программы, в том числе ключи, позволяющие прогнать код через произвольный препроцессор.
Когда я впервые увидел код в стиле f1 >>= \x -> f2 >>= \y -> Right (x, y)
моя реакция была «Ааа! Что тут происходит? Как вообще кто-то может писать на таком языке?». Но, как выяснилось, если сесть и спокойно во всем разобраться, в монадах нет абсолютно ничего сложного. Кроме того, оказывается, монады имеют множество важных практических применений и способны существенно облегчить выполнение нашей с вами повседневной работы.
Недавно я разбил свой Asus Nexus 7. По всей видимости, нес его в пакете и ударил о турникет в метро. В результате у планшета треснуло стекло и теперь он не реагирует на прикосновения. Читать книжки в дороге стало не на чем, поэтому я в срочном порядке приобрел новый планшет, Asus Fonepad 16Gb.
Scotty — это легковесный движок для создания веб-приложений на языке Haskell. Что-то вроде Cowboy из мира Erlang или Scalatra из мира Scala. Сегодня с помощью Scotty мы прикрутим веб-интерфейс к нашей телефонной книге.
В этом выпуске: полезные сервисы, подборка материалов по веб-разработке на Haskell, прочая функциональщина, и не только. Предыдущие выпуски: июнь 2013, май 2013, апрель 2013, март 2013.
Сегодня мы научимся работать с реляционными базами данных из Haskell. Будет написана небольшая «телефонная книга» с CLI, которая будет хранить наши контакты в PostgreSQL. В мире Haskell есть много библиотек для работы с базами данных. Мы воспользуемся HDBC.
MySQL недаром пользуется большой популярностью в мире реляционных баз данных. Это хорошая, годная РСУБД с открытым исходным кодом. Но не единственная в своем роде. PostgreSQL ничем не хуже MySQL, а во многом — даже лучше. Давайте попробуем выяснить, в чем именно.