Обновить

Разработка

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

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

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

Привет, Хабр! Меня зовут Бартенев Евгений, я автор курса «Python-разработчик» в Яндекс Практикуме и практикующий разработчик. Я прособеседовал сотни кандидатов и сам неоднократно побывал в роли собеседуемого, поэтому хорошо представляю, какие именно знания проверяют на интервью и где чаще всего «проваливаются» не только джуны, но и опытные разработчики.

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

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

Читать далее

Как изготовить корпус из листового металла

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

Разработать электронную начинку радиоэлектронного прибора — половина дела. Вторая половина — корпус.

Освоить CAD на минимальном уровне реально за выходные; еще за выходные спроектировать простой корпус и выгрузить развертки и чертежи. Чтобы произвести детали, потребуются длинная воля, твердость, самообладание, время, знакомства и удача.

Подробности

Я CSS-программист: «Магия» CSS или как превратить язык стилей в Тьюринг-полный ад

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

Представьте, что вы — разумный человек. Вы знаете, что CSS — это язык стилей. Cascading Style Sheets. Для оформления. Не для логики. Не для программирования. Просто цвета, шрифты, отступы.

А потом вы заходите на CodePen.

И там кто-то сделал полностью рабочий калькулятор. На чистом CSS. Без JavaScript.

Читать далее

Развёртывание своего облачного хранилища на VPS: Nextсloud и альтернативы

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

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

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

• доступ к файлам с любого устройства;
• автоматическая синхронизация файлов и резервное копирование;
• расшаривание файлов;
• совместная работа с документами.

Сегодня такое «локальное облако» можно поднять на собственном сервере или VPS в качестве альтернативы корпоративным экосистемам типа Apple, Google и «Яндекс».

Читать далее

Что такое веб-сервер в Node.js и как его запустить на удаленном сервере

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

Привет, я — Honey Montana, инди-хакер, JavaScript-разработчик и автор YouTube-канала. В инструкции разберем основы работы с Node.js. Вы узнаете, как работает веб-сервер на JavaScript, подключиться к удаленному серверу по SSH, сгенерировать ключи и задеплоить проект в облако, чтобы он был доступен пользователям по сети. Подробнее — в тексте.  

Читать далее

Оптика в техническом зрении. Лекция 3: Диафрагмы и виньетирование

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

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

Меня зовут Андрей, я – специалист по оптическим системам, расчётчик и конструктор в одном лице.

Это третья статья из курса основ прикладной оптики, созданного несколько лет назад для внутреннего обучения CV-разработчиков организации, где я работаю.

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

Тема при кажущейся простоте весьма сложна — даже в оптической литературе нет единой последовательности её изложения. При подготовке статьи самым сложным оказалось выбрать, какой необходимый минимум рассказывать (а что опустить) и как выстроить текст так, чтобы он легко читался и воспринимался.

Думаю, и фотографы, и специалисты по компьютерному зрению найдут здесь для себя что-то новое. Если что-то останется непонятным — прошу в комментарии.

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

Читать далее

Обзор возможностей для разработчиков при работе с VK Mini Apps

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

В 2025 году аудитория ВКонтакте достигла 92,5 млн пользователей в месяц. Пользователи ВКонтакте активно используют все внутренние сервисы, в том числе мини-приложения и игры, которые любой внешний разработчик может представить многомиллионной аудитории с помощью VK Mini Apps.

Меня зовут Никита Васюков, руководитель команды спецпроектов в направлении разработки игр и приложений. И в этой статье я расскажу, что такое VK Mini Apps, какие возможности предоставляет платформа и как мы её используем для своих задач.

Читать далее

Как я чуть не положил домен заказчика ZeroLogon’ом, или почему некоторые пентестеры опаснее хакеров

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

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

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

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

Дальше расскажу реальные истории о том, как ZeroLogon чуть не уничтожил домен заказчика, как утренний запуск Nmap парализовал офис на несколько часов, и почему некоторые пентестеры могут быть опаснее хакеров. А затем разберем, какие точки отказа в корпоративной сети ломаются первыми и как не превратить аудит безопасности в производственную катастрофу.

Читать далее

HTML и CSS антипаттерны

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

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

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

Только по какой-то причине сложно найти антипаттерны по языкам HTML и CSS. Может, потому что они не языки программирования?

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

Давайте посмотрим, что я вам подготовил.

Читать далее

ML глазами практика и препода. Часть 2. Границы роста и цена энергии

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

