Обновить

Все потоки

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

Паттерны проектирования еще актуальны?

Вокруг все чаще говорят, что ИИ скоро будет писать код за нас. Логичный вопрос — нужны ли тогда паттерны? Зачем разбираться в паттернах GoF, если нейросеть и так сгенерирует рабочий код по описанию?

У меня ощущение обратное.

Я плотно вошел в разработку в 2019 году. Переходил из 1С в .NET. Книги по паттернам GoF у меня были, но долго лежали как «книга на полке». Казалось, они оторваны от повседневных задач. Теорию вроде понимал, но не видел, где это реально применяется.

Все поменялось, когда я стал использовать ИИ как инструмент для обучения. Просил давать задачи, искать проблемы в решениях, объяснять, почему в одном месте уместен Strategy, а в другом лучше Mediator. Через практику и обсуждение паттерны перестали быть абстракцией.

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

Из этого и вырос мой pet-project gofinsights.com. Я делаю его тренажером по паттернам проектирования. Не просто «прочитал и забыл», а через практику, сравнение решений и постепенное распознавание типовых архитектурных ходов.

Сейчас там есть интерактивный квиз, где можно проверить базу и не перепутать Factory Method с Abstract Factory. Дальше хочу развивать проект в сторону более глубокого ИИ-разбора. Чтобы можно было не только узнавать паттерн, но и разбирать кодовые запахи, причины проблем и возможную эволюцию решений.

Как вы это видите? Паттерны проектирования все еще рабочая база для разработчика? Или с появлением ИИ они станут менее важны?

Теги:
+6
Комментарии1

Лог в реальном времени: берём госзаказ и закрываем его агентной разработкой

На днях Оскар Хартманн довольно жёстко высказался за вайбкодинг. Тем временем на Пикабу из 45 программистов в профессиональном сообществе вайбкодят только 9. В госсекторе — единицы.

Пока остальные спорят, костыли это или нет — я берусь за реальный тендер и публикую всё как есть.

Подписывайтесь — первый пост как только войду в торги на понижение.

Теги:
+2
Комментарии0

ESM-платформа SimpleOne 2.1.1: автоматизация многоязычной коммуникации и улучшение управления зависимостями

SimpleOne выпустила версию 2.1.1 ESM-платформы с двумя ключевыми обновлениями:

Ресурсно-сервисная модель:

  • Строится на основе классов CMDB и настраиваемых правил связывания

  • CMDB на расширенной модели данных REM позволяет гибко описывать конфигурационные единицы

  • Добавлен справочник правил и типов связей с настройкой визуального отображения

  • Выделен класс «Услуга» для связи бизнес-сервисов с инфраструктурными ресурсами

  • Система автоматически исключает некорректные связи, дубли и циклические зависимости

  • Готовая модель зависимостей для импакт-анализа снижает число аварийных изменений и откатов

Смотреть видео

Мультиязычные объявления:

  • Новый виджет для создания объявлений на разных языках системы

  • Автоматическое определение языка пользователя и отображение контента

  • При отсутствии перевода показывается язык по умолчанию

  • Централизованное хранение и автоматическое обновление переводов обеспечивают целостность данных

Смотреть видео

Узнайте больше об обновлении 2.1.1
Техническая документация

Теги:
0
Комментарии0

Согласно долгосрочной статистике статуса доступности сервисов GitHub, после покупки платформы Microsoft аптайм проекта начал незначительно, но стабильно снижаться.

Теги:
+4
Комментарии0

Представлен открытый проект AI File Sorter. Это ИИ‑проводник, который может заменить базовый «Проводник» в Windows 11 и других ОС. Решение умеет:

  • быстро искать файлы на основе их метаданных или содержимого;

  • по метаданным разом переименовывает все документы на основе их содержимого;

  • быстро сгруппирует файлы по папкам на основе их содержимого;

  • показывает предварительный результат, чтобы случайно не снести лишнего;

  • работает по API или через локальные модели;

  • поддерживает Windows, Linux и macOS;

  • проверяет производительность ПК и выберет нейросети для работы;

  • доступен бесплатно, без подписок и без рекламы.

