Обновить

Разработка

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

Впервые на экранах! Онлайн-марафон «PT NGFW: исповедь инженеров» 😲

Пять дней инженерного хардкора: с 15 по 19 сентября, 11:00-13:00 💪

Кажется, команда готова исповедоваться: за одну неделю расскажет не только, как работает PT NGFW, но и почему он работает именно так. Это будет не просто теория, а живой обмен опытом, разбор реальных кейсов и практические советы, которые можно сразу применить в работе.

В спикерах — вся команда PT NGFW.

🏆 Головоломки от наших экспертов и шанс выиграть собственный PT NGFW*🏆

Регистрируйтесь на сайте

*Срок проведения конкурса: 15.09.2025-19.09.2025, срок вручения Приза: с 19.09.2025-14.11.2025. Приз: ПАК PT NGFW 1010, а также брендированная продукция. Организатор АО «Позитив Текнолоджиз». Подробнее о сроках проведения, количестве призов, условиях участия в Правилах проведения Конкурса.

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

Мемо: в ожидании Python 3.14

Финальный релиз Python 3.14 запланирован на 7 октября 2025. Уже вышел RC2 (14 августа), а финальный кандидат RC3 ожидается 16 сентября.
Этот пост — краткая шпаргалка, чтобы помнить, какие изменения стоит протестировать и чего ждать в новой версии.

1. Свободная многопоточность (Free-Threaded Python, без GIL)

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

# Включение free-threaded режима при сборке
# ./configure --disable-gil
import threading

def cpu_bound_task(n):
    return sum(i*i for i in range(n))

threads = [threading.Thread(target=cpu_bound_task, args=(10**6,)) for _ in range(4)]
[t.start() for t in threads]
[t.join() for t in threads]

Free-Threaded Python теперь не будет экспериментальным и будет официально поддерживаться, но пока пока будет являться опциональным, по умолчанию остаётся GIL.

2. Отложенная оценка аннотаций типов

Зачем нужно: ускорение работы и избавление от кавычек при forward references. Появился новый модуль annotationlib для работы с аннотациями.

# from __future__ import annotations
import annotationlib

class Node:
    def __init__(self, value: int, next: Node | None = None):
        self.value = value
        self.next = next

print(annotationlib.get_annotations(Node.__init__))

Аннотации больше не обрабатываются при определении функций, классов и модулей. Они сохраняются в специальных функциях аннотирования и обрабатываются при необходимости.
Импорт from future import annotations можно удалить при поддержке Python 3.14 и новее.

3. Template-строки (t-строки)

Зачем нужно: безопасное форматирование строк, полезное для веба и DSL, расширение возможностей f-строк.

name = "<script>alert('xss')</script>"
age = 25

tpl = t"Hello {name}, you are {age}"
safe = tpl.format(name=escape_html(name), age=age)
print(safe)

4. Zstandard-сжатие

Зачем нужно: современный алгоритм сжатия, быстрее gzip и удобнее для больших блоков данных.

import compression.zstd

data = b"Large dataset" * 1000
compressed = compression.zstd.compress(data, level=3)
decompressed = compression.zstd.decompress(compressed)

print(f"Ratio: {len(data) / len(compressed):.2f}")

5. Удалённая отладка процессов

Зачем нужно: можно подключать отладчик к работающему приложению без перезапуска и накладных расходов.

import sys
import pdb

# Подключение отладчика к работающему процессу
sys.remote_exec("""
import pdb; pdb.set_trace()
""", target_pid=12345)

# Безопасное выполнение кода в удаленном процессе
result = sys.remote_exec("print('Debug info:', some_variable)", target_pid=12345)

6. Экспериментальный JIT-компилятор

Зачем нужно: ускорение выполнения вычислительно интенсивных задач.

# Включается флагом при запуске
# python --jit script.py

def fibonacci(n):
    if n <= 1:
        return n
    return fibonacci(n-1) + fibonacci(n-2)

# JIT автоматически оптимизирует "горячие" функции
result = fibonacci(35)  # Заметно быстрее с JIT

7. REPL с подсветкой синтаксиса

Зачем нужно: удобнее писать и отлаживать код прямо в интерактивной оболочке.

