codemonsters.log
572 subscribers
178 photos
19 videos
105 links
| Просто рассказываю про
| Научно обоснованный подход
| Рациональной и качественной разработки софта
@maxology
Download Telegram
Загрузку написал.
Буду рад твоим комментариям.

Книга Кода

Добро пожаловать в киберпространство, где качественный код — это не просто концепция, а жестокая минималистичная реальность.

0 Загрузка
Представь себе код. Не просто строки, мерцающие на экране, а нечто большее. Живую сущность, пульсирующую и разрастающуюся в глубинах матрицы. Код, который выполняет задачи и растет как часть экосистемы и стандарта, где каждый байт имеет значение, а строчка — это шаг в потоке логики. Код, который не подведет, не сломается, не оставит тебя в темноте, когда мир вокруг рушится и мониторинг прода пульсирует красными огнями смерти контейнера.

"Книга Кода" — это не просто руководство. Это карта, которая проведет тебя через лабиринты киберпространства, где строки кода — это твои заклинания, а функции порталы в новые слои реальности приложения. Здесь ты освоишь мастерство создания хорошо сделанного софта, который не просто работает, но и соответствует высочайшим стандартам качества, которые диктует сама матрица.

Читать

#codemonsterslog #codebook
🔥9
💻Переписал загрузку

Книга Кода
Добро пожаловать в киберпространство, где качественный код — это не просто концепция, а жестокая минималистичная реальность.

0 Загрузка
Программирование — это навык, который пронизывает киберпространство на всех слоях. Мы программируем сознание своими мыслями, мы программируем изображения цветом и линиями, образы распознаются нами впитывая паттерны, оставляют слепок эмоции и программируют в итоге людей, мы программируем детей, людей, создаем паттерны поведения и успеха. Сегодня код машин окружает нас повсюду: от смартфонов в наших руках до сложных HFT-систем высокоскоростной алгоритмической торговли (high-frequency trading systems), систем управляющих городами, машинами. Программирование не просто инструмент для создания программ автоматизации рутины — это способ мышления.

Представь себе код. Не просто строки, мерцающие на экране, а нечто большее. Представь код как живую сущность, пульсирующую и разрастающуюся в глубинах матрицы. Код, который выполняет задачи и растет как часть экосистемы и стандарта, где каждый байт имеет значение, а строчка — это шаг в потоке логики. Ты можешь создать тварину, которая поглотит тебя, а можешь создать нечто прекрасное. Представь Код, который не подведет, не сломается, не оставит тебя в темноте, когда мир вокруг рушится, мониторинг пульсирует красными вспышками смерти контейнера.

"Книга Кода" — это не просто руководство. Это карта, которая проведет тебя через лабиринты киберпространства, где строки кода — это твои заклинания, а функции порталы в новые слои приложения. Здесь ты освоишь мастерство создания хорошо сделанного софта, который не просто работает, но и соответствует высочайшим стандартам качества, которые диктует сама матрица.

Читать полностью Загрузку

https://codemonsters.team/codebook/

#codebook #codemonsterslog
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👏4
Изменение 30 строк кода ядра Linux позволяет повысить сетевую эффективность Linux и увеличить пропускную способность на 45% без увеличения задержек.
В основе разработки лежит исследование Карстена и его бывшего студента Питера Цая.

«Мы ничего не добавляли – просто изменили порядок выполнения операций, что значительно улучшило использование кэша процессора в дата-центрах», – объясняет Карстен.

Источник

Кто работал с perforator?

#цитата #codemonsterslog
Интесное 📞

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

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

"Глубокое понимание базовых структур данных имеет огромное значение, – отметил Алекс Конвей из Cornell Tech. – Мы никогда не можем предугадать, как теоретическое открытие преобразится в практические результаты. Учитывая, что хеш-таблицы сегодня используются везде – от поисковых систем до баз данных, – любое их усовершенствование может иметь далеко идущие последствия".

Подробнее

#codemonsterslog #цитата
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2
💻 Недавно на митапе о стандарте разработки нам с Heads of Profession задали вопрос, который завис в воздухе, как нерешенный баг в коде. Пятый по популярности в сообществе, он звучал так:

А что за потребность всё делать %-as-code? Какая от этого польза? Зачем число комитящих в код?”

Мы, как архитекторы инженерной культуры, внедряем лучшие практики и подходы: Infrastructure-as-Code, API-First, unit-тесты, компонентное тестирование, TBD (trunk based development), GitOps, Doc As Cod, ..as code. Хаос необходимо упорядочить. Мы дорабатываем пайплайн, как инженеры, собирающие сеть в подвале старого дата-центра. Мы создаем условия для Continuous Deployment с продуктовыми платформами, где blue-green deployment и canary deployment становятся порталами для перехода прода из одного состояние в другое..

