Как стать автором
Обновить
Сначала показывать

SOLID – это не правила, а гайдлайны

Блог компании Издательский дом «Питер» Программирование *Совершенный код *Проектирование и рефакторинг *ООП *
Перевод

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

Читать далее
Всего голосов 23: ↑19 и ↓4 +15
Просмотры 6.6K
Комментарии 14

Новости

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

Блог компании Издательский дом «Питер» Профессиональная литература
image

Привет, Хаброжители! Предлагаем ознакомиться с краткими обзорами сданных в типографию новинок.
Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Просмотры 3.9K
Комментарии 1

Знакомство со стековыми графами

Блог компании Издательский дом «Питер» Python *Программирование *Алгоритмы *GitHub
Перевод

В декабре 2021 года Github объявил, что открывает общий доступ к точной навигации по коду для всех публичных и приватных репозиториев с Python на сайте GitHub.com. Точную навигацию в коде обеспечивают стековые графы, новый фреймвввооорк с открытым исходным кодом, созданный в Github и позволяющий устанавливать правила привязки имен для языка программирования при помощи декларативного предметно-ориентированного языка (DSL). Стековые графы позволяют генерировать данные о навигации по стеку для конкретного репозитория, не требуя при этом какого-либо участия в конфигурировании со стороны владельца репозитория и не вмешиваясь в процесс сборки или другие задания, связанные с непрерывной интеграцией. В этом посте будет подробно рассказано, как работают стековые графы, и как с их помощью достигаются такие результаты.

(Этот пост написан на основе доклада, прочитанного автором на конференции Strange Loop в октябре 2021 года. Есть видео с этим докладом, там рассказано гораздо больше!)

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 1.9K
Комментарии 0

Предложение о синтаксисе типов в JavaScript

Блог компании Издательский дом «Питер» JavaScript *Программирование *
Перевод

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

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 2.5K
Комментарии 13

Что такое отравление данных при помощи машинного обучения?

Блог компании Издательский дом «Питер» Информационная безопасность *Алгоритмы *Машинное обучение *Искусственный интеллект
Перевод

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

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

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 8.4K
Комментарии 15

Книга «Танец с кубитами. Как на самом деле работают квантовые вычисления»

Блог компании Издательский дом «Питер» Профессиональная литература Квантовые технологии
image Привет, Хаброжители! От создателя IBM Q. Квантовые вычисления заставляют нас изменить отношение к компьютерам. Кубиты способны решать задачи, которые еще совсем недавно казались неразрешимыми. Вы узнаете о принципиальных различиях между квантовыми и классическими вычислениями, вспомните матанализ, чтобы разобраться с такими понятиями, как суперпозиция, запутанность и интерференция, от алгоритмов и схем перейдете к физическим и техническим идеям, лежащим в основе создания железа для квантовых вычислений. Загляните в будущее и узнайте, как развитие технологий повлияет на нашу жизнь!

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

Лучший способ усвоить что-то — начать с базовых принципов, а затем двигаться по восходящей. Это позволит вам самостоятельно рассуждать об осваиваемой теме, не полагаясь на механическое запоминание или ошибочные аналогии.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 6.6K
Комментарии 8

Cling – не просто интерпретатор C++

Блог компании Издательский дом «Питер» Python *Программирование *C++ *API *
Перевод

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

Читать далее
Всего голосов 11: ↑7 и ↓4 +3
Просмотры 4.1K
Комментарии 1

Книга «Head First. Изучаем C#. 4-е изд.»

Блог компании Издательский дом «Питер» C# *Профессиональная литература
image Привет, Хаброжители! Стиль Head First позволяет сразу приступить к созданию собственного кода на C#, даже если у вас нет никакого опыта программирования. Не нужно тратить время на изучение скучных спецификаций и примеров! Вы освоите необходимый минимум инструментов, и сразу приступите к забавным и интересным программным проектам: от разработки 3D-игры до создания серьезного приложения и работы с данными. Четвертое издание книги было полностью обновлено и переработано, чтобы рассказать о возможностях современных C#, Visual Studio и .NET, оно будет интересно всем, кто изучает язык программирования С#. Особенностью данного издания является уникальный способ подачи материала, выделяющий серию «Head First» издательства O'Reilly в ряду множества скучных книг, посвященных программированию.
Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 6.2K
Комментарии 14

