Programming Rust: Fast, Safe Systems Development 2nd Edición
Jim Blandy (2021)
Rust – новый язык системного программирования, сочетающий высокую производительность и низкоуровневый контроль, характерные для С и C++, с безопасной работой с памятью и потоками. В начале книги рассмотрены типы данных и основные конструкции языка – выражения, модули, структуры, перечисления и образцы. Далее описываются характеристики и универсальные типы. В следующих главах приводятся сведения о замыканиях и итераторах. Наконец в последних главах книги вы найдете исчерпывающую информацию о коллекциях, обработке текста, вводе-выводе, конкурентности, макросах и небезопасном коде.
Издание предназначено для системных программистов, созревших для поиска альтернативы C++.
Jim Blandy (2021)
Rust – новый язык системного программирования, сочетающий высокую производительность и низкоуровневый контроль, характерные для С и C++, с безопасной работой с памятью и потоками. В начале книги рассмотрены типы данных и основные конструкции языка – выражения, модули, структуры, перечисления и образцы. Далее описываются характеристики и универсальные типы. В следующих главах приводятся сведения о замыканиях и итераторах. Наконец в последних главах книги вы найдете исчерпывающую информацию о коллекциях, обработке текста, вводе-выводе, конкурентности, макросах и небезопасном коде.
Издание предназначено для системных программистов, созревших для поиска альтернативы C++.
👍6😡3❤1
Neural network methods for natural language processing
Goldberg, Yoav
В первой половине книги рассматриваются основы машинного обучения с учителем на лингвистических данных и применение векторных, а не символических представлений слов. Обсуждается также абстракция графа вычислений, которая позволяет легко определять и обучать произвольные нейронные сети и лежит в основе современных программных нейросетевых библиотек.
Во второй части вводятся более специализированные нейросетевые архитектуры, включая одномерные сверточные сети, рекуррентные нейронные сети, модели условной генерации и модели с механизмом внимания. Эти архитектуры и методы – движущая сила современных алгоритмов машинного перевода, синтаксического анализа и многих других приложений. Наконец, обсуждаются древовидные сети, структурное предсказание и перспективы многозадачного обучения.
Goldberg, Yoav
В первой половине книги рассматриваются основы машинного обучения с учителем на лингвистических данных и применение векторных, а не символических представлений слов. Обсуждается также абстракция графа вычислений, которая позволяет легко определять и обучать произвольные нейронные сети и лежит в основе современных программных нейросетевых библиотек.
Во второй части вводятся более специализированные нейросетевые архитектуры, включая одномерные сверточные сети, рекуррентные нейронные сети, модели условной генерации и модели с механизмом внимания. Эти архитектуры и методы – движущая сила современных алгоритмов машинного перевода, синтаксического анализа и многих других приложений. Наконец, обсуждаются древовидные сети, структурное предсказание и перспективы многозадачного обучения.
👍3
Container Security: Fundamental Technology Concepts that Protect Containerized Applications
Liz Rice (2020)
Во многих организациях приложения работают в облачных средах, обеспечивая масштабируемость и отказоустойчивость с помощью контейнеров и средств координации. Но достаточно ли защищена развернутая система? В этой книге, предназначенной для специалистов-практиков, изучаются ключевые технологии, с помощью которых разработчики и специалисты по защите данных могут оценить риски для безопасности и выбрать подходящие решения.
Лиз Райс исследует вопросы построения контейнерных систем в Linux. Узнайте, что происходит при развертывании контейнеров и научитесь оценивать возможные риски для безопасности развертываемой системы. Приступайте, если используете Kubernetes или Docker и знаете базовые команды Linux.
Liz Rice (2020)
Во многих организациях приложения работают в облачных средах, обеспечивая масштабируемость и отказоустойчивость с помощью контейнеров и средств координации. Но достаточно ли защищена развернутая система? В этой книге, предназначенной для специалистов-практиков, изучаются ключевые технологии, с помощью которых разработчики и специалисты по защите данных могут оценить риски для безопасности и выбрать подходящие решения.
Лиз Райс исследует вопросы построения контейнерных систем в Linux. Узнайте, что происходит при развертывании контейнеров и научитесь оценивать возможные риски для безопасности развертываемой системы. Приступайте, если используете Kubernetes или Docker и знаете базовые команды Linux.
The Art of Network Penetration Testing: How to take over any company in the world
Royce Davis (2020)
Пентестеры выявляют бреши в безопасности, атакуя сети точно так же, как это делают злоумышленники. Чтобы стать пентестером мирового уровня, вам необходимо освоить наступательные концепции безопасности, использовать проверенную методологию и постоянно тренироваться. В этой книге представлены уроки эксперта по безопасности Ройса Дэвиса, а также учебная виртуальная сеть, которую вы можете использовать, чтобы отточить свои навыки.
"Искусство тестирования на проникновение в сеть" – это руководство по моделированию недостатков внутренней безопасности компании. В роли злоумышленника вы пройдете все этапы профессионального пентеста, от сбора информации до захвата полного контроля над сетью. Подбирая пароли, обнаруживая открытые порты и повышая права доступа до уровня администратора, вы на практике усвоите, в чем заключаются сетевые уязвимости и как ими воспользоваться.
Royce Davis (2020)
Пентестеры выявляют бреши в безопасности, атакуя сети точно так же, как это делают злоумышленники. Чтобы стать пентестером мирового уровня, вам необходимо освоить наступательные концепции безопасности, использовать проверенную методологию и постоянно тренироваться. В этой книге представлены уроки эксперта по безопасности Ройса Дэвиса, а также учебная виртуальная сеть, которую вы можете использовать, чтобы отточить свои навыки.
"Искусство тестирования на проникновение в сеть" – это руководство по моделированию недостатков внутренней безопасности компании. В роли злоумышленника вы пройдете все этапы профессионального пентеста, от сбора информации до захвата полного контроля над сетью. Подбирая пароли, обнаруживая открытые порты и повышая права доступа до уровня администратора, вы на практике усвоите, в чем заключаются сетевые уязвимости и как ими воспользоваться.
Deep Learning, Vol. 1: From Basics to Practice
Andrew Glassner (2018)
Эта книга не похожа на большинство других учебников и руководств по глубокому обучению – в ней нет ни детального алгоритмического анализа, сопровождаемого обширной математикой, ни развернутых листингов программного кода. Автор выбрал золотую середину – благодаря дружелюбному подходу, сопровождаемому огромным количеством цветных иллюстраций, а также детальному и скрупулезному описанию он глубоко освещает основополагающие идеи и фундаментальные основы голубокого обучения и нейронных сетей.
Второй том посвящен нейронным сетям – быстро развивающемуся направлению машинного обучения.
Издание предназначено для всех читателей, кто хочет использовать глубокое обучение и нейронные сети в своей работе.
Andrew Glassner (2018)
Эта книга не похожа на большинство других учебников и руководств по глубокому обучению – в ней нет ни детального алгоритмического анализа, сопровождаемого обширной математикой, ни развернутых листингов программного кода. Автор выбрал золотую середину – благодаря дружелюбному подходу, сопровождаемому огромным количеством цветных иллюстраций, а также детальному и скрупулезному описанию он глубоко освещает основополагающие идеи и фундаментальные основы голубокого обучения и нейронных сетей.
Второй том посвящен нейронным сетям – быстро развивающемуся направлению машинного обучения.
Издание предназначено для всех читателей, кто хочет использовать глубокое обучение и нейронные сети в своей работе.
👍1
Cracking the Coding Interview, 6th Edition: 189 Programming Questions and Solutions
Gayle Laakmann McDowell
Пятое издание этого мирового бестселлера поможет вам наилучшим образом подготовиться к собеседованию при приеме на работу программистом или руководителем в крупную IT-организацию или перспективный стартап. Основную часть книги составляют ответы на технические вопросы и задания, которые обычно получают соискатели на собеседовании в таких компаниях, как Google, Microsoft, Apple, Amazon и других.
Gayle Laakmann McDowell
Пятое издание этого мирового бестселлера поможет вам наилучшим образом подготовиться к собеседованию при приеме на работу программистом или руководителем в крупную IT-организацию или перспективный стартап. Основную часть книги составляют ответы на технические вопросы и задания, которые обычно получают соискатели на собеседовании в таких компаниях, как Google, Microsoft, Apple, Amazon и других.
Learning pandas
Michael Heydt (2017)
Библиотека pandas – популярный пакет для анализа и обработки данных на языке Python. Он предлагает эффективные, быстрые, высокопроизводительные структуры данных, которые позволяют существенно упростить работу. Данная книга познакомит вас с обширным набором инструментов, предлагаемых библиотекой pandas, – начиная с обзора загрузки данных с удаленных источников, выполнения численного и статистического анализа, индексации, агрегации и заканчивая визуализацией данных и анализом финансовой информации.
Michael Heydt (2017)
Библиотека pandas – популярный пакет для анализа и обработки данных на языке Python. Он предлагает эффективные, быстрые, высокопроизводительные структуры данных, которые позволяют существенно упростить работу. Данная книга познакомит вас с обширным набором инструментов, предлагаемых библиотекой pandas, – начиная с обзора загрузки данных с удаленных источников, выполнения численного и статистического анализа, индексации, агрегации и заканчивая визуализацией данных и анализом финансовой информации.
Cloud Native Patterns: Designing change-tolerant software
Cornelia Davis (2019)
Эта книга посвящена облачным платформам, которые обеспечивают многие преимущества - практически нулевое время простоя, бесконечную масштабируемость, короткие циклы обратной связи, отказоустойчивость и контроль затрат. Применяя конструкции для облачной среды, разработчики могут создавать гибкие, легко адаптируемые, веб-масштабируемые распределенные приложения, которые обрабатывают огромный пользовательский трафик и объем данных. Автор рассматривает методы и шаблоны, ориентированные на приложения для облачной среды - с учетом их жизненного цикла, управления конфигурацией в масштабах облака, обновления без простоев. Для работы с книгой читателю необходимы базовые навыки в области проектирования программного обеспечения и умение понимать код, написанный на Java или похожем языке. Издание будет полезно всем, кого интересует развертывание систем на различных облачных платформах.
Cornelia Davis (2019)
Эта книга посвящена облачным платформам, которые обеспечивают многие преимущества - практически нулевое время простоя, бесконечную масштабируемость, короткие циклы обратной связи, отказоустойчивость и контроль затрат. Применяя конструкции для облачной среды, разработчики могут создавать гибкие, легко адаптируемые, веб-масштабируемые распределенные приложения, которые обрабатывают огромный пользовательский трафик и объем данных. Автор рассматривает методы и шаблоны, ориентированные на приложения для облачной среды - с учетом их жизненного цикла, управления конфигурацией в масштабах облака, обновления без простоев. Для работы с книгой читателю необходимы базовые навыки в области проектирования программного обеспечения и умение понимать код, написанный на Java или похожем языке. Издание будет полезно всем, кого интересует развертывание систем на различных облачных платформах.
CSS (Cascading Style Sheets) Visual Dictionary
Greg Sidelnikov (2018)
На 1 июня 2018 года CSS содержал 415 уникальных свойств, относящихся к объекту style в любом элементе браузера Chrome. Сколько свойств доступно в вашем браузере на сегодняшний день? Наверняка уже почти шесть сотен. Наиболее важные из них мы и рассмотрим.
Грег Сидельников упорядочил свойства по основной категории (положение, размерность, макеты, CSS-анимация и т. д.) и визуализировал их работу. Вместо бесконечных томов документации - две с половиной сотни иллюстраций помогут вам разобраться во всех тонкостях работы CSS. Эта книга станет вашим настольным справочником, позволяя мгновенно перевести пожелания заказчика и собственное видение в компьютерный код!
Greg Sidelnikov (2018)
На 1 июня 2018 года CSS содержал 415 уникальных свойств, относящихся к объекту style в любом элементе браузера Chrome. Сколько свойств доступно в вашем браузере на сегодняшний день? Наверняка уже почти шесть сотен. Наиболее важные из них мы и рассмотрим.
Грег Сидельников упорядочил свойства по основной категории (положение, размерность, макеты, CSS-анимация и т. д.) и визуализировал их работу. Вместо бесконечных томов документации - две с половиной сотни иллюстраций помогут вам разобраться во всех тонкостях работы CSS. Эта книга станет вашим настольным справочником, позволяя мгновенно перевести пожелания заказчика и собственное видение в компьютерный код!
HTTP/2 in Action
Barry Pollard (2019)
HTTP (Hypertext Transfer Protocol – протокол передачи гипертекста) – это стандарт для обмена сообщениями между веб-сайтами и браузерами. Спустя 20 лет он получил крайне необходимое обновление. HTTP/2, благодаря внедрению таких концепций, как поддержка потоков, server push, сжатие заголовков и приоритизация, позволяет получить преимущества в аспектах скорости, безопасности и эффективности.
Вы научитесь всему, что вам нужно знать для эффективного использования HTTP/2. Узнаете, как оптимизировать веб-производительность с помощью новых функций, таких как фреймы, мультиплексирование и push. Изучите реальные примеры по управлению потоками и зависимостям.
Книга представляет собой практическое руководство с готовыми советами и передовыми методами, что обязательно поможет вам и вашим веб-сайтам – быстро освоиться в мире HTTP/2!
Barry Pollard (2019)
HTTP (Hypertext Transfer Protocol – протокол передачи гипертекста) – это стандарт для обмена сообщениями между веб-сайтами и браузерами. Спустя 20 лет он получил крайне необходимое обновление. HTTP/2, благодаря внедрению таких концепций, как поддержка потоков, server push, сжатие заголовков и приоритизация, позволяет получить преимущества в аспектах скорости, безопасности и эффективности.
Вы научитесь всему, что вам нужно знать для эффективного использования HTTP/2. Узнаете, как оптимизировать веб-производительность с помощью новых функций, таких как фреймы, мультиплексирование и push. Изучите реальные примеры по управлению потоками и зависимостям.
Книга представляет собой практическое руководство с готовыми советами и передовыми методами, что обязательно поможет вам и вашим веб-сайтам – быстро освоиться в мире HTTP/2!
Python Workbook: Learn Python in one day and Learn It Well
Chan, Jamie
Всегда хотели научиться программировать на Python, но не знаете, с чего начать? Или хотите быстро перейти с другого языка на Python?
Уже перепробовали множество книг и курсов, но ничего не подходит?
Серия «Быстрый старт» — отличное решение, и вот почему: сложные понятия разбиты на простые шаги — вы сможете освоить язык Python, даже если никогда раньше не занимались программированием; все фундаментальные концепции подкреплены реальными примерами; вы получите полное представление о Python: структуры управления, методы обработки ошибок, концепции объектно-ориентированного программирования и т. д.; в конце книги вас ждет интересный проект, который поможет усвоить полученные знания.
Chan, Jamie
Всегда хотели научиться программировать на Python, но не знаете, с чего начать? Или хотите быстро перейти с другого языка на Python?
Уже перепробовали множество книг и курсов, но ничего не подходит?
Серия «Быстрый старт» — отличное решение, и вот почему: сложные понятия разбиты на простые шаги — вы сможете освоить язык Python, даже если никогда раньше не занимались программированием; все фундаментальные концепции подкреплены реальными примерами; вы получите полное представление о Python: структуры управления, методы обработки ошибок, концепции объектно-ориентированного программирования и т. д.; в конце книги вас ждет интересный проект, который поможет усвоить полученные знания.
👍1
Modern Java Recipes: Simple Solutions to Difficult Problems in Java 8 and 9
Kousen, Ken
Включение средств функционального программирования в Java SE 8 ознаменовало революционное изменение достопочтенного объектно-ориентированного языка. Лямбда-выражения, ссылки на методы и потоки принципиально изменили идиомы языка. С тех пор многие разработчики стараются не отстать от жизни. И в этом поможет настоящий сборник рецептов. На примере более 70 подробных рецептов Кен Коузен демонстрирует использование новых возможностей языка для решения широкого круга задач.
Kousen, Ken
Включение средств функционального программирования в Java SE 8 ознаменовало революционное изменение достопочтенного объектно-ориентированного языка. Лямбда-выражения, ссылки на методы и потоки принципиально изменили идиомы языка. С тех пор многие разработчики стараются не отстать от жизни. И в этом поможет настоящий сборник рецептов. На примере более 70 подробных рецептов Кен Коузен демонстрирует использование новых возможностей языка для решения широкого круга задач.
How to Prove It: A Structured Approach
Daniel J. Velleman (2019)
Чего от вас ждут, когда просят что-то доказать? Что отличает правильное доказательство от неправильного? Эта книга поможет вам узнать ответы и разъяснит основные принципы, используемые при построении доказательств. В отличие от школьного подхода к доказательствам как к пронумерованному списку утверждений и причин, в настоящем издании используется структурированный подход, характерный для программирования: математические доказательства также строятся путем объединения некоторых базовых структур.
Daniel J. Velleman (2019)
Чего от вас ждут, когда просят что-то доказать? Что отличает правильное доказательство от неправильного? Эта книга поможет вам узнать ответы и разъяснит основные принципы, используемые при построении доказательств. В отличие от школьного подхода к доказательствам как к пронумерованному списку утверждений и причин, в настоящем издании используется структурированный подход, характерный для программирования: математические доказательства также строятся путем объединения некоторых базовых структур.
Practical Object-Oriented Design in Ruby. An Agile Primer
Sandi Metz
Мировой бестселлер по программированию на языке Ruby. Книга уже стала классической - с ювелирной точностью она описывает огранку профессионального кода на Ruby. Внимательно изучив это незаменимое руководство, вы сможете:
- Понять, как писать на Ruby качественный код в духе ООП
- Решать, что должно входить в состав класса Ruby
- Не допускать тесной связи между объектами в тех случаях, когда требуется разграничить функциональность
- Определять гибкие интерфейсы между объектами
- Освоить утиную типизацию
- Эффективно задействовать наследование, композицию и полиморфизм
- Разрабатывать экономные тесты
- Доводить до совершенства любой legacy-код Ruby.
Sandi Metz
Мировой бестселлер по программированию на языке Ruby. Книга уже стала классической - с ювелирной точностью она описывает огранку профессионального кода на Ruby. Внимательно изучив это незаменимое руководство, вы сможете:
- Понять, как писать на Ruby качественный код в духе ООП
- Решать, что должно входить в состав класса Ruby
- Не допускать тесной связи между объектами в тех случаях, когда требуется разграничить функциональность
- Определять гибкие интерфейсы между объектами
- Освоить утиную типизацию
- Эффективно задействовать наследование, композицию и полиморфизм
- Разрабатывать экономные тесты
- Доводить до совершенства любой legacy-код Ruby.
Extreme C: Taking You To The Limit In Concurrency, OOP, And The Most Advanced Capabilities Of C
Kamran Amini (2019)
Для того чтобы овладеть языком Cи, знания одного лишь синтаксиса недостаточно. Специалист в области разработки должен обладать четким научным пониманием принципов и методик. Книга «Экстремальный Cи» научит вас пользоваться продвинутыми низкоуровневыми возможностями языка для создания эффективных систем, чтобы вы смогли стать экспертом в программировании на Cи.
Вы освоите директивы препроцессора, макрокоманды, условную компиляцию, указатели и многое другое. Вы по-новому взглянете на алгоритмы, функции и структуры. Узнаете, как выжимать максимум производительности из приложений с ограниченными ресурсами. Вы узнаете, как язык работает с Unix, как реализовывать принципы объектно-ориентированного программирования, и разберетесь с многопроцессной обработкой. Камран Амини научит вас думать, сомневаться и экспериментировать.
Kamran Amini (2019)
Для того чтобы овладеть языком Cи, знания одного лишь синтаксиса недостаточно. Специалист в области разработки должен обладать четким научным пониманием принципов и методик. Книга «Экстремальный Cи» научит вас пользоваться продвинутыми низкоуровневыми возможностями языка для создания эффективных систем, чтобы вы смогли стать экспертом в программировании на Cи.
Вы освоите директивы препроцессора, макрокоманды, условную компиляцию, указатели и многое другое. Вы по-новому взглянете на алгоритмы, функции и структуры. Узнаете, как выжимать максимум производительности из приложений с ограниченными ресурсами. Вы узнаете, как язык работает с Unix, как реализовывать принципы объектно-ориентированного программирования, и разберетесь с многопроцессной обработкой. Камран Амини научит вас думать, сомневаться и экспериментировать.
👍3
Java Coding Problems
Anghel Leonard (2019)
Рассмотрены задачи, встречающиеся в повседневной работе любого разработчика в среде Java. Приведено более 300 приложений, содержащих свыше 1000 примеров. Продемонстрированы эффективные практические приемы и технические решения с учетом сложности кода, производительности, удобочитаемости и многого другого.
Рассмотрены строки, числа, объекты, массивы, коллекции и структуры данных, работа с датой и временем. Приведены задачи на логический вывод типов, а также файловый ввод/вывод. Представлены задачи, связанные с API рефлексии Java. Особое внимание уделено программированию в функциональном стиле, задачам с привлечением конкурентности, правилам работы с классом Optional, а также API HTTP-клиента и API протокола WebSocket.
Anghel Leonard (2019)
Рассмотрены задачи, встречающиеся в повседневной работе любого разработчика в среде Java. Приведено более 300 приложений, содержащих свыше 1000 примеров. Продемонстрированы эффективные практические приемы и технические решения с учетом сложности кода, производительности, удобочитаемости и многого другого.
Рассмотрены строки, числа, объекты, массивы, коллекции и структуры данных, работа с датой и временем. Приведены задачи на логический вывод типов, а также файловый ввод/вывод. Представлены задачи, связанные с API рефлексии Java. Особое внимание уделено программированию в функциональном стиле, задачам с привлечением конкурентности, правилам работы с классом Optional, а также API HTTP-клиента и API протокола WebSocket.
👍3
Secure by Design
Dan Bergh Johnsson, Daniel Deogun, Daniel Sawano (2019)
«Безопасно by Design» не похожа на другие книги по безопасности. В ней нет дискуссий на такие классические темы, как переполнение буфера или слабые места в криптографических хэш-функциях. Вместо собственно безопасности она концентрируется на подходах к разработке ПО. Поначалу это может показаться немного странным, но вы поймете, что недостатки безопасности часто вызваны плохим дизайном. Значительного количества уязвимостей можно избежать, используя передовые методы проектирования. Изучение того, как дизайн программного обеспечения соотносится с безопасностью, является целью этой книги. Вы узнаете, почему дизайн важен для безопасности и как его использовать для создания безопасного программного обеспечения.
Dan Bergh Johnsson, Daniel Deogun, Daniel Sawano (2019)
«Безопасно by Design» не похожа на другие книги по безопасности. В ней нет дискуссий на такие классические темы, как переполнение буфера или слабые места в криптографических хэш-функциях. Вместо собственно безопасности она концентрируется на подходах к разработке ПО. Поначалу это может показаться немного странным, но вы поймете, что недостатки безопасности часто вызваны плохим дизайном. Значительного количества уязвимостей можно избежать, используя передовые методы проектирования. Изучение того, как дизайн программного обеспечения соотносится с безопасностью, является целью этой книги. Вы узнаете, почему дизайн важен для безопасности и как его использовать для создания безопасного программного обеспечения.
👍3