Swift Package Manager отлично подходит для модульной архитектуры, но по мере роста проекта Package.swift быстро превращается в длинный список строковых зависимостей.
В статье показываю, как превратить Package.swift в типобезопасный DSL на Swift:
• убрать строковые зависимости
• автоматически генерировать feature-модули
• зафиксировать архитектурные правила на уровне компиляции
Привет! Миша Васильев на связи, разработчик в команде AI Битрикс24.
Недавно я написал статью про MCP — протокол для стандартизации работы LLM с внешними инструментами. Там мы разобрали, как это всё устроено, какие возможности даёт и почему это круто.
Но за год активной работы с MCP мы наступили на все возможные грабли. Некоторые из них очевидны только постфактум. Другие не описаны ни в какой документации. Третьи — следствие того, что MCP развивается настолько быстро, что устоявшихся практик ещё толком не существует.
В этой статье я собрал семь основных проблем, с которыми мы столкнулись при разработке MCP-серверов, и объясню, как их избежать (или хотя бы постараться это сделать).
Читать далееВ интернете только и разговоров, что про GNU/Linux. Про операционные системы семейства BSD не так часто разговаривают, как о нём. Они сложнее? Они скучнее? Попробуем ответить на эти вопросы вместе с одним из активных участников сообщества OpenBSD!
Читать далееГарвард отследил 62 миллиона работников в 285 000 компаний. При внедрении AI найм джунов падает на 9-10% за полтора года. А ещё 30-50% разработчиков в исследовании METR отказались работать без AI - физически не смогли. Через 3 года эти два факта столкнутся.
Читать далееВсем привет! Мы добавили новый функционал в мобильном приложении цифровой платформы для риелторов, который позволил создавать продающий контент для социальных сетей и генерировать новые лиды.
В статье расскажу, как мы пришли к созданию такого инструмента и как он повлиял на увеличение количества сделок наших пользователей.
Читать далееУзнайте, как оплатить инвойс в Китай, Корею, Японию, США и страны ЕС в 2026 году, через какой банк оплачивают инвойсы крупные логисты и какие ещё способы используются для оплаты инвойса за автомобиль, обучение, лечение, недвижимость и/или импортную поставку.
Получить инструкциюВы открываете приложение, чтобы быстро проверить баланс или забронировать стол, и тут же получаете в лицо: «Вам нравится наше приложение? Оцените нас!». Ваша реакция? В лучшем случае - машинальное нажатие на крестик, в худшем - удаление. Моя личная боль - открываешь банковское приложение для оплаты на кассе по СБП и получаешь аж три баннера один за другим на экран. Я не хочу прямо сейчас оформить кредит, не хочу оценивать ваши продукты. Я только открыл приложение, я покупки оплатить хочу. И такое поведение если уж не каждый запуск, то каждый второй точно.
В 2026 году Apple и Google стали еще жестче фильтровать накрутки, а пользователи - еще чувствительнее к прерыванию их «флоу». Тем не менее, рейтинг 4.9 - это не магия, а математика, психология и вовремя вызванный системный метод.
Давайте попробуем разобраться, как построить систему сбора отзывов, которая не превращает ваш продукт в назойливого попрошайку, и почему иногда лучший способ поднять рейтинг - отправить пользователя в чат поддержки.
ПродолжимВ прошлый раз мы говорили о фундаменте — о том, как важно уметь принимать критику, чтобы тебя самого было не страшно критиковать. Мы выяснили, что 93% менеджеров верят в пользу негативной обратной связи, но только 27% реально её дают. Остальные либо молчат, либо так дают обратную связь, что становится только хуже.
Теперь переходим к надстройке — форме. О том, что нельзя оскорблять и переходить на личности, написаны тонны гайдов — это очевидные вещи. Мы пойдём дальше и разберём три, казалось бы, «нормальные» практики, которые на самом деле являются убийственными ошибками. Ошибками, которые до сих пор насаждают на «курсах молодого бойца».
Читать далееСистема найма в IT сломана. Но не так, как принято думать.
Все обсуждают перегрев рынка, тысячи резюме на вакансию и ATS-фильтры, которые режут неподходящих кандидатов. На самом деле они режут не слабых, а тихих.
Посмотрел и прочувствовал с обеих сторон этого процесса: сначала нанимал как CPO, теперь ищу сам. Обратил внимание на одну структурную проблему, о которой почти не говорят: значительная часть сильных IT-специалистов стала невидима для рынка. Не потому что слабые. Потому что так устроены.
Разбираю механику клинча, слепое пятно работодателей и то, почему отрасль "помощников по найму" выросла не на жадности, а на поломке системы.
Читать далееЯ всегда хотел играть в игры, где NPC ощущаются по-настоящему живыми — как в исекаях или фэнтези-историях.
Не просто говорят: «Добро пожаловать, странник», — а помнят, что ты уже был здесь, спрашивал про кузнеца, и понимают, что сейчас вечер. Им можно сказать: «Привет, где здесь таверна?» — и они ответят голосом, учитывая прошлые разговоры и контекст мира.
В этой статье мы шаг за шагом соберём такую систему в Unity: от первого запроса к локальной LLM до персонажа, который слышит голос игрока, знает мир игры, помнит разговоры, делает выводы и отвечает голосом. В основе — архитектура Generative Agents от Stanford.
Читать далееНиколай Заболоцкий эмоционально переживал за атомную бомбардировку в Японии, написал стихотворение про березы и про птицу иволгу, а получилась у него молитва. Я убедился в этом с помощью Python.
Читать далееПривет! Меня зовут Артем Герасимов, я владелец продукта SimpleOne SDLC. За последние два года наша команда внедрила использование ИИ практически на всех этапах разработки — от прототипирования до код-ревью.
В этой статье расскажу, почему внедрение ИИ может незаметно превратить вашу кодовую базу в неподдерживаемое legacy, как измерять реальную эффективность вместо иллюзии скорости и какие правила помогут получать пользу без деградации качества.
Читать далееВ первой части этой статьи мы с вами разобрали ОНЧ, НЧ, СЧ, КЧ и ВЧ диапазоны. А также укрепились в мысли, что длина волны без привязки к среде распространения на практике не имеет смысла. Во второй части мы закончим наш обзор, погружением в миди- и микромир радиосвязи.
Читать далее10 марта Google выкатил Gemini Embedding 2 - embedding-модель, которая умеет превращать в векторы не только текст, но и картинки, видео, аудио и PDF. Причем все это ложится в одно векторное пространство. Раньше если вы хотели искать по видеобиблиотеке через RAG, приходилось городить огород: транскрибировать аудиодорожку, описывать кадры через Vision LLM, склеивать в текст, и только потом эмбеддить. Каждый шаг - потеря информации. Теперь можно скормить модели MP4 напрямую, и текстовый запрос «как настроить авторизацию» найдёт и статью из базы знаний, и фрагмент видеоинструкции.
Но сама по себе модель не решает проблему. LLM не может «прочитать» MP4, поэтому найденное видео без текстового описания - может быть бесполезно. Ключ - в правильной архитектуре: нативный эмбеддинг для поиска + параллельная генерация текстового описания для LLM: два канала, которые работают вместе и выводят мощь RAG наполную катушку.
В этой статье разберем что нового в Gemini Embedding 2 и построим полноценный мультимодальный RAG с нуля - Python, Supabase, Gemini API.
P.S. С кодом.
Читать далееЗаливаете бюджет в Telegram Ads, а веб-аналитика показывает сплошной direct?
Проблема не в трекере и не в криво настроенной кампании.
Клиент мессенджера физически отрезает UTM-метки на этапе инициализации Mini App.
В этой статье мы проводим реверс-инжиниринг контейнера WebView, разбираем смерть заголовка HTTP Referer на примере ecom-кейса со слепой зоной на €8300 и показываем, как собрать независимую архитектуру проброса сессий на базе Redis и CloudStorage Bot API 9.x.
Смотреть логи и решениеЕсли спросить разработчика, что такое dataLayer, чаще всего ответ будет примерно такой: «Ну это что-то из GTM». Я понимаю, что вот вы, конкретно вы, уважаемый читатель, так не отвечаете, и никто так не отвечает, но у меня вот такая статистика. А если спросить аналитика, что нужно для настройки событий, ответ будет: «Нужно просто пушнуть это в dataLayer» Здесь начинается легкое раздражение с обеих сторон. Разработчику кажется, что это часть Google Tag Manager, которую он не обязан понимать. Аналитику кажется, что это очевидная вещь уровня «объявить переменную». В итоге dataLayer превращается в некий черный ящик, за который отвечает «кто-то другой».
Спойлер: никто.
Главная мысль этой статьи простая: dataLayer — это просто глобальная переменная в window. Все остальное — это уже работа разработчика по задачам аналитика и последующий тюнинг аналитиком в тег-менеджере.
Читать далееВ девяностых мой реферат начинался с библиотеки и пары бутербродов в сумке. Я часами сидела в читалке и переписывала ключевые моменты от руки. Пока писала, всё само в голове откладывалось. Сейчас ИИ находит ответы за секунды, но в памяти у детей часто ничего не остается.
Недавно я заехала в сельскую школу к племяннику и увидела там другую картину. Классы по десять человек, телефоны на уроках сдают, а у доски нужно объяснять ход мысли своими словами. Там используют GPT, чтобы понять сложные темы, но просто списать не получится. Кажется, в деревне сохранили ту систему обучения через живой разговор, которую мы в городах потеряли.
Читать далееПринято считать, что любая сфера конкурирует внутри себя самой: нефтяные компании с нефтяными, транспортные с транспортными, а магазины за углом с ретейлом. Принцип работает и в игровой индустрии: студии борются за геймеров, их внимание и деньги, оптимизируя затраты на разработку и усиливая методы удержания.
Но оказалось, что все меняется.
Мне в руки попалась огромная презентация Мэттью Болла, медиааналитика и евангелиста метавселенной (а в прошлом Мэт был главой стратегии Amazon Studios). В презентации он предлагает смотреть на рынок иначе: игры теряют долю внимания не только внутри собственной индустрии, но и в более широкой борьбе за время, привычку и деньги пользователя. Геймдеву, кроме релизов игр, приходится конкурировать с соцсетями, порнографией, гемблингом, iGaming и многим другим, то есть с иными цифровыми доменами, которые тоже научились отлично монетизировать вовлечение.
Изучил огромную презентацию и разобрался в цифрах, насколько шатким оказалось реальное положение геймдева в мире.
Читать далееВ прошлых частях мы научились:
- делать кастомные сообщения (и поняли, что там есть подводные камни)
- использовать Custom и Must для сложной логики
Теперь новый челлендж. Проект растёт, валидаторов становится много. И вы замечаете, что одни и те же правила переезжают из класса в класс. Давайте-ка вынесем их.
Читать далееРынок QA больше не про «быстрый вход» и простые решения. Вакансий меньше, требований больше, а старые советы не работают. В статье — приземлённый алгоритм, который помогает начать путь от рынка, а не от обещаний, и не потратить год на подготовку без выхода к офферам.
Читать далее