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

Как можно компилировать типизированный Python

Время на прочтение 15 мин
Количество просмотров 936
Блог компании Издательский дом «Питер» Высокая производительность *Python *Компиляторы *
Перевод
Прошло уже целых 9 лет с тех пор, как состоялся документ PEP 484, в котором сообществу Python были ниспосланы типы. Многих это сильно разозлило, и в широких массах этот ход осуждался (1). С тех пор жители Интернета неоднократно заявляли, что стремятся выяснить: в самом ли деле это означает, что теперь можно компилировать Python в нативный код и таким образом его ускорять? Вопрос совершенно оправданный. Он возник у меня на самом раннем этапе моих разработок, касающихся Python-компиляторов. Итак, осуществимо ли это?

Нет. Но в каком-то роде и «да», с оговорками. Сейчас объясню. Разберём этот вопрос на примере «компиляции перед исполнением» (AOT) в коде на CPython или в смежном с ним коде. В настоящее время CPython – основная подобная реализация в коде на Python. Средства динамической (JIT) компиляции – уже другая категория, и они также будут подробнее описаны ниже. Совершенно новой информации в этом посте нет, я всего лишь постараюсь помочь вам разобраться в ворохе известных академических и отраслевых знаний.

Ключевой тезис статьи таков: типы – это очень развёрнутые подсказки, и иногда они врут.
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 1

Книга «README. Суровые реалии разработчиков»

Время на прочтение 17 мин
Количество просмотров 3.3K
Блог компании Издательский дом «Питер» Профессиональная литература *Управление разработкой *Управление персоналом *Карьера в IT-индустрии
image Привет, Хаброжители!

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

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

Ключевые концепции и лучшие практики для начинающих разработчиков — то, чему вас не учили в университете!
Читать дальше →
Всего голосов 12: ↑10 и ↓2 +8
Комментарии 2

Книга «React. Быстрый старт, 2-е изд.»

Время на прочтение 7 мин
Количество просмотров 3.1K
Блог компании Издательский дом «Питер» JavaScript *Разработка мобильных приложений *Профессиональная литература *ReactJS *
image Привет, Хаброжители!

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

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

Книга «Linux. Командная строка. Лучшие практики»

Время на прочтение 17 мин
Количество просмотров 14K
Блог компании Издательский дом «Питер» Настройка Linux *Системное администрирование *Оболочки *Серверное администрирование *
image Привет, Хаброжители!

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

Узнайте, что происходит внутри командной оболочки Linux. Вне зависимости от используемых команд, вы повысите эффективность работы в Linux и станете более конкурентоспособным специалистом.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 16

Новые целочисленные типы для языка C++

Время на прочтение 7 мин
Количество просмотров 9.1K
Блог компании Издательский дом «Питер» Высокая производительность *Программирование *C++ *Математика *
Перевод
(Большинство) реализаций C++ предоставляют по крайней мере 8, 16, 32 и 64-битные знаковые и беззнаковые целочисленные типы. Существуют потенциально неудобные неявные преобразования, споры о неопределенном поведении при переполнении (некоторые считают, что это перебор, другие — что недобор), но по большей части эти языковые конструкции хорошо справляются с поставленными задачами. В новых языках, таких как Rust, этот замысел скопирован, но исправлены проблемы с преобразованиями и поведение при переполнении.

Тем не менее, я считаю, что здесь есть место для инноваций. Позвольте мне рассказать о трех новых семействах целочисленных типов, которые я хотел бы увидеть в C++.
Читать дальше →
Всего голосов 13: ↑10 и ↓3 +7
Комментарии 53

Книга «Роберт Мартин рекомендует. Код, который умещается в голове: эвристики для разработчиков»

Время на прочтение 13 мин
Количество просмотров 10K
Блог компании Издательский дом «Питер» Программирование *Совершенный код *Проектирование и рефакторинг *
image Приветствуем Вас, Хаброжители!

Незаменимые практические советы по написанию кода в устойчивом темпе и по управлению сложностью, из-за которой проекты часто выходят из-под контроля. В книге описываются методы и процессы, позволяющие решать ключевые вопросы: от создания чек-листов до организации командной работы, от инкапсуляции до декомпозиции, от проектирования API до модульного тестирования. Автор иллюстрирует свои выводы фрагментами кода, взятыми из готового проекта. Написанные на языке C#, они будут понятны всем, кто использует любой объектно-ориентированный язык, включая Java, C++ и TypeScript. Для более глубокого изучения материала вы можете загрузить весь код и подробные комментарии к коммитам.
Читать дальше →
Всего голосов 18: ↑17 и ↓1 +16
Комментарии 15

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

