ITmozg
2.72K subscribers
1.46K photos
76 videos
3 files
5.8K links
Программисты, дизайнеры, новости из мира IT. Официальный канал. (vk.com/itmozg, ITmozg.ru)
Download Telegram
Не делайте рефакторинг как дядя Боб. Я вас умоляю

Несмотря на то, что книга «Чистый код» привнесла в наш лексикон прекрасный термин, она также снискала и дурную славу. Это руководство от 2008 года представляет собой сборник принципов и исследований, которые «дядя Боб» (Uncle Bob, то есть Роберт Мартин) выработал за годы программирования.

В итоге его практики переняли многие разработчики, одни из которых почитают их как святыни, а другие воспринимают, скорее, в качестве ориентиров, нежели строгих правил. Но, как бы вы к этому ни относились, сам дядя Боб смотрит на них не как на руководства. Он следует этим практикам всецело и очень редко допускает исключения.

Так что можно подумать, что его примеры рефакторинга из книги как минимум окажутся лучше среднего кода, который вы встречаете в повседневной работе, или хотя бы будут согласовываться с другими распространёнными советами.

Можно подумать...

https://habr.com/ru/companies/ruvds/articles/970488/

original https://theaxolot.wordpress.com/2024/05/08/dont-refactor-like-uncle-bob-please/

📲 Мы в MAX

👉 @itmozg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1👎1
Media is too big
VIEW IN TELEGRAM
💻 Глубокое погружение в сетевые технологии Kubernetes (видео +pdf)

Если ты работаешь с Kubernetes на серьёзном уровне (развёртка кластеров, продакшн, сети, DevOps), этот материал полезен, чтобы:

Понять, как Kubernetes организует сеть — как IP-адреса выдаются, как Pods/Svc взаимодействуют.

Разобраться в вариантах сетевых реализаций (CNI, Calico и др.).

Узнать, как expose сервисов, балансировка нагрузки, ingress, сервисная сетка (service mesh) и маршрутизация устроены «изнутри».

https://my.ipspace.net/bin/list?id=Kubernetes#INTRO

📲 Мы в MAX

👉 @itmozg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🔧 Обзор Инструментов для Работы с Регулярными Выражениями


🔹Легенда интерактивного тестирования.

regex101.com

Это мощный и многофункциональный сервис для создания, проверки и отладки регулярных выражений (RegEx) в реальном времени.

- Мгновенное Тестирование: Вы просто вставляете тестовые данные и вводите регулярное выражение, сразу же видя результаты совпадений.
- Разбор Выражений: Ключевая особенность — детальные пояснения. Система автоматически разбирает регулярку на составные части и объясняет, за что отвечает каждый элемент, что бесценно для отладки и понимания синтаксиса.
- Пошаговая Отладка (Дебаггер): После входа в систему доступен режим отладки, который позволяет проследить работу выражения по шагам. Вы увидите, какая часть выражения сработала и какие совпадения были найдены в тексте на каждом шаге.
- Справочные Материалы и Обучение: Для новичков есть «Викторина регулярок» (Regex Quiz) для поэтапного освоения мастерства. Опытные пользователи найдут тысячи готовых примеров в разделе «Комьюнити».
- Поддержка Диалектов: Сервис поддерживает восемь основных диалектов (JavaScript, PHP, Java, C++, Go, .NET, Rust, Scala) и ещё три в режиме эмуляции (Perl, Python, Ruby), адаптируя подсказки под выбранный синтаксис. Готовое выражение можно экспортировать в виде кода.


🔹Легковесный и понятный инструмент.

regexr.com

Если regex101.com кажется перегруженным, regexr.com предлагает более минималистичный и простой интерфейс для интерактивного тестирования регулярных выражений.

