Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 4 min 51 sec ago

Об одном красивом неизвестном решении одной известной задачи

34 min 41 sec ago

«Каждый из нас лишь выиграет, создавая время от времени «игрушечные» программы с заданными искусственными ограничениями, заставляющими нас до предела напрягать свои способности. Искусство решения мини задач на пределе своих возможностей оттачивает наше умение для реальных задач»

Дональд Кнут (с)

Как известно, на машине Тьюринга (далее МТ) запрограммировать можно всё, что мы вообще считаем программируемым, но в реальности программы на МТ настолько громоздкие, что МТ редко используется даже в академических примерах. И тем не менее в некоторых отдельных случаях с помощью МТ получается написать небольшую программу, на КДПВ изображена программа из 5 состояний на алфавите из 3 символом. Если вы изучали программирование, то задачу, которую решает эта программа, вы скорее всего встречали. Если я сумел вас заинтересовать, то приглашаю в небольшое приключение по реверс инженирингу МТ.

Материал статьи предоставлен Владимиром Пинаевым

Читать далее

INTELLECT-2: Первая большая (32B) параметрическая модель с распределенным обучением

41 min 24 sec ago

Обычно нейросети нужно тренировать на мощном железе, сконцентрированном в одном датацентре. Результат такой тренировки попадает в руки той бигтех-корпорации, которой по карману иметь свои датацентры и самостоятельно тренировать модели за бешеные миллионы баксов. Есть ли другой путь?

Встречайте INTELLECT-2 — первую параметрическую модель размером 32B, обученную с помощью асинхронного обучения с подкреплением (RL) на динамическом, однородном рое вычислительных узлов. Доступ к узлам изолирован и не требует дополнительных привилегий — теоретически, это могут быть какие-то компьютеры волонтёров в интернете.

Инфра под это, мягко говоря, нестандартная. Разработчикам пришлось написать несколько компонентов с нуля, и вот что у них получилось...

И что получилось?

Code smells — что об этом думают ученые

58 min 4 sec ago

Статей по теме, в том числе с примерами «потенциально плохого» кода, написано довольно много — в том числе и на Хабре. Мы в beeline cloud решили посмотреть, что на этот счет говорят научные работы и подтверждают ли они актуальность проблемы.

Читать далее

Разбираем древо ArangoDB «по веточкам». Подробный гайд по графовой БД

58 min 26 sec ago

Давайте честно: совместный доступ к документам — одна из главных «болей» для всех, кто хоть как-то связан с базами данных. Вроде бы оба пользователя могут работать с файлом, но есть один нюанс: например, количество предоставленных доступов может быть больше, чем их есть на самом деле. Или у документа и вовсе появляется несколько владельцев. Для всего этого требуется решение – и мы его нашли!

Меня зовут Владимир Ревякин, я старший инженер-программист компании «МойОфис», и вместе с QA-инженером Анной Рукавицыной мы подготовили этот материал, чтобы поделиться опытом реализации функции шаринга данных через графовую базу ArangoDB в рамках разработки платформы «Документы Онлайн». Если коротко — это продукт для совместной работы и хранения документов в рамках единой мультипродуктовой экосистемы.

В российских источниках не так много полезной информации по ArangoDB, и наша задача — исправить это недоразумение. Разберем главные нюансы работы с этой системой БД в разработке и тестировании, вспомним ее плюсы, минусы и потенциальные баги. Текст будет полезен как инженерам любых грейдов, которые связаны с работой над базами данных (сил вам...), так и классическим разработчикам продуктов.

Поехали!

Основы тестирования

1 hour 1 min ago

В этой статье мы собрали краткие пояснения базовых терминов, связанных с QA. Это неплохой справочник для начинающего тестировщика, который только постигает основы тестирования.

Читать далее

Add-on pack из 90-х: Microsoft 95 Plus! для Windows

1 hour 3 min ago

24 августа 1995 года вышла Windows 95 — операционная система, которая должна была стать одним из лидеров в домашнем и SOHO-сегменте. Она предлагала пользователям удобный графический интерфейс, поддержку многозадачности и функцию Plug&Play. Правда, работало это далеко не идеально: в народе технология получила ироничное прозвище Plug&Pray («подключи и молись»). Зато с архитектурной точки зрения это был серьезный шаг вперед — переход от 16-битных к 32-битным приложениям.

Как это часто бывает, к моменту релиза далеко не все запланированные функции были готовы. Разработчики стояли перед выбором: внедрить недоработанные фичи и рисковать стабильностью или отложить их на потом. В итоге дополнительные возможности решили выделить в отдельный коммерческий продукт. Так появилась первая версия Windows 95 Plus! — своеобразное дополнение к основной системе. О нем сегодня и расскажу.

Читать далее

Как декомпозиция повышает точность распознавания текста: опыт с фотографиями СТС

1 hour 18 min ago

