Очень трудно обслуживать 10 000 TCP соединений, если на каждое соединение вы создаете процесс или нитку операционной системы. Вот почему в Erlang есть акторы, в Go и Haskell — легковесные процессы, в Clojure — core.async и pulsar, а в OCaml — LWT. Для решения аналогичных проблем в Scala есть футуры.

Снова и снова я сталкиваюсь с тем, что QA, тестировщики, или как их там у вас называют, не умеют нормально писать багрепорты. Что хуже, они и не хотят учиться делать это правильно. Что намного хуже, часто это касается не только QA и багрепортов, а команды и тикетов вообще в Jira, Trello, или чем вы там пользуетесь.

Я видел много истерии вокруг Unity (десктоп окружения, а не графического движка). Многие люди предпочитают Убунте, скажем, Linux Mint, именно потому что там MATE. Или выбирают сборки Ubuntu с GNOME/Xfce, объясняя это только тем, что не хотят использовать Unity. Сам я пользуюсь Unity на протяжении последних пяти месяцев и нахожу ее просто прекрасной DE.

Эта заметка в первую очередь предназначена для начинающих разработчиков. Во всяком случае, тех из них, кому еще ни разу не доводилось устанавливать и настраивать Nginx. Цель поста заключается в том, чтобы показать, насколько легко и непринужденно происходит эти самые установка с настройкой, а также что Nginx не нужно бояться и не стоит без лишней необходимости перекладывать его настройку на админов.

Пожалуйста, поймите меня правильно. Си я люблю и уважаю. В студенческие годы я провел много увлекательных вечеров за изучением WinAPI и POSIX, написанием своих архиваторов и даже драйверов для Windows XP. Однако так сложилось, что в своей профессиональной деятельности я пишу на более высокоуровневых языках. Вот о том, почему в программах, написанных на таких языках, следует избегать использования Си, мне и хотелось бы поведать.

IntelliJ IDEA — замечательная IDE. Я использую ее для программирования на Scala и Erlang на протяжении, наверное, последних пяти месяцев и теперь просто не представляю, как без нее жить. Однако довольно скоро я обнаружил, что при программировании на Scala в какой-то момент IntelliJ IDEA начинает тупить и выйти из этого состояния ей помогает только перезапуск. В итоге мне ежедневно приходилось один-два раза перезапускать IDE. Не то, чтобы с этим нельзя было жить, но как-то печально, согласитесь. К счастью, решить эту проблему оказалось несложно.

На этих выходных я решил, что что-то больно давно не ставил апдейтов. Ну и решил поставить. Помимо прочего apt-get закачал новую версию JVM. Что интересно, непосредственная установка происходит где-то в недрах пакета oracle-java8-installer, в postinst или вроде того. Поэтому apt-get неправильно определяет объем трафика, необходимый для скачивания апдейтов. Однако поведать я хотел не об этом.

Если вдруг вы все пропустили, сообщаю, что в октябрьском конкурсе по ФП была занятная задачка про генерацию криптографических ключей. На сам конкурс я забил, а вот описанный метод шифрования показался мне очень интересным. Почему-то ранее мне не доводилось о нем слышать.

На официальных сайтах многих проектов можно обнаружить мануалы в формате PDF. В частности, такие мануалы есть у Akka, Cassandra, MongoDB и PostgreSQL. У MariaDB такую документацию, к сожалению, найти не удалось, да и сам раздел с документацией был обнаружен исключительно благодаря Google. Также, к сожалению, не удалось найти официальной документации в формате PDF по Riak и RabbitMQ.

Данная статья кратко представляет вдумчивому читателю планы по проектированию и разработке прототипа Системы поддержки принятия решений при диагностике и лечении судорожного синдрома (СППР ДЛСС). Мы рассмотрим постановку задачи, предназначение Системы, её задачи и очень кратко тот набор методов, которые будут использоваться в работе Системы.