Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

От хаотичного интервью до API-спецификации за 15 минут: автоматизация работы аналитика с Roo Code

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели6.5K

Как аналитику превратить расшифровку интервью в полный пакет документации за 15 минут вместо 5 часов. С примерами промтов и результатами.

Читать далее

ИИ простыми словами

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели13K

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

Читать далее

Gately — мой симулятор логических схем: от «игрушки» к диплому

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели8K

История создания логического симулятора на TypeScript: от «игрушки» на паре до архитектурного движка с DI, event-bus и системой плагинов.

Читать далее

Python для начинающих: () или []? Ответ, который изменит ваш код

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели12K

Положа руку на сердце, давайте признаемся: когда вы только начинали учить Python, вам наверняка на первом же занятии вам сказали: «Списки (list) — изменяемые, а кортежи (tuple) — нет. Запомнили? Молодцы».

И большинство из нас кивнуло и пошло дальше. Казалось бы, всё просто: если данные могут меняться — берём квадратные скобки [], если это константа — круглые (). Задача решена.

А что, если я скажу, что на этом простом правиле заканчивается Python для новичков и начинается Python для профессионалов?

Потому что за этой банальной разницей скрывается целый мир оптимизаций, архитектурных решений и подводных камней. Вы когда-нибудь задумывались, почему кортежи на самом деле быстрее списков? Не на уровне теории, а на уровне байтов и выделения памяти? Или почему Python позволяет использовать кортеж как ключ словаря, а при попытке сделать то же самое со списком просто взрывается с ошибкой TypeError?

Читать далее

Как мы первый раз провели митап питонистов в Новосибирске и решили повторить

Время на прочтение9 мин
Охват и читатели4.8K

Всем привет! Меня зовут Бронислав Алексеев, я разработчик и один из организаторов сообщества Python-разработчиков в Новосибирске — PythoNSK.

В городе-миллионнике с сильными вузами мы с коллегами заметили парадокс — митапов, посвящённых исключительно Python, практически не было. Мы решили это исправить. Сегодня я хочу поделиться не только успехами, но и честным разбором ошибок, которые мы допустили. Надеюсь, наш опыт поможет вам избежать этих граблей и смелее браться за создание коммьюнити в своём городе!

И да, нам удалось привлечь Никиту Соболева, core-разработчика CPython. Рассказываю, как это было с нуля: бронирование помещения, поиск участников, составление расписания.

Кстати, эта статья написана в преддверии второго митапа PythoNSK - он будет в субботу 22 ноября, а в этой статье мы разберем плюсы и минусы нашего первого митапа, проведенного 13 сентября 2025 года!

Но обо всём по порядку. Всех интересующихся - просим под кат.

Читать далее

Engee для моделирования складской техники: опыт ПАО «МЗИК»

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели4.7K

В рамках проекта проведено сопоставление российского инженерного ПО Engee и иностранного аналога MATLAB/Simulink для решения задач цифровой обработки сигналов и моделирования гидропривода электропогрузчика ЭП2020. Испытания подтвердили практическую зрелость Engee и её готовность к использованию в инженерных подразделениях ПАО «МЗИК».

Читать далее

Передачи данных в воркеры JavaScript

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели6.3K

Передача данных между воркерами в JavaScript, не так проста и имеет массу особенностей завязанных на реализации потоков в языке. Хотите узнать о том какие ограничения накладывает архитектура многопоточки JS и как эти ограничения безопасно обойти?

Хочу!

Как работает навигация между городами без интернета

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели16K

2ГИС с самой первой версии навигатора умеет строить разные виды маршрутов — автомобильные, пешеходные, маршруты на общественном транспорте — на мобильных устройствах без доступа к интернету, но только внутри городов.

С 2019 года 2ГИС также умеет строить маршруты между городами, но только при наличии интернета.

Уже давно наши пользователи просили дать возможность строить междугородние маршруты без доступа к сети. И вот, мы наконец сделали это.

Читать далее

Сезам, грузися! Установка Windows XP на древний ноутбук без физических носителей

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели20K

