
Что такое имя? Имя — это ярлык, дескриптор, указатель в вашей памяти. Это краткое изложение сложной идеи. Оно позволяет ссылаться на «экономику» или «догфудингЧитать полностью »
Что такое имя? Имя — это ярлык, дескриптор, указатель в вашей памяти. Это краткое изложение сложной идеи. Оно позволяет ссылаться на «экономику» или «догфудингЧитать полностью »
Особо амбициозные разработчики любят заявлять о том, что используемый ими язык программирования или фреймворк будет жить лет сто. Дерзкое заявление, учитывая, что разработке программного обеспечения, как таковой, всего около 65 лет. А фреймворки ещё моложе.
Можно почитать Пола Грэма и его разглагольствования о столетнем языке. Но он имеет в виду немного другое: язык, потомкиЧитать полностью »
Статья написана исключительно в развлекательных целях.
Любой администратор любой информационной системе знает, что мест для автоматизации в его работе бесконечное множество. Какая огромная ниша для автоматизации прячется в задачах обработки логов, сбора статистики, реакции на события систем.
Возьмём классический пример — реестр Windows. Этот странный артефакт инженерной мысли представляет некое подобие иерархической БД для хранения абсолютно всех настроек — и системных, и приложений, и драйверов. Центральное бинарное хранилище заменило массу файлов .ini, разбросанных по всей системе и должно было упростить жизнь. Но вышло наоборот. И глядя на монструозный тормозящий конструкт, возникает только один вопрос: как это исправить? Ответ тоже простой: «Если вкратце, то никак». И так во всём. Мы создаём монстров, а потом не можем от них избавиться.
Читать полностью »
N1Loader разработан для легкого избежания N+1 проблемы
любого типа. К счатью, гем очень легко интегрировать в GraphQL
API. Без дальнейших отлагательств, давайте рассмотрим простой, но самодостаточный пример.
Читать полностью »
Пятого ноября 2021 года, конечно же это была пятница, мы выкатили обновление по нескольким гемам:
минорная версия Ruby on Rails
Ruby Sentry client
http клиенты
Puma
Devise
OmniAuth Ruby client
Mongoid
несколько других гемов по тестам.
Однако, что-то пошло не так. Мы заметили странные ошибки Stripe в Airbrake, затем в нашем аккаунте Stripe мы увидели это:
Как сейчас помню, понедельник 25е октября, я заступаю на дежурство по проду и с самого утра мне прилетает задача: сегодня в ночь с 24 на 25 ноября, наблюдалась проблема с недоступностью приложения. Глянув сентри я увидел кучу ошибок от базы со statement timeout, а так же непонятные ActiveRecord::ConnectionNotEstablished: No connection pool with 'primary' found.
Читать полностью »
Привет, читатели, это третья часть обучающих постов о написании Slack App с использованием чистого Ruby (на самом деле не полностью чистого, как оказалось).
Если вы не знакомы со списком частей, то вот он (со ссылками):
Тусовка приложения с таким гостем как Heroku (Мы здесь).
В конце 2017 года я твёрдо решил, что хочу перейти на руководящую работу.
Программирование само по себе привлекало меня гораздо меньше, чем то, что происходило на уровень выше, а именно обдумывание бизнес-процессов, планирование архитектуры приложений и организация работы.
Я чувствовал себя не столько садовником, который день за днём возделывает маленький клочок земли, наблюдая за проклёвывающимися сквозь землю ростками, сколько фермером, которому надо собрать, а затем продать урожай с гигантского поля размером с европейскую страну.
Масштабность и эффективность меня вдохновляли.
Читать полностью »