Обновить
1024K+

Программирование *

Искусство создания компьютерных программ

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

Flutter 3.41 — Что нового во Flutter?

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

Сегодня мы с радостью объявляем о выпуске Flutter 3.41, что знаменует собой важную веху на нашем совместном пути! Это захватывающее время для разработчиков; этот релиз отражает наше стремление расширить возможности нашего сообщества в формировании направления развития Flutter. Благодаря 868 коммитам от 145 уникальных участников, Flutter 3.41 обеспечивает дополнительную прозрачность и модульность, что еще больше улучшает опыт внесения вклада в Flutter.

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

Здесь столько всего интересного, так что давайте сразу же приступим…

Читать далее

Реальные задачи с собеседований в Яндекс, VK, Ozon и Сбер — Go, Java, Python, React

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

Я сделал сервис, который помогает проходить технические собеседования. Побочный эффект - у меня есть транскрипции 9 247 интервью. В первой части я показал общую аналитику: кто собеседуется, куда, на какие позиции, какие вопросы задают на теории. Эта часть про конкретные задачи на секции live-coding.

Энигма не сохраняет скриншоты экрана - приватность. Зато vision-модель описывает то, что видит кандидат: "код на Go, функция принимает слайс, цикл с горутинами...". По этим слепкам и транскрипциям я восстановил условия самых частых задач. Это было похоже на сборку пазла из 2 000 фрагментов, где половина кусочков одного цвета.

17 задач. 10 компаний. 5 стеков. Go, Java, Python, React, C#. С кодом, статистикой ошибок и выводами, на чём фокусироваться.

Читать далее

Как я устал пересчитывать кгс/см² в бары и написал своё приложение на Python

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

Я инженер ОВиК, и меня достало каждый день гуглить перевод кгс/см² в бары. Универсальные конвертеры не знают про Гкал/ч и кгс/м², а инженерные калькуляторы — платные или с рекламой. Написал своё Android-приложение на Python/Kivy: 10 категорий, 60 единиц измерения (включая все инженерные), 5 калькуляторов (скорость в трубе, тепловая мощность с гликолями, расширительный бак по СП 60.13330, потери на клапане, площадь изоляции). Работает полностью офлайн, бесплатно, без рекламы. Рассказываю как сделал, с какими граблями столкнулся и как выложил в RuStore.

Читать далее

HotSpot AOT-кэш: стартуем быстрее, греемся меньше

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

В новом переводе от команды Spring АйО рассмотрим, как можно ускорить Java-приложения без переписываний: в свежих JDK появились Ahead-of-Time оптимизации кэша, которые выносят «дорогие» этапы загрузки/линковки классов (и даже частично профилирование методов) из рантайма в заранее подготовленный артефакт.

Рассмотрим как устроен AOT-кэш в JDK 24–26, какие есть workflow (3 шага vs 2 шага/в один прогон), где прячутся подводные камни вроде удвоения требований по памяти при -XX:AOTCacheOutput, и какие практики обучения помогут реально сократить время старта и быстрее выйти на пик производительности.

Читать далее

Топ-5 бесплатных нейросетей для транскрибации речи с помощью ИИ

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

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

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

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

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

Читать далее

Встроенный поиск по документации в KodaCode. Сравниваем с Context7

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

Если вы используете AI-ассистента для написания кода, довольно часто выясняется, что модель уверенно говорит неправду. Она выдумывает методы, которых нет в библиотеке, или описывает API, удалённый два релиза назад. Формально это называют галлюцинациями и knowledge cutoff, но для пользователя разницы нет. Ассистент ошибается именно там, где от него ждут точности.

Проблема усугубляется тем, что ошибки выглядят правдоподобно. Код компилируется, сигнатуры выглядят знакомо, комментарии звучат убедительно. В результате разработчик тратит время не на работу, а на перепроверку. В этот момент инструмент перестаёт экономить время и начинает его забирать.

Решение: RAG на документацию...

Читать далее

Мой опыт решения 50 задач по динамическому программированию из LeetCode-плана за 24 дня

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