>>> def hello(name: str) -> str:
...     return f"Hello, {name}!"
>>> hello("World")
'Hello, World!'

Что стоит попробовать?

  1. Потестировать free-threaded режим на CPU-нагруженных задачах.

  2. Перейти на новый синтаксис аннотаций без кавычек.

  3. Проверить t-строки в веб-шаблонах и DSL.

  4. Протестировать zstd для больших массивов данных.

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

Подробнее на python.org: What’s new in Python 3.14

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

Подборка обучающих материалов по языкам программирования от Selectel: Go, Python и JavaScript

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

Go

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

Python

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

JavaScript

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

Теги:
Всего голосов 7: ↑7 и ↓0+9
Комментарии0

Представлен проект Chatterbox Multilingual, который умеет бесплатно клонировать любой голос с короткой записи. Решение умеет озвучивать любой текст с эмоциями, поддерживает 23 языка, среди которых и русский. Также там можно расставлять акценты, делать паузы, выделять слова голосом, контролировать тон и тембр. А ещё есть библиотека голосов, которые можно использовать в проектах.

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

Microsoft представила открытый исходный код интерпретатора BASIC для восьмиразрядных микропроцессоров MOS Technology 6502, разработанный в 1975 году. Опубликованная в открытом виде версия BASIC устанавливалась в ПЗУ размером 8 КБ и поддерживала работу на системах Apple II, Commodore PET, Ohio Scientific, MOS KIM-1с и симуляторе PDP-10. Код включает 6955 строк на ассемблере и открыт под лицензией MIT. Последнее изменение датировано 28 июлем 1978 года.

Код BASIC для 6502 может представлять интерес для любителей ретрокомпьютеров, использующих эмуляторы и реализации на базе FPGA. Среди прочего, компания Commodore анонсировала модель Commodore 64 ULTIMATE на базе FPGA, начало продаж которого намечено на октябрь. В Commodore 64 ULTIMATE заявлена совместимость с более чем 10 тысячами ретро игр при таких возможностях, как передача игр по Wi‑Fi, поддержка USB и режим ускорения для запуска новых игр.

2 апреля 2025 года Билл Гейтс в честь 50-летия Microsoft в своём блоге Gates Notes представил исходный код Altair BASIC (более 7 тыс. строк с комментариями), который он написал в соавторстве с Полом Алленом. Гейтс назвал этот проект «самым крутым кодом», который он когда‑либо писал, и символом скромного начала компании. В 1976 году Билл Гейтс и Рик Вейланд подготовили порт Altair BASIC для микропроцессоров 6502, который был лицензирован компанией Commodore и поставлялся как Commodore BASIC в компьютерах Commodore PET, VIC-20 и Commodore 64.

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

Опубликован исходный код игры "Русская рулетка 2: закрытые планеты".

2 сентября 2025 года исходники были выложены на Internet Archive, архив включает в себя тексты программ на языках C++/Asm (Требуются Turbo Assembler и Watcom C/C++), дополнительные утилиты для сборки и набор игровых данных для версий игры на разных языках (русский, английский, немецкий, итальянский).

Исходный код был предоставлен одним из разработчиков игры, Святославом "Suavik" Образцовым, под лицензией правообладателя:

Все оригинальные файлы разработаны и предоставлены компанией Logos.

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

All original files are developed and provided by Logos.

The license allows publication and use of source code of programs and data with any changes, provided that the original files were developed by Logos.

Ссылка на оригинальные исходники: https://archive.org/details/license_202509

Репозиторий Github с кодом: https://github.com/Marisa-Chan/rr2nw

Теги:
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Продакшен, производственная среда или...

Подскажите, пожалуйста, какой термин вам понятнее:

  • продакшен,

  • "боевой" сервер,

  • производственная среда,

  • производственное окружение,

  • промышленная среда,

  • промышленное окружение,

  • live сервер,

  • prod,

  • production,

  • PROD.

Нужно для будущей книги. Хочу написать так, чтобы читатели потом поняли, что я имею в виду.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии16

Как проверить, работает ли ECC-память в Windows: техническое руководство для системных администраторов

Введение