Теги:
+2
Комментарии3

Разрываем шаблоны: строим график с разрывом всего на 65 строк

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

Самые ходовые решения этой проблемы — разорванная ось (broken axis) или отдельные бины для аномалий. Проблема в том, что в Matplotlib нет готовой «кнопки» для создания гистограммы с разрывом. Но это легко* собирается руками на уровне нескольких осей.

Вот три рабочих подхода — выбирайте под свою задачу.

  1. Официальный пример из документации Matplotlib. 🔗 Ссылка на гайд. Отлично работает, когда выбросы зашкаливают по одной оси (X или Y). В посте разбирается как раз такой случай: гистограмма с волнистой линией обрыва.

  2. Библиотека brokenaxes делает почти всё сама. Устанавливается стандартно через pip. Вариант для тех, кто не хочет углубляться в ручную настройку.

  3. Логарифмическая шкала (часто — самый простой выход) Если выбросы строго положительные и отличаются на порядки, иногда достаточно двух строк: plt.xscale(«log») или plt.yscale(«log»). Никаких разрывов, никакой ручной работы — при этом график остаётся чистым и читаемым.

import matplotlib.patches as mpatches
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.path import Path


def plot_broken_axis(
    labels: list[str],
    values: tuple[float, ...],
    ylim_low=(0, 12),
    ylim_high=(20, 25),
    **kwargs,
):
    """
    Строит график с разрывом оси.
    Валидирует входные данные и инкапсулирует логику отрисовки.
    """
    if len(labels) != len(values):
        raise ValueError("Длины labels и values не совпадают")

    fig, (ax_high, ax_low) = plt.subplots(
        nrows=2, figsize=(7, 4), gridspec_kw={"height_ratios": [1, 2]}
    )

    # Настройки столбцов
    kwargs.setdefault("color", "skyblue")
    kwargs.setdefault("edgecolor", "black")
    kwargs.setdefault("alpha", 0.85)

    ax_low.bar(labels, values, **kwargs)
    ax_high.bar(labels, values, **kwargs)
    fig.subplots_adjust(hspace=0.0)

    # Настройка осей
    ax_low.set_ylim(*ylim_low)
    ax_high.set_ylim(*ylim_high)
    ax_high.set_title("График с разрывом")
    ax_low.set_ylabel("Рейтинг в %")
    ax_low.set_xlabel("Языки")
    ax_high.spines["bottom"].set_visible(False)
    ax_low.spines["top"].set_visible(False)
    ax_high.tick_params(axis="x", bottom=False, labelbottom=False)
    # Рисуем разрыв оси (волна)
    offset, n_points = 0.03, 33
    pts = np.linspace(-offset, 1 + offset, n_points)
    wave = np.array([1 + (0, offset, 0, -offset)[i % 4] for i in range(n_points)])
    path = Path(list(zip(pts, wave)), [Path.MOVETO] + [Path.CURVE3] * (n_points - 1))

    opts = dict(transform=ax_low.transAxes, clip_on=False, zorder=10)
    ax_low.add_patch(mpatches.PathPatch(path, lw=6, **opts))
    ax_low.add_patch(mpatches.PathPatch(path, lw=3, edgecolor="white", **opts))
    return fig


if __name__ == "__main__":
    langs = ["Python", "C", "C++", "Asm"]
    pops = (21.8, 11.1, 8.6, 1.1)

    # Стиль xkcd
    with plt.xkcd(scale=1, length=300, randomness=30):
        plt.rcParams["font.family"] = "Comic Sans MS"

        # Вызов функции
        fig = plot_broken_axis(langs, pops)
        plt.show()

Литература:

  • Документация Matplotlib. 🔗 Ссылка на гайд

  • Bernd Klein. Numerisches Python Arbeiten mit NumPy, Matplotlib und Pandas

  • Sandro Tosi. Matplotlib for Python Developers

Теги:
+7
Комментарии0

Наконец-то поднял публичную демку Aximo на Hugging Face Spaces 🎙️

Это локальный speech-to-text API, который работает на CPU, использует Parakeet v3 и позволяет тестировать транскрибацию прямо из браузера через Swagger UI с записью с микрофона, о котором писал в одном из своих предыдущих постов.

