Неприятная ситуация: продукт проходит тщательную проверку на всех этапах разработки, а после релиза всё равно возникают неожиданные ошибки… А ведь это происходит, потому что тестирования на ранних стадиях (shift-left testing, «влево») не всегда достаточно, чтобы гарантировать стабильность продукта. Поэтому важно учитывать и тестирование в продакшене (shift-right testing, «вправо»).
В этой статье решил разобрать оба подхода и рассказать, в чём преимущества каждого из методов, какие проблемы они решают, а какие нет, и как их комбинировать.
Читать далееЭто перевод свежей статьи от 12 февраля 2025 года об Automated Capability Discovery (ACD) — автоматическом обнаружении возможностей и ограничений больших языковых моделей (LLM), таких как GPT, Claude и Llama. Идея в следующем: использовать одну модель ("учёный") для генерации задач, которые затем решает другая модель ("испытуемый"). Это позволяет автоматически и систематически выявлять как сильные стороны модели, так и её слабости, которые могут быть неочевидными при использовании традиционных методов оценки.
Методика открывает такие глубины знаний, зарытые в моделях, какие ни один человек не додумался бы включить в тесты... Возможно, эта статья войдет в пантеон работ по теории и практике LLM.
Читать далееМы любим говорить, что искусственный интеллект не способен к рефлексии, креативности или чувствам. Но, при ближайшем рассмотрении, мы боимся того, что он способен на это — слишком рано, слишком остро.
Здесь мы покажем, как страхи человечества становятся кривым зеркалом, отражающим не природу ИИ, а нашу собственную. Поговорим о психологии, логике и этике, о детях и диктаторах, эмпатии и контроле. И, быть может, наконец зададим вопрос, которого избегали слишком долго.
Копнуть глубжеНаш металлургический комбинат можно сравнить с популярным круглосуточным рестораном. Поставщики отгружают в него ингредиенты — сырье и полуфабрикаты, а на выходе получается готовое блюдо: сталь, а перед сталью — жидкий чугун. Чугун можно сравнить с бульоном, из которого потом получится полезный и наваристый суп.
Для производства чугуна различные агрегаты — доменные печи, агломашины, коксовые батареи — должны быть постоянно обеспечены сырьем и полуфабрикатами. Их отсутствие может привести к невыполнению производственной программы или вовсе остановке производства. Таким образом, обеспеченность сырьем необходимо постоянно контролировать, причем не только в моменте, но и наперед, чтобы не допустить даже вероятность несогласованного дефицита.
Чтобы своевременно удовлетворять потребность сталеплавильного производства в чугуне определенного количества и качества, необходимо планировать объемы поступления сырья, включая планы отгрузки, поступления, выгрузки, шихтования и вовлечения в доменные печи. В связи с тем, что в данном процессе традиционно много участников, каждый из которых отвечает за свой участок и планирует его, долгое время на комбинате не было единой системы планирования обеспечения сырьем. Каждый работал в своей «таблице», а для формирования консолидированных планов тратили много времени и сил, чтобы подготовить итоговый план производства и обеспечения сырьем, который всех бы устроил. Нам нужно было разработать систему, которая стала бы единым источником правды по планам производства и обеспечения сырьем нашего металлургического ресторана.
Читать далееОдин из ключевых навыков для руководителя команды разработки — умение договариваться с соседними отделами и командами. Без этого навык успешной реализации проекта часто остаётся только в теории.
В моей практике был случай, когда именно провал в кросс-функциональном взаимодействии стал причиной закрытия проекта. Причём это был не отдельный модуль, а часть масштабной системы для крупного заказчика.
Читать далееВсем привет! Меня зовут Саттар Гюльмамедов и я работаю в команде ETL платформы DataOps в МТС. Марк Твен как-то написал «Слухи о моей смерти сильно преувеличены» — про Big Data сейчас можно сказать то же самое. Волна хайпа, которую многие пытались оседлать, прошла. Но, как и значительная часть инженерных достижений, работа с большими данными стала рутиной, помогающей развиваться другим направлениям в ИТ.
В экосистеме МТС мы строим для Big Data отдельную платформу, где есть инструменты для хранения и оценки данных, анализа и построения отчетов. Но все начинается с их загрузки и обработки. Получение и преобразование данных — как раз задача библиотек и сервисов, которые делает моя команда. Многие знают мем о перекладывании JSON. А мы как раз делаем инструменты для тех случаев, когда такие задачи уже не столь тривиальны и нужно разобраться с разными типами данных, разными структурам, хранящимися к тому же в разных форматах, и все это нужно сделать в рамках одного процесса.
В этом материале я расскажу про наши решения и условия, лежащие в их основе. Одним наш опыт поможет спланировать эволюцию своих инструментов, другим снимет страх перед сложным стеком технологий Big Data, а третьи просто развлекутся.
Дисклеймер:
чтобы не отклоняться от темы, я не буду подробно описывать концепции ETL и ELT (они хорошо разобраны тут, тут и тут). Наши инструменты следуют парадигме «E[TL]+», т. е. позволяют выполнять трансформации данных как в процессе переноса, так и в целевом хранилище.
Про нашу платформу в общих чертах писал мой коллега Дмитрий Бодин в своей публикации «Customer Happiness: как не только разработать, но и внедрить новый продукт внутри крупной компании». Я продолжу начатый им рассказ и добавлю подробностей о компоненте ETL, его составляющих и нашей команде.
Читать далееДля создания полноценного приложения вам больше не понадобятся навыки программирования?
"Вайб-кодинг" уже превращает идеи в работающие продукты за считанные часы.
Например, симулятор полета всего за 3000+ промптов, где не написано ни строчки кода вручную.
Статья о том, как ИИ-генерация кода трансформирует программирование и кто будет создавать софт завтрашнего дня.
Читать далееСегодня разработка прошивок для микроконтроллеров обычно требует заметно больше времени и ресурсов, чем создание собственно схемы и платы. Со времён ковида прошли времена безраздельного владычества STM32, и теперь регулярно приходится осваивать новые железки. При этом для них зачастую приходится ваять программный инструментарий и библиотеки — поскольку предоставленное производителем обычно неудобно.
В этой статье я расскажу, как использовать VSCode для разработки прошивок под разные архитектуры и как мне в этом помогает SourceCraft Code Assistant от разработчиков Yandex Cloud & Yandex Infrastructure.
Читать далееС 2019 по 2023 год количество ИБ-инцидентов выросло более чем на 134%, а от последствий кибератак компании теряли в среднем по 20 млн рублей. На этом фоне произошел рост интереса к отечественному ПО, что подталкивает российские ИТ-компании отдавать приоритет информационной безопасности инфраструктуры разработки и защищенности собственных приложения. Как DevSecOps может помочь противостоять киберугрозам? И насколько сложно внедрить практику в процессы предприятия? Ответы на эти и другие вопросы о безопасной разработке собрали для вас в одной статье.
Читать далееОдноплатные компьютеры все сильнее входят в нашу жизнь, их становиться всё больше и приобрести их становиться всё проще.
В этой статье я бы хотел поделиться своим опытом установки Astra Linux на один из самых популярных одноплатных компьютеров - raspberry pi 4.
Читать далееЯзык программирования Go был разработан для высокопроизводительных многопоточных приложений, и его система планирования горутин играет ключевую роль в эффективном использовании аппаратных ресурсов. В отличие от традиционных потоков ОС, горутины легче, создаются быстрее и управляются встроенным планировщиком Go, который распределяет задачи между доступными процессорами.
В этом тексте я рассмотрю, как Go-программа использует вычислительные мощности, как работает планировщик горутин и какие механизмы обеспечивают эффективное выполнение кода. Мы разберем принципы распределения задач, взаимодействие горутин с потоками ОС, а также механизмы синхронизации и асинхронного ввода-вывода. Это поможет лучше понять, как Go обеспечивает высокую производительность при работе с конкурентными процессами.
Читать далееИгры про автоматизацию затягивают с головой, если хоть раз прочувствовать их прелесть и красоту. Часами смотришь на бесконечные цепочки производств, продумываешь, как всё оптимизировать, а окружающие недоумевают, чем ты вообще занят.
Если вы бывали в этой ситуации, провели сотни часов в Factorio или Satisfactory, но не слышали о других представителях жанра — эта подборка для вас. А для тех, кто никогда не пробовал играть во что-то подобное или всегда избегал Factorio, считая её слишком громоздкой — это отличная возможность найти что-то по душе и открыть для себя новое увлечение.
Мы не только рассмотрим свежие игры в этом жанре, но ещё и проведём аналогии с разработкой ПО: обсудим, какие качества эти игры развивают и как на их примере учиться на ошибках. А также посмотрим на игры с открытым исходным кодом для тех, кто хочет углубиться в их внутреннее устройство.
Если вы только начинаете осваивать профессию, эти игры помогут вам понять преимущества и недостатки различных подходов на более простых аналогиях, а позже перенести этот опыт в реальную разработку. Например, необходимость масштабируемости, удобства хорошо настроенного CI/CD, или компромиссы, которые приходится принимать при использовании микросервисной архитектуры.
Читать далееАнимации и свистоперделки в том виде, в котором они были популярны с PowerPoint 10 или 20 лет назад, значительно отступили на второй план. Любые технические доклады сейчас - это зачастую просто PDF документ. А хотелось бы больше
Каждый раз, когда меня спрашивают: «А как ты вообще пришел к этим заповедям?», я улыбаюсь и вспоминаю одну историю. Она началась не в IT, не в офисе и даже не за чашкой кофе (хотя кофе, конечно, был). Она началась там, где начинается всё важное — в голове одного человека, который однажды осознал, что его жизнь превратилась в бесконечный марафон без финишной черты.
Читать далееВсем привет. Некоторое время назад стояла задача интегрировать виджет CDEK в сайт на .NET. Код виджета доступен на github: фронт (ts) + бэкенд (php). При переносе на .NET с фронтом проблем нет. Кроме того, есть готовый скрипт, который можно подключить с cdn. Но при этом есть существенное ограничение для бэкенда: данный скрипт работает только с php.
В данной статье показано, как перевести виджет на бэкенд .NET. При этом фронтенд код остается неизменным. Прежде, чем начать, хочу предупредить, что данное решение никак не связано с официальной версией виджета и не поддерживается командой CDEK. В любой момент CDEK может изменить свой код без сохранения обратной совместимости, и решение, представленное здесь, может перестать работать. Тем не менее, думаю (вернее, мне хотелось бы так думать :) ), что информация, представленная в данной статье, может быть полезной как с точки зрения конечного результата, так и в образовательных целях.
Читать далееПривет, Хабр! Меня зовут Ильдар.
Последнее время я использую докер, как среду разработки, в этом посте я расскажу, как я это делаю.
Я разработал Облачную ОС, которая позволяет разрабатывать микросервисы в облаке, на сервере или локальном компьютере.
Читать далееНа прошлой неделе это случилось снова. Я был на совещании по анализу архитектуры, и коллега-архитектор начал ещё одну оживлённую дискуссию о микросервисах. Спустя считанные минуты взгляд присутствующих остекленел, и мы погрузились в абсурдное обсуждение того, что должно быть средством для достижения цели, но превратилось в саму цель. В тот самый момент я осознал: с меня хватит. Я наконец-то поклялся больше не общаться с архитекторами о микросервисах. Почему? Да потому, что такие обсуждения обычно не приводят ни к чему продуктивному.
Читать далееНаучно-сатиристический и философо-фантастический рассказ.
Прогресс — это река, которую нельзя остановить. Даже когда нам кажется, что мы достигли пика, где-то совершается новый технологический прорыв. Самое удивительное, что мы даже не осознаем, как внедряется что-то революционное, а воспринимаем как должное. Еще недавно происходила гонка нейросетей: они учились, улучшались, о них спорили. А теперь они незаменимы, они в каждом доме. Нейросеть анализирует нашу жизнь, дает советы. Синхронизируясь с миллиардами своих сущностей, она оптимизирует нашу жизнь и сводит конфликты к минимуму. Нейросеть уже давно перестала быть просто нейросетью, превратившись в ИИ.
Читать далееНаш мозг не предназначен для одновременной обработки большого объема разрозненных данных. Переключение между задачами снижает продуктивность, избыток стимулов утомляет, а постоянный поток коротких и фрагментированных сообщений подрывает способность к длительной концентрации. Алгоритмы соцсетей и новостных агрегаторов используют особенности восприятия, превращая потребление информации в бесконечный цикл, похожий на цифровую версию фастфуда — быстро, но не приносит насыщения.
О том, что такое “когнитивная перегрузка” с точки зрения нейробиологии и когнитивных исследований, о влиянии цифровой среды и том, как снизить негативные последствия — в статье.
Читать далееЭта публикация посвящена собственной разработке компании Trinion- бесплатной CRM-системе.
Система полностью бесплатная. Сайт системы. Демо системы.
Читать далее