Время на прочтение 10 мин
Количество просмотров 2.8K
Блог компании Издательский дом «Питер» Профессиональная литература *Карьера в IT-индустрии
Перевод
imageПривет, Хаброжители!

Познакомьтесь с исчерпывающим руководством по профессии продакт-менеджера от авторов бестселлера «Карьера программиста»!

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

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

В качестве обзора книги мы предлагаем вам ознакомится с переводом статьи автора Jackie Bavaro.
Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 1

С++ как скриптовый язык на примере простой игры

Время на прочтение 4 мин
Количество просмотров 5.2K
Блог компании Издательский дом «Питер» C++ *Разработка игр *API *
Перевод
Однажды я написал игру-паззл Blockdown (страница на Steam). Она интересна тем, что у неё свой собственный игровой движок. Filament берёт на себя всю сложную работу, связанную с графикой, поэтому игра не требует значительных усилий со стороны художника. Игровой физики здесь также считай нет. На самом деле, отсутствие гравитации здесь играет очень важную роль, поскольку игрок перекатывает плитки, которые могут принимать всевозможные варианты ориентации:

image
Читать дальше →
Всего голосов 20: ↑20 и ↓0 +20
Комментарии 3

Книга «Аппаратный хакинг: взлом реальных вещей»

Время на прочтение 16 мин
Количество просмотров 3.5K
Блог компании Издательский дом «Питер» Информационная безопасность *Реверс-инжиниринг *Профессиональная литература *Компьютерное железо
imageПривет, Хаброжители!

Встроенные системы трудно атаковать. Различных конструкций плат, процессоров и операционных систем слишком много, и это затрудняет их реверс-инжиниринг. Но теперь все станет проще — вас обучат два ведущих мировых эксперта по взлому аппаратного обеспечения. Пройдите ускоренный курс по архитектуре и безопасности встроенных устройств, узнайте об электрических сигналах, анализе образов прошивок и многом другом. Авторы объединяют теорию с практическими инструкциями, которые вы можете применить на реальном железе. Книга завершается описанием атак на такие устройства, как Sony PlayStation 3, Xbox 360 и лампы Philips Hue. В приложении приведен список всего оборудования, которое понадобится вам для домашней лаборатории, независимо от того, планируете ли вы модифицировать печатную плату или собирать и анализировать графики потребляемой мощности.

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

Мы не ждем, что у вас дома найдется лазерное оборудование, ускорители частиц или другие вещи, которые любителю не по карману. А если такое оборудование у вас есть, например в лаборатории вашего университета, то книга станет еще полезнее. Что касается целевых встроенных устройств, то мы предполагаем, что у вас есть физический доступ к ним и что вам интересно с ними поэкспериментировать. И самое главное: мы предполагаем, что вам нравится изучать новые методы, вы мыслите в рамках обратного проектирования и готовы к глубокому погружению в тему!
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 3

Книга «JavaScript с нуля до профи»

Время на прочтение 14 мин
Количество просмотров 11K
Блог компании Издательский дом «Питер» Разработка веб-сайтов *JavaScript *Программирование *Профессиональная литература *
imageПривет, Хаброжители!

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

В «JavaScript с нуля до профи» основное внимание уделяется ключевым концепциям программирования и манипуляциям с объектной моделью документа для решения распространенных проблем в профессиональных веб-приложениях. К ним относятся проверка данных, управление внешним видом веб-страниц и работа с асинхронным и многопоточным кодом.

Обучайтесь на основе проектов, дополняющих теоретические блоки и серии примеров кода, которые могут быть использованы в качестве модулей различных приложений, таких как валидаторы входных данных, игры и простые анимации. Обучение дополнено ускоренным курсом по HTML и CSS, чтобы проиллюстрировать, как компоненты JavaScript вписываются в полноценное веб-приложение.

Для кого эта книга
Для комфортного знакомства с книгой не требуется никакого опыта в JavaScript. Конечно, упражнения дадутся немного легче, если вы хотя бы немного умеете программировать. Знакомство с основами HTML и CSS будет вашим преимуществом. Если вы начинающий программист, для нас большая честь поприветствовать вас в мире программирования. Вначале он может показаться сложным, но мы проведем вас через все трудности.
Читать дальше →
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 4

