Обновить

Разработка

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

Как «приватные» VPN-расширения слили переписки 8 миллионов пользователей с ChatGPT и Claude

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

Команда AI for Devs подготовила перевод резонансного расследования о том, как "приватные" VPN-расширения на самом деле зарабатывают на ваших ИИ-переписках. 8 миллионов пользователей, Featured-бейджи от Google и Microsoft, полный доступ к ChatGPT, Claude и Gemini — и всё это утекает дата-брокерам. История о том, почему обещания безопасности в браузере стоит читать особенно внимательно.

Читать далее

Roadmap.sh: дорожные карты для изучения IT, 346k звёзд на GitHub

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

В 2013-м я получил свою первую вакансию джуна. Требования: PHP, MySQL, jQuery. Всё. Я открыл tutorial, за выходные накодил todo-лист, через месяц уже чинил баги в проде.

Вчера смотрел вакансию для джуна. Требования занимали два экрана. Node.js ИЛИ Python ИЛИ Go. React ИЛИ Vue ИЛИ Angular. PostgreSQL + Redis + MongoDB. Docker обязательно. Kubernetes — плюсом. GraphQL знание приветствуется. Плюс микросервисы, CI/CD, облака...

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

А что сейчас?

Сейчас — это Node.js, Deno, Bun для JavaScript-бэкенда. Go, Rust, Elixir для хайлоад. Python с FastAPI, Django, Flask. Kotlin, Java, Scala для enterprise. Плюс Ruby, PHP (еще жив), C#/.NET... И это только языки и рантаймы. А еще базы: PostgreSQL, MySQL, MongoDB, Redis, Cassandra, ElasticSearch. Очереди: RabbitMQ, Kafka, NATS. Контейнеризация: Docker, Kubernetes, Helm. CI/CD: GitLab, Jenkins, GitHub Actions, CircleCI. Облака: AWS, GCP, Azure.

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

Читать далее

Мороз по коже: LLM может оценить ваш код, а ИИ-компании — использовать это в своих целях

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

ИИ-ассистенты не только помогают писать код, но и прекрасно могут оценить ваши ноу-хау по степени полезности для владельцев своих компаний. Как с этим жить? Как этому противостоять?

Читать далее

Kак мы разработали новую модель автодополнения кода в GigaCode

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

Привет, Хабр! Меня зовут Дмитрий Бабаев, я руковожу R&D в GigaCode — это ИИ‑ассистент для разработчиков от Сбера. Сегодня расскажу про очередной этап развития наших кодовых моделей. Недавно мы выпустили новую версию inline‑модели автодополнения кода (code completion). Это первая в мире MoE‑модель, созданная специально для этой задачи, мы полностью разработали и обучили её с нуля.

Читать далее

8 лучших RDP-клиентов 2025 года

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

Удалёнка уже стала нормой, поэтому надежный RDP‑клиент — обязательный инструмент админа. Под катом рассмотрим популярные RDP‑клиенты за 2025 год, а также расскажем, как выбрать подходящий вариант.

Читать далее

Как приземляться в Top Gun: проверено реверс-инжинирингом

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

Наверно, как и большинство игроков, вы стали первоклассным специалистом в приземлении на авианосец в игре Top Gun для NES. Но если вы всё же относитесь к тому меньшинству, которое так и не освоило этот навык, то вам повезло: я выполнил небольшой реверс-инжиниринг и разобрался, как именно работает приземление. Надеюсь, в следующем вылете вы справитесь идеально!

Читать далее

Изящные, ненормальные и удивительные алгоритмы на C

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

Доброго времени суток, господа и дамы! Иногда у некоторых людей возникает желание заняться откровенным непотребством в программировании — то, что не несет практической пользы напрямую, но помогает развлечься. И я — не исключение. В этой статье я хочу рассказать вам о лайфхаках, трюках (магических и не очень), алгоритмах на языке C!

Идея написать эту статью зародилась из моего поста, после него я написал статью «Математика, биты, магия и немного ненормального программирования на C», «Фокусы, хаки, магия и прочее ненормальное программирование на C» и «Тёмная сторона Си: трюки, хаки, магия и алгоритмы», которые раскрывали много интересных моментов.

