Как-то так получилось, что я NLP-инженер, который закончил Московский государственный лингвистический университет. Мне нравится ковыряться в коде и мозгах нейросетей, при этом я стараюсь не забывать, на каком фундаменте выросла трендовая ныне область под названием Natural Language Processing (NLP).
Поэтому захотелось собрать в одной статье беглый обзор истории компьютерной лингвистики — от первых теорий и грамматик Хомского до появления рекуррентных сетей и механизма внимания. Думаю, стоит остановиться ровно перед эпохой трансформеров, потому что это отдельная, глубокая и достойная собственного рассказа тема.
Читать далееПредставьте, что у вас есть многослойный пайплайн обработки данных.
Ширина слоя — 5000 узлов. Количество слоёв — 60. Общее число узлов — 300 000.
Каждую секунду приходит 10 новых событий (изменений на входе). Наивный подход — пересчитать всё с нуля — будет перебирать все 300 000 узлов на каждое обновление. При 10 обновлениях в секунду это 3 млн вычислений узлов в секунду. А если ширина слоя 100 000 и слоёв 100? Получаем 10 млн узлов на пересчёт. Компьютер не справляется.
Читать далееФинансовые системы предъявляют жёсткие требования к производительности.
Риск-департамент запрашивает переоценку портфеля из 200 000 опционов. Маржинальная система требует пересчитать все позиции клиентов после сильного движения рынка. Алгоритмический трейдер хочет оценить Greeks для тысяч потенциальных сделок за миллисекунды.
Стандартные подходы на .NET дают сбой по трём причинам.
Причина 1: Объектная модель
Каждый опцион становится отдельным объектом в куче. Виртуальные методы, ссылки, разрозненное расположение в памяти. Для 200 000 объектов — миллионы байтов, GC-паузы на сборку, промахи кэша процессора.
Причина 2: Позлементные вычисления
Вызов функции ценообразования в цикле — плохо. Процессор не может векторизовать код, потому что не видит всю картину целиком. SIMD-инструкции простаивают.
Причина 3: Аллокации в горячем пути
Каждый вызов new double[100000] для хранения промежуточных результатов — это давление на GC. В 24/7 сервисе такие аллокации накапливаются и вызывают непредсказуемые паузы.
Требования к решению
Читать далееДопустим, вы делаете симуляцию города. Или RTS. Или RPG с открытым миром. И у вас в сцене одновременно находится 5, 10, а то и 20 тысяч живых существ. У каждого свои цели, приоритеты, эмоции, социальные связи.
Ваша архитектура AI начинает трещать по швам.
Классический подход — дать каждому NPC компонент с методом Update() — перестаёт работать где-то после 500–1000 объектов. Дальше начинаются проблемы:
Читать далееКраткая справка об основных действующих лицах:
Lia Montelongo - модель, инструктор по фитнесу и йоге, преподаватель танцев, эксперт в вопросе персональных тренировок. Всемирно извесна по ролям в серии Mortal Kombat - Синдел в Mortal Kombat 3 (1995), Тани в Mortal Kombat 4 (1997) и Сарины в Mortal Kombat Mythologies: Sub-Zero (1997).
Читать далееУже многие написали и рассказали о таком полезном инструменте для организации своих заметок как Obsidian.
Если кто еще не знает, Obsidian - это бесплатное Electron-приложение, доступное на всех основных платформах, созданное Эрикой Сю и Шидом Ли уже в далёком 2020 году. В этой программе итересным UI-решением, позволившим привлечь внимание аудитории, стало визуализация графа заметок, как некой общей карты,мозга, базы знаний, состоящией из md-документов. Для меня на приктике эта фича оказалась самой бесполезной по сравнению с другими возможностями платформы. Встроенные плагины для ежедневных заметок, тэги, мощный поиск, шаблоны, работа с изображениями и многое другое + больше колличество стороннних плагинов на любой вкус и возможность при необходимости написать их самому. Вот, что мне пригодилось на самом деле. Я действительно за короткое время перенес все свои заметки из разрозненных источников в одно место и программа стала моим ежедненвным инструментом. Поэтому я стал ее использовать на нескольких устройствах.
Когда встал вопрос синхронизации я сразу нашел такой функционал внутри самого Obsidian. Но он платный. Данные для синхронизации ходят через сервера разработчика приложения. Меня не очень устроил этот вариант. Вариант с тем, чтобы бегать между компьютерами с флешкой тоже сразу отпал. Во-первых - это бред. Во-вторых - это бред. В-третьих - это неудобно и данные ломаются при ручном слиянии.
В качестве решения я нашел opensource-программу syncthing. Она простая, быстро устанавливается, имеет довольно простой интерфейс. На своих устройствах я использую Ubuntu, поэтому данное ПО также отлично подходит.
Читать далееНаписание курсовой работы — это всегда трудоемкий процесс, требующий обработки огромных массивов информации: от подбора релевантных источников до структурирования глав и проверки уникальности текста.
С развитием генеративного ИИ подход к обучению и подготовке студенческих работ кардинально изменился. Курсовая с помощью нейросети — это не способ «обмануть систему», а мощный инструмент автоматизации рутины, структурирования мыслей и преодоления творческого кризиса.
Читать далееЕсли у вас есть какая-то система мониторинга чего-то - наверняка там есть какие-то показатели, которые актуальны здесь и сейчас: для метеостанции - температура, для роутера - трафик, для сервера - нагрузка, и т.д. - в общем, какая-то актуальная величина. Но кроме онлайн-значений - может быть полезен график, например за ближайшие сутки, или за месяц, или за год - чтобы можно было оценивать тренды.
Или наоборот: иногда происходит какое-то событие, достаточно редкое (сбой, или наоборот срабатывание), но хотелось бы понимать, насколько часто, и не меняется ли его частота в разные периоды - ведь это может быть признаком более серьезной проблемы.
Самое очевидное решение - писать данные в базу. Но такая таблица будет постоянно расти, занимать всё больше места, а выборка за прошлый период может отрабатывать довольно долго, особенно если требуется уместить целый год в 900 пикселей графика.
Когда-то и я наступил на эти грабли - когда база на MongoDB распухла так, что не влезла в 32-битный компьютер. Но это другая история.
При этом мало кому нужно точно знать, какая температура была на датчике 26 июля 2016 года в 14:33:15 - чаще достаточно просто усредненных значений. Вот как раз для подобного давным-давно люди придумали RRD - Round-robin database
Читать далееЕщё несколько лет назад студенту приходилось собирать дипломную работу почти полностью вручную: искать источники, продумывать структуру, писать теоретическую часть, оформлять главы, делать выводы и отдельно редактировать текст. Сейчас этот процесс стал заметно быстрее: нейросеть для диплома помогает не заменить студента, а собрать рабочий каркас, ускорить рутину и довести текст до академичного вида.
ИИ помогает:
Читать далееЗвучит как мем про стартап, который пытается быть всем сразу. Я сам так думал примерно до середины разработки. Но в итоге мы это собрали, выкатили в App Store и Google Play, и теперь команды реально ведут в этом проекты. Расскажу, как оно устроено внутри, что было тупо, что неожиданно сработало, и где я до сих пор не уверен, что мы поступили правильно.
Сразу оговорюсь: это не «убийца Jira» и не «убийца Slack». Это попытка убрать одну конкретную боль, на которую я смотрел несколько лет.
Читать далееАналитики обошли разработчиков. Банки нанимают каждого седьмого, но зарплату почти не показывают. 1С — второй по популярности инструмент рынка. И пара вещей про Go и GPT, которые вас удивят.
Мы собрали все активные IT-вакансии на hh.ru — по России, Беларуси, Казахстану, Узбекистану и Грузии. Итог после отбора: 20 000 позиций от 8 000 работодателей.
Зарплату указали только в 35% объявлений. Все медианы в этом тексте — только по ним. Работодатели, которые не показывают вилку, платят, возможно, иначе. Держите это в голове.
Читать далееКо мне на кафедре обратились двое старшекурсников. Они пишут программу для археологов: пользователь фотографирует, что нашел, программа лезет в модель (которая натренирована на исторические архивах) и возвращает карту вероятностей, где поблизости могут лежать неметаллические артефакты, которые металлоискатель не ловит. Дерево, керамика, кость, ткань и тд. Для обучения модели им нужен был большой датасет фотографий находок времен WW2 (значки, гильзы, медали, фрагменты обмундирования) под разными углами и наклонами.
Они прикинули два варианта: либо снимать каждый предмет вручную с разных ракурсов, перетаскивая штатив или поворачивая объект пальцами, либо сначала вылепить 3D-модель каждого артефакта вручную и потом программно крутить её в виртуальной сцене под разным светом, рендеря оттуда кадры для датасета. По обоим выходило пара месяцев работы.
Я предложил собрать автоматическую поворотку. Спроектировал, напечатал, написал прошивку и питоновский скрипт. Сразу не заработало, переделал пару дней. К ночи рабочей версии я сидел за столом и каждые 12 минут жал ресет на Arduino, меняя предмет на платформе. К утру датасет был готов.
Читать далееПредставьте типичную продуктовую команду. У них все просто и понятно: вот бэклог, вот новые фичи, вот спринты, а в конце довольный бизнес считает прибыль. Метрики эффективности прозрачны: выпустили фичу вовремя, и если за ней не последовал шлейф багов, все молодцы.
А теперь представьте команду внутренней Платформы. Они не создают продукт для внешних заказчиков. Их клиенты — это соседние отделы разработки. И когда платформа работает идеально, ее никто не замечает. Но если нет, разработчики фич тихо страдают.
Читать далееЗдесь мы ступаем даже не на хрупкий лёд, а по пояс проваливаемся в туман над болотом. У нас нет единого определения интеллекта, сознания, а нейробиология как наука находится в фазе стремительного роста, что, сугубо по мне, соответствует этапу развития подростка. Но никак не зрелой личности. Поэтому, руководствуясь тем, что можем наблюдать и краеугольным: «я так чувствую», лезем в дебри методологических анализов. И щупаем наличие сознания у машины, и не только у неё.
Читать далее«Напишем сами, там простая логика», — так говорит каждая вторая команда из тех, с кем мы работаем. Простая логика оказывается льготными периодами, пересчётами при смене тарифа и разработчиком, который единственный знает, почему вот этому клиенту выставляется именно такая сумма. Четыре грабли и список того, что стоит заложить до первого клиента.
Читать далееКак же сделать цифровой рубль инструментом сбережения?
Всё относительно просто. Центральный банк может разрешить гражданам приобретать не физическое золото из государственных резервов, а его цифровые эквиваленты (токены) в обмен на цифровые рубли. На сегодняшний день прямые продажи золота из резервов населению не ведутся — они осуществляются лишь банкам и госкомпаниям. Однако законодательная база для более широкого оборота драгметаллов постепенно создается, что делает такой сценарий не фантастикой, а вопросом будущего.
В рамках предлагаемой модели после сделки реальное золото останется на хранении в ЦБ, а цифровые рубли за приобретенные золотые токены будут изъяты из оборота — произойдет их ремиссия (своего рода «сжигание» денег). Спустя оговоренный срок (например, год) Центральный банк сможет выкупить этот золотой токен обратно, произведя эмиссию цифровых рублей уже по рыночной цене золота на момент покупки. Разница в цене и составит доход держателя токена.
Читать далееКак-то раз на одном из программистских форумов я наткнулся на интересную задачку. Интересна она была тем, что требовалось рекурсивное решение на Java. Мне захотелось разобраться…
Читать далееCursor, Copilot и другие AI‑инструменты обещают быстро закрыть рутину с unit‑тестами: сгенерировать кейсы, расставить моки, добавить ассерты и поднять покрытие. Но зелёные тесты ещё не означают, что код защищён от регрессий.
В статье разбираем пять типичных паттернов, из‑за которых AI‑сгенерированные тесты выглядят убедительно, но пропускают реальные баги.
Читать далееСлучайная продажа молодого продукта может выглядеть как подтверждение рынка. На практике она часто оказывается коммерческой аномалией: деньги пришли, но не по той логике, которую команда собиралась проверять. Такая выручка приятна, но опасна, если на её основании начинают менять стратегию, продукт и продажи.
Иногда щука действительно оказывается в лодке после удара веслом. Но это ещё не делает весло рыболовной снастью. В продажах молодого продукта случайная выручка работает похожим образом: событие было, а метода пока нет.
Читать далееVK без предупреждения удаляет IP-адреса. Доступ к Telegram блокируют со всех российских VPS. Обход белых списков классическим способом - под угрозой. Это не список проблем — это первые два месяца работы VPN-сервиса в 2026 году.
Все начиналось обычно: без мата, ругани, алкоголя...
Читать далее