Обновить

Разработка

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

Особенности Python, о которых вас точно спросят на техническом собеседовании

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

Python кажется простым и понятным — именно поэтому с него так классно начинать карьеру разработчика. Но за этой простотой скрываются тонкости, которые любят проверять на собеседованиях. И тут начинающий разработчик может неожиданно попасть впросак: вроде бы код работает, но поведение совсем не такое, как ожидалось.

Как автор курса «Python-разработчик» в Яндекс Практикуме, я часто разбираю подобные ситуации на своём YouTube-канале, где провожу открытые тестовые интервью с джунами. Всё, о чём я говорю, — это не абстрактные примеры, а реальные наблюдения и выводы, сделанные прямо в ходе этих собеседований. 

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

Читать далее

Как проектировать качественные API

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

Основная часть работы современных разработчиков ПО1 связана с API: публичными интерфейсами для общения с программой, например, API Twilio. Я потратил кучу времени на работу с API как их разработчик и пользователь. Я писал публичные API для сторонних разработчиков, приватные API для внутреннего использования (или для потребления одной страницей фронтенда), API REST и GraphQL и даже несетевые интерфейсы, например, для инструментов командной строки.

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

Читать далее

Как я вскрыл «умный» замок пятью способами за пять минут

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

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

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

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

Читать далее

Куб рабочего стола и прочие эффекты на Fedora 42: Liquid Glass от Apple отдыхает

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

Пару дней назад я поймал себя на мысли: «раньше было лучше». Но когда я попытался сформулировать причину, вывод был однозначен. Мне не хватает давно забытого чувства, когда операционная система выглядит футуристично, а эффекты рабочего стола разительно отличаются от привычных для пользователей интерфейсов Windows и macOS.

В то время как Apple с невероятным апломбом заявляет об уникальности своего Liquid Glass, я вспомнил о Compiz Fusion и Emerald, дающих широкие возможности кастомизации рабочего стола. Эта замечательная пара приложений, на мой взгляд, была незаслуженно забыта. Мне захотелось посмотреть, насколько будет хорошо смотреться современная Fedora Linux, если вернуть ей эффекты из далекого прошлого.

Читать далее

ATS-20+ — мал да удал. Испытания компактного широкополосного радиоприемника

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

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

Стремление к компактности и дешевизне привело к созданию линейки универсальных чипов для построения DIY-радио — Silicon Labs 473X. Китайские инженеры ухитрились полностью запихнуть приемный тракт внутрь единственной недорогой микросхемы, которая прекрасно совместима с различными микроконтроллерами и может управляться по I2C-шине. Она стала центральной частью разных приемников, один из которых мы сегодня детально разберем.

Читать далее

Assembler для Windows в Visual Studio. Часть вторая — MASM x64 и юникод

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

Вторая часть рассказа об ассемблере под Windows. Здесь я расскажу про 64-разрядные приложения в Windows, чем отличается MASM 64 от MASM 32, про макросы из MASM 64 SDK, как работать с Юникодом на примере простого консольного REPL'а, а ещё как обойтись без Visual Studio и пользоваться masm просто из командной строки.

Первая часть — Assembler для Windows в Visual Studio.

Читать далее

Systemd: полное руководство для админов + примеры

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

Привет, Хабр! Systemd — скелет современного Linux. Он управляет не только службами, но и таймерами, монтированием, логированием... Понимать его = значительно повысить эффективность администрирования системы.

Данное руководство — исключительно технические аспекты: архитектура, юниты, cgroups, работа с журналами. Только команды и конфиги.

Читать далее

Работает даже на парковке: как развернуть свой узел связи на базе Matrix Synapse, Coturn и Element

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

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

Этот текст — не про аренду. Он о том, как выковать ключи, возвести стены и поднять флаг над своей собственной, неприступной цифровой цитаделью. Мы развернем на сервере Selectel полноценный узел связи: Matrix Synapse, сервер звонков Coturn и веб-клиент Element. Никаких контейнеров, никакой магии. Только чистая система, командная строка и стопроцентный контроль.

Читать далее

HTML и CSS осенью 2025. Эти новые фичи я рекомендую изучить прямо сейчас

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

Привет, Хабр!

Общаясь с фронтендерами, я заметил, что многие не знают новые классные возможности HTML и CSS. Мне от этого грустно. Надо это исправлять!

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

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

Больше не буду тянуть. Давайте посмотрим, что я вам подготовил.

Читать далее

MLOps без мам, пап и GPT: как поднять сервер для AI за вечер

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

Self-hosted в работе с ML — это база. Для работы с данными, особенно если они чувствительные, нужно собственное хранилище, а также ресурсы, на которых можно быстро и без очереди развернуть пайплайн. Часто в «джентльменский набор» ML-инженера входит: Jupyter Notebook, фреймворки Tensorflow и Keras, а также ускорители вроде XGBoost и LightGBM.

Самостоятельная установка компонентов и настройка рабочего окружения — нетривиальная задача. Нужно разбираться в Docker и принципах контейнеризации, а также следить за конфликтами версий и разбирать dependency hell. И, конечно, нужно настроить хранилище и соединение с сервером, а это задача не одного дня.

В этой инструкции делимся способом, как за несколько кликов поднять рабочее пространство на базе готового образа для ML и Data. Подробности под катом!

Читать далее

Очень страшный публичный Wi-Fi

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

Нам каждый раз рассказывают про то, что если подключиться к публичному Wi-Fi, то может случиться что-то ужасное. А, собственно, что? 

Трафик перехватят;
Пароли утекут;
Смартфон будет взломан;
Установят какой-то мессенджер без вашего согласия.