Увидев, что многим понравилась, я решил продолжить, чтобы узнать насколько глубоко кроличья нора!

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

Всех, кто заинтересовался — прошу под кат.

Читать далее

Коллекция полезных CSS фишек, которые вы редко используете

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

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

В мире фронтенда активно всё меняется. Появляются одни инструменты, но только их выучишь — они устаревают, и нужно уже учить новые. Новые методы и API в JavaScript. Даже в HTML появляется что-то новое. И, конечно, CSS не отстаёт.

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

Давайте посмотрим, что я вам подготовил.

Читать далее

Как оптимизировать код WebAssembly при помощи встраивания функций и деоптимизации

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

В этом посте будут объяснены две стратегии оптимизации WebAssembly, которые не так давно были реализованы в движке V8 и вошли в версию браузера Google Chrome M137. Речь пойдёт о спекулятивном встраивании call_indirect inlining и о поддержке деоптимизации в WebAssembly. В сочетании два этих приёма помогают генерировать более качественный машинный код, так как основаны на допущениях, которые строятся, исходя из обратной связи, поступающей от среды исполнения. Благодаря этому, WebAssembly выполняется быстрее, особенно это касается программ WasmGC. Например, проверив эти приёмы на наборе микробенчмарков, написанных на Dart, видим, что комбинация двух оптимизаций даёт ускорение в среднем более чем на 50%. В более крупных и реалистичных приложениях и на тех бенчмарках, которые рассмотрены ниже, достигается ускорение между 1% и 8%. Деоптимизации — также очень важная составляющая для дальнейшей оптимизации в будущем.

Читать далее

Value Object: как победить примитивную одержимость без DDD

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

Кажется, что оборачивать BigDecimal и String в отдельные классы — это overengineering и преждевременный DDD. Но именно из-за этих «лишних» типов в прод не пролезают посылки в ПВЗ, проценты внезапно превращаются из 0.8 в 80, а деньги теряют валюту и смысл. В статье на реальном примере логистики разбираем, как один небольшой record Weight и несколько аккуратных Value Object’ов наводят порядок в бизнес-логике: инварианты перестают жить в комментариях, проверки перестают дублироваться, а код начинает читаться как текст предметной области. Без внедрения полного DDD, без религиозного фанатизма — только практические шаги.

Как избавиться от одержимости примитивами

Client Hints: разбор технологии, которая заменит User-Agent

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

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

Раньше для этого можно было использовать только строку User‑Agent, которую браузер отправляет автоматически, но её избыточность и сложность парсинга стали сдерживать развитие веба. Client Hints предлагает другой подход: вместо того чтобы сразу раскрывать всю информацию, браузер передаёт только те данные, которые действительно нужны сайту.

На связи Степан из команды Яндекс Браузера. Сегодня поговорим о том, как мы переходим от устаревшего User‑Agent к современной технологии Client Hints. В статье разберём, почему User‑Agent стал проблемой, как работают хинты под капотом и какие перспективы у перехода на новую технологию.

Читать далее

Вайбанутым нет покоя

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

Есть у меня один знакомый. Преподаватель. Примерно, раз в месяц принимает экзамены у студентов, с курсов повышения квалификации. Студенты решают задания на компьютерах, а он ходит между ними, вопросы задает и двойки ставит.

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

И настолько эта возня с бумагой его достала, что знакомый решил:
"Хватит это терпеть! Говорят, в соседнем дворе бабушка сама написала себе "ЦИАН" (находясь под воздействием). А я что? Лысый что-ли?!
Вон, даже курсы по вайбкодингу продаются! Напишу сам себе электронную ведомость!
Ведь может же сейчас обычный человек написать любую программу. Ну не будут же врать в Интернете."

А вот и нет

Память о глубине: топим литиевые аккумуляторы на 1500 м

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

Приветствую, глубокоуважаемые!

Сегодня все у нас на литии, и даже под воду мы тащим литий, но вместе с ним — сложные, тяжёлые и дорогие нормобарические корпуса. Возникает вопрос: мы правда защищаем аккумуляторы от среды или просто страхуемся традицией, не зная, на что они реально способны под давлением? Чтобы ответить, пришлось устроить LiFePO₄ 18650 стресс-тест. Результат, как водится, - убил.

