Обновить

Разработка

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

Методология триады: как я выстроил работу с двумя AI-агентами

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

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

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

Этим «кем-то» стали нейросетевые агенты. Расскажу про подход, который мы обкатали на нескольких проектах в рамках экспериментов с этими инструментами.

Читать далее

Анимированные визуализации потоков данных: движение товаров, денег и пользователей

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

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

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

Именно о них предлагаю поговорить сегодня.

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

Читать далее

API-контракты: повышаем уровень зрелости SDLC-процесса

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

За последние шесть лет испробовал множество аспектов работы с API-контрактами, не только с точки зрения проектирования, но и остальных этапов жизненного цикла этих артефактов.

Так-то API-контракт может быть не просто набором методов, которые «по-бырику» выставили, пока дальше код пишется, а что-то более зрелое и, соответственно, требующее более зрелого и продуманного подхода.

На что стоит обратить внимание при работе с API-контрактами внутри дружественной корпоративной среды множества разрабатываемых ИТ-систем?

Посмотреть одним глазком

Баги в ядре Linux в среднем прячутся по 2 года. Некоторые скрываются до 20 лет

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

Прямо сейчас в вашем ядре есть баги, которые не найдут ещё многие годы. Я знаю это, потому что проанализировал 125183 бага с отслеживаемой меткой Fixes: за 20-летнюю историю Git ядра Linux.

Прежде чем баг обнаружат, он в среднем живёт в ядре 2,1 года. Но в некоторых подсистемах ситуация гораздо хуже: для драйверов шины CAN этот срок в среднем составляет 4,2 года, для сетевого протокола SCTP — 4,0 года. Самый долгоживущий баг в моём датасете (переполнение буфера в ethtool) прятался в ядре 20,7 года. Баг, который я проанализирую в статье подробно (утечка refcount в netfilter), прожил 19 лет.

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

Читать далее

Убийцы иммутабельной производительности — Zustand/Redux в связке с React

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

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

Читать далее

От закрытого 25 порта к собственному SMTP-сервису: как и почему это произошло

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

Вы запускаете сервис и начинаете отправлять письма: транзакционные уведомления, апдейты, подтверждения действий. На старте все выглядит просто — SMTP настроен, письма уходят. А потом внезапно выясняется, что часть писем не доходит, часть улетает в спам, IP-адреса теряют репутацию, а продакт кричит «Где деньги?».

Под катом разберемся, почему это происходит, зачем провайдеры вообще блокируют порт 25, какие варианты организации исходящей почты существуют — и как мы в Selectel пришли к запуску собственного SMTP-сервиса на базе партнерского SMTP-транспорта.

Под кат →

Как перевести 40 распределенных баз 1С из MSSQL в PostgreSQL

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

Продолжаем публиковать некоторые детали проектов по миграции больших баз данных 1С с MS SQL Server на PostgreSQL. В прошлый раз речь шла о миграции только одной 10+ Тб базы данных 1С с MS SQL на PostgreSQL. Сегодня речь пойдет о проекте миграции на PostgreSQL сразу сорока с лишним распределенных информационных систем 1C с базами размером от 50 Гб до 2 Тб каждая.

Читать далее

Больше чем ядро: как пет-проект вырос в мультитенантную платформу для создания AI-агентов

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

Началось с простого: сделать универсальное ядро для Telegram-ботов на Python и YAML-конфигах. Сейчас Coreness — это мультитенантная платформа, где боты и AI-агенты создаются декларативно, работают с RAG, а весь код написан через вайб-кодинг с помощью LLM.

Это рассказ о том, как в одиночку за пару месяцев удалось пройти путь от Clean Architecture (которая не зашла) до гибридного микса архитектур, от SQLite до production-инфраструктуры с PostgreSQL и десятками ботов в бою, и почему AI-ассистенты — это не магия, а инструмент, требующий совершенно новых навыков.

Читать далее

История Уолли Уика — персонажа, который подарил жизнь новому жанру… и Диззи

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

Из всего многообразия жанров, которые были представлены на домашних компьютерах 80-х и 90-х, один — незаслуженно забыт, хотя в своё время был дико популярным. Англоговорящие товарищи называют его Platform Adventure или Arcade Adventure, а в русском языке устоявшегося названия нет. Но можно условиться на «аркадном квесте» — почему бы и нет?

