Как стать автором
Обновить

Как стать автором

DevOps инфраструктура для стартапов ч.1

Уровень сложностиПростой
Время на прочтение7 мин

Мы — команда студентов из ИТМО, которая прошла путь от хакатонов до продуктовой разработки. На собственном опыте расскажем, как выстроили инфраструктуру, способную масштабироваться, переживать сбои и не стоить как полкоманды в найме.

Когда ты только начинаешь делать стартап, инфраструктура кажется чем-то второстепенным. Важнее MVP, фичи, дизайн, пичдек. Но в какой-то момент всё внезапно перестаёт помещаться на одном сервере, руками деплоить становится больно, SSL не обновляется, а продакшн падает из-за перегрузки или забытого docker-compose up.

Kubernetes? Слишком сложно, долго и дорого. Монолит? Неудобно масштабировать. Мы искали третий путь — и нашли его.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии3

Очень простая структура данных, с помощью которой решаются сложные задачи

Время на прочтение7 мин

В этой статье я расскажу о стеке и задачах в которых он применяется. Включая задачу с заключительного этапа Всероссийской олимпиады школьников по информатике 2025 года.

Читать далее
Всего голосов 10: ↑8 и ↓2+6
Комментарии7

Часть 1. Как я производство автоматизировал: от «я всё делаю руками» к «система уже всё сделала»

Уровень сложностиСредний
Время на прочтение4 мин

Ручная проверка модулей контроля питания отнимала 4 часа на устройство. Я собрал стенд на Python, сократив время до 75 минут на 5 устройств. В статье: как превратить неттоп в мозг системы, избежать «фейерверков» из реле и заставить операторов пить кофе вместо того чтобы работать!

Раскрыть секреты магии
Всего голосов 5: ↑4 и ↓1+5
Комментарии0

Как мы разрабатывали платформу цифровизации производств — и внедрили её в последний момент

Уровень сложностиПростой
Время на прочтение9 мин

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

А так же на практических примерах и наших ошибках поговорим о плюсах гибких методологий управления проектами.

Читать далее
Рейтинг0
Комментарии0

Обзор техник RAG: Retrieval Augmented Generation

Уровень сложностиПростой
Время на прочтение11 мин

Рассмотрим техники построения и улучшения RAG систем: от нарезания текстов на куски, до продвинутых способов улучшения качества ответа.

Этим блогом можно пользоваться как шпаргалкой для проектирования своего RAG-а и/или для подготовки к собеседованиям.

Все полезные ссылки и материалы, на которые я опирался будут в конце.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Я для работы или работа для меня: что такое «портфельный работник»

Уровень сложностиПростой
Время на прочтение2 мин

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

В современном английском языке есть такое понятие как portfolio worker что на русский язык можно перевести как «портфельный работник». Это человек, который работает на нескольких работах одновременно. Мне это очень знакомо: начиная еще со студенческих лет я много себя в чем пробовал. Трудовая книжка у меня появилась когда мне не было еще и 20 лет. Критерий выбора работы был только один — чтобы это не противоречило действующему российскому законодательству. И до сих пор за мою более чем 25-летнюю карьеру не было ни одного дня, чтобы я работал только на одном месте.

Читать далее
Всего голосов 2: ↑1 и ↓10
Комментарии1

Реализация ГОСТ 32.12. Симметричный шифр Кузнечик

Уровень сложностиСредний
Время на прочтение11 мин

Доброго времени суток.

В качестве первой статьи решил выбрать разбор реализации отечественного шифра «кузнечик». Постараюсь объяснить сложные вещи простым языком.

В качестве рабочего примера моя реализация на C.

Читать далее
Всего голосов 8: ↑7 и ↓1+8
Комментарии0

Yast Another Config Manipulation или зачем изобретать велосипед?

Уровень сложностиПростой
Время на прочтение6 мин

Привет Habr! Меня зовут Андрей, системный администратор в электрических сетях, со всеми вытекающими — сети, сервера, пользователи, программы. Как и у всех — какие то скрипты на python для сбора инфы с активки, ежедневного бэкапа конфигов, задач «а добавь вот этот IP в ACL на все устройства»

Везде использую свой модуль для работы с файлами конфигурации. Вы скажете OmegaConf, Dynaconf, да и PYAML никто не отменял. Не торопитесь. Я попросил AI сравнить и воодушевился — а вдруг мой велосипед будет кому то полезен?