Под катом 150 килограмм на квадратный сантиметр, аккумуляторы, щепотка сопромата и ключ на 55.

Начать погружение!

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

Google Maps для биржевого стакана: пишем визуализатор данных Московской биржи на Python

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

Обычный трейдер смотрит на свечной график, но свеча — это уже тень прошлого, постфактум. Между тем настоящая динамика рождается в глубине торгового стакана — Limit Order Book, где борьба заявок определяет будущий импульс.

Проблема в том, что историю стакана почти нигде не увидеть: розничные терминалы для частных клиентов дают лишь текущую таблицу DOM ( Depth of Market ) и это статичный срез без прошлого.

Чтобы увидеть то, на что обычный трейдер не обращает внимание я собрал инструмент, который превращает исторические данные L2 Order Book (стакан заданной глубиной) и Trades Stream (обезличенные сделки) в тепловые карты и позволяет изучать эволюцию заявок на Московской бирже через браузер с Deep Zoom — плавно, как в Google Maps.

Читать далее

Шпаргалка по настройке VPS на Debian/Ubuntu (2025)

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

Наконец-то я её доделал! Шпаргалка по настройке свежего Ubuntu/Debian VPS, которую начинал писать, когда ещё сам был новичком.

Вы только что купили сервер, а что дальше? Каждый раз я гуглил и пошагово делал одно и то же, тратил на это много времени, пока не собрал всё в одном месте. Теперь за 15–20 минут вы можете превратить «голый» VPS в безопасную и удобную машину.

Этот базовый минимум с чёткими командами и объяснениями. Никакого Ansible и сложностей — чистая ручная настройка. Подойдёт всем, кто только осваивает Linux, и каждый раз не знает, с чего начать.

Читать далее

Вход — бесплатно, выход — по подписке: разбор реального скама

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

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

Будет всё: имена, пароли, явки, количество обманутых прогретых инвесторов и объемы успешно проинвестированного. Спешите читать!

Разбираемся с криптоскамом

Меня обвинили в том, что я — нейросеть

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

Здравствуй Хабр.

Полтора миллиарда лет назад, когда я учился в начальной школе, нам задали домашнее задание: написать сочинение в свободной форме, про наступающую весну. Я воспринял задание с воодушевлением. С детства люблю свободные формы. Решил написать сочинение в стихах. Написал, и, довольный собой, сдал на проверку. На следующий день, учительница меня резко отчитывала и стыдила перед всем классом за то, что я сдал сочинение, которое написал НЕ САМ. Она просто не могла поверить, что ребенок мог написать такое самостоятельно. Знаете, я далеко не Есенин, и то было довольно наивное произведение, вполне детского уровня. Но я старался. Вложил душу. И мне было до ужаса обидно. А еще я понял, что взрослые - только на вид взрослые, а на деле - ни черта не понимают.

На днях, подобная несправедливость случилась со мной снова.

Читать далее

Как я обнаружил скрытый микрофон в китайском NanoKVM

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

NanoKVM — это аппаратный KVM-переключатель, разработанный китайской компанией Sipeed. Это устройство, выпущенное в прошлом году, позволяет удалённо управлять компьютером или сервером при помощи виртуальной клавиатуры, мыши и монитора. Благодаря своему компактному размеру и низкой стоимости устройство быстро привлекло внимание Интернета, особенно когда компания пообещала выпустить его код в опенсорс. Однако, как мы увидим, это устройство обладает серьёзными проблемами безопасности.

Читать далее

Гайд: Как прострелить ноги unsafe кодом в C#

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

ДИСКЛЕЙМЕР: Это статья является ручным переводом оригинальной статьи с небольшими пояснениями. Поводом для перевода стало слишком частое использование unsafe кода в других статьях о C# на русском языке в том числе тут на хабре.

Читать далее

Flink Kubernetes operator: опыт построения стриминговой Big Data платформы

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

Всем привет! Меня зовут Артемий, я работаю SRE-инженером в команде RTP (real time processing) Clickstream в Авито. Сегодня мы хотим поделиться нашей историей о том, как мы переехали в Kubernetes, развернув Apache Flink с помощью Flink k8s operator.

Читать далее