Недавно столкнулись с интересной задачей: нужно было убедиться, что ECC-память корректно функционирует на рабочей станции на базе AMD Ryzen. Как оказалось, стандартные методы проверки, которые находятся в топе поисковой выдачи, часто дают неверные результаты или попросту не работают в современных версиях Windows. В этой статье расскажем о проверенном методе, который сэкономит вам время и поможет точно определить статус ECC в вашей системе.

Почему стандартные методы не работают?

Во многих статьях в интернете для проверки ECC рекомендуется использовать команду wmic или PowerShell-скрипты. Однако у этих методов есть серьёзные ограничения:

  1. Старые методы с wmic больше не работают в современных версиях Windows

  2. Команда PowerShell Get-WmiObject Win32_MemoryDevice часто даёт неоднозначные результаты даже в системах с поддержкой ECC (включая Intel Xeon и AMD Threadripper с RDIMM)

  3. Windows не предоставляет информацию о статусе ECC в диспетчере задач, что, честно говоря, странно для операционной системы, позиционируемой как корпоративное решение

Проблема в том, что Win32_MemoryDevice является производным от CIM_PhysicalMemory и предоставляет рассчитанную версию данных, которая может некорректно отображать определенные устройства. Для получения точной информации необходимо запрашивать данные напрямую из DMI/SMBIOS.

Проверка ECC с помощью CPU-Z: пошаговая инструкция

Шаг 1. Установка и запуск CPU-Z

Скачайте и установите последнюю версию CPU-Z с официального сайта. После запуска программы вы увидите стандартный интерфейс, но если перейти на вкладку «Память», то информации об ECC вы не найдёте.

Вкладка памяти CPU-Z
Вкладка памяти CPU-Z

Шаг 2. Создание отчёта

Вот ключевой момент, о котором многие не знают: нужно нажать кнопку «Инструменты» в нижней части программы и выбрать «Отчет». Для удобства анализа рекомендую выбрать текстовый формат вывода вместо HTML.

Шаг 3. Анализ отчёта

В созданном отчёте найдите разделы:

  • Массив физической памяти DMI

  • Устройство памяти DMI

Выполните поиск по ключевому слову «исправление». Возможные значения:

  • «Нет» — коррекция ошибок отсутствует

  • «Однобитовая ECC» — однобитовая коррекция ошибок (стандартная ECC)

  • «Многобитовая ECC» — многобитовая коррекция ошибок

Также обратите внимание на параметры ширины:

  • Общая ширина: 72 бита

  • Ширина данных: 64 бита

Разница в 8 бит — это как раз те биты, которые используются для коррекции ошибок. Если вы видите такую разницу, но в поле коррекции указано «Нет», это может означать, что ECC поддерживается аппаратно, но не активирована в BIOS/UEFI.

Альтернативный метод: команда wmic

Более простой способ — использовать следующую команду в командной строке:

cmd

1

wmic memphysical get memoryerrorcorrection

Эта команда возвращает код, соответствующий типу установленной памяти:

0 (0x0) Зарезервировано

1 (0x1)Другое

2 (0x2)Неизвестно

3 (0x3)Нет коррекции

4 (0x4)Паритет

5 (0x5)Однобитовая ECC

6 (0x6)Многобитовая ECC

7 (0x7)CRC

Важные технические нюансы

  1. Качество модулей ECC. Не все модули с маркировкой ECC обеспечивают надежную коррекцию. Например, модули с тремя линиями над логотипом Micron — это чипы, прошедшие электрический, но не механический тест. На такие микросхемы не распространяется гарантия, и они рекомендуются для использования в менее критичных приложениях.

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

  3. Проверка через BIOS/UEFI. В некоторых случаях информация об активации ECC доступна только в BIOS/UEFI. Обязательно проверьте настройки перед диагностикой в ОС.

Заключение

Проверка работы ECC-памяти — критически важный этап при настройке систем, в которых важна надёжность данных. Хотя Windows не предоставляет эту информацию в стандартном интерфейсе, использование CPU-Z или правильных команд wmic позволяет точно определить состояние ECC.

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

Разработчик (Mobile Developer) и программист Алексей Гладков попытался независимо изучить компоненты мессенджера Max.

