Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Как работают устойчивые системы: три проверенных книги об инженерном мышлении

Время на прочтение7 мин
Охват и читатели8.6K

Привет! На связи Read IT Club — сообщество рецензентов и переводчиков ИТ-литературы. Мы делимся проверенными книгами, которые помогают не просто читать про ИТ, а по-настоящему понимать, как все устроено внутри. На этот раз — три издания о том, как проектировать надежные системы, создавать архитектуры, способные к изменениям, и выстраивать понятные API без избыточной сложности.

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

Читать далее

Как функциональное программирование изменило фронтенд и почему отрасль возвращается к платформе

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели19K

Недавно я наткнулась на статью «How Functional Programming Shaped Modern Frontend» и неожиданно поймала себя на мысли: мы уже настолько привыкли к функциональному программированию (ФП) в JavaScript, что забыли, как всё начиналось и почему многие идеи казались почти спасением. Чтобы лучше понять эволюцию, я решила посмотреть, что писали разработчики о ФП во фронтенде 10 лет назад, примерно в 2013-2016 годах.

Контраст получился довольно яркий: от искреннего восторга до постепенного прозрения.

Я решила поделиться своим анализом, основанным на современных наблюдениях и на тех статьях прошлого, где ФП воспринималось как путь к «правильному» фронтенду.

Читать далее

Техрепорт Alice AI: как мы создавали новое поколение моделей для самого популярного ИИ-ассистента в России

Время на прочтение46 мин
Охват и читатели21K

Сегодня мы делимся техрепортом, в котором разобран полный цикл создания нового семейства моделей Alice AI: базовая текстовая Alice AI LLM и специализированная LLM Search, мультимодальная Alice AI VLM и картиночная Alice AI ART. 

В части про Alice AI LLM расскажем, как сделали упор в Alignment на RL и Reward Modeling: мы минимизируем число разрозненных RL-стадий, собирая «общий RL». Вместо хрупкого «суперсигнала» используем аспектную формулировку качества и агрегируем её в целевую функцию, чтобы изменения критериев не требовали пересборки всей разметки. В главе про Alice AI LLM Search расскажем про многократные последовательные походы в Поиск с последующей фильтрацией/ранжированием источников. А также о том, как готовим ответы с использованием документов разной модальности (веб-документы, картинки, видео, гео).

Чтобы «вывезти» MoE-модель на сотни миллиардов параметров, мы целенаправленно сняли инфраструктурные ограничения обучения и инференса: в обучении используется YaFSDP (которую мы выложили в опенсорс) и собственная библиотека коллективных коммуникаций YCCL. В прод-инференсе мы работаем под SLA (avg TPOT ≤ 70 ms, p95 TTFT ≤ 2 s) и достигаем их комбинацией TP Attention/EP FFN, KV cache reuse, FP8 w8a8kv8 (в т. ч. сжатие KV cache ~3,05→~1,52 GB) и спекулятивного декодинга EAGLE‑3, что в сумме даёт 5.8× ускорение относительно BF16 (и 1,32× относительно лучшего open-source). Параллельно для Alice AI VLM нарастили в 1,5 раза объем претрейна, контекст до 32k и обновили OCR-датасет; VLM-генератор работает «из коробки», а для математики/геометрии выделен специализированный VLM‑решатель. В пайплайне Alice AI ART повышение релевантности к промпту начинается с диагностики смещений в датасете с помощью VLM и последующей адресной коррекции обнаруженных проблем.

Недавно все эти модели и решения легли в основу нашего нового ИИ-ассистента, и уже к ноябрю, согласно исследованию Mediascope, Алиса AI вышла на первое место по используемости среди россиян (14,3%), обойдя ранее доминировавший DeepSeek (9,4%). Кроме того, модель Alice AI LLM теперь доступна и для разработки собственных AI-решений на платформе Yandex AI Studio.

Читать техрепорт

Как установить почтовый сервер под Debian

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели13K

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

Читать далее

Факторы стоимости печатной платы

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

Привет, на связи Андрей Шведов, руководитель проектов ГРАН Груп!

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

Читать далее