Каждый коммит — это шаг в будущее, где код уже не просто текст, а нить в живой ткани новой реальности. Число комитящих — это не просто метрика, это сигнал, что система жива, что она дышит, что она развивается.
As-code — это философия, где всё, от инфраструктуры до документации, становится частью единого цифрового сада.

Я провалился в момент осознания вопроса в другой слой реальности, задумался об истории ..as code и собрал этот текст из разбросанных по сети слепков.

И когда кто-то спрашивает: “Зачем?”, я отвечаю: “Потому что иначе мы останемся в прошлом, где ручные процессы, как старые провода, тянут нас назад в тишину, замедляя каждый шаг. ” Мы строим мир, где as code не просто слова, код - наша новая реальность. И каждый, кто коммитит, становится частью этой вселенной.

Читать полностью

#codemonsterslog #code
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8🤔4
Написал
1 Заклинателю приложений
Хагакурэ:

Всю свою жизнь учись. Каждый день становись более искусным, чем был вчера, а завтра — более искусным, чем сегодня. Совершенствование не имеет конца.

Осознанность в разработке — это кибер-имплант, который нужно установить как можно раньше.

Непрерывное улучшение. Бесконечный цикл, простой алгоритм и клятва самому себе, который выполняется в вечности.
Каждый раз оптимизируй себя.

Ты видишь как важные и простые принципы буквально пронизывают киберпространство?

Я пишу себе в прошлое, тому джуну с горящими глазами, который без устали сутками вбивал на деке команды машине, а та покорно их исполняла. Теперь, оглядываясь назад, я понимаю: если бы мне, а точнее тебе, объяснили основные принципы доступно на старте — путь мог бы быть проще. Код, который ты наколбасил в те дни, мог бы быть качественнее и содержал бы меньше возможностей для ошибок.

https://codemonsters.team/codebook/

Читать полностью

#codebook #codemonsterslog
🔥12💯1
Японцы знают толк в развлечениях.
Собираю GUNDAM
BAN
DAI


Пойду напишу код

Ты что собираешь?

#codemonsterslog
👍4👏4🔥3
🎙 Переписал часть сервиса для лонгрида по рефакторингу

Линкос ведёт на код скрина 👋

Получилось норм.
Хорошие тесты.
Надежный код.
Есть что улучшить ещё и подойти к замене брокера.
Работа с легаси - это интересный вызов.

Можно исследовать код и покопать, как делать рефакторинг не ломая существующий код.

В ридмихе есть отсылки к истории.

Добавил asyncapi спеку 3.0.0 и валидацию в ci

Продолжу писать главу про хаос и порядок.

Может лонгрид дропнуть как есть?

#codemonsterslog
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
😱 Что значит быть инженером в новых реалиях? И какой смысл мы вкладываем в эти слова — расскажем на GPB CONF уже через неделю!

22 апреля в Москве пройдет ИТ-конференция от Газпромбанк.Тех 🤯

Что вас ждет?

🔵Хардовый трек — для тех, кто в проде с закрытыми глазами. Обсудим реальные кейсы нашего банка и как мы создаём системы, которые работают стабильно и эффективно. 

🔵В ламповом софтовом треке поговорим, как растить инженеров, внедрять изменения и работать с сопротивлением команд и представителями бизнеса.

А в экспозоне у вас будет возможность погрузиться в специфику каждого направления — от мобильной разработки до кибербеза и продуктового дизайна 🤒

Участие абсолютно бесплатное! Просто зарегистрируйтесь и получите персональный билет с подробной программой.

Ждем вас на GPB CONF! 😎

Наш канал в телеге
#codemonsterslog
6🔥2🥰2
Media is too big
VIEW IN TELEGRAM
💪 вчера гоняли с Андреем по трассам южного склона Байк-Парка в Архыз.

На участке зелёной трассы встретили лошадей.
В сочетании с невероятными пейзажами этот момент особенно запомнился.
Я еду следом.

Спасибо Бро за видос и за то, что показал все трассы кроме черной).
Сегодня шел дождик, я на чилле читаю книги.

#codemonsterslog #lifestyle
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥232
💻 поставил cursor

Ну всё. Ещё и неоновая тема.

Экспериментирую,
Очень нравится.

VS Code зашёл давно, но руки не дошли до максимальной прокачки.

#codemonsterslog
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
Эксперименты в DevOps приводят к временным странным ландшафтным образованиям.
Комп на полу, админ на полу - классика

Часто рано утро я программирую.