- Чистый Интерфейс: Тестируйте регулярки, наблюдая за автоматическим подсвечиванием всех совпадений в тексте.
- Разбор и Подсказки: В нижней части экрана отображается разбивка выражения на структурные блоки. Разделы Cheatsheet и RegEx Reference предоставляют быстрые подсказки по отдельным символам и метасимволам (например, $ \backslash $w или $?$).
- Ограниченный Функционал: Это «regex101 на минималках» с меньшим количеством нагромождения функций. Он поддерживает меньше диалектов (в основном JS и PHP).


🔹Специализированный помощник для PHP-разработчиков.

phpliveregex.com

Этот инструмент предназначен исключительно для разработчиков, использующих PHP.

- Фокус на PHP: Основное внимание уделено демонстрации работы с ключевыми PHP-функциями для регулярных выражений: preg_match, preg_match_all, preg_replace, preg_grep, preg_split.
- Код и Результат: Вы сразу видите, как правильно написать функцию и какой будет получен результат ее выполнения.
- Перманентные Ссылки: Полезная функция — возможность создать постоянную ссылку на ваше регулярное выражение и тестовые данные. Это удобно для формирования собственной базы паттернов или обмена ими.
- Только Базовые Вещи: Инструмент сосредоточен на хардкорных, базовых функциях без лишних фич.


🔹Визуализация работы регулярного выражения.

https://regex-vis.com

Regex Vis - это отличный инструмент для визуального анализа и построения паттернов, а также для лучшего понимания их логики.

- Наглядная Схема: Введите регулярное выражение, и сервис тут же построит подробную схему работы паттерна, разбив ее на понятные визуальные блоки.
- Понимание Логики: Позволяет построить паттерн мышкой и помогает увидеть, как поток данных обрабатывается выражением.

📲 Мы в MAX

👉 @itmozg
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
CLI инструменты, которые облегчат времяпровождение в терминале и сделают его приятнее

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

В этом посте описан мой топ-25 обязательных инструментов CLI, на которые я привыкла полагаться.

Rus https://habr.com/ru/post/711968/

Eng https://dev.to/lissy93/cli-tools-you-cant-live-without-57f6#utils

📲 Мы в MAX

👉 @itmozg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
Media is too big
VIEW IN TELEGRAM
🔥Порт легендарного движка DOOM на Go, вырванный прямиком из недр doomgeneric.

Никакого CGo. Никаких костылей под конкретные платформы. Только чистый, первозданный геноцид демонов, питаемый мощью безжалостной кросс-компиляции Go.

Фичи, достойные Марса:
Ад везде: работает в любом месте, где живёт Go
Аскетизм: только стандартная библиотека Go
Вся сага DOOM: DOOM, DOOM II, Ultimate DOOM, Final DOOM
Поддержка WAD: загружай свои собственные порталы в ад
Память в броне: сборщик мусора Go спасёт от переполнений буфера (но не от какодемонов) (WIP — 95%)
Кросс-компиляция: целься в любую платформу с любого оружия… то есть с любой ОС

https://github.com/AndreRenaud/gore

📲 Мы в MAX

👉 @itmozg
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🔍 AIOps против DevOps. Может ли AIOps полностью заменить DevOps?


1 💡 Культура имеет значение:
DevOps - это не только инструменты, это командная работа и совместное совершенствование. AIOps помогает решать некоторые задачи, но он не может исправить динамику команды.
Пример: В DevOps разработчики и ИТ-специалисты работают в тесном контакте, чтобы быстрее решать проблемы.

2 💻 От идеи к реальности:
DevOps занимается всем, начиная с планирования и заканчивая выпуском программного обеспечения. AIOps помогает на некоторых этапах, но не охватывает всего, что делает DevOps.
Пример: В DevOps все работают вместе, чтобы создавать и выпускать программное обеспечение без сбоев.

3 🧠 Люди все еще главные:
В AIOps используются умные алгоритмы, но настоящими экспертами являются люди. DevOps нуждается в человеческих мозгах для принятия важных решений.
Пример: В DevOps опытные члены команды принимают жесткие решения, когда ситуация становится сложной.

