Pull to refresh
-2
0
Send message

Устаревшие версии Python обходятся компаниям в миллионы долларов

Level of difficultyEasy
Reading time4 min
Reach and readers7.9K

Команда Python for Devs подготовила перевод статьи о скрытых издержках использования старых версий Python. TL;DR: 83% разработчиков застряли на Python 3.10–3.11, и это обходится компаниям в миллионы долларов ежегодно из-за лишних "облачных" затрат. А ведь казалось бы, обновиться — проще простого.

Читать далее

1С: Шина. Используем сервисную шину предприятия

Reading time7 min
Reach and readers7.4K

Современные системы состоят из множества различных сервисов и одной из основных задач является обеспечение обмена данными между компонентами системы. Для обеспечения этой функциональности используются шины данных (Enterprise Service Bus, ESB), интегрирующие различные приложения и системы в единую информационную среду. Она выступает в роли «посредника», минимизируя прямые связи между отдельными системами и обеспечивая гибкость взаимодействия. Таким образом, основная цель внедрения ESB — оптимизировать и унифицировать взаимодействие внутри информационного ландшафта предприятия.

Подробнее о 1С:Шине

Используйте простейшие рабочие решения

Level of difficultyEasy
Reading time7 min
Reach and readers12K

Занимаясь проектированием систем ПО, идите самым простым путём из возможных.

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

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

Читать далее

Культура ИТ экспериментов. Очередные первые 100 дней в новой компании

Level of difficultyMedium
Reading time5 min
Reach and readers5.9K

Каждая компания двигается по шкале от незрелой к зрелой и обратно. Это всегда динамика. Сегодня вы образец, завтра вы устаревшая помойка. Если 10 лет назад для наведения порядка внедрялся какой-нибудь "каскадо-водопадный PMI", 5 лет назад гибко-адаптивный Agile-OKR, то сейчас есть динамика к культуре проведения экспериментов*.

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

*Статья состоит из двух блоков - критика и предложение. Контекст: продуктовая ИТ компания среднего уровня, не стартап и не из ТОП 50.

Читать далее

Трюк, который раньше ускорял Python, теперь лишь захламляет код

Level of difficultyMedium
Reading time13 min
Reach and readers15K

Команда Python for Devs подготовила перевод статьи о том, почему любимая оптимизация Python — присваивать глобальные функции локальным переменным — больше не даёт выигрыша. CPython 3.11 стал умнее, и старый хак l = len уже почти бессмыслен.

Читать далее

Запускаем WebAssembly модули с Python хоста

Level of difficultyMedium
Reading time6 min
Reach and readers6.3K

WebAssembly - молодая, но довольно перспективная технология. WASM позволяет упаковать программу в бинарный формат, который можно запускать на любой системе, в изолированной среде.

В статье посмотрим как WASM-модули взаимодействуют с Python хостом. (Спойлер - не все так просто как хотелось, поддержка WASM в Python экосистеме пока слабая)

Читать далее

Как написать ТЗ на простую программу (калькулятор)

Level of difficultyEasy
Reading time11 min
Reach and readers10K

Рассмотрим, как может выглядеть работа по созданию ТЗ на несложную программу.

Возьмём калькулятор, который будет выполнять базовые арифметические операции (+, -, *, /).

Работу можно построить в 2 этапа:

Читать далее

Утилита Find и регулярные выражения

Level of difficultyEasy
Reading time6 min
Reach and readers6.7K

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

Регулярки освоить нетрудно. Буквально за пару часов можно получить почти средний уровень владения и научиться читать и писать выражения для поиска ip-адресов, e-mail, html-тегов, телефонных номеров, дат и прочих несложных конструкций. Я думаю, все это вам знакомо, но на всякий случай в конце статьи я добавил несколько ссылок для изучения.

Я уже прошел «курс молодого бойца» по регуляркам, написал свою, вставил в find, и она не сработала. Но пойдем по порядку.

