Анонс Ruby digest: 17 граней Вавилона
Мечтой фантастов всего мира было достичь того, чтобы общение с компьютером ничем не отличалось от общения с живым человеком. Но пока что все существующие языки программирования мало похожи на обычную фразу из английского языка. Заставить интерпретатор Ruby воспринимать естественный язык можно.
Случалась ли у вас ситуация при которой требуется загрузка в память большого количества данных, а результат работы с этими данными будет несоизмеримо меньше? Это может вызвать эффект «раздувания памяти», когда выделение памяти скачком увеличивается до существенных значений. Мы расскажем как предупредить такую ситуацию и не бороться с ветряными мельницами.
Еще до того, как код написан, в нем может быть заложена ошибка проектирования. В многопоточных приложениях важно не допустить конкуренции потоков за общие ресурсы. Так называемое «состояние гонки» сложно отладить, поскольку проблема представляет собой сбой, возникающий и исчезающий спонтанно. Предотвратить этот гейзенбаг можно изучая неправильные решения часто встречающихся задач.
Финально расскажем о том, с помощью чего можно интегрировать брокер сообщений Apache Kafka в ваше Ruby-приложение. Разумеется, можно воспользоваться драгоценным камнем ruby-kafka, но в этом случае придется делать много ручной работы. Есть способ удобнее и о нем мы расскажем в нашем дайджесте.