Мы, разработчики на Java, используем параметризованные типы каждый день: List<String>, Map<Long, User>, Optional<Order> и так далее. Однако у параметризованных типов есть важная особенность: в Java они существуют в полном виде только на этапе компиляции.
Читать далееJSON в PostgreSQL давно перестал быть экзотикой, но работать с ним по-реляционному до сих пор приходилось не самым изящным способом: jsonb_array_elements, LATERAL, ручные касты, обработка ошибок на честном слове. В PostgreSQL 17 появился JSON_TABLE — стандартный SQL/JSON-механизм, который превращает JSON-документ в табличное представление одним выражением. В статье разберём, как он работает, чем отличается от привычного подхода, где действительно упрощает запросы и какие ограничения по производительности и применению у него остаются.
Читать далееЯ работал над Pizza Legacy — опенсорсным воссозданием игры 1994 года Pizza Tycoon для DOS. В игре есть вид на улицы города, при скроллинге которого игрок наблюдает постоянный поток машин. Это примерно 20-30 маленьких спрайтов, однако они едут по дорожной сети, создают очереди на перекрёстках и в целом выглядят как оживлённый город. Да, симуляция иногда глючит, машины проезжают друг через друга, но этого достаточно, чтобы придать карте ощущение жизни. И всё это на процессоре 386 с частотой 25 МГц.
Когда я приступил к реализации своего проекта в 2010 году, то первым делом создал этот вид улиц, но мне понадобилось ещё четырнадцать лет, прежде чем машины начали двигаться по нему так, как это меня устраивало; за эти годы я совершил множество попыток, но каждый раз сталкивался с проблемами и заходил в тупик из-за создания переусложнённой системы.
В 2017 году я попробовал сделать так, чтобы каждый тайл отслеживал занятые позиции, а каждая машина запрашивала разрешение, прежде чем двигаться вперёд, резервируя и освобождая слоты в процессе перемещения. По сути, это превратилось в систему блокировок, необходимую для того, чтобы всего лишь перемещать несколько пикселей; машины и тайлы при этом постоянно пытались синхронизироваться.
Всё это время мне не давала покоя одна мысль: если оригинальная Pizza Tycoon работала на процессоре с частотой 25 МГц, то почему мои версии всегда оказывались столь сложными?
Наконец, я решил заняться ассемблерным кодом (на медленное понимание и документирование которого я уже потратил много лет), чтобы разобраться, что же происходит в оригинале; кроме того, я воспользовался помощью LLM, которые на тот момент (пару лет назад) были новой и увлекательной технологией, способной разбираться в ассемблерном коде лучше, чем я.
Читать далееВ предыдущих статьях я описывал модель «снизу», начав с самых основ онтологической простоты и введя минимальную единицу бытия — бинарный коррелят, «Атом смысла».
Кратко напомню ключевую интуицию.
Когда мы пытаемся приблизиться к фундаментальным единицам бытия, то используем классическую редукцию, упрощая известные нам составляющие вещества. Сначала мы говорим о молекулах, затем переходим к элементарным частицам и полям. В теории струн речь уже идет о многомерных вибрирующих струнах как базовых кирпичиках, из которых построено всё материальное.
В какой‑то момент мы останавливаемся и говорим: это и есть фундаментальная основа всего. Однако на чём бы мы ни остановились, это нечто всё равно обладает внутренней структурной сложностью. Если это струна, то она многомерна, она вибрирует, у неё есть разные моды, и всё это разворачивается на уже готовой сцене пространства-времени, которое мы принимаем как данность. Где же здесь настоящая простота?
Взгляд снизу с необходимостью заставляет нас оттолкнуться от единственно-честного ничто. Не физический вакуум, не пустое пространство, а абсолютное онтологическое ничто — полная противоположность всякому «есть». То самое атеистическое ничто, которое наступает после смерти или предшествует рождению, когда нет даже возможности помыслить наличие чего бы то ни было.
Таким образом, у нас есть база, на фундаменте которой имеет смысл создавать нечто фундаментально простое, что я и называю Атомом смысла. Опустив все промежуточные рассуждения, Атом смысла можно описать как чистую бинарную корреляцию: потенциал быть «да» или «нет», «различимо» или «неразличимо». Не само значение, а именно потенциал значения — коррелят в чистом виде.
Читать далееС интересом прочитала статью @maybe_elf «Проекту IPv6 исполнилось 30 лет». Но очень удивилась некоторым комментариям к ней. К сожалению, у многих российских ИТ инженеров до сих пор нет понимания неизбежности перехода на IPv6. Поддерживаю позицию Сергея Федотова @FSA. И полностью согласна с мнением Сергея @kovserg, что «на самом деле проблема не в ipv6, а в том что людям лень разбираться в дебрях спецификаций».
Решила поделиться опытом проектирования и внедрения IPv6 соблюдая отраслевые спецификации. Накопился внушительный объем материала (разработка, внедрение, безопасность), но начинать надо сначала и сверху. Так что цель этой статьи – предоставить информацию и рекомендации, касающиеся аспектов планирования адресации при развертывании IPv6.
Но прежде, чем начать я бы хотела добавить еще один аргумент за IPv6. Ну, согласитесь – это красиво!
Читать далееГод назад я опубликовал первую статью про разработку приложения календаря тренировок. Спустя 5 месяцев опубликовал рассказ о 10 обновлениях. Сейчас время финала истории - ещё 7 обновлений за 7 месяцев.
Сам регулярно пользуюсь приложением - оно добавляет мотивации заниматься спортом дальше, сохраняет график тренировок, следит за объемом выполненных упражнений. На текущий момент в приложении больше 150 зарегистрированных пользователей.
Времени на пет-проект уделял крайне мало, но основная функциональность была уже готова ранее. Сейчас на нём можно пробовать что-то новое - получается хороший полигон для испытаний.
Frontend: Typescript, Vitest, Vite, Vue, Tanstack Query, Vue I18n, Tauri
Backend: Typescript, Vitest, Esbuild, Fastify, Mongoose, MongoDB, Swagger
Читать далееTL;DR: В статье описаны 5 методов запуска маркетинга без бюджета: ручной аутрич в VK/Telegram/LinkedIn (конверсия ~1% в сделку), контент-маркетинг на Habr/VC.ru/Дзен (0-5 обращений на статью), нетворкинг в профессиональных Telegram-чатах (1-2 обращения в месяц на чат), карточки в Яндекс.Картах и 2ГИС (30-50 звонков в месяц при попадании в топ-3), использование бесплатных нейросетей для создания контента (экономия 50-70% времени). Реалистичный результат через 3 месяца регулярной работы: 23-50 лидов в месяц без затрат на рекламу.
Читать далееAI-сообщество активно продвигает Skills как новый стандарт для расширения возможностей LLM. Я с этим не согласен. Skills отлично работают как чистая передача знаний — когда нужно объяснить модели, как использовать уже установленный инструмент. Но для подключения к реальным сервисам Model Context Protocol остаётся более правильным архитектурным решением. Нам нужно строить коннекторы, а не плодить CLI.
Читать далееБольшинство команд до сих пор вручную собирают агентные циклы в LangGraph. Deep Agents предлагает более высокоуровневый подход, и он более категоричный в своих решениях, чем можно ожидать.
Читать далееБаланс между производительностью, читаемостью и поддерживаемостью — ключевая задача при разработке микросервисов на Go. На практике всё сложнее из-за неочевидных факторов: от влияния частоты вызовов GC на время отклика до последствий избыточной вложенности в контрактах API. Если не учесть эти нюансы, даже грамотно спроектированный сервис может просаживаться по RPS (requests per second) — или его может быть сложно обновлять и дорабатывать.
Меня зовут Артём Кущ. Я Go-разработчик в команде VK Видео. В статье поделюсь подходами к оптимизации микросервисов и расскажу, как балансировать между скоростью и простотой.
Читать далееДействующие лица:
МП (Молодой Пол) — год в индустрии, глаза горят, в голове свежий Clean Architecture. Верит, что облако бесконечно, а new — почти как комментарий: написал и забыл.
ДП (Дядя Паша) — 47 лет, седая борода, архитектор. Первый продакшен — в 12: школьная программа по астрономии, которая мерила знания и ломала нервы отличникам. Сейчас — терраса в Палермо, бокал холодного Мальбек, на экране — метрики и паузы GC.
Читать далееВся деятельность сотрудников должна быть нацелена на достижении установленных руководителем (владельцем) результатов в определенные сроки. А что происходит при практической реализации намеченных планов? Что препятствует или способствует такой деятельности сотрудников? Это, конечно, риторический вопрос, так как ответ давно известен – это деятельность самого руководителя (владельца) компании, т.е. то, как он организует работу свою и сотрудников и имеется ли у него понимание что и как надо делать, чтобы получать максимально возможный при имеющихся условиях результат.
Попробуем разобраться, какие признаки отражают появление несоответствий между произошедшими в деятельности компании изменениями (появление новых задач, оптимизация бизнес-процессов, применение более современных орудий труда, технологии и др.) и существующей системой управления, которая уже начинает тормозить ее развитие. Система управления должна обеспечивать осуществление производственной деятельности компании наиболее оптимальным способом и при изменении этой деятельности необходимо оперативно ее подстраивать для достижения намеченных результатов. Если своевременно этого не делать, то несмотря на применение самых современных технологий и оборудования добиться максимального эффекта от их внедрения будет затруднительно.
1. Соответствие имеющихся в компании трудовых ресурсов поставленным задачам.
Самым главным и ценным ресурсом, который целеустремленно ищет и собирает любой руководитель (владелец) компании, являются сотрудники, которые предоставляют свой труд (знания, опыт и компетенции) для выполнения намеченных задач. Руководитель (владелец) компании формулирует задачи и требования к руководителям верхнего и среднего уровней управления и к отдельным специалистам, которые должны будут реализовывать эти задачи. К сотрудникам (исполнителям) нижнего уровня управления требования обычно определяют руководители функциональных подразделений (среднего уровня управления).
Читать далееКлиент тщательно выбирал систему, но забыл подготовить инфраструктуру в организации. Разберем ошибку, последствия и как этого избежать.
Читать далееCoreBus — кроссплатформенный терминал для работы с COM-портами и TCP-сокетами с поддержкой протоколов Modbus TCP / RTU / ASCII и много чего еще.
Приложение развивается уже довольно давно. Но была одна фича, которой не хватало, чтобы сделать CoreBus по-настоящему универсальным терминалом. Мне об этом писали еще с первых релизов. В личных сообщениях и в комментариях к статьям. Эта идея формулировалась по-разному, но суть была одна.
И поэтому хочу представить вам новый режим - "Modbus мониторинг"!
Читать далееСалют, Хабр!
Есть продуктовые идеи, а есть потребности людей, которые полностью не закрывает ни одно решение на рынке. И их очень важно различать. Особенно когда создаёшь умные устройства… или что угодно другое.
Мы в SberDevices создали на основе старого знакомого фреймворка Jobs to be done (JTBD) рабочую систему для продуктовых решений. Она позволяет нам видеть реальные пользовательские работы, делать их измеримыми, сравнивать между собой и на этой основе математически расставлять приоритеты для новых устройств, функций и сценариев.
В статье расскажем, как вырастили из качественных интервью единую карту пользовательских работ, адаптировали количественную валидацию под новый экосистемный продукт и получили полноценный инструмент для продуктового планирования. Ещё — что такое кач и кто такие спидстеры.
Читать далееНа второй день конференции больше упора мы сделали на секцию, где рассматривалось железо. Говорили о проблемах в импортозамещении, о вопросах замены Cuda-единиц для вычислений на китайские аналоги.
Точнее говоря, о замене речи не идет, так как лидером по результатам внедрения в ВТБ все-равно остается Nvidia. Но вопрос пошел о кратном росте мощностей за счет гибридной структуры серверов, где наравне с железом американского производителя используются китайские GPU фирм Metax, Biren Technology, Moore Threads, LLuvatar CoreX. Это может также гарантировать в некотором понимании независимость от геополитических ограничений.
Так, если во время использования облачных серверов с GPU компании не задумываются, откуда брать железо, то сами владельцы таких серверов в это самое время, ну известный факт, беспокоятся даже о том, что Америка ввела ограничения на количество поставок видеокарт в различные страны, в том числе в Россию. Факторов влияния на рынок много: ужесточение политики импортозамещения оборудования в гос. закупках, санкции и экспортный контроль, совершенствование и устаревания технологий в GPU, нюансы конвертации валют и общения с зарубежными коллегами в ходе поставок в Россию, дефицит квалифицированных кадров в отрасли.
Тем не менее, объем российского рынка облачных сервисов с GPU значительно вырос за последние 2 года практически по закону Мура: с 12,3% в 2024 году до 27,4 в 2026 году, а прогноз к 2030 году согласно исследованиям от компании t1 составляет 85,5%.
Стало интересно и о достижениях Ростелекома по оптимизации модели ViT-B. Один из докладчиков вообще показал, что Россия в чем-то опережает зарубежных коллег, например - в аппаратном ускорении в Vulcan при рассмотрении таких аппаратных ускорений, как Vulcan, Cuda и OpenCL. Предложено решение Kernel_slicer.
Читать далееВ крупном бизнесе нет роскоши «делать всё индивидуально», когда речь доходит до знаний и вхождения в должность или процессы (онбординга). Каждый новый руководитель, менеджер по продажам или инженер должен встраиваться в уже работающий механизм так, чтобы компания не дёргалась от каждого найма и увольнения.
Читать далееМеня зовут Полина, я 9 лет работаю в РГС, и почти два года из них вожу настольно-ролевые игры в нашей компании. За это время мы успели побывать волшебными котятами в Хогвартсе, американцами 20-х годов, расследующими мистические происшествия, персонажами фентези в Забытых Королевствах и даже воскресили Ильича (что, кстати, довольно символично).
Казалось бы, чем занимаются серьезные люди? Но между тем НРИ — это отличный способ отдохнуть после работы, завести новые связи и развить свои софтовые навыки.
Читать далееВ 1844 году два шахматных клуба — в Вашингтоне и Балтиморе — сыграли партию на расстоянии 60 километров. Ходы передавали по проводу с помощью телеграфа. По сути, это была первая «онлайн-игра» в истории.
За несколько месяцев до этого телеграф только запустили, и никто до конца не понимал, как применять его на практике. Формально он предназначался для передачи сообщений. Но очень быстро выяснилось: новая технология позволяет делать куда больше — вплоть до «живого» взаимодействия между людьми на расстоянии.
Именно так изобретение Сэмюэла Морзе неожиданно превратилось не просто в средство связи, а в прообраз сетевого взаимодействия — задолго до появления интернета.
Читать далееХотите сгенерировать фотографию, неотличимую от реальности? В статье: топовые нейросети для генерации реалистичных фото, секреты референсов и 21 профессиональный промпт для ИИ фотосессии.
Читать далее