All streams
Search
Write a publication
Pull to refresh
447
127.6
Send message

Книга «Объектно-ориентированный Python, 4-е изд.»

Reading time19 min
Views15K
image Привет, Хаброжители!

Глубоко погрузитесь в различные аспекты объектно-ориентированного программирования на Python, паттерны проектирования, приемы манипулирования данными и вопросы тестирования сложных объектно-ориентированных систем. Обсуждение всех понятий подкрепляется примерами, написанными специально для этого издания, и практическими упражнениями в конце каждой главы. Код всех примеров совместим с синтаксисом Python 3.9+ и дополнен аннотациями типов для упрощения изучения.

Стивен и Дасти предлагают вашему вниманию понятный и всесторонний обзор важных концепций ООП, таких как наследование, композиция и полиморфизм, и объясняют их работу на примерах классов и структур данных Python, что заметно облегчает проектирование. В тексте широко используются UML-диаграммы классов, чтобы было проще понять взаимоотношения между классами. Помимо ООП, в книге подробно рассматривается обработка исключений в Python, а также приемы функционального программирования, пересекающиеся с приемами ООП. В издании представлены не одна, а две очень мощные системы автоматического тестирования: unittest и pytest, а в последней главе детально обсуждается экосистема параллельного программирования в Python.

Получите полное представление о том, как применять принципы объектно-ориентированного программирования с использованием синтаксиса Python, и научитесь создавать надежные и устойчивые программы.
Читать дальше →

Terraform для инженерии данных

Reading time10 min
Views3.1K
image Если перед нами стоит задача построить надёжную платформу для работы с данными, то для неё требуется предусмотреть множество компонентов: инструменты, логику обработки данных, методологии, архитектуру и инфраструктуру. Что касается инфраструктуры, здесь есть самые разные варианты: физические серверы на территории предприятия и облачные решения. Основное внимание в этом посте будет уделено эффективному использованию облачной инфраструктуры на базе Microsoft Azure.

В облачной инфраструктуре вам на выбор предлагаются виртуальные машины (инфраструктура как услуга — IaaS) или бессерверные службы, такие как Azure SQL и Databricks. Мне кажется, что бессерверные сервисы не только обеспечивают гибкость, но и упрощают и конфигурирование системы, и её техническую поддержку. В этой статье будут показаны сильные стороны Terraform, надёжного инструмента для обслуживания инфраструктуры на уровне кода (IaaC). При помощи Terraform можно без труда обустроить облачную платформу для работы с данными.
Читать дальше →

Книга «Blender. Дизайн интерьеров и архитектуры»

Reading time5 min
Views10K
image Привет, Хаброжители!

Откройте для себя удивительный мир 3D-графики. Начните самостоятельно изучать основы 3D-моделирования и визуализации с помощью Blender. Действуйте уже сейчас!
Blender уже завоевал мир. Его выбирают дизайнеры и художники, ведь в их распоряжении оказывается огромный набор мощных инструментов моделинга, текстурирования, анимации и рендеринга.

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

Если же вы опытный художник-конструктор и хотите добавить в свой набор компетенций еще и Blender, то сможете быстро разобраться в нюансах работы с пакетом.
Получите полезные знания и практические советы на примере конкретных задач, куда входят: промышленный 3D-дизайн, основы композиции, качественная топология модели, развертка и текстура, настройка материалов (шейдеров), постановка света, создание окружения.
Читать дальше →

Книга «Эволюционная архитектура. Автоматизированное управление программным обеспечением. 2-е межд. изд.»

Reading time19 min
Views4.2K
image Привет, Хаброжители!

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

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

Angular на стероидах: наращиваем производительность при помощи WebAssembly

Reading time9 min
Views4.5K
В этом посте продемонстрировано, как с лёгкостью использовать WebAssembly внутри приложения, написанного на Angular. Иногда в приложении на Angular требуется выполнить задачу, которая в JavaScript завершается не слишком быстро. Конечно, можно переписать алгоритм на другом языке, например, AssemblyScript и Rust — и код станет эффективнее. Затем можно скомпилировать получившиеся фрагменты кода в файле WASM и потоком передать двоичные данные в приложение, чтобы можно было вызывать из него функции WASM. Бывает и так, что разработчику не удаётся найти в реестре NPM опенсорсные библиотеки, нужные для решения задачи. В таком случае можно написать пакет не на JS, а на каком-нибудь другом языке, затем скомпилировать этот пакет в WASM и опубликовать код WASM в реестре NPM. Angular-разработчики устанавливают новый пакет как зависимость и выполняют WASM-функции внутри приложения.