Как проходит онбординг тестировщика в финтехе

Время на прочтение4 мин
Охват и читатели6K

Привет! Меня зовут Денис. В августе 2024 года я присоединился к компании ЮMoney в роли Fullstack-тестировщика с автоматизацией на Kotlin. Наша команда тестирует и фронтенд, и бэкенд. Автотесты в основном интеграционные — они охватывают интерфейс пользователя и внутренние процессы.

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

Читать далее

Как мы научились строить деревья блокировок PostgreSQL в фоне и без влияния на производительность

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

Блокировки в СУБД — основа механизма параллельного доступа к данным, но также и частый симптом проблем в архитектуре или ошибок в логике работы с БД. Когда из-за них запросы зависают, нам требуется разбираться, кто кого и когда заблокировал, то есть поднимать и смотреть историю возникновения блокировок.

Чтобы понять цепочку блокировок, обычно строят их дерево рекурсивными запросами. Но частое выполнение таких запросов может существенно замедлить работу СУБД. В худшем случае можно усугубить проблему, которую мы пытаемся диагностировать.

Меня зовут Александра Кузнецова, я бэкенд-разработчик в СберТехе, в команде Platform V Kintsugi — это графический инструмент для сопровождения, разработки и диагностики СУБД на основе PostgreSQL. Расскажу о том, как мы с коллегами интегрировали сбор данных о блокировках в наш мониторинг сессий. Решение работает в фоне и не нагружает БД. И дерево блокировок можно построить для любого момента в прошлом, даже через несколько дней после инцидента. Начнём.

Читать далее

Моя любимая маленькая хеш-таблица

Время на прочтение9 мин
Охват и читатели6.5K

Я из тех, кто всерьёз задумывается о проектировании и реализации хеш-таблиц. Недавно обнаружился донельзя милый вариант, который заслуживает широкой огласки. Это робин-гудовская открытая адресация с применением линейного зондирования, где размер самой таблицы увеличивается как степень двойки. Если вы не знакомы с терминологией хеш-таблиц, то все эти слова могут показаться вам каким-то невразумительным салатиком, но, когда мы разберём этот пример с привлечением кода — всё должно стать понятнее.   

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

Читать далее

Текст как пазл: Нашел палиндромы в стихах Маяковского с Python

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

Как Python помогает находить симметрии в поэтическом тексте. Простой код для поиска палиндромов (слов и фраз, читающихся одинаково в обе стороны) в творчестве Владимира Маяковского.

Читать далее

Изучали сами — рекомендуем другим: какие материалы помогут комплексно погрузиться в системный анализ

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

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

Привет, Хабр. Меня зовут Люба Вайгель. Я системный аналитик в СберЗдоровье — MedTech компании №1 в России. Я довольно давно работаю системным аналитиком: помимо медтеха, на моем счету опыт в финтехе, госсекторе. В этой статье я хочу поделиться материалами, которые в своё время помогли мне и могут быть полезны всем, кто только делает первые шаги в системном анализе.

Читать далее

OpenIDE Pro: ответ на запросы бизнеса и разработчиков одновременно

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели8.7K

Привет! Я Фёдор, CEO OpenIDE. За год с момента анонса OpenIDE выросла в стабильную, привычную и активно используемую IDE, которую всё чаще выбирают разработчики и компании. Мы создали её быстрой, предсказуемой и полностью доступной — и теперь готовы к следующему шагу.

В этой статье — что мы сделали, зачем мы это делаем и куда дальше движется OpenIDE.

Читать далее

Как системному аналитику перейти в дата-аналитику: советы из личного опыта

Время на прочтение13 мин
Охват и читатели9.2K

Рынок вакансий для системных аналитиков меняется. Растет спрос на работу с данными, облачные технологии и инструменты ETL/ELT. Бизнесу нужны специалисты, которые понимают архитектуру хранения данных, знают процессы их преобразования и принципы управления. Но требования в таких вакансиях часто пугают — со стороны это выглядит как другой мир, требующий совершенно новых знаний.