4 🔄 Быть гибким:
DevOps любит пробовать новое и быстро меняться. AIOps не всегда может идти в ногу со временем без вмешательства людей.
Пример: В DevOps команды легко переключаются, когда появляются новые технологии или идеи.

5⚙️ Инструмент против методологии:
AIOps - это набор инструментов для оптимизации ИТ-операций, в то время как DevOps - это методология для культурных и организационных изменений.
Пример: DevOps способствует разделению ответственности между dev и ops, что выходит за рамки того, что могут предложить инструменты AIOps.

6 🌟 Непрерывное совершенствование:
DevOps способствует непрерывному обучению и совершенствованию. Инструменты AIOps учатся на данных, но DevOps поощряет инновации, основанные на человеческом факторе.
Пример: Команды DevOps постоянно совершенствуют процессы на основе обратной связи, внедряя инновации, выходящие за рамки возможностей AIOps.

7🚀 Подведение итогов: AIOps - это помощник для DevOps, а не замена. DevOps - это полный пакет, объединяющий команды для создания лучшего программного обеспечения.
Пример: DevOps - это как рецепт успеха командной работы, одним из ингредиентов которого является AIOps.

📲 Мы в MAX

👉 @itmozg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🩸🩸🩸🩸 запустили на …елочной игрушке

Близятся Новый год и Рождество, а это, как обычно, означает ёлку и всё, что на ней полагается: огоньки, мишуру и, конечно, шары. Праздник, безусловно, очень весёлый, поэтому я решил, что ему не хватает немного безысходности (doom)... кхм, то есть игры Doom.

Поэтому я напечатал на 3D-принтере маленькую ёлочную игрушку в форме IBM PC, впихнул внутрь самый крошечный LCD-экран, который смог найти, добавил процессор, необходимую обвязку и аккумулятор. Эту штуку можно повесить на ёлку, и она будет крутить «демку» Doom — со всеми звуковыми эффектами и саундтреком.

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

Если интересны подробности, статья тут

📲 Мы в MAX

👉 @itmozg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Media is too big
VIEW IN TELEGRAM
🎯 Моторизованный коврик для мыши, который целится за вас!

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

Как это работает:

- 📷 компьютерное зрение отслеживает цель на экране
- 🧠 софт рассчитывает нужное смещение
- ⚙️ модифицированная система GRBL (из плоттера) двигает коврик под мышью
- 🖱️ со стороны кажется, что у игрока просто идеальный аим

В итоге - никаких читов в системе, всё происходит на уровне «железа».
Настолько плавно и точно, что новички внезапно начинают выглядеть как киберспортсмены 😅

Самое интересное - это «серая зона» для античитов. Программного вмешательства в процесс игры (инжектов) нет, игра «думает», что это вы так круто двигаете мышкой.

👉 Подробности проекта тут

📲 Мы в MAX

👉 @itmozg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Дорогие друзья, с Новым Годом!!!
5🔥2👍1
Если разделить 1 на 998 001, получится последовательность всех трехзначных чисел от 000 до 999 по порядку, за исключением числа 998

Почему так происходит?

Это происходит потому, что 998 001- это 999^2 ….

Ответ в посте https://max.ru/itmozg/AZuIoxVcP6E


📲 Мы в MAX

👉 @itmozg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🤮3
Зарплата джунов в ИИ-компаниях 🤯

Там цифры, которые спокойно обгоняют доходы сеньоров из high-risk ниш - iGaming и классического аутсорса.

Для понимания масштаба:
- 18 300 в месяц
- $12 400 в месяц
- $3 850 в неделю + до $15 000 в месяц отдельным бюджетом на тесты

И это - джуны.
Рынок ИИ сейчас живёт в совершенно другой реальности 🚀

📲 Мы в MAX

👉 @itmozg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Почему одна Arduino сделала для робототехники больше, чем все вузы мира вместе взятые

