Как стать автором
Обновить
419
80.6

Пользователь

Отправить сообщение

Издательство Питер. Колонка редактора, февраль 25 г

Время на прочтение3 мин
Количество просмотров2.6K
image

Привет, Хаброжители!

Предлагаем ознакомиться с краткими обзорами новинок, отправленных в типографию.
Читать дальше →

Книга: «Blue Fox: взлом и реверс-инжиниринг ARM»

Время на прочтение10 мин
Количество просмотров963
Привет, Хаброжители!

Что такое реверс-инжиниринг?

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

Конечно же, сегодня мы расскажем о новой книге «Blue Fox: взлом и реверс-инжиниринг ARM», которая поможет разобраться во внутреннем устройстве архитектуры ARM и реверс-инжениринге.
Читать дальше →

Спинлок в современном C++ с применением атомиков, барьеров памяти и экспоненциальной выдержкой

Время на прочтение9 мин
Количество просмотров1.8K
Эта статья послужит вам быстрым, но глубоким введением в низкоуровневую конкурентность.

Механизмы блокировки — важнейшая часть конкурентного программирования. Такие механизмы позволяют множественным потокам одновременно обращаться к разделяемым ресурсам, не мешая друг другу. Одна из самых популярных блокировок – это спинлок (циклическая блокировка), при которой применяется активное ожидание, механизм, позволяющий раз за разом проверять, не освободилась ли блокировка. Правда, при таком подходе будут тратиться драгоценные такты процессора, если блокировка зациклится и станет впустую потреблять ресурсы процессора. Для решения этой проблемы применяется подход под названием экспоненциальная выдержка. При экспоненциальной выдержке применяются постепенно нарастающие периоды ожидания, что позволяет не тратить ресурсы впустую.

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

Книга: «Продакт-менеджмент на практике»

Время на прочтение4 мин
Количество просмотров2.2K
imageПривет, хаброжители!

Только-только вышел «Продакт-менеджмент на практике», а мы уже приготовили для вас нечто интересное!

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

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

А пока давайте вместе почитаем статью «Система светофора для выживания стартапа», написанную автором книги Меттом ЛеМейем для medium.
Читать дальше →

Книга: «Dungeons & Dragons: Тактика боя для Мастеров подземелий (Монстры)»

Время на прочтение12 мин
Количество просмотров5.3K
image Привет, Хаброжители!

«Dungeons & Dragons: Тактика боя для Мастеров подземелий (Монстры)» — книга, обязательная к прочтению для каждого Мастера начинающего, среднего и продвинутого уровня, который хочет сделать игру ярче и сложнее для игроков.

Руководство Кита Амманна — Мастера с тридцатилетним опытом ведения игры и создателя популярного блога The Monsters Know What They're Doing — поможет оценить способности монстров и разработать грандиозные планы сражения. Вы научитесь принимать как можно больше тактических решений до начала сессии, выстраивать плавный и логичный ход битв, эффективно использовать умения монстров, чтобы не только генерировать острый сюжет, но и многопланово обогащать игру кровопролитными поединками.
Читать дальше →

Дизайн Agile-организаций: создайте свою уникальную модель гибкости

Время на прочтение8 мин
Количество просмотров960
imageПривет, хаброжители!

Мы считаем, что лучше всего о своей книге может рассказать именно автор, поэтому мы попросили Илью рассказать о его новой книге на Хабре.

Друзья, всем привет! Меня зовут Илья Павличенко и я помогаю менеджерам и собственникам компаний в создании Agile-организаций. Мой путь: программист, техлид, менеджер проекта, Скрам-мастер, Agile-коуч, консультант по организационному дизайну. Также я первый сертифицированный Скрам и LeSS-тренер в России, основатель компании Scrum.ru.

В феврале 2025 года в издательстве Питер выходит моя книга «Дизайн Agile-организаций», и я благодарен за возможность изложить ее ключевые мысли в этой статье.

Дизайн Agile-организаций: создайте свою уникальную модель гибкости


Поиск «серебряной пули»


Лет десять тому назад предприимчивые консультанты побывали во многих головных офисах российских банков. Они показывали красивую презентацию и продали компаниям модель Spotify как организационный дизайн, который должен гарантировать компаниям скорость и гибкость, превратив их в Agile-организации. Представители Spotify много раз заявляли, что такой модели не существует, а каждая компания должна искать свой путь, но стремление менеджмента найти «серебряную пулю» перевесило.
Читать дальше →

Книга: «Kubernetes для разработчиков»

Время на прочтение7 мин
Количество просмотров5.2K
Привет, Хаброжители!

Насколько досконально нужно изучить платформу Kubernetes профессиональному разработчику, чтобы произвести развёртывание в системе эксплуатационного уровня? Достаточно познакомиться с «Kubernetes для разработчиков».

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

Эта книга поможет вам начать свое путешествие с Kubernetes!
Читать дальше →

Издательство Питер. Колонка редактора, январь 25 г

Время на прочтение3 мин
Количество просмотров2.7K
image

Привет, Хаброжители!

Предлагаем ознакомиться с краткими обзорами новинок, отправленных в типографию.
Читать дальше →

Книга: «Эффективный TypeScript: 83 способа улучшить код. 2-е изд.»

Время на прочтение5 мин
Количество просмотров2.9K
imageПривет, Хаброжители!

В 2020 году у издательского дома «Питер» вышел перевод «Эффективный TypeScript: 62 способа улучшить код», и книга сразу стала бестселлером. Прошло почти полных четыре года! Многое изменилось с тех пор, в том числе и вышла новая версия TypeScript. Дэн Вандеркам полностью переработал книгу, и мы представляем вам новый «Эффективный TypeScript: 83 способа улучшить код. 2-е изд.». Подробный! Понятный! С неизменным скворцом на обложке!