На своем примере перехода из финтеха в data-платформу VK Tech покажу, что все не так страшно. Расскажу, что в профессии системного аналитика остается неизменным, какие есть ключевые концепции и инструменты Data-направления и что на самом деле нужно знать для перехода.

Читать далее

Декабрьский «В тренде VM»: уязвимости в Windows, библиотеке expr-eval, Control Web Panel и Django

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели5.1K

Хабр, привет! На связи Александр Леонов, ведущий эксперт PT Expert Security Center и дежурный по самым опасным уязвимостям месяца. Мы с командой аналитиков Positive Technologies регулярно исследуем информацию об уязвимостях из баз и бюллетеней безопасности вендоров, социальных сетей, блогов, телеграм-каналов, баз эксплойтов, публичных репозиториев кода и выявляем во всем этом многообразии сведений трендовые уязвимости. Это те уязвимости, которые либо уже эксплуатируются вживую, либо будут эксплуатироваться в ближайшее время.

С прошлого дайджеста мы добавили еще 4 трендовые уязвимости.

По традиции начнем с Windows.

Читать далее

Ближайшие события

Feature Flags на фронтенде: как управлять фичами без боли и рисков

Время на прочтение5 мин
Охват и читатели4.8K

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

Привет, Хабр! Меня зовут Михаил Олейник, я разработчик IBS. В этой статье — практический разбор, как устроены фича-флаги, где их хранить, как получать их состояние на фронтенде и что учитывать в реальных проектах. Если вы искали краткий и понятный гайд по теме, это он.

Читать далее

Разработка USB-клавиатуры без поиска лёгкого пути

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели13K

Помимо полноценных клавиатур, есть клавиатуры с несколькими кнопками, клавиши которых можно запрограммировать. Их называют еще макропадами. Макропад не сложно купить, хоть часто он стоит дороже обычной клавиатуры, но можно и сделать. Статей как его смастерить много, самый простой способ — использовать каждый вывод микроконтроллера, пока они не закончатся. Но у меня не было никакого желания делать все как у всех. Хотелось чего-то по-настоящему DIY.

Поэтому в статье пойдет подробный рассказ о разработке USB-клавиатуры на микроконтроллере CH32V003, в котором по умолчанию нет поддержки USB. Но чтобы проект был более интересным, клавиатура состоит из 9 кнопок, 3-х энкодеров и 2-х светодиодов. При этом корпус и кейкапы тоже сделаны самостоятельно (почти).

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

Читать далее

Fluent API. Часть 3 — что нам стоит Fluent API построить?

Уровень сложностиПростой
Время на прочтение23 мин
Охват и читатели4.4K

Теперь, после того как в предыдущей статье так красочно описаны преимущества Fluent API появилось опасение что все  эти “плюшки” просто не могут быть бесплатными. Наверняка это очень дорого, или нет?

Читать далее

Fluent API. Часть 2 — а оно нам надо?

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

Продолжаем разговор о Fluent API. И теперь, после того как мы из предыдущей статьи (или/и личного опыта) узнали о том что это чудо из себя представляет давайте разберемся зачем оно нужно?

Читать далее

Fluent API. Часть 1 — это вообще о чём?

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

В то время как аналитики жарко спорят на тему станет ли основным языком программирования 6-го (видимо) поколения английский или все-таки китайский предлагаю поговорить немного на другую тему, но в том же направлении: как сделать код программы ближе к человеку? 

Один из ответов на этот вопрос зародился еще в 70-х годах прошлого столетия как method chaining в рамках языка Smalltalk и, благодаря стараниям Эрика Эванса и Мартина Фаулера дошел до нас как Fluent API.

Читать далее

ML-проект моей мечты. Часть 1

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели4.2K

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

Читать далее

Обработка для 1С, которая отправляет сводку с нужными показателями в Telegram

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

Обычно, в 1С много показателей и отчётов по ним, а при желании почти каждый можно собрать под свои потребности, так как платформа гибкая и легко поддается доработке. Но это долго и разработка стоит дорого, особенно если речь про кастомный отчёт под руководителя. А с обработкой можно получать короткий отчет сразу в Telegram.

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

Читать что за обработка такая