Всем привет! Это вторая часть моего лонгрида о том, как ИИ меняет ИТ и не только. Тут я размышляю на тему no-code-моды, физических ограничениях и энергетической цены нынешнего ИИ-бума, а также о трансформациях, которые происходят в науке и медицине благодаря нейросетям. 

Если вы не читали первую часть, то вам сюда

Читать далее

Почтовый Шарпей: как мы приручили 700+ шардов PostgreSQL

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

Всем привет! Меня зовут Алексей Кременьков, я старший разработчик в Яндекс Почте. В этой статье расскажу, как мы работаем с большим количеством шардов PostgreSQL: как создавали собственный сервис динамического шардирования Sharpei, как развивали инфраструктуру под него и как проходил переезд на облачное решение. В конце разберёмся, какие плюсы и минусы мы смогли найти в этом решении.

Читать далее

Почему Fortran в 2025 году всё ещё остаётся «ракетой»

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

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

И вот, листая рейтинг TIOBE, я обнаружил в топ-20… Fortran. Более того, он поднялся с третьего десятка почти в топ-10, обогнав такие языки, как Swift и Ruby. Казалось, что этот «старичок» давно покоится в истории, но факты оказались упрямее стереотипов.

Читать далее

Клиент telega сотрудничает с telegram и Павлом Дуровым? Разбираемся

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

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

Однако мы наткнулись на информацию куда более любопытную — возможное сотрудничество самой Telega с Telegram.

Мы попытались понять, каким образом Telega получила доступ к функциям, зарезервированным для официальных клиентов Telegram, и почему это может указывать на куда более тесное взаимодействие между ними, чем кажется на первый взгляд.

Читать далее

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

Визуализация горного ландшафта на C++ или велосипед для рендеринга

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

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

Читать далее

Протокол VLESS: Как он обходит цензуру в России и почему это работает

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

В 2025 году интернет-цензура в России, Китае и Иране достигла беспрецедентного уровня. Традиционные VPN-протоколы вроде OpenVPN и даже WireGuard обнаруживаются и блокируются системами Deep Packet Inspection (DPI) за считанные секунды. На сцену выходит VLESS — легковесный протокол, который становится последним работающим решением для обхода современной цензуры.

Эта статья объясняет, как работает VLESS на техническом уровне, почему он так эффективен в обходе обнаружения, и делится реальным опытом создания VPN-сервиса во враждебной среде России.

Читать далее

Электроника в вопросах и ответах 4

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

Несмотря на то, что можно уже аккуратно говорить о появлении традиции электроквиза, с некоторыми устоявшимися правилами и локальным мемом "правильный ответ" :) , каждый новый выпуск привносит что-то новое.

В этот раз помимо блоков с ответами участников будут блоки с ответами двух LLM.
Так как LLM имеют свойство давать весьма развёрнутые ответы, в дополнение к вопросам включалась просьба при ответе быть лаконичными.

В остальном всё как обычно: 19 участников собрали 19 вопросов по электронике и попробовали на них ответить.

Ответить на вопросы смежников

Почему Pascal лучше для обучения программированию, чем Python

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

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

Читать далее

Разбираемся с композитным видеосигналом NTSC, и стоит ли изучать его в 2025 году. Часть 1

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

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

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

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

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

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

Кому интересно скоротать несколько вечеров, хочется улучшить свои знания и умения, добро пожаловать под кат.

Читать далее

Как использовать callback-функции в JavaScript

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

Привет, Хабр! Я — Александр Дудукало, автор одноименного YouTube-канала. В прошлой статье мы разобрали ссылочный тип данных, который хранит не само значение, а ссылку на него в памяти. Сегодня используем полученные знания на практике и познакомимся с одной из самых важных концепций в JavaScript — callback-функциями. Подробности — под катом!

Читать далее

URL как контейнер состояния

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

Пару недель назад, когда я писал пост The Hidden Cost of URL Design, мне нужно было добавить подсветку синтаксиса SQL. Я направился на веб-сайт PrismJS, пытаясь вспомнить, можно ли добавить его в качестве плагина. Меня утомило количество вариантов на странице скачивания, поэтому я вернулся к своему коду. Поискав в файле PrismJS, я нашёл в его начале комментарий, содержащий URL:

/* https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+bash+css-extras+markdown+scss+sql&plugins=line-highlight+line-numbers+autolinker */

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

Это стало одним из тех моментов, когда ты внезапно снова осознаёшь важность чего-то. Передо мной был URL, не просто указывающий на страницу: он хранил состояние и позволял полностью воссоздать все мои настройки. Не нужна никакая база данных, никакие куки, никакое localStorage. Достаточно одного URL.

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

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

Читать далее