Обновить

Разработка

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

Стал программистом в Контуре чтобы делать игры

Знакомьтесь: мобильный разработчик Контур.Диадока, Дима Моисеев. 😎 Уже 12 лет делает на Ютубе авторское шоу Old Hard о незаслуженно забытых играх, их переизданиях и ремейках, железяках и source-портах. А ещё — пилит собственную игрушку про мистическую техподдержку Creepy Support. 👽 Увлечению Димы мы посвятили второй выпуск «Пет проектов», где программисты гуляют по полю с собаками из приюта Хаски Екб и рассказывают о своих хобби. Выбрали для вас несколько главных тезисов из этой прогулки. 👇 

С чего всё начиналось и чем мотивировался, чтобы не бросить

Я вместе со своим другом вёл текстовый блог (он всё ещё существует, вот ссылка на него), нам понравилось, и мы решили: а что, если пойти дальше и начать снимать видео? Я тогда как раз закончил институт и пришёл работать в Контур. 

Первая игра, на которую мы сделали обзор, называлась «Подземелья Кремля». Это шутер 1995 года от первого лица — российский ответ американскому Doom. 

Сейчас на моём канале 71 тыс подписчиков. А когда начинал, то думал: если до такого-то числа наберу сотню, прекрасно — продолжаем. Если нет — видимо, это не моё, займусь чем-то другим. И вот дата икс, я смотрю, а там 101 подписчик! Это был знак 👣 идти дальше.

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

Потом понял, что это начинает превращаться во вторую работу, ещё и начальник [Дима сам себе директор] требовательный. 😁Решил: буду делать в максимально комфортном темпе — появилась интересная железяка > я её неторопливо в свободное время исследую > записываю потихоньку ролик > выкладываю. Сейчас у меня около четырёх сценарных видео в год, раньше было 8-10. Иногда проскакивают и не сценарные форматы — подкасты, реже — стримы.

Где нахожу старое железо для выпусков

На барахолках. Часто попадается что-то классное, например, трёхмерный ускоритель 95-го года или джойстик под MS-DOS довиндосовских времён. А ещё — ноутбуки, звуковые карты, игровые консоли… Там много интересных штук!

Как работаю над выпусками

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

  • Закадровый текст я обрабатываю примерно один к двум: на 20 мин черновика выходит 10 мин готового текста. 

  • В принципе, мне нравятся в этой работе все этапы, особенно — писать текст и монтировать. Запись закадра и съёмка — тоже норм, но если в будущем нейронка сможет моим голосом и с правильной расстановкой интонаций записать текст, я перестану следить за микрофоном и это очень облегчит процесс создания роликов.

Блог забрасывать не хочу: мне нравится мой сегодняшний комфортный темп, плюс остаётся время на другие проекты. Например, я ещё делаю свою видеоигру под названием Creepy Support. Суть игры: ты играешь за работника техподдержки в тайной организации, в которую обращаются люди, столкнувшиеся с чем-то паранормальным. Например, кому-то на 15-м этаже постучал в окно человек или позвонил по телефону кто-то странный. 👻 Задача игрока — уточнить детали и дать совет, что человеку делать дальше. Потом можно даже узнать, как этот совет повлиял на жизнь того человека.

Надеюсь, на эту игру тоже в будущем будут делать обзоры. 😉 Кстати, я уже видел несколько отзывов на неё на английском языке. 

Что дают мне пет-проекты

  • Я познакомился с кучей новых людей.

  • Расширил кругозор. Например, для игры Creepy Support выбрал другой язык программирования, не тот, на котором пишу в Контуре. И это здорово помогает мне отвлечься от рабочих задач. 

***

Полный выпуск про Диму, его пет-проекты и ушастую Феню, с которой бродили по зелёному полю, можно посмотреть в VK Видео, на RuTube и YouTube. Подпишись на нас на любой из площадок, чтобы не пропустить новые видосы! 😉

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