Теги:
Всего голосов 4: ↑2 и ↓20
Комментарии8

У ИТ-компании «Криптонит» вышел новый выпуск подкаста — на этот раз про Scala! Там обсудили, почему «скалистов» так мало, что эксперты «Криптонита» ждут от новой версии этого языка и почему «в Scala идут те, кому хочется понять этот мир немного лучше».

Смотрите и слушайте на любой удобной платформе. И не забудьте подписаться!:)
VK Видео
YouTube
Rutube
Подкаст в телеграме
Яндекс.Музыка

В выпуске приняли участие сотрудники «Криптонита»:
• Алексей Шуксто, директор департамента разработки;
• Ахтям Сакаев, руководитель направления серверной разработки;
• Юлия Левченкова, директор департамента по управлению персоналом.

Они также обсудили:
• почему «скалисты» живут в Питере;
• может ли PySpark вытеснить Scala;
• планируется ли тотальный переход со Scala на Java;
• советы для тех, кто только открывает для себя Scala и полезные ресурсы для «скалистов».

Заглядывайте к нам на карьерный сайт «Криптонита»! Там как раз есть вакансии в команду Ахтяма.

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

Мы на Let's Go Conf: расскажем, как приручали старый Gateway, и слетаем в космос

В этом году компания МойОфис стала партнёром конференции для Go-разработчиков Let’s GoConf, которая пройдёт 12 сентября в Москве в лофте «Пространство Весна».

В одном из треков выступит Герман Кравец, техлид модуля Календарь почтового сервиса Mailion. В своём докладе он расскажет о том, как команда Mailion работала с «наследием». Представьте: старый Gateway, застрявший на Go 1.19, сложный в поддержке, с самописными генераторами и C++-зависимостями, а конфигурации напоминают древние свитки... Герман поделится тем, как команда справилась с такими вызовами и как изменилась архитектура продукта.

Но конференция — это не только доклады. Для участников мы приготовили по-настоящему космическую игру: нужно будет спасти колонизаторов далёкой планеты, решать задачи по Go и получать призы. Уверены, это станет отличным дополнением к технической программе и подарит всем гостям отличный настрой.

Ждём вас на Let’s Go Conf!

Теги:
Всего голосов 18: ↑18 и ↓0+18
Комментарии0

Раскопал интересный тип поля в Joomla - Groupedlist.

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

Но как сделать такой список для использования в описаниях форм в xml? Первой мыслью было сделать свой тип поля, расширяющий стандартный \Joomla\CMS\Form\Field\ListField. Однако, в ядре Joomla нашёлся уже готовый класс поля для группированных списков \Joomla\CMS\Form\Field\GroupedlistField. Он расширяет напрямую FormField и имеет 2 метода - getGroups() и getInput().

В getInput() вызывается метод getGroups() для получения массивов с группами опций и его можно было спокойно заменить на getcollectLayoutData(), где этой работе самое и место, но это не слишком принципиально. И там и там работа делается. Поэтому нас интересует именно метод getGroups().

Мы создаём свой класс поля, расширяем GroupedlistField. Делаем обязательно свой $type для поля и реализуем метод getGroups(). Всё.

<?php
use Joomla\CMS\Form\Field\GroupedlistField;
use Joomla\CMS\HTML\HTMLHelper;

class ServerschemelistField extends GroupedlistField
{
    // type совпадает с именем файла и класса
    // без суффикса 'Field'
    protected $type = 'Serverschemelist';

    /**
     * Method to get the field options.
     *
     * @return  array  The field option objects.
     *
     * @throws  Exception
     *
     * @since  1.0.0
     */
    protected function getGroups(): array
    {
        // наши группы
        $group1 = [];
        $group2 = [];
        // Собираем первую группу опций
        foreach ($data as $item) {
            $optionattr = [];
            // Атрибуты для <option>
            if ($something_happend) {
                $optionattr['option.attr'] = [
                    'selected' => 'selected',
                    'onclick'  => 'earthQuake()',
                    'showon'   => 'field1:value1000',
                ];
            }

            $group1[] = HTMLHelper::_(
                'select.option',
                $item->option_value,
                $item->option_label_text,
                $optionattr
            );
        }
        // Аналогично собираем $group2
        // ...
        $groups = [
            ['Имя группы 1'] = $group1,
            ['Имя группы 2'] = $group2,
        ];
        // В parent::getGroups() будут значения
        // из xml-описания формы, если они есть.
        // Соединяем их с нашими.
        return array_merge(parent::getGroups(), $groups);
    }
}
Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Лутаем Open Source #24. Они наконец-то починили MongoDB! Перенеся его на PostgreSQL...