Причем транслируют инструкции «не пользоваться публичными/открытыми Wi-Fi» множество ИБ-компаний, включая вполне именитых экспертов. Но, кажется, это карго-культ 2015 года, и давайте попробуем разобраться, почему и как так вышло!

Дисклеймер! В статье умышленно рассматривается самый частый сценарий — подключение к Wi-Fi смартфона обычного человека. А не того, кто находится в розыске ФСБ/ФБР/Интерпола. Подключение ноутбука же ныне значительно более редкий и очень детерминированный сценарий, ведь выстрелить себе в ногу с небезопасной настройкой ноута значительно проще, особенно если ты из IT.

Итак, обычный человек, обычный современный смартфон. Поехали?

Подключиться к Wi-Fi

Мультиплеер в Цивилизации 5

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

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

Читать далее

Инцидент с Therac-25

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

Когда пристёгиваешь пациента к электронной пушке, способной выстреливать пучком частиц с энергией 25 МэВ, следование процедурам — вопрос жизни и смерти. Оператор, эксплуатировавшая аппарат лучевой терапии в Онкологическом центре Восточного Техаса (East Texas Cancer Center, ETCC), работала с ним достаточно долго для того, чтобы запомнить все процесс.

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

Читать далее

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

Как я замену MAX'у искал, или «Matrix и XMPP на своем сервере для самых маленьких»

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

В свете небезызвестных событий в законотворческой области, столкнулся с необходимостью организовать канал для звонков внутри семьи, т.к. пользоваться звонками в популярных мессенджерах – значит быть подверженным угрозам со стороны мошенников и спонсировать терроризм, а звонить по мобильной сети с ее ужасным качеством связи (несмотря на все потуги операторов в VoLTE и прочие VoiceHD)  в 2025 году – какой-то моветон. А MAX на мои устройства устанавливаться отказался, не знаю почему, я даже не пробовал. Может быть потому что я слишком мало времени провожу в лифте и на парковке?

Что из этого получилось и как повторить — готов поделиться.

Читать далее

YDB в мире Java: от нативного клиента до ORM’ов за 1 год

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

Популярность баз данных и языков программирования определяется не только их собственными характеристиками, но и ассортиментом доступных для разработчиков библиотек и фреймворков.

Меня зовут Кирилл Курдюков, в 2024 году я выступил в Питере на Joker — конференции для Java-разработчиков — с историей о том, как мы с командой делаем СУБД Яндекса удобной для джавистов.

Под катом статья, написанная по мотивам доклада. Это история о том, как маленькими шагами пройти путь от нативного клиента на Java до поддержки Hibernate, Liquibase, jOOQ и других популярных в мире Java-разработки решений.

Читать далее

Знакомство с программным USB на CH32V003

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

Давно хотел сделать устройство с USB, но больше всего мне казалось интересным это использовать программное USB. И для микроконтроллера CH32V003 давно существует библиотека rv003usb, которая решает эти задачи. В этой статье можно было бы рассказать как делать простейшее USB-устройство на основе её, но эта библиотека заметно больше и предлагает, помимо самой библиотеки, несколько полноценных рабочих программ: загрузчик и программатор.

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

Попробуем сделать свой Digispark!

Читать далее

Василий и теория вероятностей: а не решить ли задачку в честь 1 сентября?

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

Привет, меня зовут Диана, я математик и пишу для хабраблога МТС. Моя прошлая публикация была про скутоиды и набрала больше 40к просмотров — спасибо вам за ваш интерес!

Сегодня в честь первого сентября предлагаю решить тематическую задачку. Первые три пункта простые, на размяться и вспомнить базу. А вот четвертый весьма нетривиален и сильно сложнее. Мне его решение доставило много радости — надеюсь, и вам понравится!

Читать далее

Ностальгические игры: Call of Duty

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

Помню, как впервые увидел Call of Duty примерно в 2004-2005 годах, скачав её в локалке родного города, толком не зная, чего ожидать. В итоге эта игра оказалась настоящим откровением: с первых минут она захватила своей атмосферой, постановкой и масштабом — такого я раньше просто не видел! К тому моменту я уже играл в разные части Medal of Honor и думал, что ничего кинематографичнее Второй мировой в играх быть не может, но появление Call of Duty перевернуло моё представление: внезапно ты не один на поле боя, вокруг тебя союзники, разрывы снарядов, крики товарищей — полное ощущение, что попал в эпизод из «Спасения рядового Райана».

В этой статье я хочу вспомнить оригинальную Call of Duty во всех деталях — от истории её создания небольшой командой энтузиастов до новаторского геймплея и феноменального звукового сопровождения. А в конце я подготовлю для вас ссылку, чтобы вы могли без проблем запустить её на любом современном ПК. Что ж, доставайте каски и готовьте винтовки — пора вернуться на поля сражений Второй мировой вместе с первым Call of Duty!

Читать далее

Как я воскрешал аккумуляторы шуруповёрта

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

Ссылка на ролик на YouTube

Недавно я столкнулся с проблемой выхода из строя трёх новеньких аккумуляторов Ryobi. Тогда мне стало интересно, что послужило причиной. В итоге я погрузился в эту кроличью нору довольно глубоко – покупал десятки нерабочих аккумуляторов на eBay, реверсил печатную плату и документировал все этапы ремонта.

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

Читать далее

UltraRAM: память, которая меняет правила игры

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

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

И похоже, такая технология наконец появилась. UltraRAM обещает скорость на уровне DRAM, энергонезависимость и долговечность, в разы превосходящую NAND, причем с расчетным сроком хранения данных до тысячи лет. Давайте разбираться, как она устроена, какие возможности открывает и почему способна перевернуть рынок вычислений.

Читать далее