Привет! Меня зовут Наталия Вареник, я DS-инженер в Авито, занимаюсь моделями распознавания изображений. Расскажу про один из наших проектов — пайплайн для распознавания номеров с фотографии свидетельства транспортного средства (СТС). В статье описала особенности задачи и рассказала, как мы решали её с помощью декомпозиции. 

Материал будет полезен начинающим и мидл-DS-инженерам, которые хотят узнать больше про декомпозицию задачи на этапах разметки и построения моделей. 

А еще материал стоит прочитать тем, кто работает с доменами, где нужно иметь дело с задачами распознавания информации с документов — наш подход прекрасно переносится на другие категории. В целом рекомендую статью всем, кто интересуется компьютерным зрением и его применимостью в разных сферах.

Читать далее

Генератор тестов для конкурсов

1 hour 21 min ago

Я уже несколько лет готовлю задачи для республиканской и районных олипиад по информатике у себя в стране. Конечно, сложно придумать красивую и оригинальную задачу. Но этот процесс творчесский и приятный. Другое дело - писать тесты для задачи. Это работа нудная и тяжелая. Впрочем, в некоторых случаях, когда проверяются краевые условия, есть немного творчества. Однако, в ряде случаев тесты необходимо просто сгенерировать в соответствии с некоторыми условиями. Вашему вниманию представляется генератор тестов, то есть входных данных, для конкурсных задач по программированию.

Читать далее

[Перевод] Обработка ошибок и их стратеги

1 hour 30 min ago

В мире разработки бизнес-приложений, особенно построенных по принципам Domain-Driven Design (DDD), важным элементом архитектуры является обработка ошибок. Неправильно реализованная стратегия может привести к логическому хаосу и плохому пользовательскому опыту. Представьте, если ошибка базы данных попадёт напрямую в UI — это не только некрасиво, но и опасно.

Слоистая архитектура предполагает чёткое разделение ответственности:

Читать далее

[Перевод] Веб-разработка на ванильном HTML, CSS и JavaScript

1 hour 32 min ago

В этой серии статей мы расскажем, как выполнять веб-разработку исключительно на ванильных технологиях. Ни инструментов, ни фреймворков, лишь HTML, CSS и JavaScript.

Современные фреймворки веб-разработки обладают мощными возможностями для быстрой разработки хорошо структурированных веб-приложений, поэтому они стоят изучения. Однако за эту богатую функциональность приходится расплачиваться сложностью фреймворков и инструментария, а для обеспечения безопасности и актуальности проектов часто требуется регулярная поддержка.

Выбрав ванильный стиль веб-разработки, мы обмениваем кратковременное удобство на такие долговременные преимущества, как простота и практически нулевая поддержка. Такой подход возможен благодаря современному уровню развития браузеров, обеспечивающих превосходную поддержку веб-стандартов. Читать дальше →

Как мы под Новый Год загрузили в PostgreSQL петабайт данных и что из этого вышло

1 hour 33 min ago

Эта история началась с шутки на офисной кухне 10 декабря, но, как водится, у каждой приличной шутки, она вдруг стала интересной для воплощения, а в конце переросла в не самую технически простую реализацию с хождением по многочисленным граблям. 

А началось всё просто: пока все вокруг спорят как настраивать железо и тюнить операционные системы дабы выжать лишних TPS, мы решили проверить как отреагирует движок PostgreSQL если загрузить в него действительно большой объём данных. Например, давайте сделаем базу размером один петабайт и посмотрим как он это переживёт.

На дворе было 10 декабря, руководство поставило задачу сдать отчёт 20 января, до нового года оставалось меньше месяца, а в руках появился знакомый всем инженерам зуд.

Читать далее

Хакатон SoC Design Challenge 2025: три дня «железа» и 245 студентов в Зеленограде

1 hour 37 min ago

В середине апреля в МИЭТ прошел четвертый SoC Design Challenge. Студенты из разных уголков России и Беларуси штурмовали задачи по четырем трекам: топологическое и RTL-проектирование, UVM-верификация и системная верификация SoC. Некоторые треки мы разделили на уровни Basic и Basic+, а предварительно провели для участников цикл лекций для погружения в специфику работы. В статье мы разберем задачи хакатона YADRO и МИЭТ, а также расскажем о некоторых командах.

Читать далее

[Перевод] Всё, что вам нужно знать о Feign-клиентах в Spring Boot: Что под капотом, настройка, использование, функции

1 hour 37 min ago

Чтобы сделать вызовы REST API проще и декларативнее, Spring Boot предлагает встроенную интеграцию с Feign‑клиентами. Feign представляет собой HTTP‑клиент, который позволяет разработчикам определять REST‑эндпоинты с помощью интерфейсов Java. Вместо того чтобы писать дублирующийся код для обработки HTTP‑запросов, мы можем определять эндпоинты и их поведение в наглядной и лаконичной форме.