DocumentDB – БД от Microsoft, которая состоит из 3-х частей:

  1. PG расширение, добавляющее BSON формат (написанный, на С)

  2. CRUD API поверх него (С)

  3. Сервис трансляции Mongo Query в SQL (Rust)

Для кого это?

И вроде как: "PG – классная база, а MongoDB Query + BSON популярные технологии" – и можно было бы поразмышлять чем это круто, но сначала важно ответить на один туманный вопрос: "кому такая БД может быть нужна?"

Классический PG

Сначала рассмотрим кейс, когда мы накладываем DocumentDB на обычный PostgreSQL.

Те, кто используют MongoDB если попробуют переехать на такой сэтап столкутся с тем, что:

  • Там нет шардинга (и насколько бы он не был сложно реализован в MongoDB, он есть и им активно пользуются)

  • Придется использовать двойной тулинг: Compas, чтобы наблюдать за корректностью данных с MongoDB Query, и SQL если надо посмотреть что там внутри

  • MongoDB поддерживает Uncommitted Read и Write Majority, что странно накладывается на PG: если разраб достаточно продвинутый и намеренно использовал Uncommitted, то с PG он потеряет скорость и Availability из-за PG Committed, а если он использовал Write Majority, то PG не совсем дает такую гарантию (обвал диска при WAL репликации – менее надежен, чем Write Majority)

  • А самое главное: когда ты работаешь с MongoDB ты можешь открывать 1000 коннекшенов и он вполне себе все это сожрет, потому что (1) коннекшен это тред, (2) при запросах нет никакой проверки реляционной целостности, да и в целом проверка сильно проще, чем в PG, а значит придется потанцевать с пуллерами и даже менять где-то запросы, чтобы не упасть по скорости

То есть, у mongo-юзеров это заберет все особенные фичи MongoDB и при этом не даст фишки PostgreSQL.

Distributed PG-like

А что, если мы положим DocumentDB на что-нибудь из серии CockroachDB, YugabyteDB, AWS Aurora, Citus или Neon?

Все 3 проблемы решаются:

  • Шардинг из коробки

  • Достаточно высокая скорость записи и чтения

  • Отсутствие проблем с коннектами

В такой ситуации DocumentDB начинает играть новыми красками.

Но если в Neon и Citus (и может YugabyteDB) еще есть шанс добавить текущий DocumentDB BSON плагин, то в для других представителей придется писать его с нуля (причем под каждый свой, потому что они построены каждый на своем KV хранилище).

Переезд в Linux Foundation

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

Итоги

Неоднозначная технология, пока имеет смысл в каких-то тонких кейсах, но в общем и целом, не вижу пока где тут middle-ground, может, вы что-то подскажете?

P.S.

А еще приглашаю вас к обсуждению в свой паблик в телеграмме 🦾 IT-Качалка Давида Шекунца 💪

Теги:
Всего голосов 4: ↑3 и ↓1+4
Комментарии2

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

Как строить эффективное тестирование ИИ-моделей в бигтехе?

Меня зовут Валентин, я — руководитель направления тестирования моделей машинного обучения в Альфа-Банке. Моя команда занимается тестированием ML-моделей и модельных сервисов для наших клиентов уже более четырех лет, и более трех из них я погружен в наши процессы QA. 

За несколько лет прошел путь от линейного тестировщика до руководителя команды из 8 человек, и в этой статье рассказываю о своем опыте. О том, как:

  • начал как единственный тестировщик ML-моделей в Альфа-Банке, совмещая функциональное и нагрузочное тестирование, что оказалось очень сложно из-за ограниченных ресурсов и растущего потока задач,

  • понял необходимость расширения команды, 

  • столкнулся с выбором между кросс-функциональной командой и специализацией, 

  • продумал подход к делегированию задач,

  • начал автоматизацию тестирования на основе Postman-коллекций, Pytest и Allure, интегрированную в CI/CD через Jenkins и Airflow, что ускорило и упростило тесты…