Читать далее

«Политика открытых дверей»: как один скрипт обрушил защиту домена

Reading time8 min
Reach and readers12K

Всем привет! На связи Дмитрий Неверов, руководитель направления тестирования на проникновение в Бастионе. Мы профессионально ломаем системы безопасности компаний. Разумеется, с разрешения их владельцев. Расскажу кейс, за который я получил ачивку «Фаворит года по версии жюри» Pentest Awards 2025.

Представьте: крупная инфраструктурная компания с регулярными пентестами, серьезным бюджетом на ИБ и жесткими регуляторными требованиями. Казалось бы, что тут можно сломать? А мы взяли и получили права доменного администратора, начав путь с непривилегированной учетки сотрудника. И никаких бэкдоров или zero-day, только чистая работа с Active Directory.

Самое интересное — как несколько на первый взгляд безобидных настроек превратились в билет к полному контролю над доменом. Сейчас покажу всю цепочку от начала и до победного DCSync.

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

Я разобрался, каршеринг — это не бизнес на аренде авто

Level of difficultyEasy
Reading time13 min
Reach and readers84K

Наши родители не могли о таком и мечтать! 

Тебе исполняется 18 лет, получаешь права и уже можешь получить свою собственную машину на час или два, съездить погулять с друзьями или в ресторан с девушкой. 

Заплатив за это всего 10-15 ₽ за минуту. Но…

Так было, пока не упала маржинальность бизнеса на аренде авто. Выросла ключевая ставка, а цены на новые машины подскочили в 2 раза. 

Сегодня вместе с машиной ты можешь получить штраф от 20 000 ₽ до нескольких миллионов рублей.

Читать далее

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

Reading time6 min
Reach and readers10K

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

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

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

Читать далее

Смирись: ты ненормальный

Level of difficultyEasy
Reading time10 min
Reach and readers60K

Я встречал много людей, которым не нравится их работа. И когда я их спрашиваю, чем бы они занимались вместо, около 75% из них отвечают что‑то вроде: «Хммм, не знаю. Я бы хотел открыть свою небольшую кофейню!» Если в тот день я в хорошем настроении, я задаю им встречный вопрос: «Тогда где бы ты взял кофейные зерна?»

Если они не знают что ответить, то я задаю ещё пару наводящих вопросов:

Читать далее

Проработанные, но несчастные: почему массовая психологизация не спасает от внутренней пустоты

Reading time4 min
Reach and readers89K

«Психологизация»

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

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

Читать далее

Обзор книги «Паттерны разработки на Python TDD, DDD и событийно-ориентированная архитектура»

Reading time5 min
Reach and readers7.5K

Недавно я прочёл книгу «Паттерны разработки на Python TDD, DDD и событийно-ориентированная архитектура». Основной акцент в ней сделан на том, как именно нужно структурировать программы, чтобы они по мере роста оставались простыми и удобными в поддержке. Это моя любимая тема из области программирования, поэтому, конечно же, книга мне понравилась. Пожалуй, я не возьмусь использовать именно те приёмы, которые авторы рекомендуют в книге — но они обсуждают классные идеи, напомнившие мне о задачах, встречавшихся в моей практике на предыдущих работах. Кроме того, отмечу, что английская версия книги есть в свободном доступе онлайн, так какие вообще вопросы?

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

Читать далее

Туннель в никуда: как ngrok помогает обойти периметр и как это остановить

Level of difficultyEasy
Reading time10 min
Reach and readers8.1K

Всем привет!

Сегодня речь пойдет о распределенном обратном прокси-сервере ngrok и эксплуатации его возможностей атакующими. По данным MITRE ATT&CK инструмент используется различными APT группировками, в том числе в атаках направленных на компании в России и странах СНГ, что упоминается в Ландшафте киберугроз от команды Kaspersky Cyber Threat Intelligence и в статье Распутываем змеиный клубок: по следам атак Shedding Zmiy.

