Обновить

Разработка

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

Security by design на практике: проектирование безопасной инфраструктуры

Время на прочтение13 мин
Количество просмотров1.4K

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

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

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

Читать далее

Новости

Оживляем самый массовый карточный таксофон двухтысячных

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

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

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

Бесплатный звонок

Настраиваем nano под себя

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

Nano для меня one love инструмент повышения продуктивности работы в консоли, не больше, не меньше. Спорить о достоинствах и недостатках смысла не вижу. Одни защищают Emacs, превращая его в полноценную операционную систему с календарём, почтой и встроенным браузером. Другие восхищаются Vim, где можно писать код, не отрывая рук от клавиатуры, но ведь не даром, дядя, самый популярный запрос про vim в Google до сих пор - «how to exit Vim».

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

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

Читать далее

Книга «Современный C#. Разработка настольных, облачных, мобильных и веб-приложений». Работа со встроенными массивами

Время на прочтение9 мин
Количество просмотров781

Приветствуем, Хабр.

Сегодня расскажем о нашей большой ноябрьской новинке – книге «Современный C#. Разработка настольных, облачных, мобильных и веб-приложений». Иэн Гриффитс продолжает многолетнюю работу над своим справочником по C#, и в новом издании осветил версию C#12. Вот ссылка на гитхаб-репозиторий с примерами к книге.