Эта статья будет полезна:

• тем, кто только начинает выстраивать процессы тестирования моделей;
• начинающим тимлидам QA-команд до 10 человек;
• тем, кто просто хочет познакомиться с примером организации QA-процесса с нуля.

Читайте: Я управляю тестированием ИИ-моделей 4 года. Что я понял за это время?

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

Создайте виртуальную машину в облаке за 1 минуту 30 секунд... с AI-помощником Клаудией 🤖☁️

В скринкасте показали, как развернуть ВМ для чат-бота за полторы минуты. И вы можете сделать так же в личном кабинете Cloud.ru.

Что еще умеет Клаудия:

  • подбирать для виртуалки нужную конфигурацию, в зависимости от ваших задач;

  • настраивать мониторинг и алертинг;

  • давать подсказки для терминала и работать с консолью как co-pilot;

  • отвечать на вопросы по всем платформам: Evolution, Advanced, VMware;

  • помогать в FinOps и SRE: мониторить по логам приложения и алерты, искать неэффективно используемые ресурсы и советовать, как все оптимизировать.

✨ Бонусом — до 31 октября 20+ моделей в Evolution Foundation Models будут бесплатными. Протестируйте на своих проектах эмбеддеры, ранжировщики и мощные LLM, например GLM-4.5, Qwen3-235B, Qwen3-Coder или gpt-oss-120b.

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

Если вы сталкиваетесь с задачами оптимизации, но существующие материалы не дают системного понимания — курс «Java Advanced II: высокопроизводительная Java» (JVA-076) для вас. Никакой воды — только лабораторные с разбором реальных инцидентов.

9 сентября на бесплатном вебинаре «Производительность Java под нагрузкой: заглянем под капот» мы детально разберем содержание курса:

➕ Инструменты: JMeter, JMH, JFR, JITWatch — не просто обзор, а решение задач.

➕ JVM: тюнинг GC, анализ JIT, управление флагами.

➕ Hardcore: off-heap память через Unsafe, свои структуры данных.

➕ Архитектура: кэширование и анализ производительности.

Курс для вас, если вы хотите:

✔️ Осознанно подходить к тюнингу JVM.

✔️ Быстро находить и устранять утечки памяти и узкие места

✔️ Принимать архитектурные решения, зная их цену в производительности

✔️ Говорить с эксплуатацией на языке метрик

А вебинар позволит оценить  практическую ценность курса перед принятием решения об обучении.

Дата: 9 сентября

Время: 18:00-19:00 (Мск)

➡️ Регистрация

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

Первая в России конференция про ускорение разработки с помощью ИИ

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

>> Программа и регистрация <<

3 октября в Москве, в ДК «Рассвет» пройдет первая в России конференция про реальное ускорение с помощью AI. Без шаманства, без магии, без обещаний в стиле «сейчас покажу вам пару промтов в ChatGPT». Мы пригласили только тех, кто уже готов делиться конкретикой и новыми подходами в разработке с ИИ — экспертов от Яндекса, Альфа-Банка, Т-Банка и других лидеров рынка.

О чем расскажут на конференции:

  • Евгений Сатуров, CTO Mobile Surf — как мы выстроили AI-boosted Delivery Platform и сделали процессы в 5 раз быстрее классического SDLC. Поговорим и про цифры: чем измерять ускорение разработки и как оценивать ROI в AI-инструменты.

  • Доклады от крупных компаний: Александр Поломодов из Т-Банка, Святослав Соловьев из Альфа-Банка, Александр Толмачев (ex-Ozon Fintech) и другие мощные спикеры поделятся, как у них выстроены процессы AI-разработки. Обсудим, какие инструменты прижились, каких результатов с их помощью добились компании и как строили архитектуру проектов.

  • Дискуссии AI vs. Security vs Эффективность: поговорим с экспертами от Positive Technologies, Ozon Fintech и Сбера о том, как обезопасить код и данные при тотальной автоматизации, где прячутся уязвимости AI-решений и как жить с Концепцией регулирования ИИ-2030. И ответим на вопрос — насколько ИИ влияет на скорость команд, метрики и ROI.

  • Научная основа: Альбина Галлямова, научный сотрудник НИУ ВШЭ и автор проекта «Зачем мы такие?», разберет правду и мифы о возможностях искусственного интеллекта. Узнаем, как взаимодействие с LLM влияет на когнитивные способности человека.

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