(Дисклеймер: Заголовок — намеренная провокация. Но если ваша рука уже потянулась к клавиатуре, чтобы написать гневный комментарий о деградации инженерной школы — добро пожаловать под кат. Там мы разберемся, почему синяя платка из Италии победила академический снобизм и создала армию инженеров).

Представьте мир до середины нулевых. Вы — школьник, студент или просто энтузиаст, и вы хотите собрать простенького робота. Ваши действия?

Сначала нужно купить микроконтроллер (PIC или AVR). Затем найти программатор ($50–100) или паять LPT-«костыль» на коленке, рискуя сжечь порт материнской платы. Потом открыть даташит на 300 страниц на английском, чтобы понять, в какой регистр нужно «плюнуть» битом, чтобы просто зажечь светодиод. И, наконец, написать код на Ассемблере или голом Си, где ошибка в одной запятой превращает устройство в кирпич.

https://habr.com/ru/articles/977408/

📲 Мы в MAX

👉 @itmozg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Media is too big
VIEW IN TELEGRAM
Выступление Ильи Сегаловича. Есть ли жизнь после IPO. Одно из последних интервью Web Ready 2011 г.

«Есть ли жизнь после IPO?» — о том, что меняется в компании после выхода на биржу: фокус менеджмента, давление публичности, рост и цена прозрачности.

📲 Мы в MAX

👉 @itmozg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🧠 Хватит изобретать велосипеды: Каталог паттернов для AI-агентов

Если вы пробовали выйти за рамки простых скриптов на LangChain и строили что-то сложнее "Hello World", то знаете: промптинг - это лишь верхушка айсберга. Настоящая сложность начинается в архитектуре: как агенту помнить контекст? Как исправлять свои ошибки? Как не запутаться в сотне инструментов?

Нашел отличный репозиторий Awesome Agentic Patterns, который собирает инженерные паттерны для создания агентов. Это не просто список тулзов, а именно архитектурные решения, проверенные в продакшене (с ссылками на пейперы и статьи).

📂 Что внутри?
Всё разбито по категориям, вот самые интересные:

🔘Context & Memory: Как хранить эпизодическую память и делать "sliding window" контекста, чтобы не разориться на токенах.
🔘Feedback Loops: Паттерны Reflection (самокритика) и Self-Healing Retries (автоисправление ошибок кода/JSON).
🔘Tool Use: Например, Progressive Tool Discovery - когда агент не грузит все 100 инструментов в контекст сразу, а "ходит" по ним как по файловой системе.
🔘Orchestration: От классического ReAct до мульти-агентных свармов (Swarms) и иерархического планирования.

Полезно, чтобы перестать писать "спагетти-код" из промптов и начать строить надежные системы.

🔗 Репозиторий: https://github.com/nibzard/awesome-agentic-patterns

#AI #LLM #Agents #SystemDesign #GitHub #Architecture

📲 Мы в MAX

👉 @itmozg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Media is too big
VIEW IN TELEGRAM
Сергей Брин как парень из Москвы создал Google

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

Мы расскажем про переезд его семьи в США, обучение в Стэнфорде и судьбоносное знакомство с Ларри Пейджем, которое привело к созданию поискового алгоритма и основания компании Google.

Мы расскажем про этапы развития корпорации, включая ее реорганизацию в холдинг Alphabet и последующий уход Брина с руководящих постов. Особое внимание уделяется его текущим инвестициям в искусственный интеллект, благотворительным проектам в сфере здравоохранения и деталям его личной жизни.

📺Смотреть на youtube

📲 Мы в MAX

👉 @itmozg
Please open Telegram to view this post
VIEW IN TELEGRAM
🤮3👍1👎1🤣1
Американский TikTok против европейского TikTok

Пользователи в США начали массово удалять TikTok на фоне проблем с работой приложения после запуска американской версии.

📲 Мы в MAX

👉 @itmozg
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2