Недавно в моём районе открылась новая комиссионка, и конечно же, я наведался туда в первый же день. Особо заинтересовавшего улова было немного, но среди прочего попался красивый, хоть и побитый жизнью, ноутбук — ThinkPad X40.

За каких-то 500 йен (260 рублей) такое чудо забрать просто обязательно. Правда беда вылезла, откуда не ждали.

После подкидывания блока питания оказалось, что винчестер девственно чист. Однако попытки загрузиться с флешки, внешнего диска, или даже внешнего флопика, результата не приносили — неумолимо вылезала надпись "Operating System Not Found", да и названия устройств в биосе не появлялись.

Беглый гуглёж показал — ранние серии X40 были очень часто подвержены внезапной смерти мультиконтроллера. Буквально подышишь не в ту сторону, втыкая флешку — и вот у тебя уже нету ни USB, ни звука.

Можно было бы просто кинуть винчестер в USB-переходник и залить образ с другого компьютера, но и тут подстава — винчестер в нём 1.8 дюйма, и на шину IDE с напряжением до 3.3 вольта, поди найди такой адаптер. Вкладываться в покупку переходника, SSD и ещё адаптера с USB на mSata тоже не хотелось, ибо уже жаба задушит :-)

Однако, в нём всё ещё есть опция загрузки по сети через PXE, может, это и спасло бы?

Читать далее

Repository Pattern в управлении базами данных: пример интеграции NocoDB в Django

Время на прочтение8 мин
Охват и читатели10K

Классический сценарий: есть база данных и приложение на бэкенде. Для подключения достаточно знать адрес, порт, имя пользователя, пароль — и прямой доступ перед вами. Но что делать, если необходимо подключить no-code базу данных, которой можно управлять только через REST API? Есть ли способ интегрировать такие подключения в логику «красиво», не поломав архитектуру?

Привет, Хабр! Меня зовут Влад, в свободное время я занимаюсь разработкой. В этой статье расскажу, как мне удалось относительно нативно интегрировать работу с платформой NocoDB на бэкенде, какие можно использовать паттерны и зачем мне понадобилось разработать собственный Python-модуль. Подробности под катом!

Читать далее

Kafka для начинающих: гарантии доставки на практике и настройка идемпотентности

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели9.3K

Почему exactly-once — это миф? Как защититься от дубликатов в распределённых системах?
Продолжаем работу с Kafka на практике и рассматриваем более интересные темы.

Простым языком и с примерами кода о непростых концепциях и паттернах.

Читать далее

Невидимая часть карьеры программиста: инженерная интуиция и принятие решений под давлением

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели6.8K

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

Читать далее

Как Python раскрыл поэтический гений Маршака

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели8.5K

Маршак хорошо переводил Шекспира, но насколько он был близок к оригиналу? Сохранен ли у него ритм, размер, смысл и структура? Установлю это математически точно с помощью Python.

Читать далее

Ближайшие события

Рецензия на книгу «Основы JetPack Compose: Разработка приложений для Android»

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели8.2K

За последние несколько лет Jetpack Compose стал не просто новым способом создания интерфейсов под Android, а фактически основным инструментом UI-разработки. Google активно развивает Compose как декларативный фреймворк, заменяющий устаревший XML-подход, а экосистема вокруг него — от Material Design 3 до Compose Multiplatform — превратилась в полноценную платформу для современной мобильной разработки. Теперь учебник по Jetpack Compose уровня монографии (около 700 стр.) доступен на русском языке. Перевод книги по версии 1.6 — удобная отправная точка для тех, кто делает первые шаги или развивает компетенции в Compose-разработке.

Читать далее

Почему мышление через видео может быть следующим шагом в развитии ИИ

Время на прочтение5 мин
Охват и читатели5.7K

Кажется, что для развития ИИ нам нужно только увеличить объем данных и количество слоев нейросетей, чтобы достичь новых рекордов. Однако часто современные модели все еще сбиваются с толку из-за вещей, которые кажутся нам простыми. Почему это так?

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