Ты сидел/лежал на полу настраивая свой сервачок?

#codemonsterslog
🔥12
Вчера придумал, пока с инженерами продумывали как оптимизировать конвейер.

лучшая инженерная практика bypass


#codemonsterslog
😁11
Симбиоз с машиной при разработке. Компонентные тесты.

Киберпространство в срезе кодописи изменяется стремительно.

Иллюзия:
#gardener@core: закрываю глаза, обдумываю API компонента, проговариваю контекст, открываю глаза и вижу в git async api 3.0 спецификацию.

Я установил пару ИИ-имплантов в виде Claude и Cursor.
VS Code в сочетании с cursor меня очень порадовал на практике.
Возврат в IntelliJ IDEA теперь ощущается как деградация.
Горячие клавиши, молниеносные переходы между кодом и терминалом, древо проекта слева — интерфейс стал продолжением нервной системы.

С машиной я взялся за старый учебный сервис.

Задача: вшить компонентные тесты в проект

Читать полностью

#codemonsterslog #tests #componenttests
🔥41
О важности коммуникации в IT: встреча со студентами Бауманки

Пообщался в Бауманке со студентами и рассказал им о сложностях коммуникации на работе. В конце было много интересных вопросов.

Казалось бы, у программистов работа про код: взял задачу — сиди, кайфуй, программируй. Но нет.
Код - это только часть работы.

Код - побочный эффект коммуникации.


Часто бывает, что побочный эффект коммуникации - кот в мешке без ручки.

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

Мне нравится думать об этом через фразу:

Make me fucking care


Профессионал отличается от любителя тем, что умеет уточнять ожидания заказчика(руководителя) и понимает важность этого шага.
Не я как руководитель должен бегать за тобой, а ты должен быть заинтересован в результате и точности своей траектории. Это бизнес. И если ты лажаешь, то в следующий раз к тебе не придут за заказом.

Читать полностью

#codemonsterslog #community
👍15💯3
Если пропустил, JB выпустил сырой официальный LSP для VS Code

@d_r_q, спасибо за подсказку. Уже на тесте.

#codemonsterslog
🔥3
О том, как "пять минут" превратились в тот самый production deployment

Сидели, завтракали. Я вскочил и побежал записывать идею, сказал Вике:
— Я через пять минут вернусь.
— Хорошо, не забудь.
Я подумал, как можно забыть вкуснейший блин с яблоком и спешелти кофе. Я поставлю таймер на 5 мин и все.

На самом деле он не вернулся через пять минут.

Да. Так и не вернулся. Таймер прозвенел фоном. Не помню как его отключил.
Делал презентацию по результатам аудита команд.

Классический случай "just one more commit".

Рефакторинг

Рефакторинг — непрерывный процесс. Садовник следит за садом каждый день (код это или люди).
Так и я проверяю, как команды следуют стратегическим целям. Что у них творится в git, что пишут в тикетах в джирке.

Как говорят британские девелоперы:
«Рефакторинг — это как мытьё посуды: игнорируешь неделю, и вдруг ешь хлопья вилкой, потому что все ложки погребены под техническим долгом».

У некоторых заканчиваются вилки и они начинают есть хлопья руками.

P.S. Блин с яблоком остыл. Блин.

// TODO: implement breakfast.reheat() method
// FIXME: wife.mood = null
// Known issue: Food temperature decreases over time. Won't fix — working as designed.


#codemonsterslog
🔥134👍1🤔1
Дорогая, работа с AI-агентом превратила меня в супермена.
Или супер-мема — сейчас это почти одно и то же.

Я учусь и создаю автоматизацию в разы быстрее. Это новый темп, новый стиль работы.

Помнишь «Джонни-мнемоника»? Как главный герой перевозил информацию в чипе, встроенном в череп? История материализовалась. До нас доходят фрагменты через текстовые каналы.

Где-то китайские специалисты везут 50 ТБ обученных моделей в самолёте из стран с более свободным интернетом. В неоновых лучах Токио якудза с лазерной нитью крадёт первоклассный датасет сверхновой нейросети и перепродаёт через даркнет военным подрядчикам. Проклятая Арасака.

А я тут со своим Go и unit-тестами — как уличный самурай с клавиатурой вместо катаны.

В отражениях небоскрёбов мегаполиса стильные корпораты в дизайнерских костюмах везут обученные модели в гоночных суперкарах. Машина улучшает машину. Recursive enhancement. БУМ.

Я словно с вшитым нейроимплантом: расширенная память, ускоренное написание кода на максималках, прямая связь с матрицей целей. Мои синапсы работают в режиме overdrive.

