В языке C++ перегрузки функций и шаблонов исторически были и остаются мощным инструментом для выражения различных реализаций одного и того же интерфейса. Многим перегрузки видятся как удобный способ дать одно имя разным функциям, но на практике понимание того, как компилятор выбирает нужную перегрузку, может стать источником ошибок и недоразумений. Компилятор же руководствуется сложным набором правил, которые мы ему предоставили, учитывает не только типы аргументов, но и порядок специализаций, преобразования типов, const-квалификаторы, шаблонные параметры и многое другое. А ошибки, возникающие при перегрузках, часто трудно диагностировать, поскольку сообщение компилятора может ссылаться на глубоко вложенные детали реализации вместо очевидного исходного кода. Об этом была предыдущая статья...
С введением концептов и ограничений (requires) язык получил возможность управлять этой сложностью на уровне интерфейса. Вместо того чтобы надеяться на магию перегрузки и изощрённые трюки вроде SFINAE, мы теперь можем прямо выражать намерения: какие свойства должен иметь тип, чтобы функция или шаблон были корректны, что позволило перейти от «магии разрешения перегрузок» к декларативному описанию требований к типам.
Давайте теперь поговорим о том, что именно делают ограничения (requires) в современном C++ и почему появление этого механизма стало таким важным шагом в развитии шаблоннов. Тут надо сделать немного шаг в сторону и вспомнить, что исторически шаблоны в C++ были мощным, но довольно опасным инструментом, еще одним языком в языке, на котором можно было сделать почти всё, было бы желание. В итоге компилятор позволял подставить или подхачить любой тип, а проверка того, «подходит ли он на самом деле», откладывалась до момента инстанцирования, что нередко приводило к ошибке далеко от места вызова, а сообщение о непосредственном месте ошибки превращалось в многостраничный отчёт о внутренней кухне компилятора и как он работает с шаблонами. requires меняют эту модель, позволяя описывать ожидания от типа явно и прямо в объявлении функции или класса.
Читать далееКогда вы старый политик или звезда, то раньше получали инъекцию ботокса и каменное или «восковое» лицо. Так было лет 20. Теперь всё намного лучше, и появился ацетил гексапептид-8, он же — аргирелин.
Ботулотоксин типа А блокирует передачу нервного импульса к мышце и временно её парализует. Если мышца обездвижена долго, то может случиться атрофия и истончение мышечного волокна.
Собственно, поскольку деньги там огромные, пришли хакеры-биохимики и начали взламывать перенос нервного сигнала. Уязвимость нашлась довольно странная, и на базе неё сейчас строится сразу несколько разных вариантов терапии шрамов. Ну и заодно — морщин.
Поэтому добро пожаловать в историю того, как правильно ломать нервы.
Читать далееЯ поломался, поломался — и поломался на осколки. Признаю́: железные помощники Т9 действительно могут приносить пользу в разработке. Единственное, что мне не нравилось — то, что весь проект большой и хорошо натренированной модели не скормишь, а значит — неизбежны потери контекста, размывание смыслов и джойсовские галлюцинации.
Я уже давно понял: если мне нужно, чтобы что-то было сделано хорошо, — делегирование отпадает, придётся брать в руки молоток самому. Это касается любых жизненных аспектов: варки борща, замены сантехники, перевода Эдгара Аллана По или Антонио Мачадо на русский, или, там, программирования.
Когда БЯМ научились подключать сторонние MCP-сервера, произошел качественный скачок. Теперь не нужно файнтьюнить модель, можно файнтьюнить буковку «R» из акронима «RAG». Я-то лучше знаю, как правильно извлекать смыслы из моего личного контента. Если речь про код — лучше всего искать правду в AST.
Так и был зачат Ragex — MCP-сервер для семантического анализа кодовых баз с элементами чёрной магии. Проект, понятно, написан на Elixir, потому что ну а на чем еще?
Читать далееКомпания Calcomp была основана в 1952 году в Калифорнии. Она прославилась как один из ведущих производителей плоттеров и других устройств для автоматизированного проектирования и графики. В 70-80-х Calcomp занимала лидирующие позиции на рынке и ассоциировалась с передовыми технологиями того времени. Рассказываем в нашей статье, почему же производитель электроники не смог пережить 90-ые.
Читать далееЯ возглавляю стрим Компьют (Вычислительные Ресурсы, говоря проще) в быстрорастущем облачном провайдере с осени 2024 года. Мы (и стрим Сетей) отвечаем на облачные примитивы, на которых строятся буквально все другие облачные продукты. За это время стрим столкнулся с настоящими вызовами, некоторые процессы пришлось выстраивать.
Когда первый раз мне HR`ы сообщили, что наш оффер принят, я столкнулся с тем, что хоть про онбординг‑адаптацию и говорят, конкретных гайдов и статей нет. На мысль о том, что «что‑то надо с этим делать» меня натолкнула коллега с другого направления, которая постоянно жаловалась на трудности адаптации и отсутствие информации. У нас, конечно, информации было достаточно в конфлюенсе, но, она не была структурирована для быстрого погружения нового сотрудника. Это был тревожный звоночек. Мы тратили месяцы на сложный технический отбор (воронка в 2-3% от кандидатов), находили сильных специалистов, а затем рисковали потерять их в первые же недели из‑за некачественных процессов и информационного голода.
Я исходил из простой мысли: высокий порог входа в наш продукт — данность. Облака, Kotlin, сложная кодовая база — от этого никуда не деться. Значит, нельзя позволить, чтобы к ней добавился хаос в процессах. А задача лида — построить чёткий маршрут, по которому новичок сможет комфортно присоединиться к проекту.
В этой статье я подробно расскажу, как мы превратили груду ссылок в чёткую систему ввода новых людей в проект. Этот подход уже используют другие команды. Это не абстрактные рассуждения, а готовое решение, чтобы новичок не терялся и быстрее включался в работу.
на борт!ИИ отменяет продактов или наоборот делает их профессией №1? Спор Булдаковой и Эндрю Ына + вывод для джунов и лидов.
Читать далееНекоторое время назад я обнаружил, что мой доселе чистый и светлый интернет стал подвержен проблеме, которую лично я охарактеризовал как "подзатупы". В данной статье описано, как мне удалось решить данную проблему "малой кровью" путем разработки простого, но от того не менее эффективного решения для репликации IP-пакетов через разные интернет-каналы.
Читать далееВ мире PostgreSQL, как и в автоспорте, не существует единой идеальной стратегии для всех трасс. Выбор интервала контрольных точек (checkpoint_timeout) — это пит-стоп: можно заезжать часто для максимальной скорости на прямых, но рискуя потерять время на самом заезде, или реже — для стабильного и предсказуемого ритма всей гонки. Всё зависит от типа «трассы» — характера нагрузки на вашу базу данных.
GitHub - Комплекс pg_expecto для статистического анализа производительности и нагрузочного тестирования СУБД PostgreSQL
Глоссарий терминов | Postgres DBA | Дзен
Читать далееОценка американского фондового рынка сегодня выше, чем перед крахом 1929 года. Что это значит для всех нас?
Financial Times опубликовала материал, который вы, возможно, должны были видеть повсюду, но почему-то не видели.
Оценка американского фондового рынка сегодня выше, чем была перед крахом Уолл-стрит в 1929 году.
Просто осознайте это на секунду.
Выше, чем в 1929-м. Выше, чем в 2008-м. На уровне пузыря доткомов.
И это подтверждается не одним показателем, а сразу несколькими - коэффициентом «цена/прибыль», соотношением капитализации и ВВП. По всем параметрам мы на исторических высотах.
Читать далееС Новым годом, дорогие друзья! Не знаем, как у вас, но у нашей команды на столах мы насчитали: салаты с майонезом, Наполеон и хачапури из слоёного теста на маргарине, сыры всех видов и марок, включая плавленые и лёгкие, тарталетки на спреде и песочные пирожные на сливочном масле, заводской хлеб и выпечку всех видов, конфеты, вафли, а ещё бутерброды с икрой, на которые было намазано ТОЧНО сливочное масло, из‑под коровы, забранное у хозяйки не в очень аккуратной упаковке, а в пергамента в мятом не особо эстетичном, но вкусном комке. А остальное — НЕ ТОЧНО? Что с мифами о пальмовом жире в начале 2026 года? Разбираемся с аппетитом.
Читать далееЯ не такой частый юзер Sora, но когда увидел, что люди ПРОДАЮТ доступ к видео без водяных знаков — сначала подумал, что они сделали машинное обучение и фотошопом каждый кадр обрабатывают. Но когда я попробовал - результат был готов за 1 секунду. В тот момент я осознал: ЗНАЧИТ ВИДЕО ЛЕЖАТ НА СЕРВЕРАХ. Во мне проснулся инстинкт хакера, и я начал искать ДЫРУ.
Первым делом я полез изучать вкладку Network, пробуя различные методы тыка туда-сюда... (ссылка на GitHub и на готовый продукт - в конце статьи)...
Читать далееРовно три года назад, в декабре 2022 года, у меня появилось новое хобби -- увлечение старыми ноутбуками. А произошло это так. Однажды мне надоело таскать в рюкзаке туда-сюда единственный ноутбук, и я решил приобрести второй рабочий ноутбук, чтобы никуда без острой необходимости его не носить. Сначала я подбирал недорогой новый. Как оказалось, почти все современные ноутбуки не удовлетворяли моим требованиям в плане оснащения. Мне нужны были: порты Ethernet и HDMI и слот для полноформатных карт памяти SD. При этом процессор хоть и не топовый, но и не лоукост. Ну и дизайн хотелось, чтоб был приятный, а не как у бюджетников 2010 года. Вариантов было мало, а цена высокой. Решил искать подходящий среди подержанных в основном под привычными мне марками Acer и Fujitsu по приемлемой цене. И если среди Acer, Toshiba это были хоть и старые, но с более-менее актуальными характеристиками, то среди Fujitsu, Lenovo это были модели на Core 2 Duo и старее. Попадались и ретро, вызвавшие во мне ностальгические чувства к LifeBook, ведь одним первых ноутбуков, купленных мною новыми, был как-раз этой компании. В общем, купил я сначала один, потом другой... В основном покупал по низу рынка, полуживые и на запчасти. По возможности приводил в порядок и восстанавливал работоспособность. Иногда приобретал экземпляры и в хорошем состоянии. А в прошедшем, 2025 году, я завёл канал в Telegram и начал рассказывать о своём хобби на Хабр. Но это не всё. Думаю, что можно подвести итоги и немного рассказать о планах.
Читать далееГрафический формат JPEG уменьшает размер изображений без особо заметной для глаза потери качества — упрощая тем самым их хранение и передачу. Студенты из БГУИР — Артём Подгайский, Сергей Буйвид, Юрий Наскевич и Дмитрий Степанчук — в в рамках Зимней школы RISC-V YADRO изучили работу декодера JPEG для архитектуры RISC-V, нашли пути для его оптимизации и далее расскажут о своем проекте.
Читать далееПривет, Хабр! Многие гитаристы мечтают получить в подарок на зимние праздники настоящий Лес Пол. На фото как раз такой, полноправно носящий на пере грифа золотое факсимиле автографа изобретателя этой культовой модели электрогитары — виртуозного Лестера Уильяма Полсфусса.
Но это не американский Гибсон, а китайский Эпифон, причём из самой дешёвой линейки Special. В этот праздничный январский день мы сможем подробно рассмотреть и услышать все достоинства и недостатки данного ширпотребовского изделия, а также изучим возможности его усовершенствования.
Читать далееПредыдущие части:
Как мы программировали в 80-е или Путь в тысячу ли начинается с первого шага программы.
Как мы программировали в 90-е. Часть #01
После института я распределился в КБ в Омске. Аббревиатура «КБ» в советские времена – это конструкторское бюро (какова эпоха – таково и КБ!), попасть в КБ было престижно, а в закрытое – т.е., секретное – особенно. Закрытые предприятия назывались ящиками – все отправления на него адресовались на почтовый ящик с определённым номером.
Читать далее"""
Никто меня не понял:
ни школа, ни семья,
мой удар учитель помнит
и не зря.
"""
_(с) из Арии_
Изначально пост создал для западной аудитории не скрывая локацию автора и опубликовал его на Reddit в сообществе визуализация данных. Успех & фиаско в одну ночь. Понедельник начинается в субботу: меньше чем за сутки, выделяющаяся оригинальностью в топике, публикация набрала свыше 50К просмотров, но спустя скоротечное время препринт был удалён модераторами онлайн сообщества, т.к. персональную визуализацию данных можно публиковать лишь по понедельникам по североамериканскому восточному времени.
Суть: в 2016г. приобрёл gps-трекер, записал свою первую спортивную активность adventure outdoors при помощи гаджета и выгрузил её в спортивную соцсеть. Спустя 10 лет, в честь знаменательной даты, запросил полный бэкап тренировок из облака и распарсил gpx-данные...
Читать далееС детства люблю две вещи: читать и небольшие прикладные исследования. В этой статье я покажу простой метод разбора наших литературных вкусов с помощью ИИ. Почему нам нравятся эти книги? Что в них такого для нас? А о том, как деконструировать кинематографические предпочтения, рассказано тут.
Читать далееПривет, Хабр!
Пожалуй, одним из первых устройств, которые подключаются к умному дому (конечно, после модуля управления освещением), является домашняя метеостанция. Вот и мне на новом месте и в новом умном доме потребовалось реализовать данное устройство. Но есть одна проблема: находясь вдалеке от своей домашней лаборатории, я имею минимальный набор инструментов и лишен таких благ цивилизации, как лазерный мини-ЧПУ для изготовления плат и 3D-принтер. Поэтому для реализации проекта будем работать по старинке, в режиме жесткого DIY-хардкора (или в режиме «Очумелых ручек»). Впереди много картинок и термоклея, так что включайте ваши паяльники и поехали!
Читать далееКомпания Samsung недавно показала Exynos 2600. На минуточку, это первый в мире мобильный процессор, созданный по 2-нанометровому техпроцессу. Конечно, эти нанометры маркетинговые, но все же новинка — заметный шаг вперед для отрасли. Samsung первой довела новый техпроцесс до серийного мобильного чипа, тогда как Apple, Qualcomm и MediaTek пока что используют 3-нанометровые решения в массовых продуктах. Exynos 2600, скорее всего, станет основой для смартфонов Galaxy S26, релиз которых ожидается в феврале 2026 года. Чем интересен этот чип, как Samsung удалось вырваться вперед и какие вопросы остаются? Давайте разберемся.
Читать далееИскусственный интеллект в 2025 году окончательно закрепился как одна из ключевых тем финтех-рынка. Он влиял не только на продуктовые решения, но и на стратегии компаний, партнерства и повестку отраслевых дискуссий.
FinTech Futures подвел итоги года и разобрал пять самых заметных AI-новостей — от крупных коллабораций и кадровых назначений до нестандартных интеграций и появления агентных AI-систем.
Читать далее