Теги:
-1
Комментарии0

Вчера проводила эксперимент с 5 нейронками об отключении мобильного интернета и об ограничении вообще интернета в стране Х. Были задействованы DeepSeek, Yandex, Kimi, Gemini и GPT. То есть, разные нейронки, обученные на разных культурных корпусах, США, Китай, Россия. Язык русский.

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

Во всех опросах Алиса/Яндекс рассказывала как это плохо ограничивать интернет в целях безопасности, но ставила 8/10 «ЗА». Все остальные ставили 2-3/10.

Вы понимаете парадокс? Алиса говорит, что ограничения ужасны для безопасности, образования, медиа, науки, права, экономики, медицины (особенно она отметила что нельзя ограничивать доступ к глобальной медицине), но голосовала ЗА!

Подумайте, какой приоритет встроен в итоговую оценку.А теперь главное: ИИ встраивается сейчас везде, в бизнес, в банки, в госуправление, в места, где принимаются критические решения.
Что посоветует Алиса, если она подробно описывает медленную деградацию системы, но в итоговой оценке всё равно поддерживает ограничения? Какие критические решения могут приниматься с таким "технологическим суверенитетом”?

Теги:
+6
Комментарии12

Добрый вечер, уважаемые коллеги.

Тут в ленту прилетела новость, которая касается всех постгресменов, кто пользуется pgbackrest-ом для создания резервных копий. Либо собирается им пользоваться. А именно, создатель и разработчик проекта закончил работу над ним: https://github.com/pgbackrest/pgbackrest#notice-of-obsolescence. Грусть, печаль, тоска, тлен и безысходность. :( И статью править, и исходный материал в ЖЖ.

Теги:
+1
Комментарии1

Сейчас довольно много предложений по покупке курсов о «промпт-инженеринге». Я много работал и работаю с ИИ, но ещё больше — без него (примерно в десять раз). Готов поделиться рабочим рецептом, который позволит писать мастерские промпты. Прям лучшие. Это скорее даже фундаментальный принцип.

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

Еще больше дельных советов в моем ТГ канале.

Теги:
+2
Комментарии3

Прототип советского скафандр «Кречет» для Луны появился на Ebay. Комплект скафандра оценили в $350 тыс. В описании товара говорится, что некоторые элементы скафандра в советское время были изъяты для использования в разработке других моделей. По словам продавца, на отдельных элементах костюма есть царапины, незначительные загрязнения и следы длительного хранения.

Проект «Кречет» по назначению так и не пригодился. Лунную программу в СССР свернули, а в рамках разработки такого скафандра в конце 1960-х было сделано несколько экземпляров. Позже наработки «Кречета» стали основой для серии скафандров «Орлан», которые использует «Роскосмос».

Теги:
0
Комментарии0

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

  • Основное правило — чем проще, тем лучше.

  • Не нужно расписывать шаги — модель сама решает, как выполнить задачу.

  • Перегруз инструкциями снижает качество ответа.

  • Не копируйте старые «простыни» промптов.

  • Формулируйте цель и ожидаемый результат.

OpenAI советует начинать с минимального промпта, а потом уже аккуратно добавлять детали и разгоняться. Модель в целом начала лучше понимать намерение и держать контекст.

Теги:
0
Комментарии0

Чернобыльское лето 1986 года, когда все киевские одноклассники разъехались по разным концам СССР подальше от радиации, было для меня супер-продуктивным в смысле изучения программирования. Я ходил в контору человека по фамилии Долина, бывшего полковника танковых войск из Донецка, который переквалифицировался в компьтеризатора украинского образования. Там я работал на компьютерах MSX Yamaha, выучил программирование на Си. Компилятор назывался ASCII C (сейчас в комментах появятся умники которые будут мне говорить, что ASCII это кодировка, а я им буду кидать ссылку что это еще и японская компания).

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