Быстрее тестирую гипотезы, исследую новые направления. Это прорыв. Digital awakening.

Я не могу объяснить всё — слишком много переварить. Я на эмоциях.

Даже читаю больше и быстрее.

Погнали к коду

Читай мой лог про то, как я за 5 часов написал сервис с тестами, прокачал CI и получил море эндорфинов.

#codemonsterslog
#code
4🔥4
Обожаю эту полочку вайб кодера 😂

#codemonstersmood
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10
Что я сделал за 3 х 45 мин
код теста на геркин API Unleash
коммиты эксперимента и пошаговых улучшений кодовой базы
сразу улучшил фундамент, потом вкатил анлишь
https://git.codemonsters.team/guides/mq-rest-sync-adapter/-/commits/feature/component-tests-unleash

Добавил тесты интеграции с Unleash

В двух словах:
Unleash - это хранилище тоглов, к которому может быть подключен твой сервис. В UI анлиш или API ты включаешь тогл и твой сервис переключается на использование фичи, которую включает/выключает тогл.

Что такое тогл/ фича-флаг/ фича-тогл?

Фича-флаг (feature flag/toggle) — это механизм, который позволяет включать или выключать функциональность в приложении без изменения кода и без нового деплоя.

Простая аналогия
Представьте выключатель света в комнате:

Включен → функция работает для пользователей
Выключен → функция скрыта, хотя код присутствует в приложении

пример кода:
if (featureToggles.isFeatureEnabled("wallet-balance-workflow")) {
refactoredBalanceFlow(message)
} else {
legacyBalanceFlow(message)
}




sorry(нет):
Я с подозрением отношусь к проектам спроектированным полностью на TypeScript, JS. Оно идет инзутри моего нутра. Я понимаю, что это просто инструмент. Но это не самый хороший для бэка вариант.

С апи я помучался немного. Агент тоже не сразу справился, но я его научил.
API Unleash содержит ошибки в доке, например
API создания фичи описано с кодом 200 в ответе.
https://docs.getunleash.io/reference/api/unleash/create-feature
по факту 201.

Интеграция в компонентном тестировании с Unleash позволяет
сколь угодно тестировать сервис. И это просто.
Включая и выключая тоглы програмно по API прописываешь на геркине тест сервиса:
| включил тогл
| прогнал тест фичи
| выключит тогл
| прогнал тест фичи
Фича готова к установке

Автоматизавтор:
Дополнительно проверил есть ли мэтч с тоглами локального компонентного теста и с анлиш на stage, prod
чтобы не катить с тоглами, которых нет в мастер-системе - обеспечил согласованность.

P.S.
Есть несколько интересных проектов, на которые можно обратить внимание:

Flagsmith


Стек: Django/Python (backend), React (frontend)
Популярность: Активно развивается, хорошее сообщество
Простота: Есть облачная версия и self-hosted
Особенности: REST API, webhooks, интеграции

GrowthBook

Стек: Node.js/TypeScript (backend), Next.js (frontend)
Популярность: Новый, но быстро растущий
Простота: Фокус на A/B тестировании
Особенности: Интеграция с аналитикой, статистический движок

Flagr

Этот инструмент я покручу следующим.

Стек: Go
Популярность: Используется в Checkr
Простота: REST API, простое развертывание
Особенности: Легковесный, хорошая производительность
Client Libraries
(нет Java)
Language Clients
Go goflagr
Javascript jsflagr
Python pyflagr
Ruby rbflagr

#codemonsterslog
👍6🔥32🤔1
Ну что, Оптимус.
Дэйкстра в книге
«Дисциплина программирования»
1976 года меня очаровал с первой главы в послании от автора про перделки и свистелки в программировании:
Наверняка разочаруются все те, кто отождествляет трудность программирования с трудностью изощренного использования громоздких и причудливых сооружений, известных под названием «языки программирования высокого уровня» или — еще хуже! — «системы программирования». Если они сочтут себя обманутыми из-за того, что я вовсе не касаюсь всех этих погремушек и свистулек, могу ответить им только одно: «А вполне ли вы уверены, что все эти погремушки и свистульки, все эти потрясающие возможности ваших, так сказать, «мощных» языков программирования имеют отношение к процессу решения, а не к самим задачам?» Мне остается лишь надеяться, что, несмотря на употребление мною мини-языка, они все же прочтут предлагаемый текст.


А тем временем, Оптимус, некоторые инженеры (так называемые инфлюенсеры) не видят целесообразности в Соглашении Наименований (Name Conventions) при стандартизации работы команд.
Но это уже другая увлекательная история, брат.

#codemonsterslog
🔥8💯2