Читать далее
Рейтинг0
Комментарии0

Автоматическая регистрация по атрибутам для .net

Уровень сложностиПростой
Время на прочтение2 мин

Я сделал простейшую утилиту для регистрации реализаций в контейнере.

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

Читать далее
Всего голосов 2: ↑1 и ↓10
Комментарии1

История исследования и анализа информации. Архитектура Data Mesh: концептуальные основы

Уровень сложностиСложный
Время на прочтение7 мин

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

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

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

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

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

Тем не менее, при внедрении таких аналитических инструментов компании всё ещё сталкивались с определёнными трудностями.

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

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

В данном контексте централизация оказалась ахиллесовой пятой крупных корпораций.

В крупных организациях попытка сосредоточить все усилия по интеграции данных в одной группе может оказаться неэффективной. Зачастую источники информации находятся в разных местах, не имея единого центра управления, что затрудняет поиск ответственных лиц. Такой подход не приводит к нужным результатам.

Подробный текст статьи
Рейтинг0
Комментарии0

Я знаю, что ты думал в прошлый дейлик

Уровень сложностиПростой
Время на прочтение12 мин

На входе — обычный push. На выходе — коммит, улучшенный с помощью LLM, сохранённый в векторной базе, доступный для поиска и семантического анализа. Пишем простой MCP-сервер для трекинга изменений ваших проектов.

Читать далее
Всего голосов 3: ↑3 и ↓0+5
Комментарии6

Метрики, которые нас обманывают

Уровень сложностиСредний
Время на прочтение4 мин

Почему рост в аналитическом дашборде не всегда означает рост в продукте.

В своей работе я стараюсь смотреть на задачи не только через призму интерфейса, но и с точки зрения продукта в целом. Мне важно понимать, зачем это делается, что за этим стоит и как повлияет на пользователей и бизнес. За это время я увидел десятки A/B-тестов, дашбордов, метрик и графиков, которые обещали рост. И слишком часто — одну и ту же картину: цифры растут, а продукт — хуже. Пользователи злятся, но в компании все довольны. Это не крик «цифры — зло». Скорее, попытка разобраться, где проходит грань между аналитикой и самообманом

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии1

Недостатки Istio по сравнению с Cilium: подробное объяснение

Уровень сложностиПростой
Время на прочтение3 мин

В этой статье мы разберём основные недостатки Istio в сравнении с Cilium Service Mesh, чтобы даже начинающий разработчик мог понять, в чём разница и почему некоторые команды выбирают Cilium вместо Istio.

Читать далее
Всего голосов 5: ↑2 и ↓30
Комментарии2

Архитектура игр в Unity с использованием Zenject

Уровень сложностиСредний
Время на прочтение4 мин

Всем привет!

Меня зовут Яков, не сказал бы, что я супер разработчик игр (в общей сумме у меня 20 тыс игроков со всех игр выложенных на Яндекс.Игры), но хотел бы поделиться опытом создания гибкой архитектуры игр в Unity с использованием DI-контейнера Zenject.

В статье не будет основ работы с Zenject, поэтому я надеюсь что вы уже знаете данный фреймворк.

Читать далее
Всего голосов 2: ↑1 и ↓10
Комментарии1

Как я создал клон Pinterest с использованием Vue 3 и FastAPI

Уровень сложностиПростой
Время на прочтение7 мин

👋 Привет, Habr!

Вы когда-нибудь пытались найти качественный open-source клон Pinterest — с real-time функционалом, полноценной архитектурой, удобным UI и современной технологической основой? Я — да. И не нашёл. Поэтому решил создать свой.

Представляю вам Pinterest Clone — мой pet-проект, над которым я работал в одиночку 4 месяца, чтобы воссоздать не просто копию, а полнофункциональную платформу с реальным пользовательским опытом, максимально приближённым к оригиналу.

Читать далее
Всего голосов 18: ↑17 и ↓1+20
Комментарии13

Легковесная система комбо-атаки

Уровень сложностиПростой
Время на прочтение16 мин

В этой статье Вы узнаете, как создать легковесную систему комбо-атаки для 2D и 3D проектов с использованием машины состояний в Unity. Статья включает примеры кода и ссылку на репозиторий с полным проектом, что делает её полезной как для новичков, так и для опытных разработчиков, стремящихся улучшить свои навыки в создании игровых систем.

Читать далее
Всего голосов 2: ↑2 и ↓0+3
Комментарии4