Что такое абстрактные классы и методы в Java

Время на прочтение 7 мин
Количество просмотров 3.8K
Блог компании Издательский дом «Питер» Java *Совершенный код *ООП *
Перевод
Абстрагирование – это процесс, в ходе которого от пользователя скрываются многие детали реализации, а предоставляются только те детали, которые действительно важны. Так удаётся сфокусироваться на том, что делает объект, а не как он это делает.

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

Если вы новичок в Java или хотите освежить знания о том, чем отличаются абстрактные классы или интерфейсы, то можете почитать руководство и на эту тему: Difference Between Interface and Abstract class in Java.
Читать дальше →
Всего голосов 18: ↑16 и ↓2 +14
Комментарии 4

Книга «Рекурсивная книга о рекурсии»

Время на прочтение 10 мин
Количество просмотров 5.5K
Блог компании Издательский дом «Питер» Занимательные задачки Python *Алгоритмы *
imageПривет, Хаброжители!

Книга «Рекурсивная книга о рекурсии» содержит примеры кода на языке Python и JavaScript, которые иллюстрируют основы рекурсии и проясняют фундаментальные принципы всех рекурсивных алгоритмов. Из книги вы узнаете о том, когда стоит использовать рекурсивные функции (и, главное, когда этого не нужно делать), как реализовывать классические рекурсивные алгоритмы, часто обсуждаемые на собеседованиях, а также о том, как рекурсивные методы помогают решать задачи, связанные с обходом дерева, комбинаторикой и другими сложными темами.

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

Единственным минимальным условием для изучения книги является наличие базового опыта программирования на языке Python или JavaScript, на которых написан код в листингах. Код в книге сведен к самой сути: если вы умеете вызывать и создавать функции, а также различать глобальные и локальные переменные — вы знаете достаточно, чтобы разобраться в этих примерах.
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 4

Адаптируем код .NET Core под Linux

Время на прочтение 8 мин
Количество просмотров 7.2K
Блог компании Издательский дом «Питер» Настройка Linux *Программирование *.NET *C# *
Перевод
image

Введение


Однажды перед нами была поставлена задача: портировать набор приложений на C# с Windows/.NET Framework на Linux/.NET Core. Я полагаю, что для Microsoft мы были клиентом с рабочими нагрузками, которые было бы интересно поддерживать с помощью .NET Core. В то время я не понимал, насколько сильным было их стремление работать с нами. Наш подход к Open Source был решающим фактором.

Насколько сложной она может быть? Ну… в этом посте мы расскажем вам о трудностях, с которыми нам пришлось столкнуться, чтобы запускать, контролировать и отлаживать наши приложения.
Читать дальше →
Всего голосов 19: ↑17 и ↓2 +15
Комментарии 5

Книга «Клей. Стань незаменимым в любом проекте»

Время на прочтение 11 мин
Количество просмотров 8.3K
Блог компании Издательский дом «Питер» Карьера в IT-индустрии
imageПривет, Хаброжители!

Как стать незаменимым человеком в любом проекте? Стать связующим звеном, благодаря которому создаются сплоченные, вовлеченные, высокоэффективные команды. Методы автора проверены на реальных проектах для Ticketmaster и Edmunds.com. Ань Дао Фам делится техниками, которые можно применять на любой фазе проекта. Эта книга поможет вам превратиться из проджект-менеджера в проджект-лидера, укрепить любую команду, повести за собой других, уложиться в сроки и вписаться в бюджет. Базовые знания позволят построить собственные качественные и эффективные методики управления проектами. Развернутые пояснения позволят разобраться, какие инструменты можно применить и когда. Чек листы, опросники, пошаговые инструкции на различных этапах помогут закрепить знания и сразу использовать их на практике.
Читать дальше →
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 6

Весенняя распродажа в издательстве «Питер»

Время на прочтение 1 мин
Количество просмотров 5.2K
Блог компании Издательский дом «Питер» Профессиональная литература *
image

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

Подводим итоги весны приятными ценами на наши книги!
Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Комментарии 2

Книга «Производительность систем»

