В начале 2018 года мы выпустили в открытый доступ проект Kvakka.com – социальную сеть, маркетинговую площадку и дейтинг для фанатов настольных игр. Позади три года разработки, за которые сервис вырос из пет-проекта в коммерческий сервис, пережив две смены фронтенда. Перед нами стояла великая миссия – вытащить детей и подростков из дома, из онлайн-игр, в реальный мир, где они смогут встречаться лицом к лицу с себе подобными. И находить друзей, подруг, партнёров по играм и не только. Continue reading “Вытащить подростков из онлайна в реальный мир: миссия выполнима?”
Возможно, вы имели в виду. Поиск с опечатками
К вам на сайт пришёл юзер и ввёл в поиск что-то вроде “рагняя поэзия пужкина”. Попробуйте сами на своём сайте. Не сработало? Тогда этот пост – для вас. Continue reading “Возможно, вы имели в виду. Поиск с опечатками”
USB-мышь определяется как PS/2 или не работает
Столкнулся с совершенно анекдотичной ситуацией – после замены материнской платы беспроводная мышь Logitech (с nano-адаптером) отказалась работать корректно и стала прикидываться PS/2-мышью. Курсор ездил по экрану как пьяный, и не работал скроллинг колёсиком. Я потратил несколько часов на поиск решения. Continue reading “USB-мышь определяется как PS/2 или не работает”
Спортивные часы Polar A300 HR
Взял вот такой девайс. Работаю с ним уже полтора месяца, доволен как слон.
Почему из новомодных систем управления проектами получается х..
Таск-менеджер – это не багтрекер, или Почему из новомодных систем управления проектами получается херня.
Каждый раз, когда я вижу очередной пост о том, что “Мы изобрели очередную канбан-доску”, у меня начинают чесаться кулаки и возникает подспудное желание придать автору ускорение в сторону ближайшей стены, – потому что я знаю, что пост закончится тем что “…а теперь мы попробуем научить в ней работать хоть кого-нибудь из других отделов кроме программистов”.
И получается херня. Потому что таск-менеджер – это не багтрекер. Continue reading “Почему из новомодных систем управления проектами получается х..”
Ограничиваем доступ к S3 средствами Rails-приложения
Добавить хранение файлов в облаке Amazon S3 в приложение на Rails очень просто: устанавливаем гемы paperclip и aws-sdk, и готово. Но что если мы хотим скрыть прямые ссылки на хранилище S3, и даже разграничивать доступ к конкретным файлам в зависимости от роли пользователя? Вот рабочий пример: Continue reading “Ограничиваем доступ к S3 средствами Rails-приложения”
Паттерн voter injection: взаимодействие без хардкода
В моей практике часто возникают ситуации, когда в программе один объект должен определённым образом реагировать на другие объекты. То есть – решать, взаимодействовать с ними или игнорировать. Например, когда объект принимает сообщения от других объектов, и должен решать – отреагировать на конкретное сообщение или пропустить его. Понятно, что в простейшем случае достаточно это захардкодить: допустим, объект user реагирует на все сообщения про этого юзера. Но что делать, если ситуация сложнее, и реакции должны быть динамическими? (например, если ваши объекты порождаются фабрикой). Для этого у меня есть некий паттерн, который я называю voter injection. Continue reading “Паттерн voter injection: взаимодействие без хардкода”
Две профессиональных болезни ООП: наследование и методы
У ООП-программистов есть две профессиональных болезни: наследование и методы. Нет ничего более поганого, чем наследование. Наследованием пытаются имитировать древовидную логическую структуру, когда вышестоящий объект заключает в себе некие базовые особенности, а дочерние объекты реализуют частные отличия.
Лютый ад и баттхерт начинается, когда надо породить объект, не только включающий в себя особенности сразу нескольких дочерних классов, но и имеющий парочку совсем маааленьких отличий. Continue reading “Две профессиональных болезни ООП: наследование и методы”
О бессмысленных вычислениях и будущем интернета
Я убеждён, что алгоритмические вопросы на собеседованиях – дерьмо, за что некоторые “программисты” испытывают ко мне поистине классовую ненависть. Прежде чем объяснить причину, я расскажу, что придерживаюсь весьма ортодоксальной точки зрения на вычисления вообще (и компьютерные вычисления в частности). Continue reading “О бессмысленных вычислениях и будущем интернета”
Про мессенджеры и ботов
Так вот, про мессенджеры и ботов. Веб-индустрия у нас всегда была слегка нечиста на руку. В 1998-ом я занимался продажами. В представлении бизнеса, “сделать сайт” было эквивалентно “вложиться в рекламу”: вложиться в рекламу в печатной газетке и вложиться в рекламу в интернете – были эквивалентными понятиями (естественно, никакого директа или адсенса ещё отродясь не было). Относились к этому соответствующе: да с этим и секретарша справится. Continue reading “Про мессенджеры и ботов”