ТОП — 10 Российских ИСУП в 2025 году

Уровень сложностиСредний
Время на прочтение8 мин

Российский рынок систем управления проектами в 2025 году выглядит насыщенным как никогда: есть облачные решения для ИТ команд с досками и задачками, есть и платформенные гиганты с BI аналитикой и матрицей ресурсов. Но как выбрать? Чем они отличаются? Какие из них реально работают в крупных компаниях?

Я составил краткий и честный обзор на 10 систем управления проектами. Без рекламы, с плюсами, минусами и рекомендациями для разных случаев.

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии4

Информационная безопасность до электричества: как защищали данные в XIV веке

Уровень сложностиСложный
Время на прочтение4 мин

Все привыкли к тому, что безопасность информации — это антивирусы, шифрование, фаерволы и двухфакторная аутентификация. Но задолго до всего этого — в мире без электричества, интернета и даже телеграфа — существовали вполне реальные угрозы утечки данных и методы защиты информации. В статье — реальные кейсы XIV века, средневековые протоколы безопасности, курьезные уязвимости и немного кода (куда без него?).

Если вы думаете, что XIV век — это про рыцарей, чуму и башни без Wi-Fi, то вы, в целом, правы. Но даже тогда существовали конфиденциальные сообщения, шпионаж, защита данных и атаки, которые очень напоминают фишинг, перехват сообщений и даже внедрение в цепочку поставок (правда, поставляли не софт, а людей и письма). Эта статья — попытка взглянуть на ИБ до ИБ, когда информацию защищали не фаерволы, а воск, пергамент и личные головы гонцов.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии13

FastOpenAPI: автодокументация OpenAPI для разных фреймворков на Python

Уровень сложностиСредний
Время на прочтение22 мин

Всем привет! Меня зовут Никита Рыженков, и я хочу поделиться опытом разработки библиотеки FastOpenAPI. Это инструмент, который приносит удобный стиль маршрутизации FastAPI и автоматическую документацию OpenAPI в целый ряд Python-фреймворков. Идея родилась из личной боли: в одном проекте приходилось поддерживать OpenAPI-документацию сразу в нескольких фреймворках, и я устал дублировать решения под каждый из них. Вдохновившись лаконичностью FastAPI, я решил создать унифицированный подход для Flask, AioHttp, Sanic, Falcon, Starlette, Quart, Tornado – назвал его FastOpenAPI​. В этой статье расскажу, какие проблемы решает FastOpenAPI, как он устроен внутри и как им пользоваться с примерами кода под каждый поддерживаемый фреймворк.

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии3

Будни вайбкодинга: лайфхаки при работе с LLM

Уровень сложностиПростой
Время на прочтение4 мин

Современные LLM давно уже вышли за предел «галлюционнирующей генерации» и дают устойчивую точную генерацию практически на всех популярных языках, фреймворках и библиотеках... При наличии правильного контекста. В большинстве случаев контекст, который вы скармливаете LLM имеет высокую избыточность и низкую концентрацию полезной информации. При нехватке контекстного окна вы практически гарантированно получите низкокачественную галлюцинацию. Что можно сделать в таком случае: обрезается весь ненужный контекст, добавляется весь необходимый. Как это выглядит: вы подготавливаете свой проект в IDE, убирая всё лишнее, и оставляете только самое необходимое, что бы LLM получила весь необходимый контекст и не байтом больше, то есть контекст должен на 100% состоять из полезной информационной нагрузки.

Если есть объёмная база данных — оставьте в ней всего несколько значений для примера. Неиспользуемые в данной конкретной ситуации зависимости так же удаляете из контекста. Если речь о текстовой работе с LLM — то делаете тоже самое в форме промпта или загружаемого текстового файла‑инструкции, подготавливая всё необходимое, т. е., в промпте должно быть описание кодовой базы и окружения, файловая структура, используемый стек, назначение кодовой базы, весь необходимый код всех задействованных файлов, выдаваемые ошибки и прочее. То есть вы должны своими руками построить 100% удобный для работы LLM контекст. Фактически, при данном подходе, вероятность генерации неправильно ответа — околонулевая. Простыми словами — воспринимайте контекстное окно как бутылочное горлышко, через которое необходимо достать информацию из бутылки, то есть из модели.

Читать далее
Всего голосов 14: ↑9 и ↓5+6
Комментарии44
1
23 ...