В этой статье мы подробно рассмотрим технические аспекты работы Feign‑клиентов в Spring Boot. Вы узнаете, как их настраивать, как под капотом обрабатываются запросы, ответы и ошибки.

Читать далее

«Ты уволен, но поработай ещё 2 месяца»: как сокращают в IT

1 hour 52 min ago

Я геймдизайнер-генералист в небольшой студии, которая разрабатывает казуальные и гибрид-казуальные игры. Уже почти бывший — меня сокращают. Я работал чуть больше двух лет, попал под волну увольнений, и сейчас расскажу, как это вообще происходит.

Читать далее

Создание ноутбуков на JupyterLab: опыт продуктовой команды

1 hour 57 min ago

Привет, меня зовут Максим Гуляев, я продуктовый менеджер в команде ML Space Notebooks в Cloud.ru. Раньше я был техлидом этой команды, поэтому глубоко понимаю всю внутреннюю кухню.

В статье расскажу, какие ноутбуки мы используем, зачем они нужны и как сделать себе такие же. Упомяну, почему нам потребовалось вносить изменения в привычные ноутбуки на базе JupyterLab. Затем объясню, что нужно, чтобы прийти к крутым образам. И напоследок поделюсь нашей новой архитектурой и методом ее создания.

Читать дальше

[Перевод] ИИ заменит образование или переведёт его на новый уровень?

2 hours 4 min ago

С момента выпуска ChatGPT в конце 2022 года одними из самых активных его пользователей стали ученики и студенты. Когда стремительный рост пользовательской базы в конце весны 2023 года замедлился, это ненадолго показалось признаком близкого сдувания пузыря ИИ, но в сентябре рост продолжился; причиной падения оказались банальные летние каникулы. Хоть другие виды организаций испытывали трудности с применением поразительно мощного и на удивление некомпетентного инструмента, для учащихся его полезность в написании изложения по «Гамлету» на полторы тысячи знаков стала очевидной сразу. Этим вызваны и нынешние рекламные кампании OpenAI и других разработчиков ИИ с предложениями скидок студентам.

Каждый год примерно 15 миллионов студентов в США пишут статьи и экзамены, состоящие из миллиардов слов. Хотя результатом каждого курса становятся студенческие работы — статьи, экзамены, исследовательские проекты и так далее — продуктом курса остаётся нарабатываемый студентами опыт. «Результаты обучения возникают вследствие действий и мыслей студента и только в результате того, что делает и думает студент», — писал великий теоретик образования Герберт Саймон. Само задание — это макгаффин, скоропортящийся товар с экономической ценностью, равной примерно нулю долларов. Оно ценно только как способ принудить студента трудиться и думать.

Полезность письменных заданий зависит от двух допущений: во-первых, чтобы написать о чём-то, студенту нужно понять тему и упорядочить свои мысли. Во-вторых, оценивание письменных работ студентов, по сути, означает оценку их труда и мыслительных усилий. К концу 2022 года логика этих допущений начала давать сбой. Труда по написанию и получаемого при этом опыта можно избежать, просто введя промпт; это значит, что теперь оценивание письменных работ может быть не связано с оценкой того, что научился осознавать или выражать студент.

Читать далее

Быстрее света. Зачем компании скупают радиовышки на горе радиолюбителям?

2 hours 7 min ago

Почему в 2025 году многие компании возвращаются к технологиям середины прошлого века, выкупая радиовышки по всему миру? И как связаны скорость света, радиоволны и миллиарды долларов в современных финансах?

Читать далее

Как написать рекламный пост для телеграм-канала: 9 популярных формул

2 hours 19 min ago

Просто и понятно показываю структуру рекламных постов в Телеграм. Без всяких AIDA и PAD. А заодно расскажу, на чём сделал свою карьеру легендарный и очень знаменитый Андрей Молоточкин.

Читать далее

Как Kubernetes управляет жизненным циклом подов

2 hours 31 min ago

Работая DevOps-инженером, я не раз сталкивался с необходимостью тонко управлять поведением подов в Kubernetes. Эти минимальные единицы развёртывания — на первый взгляд, простые объекты — на самом деле являются ключевым элементом всей архитектуры. Они создаются, масштабируются, перезапускаются и удаляются в ответ на изменения состояния кластера и заданные политики.

Однако особенно важно понимать, что завершение работы пода — это очень нетривиальный процесс. Это не просто «удаление контейнера», а целая процедура, включающая в себя механизмы graceful shutdown, взаимодействие с контроллерами, корректную работу с сервисами и многое другое.

В этой статье я подробно расскажу, как устроен процесс завершения работы пода в Kubernetes, что происходит «под капотом», какие подводные камни могут возникнуть и как обеспечить корректное поведение приложений при завершении их работы.

Читать далее

Who's online

There are currently 1 user and 1 guest online.