Всем привет! Я решил углубленно изучить динамическое программирование и поделиться с вами опытом. Недавно я обнаружил довольно интересный план обучения на LeetCode (https://leetcode.com/studyplan/dynamic-programming/), взял его за основу - и полностью завершил, решив все задачи (50/50).

Читать далее

OpenTelemetry стек в Go: Metrics, Tracing, Logs

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

Observability — это не просто логи или метрики по отдельности, а целостная картина поведения системы. В этой статье разберём минимальный, но полноценный стек OpenTelemetry для Go-приложений: соберём метрики, трейсы и логи, прокинем их через otel-collector и посмотрим результат в Grafana (Prometheus + Tempo + Loki).

Без лишней теории — только практический пример: docker-compose, инициализация OTel в Go, инструментирование HTTP-клиента и сервера и просмотр данных в UI. В итоге получится рабочий шаблон, который можно использовать как основу для своих сервисов.

Читать далее

Солнечный трекер на Arduino

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

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

Данная реализация является моделью для прототипа. Описание полной сборки и настройки, как и сборки многих других занимательных устройств я описал в своей книге "Умная робототехника для начинающих. Разработка на Arduino".

Для создания работающей модели нам понадобяться прочный, но лёгкий материал, на котором будет производиться монтаж электрокомпонентов и сам он будет использоваться в качестве несущей конструкции. Можно выбрать вспенённый пвх лист 3 мм или листовой прозрачный пластик 1,5-3 мм. Так же подойдёт корпус из под лазерных дисков.

Нам нужны электрокомпоненты. Я возьму: arduino uno, два сервопривода- четыре фоторезистора, четыре резистора на 1 кОм, соединительные провода, плата для монтажа (можно беспаечную).

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

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

Читать далее

Какие две проблемы пытается решить Entire — «GitHub для агентов» от экс-CEO GitHub

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

Entire с его первым тулом под названием CheckPoints решает проблему, которую сам же основатель проекта Томас Домке и создал в Microsoft.

Читать далее

Veai 5.4: изображения в чате, компрессия контекста и до 70% экономии на Anthropic

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

Новая версия Veai 5.4 (плагин к IntelliJ IDEA со своим AI агентом для написания кода, тестирования и отладки) — это практичные улучшения для повседневной разработки.

Персональные пользователи теперь могут прикладывать изображения прямо в чат (удобно для фронтенда и UI-тестирования), запросы к моделям Anthropic стали до 70% дешевле за счёт улучшенного кэширования, а большие чаты автоматически сжимаются без дополнительных запросов к LLM.

Появились новые сценарии для автоматического разрешения merge-конфликтов и генерации UI-автотестов из мануальных кейсов, а также гибкие механизмы для целей кибербезопасности — глобальные запреты на чтение и редактирование файлов через .readignore и .writeignore.

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

Читать далее

Вайб-кодинг — это была подстава?

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

«Вайб-кодинг — это кошмар, и я готовлюсь его запретить», — заявил «Клинт», технический директор средней финтех-компании.

И он не шутит.

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

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

«Сколько из этих дорогостоящих программистов нам на самом деле нужно?»

Читать далее

WebSocket на Go: от эксперимента до production-ready решения

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

Когда речь заходит о WebSocket, многие думают: «Ну это же просто протокол для real-time связи, что там сложного?»

А потом начинаются вопросы:

Почему соединения рвутся через минуту?
Как настроить таймауты между клиентом, прокси и сервером?
Какую библиотеку выбрать — и почему это вообще важно?
Как масштабировать и балансировать stateful-соединения?

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

В этой статье - практический эксперимент: как создать и протестировать WebSocket-сервис на Go, Nginx и Docker, способный держать десятки тысяч одновременных соединений.

Читать далее

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

Детские книги про данные, логику и визуализацию

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

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

Давайте покажу вам самые занятные мои находки, сгруппирую их по темам и отсортирую по рекомендуемым возрастам.

Читать далее

История одного безальтернативного переезда. Почему мы выбрали OpenIDE

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

Всем привет! Сегодня я расскажу, как мы переводили наши Java-команды на новые рельсы.

Проблема:

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

С чего мы начали:

Изучив заново рынок, мы (я и другие лиды, которым на плечи легла эта ноша) стали анализировать доступные решения. Пишем мы чаще всего, используя Spring Framework и технологии около него, хотя иногда и вынуждены адаптироваться к конкретным пожеланиям заказчика и рекомендуемым им технологиям. Но фокус-группа акцентировала внимание вокруг Spring.

Читать далее

Open source — это про людей. Как из зернышка прорастает дерево

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

Привет, Хабр! Я Максим Коробов, 12 лет работаю в Т-Банке и занимаюсь клиентскими интерфейсами для физических лиц. Все, что фронт, желтое приложение или интернет-банк, — в моей зоне ответственности.

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

Читать далее

AI-агенты, управляемые BPMN, убьют веб-формы

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

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

В статье предлагается решение: не отпускать ИИ в свободное плавание, а поставить его на службу и направить с помощью BPMN (Business Process Model and Notation).

Читать далее

Ускоряем инференс в Python с ONNX

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

Привет! Если у вас когда‑либо был опыт деплоя нейросетки, вы знаете, что обучение — это полдела, а вот добиться шустрого инференса — целое искусство. Часто обученная в PyTorch модель дает замечательные метрики, но стоит попытаться запустить её в приложении начинаются всякие проблемки.

Одно из решений, которое часто выручает — ONNX и ONNX Runtime. Если эти буквы для вас пока ничего не значат — не беда, сейчас разберёмся что к чему. А если вы уже слышали про ONNX, то, возможно, задавались вопросом: «А реально ли ускорить инференс, заморочившись с этой технологией?» Еще как!

Ускорить инференс

Chrome DevTools — не панацея. Что умеет Firefox

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

Бьюсь об заклад вы привыкли к инструментам разработчика в Chrome. Ежедневная проверка вёрстки, просмотр логов или анализ загрузку страницы делается на автопилоте. Но что если есть альтернатива, которая в некоторых моментах работает иначе и часто даже лучше?

Инструменты разработчика в Firefox создавались отдельно и имеют свою историю. Их команда не ставила задачу сделать копию Chrome. Вместо этого они сфокусировались на своих идеях о том, как сделать отладку более наглядной. В результате некоторые вещи там реализованы более прямолинейно и понятно. Конечно, не всё идеально, и у Chrome есть свои преимущества. Об этом сегодня и поговорим.

В этой статье мы посмотрим на Firefox DevTools в деталях. Отойдем от банальных соревнований в стиле «у кого DevTools длиннее». Вместо этого разберем, в каких ситуациях панель Firefox может сэкономить вам время, а в каких всё же удобнее остаться в Chrome. Откроем для себя несколько приёмов, которые можно добавить в свою ежедневную работу, независимо от браузера.

Читать далее

XDP + Jenkins: высокоскоростной фильтр по TLS-отпечаткам

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

В период массового импортозамещения средств защиты от DDoS один из провайдеров перевёл свои центры очистки трафика на отечественное решение. Помимо стандартной защиты на уровне L4, провайдер позиционировал его нам как эффективную защиту от L7-атак за счёт механизма фильтрации по TLS-отпечаткам (тогда это был ещё JA3). Однако на практике мы показали, что рандомизация параметров отпечатка (cipher suites, extensions, порядок) позволяет обойти этот механизм и существенно снижает его эффективность против L7-атак. Стоит ли использовать механизмы защиты по отпечаткам JA3/JA4, зная о возможности обхода? Да, стоит. Процесс обхода требует от атакующего значительных ресурсов — кастомного TLS-клиента для генерации уникальных отпечатков. При дополнительной настройке, например, добавлении счётчика с разными лимитами для новых и известных отпечатков (более высокие лимиты для «белых» отпечатков), можно добиться высокой эффективности против ботовых L7-атак (флуд от ботов с повторяющимися отпечатками).

 В этой статье мы реализуем защиту на основе фильтрации TLS-отпечатков, вдохновлённую подходом JA4, но в упрощённой версии FST1 (по отсортированным cipher suites с использованием Jenkins-хэша). Почему не полноценный JA4? Из-за жёстких ограничений eBPF (ограниченный стек, запрет на сложные циклы, отсутствие динамической памяти и строгие правила верификатора ядра) реализация полного JA4 (с учётом всех расширений, ALPN и других параметров) становится крайне сложной.

Читать далее