Сокрытие и затенение переменных в Java

Блог компании Издательский дом «Питер» Программирование *Java *Проектирование и рефакторинг *ООП *
Перевод

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

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

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 4K
Комментарии 7

Книга «Linux. Книга рецептов. 2-е изд.»

Блог компании Издательский дом «Питер» Настройка Linux *Профессиональная литература Разработка под Linux *
image Привет, Хаброжители! Книга рецептов обучит начинающих пользователей и администраторов Linux управлять системой, используя как графические инструменты, так и командную строку. Независимо от того, используете ли вы Linux во встроенных или настольных системах, серверах, облачных или виртуальных средах, фундаментальные приемы одни. Цель книги — помочь вам быстро приступить к работе на простых и наглядных примерах. Карла Шредер приводит рецепты с объяснениями для конкретных ситуаций, а также ссылки для дополнительного изучения.

Карла Шрёдер (Carla Schroder) впервые села за компьютер в середине 1990-х годов. За годы, прошедшие с той поры, она работала системным и сетевым администратором в смешанных сетях Linux/Microsoft/Apple, журналистом и техническим писателем. Карла написала более 1000 руководств по Linux для различных изданий и в настоящее время пишет и поддерживает руководства для компании, производящей программное обеспечение для Linux корпоративного уровня. Она является автором книг Linux Cookbook (O’Reilly), Linux Networking Cookbook (O’Reilly) и The Book of Audacity (No Starch Press).
Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 14K
Комментарии 8

Сеть данных: как уравновесить централизацию и децентрализацию

Блог компании Издательский дом «Питер» Анализ и проектирование систем *Сетевые технологии *Big Data *Распределённые системы *
Перевод

Архитектура сети данных (data mesh) распределяет владение данными среди команд из разных предметных областей, с федеративным управлением и децентрализованными продуктами по обработке данных. Сеть данных отличается от других аналогичных архитектур именно своей высокой децентрализацией: она распределена, а не централизована.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 1.1K
Комментарии 0

История: пишем скрипты на Go

Блог компании Издательский дом «Питер» Программирование *Системное программирование *Go *Разработка под Linux *
Перевод

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

Читать далее
Всего голосов 18: ↑13 и ↓5 +8
Просмотры 5.8K
Комментарии 11

Обобщенное программирование – обзор реализаций

Блог компании Издательский дом «Питер» Программирование *Java *C++ *C# *
Перевод

В большинстве сильно типизированных языков поддерживается обобщенное программирование. Круг проблем, которые решаются на этих языках, один и тот же, но сами проблемы решались в разное время разными способами, и у каждого из этих способов были свои «за» и «против». Мы рассмотрим историю реализаций обобщенного программирования, чтобы вы могли распробовать его как инженер. Наилучшего подхода не существует, любой подход – это всегда компромисс, при котором одними преимуществами жертвуют ради других. Мы рассмотрим три популярных языка, обогативших нашу индустрию новыми подходами: C++, Java, C#(.Net). Для каждого из рассматриваемых языков мы ответим на следующие вопросы:

Читать далее
Всего голосов 20: ↑18 и ↓2 +16
Просмотры 6K
Комментарии 5

Книга «Дизайн персонажей-животных. Концепт-арт для комиксов, видеоигр и анимации»

Блог компании Издательский дом «Питер» Профессиональная литература Дизайн игр *Дизайн
image Привет, Хаброжители! Если вы начинающий художник и думаете о карьере в индустрии видеоигр, анимации или коммерческой иллюстрации, эта книга станет вашим тренажером по созданию ярких и самобытных персонажей-животных. Восемь успешных художников на примере своих работ покажут все ключевые аспекты создания персонажа — от проработки идеи и набросков до выбора поз, жестов и цветовой палитры. Ориентируясь на описанные этапы, вы сможете реализовать собственные смелые идеи, будь то стилизация животного, создание антропоморфного персонажа или же дизайн персонажей в различных стилевых манерах. Советы применимы как к цифровой, так и к традиционной графике. Вступительные статьи к книге написали преподаватели Smirnov School, три российских суперпрофессионала индустрии CG: художник персонажей Юлия Пиштар, концепт-художник Bark-bark Studio Евгений Рудаков, концепт-художник, арт-директор OWLCAT games Александр Труфанов. Smirnov School рекомендует!
Читать дальше →
Всего голосов 6: ↑5 и ↓1 +4
Просмотры 2.3K
Комментарии 1