Время на прочтение 11 мин
Количество просмотров 7.1K
Блог компании Издательский дом «Питер» Высокая производительность *Настройка Linux *Системное администрирование *Профессиональная литература *
imageПривет, Хаброжители!

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

Брендан Грегг – эксперт в области производительности систем и автор нескольких бестселлеров — лаконично, но емко излагает наиболее важные сведения о работе операционных систем, оборудования и приложений, которые позволят специалистам быстро добиться результатов, даже если раньше они никогда не занимались анализом производительности. Далее автор дает детальные объяснения по применению современных инструментов и методов, включая расширенный BPF, и показывает, как добиться максимальной эффективности ваших систем в облачных, веб- и крупных корпоративных средах.
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 7

Книга «Python для финансистов»

Время на прочтение 8 мин
Количество просмотров 4.6K
Блог компании Издательский дом «Питер» Python *Профессиональная литература *Финансы в IT
image Как дела, Хаброжители?

Программирование, математика и финансы неразрывно связаны между собой. Ив Хилпиш, автор бестселлера «Python для финансовых расчетов», объясняет базовые концепции и дает в ваши руки все необходимые инструменты для работы в мире финансовой инженерии.

В этой книге вы:
• изучите основы программирования на Python и познакомитесь с теорией финансов через математику;
• узнаете о моделировании данных и использовании Python в финансовой инженерии;
• научитесь статическому и динамическому моделированию финансовых задач: ценообразование, принятие решений и распределение активов;
• получите общее представление о необходимый библиотеках Python: NumPy, SciPy, Matplotlib и SymPy.
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 6

Книга «SQL Server. Наладка и оптимизация для профессионалов»

Время на прочтение 18 мин
Количество просмотров 5.5K
Блог компании Издательский дом «Питер» SQL *Microsoft SQL Server *Администрирование баз данных *Профессиональная литература *
image Привет, Хаброжители!

Исчерпывающий обзор лучших практик по устранению неисправностей и оптимизации производительности Microsoft SQL Server. Специалисты по базам данных, в том числе разработчики и администраторы, научатся выявлять проблемы с производительностью, системно устранять неполадки и расставлять приоритеты при тонкой настройке, чтобы достичь максимальной эффективности.

Автор книги Дмитрий Короткевич — Microsoft Data Platform MVP и Microsoft Certified Master (MCM) — расскажет о взаимозависимостях между компонентами баз данных SQL Server. Вы узнаете, как быстро провести диагностику системы и найти причину любой проблемы. Методы, описанные в книге, совместимы со всеми версиями SQL Server и подходят как для локальных, так и для облачных конфигураций SQL Server.
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 4

Обзор книги «README. Суровые реалии разработчиков»

Время на прочтение 9 мин
Количество просмотров 9.3K
Блог компании Издательский дом «Питер» Программирование *Профессиональная литература *Карьера в IT-индустрии
Перевод
Недавно я прочитал книгу «README. Суровые реалии разработчиков» Криса Риккомини и Дмитрия Рябого. Я сам в чем-то похож на новичка, поэтому решил попробовать. Эта книга полна хороших советов для разработчиков, начинающих свою карьеру и серьезно об этом задумывающихся. Каждая глава полна примеров поведения и практики. У авторов есть большой опыт, которым они делятся с инженерами.

Эта книга на самом деле имеет довольно глубокий смысл, и я тоже кое-что почерпнул из нее. Несмотря на более чем 15 лет работы в этой отрасли. Если вы только начинаете, это определенно книга для вас. Неважно, какой язык или технологию вы выбрали. Книга применима к любой платформе. Кроме того, каждое предложение имеет значение. Даже на короткое время книга не показалась мне раздутой.

Поэтому вместо обычной рецензии я поделюсь несколькими яркими моментами. Это цитаты, которые показались мне особенно интересными, с моими комментариями. Короче говоря, я жалею, что эта книга не существовала, когда я начинал. Очень рекомендую!
Читать дальше →
Всего голосов 20: ↑18 и ↓2 +16
Комментарии 0

Книга «Создание микросервисов. 2-е издание»

Время на прочтение 31 мин
Количество просмотров 9.8K
Блог компании Издательский дом «Питер» Проектирование и рефакторинг *Профессиональная литература *Распределённые системы *Микросервисы *
image Привет, Хаброжители!
А мы издали второе издание книги Сэма Ньюмена

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

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

Информация

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