Речь не о генерации привлекательных видеороликов, а об обучении модели рассуждать, действовать и учиться на своем опыте. В этой статье объясняю, почему видеогенератор может стать универсальной моделью мира для ИИ.

Читать далее

Обратная связь без боли: как давать фидбэк, который не демотивирует

Время на прочтение9 мин
Охват и читатели6.1K

С 2021 года сотрудники в разных исследованиях всё чаще говорят: «я хочу регулярный, полезный фидбэк». В разных выборках от 80% до 96% респондентов отмечают пользу обратной связи и её влияние на мотивацию. Но статистика показывает ужасную разницу между желанием и реальностью: по данным Gallup и Happy Job, более 75% сотрудников не получают достаточно обратной связи, и лишь около 16% считают её действительно полезной.

В этом и заключается главный парадокс: сотрудники жаждут конструктивного диалога, а на деле получают либо размытые комментарии, либо откровенно демотивирующую критику. Корень этой проблемы кроется не в злом умысле, а в отсутствии у менеджеров конкретных навыков: как сформулировать мысль, выбрать верный момент, наметить план исправления и оказать реальную поддержку. Большинство руководителей искренне хотят помочь, но их не научили главному: как давать негативную обратную связь, чтобы сотрудник не чувствовал себя плохим работником, а видел перед собой чёткий путь к улучшению.

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

Читать далее

В поисках компактного ЛБП

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели18K

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

Речь пойдёт о простейшем самодельном компактном регулируемом маломощном источнике питания, также известном среди радиолюбителей и им сочувствующих как «лабораторный блок питания» (ЛБП), собранном из подручных средств в виде готовых китайских модулей и наборов. С его помощью можно налаживать прочие самодельные творения. Конструкции подобного рода сейчас довольно востребованы, и, возможно, вам окажется полезным мой вариант.

Читать далее

Лидары в автономном транспорте: почему важна длина волны лазера

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели16K

Привет, друзья! На связи Алексей Разин. Я работаю инженером‑оптиком в Яндексе и уже четвёртый год занимаюсь разработкой лидаров. Мы с командой сделали несколько устройств, и сегодня я хочу поделиться с вами своими мыслями и опытом в сфере разработки лидаров — приборов, которые играют ключевую роль в развитии автономного транспорта. 

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

Читать далее

Архитектура ИТ решений. Часть 5. Техническая Архитектура

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели7.1K

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

Техническая архитектура предприятия (ETA - Enterprise Technical Architecture) – это совокупность программно-аппаратных средств, методов и стандартов, поддерживающих эффективное функционирование приложений, и обеспечивающих стабильность, масштабируемость, безопасность.

С другой стороны, можно констатировать, что основное предназначение технологической(технической) архитектуры – это обеспечение надежных ИТ-сервисов(услуг), предоставляемых в рамках всего предприятия в целом и координируемых централизованно ИТ службой.

Читать далее

Заметки о нашей повседневной работе с PAM

Время на прочтение8 мин
Охват и читатели6.2K

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

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

Каждое утро в офисе начинается одинаково. Мы включаем комп, пролистываем свежие новости, создаём тикеты, открываем дашборды. Казалось бы, рутина, но за этой рутиной прячется главный раздражитель — чьи-то видимые (и не очень) действия в системах: администратор запускает сессию, подрядчик обновляет сервис, инженер выгружает дамп базы данных. Все эти события кому-то могут показаться «естественным шумом» инфраструктуры, не требующим особого внимания. Но не нам.

Работа любого сотрудника начинается с входа в необходимые для выполнения должностных обязанностей системы:

●      общекорпоративные ресурсы (портал, почта, система электронного документооборота (СЭД) и т.п.). 

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

Именно здесь и проявляется важность направления управления идентификацией и доступом в информационной безопасности (IAM и ряд других средств защиты). И именно здесь на первый план выходит Privileged Access Management (PAM), обеспечивающий централизованное управление и мониторинг привилегированного доступа, минимизацию рисков неправомерного использования и защиту ключевых точек инфраструктуры.

Читать далее