惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
K
Kaspersky official blog
Stack Overflow Blog
Stack Overflow Blog
Blog — PlanetScale
Blog — PlanetScale
Recorded Future
Recorded Future
Engineering at Meta
Engineering at Meta
U
Unit 42
D
Docker
I
InfoQ
D
DataBreaches.Net
Google DeepMind News
Google DeepMind News
N
Netflix TechBlog - Medium
C
Check Point Blog
The Cloudflare Blog
美团技术团队
V
Vulnerabilities – Threatpost
博客园_首页
T
Threat Research - Cisco Blogs
Google DeepMind News
Google DeepMind News
Attack and Defense Labs
Attack and Defense Labs
A
Arctic Wolf
IT之家
IT之家
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
T
Troy Hunt's Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
人人都是产品经理
人人都是产品经理
C
Cyber Attacks, Cyber Crime and Cyber Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Security Archives - TechRepublic
Security Archives - TechRepublic
S
Schneier on Security
Apple Machine Learning Research
Apple Machine Learning Research
MyScale Blog
MyScale Blog
P
Privacy International News Feed
云风的 BLOG
云风的 BLOG
Recent Commits to openclaw:main
Recent Commits to openclaw:main
T
The Blog of Author Tim Ferriss
GbyAI
GbyAI
The Last Watchdog
The Last Watchdog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
aimingoo的专栏
aimingoo的专栏
P
Proofpoint News Feed
The Register - Security
The Register - Security
博客园 - 三生石上(FineUI控件)
Forbes - Security
Forbes - Security
NISL@THU
NISL@THU
Y
Y Combinator Blog
T
Threatpost
Microsoft Azure Blog
Microsoft Azure Blog
L
Lohrmann on Cybersecurity

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
НЕкурс про создание собственного языка программирования: вдохновляемся неожиданными открытиями, чтобы сделать свои
Uliana · 2026-06-24 · via Все публикации подряд на Хабре

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

Простой

6 мин

2

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

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

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

История №1

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

История №2

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

История №3

Это придумал один инженер, чтобы решить проблему своего интернет-магазина: товары просто “вываливались” из корзины при переходе в другой раздел. Сейчас на этом открытии держится вся мировая интернет-реклама и трекинг пользователей.

Экспертиза PVS-Studio

Надеемся, вы догадались, что это были за открытия. Давайте вернёмся к понятию экспертизы. Почему мы считаем её ценной для нашей компании? И в чём она выражается у нас? Мы затронем тему нашей новой наработки, которая позволила переработать нашу экспертизу во что-то полезное для сообщества разработчиков. Ниже мы подробнее расскажем, как мы к этому пришли и что в итоге у нас вышло.

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

Но что стоит за правилами? На что опирается анализатор при поиске ошибок? Конечно, ядро! На нём у нас строится и анализ потока данных, и сигнатурный анализ, и аннотирование методов, и все другие технологии анализа. А работает с этим и многим другим наш архитектор ядра Юра — замечательный инженер, фанат котиков и просто приятный человек. Проходя через очередную эпопею ядровых проблем — страшно представить, с чем он ежедневно сталкивается, залезая так глубоко в мозги нашего инструмента, — Юра был оторван от своей привычной деятельности предложением коллег...

В PVS-Studio есть отдел, который мы зовём Te&De (Teaching&Development). Две замечательные сотрудницы, Инна и Юлия, занимаются внутренним обучением сотрудников нашей компании. Они также организуют вебинары для менеджеров и программистов. О предстоящих и прошедших вебинарах вы можете узнать здесь. Они-то и предложили Юре подготовить материалы, которые будут полезны при погружении новых сотрудников в работу. В итоге курс, который наш архитектор и отдел Te&De подготовили для внутреннего использования, трансформировался и стал общедоступным и бесплатным.

Немного о курсе

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

Начинается всё с грамматики, которая описывает структуру языка.

Когда дело доходит до разбора кода, первым на сцену выходит лексер. Он выделяет из текста отдельные слова и классифицирует их.

Следующий этап — составление предложений из слов. Здесь в работу вступает парсер. Он берёт слова и формирует из них предложения — конструкции языка. Эти конструкции мы и организуем в синтаксическое дерево — иерархическую структуру, которая отражает взаимодействие между отдельными кусочками языка. Дерево нам нужно для того, чтобы по нему пройтись и выполнить/вычислить то, что там написано.

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

Завершает всё это действие эвалюатор. Он берёт дерево, проходится по нему и вычисляет значение переменных и выражений.

Так примерно выглядит сферический процесс работы языка программирования в вакууме. В видео Юра всё это показывает на практике.

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

Мы собрали курс из 10 видео и назвали его “Давайте создадим язык программирования”. Регистрируйтесь, переходите по ссылке, это бесплатно. Там вы найдёте более подробное описание видеоуроков.

Разгадка историй

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

История №1

Датчанина звали Расмус Лердорф, его изобретение — Personal Home Page (инструменты для личной домашней страницы). Оно стало популярным и теперь носит название PHP и используется как язык программирования для веб-сайтов. Лердорф объединил свои скрипты с библиотекой форм. Появился базовый синтаксис и возможность обрабатывать данные из HTML-форм. С версией 2.0 PHP стал полноценным инструментом для динамических сайтов, совершив революцию в веб-разработке.

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

История №2

Конечно, это PVS-Studio. Решили немного польстить себе :)

2006 год — эпоха появления 64-битных систем. На тот момент многие думали о переходе с 32-битных систем, однако при переходе сталкивались с 64-битными ошибками. В результате двое разработчиков создали механизм, помогающий находить такие ошибки, а затем трансформировали его в полноценный инструмент с более широким спектром решения проблем. Сейчас PVS-Studio — это целая компания, а тогда у двух разработчиков, которые ещё недавно выпустились из университета, была проблема, решение которой переросло во что-то масштабное. Кстати, недавно нам исполнилось 18 лет! В честь совершеннолетия мы написали статью, где рассказали, что происходило в анализаторе и компании в течение этих лет.

История №3

В 1994 году инженер компании Netscape Communications Лу Монтулли столкнулся с проблемой: изначальный протокол HTTP был “бессодержательным” (stateless) — сервер не мог распознать, что один и тот же человек переходит со страницы на страницу или совершает покупки. Тогда он предложил сохранять небольшой фрагмент текстовых данных на стороне пользователя. Это получило название cookies-файлы. Открытие навсегда изменило веб-индустрию, позволив создавать удобные корзины для интернет-магазинов и сохранять авторизацию на сайтах.

Напутствие

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