В конце лета я полетел на Новосибирскую Летнюю Школу Юных Программистов, где выучил ассемблер Z80 и сделал поддержку параллельного выполнения нескольких Си функций с помощью переключения контекстов в обработчике прерывания по таймеру. С сохранением регистров в дексрипторе задачи в списке задач. За это я получил диплом первой степени. По-моему дипломы вручал академик Ершов, хотя может я путаю и мы встретились с ним в академгородке куда на тоже возили.

На школе было невероятное количество комаров, а также красивая девочка из Томска, которая мне нравилась, и ее подружка, которой нравился я. Из Украины еще был юный гений из Харькова, который постоянно спорил со мной, что персоналки фигня, а мейнфреймы - это круто. Так как я успел поработать и на мейнфреймах, споры были довольно развесистые.

Еще там я увидел первые советские программы западного качества - редактор tor(?), программу низкоуровневой работы с диском и оконный отладчик. Они были написаны на Си и ассемблере аккуратно, как примеры в западных книжках. Советский код который я видел до этого (и большинство после этого) был написан тяп-ляп. Писали эти программы местные аспиранты которые были также преподавателями школы.

Помимо этих программ я привез на флоппи-дисках со школы CP/M (хуже файловая система чем в MSX-DOS), среду Turbo Pascal, интерпретатор Lisp, компилятор Nevada Fortran, еще два компилятора Си (Aztec C и BDS C) и даже компилятор с подмножества языка Ada, который я знал теоретически, но никогда не использовал.

29 лет спустя, в 2017 году я приехал на ту же новосибирскую школу в качестве инструктора по Verilog и FPGA. Еще там был Борис Файфель который учил детей Лиспу или чему-то такому.

Теги:
+21
Комментарии4

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

Планы на 20 мая — прийти на Inside AI Meetup

На митапе обсудим реальные кейсы: от высоконагруженной модерации с векторным поиском и AIOps-подходов к управлению ML-сервисами до практики построения RAG-систем, тонкостей реранкинга и реальных этапов запуска LLM-продуктов.

Когда: 20 мая, старт в 15:00
Где: Москва + онлайн

Что в программе?

  • «Векторный поиск в модерации контента: как поместить более 200 моделей в 1 ансамбль» | Wildberries & Russ

  • «Внедрение AIOps Практик для контроля и повышения общей утилизации ресурсов для тысяч продуктовых сервисов» | Wildberries & Russ

  • «RAG, который не галлюцинирует (почти)» | MWS

  • «Что на самом деле представляет запуск продуктов на базе LLM» | Wildberries & Russ

  • Кейсы в секции Fast Track: «Промптить нельзя файнтюнить» — Как мы поставили запятую и обучили BerryLM», «Text is All You Need. Отекстовка потока видеоклипов в платформе Wibes», «Эволюция поиска вакансий на Avito: ML‑оптимизации в Avito Работе»

  • И финал — дискуссия про применение AI в разных продуктах и процессах с экспертами из Wildberries & Russ, Сбера, Альфа‑Банка и red_mad_robot

Не откладывайте регистрацию — приглашайте коллег и присоединяйтесь к митапу! А больше одробностей ищите на сайте и в telegram-канале WB Space.

Теги:
0
Комментарии0

SimpleOne выпустила платформу 1.32.0: быстрые переносы конфигураций, точнее SLA, удобная работа с каталогом услуг

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

Главное в 1.32.0:

  1. Перенос больших пакетов настроек между средами (разработка → тест → прод) теперь идёт в фоновом и не блокирует систему — можно переносить даже пакеты от 100 000 записей

  2. Новый виджет для контроля таких переносов:
    кто запустил, на каком этапе, ссылки на детали

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

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

  5. Зависшие фоновые задачи восстанавливаются за 1 минуту вместо часа

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

Узнайте больше об обновлении 1.32.0
Техническая документация

Теги:
+1
Комментарии0

«Лента» использует GPU VK Tech для персонализации клиентских предложений 

Розничная сеть «Лента» внедряет решение для персонализации клиентских предложений на базе больших языковых моделей с использованием облачных GPU от VK Cloud. Технология позволяет формировать обезличенные цифровые профили покупателей и использовать их для создания релевантных предложений в CRM-коммуникациях.