В данной статье мы рассмотрим примеры использования ngrok в операционных системах Windows и Linux, а также определим маркеры, по которым можно выявить его использование.

Читать далее

AsyncAPI — Swagger для асинхронного API

Reading time13 min
Reach and readers10K

Привет, Хабр! Меня зовут Александр Митин. Я Java разработчик в компании ИТ-холдинг Т1 с 15 летним опытом, из которых последние 5 лет работаю в финтехе. Мой любимый стек — Java Spring. Я хочу рассказать такое AsyncAPI, как работать со спецификациями, какие есть инструменты и поделюсь нашим опытом перехода на подход API First в наших системах.

Читать далее

Регистрация в реестре российского ПО

Level of difficultyMedium
Reading time6 min
Reach and readers5.3K

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

Вообще, на тему реестра российского ПО написано уже немало материалов, и если вам эта тема интересна, вы примерно уже знаете, зачем это вам нужно.

Читать далее

Управление маршрутизацией на роутерах Keenetic при помощи Telegram-бота и правовые нормы доступа к информации

Level of difficultyMedium
Reading time29 min
Reach and readers13K

После начала Специальной Военной Операции многие западные компании объявили о прекращении своей деятельности в России и Белоруссии и некоторые из них стали блокировать пользователям с российскими и белорусскими IP-адресами доступ на свои ресурсы в сети Интернет. Яркими примерами таких блокировок являются сайты: intel.com, dell.com, chatgpt.com, community.cisco.com, mongodb.com, tenable.com, wiki.zimbra.com, releases.hashicorp.com, registry.terraform.io, vagrantcloud.com, solarwinds.com и множество других.

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

Также, в качестве упражнений для ума, можно поизучать вопросы о допустимости дискриминации по национальному признаку и принципе сетевой нейтральности.

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

В это статье НЕ БУДЕТ инструкций о том откуда взять работающий VPN и НЕ БУДЕТ инструкций о том как обходить блокировки Роскомнадзора. Обсуждать это в комментариях к статье тоже НЕ НУЖНО.

Моя статья посвящена изучению современных инструментов и технологий и объясняет то как получить доступ к легальным сайтам, доступ к которым изнутри страны не ограничен и которые самостоятельно закрыли доступ для пользователей из России и Белоруссии.

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

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

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

Я согласен(-на) и хочу продолжить.

Десктопный агент на базе Gemma 3 1b

Level of difficultyEasy
Reading time6 min
Reach and readers6.6K

Приветствую, товарищи разработчики. В этой статье я бы хотел поднять небольшой эксперимент, на который я потратил 2 недели ленивого анализа и разработки. Как понятно из названия, речь пойдет о десктопном агенте на базе open‑source языковой модели от Google — Gemma 3 на 1 миллиард параметров. Сразу уточню, что это моя первая статья на Хабре, поэтому если возникнет критика по поводу оформления или подачи — прошу расписать в комментариях.

С чего началось

А началось все со статьи на форуме Reddit, где парень, используя Ollama, Gemma 3 1b и n-ное количество API, создал себе настольного браузерного агента, который бы мог переводить текст, присылать погоду, а так же серфить просторы Интернета с помощью API Serp.dev. (прилагаю ссылку на статью).

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

Читать далее

Linux для начинающих: WSL — это читерство. Как Microsoft дал нам Linux без головной боли

Level of difficultyEasy
Reading time9 min
Reach and readers44K

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

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

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

Наконец, есть и субъективный фактор — привычка. Я с самого начала работал с Windows, и, несмотря на все преимущества Linux, полностью перестроить рабочий процесс оказалось сложно. WSL в этом плане — идеальный компромисс: Linux-окружение под рукой, но без необходимости отказываться от удобств Windows.

Читать далее

Information

Rating
5,172-nd
Registered
Activity