Привет!

Может кто посоветовать статьи или посты про idempotency для REST API POST-методов и как гарантировать идемпотентность?

Наткнулся на разбор с реализацией через отдельную таблицу idempotency keys в Postgres: https://brandur.org/idempotency-keys. Хотелось бы собрать практики — какими ещё способами достигается идемпотентности для POST (и других эндпоинтов)? Какие у каждого подхода плюсы/минусы и в каких юс-кейсах лучше применять?


Спасибо!

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

Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5.

В Joomla для выполнения внешних запросов из PHP к сторонним API используется класс Joomla\Http\Http напрямую или же Joomla\Http\HttpFactory, который возвращает для работы преднастроенный по умолчанию класс Http. О работе с HTTP-запросами подробно рассказывалось в статье 2021 года Создание внешних запросов с использованием HttpFactory (Joomla) (на Хабре), (на сайте автора). Некоторые изменения касаются работы с ответами на запросы. Например, наш запрос:

use Joomla\Http\HttpFactory;

$http = (new HttpFactory)->getHttp($options, ['curl', 'stream']);
$response = $http->get('https://any-url.ru/api/any/endpoint');

Раньше можно было получить код ответа или тело ответа как свойство $response - $response->code или $response->body. Однако, Joomla, начиная с Joomla 4 во многом переходит на стандарты PSR. В частности для работы с HTTP-ответами - на PSR-7. Также хорошая статья на Хабре о PSR-7: PSR-7 в примерах.

Прямое обращение к свойствам code, headers, body объявлено устаревшим в Joomla 6.0.0 и обещают удалить в Joomla 7.0.0.

Вместо этого нужно работать с HTTP-ответом по стандартам PSR-7.

Код ответа.
Было $response->getContents(). Стало $response->getStatusCode().

Заголовки ответа.

Было $response->headers. Стало $response->getHeaders().

Тело ответа.

Было $response->body. Стало (string)$response->getContents().

В тело ответа теперь приходит не строка, а поток - объект класса Laminas\Diactoros\Stream. Поэтому его нужно привести к строке (если это json, к примеру): (string)$response->getContents(). Чаще всего в коде Joomla встречается именно такой вариант. Однако, есть и вариант с перемещением указателя чтения на начало потока:

// Получили ответ в виде потока
$stream = $response->getBody();
// "перемотали" на начало
$stream->rewind();
// Получили строковый ответ
$json = $stream->getContents();

В итоге результат одинаковый.

Telegram чат русскоязычного Joomla-сообщества.

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

Минималистичные healthcheck-утилиты для Docker-контейнеров

Однажды я был маленький, и задавался вопросом - вот собираешь ты свое приложение, нежно помещаешь его в Docker-образ, заботишься о том чтоб и зависимостей было поменьше, и скомпилируешь его так чтоб итоговая каша из байт было погуще, но покомпактее; используешь scratch, статическую линковку, но чтоб "из коробки" был еще и healthcheck - приходится или писать свой мальний чекер каждый раз, или тянуть статичкски слинкованный curl/wget, если приложение работает как http сервер.

Потому что без healthcheck жизнь ну совсем не торт, даже при локальной разработке, когда запускаешь уже готовые образы, ставишь их в зависимость для других (в том же docker compose) - без него это все работать не будет так, как тебе хочется - демоны будут стучаться друг к другу без уважения и учета, готово оно в этому или нет.

Так родился microcheck - набор крошечных статически скомпилированных бинарников, созданных специально для healthcheck-ов. Они не имеют зависимостей от динамических библиотек, написаны на C, и работают даже в scratch и distroless образах, да умеют корректно возвращать exit-коды, понятные Docker’у (0 - здоров, 1 - приходи завтра).

В комплекте:

  • httpcheck — проверка HTTP-эндпоинтов (~75 KB)

  • httpscheck — то же самое, но с TLS и автоопределением протокола (~500 KB)

  • portcheck — проверка TCP/UDP-портов (~70 KB)