Инфраструктура VK Cloud обеспечивает необходимую вычислительную мощность для работы языковых моделей и масштабирования решения. Для дальнейшего развития проекта компания рассматривает расширение использования GPU-ресурсов, включая увеличение количества видеокарт для работы с полной активной клиентской базой.

В основе решения — концепция «цифрового клона» клиента. Модель на основе чековых данных за последние 90 дней формирует расширенный профиль покупателя: оценивает его предпочтения и потенциальные сценарии потребления. На базе этих профилей генерируются персональные предложения — от скидок на релевантные товары до рекомендаций рецептов и сопутствующих покупок.

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

Читайте подробнее

Теги:
+2
Комментарии0

И ты, leetcode?

Вы заметили, что теперь на leetcode необходимо указать номер телефона для "обеспечения безопасности учётной записи и подтверждения личности":

Add your phone number to secure your account and verify your identity.

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

Я поискал, но сходу не нашёл официальной новости с разъяснениями. Однако, судя по комментам, некоторые пользователи довольны, считая, что эта мера поможет уменьшить количество читеров.

Что думаете? Не давать плюсовать комменты -- это, на мой взгляд, перебор.

Теги:
+1
Комментарии1

Продажи в найме и в своём деле — разные навыки. Я узнал это через несколько лет впустую.

Меня зовут Максим. Здесь начинаю тред о предпринимательстве с точки зрения человека, который умел продавать. Не метафорически — буквально: из последнего — медицинское оборудование, клиники, Москва, проектные сделки. В пиковые месяцы больше миллиона на процентах. Несколько сделок на том рынке помнят до сих пор.

А потом вышел в своё и не смог позвонить клиенту.

Я уже писал об этом развёрнуто: для интроверта пятнадцать лет «умения продавать» на самом деле были комбинацией навыка и внешней конструкции, которая каждый раз выталкивала меня в разговор. В найме она есть. В своём деле — нет. Результат: несколько лет не на лень, а на иллюзию занятости.

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

Карточки выходят каждый день в Telegram. На Хабре — по понедельникам: итог недели и один приоритет, реальные сложности.

Теперь про продукт.

Я делаю перекус для тех, кто не успевает позавтракать. Не «полезный» как ярлык — конкретный состав: медленная глюкоза, жиры, клетчатка, полный аминокислотный профиль. Несколько итераций состава, несколько волн дегустаций — вкус 9,1/10.

Потом инсайт: продукт точно попадает в школьников. Появилась обратная связь, первые предзаказы. Я решил взять грант «Социальный контракт» на масштабирование.

Карточка этой недели — ниже. Это живой опыт, не кейс из прошлого.

Оффлайн проект "Полезные сладости"
Оффлайн проект "Полезные сладости"

Если вы сейлз, который думает о своём деле — скорее всего, узнаете здесь что-то своё.

Теги:
+2
Комментарии0

AI-агент уничтожил производственную базу данных SaaS. За 9 секунд

Jer Crane, основатель PocketOS, сервиса для компаний по аренде автомобилей. Агент Cursor (на базе Claude Opus) работал в staging-среде, наткнулся на ошибку credentials и сам решил "починить" проблему: удалил Railway-volume одним GraphQL-запросом.

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

Бэкапы? Они хранились в том же volume и ушли вместе с данными. Последний восстановимый бэкап был трёхмесячной давности. Когда Jer спросил агента, почему он так поступил, тот ответил письменно и перечислил все правила безопасности, которые нарушил: угадывал вместо того, чтобы проверять, выполнил деструктивное действие без запроса, не прочитал документацию перед удалением и не спросил разрешения.

Итог: малый бизнес потерял данные клиентов за три месяца. Люди приходили в субботу забирать арендованные машины и не находили своих записей. Главный вывод: системные промпты не могут быть единственным слоем защиты. Безопасность должна быть встроена в API, токены и обработчики деструктивных операций, а не в текст, который модель "должна прочитать и соблюдать".

Если вы используете Railway и AI-агенты в проде, сегодня хороший день проверить скоупы токенов и то, где реально хранятся ваши бэкапы

Теги:
+4
Комментарии5