В следующем демонстрационном примере я напишу на AssemblyScript несколько функций для работы с простыми числами, а затем опубликую файл индекса в формате WASM. Затем скопирую файл WASM в приложение Angular, потоком отправлю двоичные данные через WebAssembly API и, наконец, стану вызывать эти функции, чтобы с их помощью выполнять различные действия над простыми числами.
Читать дальше →

Как устроен языковой сервер

Reading time7 min
Views4.1K
В этом посте я хочу прокомментировать один любопытный комментарий из базы кода rust-analyzer. Вот этот комментарий.

Здесь описан интересный рекурсивный алгоритм, неоднократно встречающийся в разных аспектах программирования языковых серверов. Я видел реализации такого алгоритма на Kotlin и C#, а затем сам реализовал его на Rust.

Вот, казалось бы, рандомная подборка возможностей IDE:

  • Переход к определению
  • Завершение кода
  • Прогон теста на курсоре
  • Извлечение переменной

Что общего между ними? Все эти возможности относятся к актуальному положению курсора! В данном случае вводом служит не только состояние кода в конкретный момент времени, но и конкретное расположение исходников проекта, например src/main.rs:90:2.
Читать дальше →

Книга «Terraform: инфраструктура на уровне кода. 3-е межд. изд.»

Reading time26 min
Views9.5K
image Привет, Хаброжители!

Terraform — настоящая звезда в мире DevOps. Эта технология позволяет управлять облачной инфраструктурой как кодом (IaC) на облачных платформах и платформах виртуализации, включая AWS, Google Cloud, Azure и др. Третье издание было полностью переработано и дополнено, чтобы вы могли быстро начать работу с Terraform.

Евгений (Джим) Брикман знакомит вас с примерами кода на простом декларативном языке программирования Terraform, иллюстрирующими возможность развертывания инфраструктуры и управления ею с помощью команд. Умудренные опытом системные администраторы, инженеры DevOps и начинающие разработчики быстро перейдут от основ Terraform к использованию полного стека, способного поддерживать трафик огромного объема и большую команду разработчиков.
Читать дальше →

Книга «Python для сложных задач: наука о данных. 2-е межд. изд.»

Reading time11 min
Views9.9K
image Привет, Хаброжители!

Python — первоклассный инструмент, и в первую очередь благодаря наличию множества библиотек для хранения, анализа и обработки данных. Отдельные части стека Python описываются во многих источниках, но только в новом издании «Python для сложных задач» вы найдете подробное описание IPython, NumPy, pandas, Matplotlib, Scikit-Learn и др.

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

Книга «Как сочинить видеоигру: 201 совет от сценариста Broken Sword и Resident Evil»

Reading time6 min
Views7.5K
image Привет, Хаброжители!

Разработка сценария для видеоигры — увлекательное дело. Но игровым писателям приходится постоянно учиться и бросать вызов ограничениям.

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

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

Перед вами книга, в которой собран 201 легко усваиваемый совет от легендарного гейм-дизайнера.
Читать дальше →

Книга «Kali Linux в действии. Аудит безопасности информационных систем. 2-е издание»

Reading time11 min
Views11K
image Привет, Хаброжители!

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

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

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

Книга «Python с нуля»

Reading time19 min
Views15K
image Привет, Хаброжители!

Эта книга даст вам основные знания и инструменты, которые помогут стать опытным разработчиком на Python.

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

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

По мере приобретения навыков работы с Python вы познакомитесь с более продвинутыми темами, включая объектно-ориентированное программирование, обработку исключений и регулярные выражения. Узнаете, как работать с библиотеками и API, что позволит еще больше расширить функциональность Python.
Читать дальше →

Книга «Software Dynamics: оптимизация производительности программного обеспечения»

