Если Вы когда-либо разрабатывали Telegram-бота, Вы наверняка знаете, что такое callback_data. Если нет, вкратце, это произвольная строка, которая привязывается к кнопкам в чате, при помощи которой на бэкенде Вы определяете, какая именно кнопка была нажата.
Когда Ваш бот масштабируется, скорее всего управление значениями callback_data превращается в «кашу». По крайней мере, так произошло у меня. Поэтому сегодня я хочу поделиться с Вами практикой по организации этой всей «каши» в красивый и органичный код.
Читать далееПривет! Я Сергей Кляхандлер, техлид в команде LLM Авито. В 2024 году мы разработали и выпустили ML-модель, которая автоматически генерирует описания для объявлений из категории Одежда и обувь. В этом году автогенерацию усовершенствовали, а подход переиспользовали. Теперь мы можем создавать дополнительные ключевые слова для поиска. Статья будет полезна DS-инженерам, которые работают с мультимодальными LLM-моделями.
Читать далееЯ хотел бы поделиться размышлениями о роли архитектора — о том, как мы ее представляем и с чем сталкиваемся на практике. Мы часто создаем вокруг этой роли определенный шарм и завышенные ожидания, которые не всегда соответствуют реальности. Это приводит к разочарованию у тех, кто приходит в профессию. Давайте поговорим об этом честно.
Читать далееПривет, друзья!
В этой серии статей я делюсь с вами своим опытом решения различных задач из области веб-разработки и не только.
Другие статьи серии:
DevOps Tutorials — Ansible: разворачиваем веб-приложение на виртуальном сервере
Предыдущая статья была посвящена деплою Angular+Java веб-приложения на виртуальном сервере Ubuntu Linux с помощью Ansible. В этой статье мы научимся читать для этого деплоя сеть и создавать виртуальный сервер в облаке с помощью Terraform.
Интересно? Тогда прошу под кат.
Читать далееПредставьте, что вы пытаетесь объяснить, как работает компьютер, человеку из XVIII века. Вы говорите: «Вот железо — кремниевые пластины, провода, электрические импульсы.
А вот — программа: она не материальна, но управляет всем этим».
Он, вероятно, спросит: «Как нематериальное может двигать материальное?» — и окажется, что он только что сформулировал ту самую проблему, с которой столкнулся Рене Декарт: как мыслящая субстанция (душа) взаимодействует с протяжённой материей (телом)?
Декарт разделил реальность на две субстанции: res cogitans — мыслящую, нематериальную субстанцию (душа, сознание) и res extensa — протяжённую, материальную (тело, природа). Однако, признав их радикальное различие, Декарт не смог объяснить, как они взаимодействуют. Он предположил, что связь осуществляется в шишковидной железе мозга, но это решение осталось чисто гипотетическим и не удовлетворило ни его последователей, ни критиков. Вопрос о том, как «нематериальное мышление» может вызывать «материальные действия» (например, желание поднять руку приводит к её движению), стал центральным парадоксом рационалистической философии.
Последующие философы пытались преодолеть этот дуализм, предлагая различные решения. Монистические подходы — как материалистические (Ламетри, Фейербах), так и идеалистические (Беркли, Гегель) — отрицали одну из субстанций: либо утверждали, что сознание — всего лишь продукт материи, либо, наоборот, что материя — иллюзия, порождённая сознанием.
Другой путь — параллелизм (Лейбниц, Спиноза): сознание и тело не взаимодействуют, а развиваются параллельно, как два синхронизированных механизма.
Читать далееКаждый Android-разработчик сталкивается с задачей обучения пользователей новым функциям или помощи в навигации по интерфейсу. Традиционные всплывающие окна или сообщения могут быть навязчивыми. Конечно же есть способ элегантно подсвечивать элементы UI и предоставлять контекстную помощь.
Встречайте TAO Bubbles – легковесную библиотеку для Jetpack Compose, созданную для отображения настраиваемых "пузырей", "подсказок" или "тултипов", которые могут указывать на конкретные UI-компоненты.TAO Bubbles прекрасно подходит для создания пошаговых руководств, демонстрации новых возможностей или предоставления контекстно-зависимой справки прямо в вашем приложении.
Страх окружающих заключается в том, что ИИ сделает творчество ненужным. Но реальность ровно обратная. Когда генерация "чего-угодно" становится тривиальной, ценность осмысленного, отточенного и прочувствованного произведения взлетает до небес.
Теперь это значит только одно — оправданий больше нет. Отсидеться не получится. Не бойтесь, что ИИ убьет творчество. Бойтесь мира, в котором правила его использования и этику его применения напишут те, кто в творчестве ничего не понимает, пока вы стояли в стороне. Раньше можно было сказать “у меня нет возможности, чтобы воплотить идею”, теперь единственный честный ответ — “у меня нет идеи, достойной воплощения”.
Бизнес: «Зачем нам тестирование? Разве нельзя написать всё хорошо и сразу?».
Разработчик: «Это не баг – это фича».
Тестировщик: «Ошибки в коде, а крайний кто? Все на тестировщика!».
В статье разберем:
• взгляд заказчика на тестирование ПО;
• мышление тестировщика и разработчика;
• тестировщик и код: нужен ли глубокий дайвинг?
• что же дает тестирование?
Читать далееПятая глава это концентрат практических советов о том, как выстраивать доверие, вдохновлять людей и управлять процессами в продуктовой команде.
Ты узнаешь:
• как влиять без формального подчинения;
• почему доверие — главный актив PM;
• как избежать микроменеджмента и «бутылочных горлышек»;
• какие ритуалы делают команду продуктивной;
• как конструктивно говорить «нет» и решать конфликты.
Чёткие рекомендации, проверенные на реальных проектах, помогут тебе выстроить прозрачные процессы, мотивировать коллег и сохранить баланс между контролем и свободой действий. Если ты хочешь, чтобы твоя команда работала слаженно, быстро и без выгорания — эта глава обязательна к прочтению.
Читать далееЗа 15 лет я прошёл путь от инженера по слуховым аппаратам до совладельца бизнеса с оборотом почти 60 миллионов рублей. Мы с коллегами ушли из госсектора и построили компанию на принципах, которые в государственном учреждении казались невозможными.
У нас нет начальников, все получают равную зарплату, а важные решения принимаем голосованием каждый четверг в 10 утра. Но обо всём по порядку.
Читать далееСтою на плоской кровле трехэтажного дома и осматриваю повреждения. Рядом нервно
Помню, как месяц назад я лихорадочно перебирал старые фотографии, пытаясь вспомнить, когда именно был сделан тот самый кадр – рассвет в горах, который потом стал моей любимой заставкой. Даты в названиях файлов не было, а в их свойствах отображалась только дата последнего изменения. Именно тогда я по-настоящему осознал ценность метаданных фото, этих скрытых сокровищ информации, вшитых в каждый наш снимок.
Метаданные, или, как их чаще называют в контексте фотографий, EXIF, а также IPTC и XMP – это скрытый цифровой паспорт изображения. В этот блок данных записывается всё – от модели камеры и объектива, выдержки, диафрагмы и ISO до точных координат съёмки (если включён GPS), даты и времени вплоть до секунды, авторских прав и даже описания сцены.
Для фотографа это бесценный инструмент для анализа своей работы. Для организатора фотоархива это ключ к систематизации. Для обычного пользователя – способ точно вспомнить, где и когда был сделан кадр. Проблема лишь в том, что стандартные средства операционной системы показывают лишь малую часть этой информации, поэтому нужны специальные инструменты, и я отправился на их поиски.
Читать далееКо мне тут пришло одно уважаемое айтишное издание и попросило комментарий на тему технического долга. Как бы, сразу возникают два вопроса. Вопрос номер раз — им это зачем? И вопрос номер два — а я тут при чем? (есть люди, которые гораздо лучше в теме разбираются). Но как-то они сами не сказали. А я как-то не спросил…
Читать далееКогда мы играем в игру или смотрим кино, то всегда общаемся с героями и с самим произведением, можем это делать вслух, а можем про себя. Так или иначе, каждый игрок это делает, и отвечать на его вопросы (назовем все эти мысли вопросами) необходимо, если, конечно, вы хотите сделать запоминающееся и эмоциональное произведение.
Всем привет, меня зовут Александр, я разработчик, преподаватель геймдизайна и исследователь художественного языка видеоигр. И сегодня коротко говорим про общение с игроком.
Читать далееМы в Pixel используем различные языки программирования для обучения детей: визуально-блочные вроде Scratch и классические текстовые — Python, C#, Java и др. В младшем и старшем школьном возрасте к выбору стоит подходить с учетом особенностей соответствующего периода, ведь, скажем, дать учащемуся 1-го класса JavaScript — значит допустить ошибку, как и в ситуации со Скретчем, предложенным 10-класснику.
Сегодня хотим поговорить о выборе языков программирования для школьников в аспекте возраста и дать рекомендации, основанные на нашем педагогическом опыте.
Читать далееРассказ о том, чем параллельная разработка отличается от последовательной, и об опыте её внедрения в компании SM Lab.
Читать далееПараллельно с Debian 13 представлен выпуск дистрибутива Debian GNU/Hurd 2025, сочетающего программное окружение Debian c ядром GNU/Hurd. Репозиторий Debian GNU/Hurd включает примерно 72% пакетов от общего размера архива Debian, в том числе портированы Firefox и Xfce. Установочные сборки сформированы (364МБ) для архитектур i386 и x86_64. Для ознакомления с дистрибутивом без установки подготовлены готовые образы для виртуальных машин. Платформа GNU/Hurd не входит в число официально поддерживаемых архитектур Debian, поэтому релизы Debian GNU/Hurd формируются отдельно и имеют статус неофициального выпуска Debian.
( читать дальше... )
Тема автоматизации тестирования (обычно с помощью графического интерфейса пользователя) занимает важное место в числе ключевых приоритетов большинства тестировщиков и менеджеров по тестированию. На первый взгляд эти инструменты кажутся многообещающими, но многие организации, желающие автоматизировать часть или все свои функциональные тесты, сталкиваются с проблемами.
В этой статье мы не будем вдаваться в технические подробности, но затронем некоторые вопросы, актуальные для менеджеров по тестированию и проектам, которым необходимо создать бизнес-обоснование для автоматизации.
Читать далееВ разработке появился новый тренд: вайбкодинг. Работает так: берёте Cursor или Windsurf, заставляете его писать код за вас, смотрите на выдачу и несёте её в прод. Всё, success. Так думает 90% вайбкодеров.
Как CEO могу сказать, что таких спецов в свою команду не возьму. К сожалению, разработчики не хотят адаптироваться к работе с ИИ и врут, что умеют с ним работать. Раньше, чтобы войти в IT, умельцы накручивали опыт, а теперь — ИИ-скиллы. В статье — моё мнение о том, почему так происходит и какие вайбкодеры трушные.
Узнать мнение CEOПривет любителям транзисторной схемотехники! Предлагаю создать самодельный стенд для изучения дифференциального (или как ещё называют, балансного) способа передачи аналогового сигнала.
Тема будет разбита на две статьи. В этой рассмотрим основную суть и разберём работу узла, называемого расщепителем фазы. В последующей рассмотрим основу входного каскада интегральных операционных усилителей — дифференциальный усилительный каскад на биполярных транзисторах.
Задача создания этого стенда — понять на базовом уровне, как работает надёжный и устойчивый к помехам способ передачи сигнала.
Читать далее