Но обо всём по порядку.
Читать дальше →

Американские горки — поиск наибольшего паросочетания в двудольном графе

Время на прочтение4 мин
Количество просмотров1K
Привет, Хаброжители!

У нас есть три гипотезы:

  • Алгоритмы не должны быть чрезвычайно сложными для понимания!
  • Алгоритмы не скучны и не бесполезны!
  • Интересные книги про алгоритмы могут быть и с примерами кода на Си!

И «Алгоритмы? Аха!» подтверждает наши предположения на своём примере. Увлекательная книга, которая доступно и на ярких примерах объясняет самые актуальные алгоритмы, а примеры написаны на Си, но пусть вас это не пугает.

Посмотрите сами как выглядит страшный «Поиск наибольшего паросочетания в двудольном графе»
image

Читать дальше →

Оцениваем скорость операций с путями в FastAPI

Время на прочтение7 мин
Количество просмотров1.1K
Если вы сейчас разрабатываете новое приложение на Python, высока вероятность, что при этом вы используете FastAPI. В FastAPI заложено множество отличных возможностей, благодаря которым с ним легко начинать работу. Но в FastAPI есть и немало нюансов, на понимание которых требуется время. Мне пришлось особенно попотеть с одним аспектом, а именно — как FastAPI управляет вызовами к маршрутам API через декорированные параметры пути. Давайте подробно об этом поговорим.

Что происходит на веб-сервере


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

Чтобы лучше понимать, что здесь происходит под капотом, давайте сначала реализуем простой веб-сервер. Для этого воспользуемся модулем http.server, который входит в стандартную библиотеку Python.

Нам требуется написать программу, которая слушает порт и принимает HTTP-запросы. А именно: принимает запрос, разбирает маршрут пути, а также разбирает любые данные, прикреплённые к HTTP-вызову. См. также “All I want is to cURL and parse a JSON object”.
Читать дальше →

Издательство Питер. Колонка редактора, январь 25 г

Время на прочтение3 мин
Количество просмотров4.1K
image

Привет, Хаброжители!

Предлагаем ознакомиться с краткими обзорами новинок, отправленных в типографию.
Читать дальше →

Книга: «Парсинг с помощью Python. Веб-скрапинг в действии. 3-е межд. изд.»

Время на прочтение7 мин
Количество просмотров7.1K
Привет, Хаброжители!

Недавно мы выпустили «Парсинг с помощью Python. Веб-скрапинг в действии», поэтому хотим поделиться рассказом об этой книге, который написал для своего блога на Medium Серхио Рамос.
Приятного чтения!
image

Читать дальше →

Синглтон — корень всех зол

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

Допустимые глобальные переменные и предполагаемая экономия памяти.

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

Как «по волшебству» в коде возникает паттерн синглтон.

Читать далее

Интеграция API — это кошмар

Время на прочтение4 мин
Количество просмотров2.3K
А вам казалось, что соединение API друг с другом — это нескончаемая битва?

Сейчас у нас уже есть машины, которые умнее людей. Но мы до сих пор не можем как следует справиться с интеграцией API. Что не так с API, которые часто становятся для разработчиков камнем преткновения? Интернету примерно 55 лет. Всемирной Паутине — 34 года. Даже JSON уже 18, я не шучу. За всё это время так и не найден простой способ соединять API. Почему так складывается, и почему мы общими силами не можем этого исправить? Читайте дальше.
Читать дальше →

Распродажа «Старый Новый год»

Время на прочтение1 мин
Количество просмотров5.1K
image


Добрый день, Хаброжители!

Новогодние праздники продолжаются и в честь Старого Нового года у нас для вас большая распродажа!
Читать дальше →

Как устроен PyTorch. Чему я научился, самостоятельно реализовав PyTorch без абстракций Python

Время на прочтение11 мин
Количество просмотров11K
Некоторое время назад я задал себе задачу — реализовать micrograd на Rust, используя для этого только стандартную библиотеку. Занимаясь этим, я подумал, что интересно было бы попробовать реализовать на базе micrograd полнофункциональную библиотеку тензоров. Я знаком с PyTorch и поэтому полагал, что это облегчит мне задачу. Но в условиях, когда под рукой нет высокоуровневых абстракций Python, эта задача оказалась гораздо сложнее, чем виделась на первый взгляд.

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

Издательство Питер. Колонка редактора, декабрь 24 г

Время на прочтение3 мин
Количество просмотров3.2K
image

Привет, Хаброжители!

Предлагаем ознакомиться с краткими обзорами новинок, отправленных в типографию.
Читать дальше →

Книга: «Рецепты чистого кода»

Время на прочтение6 мин
Количество просмотров7.3K
image «Неуместная близость»? «Оргия объектов»? «Принцип KISS»? А мы точно о программировании?

Привет, Хаброжители! Если ваша первая и единственная реакция на эти словосочетания — смех, то вполне вероятно, что от вашего кода «пахнет». Запах кода (code smell) — термин, который был введен разработчиком Кентом Беком и популяризирован Мартином Фаулером. По сути, запах кода — это симптом, признак проблемы; он указывает на такой фрагмент кода, который можно (и нужно) улучшить.

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

Попробуйте синхронный «сэндвич»

Время на прочтение4 мин
Количество просмотров1.6K
Ваша команда с трудом сохраняет концентрацию во время многочасовых совещаний и чтения презентаций?

Вы завалены сотнями писем с «быстрыми вопросами», которые могли бы быть решены за пять минут разговора?

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

image

image
Читать дальше →
1
23 ...

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность