Наверное, многие слышали об этой книге, а некоторые даже читали её. Я её прочитал где-то до глав, в которых рассказывалось об арифметическом сумматоре. Очень доступно и интересно написана эта книга https://ru.hexlet.io/blog/posts/kod-petzold-review
Всем привет! Давно не общались. Хочу объяснить причины долгого затишья и поделиться планами на будущее.
Почему было мало контента?
Последние несколько лет были посвящены трем большим жизненным проектам:
1. Семья: Рождение и воспитание двоих детей.
2. Дом: Полный цикл строительства своего дома (от земли до заселения). Пишу вам теперь из своего кабинета!
3. Работа: Карьерный рост до позиции Teamlead/TechLead/CTO, что отнимало все силы.
Совмещать это с ведением каналов было практически невозможно.
Что изменилось сейчас?
• Дети подросли и этот вопрос делигирован жене.
• Дом построен, есть даже отдельный кабинет.
• Я уволился, отдохнул и готов к новым вызовам.
Новые горизонты и идея для вас
Я возвращаюсь к созданию контента и хочу предложить вам поучаствовать в открытом некоммерческом проекте.
Идея: Совместными усилиями создать скелет фреймворка для построения API. Процесс разработки (планирование, код-ревью, митапы) я буду стримить на YouTube.
Зачем это вам?
• Получить реальный опыт работы в команде.
• Прокачать скиллы и добавить проект в портфолио.
• Принять участие в создание комманды с нуля и вместе набить шишек.
Ваше мнение?
Если вы готовы принять в этом участие и потратить свое время, поставьте, пожалуйста, ❤️ в ответ на это сообщение. Это поможет мне оценить интерес и подготовить детальный анонс.
Если вам интересна эта затея как зрителю то 👍
Спасибо, что вы со мной уже более 6 лет!
🖥 UUID: Как создать уникальный ID без центрального сервера?
Начало 1980-х. Вы — разработчик в Apollo Computer. Ваша команда работает над NCS — одной из первых систем для распределённых вычислений.
Вам поручили решить важную проблему:
- У вас есть множество серверов в разных городах
- Каждый из них может регистрировать новых пользователей
- Каждому новому пользователю нужен уникальный ID во всей распределённой системе. Иначе при синхронизации или обращении по сети будет непонятно, о каком из них речь
На одной машине всё просто — даём каждому объекту порядковый номер: 1, 2, 3... Но если два сервера независимо дадут номер 1 своим объектам — получим коллизию
Начинаем думать.
————
Попытка 1: Центральный сервер со счётчиком
Самое очевидное решение — один сервер раздаёт ID всем остальным:
Машина A → Центр: "Дай ID"
Центр → Машина A: "Держи ID=1"
Машина B → Центр: "Дай ID"
Центр → Машина B: "Держи ID=2"
Выкатываем в прод. Работает идеально! Гарантированно уникальные ID, никаких коллизий.
Но через неделю начинаются проблемы:
- Центральный сервер упал — вся система встала
- Каждый запрос ID требует сетевого обращения — медленно
- При росте нагрузки центр становится узким местом
Для распределённой системы, где важна автономность узлов, это не подходит. Переделываем.
————
Попытка 2: Диапазоны для каждой машины
Хорошо, давайте заранее раздадим каждой машине свой диапазон ID:
Машина A: ID от 1 до 1,000,000
Машина B: ID от 1,000,001 до 2,000,000
Машина C: ID от 2,000,001 до 3,000,000
Это уже лучше — каждая машина действительно автономна!
Выкатываем. На первый взгляд работает.
Но потом выясняется:
- Машина A исчерпала свой диапазон, нужно запрашивать новый → опять зависимость от центра
- Машина B создала только 10 объектов из миллиона, остальные ID потрачены впустую
- Добавление новых машин требует центральной координации для выдачи диапазонов
Опять возвращаемся к центральной точке отказа. Это не то.
————
Попытка 3: Составные ключи
Может использовать ком
Выбор стратегии ветвления Git: анализ и практические рекомендации
Ваша команда тратит часы на разрешение конфликтов при слиянии веток? Или, может, вы только начинаете и не знаете, как организовать процесс? 🤨 Стратегия ветвления в Git — это не догма, а рабочий инструмент, и его выбор сильно влияет на скорость и качество разработки.
В свежей статье разбираем четыре основные стратегии:
• Git Flow — для строгого контроля версий
• GitHub Flow — для непрерывного развертывания
• GitLab Flow — разумный компромисс
• Trunk-Based Development — для зрелых команд с безупречной дисциплиной
Плюс практические критерии выбора: частота релизов, зрелость тестов, размер команды. Узнайте, какая модель снимет боль именно в вашем проекте.
🖥 Читать статью
📱 @dev_notes_ru
#Git #DevOps
Голосового робота пришлось «отучать» от мата после общения с недовольными клиентами ЖКХ
Нейросеть, внедрённая в кол-центры управляющих компаний, быстро переняла лексику абонентов и отвечала им тем же. Разработчикам пришлось корректировать модель, рассказал президент Национального объединения организаций в сфере технологий информационного моделирования Михаил Викторов.
Этот случай он назвал «показателем активной работы с нашими гражданами».
📻 Подписывайтесь на BFM | И в MAX
Все мое отношение к технологиям и их взрывному росту опирается на слова моего друга сказанные 10 лет назад. Думаю, это очень вдохновляюще и проясняюще в наши «смутные» времена.
📌 Любая новая технология сначала появляется у «избранных».
🔹 Первый сотовый телефон — у президента, потом у министров, генералов, и так далее, пока не дойдет до обычных людей.
🔹 Первые компьютеры — у ведущих профессоров математики и физики. Потом уже у каждого ребенка.
🔹 Кола сначала продавалась как лекарство в аптеке. Теперь её в африке пьют вместо воды.
😱 И обычно начинается истерика:
➡️ появилась технология X
➡️ пропадет работа Y
➡️ люди категории Z останутся без дела
Но практика показывает, что без дела никто не остается. Просто дела меняют свой характер, а жизнь становится интереснее и насыщеннее.
📺 Например.
Раньше технологии записи видео, аудио и вещания были только в руках государства.
Представьте СССР с 300 млн населения: несколько наборов видео- и звукозаписи и возможность вещать отснятое.
Чтобы стать «лицом» в эфире, ты должен был:
🎓 окончить специальный институт
🏁 пройти бешеную конкуренцию
🧭 пережить множество поворотов судьбы
И только тогда стать одним из 5–10 человек, которых показывают по телевизору.
У тебя должна быть идеальная внешность, дикция. Тебе дают тексты написанные специалистами лингвистики и филологии, и твое присутствие в кадре одобряет сам товарищ Сталин.
📱 Потом появляются смартфоны и блогеры.
Теперь каждый человек — ребенок, бомж, картавый, шепелявый, плоскоземельщик, конспиролог, шизофреник — все получают доступ записать видео или аудио и выложить это на публику.
По логике истерик («появилась технология → исчезнет профессия → люди останутся не у дел») выходит, что люди, которые:
🎬 5 лет учились на тележурналистов
✍️ учились писать тексты и сценарии
💡 выставлять свет
🎧 улучшать качество звука
должны были остаться без работы и стать грузчиками или кассирами.
Но произошло наоборот.
⭐ Многие из них стали авторами качественных блогов-миллионников
💻 12 игр, которые научат программировать лучше любого курса
Собрал для вас подборку, где код — это не скучная теория, а главный инструмент в игре. От логики для новичков до хардкора для профи. Сохраняйте, пригодится.
▪️ Human Resource Machine
Ты — офисный клерк, программирующий поручения босса. Отлично объясняет алгоритмы, циклы и оптимизацию мышления.
▪️ 7 Billion Humans
Продолжение HRM, но сложнее: ты пишешь один алгоритм сразу для толпы людей. Учит параллельному мышлению и масштабированию логики.
▪️ while True: learn()
Игра про программирование, нейросети и автоматизацию, но без скучной математики. Показывает, как код решает реальные задачи (и как понять своего кота-гения).
▪️ CodeCombat
Настоящий код в формате RPG. Проходишь подземелья, пишешь скрипты на Python, JavaScript и других языках.
▪️ Lightbot
Минималистичная головоломка про команды и функции. Отлична для абсолютных новичков и даже детей.
▪️ TIS-100
Очень хардкорный симулятор ремонта древнего компьютера от создателей Shenzhen I/O. Прокачивает понимание низкоуровневой логики и архитектуры.
▪️ SHENZHEN I/O
Игра про программирование микроконтроллеров с нуля. Для тех, кому интересно, как код работает с железом.
▪️ Screeps
MMO-стратегия, где ты программируешь свою армию на JavaScript. Учит писать долгоживущий, поддерживаемый код, который будет работать без тебя 24/7.
▪️ Else Heart.Break()
Сюжетная игра, где ты буквально переписываешь код реальности. Очень хорошо развивает понимание логики систем.
▪️ The Farmer Was Replaced
Автоматизация фермы с помощью настоящего языка программирования. Идеально для понимания циклов и оптимизации процессов.
▪️ Bitburner
Программирование взломов и автоматизации в киберпанк-сеттинге. Максимально приближено к реальному кодингу (пишем скрипты на упрощенном JS/Netscript).
▪️ Autonauts
Программируешь роботов для выполнения задач. Очень наглядно показывает ценность алгоритмов: сначала ты делаешь всё руками, потом учишь роботов, а они делают за тебя.
А
Исторически работа инженера была устроена примерно как 80/20. Восемьдесят процентов — рутинное исполнение: бойлерплейт, повторяющиеся баги, тикеты, конфиги, несложные тесты. Двадцать процентов — глубокое мышление: понимание реальной задачи, проектирование систем с учетом ограничений, отладка непредсказуемых корнер кейсов, принятие компромиссных решений. Именно во вторых двадцати процентах сеньор отличался от джуна — не скоростью набора кода, а ясностью мышления. А первые восемьдесят были своего рода учебной площадкой, на которой эта ясность постепенно вырастала.
Теперь ИИ закрыл эти 80%. Бойлерплейт писать не нужно, CRUDы и тесты генерятся за секунды. Здорово же! Инженеры освободятся от скучного и сосредоточатся на сложном и интересном. Но никто не сказал вслух очевидное — двадцать процентов были тяжёлыми именно потому, что требовали сосредоточенного глубокого мышления. Теперь от инженера ожидают, что он будет жить в этом режиме постоянно. А человеческий мозг так не работает.
Да, бойлерплейты писать скучно до жути. Но пока их пишешь, мозг восстанавливается. Проектирование сложных архитектур, нюансов распределенных систем, думать об оптимизации множества потоков данных — глупо отрицать, что это все вызывает когнитивную усталость другого рода. И теперь «благодаря» ИИ такой усталости будет все больше.
В мире ИИ постоянно дискутируют о контекстных окнах моделях, как правильно управлять контекстом, когда делать сжатие и так далее. Это все разумные инженерные вопросы. Но есть еще одно контекстное окно, о котором никто не говорит. Контекстное окно человека-инженера не расширяется. Это тот же мозг, что и раньше, только теперь он должен справляться с более сложной архитектурой, быстрее принимать решения в условиях неопределенности и чаще переключаться между системами. В отличие от модели, вы не можете просто увеличить объем контекста. Вы не можете добавить больше оперативной памяти в префронтальную кору головного мозга.
В LinkedIn завирусился пост стафф-инженера Google,
Ребят, мы запустили проект SquidHub на Product Hunt, нам очень нужна ваша помощь!
Чтобы продукт хорошо зашел, важно собрать апвоуты и комментарии в первые часы, то есть прямо сейчас
➡️ producthunt.com/products/squidhub
Вы также сильно мне поможете, если сделаете репост этого поста. Всем спасибо ⚡️
Пока цены на оперативную память бьют рекорды, обычные комплектующие превратились в актив, о котором раньше никто не задумывался. Пользователь Reddit под ником VastOption8705 обнаружил в собственном гараже партию модулей DDR4, которая сегодня оценивается примерно в 10 000 долларов.
Речь идёт о 30 планках по 64 ГБ, снятых со старых серверов. В сумме это 1,92 ТБ памяти, которая годами просто собирала пыль без дела.
Владелец находки живёт в Австралии и рассказал, что бывший работодатель разрешил забрать списанный сервер вместе со всей начинкой. Тогда никто не предполагал, что через несколько лет содержимое коробки будет стоить как подержанный автомобиль.
В следующий раз, когда жена попросит выкинуть "ненужный хлам" из гаража - покажите ей этот пост😊