Более ранние издания этой книги (по версиям C#5 и C#8) уже выходили на русском языке, поэтому данное энциклопедическое пособие наверняка известно опытным .NET-разработчикам. Мы не претендуем на лавры «подхвативших упавшее знамя», но решили выпустить новую версию книги, так как она в подробностях затрагивает облачные и контейнерные аспекты работы.  Вот что появилось нового в этом издании по сравнению с версией «C# 8», опубликованной на русском языке в 2021 году:

Читать далее

Наследие кода: разбор С и С++ модулей Erlang, которые работают десятилетиями

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров2.1K

Код некоторых модулей Erlang/OTP старше, чем большинство современных junior-разработчиков. Эти файлы — настоящие цифровые патриархи, десятилетиями обеспечивающие работу банковских транзакций, телефонных сетей и систем обмена сообщениями. Мы решили заглянуть под "капот" этого языка-долгожителя, чтобы проверить, что именно скрывается в строках, на которые сегодня полагаются миллионы пользователей. А вот что мы нашли, узнаем в этой статье.

Читать далее

У меня 300 задач, и все самые приоритетные. Вот что я делаю

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

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

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

В первую неделю коллега уронил телефон в реактор полимеризации. Экран расплавился. Началось помутнение гранул. Тонны полипропилена превратились в брак. А мы не могли запустить новую функцию на склад, пока не вывезем весь этот брак.

Я тогда поняла — здесь все по-другому.

Читать далее

В защиту «обычных» разработчиков

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

Мем про «10×-разработчика» живёт не просто так — такие люди встречаются. Но это не то, чем можно управлять. Софт делает команда, а скорость задаёт система вокруг неё. В статье — как навести порядок в этой системе, чтобы «обычные» инженеры стабильно давали сильный результат: короткий путь «коммит → прод», быстрый откат вместо героизма, наблюдаемость по умолчанию, удобный платформенный self-service и найм не «самых крутых», а подходящих под задачи и ценности. Продуктивность измеряется не строками кода и не тайтлами, а влиянием на бизнес; остальное — лишь прокси-метрики.

К материалу

Как решать LeetCode? Легко! Нужно просто…

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

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

На сегодняшний день алгоритмические задачи встречаются не только в FAANG. Многие компании и на отечественном рынке всё чаще вводят дополнительный алгоритмический этап на собеседовании – и знание алгоритмов становится отличным «плюсиком» не только при трудоустройстве, но и в решении повседневных задач. Взглянем подробнее на эти паттерны.

Подробнее о паттернах

Разработка с AI в 2025: от идеи до продакшена с Claude Code

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров844

Индустрия разработки программного обеспечения переживает фундаментальную трансформацию. Еще два года назад идея доверить AI написание производственного кода казалась фантастикой. Сегодня это реальность для сотен тысяч разработчиков по всему миру.

Согласно данным Anthropic, Claude Code используют более 115 тыс. разработчиков, которые обрабатывают 195 млн строк кода еженедельно. Уровень внедрения среди разработчиков составляет 53% — это лидирующий показатель на рынке. База активных пользователей выросла на 300%, а доход увеличился в 5,5 раза за последние месяцы.

Но что действительно важно, это не статистика внедрения, а фундаментальный сдвиг в подходе к разработке. AI-инструменты больше не просто ускоряют написание кода. Они меняют саму парадигму: от «Как это закодить?» к «Что именно нужно построить?».

В этой статье мы рассмотрим практические паттерны и подходы к R&D и проверке гипотез с использованием современных AI-инструментов, в частности Claude Code — терминального агентного инструмента.

Читать далее

Судно на воздушной подушке — насколько оно реально для самостоятельной постройки (мини модель)?

Время на прочтение12 мин
Количество просмотров694

Существует одна интересная область технического творчества, которая позволяет создать аппарат, вызывающие равный восторг, как у детей, так и у взрослых, с пользой и интересно проведя время — это создание своего собственного судна на воздушной подушке! :‑D 

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

Читать далее

Релиз Explyt Spring: SQL, Docker-Compose, Debugger

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров222

Всем привет! На связи команда Explyt Spring. Недавно у нас вышел очередной релиз, который включает несколько важный обновлений: поддержа SQL, очередные улучшения для Spring Debugger, поддержка Spring пропертей для Docker-compose файлов и многое другое. Если вам интересны подробности то добро пожаловать под кат!

Читать далее

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

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров398

Привет! Меня зовут Алексей Гомелевский, я frontend-разработчик в Garage Eight. Моя команда занимается улучшением взаимодействия пользователей с продуктом, и недавно мы решили реализовать комментарии. В этой статье расскажу, как выбирали между решением из коробки и собственной разработкой, с какими сложностями столкнулись и как на базе комментариев создали чаты. 

Читать далее

Бенчмарк бенчмарка Lakehouse-движков, в котором побеждает объективная реальность

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров615

Недавно на Хабре вышла статья с громким заголовком «Бенчмарк lakehouse‑движков, часть 1: StarRocks и Doris падают под нагрузкой, Presto аутсайдер, CedrusData быстрее всех». В своей статье авторы из Кверифай Лабс выбрали методику TPC‑DS, но вместо 99 запросов остановилась на одном, который к тому же запускается на одной машине. Обосновывается это тем, что на одном конкретном запросе нужно разобрать работу оптимизаторов. По результатам исследования делается вывод, что решение, разработанное авторами, является лучшим, в том числе для запуска одного конкретного запроса на одном узле. Давайте попробуем разобраться, действительно ли это так.

Читать далее

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

Путеводитель по матанализу, который скрывали от вас в вузе

Уровень сложностиПростой
Время на прочтение45 мин
Количество просмотров1.3K

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

Идея непрерывности.

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

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

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

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

Читать далее

Почему я выбрал Warp, а не Cursor или Claude Code: мои инструменты, MCP, подход и конкретные приёмы разработки с LLM

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

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

Всё благодаря правильной связке инструментов, которые превращают AI в младшего разработчика, архитектора и DevOps одновременно. Делюсь конкретикой: почему терминал лучше IDE для AI-разработки, как управлять контекстом через Rules и MCP, какие модели выбирать для разных задач, и почему фреймворки — ваша защита от галлюцинаций LLM.

Читать далее

PHP-веб-панель для Amnezia VPN: ускоряем корпоративную автоматизацию

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

Под катом расскажу, как реализовал свою web-панель для управления Amnezia AWG (WireGuard) VPN на Ubuntu 22–24. Почему не хватило официального приложения, какие задачи решил с помощью простого PHP-интерфейса и чем это может быть полезно другим компаниям или разработчикам. Код и инструкции — в открытом доступе.

Проект на GitHub: amneziavpnphp

Читать далее

Математическая головоломка из университетского квеста

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров338

Mr. Game & Watch — одна из интересных головоломок игры Puzzle Hunt Мельбурнского университета 2011 года. Эта игра представляет собой ежегодный квест, цель которого — первыми обнаружить «сокровища», спрятанные где‑то на территории кампуса. Задания игры не содержат инструкций. Вместо этого участникам дается сюжет, который постепенно развивается, и в который встраиваются головоломки.

Головоломка представляет собой большое количество однотипных часов: всего их 24, и они аккуратно расположены на странице в 6 рядов и 4 столбца. На всех часах можно видеть циферблат с 12 римскими цифрами; расположение часовой стрелки и минутной стрелки; время суток (AM или PM); а также угол в градусах, который представляет собой разность между положением стрелок...

Читать далее

От слов к делу: как Postgres Pro строит будущее в Академгородке

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров180

Некоторые из IT-компаний говорят, что поддерживают open source. На деле это нередко означает использование чужого кода и PR-активность. Мы считаем, что настоящий вклад — это коммиты в ядро. И чтобы делать это системно, мы открыли инженерный центр не в столичном бизнес-парке, а в месте, где фундаментальная наука — часть культурного кода. Рассказываем, почему будущее системного программирования мы строим в новосибирском Академгородке.

Читать далее

Эволюция радиомашинок в среде Unity с помощью NGspice

Уровень сложностиСредний
Время на прочтение39 мин
Количество просмотров792

В этой статье я расскажу про свой эксперимент: я создал в Unity симуляцию радиоуправляемых машинок, которые эволюционируют. «Мозгом» каждой машинки является электронная схема. Я заставил эти схемы мутировать(случайно меняться) и скрещиваться(обмениваться частями), чтобы создавать новые модели машин и улучшать их. Его «интеллект» и поведение меняются в зависимости от того, сколько блоков онa успешно поднимает.

Читать далее

Как построить открытую АСУТП. Разработка пользовательских функциональных блоков

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров497

Открытая АСУТП хороша тем, что её можно и нужно адаптировать под себя. Но что делать, когда встроенного функционала не хватает? Когда вам нужна уникальная логика, алгоритм или расчёт?

Ответ — создавать свои функциональные блоки. Именно этот шаг превращает вашу АСУТП из «коробочного» решения в по-настоящему гибкую систему, заточенную под ваши процессы. В этой статье, продолжая наш цикл о построении открытой АСУТП, мы на практике подробно разберём один из двух основных вариантов разработки пользовательских функциональных блоков.

Читать далее