У вас в продакшене наверняка Kubernetes, и все проверки делает kubelet - скорее всего, вам не нужно ничего менять. Но если вы запускаете контейнеры в «голом» Docker’е или других рантаймах без встроенных healthcheck-ов - такие инструменты могут здорово упростить жизнь.

Как выглядит в деле:

# Было (+~10MB)
RUN apt update && apt install -y curl && rm -r /var/lib/apt/lists/*
HEALTHCHECK --interval=10s CMD curl -f http://localhost:8080/ || exit 1

# Стало (+~75KB)
COPY --from=ghcr.io/tarampampam/microcheck /bin/httpcheck /bin/httpcheck
HEALTHCHECK --interval=10s CMD ["httpcheck", "http://localhost:8080/"]

Разница по размеру в десяток мегабайт против семи десятков килобайт, а в качестве бонуса - не нужен shell-процесс, всё работает напрямую и быстро (а еще и в переменные окружения умет).

Поддерживаются все популярные архитектуры (x86_64, ARM, ppc64le, s390x и др.), есть готовые образы в GitHub Container Registry и Docker Hub.

Посмотреть исходники, примеры Dockerfile и prebuilt-бинарники можно тут: github.com/tarampampam/microcheck

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

Как масштабироваться в Kubernetes автоматически и экономически выгодно? Расскажем через 15 минут

Подключайтесь к вебинару сегодня в 16:00 мск. Покажем, как Karpenter в кластерах Managed Kubernetes помогает оптимизировать затраты на инфраструктуру, и объясним, как использовать этот инструмент. Присоединяйтесь!

В программе:

✔️ Обзор возможностей Karpenter и его сравнение с Cluster Autoscaler;

✔️ Воркшоп по настройке решения в кластерах Managed Kubernetes;

✔️ Кейсы применения Karpenter. Оптимизация GPU-инфраструктуры с сервисом.

В конце ответим на вопросы — задавайте их в форме регистрации. На вебинаре особенно полезно будет DevOps-инженерам, техлидам и СТО, системным администраторам и архитекторам.

Подключайтесь к трансляции:

👉 YouTube

👉 VK

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

Save the date: встречаемся 27 ноября на Wildberries & Russ Golang Meetup!

27 ноября в 19:00 приглашаем на Golang Meetup, где поговорим о том, как строить надёжную бизнес-логику, управлять памятью без потерь производительности и проектировать масштабируемую событийную архитектуру.

В программе — три доклада от инженеров Wildberries & Russ, которые решают эти задачи в продакшене каждый день: про иерархические стейт-машины в Go, реальные кейсы оптимизации GC и указателей, а также опыт создания единой платформы событий Databus.

🎤 Доклады:

  • Иерархические стейт-машины: инструмент для организации бизнес-логики | Сергей Шлянин, Go-разработчик в WB Bank.

  • 1000 в 1: единая платформа для событий Databus | Виктор Такташов, Go-разработчик в платформе Trust & Safety.

  • Указатели в Go: от аллокации до GC — разбираем ошибки производительности на реальных примерах | Александр Бруяко, Unit Lead в сервисах Медиа.

После докладов — афтепати и нетворкинг с разработчиками Wildberries & Russ. 

Регистрируйтесь, количество мест в офлайн ограничено.

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

TeamLead Conf 2025

В начале недели проходила двухдневная конференция TeamLead Conf 2025. Хотелось бы присутствовать оффлайн… Нетворкинг, все дела, но вы цены видели?.. 

Ладно вернемся к конфе. Была бесплатная трансляция Главного зала оба дня. Огромное спасибо за такую возможность организаторам конференции. Смотрел краем глаза несколько докладов.

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

Ну погнали, расскажу о докладах, которые мне понравились больше всего.

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

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

Ну лучиком солнца мне в душу запал Эрик Бурыгин. Парень - профессиональный выгоральщик. Не нравится то, чем ты занимаешься - выгораешь. Нашел работу, которая тебе нравится, и начинаешь в нее упарываться - выгораешь. Начинаешь меньше работать и начинаешь упарываться в спорт - выгораешь. Где-то в середине его доклада, я начал думать, что у спикера просто нет семьи, раз он ни разу не сказал о балансе работы и семейной жизни. А потом он затронул и эту тему. Если ты максимально упарываешься в работу, спорт, увлечения, забывая о семье и быте - выгорает твоя семья. А если начинает рушиться твоя семья, то ты снова выгораешь. Мораль данного доклада в том, что всегда нужно ловить баланс. При чем нет универсальной формулы этого баланса. Над ним всегда нужно работать и рефлексировать.

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

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

Всем добра!

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

Как нагрузочное тестирование на бою помогает платёжному сервису готовиться к сезону распродаж

День холостяка, Чёрная пятница, предновогодние распродажи — для платёжного сервиса ЮKassa это не просто даты в календаре, а особенно важное время. Тех, кто одновременно нажимает на кнопку «Оплатить» в онлайн-магазинах, становится в разы больше, и за считанные минуты нагрузка на инфраструктуру нашего сервиса многократно увеличивается.

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

Для тестов на продакшене мы используем контролируемое нагрузочное тестирование, при котором синтетические платежи генерируются через боевые API и проходят полный цикл обработки: магазин → наш шлюз → банк → маркетплейс → платёжная система. Весь тестовый трафик маркируется и не подлежит биллингу — это гарантия отсутствия финансовых рисков. Нагрузка наращивается по двум сценариям — сначала ступенчато (step load), а затем резкими краткосрочными пиками (bursts), — чтобы достоверно сымитировать ситуацию в момент старта распродажи.

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

Более подробно о боевых стрельбах рассказываем в большой статье.

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

Предприниматель Йосеф Айеле из Эфиопии и основатель фонда LAVA пожаловался, что его рабочий аккаунт в Telegram был заблокирован без причины. После чего он объявил в соцсети X, что прекращает пользоваться этим мессенджером и переводит свои коммуникации в Signal и электронную почту. В ответ на это основатель Telegram Павел Дуров лично извинился за инцидент с блокировкой. Дуров пояснил, что аккаунт Айеле был разблокирован, а «урок извлечён».

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

Как научить приложение работать офлайн?

В новом выпуске подкаста Mobile Developer об этом рассказывает Данила Горячкин, iOS-инженер в Авито. Даня не понаслышке знаком с потребностью в мире Wi-Fi и развитой мобильной сети создать приложение, которое может работать без интернета, — а потому ему точно есть, чем поделиться.

Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.

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

Статический анализ OpenIDE

Коллеги из OpenIDE предложили нам проверить их продукт статическим анализатором и написать об этом статью.

Мы отобрали самые интересные ошибки и странные моменты, которые нашёл анализатор в исходном коде используемой ими IntelliJ Platform. Если вам интересно посмотреть на ошибки в Java коде и освежить в памяти некоторые теоретические аспекты этого языка, крайне рекомендуем статью к прочтению.

P.S. Отдельная благодарность OpenIDE. Они рассмотрели приведённые в статье ошибки и поправили их.

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

Новая услуга GlowByte: внедряем GenBI-решения на ваших данных

Команда Business Intelligence GlowByte расширяет возможности для бизнеса в различных индустриях и объявляет о запуске новой опции – выборе, пилотировании и внедрении GenBI-решений.

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

Процесс может занять от одного до трех месяцев. Реализация происходит поэтапно: 

  • анализируются бизнес-процессы и инфраструктура, изучается специфика отрасли, текущие BI-решения, источники данных, архитектура систем и требования безопасности; 

  • адаптируется методология тестирования;

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

  • формируется шорт-лист GenBI-решений;

  • подбираются платформы и LLM-модели;

  • проводится комплексное пилотирование;

  • тестируются решения на реальных данных, измеряются производительность и точность результатов;

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

Узнать больше, как это работает, можно тут.

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

Как построить ML- AI-инфраструктуру или ускорить существующие AI-проекты

Привет, Хабр!

Приглашаем на вебинар о новой редакции нашей платформы котнейнеризации – Nova AI. Покажем новую версию платформы, созданную специально для ML-и AI-задач и расскажем, как она упрощает запуск инфраструктуры для ML/DS-команд, ускоряет развертывание локальных LLM-и AI-сервисов и сокращает расходы на GPU до 95%.

О чем еще поговорим:

 Как развивается рынок AI и почему компании переходят на локальные LLM

Что представляет собой Nova AI и чем она отличается от классического Kubernetes

Как построить инфраструктуру для ML-проектов за 1 день

Реальные кейсы, технологический стек, безопасность и комплаенс

Дорожная карта продукта и шаги внедрения

Вебинар будет особенно актуален для ИТ-директоров, архитекторов, инженеров по данным и всех, кто отвечает за развитие ИИ в компании. Регистрация доступна по ссылке.

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

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

Модули C++20 в существующий проект: легкая прогулка или прыжок в бездну?

Старший инженер-программист С++ в компании «Криптонит» Сергей Чеботарев расскажет о миграции на модули C++20 на System Level Meetup в Москве 22 ноября в 12:00.

Зарегистрироваться на митап онлайн и/или офлайн можно по этой ссылке.

Наши программисты столкнулись с проблемой медленной сборки проектов и рассматривали Precompiled Headers как возможное решение.

Но отсутствие гарантий ускорения компиляции и поддержки со стороны стандарта заставило их обратить внимание на модули C++20, которые представились как «усовершенствованные PCH» — стандартизированные и более надежные.

Сергей расскажет о стратегии внедрения и первых проблемах, практических сложностях (отказе от import std и последствиях), рассмотрит реорганизацию системы сборки по концепции «метацелей».

В конце доклада — выводы и дорожная карта: стоит ли овчинка выделки?

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

Orion soft выпустил новую редакцию платформы контейнеризации – Nova AI

Мы представили новую редакцию платформы контейнеризации Nova Container Platform, созданную специально для работы с ИИ и машинным обучением. Это первое отечественное Kubernetes-решение, оптимизированное под инфраструктурные и эксплуатационные задачи ML/AI. 

Nova AI помогает ИТ-командам и ML/DS-специалистам быстро запускать и масштабировать инфраструктуру для обучения моделей, развертывания LLM-сервисов и инференса, обеспечивая при этом безопасность, совместимость с российскими операционными системами и эффективность использования GPU.

Новая редакция разработана как решение ключевых проблем, с которыми сталкиваются компании при запуске и развитии проектов, связанных с ML и AI. Среди них высокая стоимость GPU и оборудования, дефицит опытных MLOps-инженеров, сложности с безопасностью и соответствием требованиям регуляторов, низкая утилизация ресурсов, долгое развертывание и настройка инфраструктуры под LLM и AI-сервисы.

Ключевые преимущества Nova AI

Для ИТ-руководителей Nova AI обеспечивает ощутимую экономию ресурсов: за счет виртуализации и дробления мощностей она позволяет сократить затраты на GPU до 70%. Решение ускоряет выдачу инфраструктуры, помогает соблюдать SLA и упрощает управление благодаря унифицированному кластеру, подходящему для всех AI- и ML-задач. Nova AI также поддерживает требования по информационной безопасности и комплаенсу, обеспечивая защиту токенов и данных. Платформа гибка в размещении, она может быть развернута как на bare-metal, так и в виртуализированной среде (включая отечественную платформу виртуализации zVirt), с полной поддержкой российских операционных систем, таких как Astra Linux и РЕД ОС.

Инженеры и ML-специалисты получают готовое рабочее окружение на базе таких инструментов, как JupyterHub, MLflow, Airflow и MinIO, что позволяет быстро приступить к работе. Кроме этого, Nova AI обеспечивает стабильную работу драйверов и предсказуемость поведения инфраструктуры. Безопасность встроена по умолчанию: используется контейнерная защита NeuVector и централизованное управление секретами с помощью StarVault. Платформа сокращает время на запуск и настройку, а также сопровождается подробной документацией и технической поддержкой на всех этапах внедрения и эксплуатации.

«Сегодня мы видим особый спрос на нашу платформу со стороны промышленных и нефтегазовых предприятий, банков и финтех-организаций, ритейлеров с развитыми аналитическими командами, а также государственных структур, где важно быстро и безопасно развернуть инфраструктуру для ИИ и машинного обучения. Nova AI выбирают там, где нужно ускорить запуск LLM- и AI-сервисов, снизить затраты на оборудование и перейти от разрозненных экспериментов с моделями к управляемой и масштабируемой ML-платформе уровня Enterprise», – прокомментировал Александр Фикс, лидер продукта Nova Container Platform в Orion soft.

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

Два парня из Сан-Франциско притворялись ИИ для клиентов и смогли создать стартап стоимостью в миллиард долларов. Авторы проекта решили запустить сервис Fireflies AI для автоматического создания заметок во время звонков с подпиской в $100 в месяц для корпоративных заказчиков. Они уверяли клиентов, что к созвону подключится ИИ, но, на самом деле, на другом конце сидел один из них и записывал всё, а затем через 10 минут после окончания встречи скидывал пользователю конспект. После сотни таких созвонов разработчики накопили денег на аренду жилья и решили по-настоящему сделать такой сервис с ИИ.

В итоге в июне этого года Fireflies AI получил оценку в миллиард долларов, а они больше не спят на диване. Эту историю рассказал сооснователь стартапа по ИИ-суммаризации видеовстреч Fireflies Сэм Удотонг. Он пояснил, что первые деньги они тратили основном на оплату гостиницы и еду. Только спустя год работы команда смогла накопить капитал и вложить его в настоящую автоматизацию сервиса.

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

minimal vscode - гайд по кастомизации vscode: чистим status bar, пишем плагины на #javascript

В статусбаре в vscode – очень много всего: как полезного, так и лишнего.
Сегодня посмотрим, как можно его кастомизировать:

  • Можно просто спрятать (как делаю я)

  • Можно очень детально кастомизировать

  • Можно перенести часть его функций в плагины

И вот тут главная фича vscode выходит наружу – у нас ведь просто браузер с html / css / js. А значит, мы можем использовать css и js для кастомизации всего! И оно будет работать одинаково даже в cloud версиях IDE.

В выпуске:

  • Будем писать CSS для удаления лишнего из status bar

"custom-ui-style.stylesheet": {
  "#status\\.problems": {
    "visibility": "hidden !important",
    "display": "none !important",
  }
}
  • И создавать локальные плагины на #javascript для кастомизации поведения редактора

function updateColumnPosition() {
    const positionLabel = document.querySelector(
      '#status\\.editor\\.selection .statusbar-item-label',
    )
    if (!positionLabel || !positionLabel.textContent) {
      // It might not exist for some reason ¯\_(ツ)_/¯
      return
    }

    const currentLine = document.querySelector(
      '.line-numbers.active-line-number',
    )

    // Now we would have the column position instead of the active line number:
    const colNumber = positionLabel.textContent.match(/Col (\d+)/)
    currentLine.textContent = colNumber[1]
}

Впереди еще пара взрывающих мозг видосов, будем и дальше превращать vscode в Черный Квадрат Малевича.

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

Эксперты Google выпустили 50-страничный гайд о том, как создавать полезных ИИ-агентов для практических задач. В нём описана: архитектура агентов; как работает LLM внутри агента; как подключить и настроить инструменты; как объединить несколько агентов в команду и как оценивать их эффективность. Оригинал — здесь, есть перевод на русском языке — здесь.

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

Вы тоже узнаёте AI-тексты по обилию длинных тире?

Если вы начинаете сомневаться, а не налетит ли на ваш контент подозрение в «роботизированности» из-за длинных тире, то эта статья для вас. Есть ли ответ на вопрос «Почему AI любит добавлять в тексты много длинных тире?» — глубокое расследование, где автор разбирает тренд и ищет, почему искусственный интеллект использует их в текстах тексты чаще, чем люди.

Существует три основных категории возможных объяснений того, почему модели так часто используют тире. Рассуждения во многом основаны на предположениях, потому что никто не может дать ответ на этот вопрос абсолютно точно (кроме OpenAI). 

Есть ли ответ на вопрос «Почему AI любит добавлять в тексты много длинных тире?»
В AI-текстах так часто используется длинное тире, что на эту тему пишут статьи вида «Длинное тире — ...
habr.com

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

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

Дайджест: новости за октябрь 🌂

🚀 Открыли регистрацию на AI DevTools Conf — практическую конференцию про внедрение AI-инструментов в процесс разработки. Спикеры расскажут, как строить сложные AI-процессы, собирать мультиагентные системы, создавать эффективную инфраструктуру и управлять уязвимостями. Изучить темы докладов и зарегистрироваться.

🎁 Дарим юрлицам 35 000 бонусных рублей до 31 декабря 2025 года для работы в Evolution Data Platform, а именно —  Evolution Managed Trino, Evolution Managed Metastore и Evolution Managed Spark

💳 Сделали модели в Evolution Foundation Models доступнее. Теперь цена — 35 рублей за миллион входных и 70 рублей за миллион выходных токенов.

Недавно мы добавили:

  • GigaChat 2 MAX — самую мощную LLM линейки GigaChat, которая обошла GPT-4o и Claude 2 в тесте MMLU-RU.

  • Qwen3-Next-80B-A3B-Instruct, которая сочетает высокоскоростные блоки для длинных последовательностей и точные attention-слои, а также использует спарсовую архитектуру Mixture of Experts с 512 экспертам.

  • GLM-4.6 с высокой производительностью при написании кода в Cline, Roo Code и Kilo Code.

  • Whisper large-v3 — продвинутую модель от OpenAI для распознавания речи. Модель не надо дообучать, а еще ее можно использовать в коммерческих целях — она распространяется под свободной лицензией Apache-2.0.

  • MiniMax-M2 — компактную, но мощную модель для работы с кодом и агентами. №1 среди open source моделей в бенчмарке Artificial Analysis, которая умеет планировать цепочки действий, работать с окружением, извлекать данные и работать с внешними инструментами.

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

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

⚙️ Обновили наши облачные платформы и сервисы. Например:

Evolution ML Inference

Evolution Notebooks

Что мы добавили в сервис:

Evolution Managed Kubernetes

Управляйте контейнерными приложениями в Kubernetes 1.33 — теперь Evolution Managed Kubernetes поддерживает и эту версию. Что в ней есть:

  • В бета-тесте — использование образов Open Container Initiative (OCI) в качестве томов в подах, а еще In-place resource resize для вертикального масштабирования подов.

  • Общедоступными стали поддержка Sidecar-контейнеров, Multiple Service CIDRs, нового бэкенда nftables для kube-proxy, subresource для kubectl. Полный обзор изменений есть в официальном блоге Kubernetes.

Подробнее обо всех апдейтах читайте в дайджесте на сайте.

🛡️ Новые сертификаты

Надежность наших сервисов подтверждена регуляторами. Платформа Cloud.ru Evolution теперь в реестре отечественного ПО (РОПО), а еще она получила сертификаты PCI DSS и ФСТЭК России.


🎙️ Провели несколько интересных вебинаров и подкастов — каждый из них вы можете посмотреть в записи:

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