Весенняя распродажа

Блог компании Издательский дом «Питер» Профессиональная литература
image

Привет, Хаброжители! Стартовала весенняя распродажа от издательства «Питер».
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 7K
Комментарии 13

Нетрадиционные подходы к использованию GraphQL

Блог компании Издательский дом «Питер» Разработка веб-сайтов *JavaScript *Программирование *API *
Перевод

Привет, Хаброжители! Стартовала весенняя распродажа от издательства «Питер».

Эту статью также можно было бы назвать «Чего по науке нельзя делать с GraphQL».

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

Давайте немного повеселимся и поиграем с GraphQL нетрадиционным образом. Я не призываю вас реализовывать какие-либо из идей, изложенных здесь, и им определенно не место в продакшен-коде (но, если вы совершенно уверены в том, что делаете – почему нет). В этой статье я просто продемонстрирую несколько экспериментов, которые сам проделал с GraphQL. Некоторые из них – просто классные фокусы. Другие могут вам по-настоящему пригодиться. Мне же все они кажутся потрясающими.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 2.7K
Комментарии 1

Java: продвинутая конкурентность

Блог компании Издательский дом «Питер» Программирование *Java *Проектирование и рефакторинг *Параллельное программирование *
Перевод

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

Читать далее
Всего голосов 13: ↑8 и ↓5 +3
Просмотры 6.6K
Комментарии 5

Книга «Компьютерная графика. Рейтрейсинг и растеризация»

Блог компании Издательский дом «Питер» Работа с 3D-графикой *Профессиональная литература
image Привет, Хаброжители! За красивыми образами анимационного фильма и реалистичной средой популярных видеоигр скрываются загадочные алгоритмы. В этой книге вы познакомитесь с двумя основными направлениями современной графики: рейтресингом и растеризацией. Такая литература пугает новичков из-за большого количества математики. Но только не в этом случае. Познакомьтесь с 3D-рендерингом без длинных формул! Вы создадите полноценные рабочие рендеры — рейтрейсинг, симулирующий лучи света и их отражение от объектов, растеризатор 3D-моделей, научитесь создавать реалистичные отражения и тени, а также отрисовывать сцены с любой точки обзора. Наглядные примеры с псевдокодом позволят без проблем создавать рендеры на любом языке, а живые JavaScript-демо каждого алгоритма вдохновят на самостоятельные подвиги.
Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 5.3K
Комментарии 3

Почему я начал использовать аннотации типов в Python – и вам тоже советую

Блог компании Издательский дом «Питер» Python *Программирование *Совершенный код *ООП *
Перевод

С появлением подсказок типов (type hints) в Python 3.5+ добавилась опциональная статическая типизация – поэтому эти подсказки так мне нравятся. Теперь я аннотирую ими все мои проекты.

Читать далее
Всего голосов 34: ↑33 и ↓1 +32
Просмотры 14K
Комментарии 25

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

Блог компании Издательский дом «Питер» Профессиональная литература
image Привет, Хаброжители! Это исчерпывающее руководство поможет вам правильно разрабатывать бенчмарки, измерять ключевые метрики производительности приложений .NET и анализировать результаты. В книге представлены десятки кейсов, проясняющих сложные аспекты бенчмаркинга. Ее изучение позволит вам избежать распространенных ошибок, проконтролировать точность измерений и повысить производительность своих программ.

Прочитав эту книгу, вы:

• ознакомитесь с лучшими практиками разработки бенчмарков и тестов производительности;
• научитесь избегать распространенных ошибок при проведении бенчмаркинга;
• узнаете об аппаратных и программных факторах, влияющих на производительность приложений;
• научитесь анализировать показатели производительности.
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 1.9K
Комментарии 1

Информация

Дата основания
Местоположение
Россия
Сайт
piter.com
Численность
201–500 человек
Дата регистрации