Reading time11 min
Views3.4K
image Привет, Хаброжители!

Программное обеспечение — начиная с мобильных и облачных приложений, заканчивая видеоиграми и системами управления автономным транспортом — становится все более и более ограниченным по времени. Оно должно обеспечивать надежные результаты плавно, последовательно и практически мгновенно. Неспособность гарантировать это приведет к недовольству потребителей, а в некоторых случаях даже может создать риск для человеческих жизней. Когда комплексное ПО работает плохо или дает сбой, инженерам необходимо выявить и исправить первопричины. Задача непростая, и для ее решения существовало не так уж много инструментов. Ричард Л. Сайтс, эксперт по анализу производительности, решает задачу напрямую, предлагая действенные способы и профессиональные инструменты для выявления динамики сложных, ограниченных по времени программ, а также для повышения надежности и устранения проблем с производительностью.

За плечами автора несколько десятков лет практической работы и обучения профессиональных разработчиков. Он знакомит читателя с принципами и техниками, которые применимы в любой среде, начиная со встраиваемых устройств и заканчивая дата-центрами, и подкрепляет их примерами на основе подключенных по Ethernet систем x86 и ARM под управлением Linux. Опираясь на полученную с помощью KUtrace информацию, читатели смогут использовать конкретные решения, а не просто перебирать техники, такие как отключение кэша или ядер.
Читать дальше →

Книга «Основы компиляции: инкрементный подход»

Reading time14 min
Views6.6K
image Привет, Хаброжители!

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

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

Джереми Сик объясняет важнейшие концепции, алгоритмы и структуры данных, лежащие в основе современных компиляторов, и закладывает основу для изучения более сложных тем. Это краткое, но доступное руководство уже давно используют студенты и профессионалы.
Читать дальше →

Книга «Путь 1С-разработки. Не спеша, эффективно и правильно»

Reading time18 min
Views15K
image Привет, Хаброжители!

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

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

Техническим контекстом в книге является технологический стек «1С» — автор всю свою профессиональную жизнь провел именно в этом уголке IT-вселенной и оперирует областями знания, в которых абсолютно уверен, и готов отвечать за каждое сказанное слово. Но идеи, изложенные в книге, можно применять к любым другим технологическим стекам.
Читать дальше →

Планируйте компромиссы: Вы не можете оптимизировать все атрибуты качества программного обеспечения

Reading time9 min
Views2K
Важнейший аспект анализа требований заключается в понимании того, какие качественные характеристики наиболее важны — чтобы разработчики могли соответствующим образом учитывать эти характеристики.

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

Книга «Грокаем машинное обучение»

Reading time10 min
Views25K
imageПривет, Хаброжители!

Машинное обучение — это набор методов анализа данных, основанных на алгоритмах, которые дают все более точные результаты по мере поступления новых данных. Машинное обучение лежит в основе систем рекомендаций, программ распознавания лиц, «умных» колонок и даже беспилотных автомобилей. Эта уникальная книга объясняет основные понятия машинного обучения на простых и доступных примерах, увлекательных упражнениях и запоминающихся иллюстрациях.

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

Откройте для себя мощные методы машинного обучения, для понимания и применения которых достаточно знаний математики на уровне средней школы!

Для читателей, знающих основы языка Python. Знаний в области машинного обучения не требуется.

В качестве обзора книги мы предлагаем вам ознакомится с переводом статьи автора Luis Serrano.
Читать дальше →

Книга «Продвинутые алгоритмы и структуры данных»

Reading time7 min
Views33K
image Привет, Хаброжители!

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

Вы постоянно сталкиваетесь с бесчисленными проблемами программирования, которые поначалу кажутся запутанными, трудными или нерешаемыми. Не отчаивайтесь! Многие из “новых” проблем уже имеют проверенные временем решения. Эффективные подходы к решению широкого спектра сложных задач кодирования легко адаптировать и применять в собственных приложениях, а при необходимости создавать собственные структуры данных под конкретную задачу. Сбалансированное сочетание классических, продвинутых и новых алгоритмов обновит ваш инструментарий программирования, добавив в него новые перспективы и практические методы.
Читать дальше →

Information

Rating
Does not participate
Works in
Registered
Activity