Кому будет полезно?

Ждём всех, кому интересна тема ускорения разработки с помощью ИИ:

  • C-level и руководителей разработки — чтобы строить полноценный AI-конвейер.

  • Тимлиды и heads of dev — чтобы ускорять delivery, а не тормозить.

  • Разработчики — чтобы перестать тратить дни на задачи, которые уже автоматизируются.

  • PM и продакты — чтобы адекватно планировать сроки и ресурсы в AI-проектах.

Формат и участие

Конференция пройдет 3 октября (пятница) в Москве, локация — ДК Рассвет. Начало в 12:00. Вас ждет 9 часов контента, нетворкинга и новых идей для своих проектов. А еще — бесплатные консультации с CTO Surf по внедрению ИИ-процессов в вашем бизнесе.

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

До встречи ;) 

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии7

Мобильное приложение «Первой Формы»: новая версия и больше функций для быстрой работы

Первая версия мобильного приложения «Первой Формы» вышла 10 лет назад. За эти годы в нём появилось много функций, которые позволяют общаться с коллегами, работать с задачами, просматривать отчёты, контролировать сроки, подписывать документы, заполнять чек-листы и многое другое в любом месте и на ходу.

Юбилей мы отмечаем новым релизом, названным в честь Георгия Гамова — советского и американского физика-теоретика, который создал концепцию реликтового излучения Вселенной. Его считают одним из главных подтверждений теории Большого взрыва — излучение позволяет узнать, как была устроена Вселенная в момент своего появления.

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

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

Общие обновления

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

  • Добавить учётную запись в приложение можно, отсканировав QR-код в профиле веб-версии.

  • Если переходы между статусами задачи скрыты (например, они нужны для автоматизаций), в мобильном приложении они тоже не отобразятся. 

  • В списке задач теперь отображаются комбинированный индикатор всех и закрытых подзадач .

  • В актуальной сборке веб-версии «Первой Формы» есть возможность добавлять поля в системную «шапку» задачи, чтобы они отображались над блоком вложений. В мобильной версии тоже реализовали эту функцию.

  • Перешли на новое API для ускорения работы списков задач.

  • Обновили ВКС-модуль, чтобы работал ещё стабильнее.

Больше о мобильном приложении «Первой Формы» →

Дополнительные функции iOS-версии

  • Обновили вид новостей — в них отображаются реакции, описания и форматирование.

  • Если нажать на упоминание комментария в ответе на него, чат прокрутится до этого комментария.

  • Учётную запись можно добавить в приложение по ссылке.

Дополнительные функции Android-версии

  • Поддержка полноэкранного (EdgeToEdge) интерфейса новых версий Android, оптимизация под Android 15.

  • Нажатие на баннер входящего звонка выводит интерфейс созвона на весь экран.

  • Для кнопок резолюций в подписях поддержали цветовую раскраску.

Теги:
Всего голосов 10: ↑9 и ↓1+8
Комментарии0

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

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

Протокол

Я вот подумал: а зачем мы задаем вопросы всяким нейрочатам? Точнее говоря, зачем столько вопросов? Они же хороши, пусть сами с собой общаются.

Подход не новый, вот только к популярным и мощным LLM не применим. Поэтому написал протокол для языковых моделей.

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

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

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

Понятно, что пока все на стадии исследования, но рабочий прототип уже готов (https://vsempo.xyz/lab/protocol/index.html), можно использовать. Токенов жрет безмерно. Для простых задач лучше не использовать. Но для промтов, где перед тем как ответить нужно много думать уже подходит. А еще хорош тем, что можно перенести натренированных специалистов из одной языковой модели в другую.

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

Теги:
Всего голосов 5: ↑4 и ↓1+4
Комментарии2