Владельцам ZX Spectrum этот жанр, скорее всего, известен по серии игр про Диззи. Помимо привычной беготни с прыжками в стиле Super Mario Bros., в таких играх нужно решать разные задачки‑головоломки и общаться с персонажами.

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

Аркадные квесты всегда вызывают живой интерес посетителей Яндекс Музея, потому что геймплей кардинально отличается от того, к чему они привыкли. Сейчас этот жанр не очень востребован: платформеры и прочие аркады выходят отдельно, а квесты и прочие приключенческие игры — тоже сами по себе. Разумеется, есть исключения, но их мало, и это, как правило, инди‑игры, не претендующие на широкую известность и большие продажи.

Но в 80-е аркадные квесты гремели если не на весь мир, то как минимум на всю Европу. Игры этого жанра попадали в топы продаж, а то и вовсе занимали в них первые места. Наибольшая популярность, само собой, досталась вышеупомянутому Диззи, поэтому аркадные квесты частенько называют «диззиподобными» играми. Вот только это определение не очень справедливое, ведь жанр зародился за три года до появления Dizzy — The Ultimate Cartoon Adventure.

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

Читать далее

Machine Unlearning. Часть 1: Почему моделям нужно уметь забывать

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

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

Всем привет! Меня зовут Вадим, я Data Scientist в компании Raft. В этой статье я расскажу о достаточно новом направлении машинного разучивания (Machine Unlearning), которое позволяет моделям “забывать” не нужные знания без полного их переобучения.

Читать далее

Стратегия выхода на рынок ПО

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

На самом деле, мы, как ИТ специалисты, так и конечные пользователи довольно сильно привыкли к западным программным решениям за последние несколько десятков лет. Известные вендоры заполонили рынок информационных систем и технологий, начиная от Microsoft, Oracle, SAP, завершая SAS. В голове мелькала мысль: зарубежное, значит качественное и общепризнанное, довольно часто игнорируя тот факт, что есть и наше, отечественное программное обеспечение, в которое нужно инвестировать и которое требуется развивать. Казалось, что западные программные продукты безальтернативны, ведь их внедряют во многие предприятия, в том числе и государственный сектор. Особенно это касалось программных решений SAP, несомненно, линейка продуктов вендора обладает качеством, устойчивостью и масштабируемостью, однако инициативы вокруг SAP в какой-то момент превратились из средства реализации в самоцель. Выпуская программные решения на каждый чих, постоянно обновляя продукты до более совершенных версии, SAP-проекты превратились в успешный бизнес, дающий выгоду не столько конечным пользователям, сколько руководству и компаниям интеграторам. Сейчас же нам предстоит вернуться с небес на землю, вспомнить, что такое кастомная разработка и отечественные программные решения, чтобы занять ту нишу, что оставили за собой, уходя, зарубежные вендоры. В связи с этим, разберемся, что нужно делать для вывода нового программного решения на российский рынок.

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

Читать далее

Контролируемость цепочек рассуждений в больших языковых моделях

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

Команда AI for Devs подготовила перевод исследования OpenAI о контролируемости цепочек рассуждений в современных моделях. Авторы разбирают, почему наблюдение за CoT может быть ключевым инструментом безопасности, как масштабирование моделей и обучение с подкреплением влияют на контролируемость и какой «налог» приходится платить за более надёжный мониторинг.

Читать далее

Ядро Linux: Реально ли это просто программа?

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

Привет всем!

В большинстве книг по Linux, ядро — это такая священная корова или, как говорят, "черный ящик". Мы работаем в командной строке, юзаем утилиты, а где-то там, за занавесом, этот ящик творит чудеса, чтобы всё работало.

Я решил сам разобраться и доказать: ядро Linux — это просто исполняемый файл. Никакой магии. Его можно взять, скомпилировать (или просто скопировать) и запустить, как любой другой бинарник.

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

Но сперва — а что это вообще за ядро?

Читать далее

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

Как написать постановку на разработку, чтобы ни у кого не было вопросов

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

Привет! Я лид системных аналитиков в департаменте корпоративных систем ЛАНИТ. В этой статье я расскажу, как писать качественные постановки на разработку информационной системы. 

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

Читать далее

Установка Matomo Tag Manager на своем сервере LAMP + расчет нагрузки

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

В прошлой статье я закончил обзор open source решения для аналитики и, что важно для нас, решения для менеджера тегов - Matomo Tag Manager. В этой статье приступаем к разбору по косточкам самого решения. И начинаем с установки его на сервер. А я продолжаю выступать своего рода евангелистом Matomo Tag Manager в рунете, где он незаслуженно, по моему мнению, обойден стороной.

Читать далее

GTA в реальности: история башен Уоттса

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

Я никогда не играла в GTA, но случайно и мимоходом благодаря этой игре узнала о необычном арт-объекте в Лос-Анджелесе. В вымышленном игровом штате San Andreas разработчики создали копию реально существующей достопримечательности — Башен Уоттса. Это место не играет никакой роли в сюжетной линии, туда можно попасть только во время выполнения миссии такси, но оно выглядит очень необычно и лично мне напоминает какие-то инопланетные радиовышки.

Покопавшись в интернете, я выяснила, что эти виртуальные башни — аллюзия на реальную достопримечательность Watts Towers в районе Уоттс в Лос-Анджелесе. Только в реальном мире башен 17, а в игровом всего четыре, и настоящие башни — эффектнее. Художники их обозначили в игре чисто символически.
 
 Мне показалась занимательной история постройки этих башен и дальнейшая их судьба. В течение 33 лет (1921-1954 годы) объект возводил своими руками на заднем дворе собственного дома итальянский иммигрант Сабато Родиа. Потом власти долго порывались их снести, но в итоге они были узаконены и стали историческим памятником. О том, как один человек сумел создать такой впечатляющий объект и как местные архитекторы, художники, учёные и артисты позже боролись за жизнь его башен — читайте под катом.

Читать далее

Обзор Dokploy: удобная платформа для деплоя Docker-контейнеров и GitHub-проектов

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

В этой статье мы разберём Dokploy — open-source платформу для деплоя приложений. Узнаем, какие задачи она решает, какие функции предлагает и чем отличается от популярного конкурента Coolify. В конце вы поймёте, подходит ли Dokploy для ваших проектов.

Читать далее

Экосистема SeedKey. Или как улучшить беспарольную аутентификацию

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

Почему беспарольная аутентификация с помощью девайс ключей не так распространена? И почему сайты неохотно внедряют её у себя? В статье мы попытаемся разобраться с ответами на эти вопросы, и я расскажу о моем эксперименте исправить это.

Читать далее

Copilot в Power BI: 6 сценариев использования

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

Всем привет! Я — Ольга Матушевич, преподаватель онлайн-магистратуры «Дата-аналитика для бизнеса», а в прошлом наставница на курсе «Аналитик данных» в Яндекс Практикуме. И сегодня я расскажу, чем Copilot может помочь аналитику при создании дашбордов в Power BI: как работающему в компании, только приступившей к использованию BI-системы, так и обладателю обширного legacy.

Читать далее

Ускорение разработки с ИИ на примере DAX и Power BI

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

Привет, Хабр! С каждым годом ИИ способен решать более сложные задачи, одной из задач является понимание DAX, связанных предметных областей и генерация кода. Можно выделить несколько задач, которые не являются первостепенными, тем не менее актуальны для анализа или работы в Power BI, например, от простейших — создание клиента для выполнения DAX запросов в Power BI из произвольной среды (например, из .NET приложения) и импорт метаданных TOM модели, до более сложных задач — экспорта схемы данных и самих данных из Power BI в произвольную СУБД (понятно, что такая задача не всегда актуальна с точки зрения ETL, т.к. проще взять данные из исходных источников, а не из Power BI, но польза решения задачи «интуитивно понятна» пользователю) и задач генерации SQL запросов на основе DAX для заданной СУБД, причем результаты сгенерированного SQL должны совпадать с результатами DAX запросов.

Интересующимся применением ИИ на примере DAX из Power BI — добро пожаловать под кат :)

Читать далее