Онлайн библиотека IT книг
React быстро. Веб-приложения на React, JSX, Redux и GraphQL
React Quickly предназначен для веб-, мобильных разработчиков и инженеров программного обеспечения с 2-3 годами опыта, которые хотят начать изучать и использовать React.js для веб- или мобильной разработки. Она включает такие концепции как JSX, Unidirectional Data Flow, декларативное программирование и т.д.
Прочитав книгу, вы усвоите основы React, научитесь строить полноценные веб-приложения с данными и маршрутизацией, тестировать компоненты и оптимизировать React-приложения. Книга разделена на две части, каждая из которых заканчивается серией крупных проектов, что даст вам возможность получить больше опыта работы с React и закрепить знания и концепции, представленные автором. Каждый раздел, кроме теории, содержит примеры кода и диаграммы, где это уместно.
Об авторе
Азат Мардан (Azat Mardan) – опубликовал более 14 книг и 17 онлайн-курсов, большинство из них о облаке, React, JavaScript и Node.js. Прежде чем сосредоточиться на Node, программировался на других языках (Java, C, Perl, PHP, Ruby), еще со времен средней школы. Сейчас он работает техническим научным сотрудником одного из 10 лучших банков США, также входящего в список Fortune 500: Capital One Financial Corporation. До этого работал в малых стартапах, крупных корпорациях и даже в федеральной правительственной структуре США, писал десктопные, веб- и мобильные приложения, преподавал и занимался разработкой проектов.
React. Быстрый старт
Эта книга посвящена изучению React с точки зрения веб-разработки. С ее помощью вы быстро овладеете React, узнаете, как создавать его компоненты и организовывать их в пригодные для обслуживания крупномасштабные программы. Вместе с автором вы сможете построить одностраничное приложение, и быстро поймете, почему разработчики считают React ключом к головоломке разработки веб-приложений.
Сначала вы научитесь настраивать React и писать первое веб-приложение "Hello, World", создавать и использовать собственные компоненты React вместе со стандартными DOM-компонентами, построение компонента таблицы данных, позволяющего редактировать, сортировать, искать и экспортировать ее содержимое, овладеете синтаксисом JSX, использованием встроенных Hooks и созданием собственных, управлением потоком данных приложения с помощью редукторов и контекстов, использованием Create React App для автоматизации процесса сборки приложения и фокусировки на самом React, а в конце создадите полноценное собственное приложение, позволяющее хранить данные на клиентском устройстве.
Об авторе
Стоян Стефанов (Stoyan Stefanov) – предприниматель, консультант по веб-производительности. Один из первых инженеров Facebook. До этого, работая в Yahoo!, являлся создателем онлайн-инструмента для оптимизации изображений smush.it и архитектором инструмента обнаружения проблем производительности YSlow 2.0. Автор книг "JavaScript. Шаблоны", Object-Oriented JavaScript, соавтор книг Even Faster Web Sites и "JavaScript. Оптимизация производительности". Ведет блог и часто выступает на таких конференциях как Velocity, JSConf и Fronteers.
Pro React 16
React – популярный фреймворк для создания динамических приложений JavaScript, использующий возможности современных браузеров и устройств. Книга демонстрирует, как React предоставляет мощную архитектуру и адаптивные данные клиенту, обеспечивая основу для сложных и многофункциональных пользовательских интерфейсов.
Книга ознакомит с архитектурой React и ее преимуществами, а также покажет, как использовать React и связанные с ним инструменты и библиотеки в своих проектах, начиная с основ и проходя до самых совершенных и сложных функций, чтобы предоставить вам необходимые знания. Информация в книге изложена четко и лаконично, а разделы содержат типичные проблемы и методы их избегания.
Прочитав эту книгу, вы получите глубокое понимание дизайна React, знания для создания многофункциональных и динамических клиентов веб-приложений и хранилища данных с помощью React, научитесь получать данные с помощью REST и GraphQL, а также тестировать свои проекты на React.
Об авторе
Адам Фримен (Adam Freeman) – опытный ИТ-специалист, занимавший руководящие должности в ряде компаний, в последнее время работавший техническим и операционным директором глобального банка. Сейчас на пенсии он посвящает свое время писанию и бегу на длинные дистанции.
React Native for Mobile Development: Harness the Power of React Native to Create Stunning iOS and Android Applications
React Native – один из популярных фреймворков для мобильной разработки, предлагающий способ разработки приложений как для iOS, так и Android одновременно. Данная книга охватывает обе платформы, чтобы помочь вам создавать потрясающие программы React Native.
Книга ознакомит вас с основными концепциями React, такими как Virtual DOM, односторонние потоки данных, props и state, а также настройкой React Native. Далее вы узнаете шаблоны проектирования и новые парадигмы программирования, такие как Flux и Redux, овладеете создание пользовательского интерфейса (UI) с помощью Flexbox, навигацию с React Navigation, несколько критических компонентов UI (touchable highlight, listview, scrollview), коммуникацию с серверами и построение нативного моста. Научитесь писать тесты с помощью Jest и отправлять свою заявку в Apple App Store и Google Play Store.
Книга будет полезна любому, кто имеет опыт работы с JavaScript и хочет создавать собственные мобильные программы ею, но являются начинающими в React Native или ReactJS.
Об авторах
Акшат Пол (Akshat Paul) – архитектор программного обеспечения и автор книг. Также является опытным техническим рецензентом для книг по темам React, React Native и Microservices от ведущих издателей. Имеет большой опыт в DevOps, мобильной и веб-разработке. Часто выступает на конференциях и митапах о разных технологиях. Он был приглашенным докладчиком на React Native Conference EU, Devops@scale Amsterdam, TheDevTheory Conference, RubyConfIndia и #inspect-RubyMotion Conference Brussels.
Абхишек Налвая (Abhishek Nalwaya) является автором трех книг, а также был докладчиком на многих конференциях и встречах, включая RubyConf India и конференцию RubyMotion. Имеет большой опыт в DevOps, Web и мобильных разработках.
React 18 Design Patterns and Best Practices
React одна из самых популярных библиотек для создания пользовательских интерфейсов (UI), которая быстро работает благодаря эффективной работе с DOM. Для того, чтобы воспользоваться всеми преимуществами этой библиотеки JavaScript и ее компонентов, хорошо иметь простое и понятное руководство, которое научит максимально использовать ее возможности.
Книга "React 18 Design Patterns and Best Practices" поможет вам эффективно использовать React, чтобы сделать свои приложения более гибкими, более простыми в обслуживании и повысить их производительность, в то же время значительно улучшая рабочий процесс. Четвертое издание, обновленное для обеспечения более эффективного обучения и содержит новую информацию о лучших практиках и усовершенствованную структуру тем, для вашего инструментария разработчика.
Автор разделил книгу на три части, где первая охватывает основы паттернов React, вторая углубляется в работу React, а третья сосредотачивается на практическом применении. Вместе со специальной главой о TypeScript, архитектурой MonoRepo и множеством новых дополнений, исследующих новейшие возможности React 18 и Node 19, все образцы кода были обновлены, чтобы отразить последнюю версию React. После завершения этой книги вы сможете эффективно создавать и развертывать реальные веб-приложения под React.
Книга рекомендована для разработчиков, которые хотят улучшить свои навыки работы с React, изучая ключевые шаблоны проектирования и лучшие практики разработки приложений в реальном мире, и имеют опыт JavaScript и React.
Об авторе
Карлос Сантана Ролдан (Carlos Santana Roldan) – senior веб-разработчик с более чем 16-летним опытом. В настоящее время работает главным инженером в APM Music. Основатель JS Education, где обучает людей веб-технологиям, таким как React, Node.js, JavaScript и TypeScript.
Spring Boot with React and AWS: Learn to Deploy a Full Stack Spring Boot React Application to AWS
Spring Boot with React and AWS: Learn to Deploy a Full Stack Spring Boot React Application to AWS описывает Amazon Web Services (AWS), некоторые его ключевые сервисы, такие как EC2, Elastic Beanstalk, Amazon RDS и Amazon Route 53, демонстрирует как создать учетную запись AWS, сервер, приложение HelloWorld JSP, WAR-файл с помощью Maven и загрузить файл в Elastic Beanstalk. Далее вы научитесь развертывать Spring Boot REST API в AWS с помощью Elastic Beanstalk, что даст вам возможность создать и развернуть приложение Spring Boot, ознакомитесь с Amazon RDS, операциями CRUD в приложении Spring Boot и узнаете как развернуть приложение Spring Boot, которое работает с MySQL в AWS. Напоследок ознакомьтесь с основными компонентами для разработки одностраничного приложения с использованием React в качестве интерфейса для использования API, предоставленного серверной программой, настроите среду для разработки программы React и поработаете с S3 в AWS, где и развернете программу React.
Данная книга подойдет программистам с опытом разработки в Java, Spring Boot и React, желающим научиться развертывать полный стек приложения Spring Boot React на AWS с помощью сервисов AWS Elastic Beanstalk и S3.
Об авторах
Рави Кант Сони (Ravi Kant Soni) – ведущий фул стек инженер с более чем 11-летним опытом в области IT, AWS Certified Solutions Architect. Рави имеет опыт в разработке программного обеспечения, проектировании ПО, архитектуре систем, программировании приложений и автоматизации тестирования. Имеет степень бакалавра по информационным наукам и инженерии из Reva University, Бангалор, и учился в Bal Vikash Vidyalaya, Сасарам и Бихари (Индия). Также он является уважаемым членом Совета исследований в школе вычислительной техники и информационных технологий REVA University в Бангалоре.
Намрати Сони (Namrata Soni) – разработчик веб-приложений-самоучка, увлекающийся красивыми и интерактивными пользовательскими интерфейсами (UI). Имеет степень в области компьютерных наук из Sagar Institute of Science & Technology, Бхопал; и училась в школе Bal Vikash Vidyalaya, Сасарам и Бихари (Индия). Она любит чистый и хорошо протестированный код, большой поклонник открытого кода и наслаждается изучением чего-то нового. Сейчас работает с React и Node.js для создания современных приложений JavaScript.
PHP and MySQL Web Development
PHP and MySQL Web Development научит вас, как с помощью технологий с открытым кодом, создавать интерактивные веб-приложения, от простейшей формы заказа до сложных безопасных веб-приложений.
Прочитав книгу, вы поймете, как использование PHP и MySQL позволяет сделать сайты динамичными, разберетесь в аспектах безопасности и аутентификации, их реализации с помощью PHP и MySQL, узнаете об интеграции фронтенда и бэкенда, рассматривая JavaScript и его роль в приложении. Книга содержит множество реальных примеров, начиная со вступления, которые будут полезны в вашей разработке, а в конце авторы демонстрируют процесс проектирования, планирования и создания нескольких проектов: аутентификация и персонализация пользователя, электронная почта на основе веба, интеграция социальных сетей и корзина для интернет магазина. Пятое издание обновлено, пересмотрено и расширено для демонстрации разработки PHP в версиях 5.6 и 7, а также функций, представленных в последних стабильных релизах MySQL.
Книга подойдет для тех, кто стремится усовершенствовать свои знания PHP и MySQL для создания большого или коммерческого веб-сайта, а также будет полезна даже для начинающих, поскольку в ней, хоть и коротко, но объясняются все базовые понятия.
Об авторах
Лаура Томсон (Laura Thomson) – директор по разработке корпорации Mozilla. Раньше была директором OmniTI и Tangled Web Design, а также работала в университете RMIT и Boston Consulting Group. Имеет степень бакалавра прикладных наук (компьютерные науки) и степень бакалавра инженерии (инженерия компьютерных систем) с отличием.
Люк Веллинг (Luke Welling) – инженер-программист, регулярно выступающий по темам с открытым кодом и веб-разработкой на таких конференциях, как OSCON, ZendCon, MySQLUC, PHPCon, OSDC и LinuxTag. Он работал в OmniTI, в компании веб-аналитики Hitwise.com, у поставщика баз данных MySQL AB и как независимый консультант в Tangled Web Design. Преподает информатику в университете RMIT в Мельбурне, Австралия и имеет степень бакалавра прикладных наук (информатика).
Practical Laravel: Develop clean MVC web applications
Practical Laravel: Develop clean MVC web applications раскрывает работу и функциональные возможности фреймворка веб-приложений на языке PHP – Laravel. На примере создания онлайн-магазина авторы демонстрируют простые и сложные концепции фреймворка и использование его возможностей для реализации приложений в реальной среде. Кроме Laravel, книга поможет понять, как писать понятные, поддерживаемые, удобные в использовании и структурированные приложения.
Читая краткие, но прямые по существу объяснения, вы узнаете о проектировании и реализации приложений с использованием Laravel, применении стратегий чистого кода, обеспечении соответствия между кодом и архитектурными диаграммами, использовании стандартов написания кода, реализации панелей администратора, научитесь разрабатывать адаптивные интерфейсы пользователя, сохранять в базах данных, проверять правдивость данных и развертывать приложения в облаке.
Книга лучше всего подойдет веб-разработчикам или программистам, желающим изучить Laravel, однако опытные разработчики фреймворка также могут пересмотреть предыдущие концепции и изучить новые стратегии написания чистого кода.
Об авторах
Даниэль Корреа (Daniel Correa) – исследователь и разработчик программного обеспечения. Имеет степень доктора философии по компьютерным наукам, сейчас профессор в Университете EAFIT в Колумбии. Он заинтересован в программных архитектурах, фреймворках (таких как Laravel, Django, Nest, Express, Vue, React, Angular и многие другие), веб-разработке и чистом коде. Даниэль очень активен в Twitter. Он делится советами по разработке программного обеспечения и делает обзоры книг по инженерии программного обеспечения.
Паола Вальехо (Paola Vallejo) является профессором и исследователем в Университете EAFIT в Колумбии. Она интересуется программными архитектурами, принципами проектирования программного обеспечения, паттернами проектирования программного обеспечения и чистым кодом.
Laravel. Полное руководство.
Laravel: Up & Running помогает понять основные концепции Laravel, дает разработчикам высокоуровневый обзор и конкретные примеры того, что им нужно знать, чтобы работать с любым Laravel-кодом и любой функциональностью и подсистемой Laravel.
Laravel – фреймворк для быстрой разработки приложений и его экосистема инструментов позволяют быстро создавать новые сайты с помощью чистого, читабельного кода. Автор сначала знакомит читателя с основными компонентами фреймворка, а потом с более специфическими особенностями. Книга позволяет погрузиться в blade, являющийся мощным инструментом для создания пользовательских шаблонов в Laravel, инструменты для сбора, проверки, нормализации и фильтрации данных, предоставленных пользователем, Eloquent ORM для работы с базами данных приложений, освещает роль объекта запроса Illuminate в жизненном цикле приложений, PHPUnit, Mockery и Dusk для тестирования PHP-кода, знакомит с инструментами для написания JSON и RESTful API, интерфейсами для доступа к файловой системе, сессиям, куки, кэшу и поиску, а также инструментами для реализации очередей, задач, событий и публикации событий WebSocket.
В третьем издании примеры приведены в соответствии с Laravel 10 и добавлены Breeze, Jetstream, Fortify, Vite и многое другое. В конце каждой главы, где это уместно, есть секция, показывающая, как написать тесты для функций, описанных в главе, и краткое резюме вышесказанного.
Об авторе
Мэтт Стауффер (Matt Stauffer) является генеральным директором и соучредителем Tighten. Ведущий подкаста Laravel, автор книги O’Reilly Laravel: Up and Running, автор пособий, а также частый докладчик на конференциях.
PHP and MySQL Web Development: A Beginner’s Guide
PHP and MySQL Web Development: A Beginner's Guide пригодится тем, кто уже занимался созданием веб-сайтов с использованием HTML, CSS, вероятно, JavaScript и хочет добавить больше возможностей взаимодействия с пользователем с помощью лучшей обработки форм, большей легкости перемещения информации между страницами и полностью реляционной базы данных с помощью PHP и MySQL.
Однако книга прекрасно подойдет даже тем, кто только начинает знакомиться с веб-программированием, поскольку с самого начала закладывает базу, демонстрируя создание статических веб-страниц с помощью HTML5, ознакомляя с использованием CSS, JavaScript, шаблонов для использования общих функций и форматирования на ряде веб-страниц. . Затем книга углубляется в PHP, включая то, как он используется с HTML, его структуру, операторы контроля, массивы и функции, а также его использование с формами. После этого рассматривается MySQL и язык SQL в целом: основные характеристики языка, набор команд, ключевые слова, операторы и функции. В конце автор показывает, как PHP и MySQL смешиваются с HTML, CSS и JavaScript.
Книга содержит множество практических примеров, упражнений и тестов для проверки и усвоения полученных знаний, а также завершается созданием двух веб-сайтов, которые могут быть использованы в качестве шаблонов для создания собственных веб-страниц с динамическим содержимым.
Об авторе
Марти Мэтьюз (Marty Matthews) – "игрался" с первыми мейнфрейм-компьютерами, и никогда не терял своей увлечённости компьютерами, с тех пор до последних планшетов и смартфонов. Он был как программистом, так и президентом компании по разработке программного обеспечения. В течение всего времени он работал над тем, чтобы привлекать других к себе и помогать им лучше использовать все возможности компьютеров. С этой целью Марти написал более 80 книг по программированию и вычислительной технике, многие из которых стали бестселлерами и получили много похвал.
PHP 8 Basics: For Programming and Web Development
Эта книга создана с целью помочь начинающим и будущим разработчикам PHP изучить новые функции, добавленные к версии PHP 8, и показать, насколько легкой, гибкой и мощной может быть разработка новых веб-сайтов и программ. Авторы раскрывают все основные понятия PHP, такие как типы данных, функции, регулярные выражения, обработка и проверка форм, сеансы, файлы cookie и фильтры, предоставляют основную информацию об ООП, его классах и объектах, демонстрируя все на многих примерах. Также вы узнаете о том, как использовать базы данных MySQL, почему и как использовать фреймворки, на примере Symfony и Laravel.
Книга написана для новичков, однако рекомендуется иметь опыт веб-разработки и работы с БД.
Об авторах
Гуннар Энгебрет (Gunnard Engebreth) – начал программировать в 11 лет и быстро приспособился к быстро меняющемуся технологическому миру. Занимался в сфере ansi/demo, Visual Basic, а когда WWW появился в Атланте, быстро присоединился к гонке за веб-ресурсами. Благодаря разнообразию умений в HTML, PERL и Linux, в 20 лет получил должность системного администратора в Activegrams/Silverpop. В течение карьеры переезжал по ИТ промыслу от SAN/NAS хранения в IBM до специальных сайтов WordPress для маркетинговых компаний, но одно осталось неизменным – пристрастие к обучению и решению проблем.
Сатедж Кумар Саху (Satej Kumar Sahu) работает в должности старшего архитектора программного обеспечения в Boeing. Он является большим поклонником технологий, людей и природы. Он считает, что каждый из нас имеет возможность сделать этот мир лучше с помощью технологий и обдуманного принятия решений.
Программирование на PHP в примерах и задачах
Данная книга написана для ознакомления и изучения простого, красивого, элегантного и в некоторой степени особого языка программирования PHP, используемого для создания сайтов и веб-приложений. Это руководство будет полезно для новичков, студентов, а также всех, кто увлекается программированием и современными информационными технологиями.
Автор логически и структурированно представляет всю информацию, необходимую для овладения языком PHP, от основ и среды разработки до синтаксических конструкций и подходов, используемых в PHP. В книге вы найдете все о переменных и типах данных, управляющих инструкциях, массивах и функциях, ссылках, константах, глобальных и статических переменных, освоите принципы ООП, узнаете о наследовании, классах и интерфейсах. Кроме того, книга содержит множество примеров, которые эффективнее помогут усвоить материал, и позволит создавать собственные проекты на PHP.
Об авторе
Васильев Алексей Николаевич – доктор физико-математических наук, профессор кафедры теоретической физики Киевского национального университета имени Тараса Шевченко. Автор книг по программированию и математическому моделированию. Область научных интересов: физика жидкостей и жидких кристаллов, синергетика, биофизика, экономика и математическая лингвистика.
Kali Linux: библия пентестера
Kali Linux Penetration Testing Bible – это практическое и методическое руководство по тестированию на проникновение с помощью Kali, дистрибутива Linux, используемого профессионалами в области кибербезопасности по всему миру. Книга описывает все, что нужно знать об инструментах и техниках, которые используют хакеры, для получения доступа к системам, похожим на ваши, поэтому позволит устанавливать надежную защиту для своих виртуальных активов.
Прочитав книгу, вы научитесь строить современную среду с помощью Docker, ознакомитесь с основами языка bash в Linux, сможете использовать разнообразные эффективные техники для поиска уязвимостей (OSINT, Network Scan и др.), анализировать свои находки, обнаруживать ошибочные срабатывания, разберетесь в сложных темах, как переполнение буфера, lateral movement и privilege escalation, узнаете о современной безопасности веб-приложений – Secure SDLC, как автоматизировать тестирование на проникновение с использованием Python и применять практические и эффективные рабочие процессы пентестирования.
Об авторе
Гас Хаваджа (Gus Khawaja) – эксперт в области безопасности приложений и тестирования на проникновение. Является консультантом по кибербезопасности в Монреале, Канада, и имеет большой опыт работы с организациями по защите их активов от кибератак. Автор публикаций и онлайн-преподаватель в области кибербезопасности.
Linux API Исчерпывающее руководство
В этой книге описан интерфейс программирования Linux – системные вызовы, библиотечные функции и другие низкоуровневые интерфейсы, предоставляемые Linux, и используются, прямо или косвенно, каждой программой, запускаемой в Linux. Они позволяют приложениям выполнять задачи, такие как ввод/вывод файлов, создание и удаление файлов и каталогов, создание новых процессов, запуск программ, установка таймеров, обеспечение взаимодействия между процессами и потоками, работающими на том же компьютере и соединенными через сеть.
Книга охватывает полное описание функций программирования, которые специфичны для Linux, таких как epoll, inotify, capabilities, extended attributes, i-node flags, системный вызов clone(), файловая система /proc и детали по выполнению ввода/вывода файлов, обработки сигналов , таймеры, потоки, динамические библиотеки, взаимодействия между процессами и сокетов. Вместе с тем акцент на стандартах UNIX (POSIX.1-2001/SUSv3 и POSIX.1-2008/SUSv4) делает ее одинаково ценной и для программистов, работающих на других платформах UNIX.
Большинство разделов книги суммируются набором упражнений, часть которых предлагает различные эксперименты с использованием имеющихся прикладных программ, другие, вопросы, касающиеся концепций, оговоренных в разделе, а некоторые требуют написания программ, реализуя материалы раздела, для закрепления теоретических знаний.
Об авторе
Майкл Кэрриск (Michael Kerrisk) – программист, тренер и писатель, родившийся в Новой Зеландии, проживающий в Мюнхене, и занимающийся программированием и использованием различных систем UNIX с 1987 года, а с конца 1990-х сосредотачивается преимущественно на Linux. С 2004 года разработчик проекта man-pages Linux документирует API программирование библиотек Linux и GNU C. В рамках этой работы активно взаимодействует с сообществом разработчиков Linux, обеспечивая тестирование и обзор изменений в API ядра Linux-пользователя. Является автором и преподавателем учебных курсов по системному программированию в среде Linux/UNIX и смежных областей, основанных на многих годах обучения и программирования, а также на долгосрочном и тесном общении с API UNIX и Linux.
Linux Pocket Guide: Essential Commands
Linux Pocket Guide: Essential Commands – незаменимый помощник для любого пользователя ОС Linux. Здесь кратко и четко рассматриваются важные и полезные аспекты для эффективной работы с операционной системой Linux без углубления в ее внутреннюю работу. Основное внимание в книге уделено важным командам, таким как ls (список файлов), grep (поиск текста), mplayer (воспроизведение аудио- и видеофайлов) и df (измерение свободного места на диске).
Четвертое издание подверглось определенной реорганизации разделов о понятиях, файлах, базовом администрировании системы, сети и т.п., для более понятного и более лаконичного изложения материала. Также оно содержит 50 новых, полезных и необходимых команд, например git и svn для управления версиями, split и column для манипулирования текстом, pandoc и ffmpeg для преобразования файлов, snap и flatpak для управления пакетами, mdadm, lvcreate и zfs для изысканного управления хранилищем, gpg для шифрования и многие другие. Вместе с тем, устаревшие команды или больше не используемые (write и finger, ftp и т.д) заменены на соответствующие команды для современных систем Linux.
Об авторе
Дэниел Дж. Барретт (Daniel J. Barrett) погружен в Интернет-технологии с 1985 года. Сейчас Дэн работает в сфере программного обеспечения, ранее являлся системным администратором Linux, преподавателем университета, веб-дизайнером и юмористом. Также он пишет о технических/компьютерных темах с начала 1990-х годов, включая Linux, MediaWiki, MacOS и компьютерную безопасность.
Внутреннее устройство Linux.
How Linux Works – книга, позволяющая ознакомиться со всеми тонкостями работы Linux, от того, как работает ядро к пользовательскому пространству. Она разделена на 3 главные части. Первая – вводная, дает общее понятие о системе и практический опыт с некоторыми инструментами, которые будут вам полезны на протяжении всего использования Linux. Далее будет рассмотрена каждая часть системы подробнее, от управления устройствами до конфигурации сети, следуя общему порядку запуска системы. В конце демонстрируются некоторые компоненты работающей системы, определенные понятия об инструментах и навыках, необходимых программистам.
Третье издание содержит новые разделы и темы, получившие популярность с момента публикации второго издания, такие как виртуализация, контейнеры, Logical Volume Manager, journald и IPv6. Книга будет полезна системным администраторам, программистам, специалистам по защите информации, а также всем, кто изучает или хочет изучить Linux максимально быстро и эффективно.
Об авторе
Брайан Уорд (Brian Ward) работает с Linux с 1993 года. Он является автором нескольких книг, в частности The Linux Kernel HOWTO, Book of VMware (No Starch Press) и The Linux Problem Solver (No Starch Press).
UNIX. Программное окружение
The UNIX Programming Environment является введением в программное окружение UNIX и адресовано тем, кто хочет научиться программировать с помощью всех инструментов, которые поставляются с операционной системой. В книге рассматривается вход в систему, работа с файлами (cat, mv, cp, rm) и каталогами (cd, mkdir, ...), основы окружения (переменные, маски), фильтры (grep, sed, awk), программирование оболочки (циклы, сигналы, аргументы, стандартный ввод вывода), ввод в системные вызовы (read, write, open, creat,...), ввод в программирование с использованием lex, yacc и make, работа с документацией с помощью troff, tbl и eqn.
После завершения книги читатели получат понимание не только того, как использовать систему, ее компоненты и программы, но и то, как они вписываются в общую среду.
Об авторах
Брайан Уилсон Керниган (Brian Wilson Kernighan) – компьютерный ученый, работавший в Bell Labs вместе с создателями Unix Кеном Томпсоном и Деннисом Ричи и внесший большой вклад в Unix.
Роб Пайк (Rob Pike) – работает в Исследовательском центре компьютерной науки в Bell Laboratories, Lucent Technologies. Он являлся ведущим архитектором и разработчиком операционных систем Plan 9 и Inferno. Его исследование сосредоточено на программном обеспечении, облегчающем людям написание программного обеспечения.
Командная строка Linux. Полное руководство
Книга "The Linux Command Line" проведет вас от первых нажатий клавиш в терминале до написания полноценных программ в Bash, самом популярном интерпретаторе командной строки для Linux. Читая книгу вы научитесь навигации по файловой системе, настройке окружения, цепи команд, использованию регулярных выражений для поиска и т.д.
Краткие и понятные главы этой книги продемонстрируют вам, как создавать и удалять файлы, директории и символические ссылки, администрировать систему, вместе с настройкой сети, установкой пакетов и управлением процессами, расскажут, как использовать стандартный ввод и вывод, перенаправление и каналы передачи данных, редактировать файлы с помощью популярного текстового редактора – Vi, научат писать скрипты оболочки для автоматизации рутинных или скучных задач, обрезать и обрабатывать тексты с помощью команд cut, paste, grep, patch и sed.
После прочтения книги вы сможете свободно и уверенно использовать командную строку и поймете насколько естественным и логичным является этот способ взаимодействия с компьютером.
Об авторе
Уильям Э. Шоттс младший (William E. Shotts, Jr) – профессионал в сфере программного обеспечения и заядлый пользователь Linux на протяжении более 15 лет. Он имеет большой опыт в разработке программного обеспечения, включая техническую поддержку, контроль качества и документацию. Он также создатель LinuxCommand.org, сайта об обучении и продвижении Linux, где представлены новости, обзоры и обширная поддержка использования командной строки Linux.
Operating Systems Design and Implementation
Operating Systems Design and Implementation – книга, идеально подходящая для введения в понятие компьютерных операционных систем. Она подробно охватывает все основные принципы, такие как процессы, межпроцессное общение, семафоры, мониторы, передача сообщений, алгоритмы планирования, ввод/вывод данных, взаимоблокирование, драйверы устройств, управление памятью, алгоритмы страничной организации, проектирование файловой системы, безопасность и защитные механизмы. Кроме того, рассматривается конкретная операционная система – MINIX 3 – UNIX-совместимая операционная система, о которой предоставлено подробное описание и даже исходный код для изучения, что позволит вам не только усвоить принципы, но и увидеть, как они применяются на практике в реальной операционной системе. .
Третье издание существенно отличается от двух других, в первую очередь, новой версией системы – MINIX 3, которая во многих ключевых аспектах принципиально отличается от предыдущей. Кроме того, практически все материалы о принципах были пересмотрены и добавлено много нового.
Об авторах
Эндрю Стюарт Таненбаум (Andrew S. Tanenbaum) — американский ученый по информатике и почетный профессор информатики в Университете Vrije, Амстердам, Нидерланды. Наиболее известен как автор MINIX, бесплатной Unix-подобной операционной системы для обучения, а также как автор учебников по информатике. Свою преподавательскую работу он считает самым важным. С 2004 года он управляет Electoral-vote.com, веб-сайтом, посвященным анализу данных опросов на федеральных выборах в Соединенных Штатах.
Альберт Вудхалл (Albert S. Woodhull) много лет был преподавателем Школы естественных наук Хэмпширского колледжа, Амгерста, Массачусетса. Он преподавал в Массачусетском университете и Смит-колледже в США, а также неоднократно был приглашенным преподавателем в Никарагуа, поддержанный в двух из этих визитов грантами Фулбрайта. Он также работал системным администратором компьютеров и сетей в Массачусетском университете. Получил степень бакалавра из Массачусетского технологического института (M.I.T.) и степень доктора философии (Ph.D.) из Университета Вашингтона.
Unix и Linux. Руководство системного администратора.
UNIX and Linux System Administration Handbook – подробное руководство по установке, настройке и поддержке любой Unix или Linux системы, в том числе тех, которые обеспечивают базовую Интернет и облачную инфраструктуру. Книга охватывает все аспекты системного администрирования, включая эффективные методы управления памятью, проектирование и управление сетями, электронную почту, веб-хостинг, создание сценариев, управление конфигурациями программного обеспечения, виртуализацию, DNS, безопасность, управление провайдерами ИT-услуг, анализ.
Авторы рассмотрели облачные платформы, методологию DevOps, непрерывное развертывание, контейнеризацию, мониторинг и многие другие важные темы. Книга также предоставляет информацию о последних версиях таких операционных систем, как Ubuntu Linux, OpenSUSE Linux, Red Hat Enterprise Linux, Oracle America SolarisTM, HP HP-UX и IBM AIX.
Об авторах
Эви Немет (Evi Nemeth) – была инженером, писательницей и преподавателем, известной своим опытом в сфере администрирования компьютерных систем и сетей. Она преподавала и наставляла студентов информатики в Университете Колорадо в Боулдере, была приглашенным преподавателем Дартмутского колледжа и Калифорнийского университета в Сан-Диего, а также помогла внедрить Интернет-технологии в развивающихся странах благодаря своей работе с Internet Society и ООН.
Гарт Снайдер (Garth Snyder) работал в NeXT и Sun, получил степень бакалавра инженерии в колледже Свортмор, а также степень доктора медицины и магистра делового администрирования в Рочестерском университете.
Трент Р. Хайн (Trent R. Hein) – соучредитель и Co-CEO Rule4. Трент признан одним из ведущих мировых экспертов в области кибербезопасности и автоматизации инфраструктуры. Получил степень бакалавра компьютерных наук в Университете Колорадо.
Бен Уэйли (Ben Whaley) – штатный инженер-программист в Chime Financial. Ранее был главным инженером-программистом в Gruntwork.io и основателем консалтинговой компании WhaleTech, занимающейся облачной архитектурой, разработкой программного обеспечения и автоматизацией систем. Активный член сообщества Amazon Web Services, технический писатель и оратор.
Дэн Макин (Dan Mackin) – получил степень бакалавра электротехники и компьютерной инженерии в Университете Колорадо в Боулдере. Он применяет Linux и другие технологии с открытым исходным кодом не только в своей повседневной работе, но и для проектов по автоматизации, мониторингу и сбору метеорологических показателей на дому.
SQL за 10 минут
SQL in 10 minutes a day ориентирована на разработчиков, программирующих на языках С/С++, Objective C, .NET, Java, PHP, Python или любом другом языке программирования, пользователей клиентских приложений, таких как пользователи Word, которым нужно осуществить слияние данных с базой данных, пользователей отчетов, требующих получить информацию из корпоративных хранилищ данных, а также всех, кто требует манипулировать и взаимодействовать с базами данных, но не работает с ними по основной специальности.
Поскольку книга имеет специфическую аудиторию, она была разработана с учетом отличий и начинается с операции SELECT в SQL, а затем добавляется фильтрация, сортировка и т.д. Создание таблиц, работа с различными типами данных, применение ограничений, использование сохраненных процедур и триггеров и т.д. объясняются четко и методически, небольшими частями. Автор акцентирует внимание на быстром выполнении задач и решении проблем, чтобы помочь вам быть максимально продуктивными с любым инструментом или средой, которую вы используете.
5-е издание содержит дополнительные примеры и советы, охватывает несколько более сложных тем, а также контент, касающийся IBM DB2 (включая DB2 в облаке), Microsoft SQL Server (включая SQL Server Express), MariaDB, MySQL, Oracle (включая Oracle Express и прекрасный) Oracle Live SQL), SQLite и PostgreSQL. Кроме того, большинство уроков завершаются контрольными вопросами, которые помогут вам попрактиковаться и освоить SQL.
Об авторе
Бен Форта (Ben Forta) – старший директор Adobe по образовательным инициативам и имеет три десятилетия опыта работы в компьютерной индустрии в области разработки продуктов, поддержки, обучения и маркетинга продуктов. Имеет значительный опыт в проектировании и разработке баз данных, реализовал базы данных для нескольких очень успешных коммерческих программ и веб-сайтов, а также постоянным лектором и колумнистом по разработке приложений и Интернет-технологий.
Изучаем SQL. Генерация, выборка и обработка данных.
Книга помогает разработчикам быстро освоить SQL для написания программ баз данных, выполнения административных задач и создания отчетов, начиная со вступления в язык SQL, изучения основ и постепенно переходя к некоторым более сложным его возможностям. В книге вы найдете информацию об истоках языка SQL, создании и наполнении баз данных, рассмотрите основы запросов, фильтрацию, запросы в несколько таблиц и работу с наборами данных, изучите о генерации, манипуляции и преобразования данных, группировках и агрегатах, подзапросах, транзакциях, метаданных тому подобное. Также демонстрируется работа с очень большими базами данных и как запрашивать данные в нереляционных базах данных.
Каждый раздел представляет самостоятельный урок о ключевой концепции или технике SQL с использованием многочисленных иллюстраций, аннотированных примеров и упражнений по отработке полученных навыков.
Об авторе
Алан Болье (Alan Beaulieu) занимается разработкой и созданием специальных баз данных более 30 лет. Он руководит собственным консалтинговым бизнесом, специализирующимся на проектировании, разработке и настройке производительности очень больших баз данных, преимущественно в секторе финансовых услуг. Имеет степень бакалавра по инженерии Корнельского университета.
T-SQL Fundamentals
Книга "T-SQL Fundamentals" позволит начинающим ознакомиться с основными принципами Transact-SQL и научиться писать правильный и надежный код для запросов и модификаций данных с использованием современных технологий обработки данных от Microsoft, включая SQL Server 2022, Azure SQL Database и Azure SQL Managed Instance . Она не только учит синтаксису, но также погружается в основную логику и теорию T-SQL и хотя и направлена на новичков, она выходит за пределы базового уровня и время от времени охватывает сложные темы, что обеспечивает полноту понимания T-SQL.
Первоначально автор предоставляет теоретическую основу запросов и программирования T-SQL, сведения о создании таблиц и определении целостности данных. Далее он проходит основные темы, включая логическую обработку запросов, запросы из одной таблицы, соединения, подзапросы, выражения таблиц, операторы наборов данных, анализ данных, модификацию данных, временные таблицы, транзакции и параллельность. В заключение предоставляется краткий обзор программируемых объектов.
Книга содержит множество примеров и упражнений, которые помогут лучше усвоить материал и уметь применять свои знания на практике, и будет полезна даже опытным специалистам.
Об авторе
Ицик Бен-Ган (Itzik Ben-Gan) – наставник и соучредитель SolidQ. MVP Microsoft Data Platform с 1999 года, проводил многочисленные обучающие мероприятия по всему миру, посвященные запросам T-SQL, настройке запросов и программированию. Автор нескольких книг о T-SQL, множества статей для SQL Server Pro, а также статей и официальных документов для MSDN и The SolidQ Journal. Доклады Ицика включают в себя Tech-Ed, SQL PASS, SQL Server Connections, презентации для различных групп пользователей SQL Server и события SolidQ.
Site Reliability Workbook. Практическое применение
The Site Reliability Workbook – практическое дополнение к первой книге Google "Site Reliability Engineering: How Google Runs Production Systems". Перед прочтением данной книги авторы рекомендуют ознакомиться с предыдущей ее частью, ведь это позволит лучше понять и усвоить материал. Данная книга демонстрирует практическое применение практик и принципов SRE, не только на примере Google, но и нескольких других компаний – от традиционных предприятий (включая The Home Depot и New York Times) до цифровых представителей (Evernote, Spotify и других). Также в данной части конкретно раскрывается взаимосвязь меж SRE и DevOps. Книга создана для того, чтобы помочь лучше выполнять свою работу, поэтому читатели могут частично использовать примеры кода в своих программах и документации без специального разрешения.
Об авторах
Бетси Бейер (Betsy Beyer) – технический автор Google в Нью-Йорке и специализируется на разработке надежности сайта (SRE). Ранее она писала документацию для Центров обработки данных Google и команд по эксплуатации оборудования в Маунтин-Вью, а также глобальных центров обработки данных.
Найл Мерфи (Niall Murphy) – возглавляет команду разработки надежности рекламных сайтов в Google Ireland. Он работает в Интернет-индустрии около 20 лет и сейчас является главой INEX, ирландского пирингового центра. Он является автором или соавтором нескольких технических статей и/или книг, включая IPv6 Network Administration для O'Reilly и несколько RFC-документов.
Дэйв Рэнсин (Dave Rensin) – директор по SRE в Google, бывший автор издательства O'Reilly и серийный предприниматель. Имеет высшее образование в области статистики.
Кент Кавахара (Kent Kawahara) – программный менеджер в Site Reliability Engineering (SRE) Google, направленной на клиентов платформы Google Cloud. На предыдущих должностях Google управлял техническими и дизайнерскими командами для разработки инструментов поддержки рекламы и сотрудничал с крупными рекламодателями и агентствами в стратегических рекламных инициативах. До Google он работал в отделе управления продуктом, тестировании программного обеспечения и профессиональных услуг в двух успешных стартапах по телекоммуникациям. Он имеет степень бакалавра по электротехнике и информатике из Университета Калифорнии в Беркли.
Стивен Торн (Stephen Thorne) – старший инженер по обеспечению надежности сайта (SRE) в Google. Сейчас он работает в Customer Reliability Engineering, помогая интегрировать операции клиентов Google Cloud с Google SRE. Стивен научился работать в SRE команде, управляющей пользовательскими интерфейсами Google для рекламодателей и издателей, а позже работал над App Engine. До работы в Google он боролся со спамом и вирусами в своей родной стране Австралии, где также получил степень бакалавра по компьютерным наукам.
Site Reliability Engineering. Надежность и безотказность как в Google
Эта книга полна полезных и заставляющих задуматься советов даже для команд, работающих с системами, меньшими, чем инфраструктура Google. Здесь члены группы Google по обеспечению надежности сайтов объясняют, как и почему их приверженность всему жизненному циклу позволила компании успешно создавать, развертывать, контролировать и поддерживать некоторые из крупнейших программ в мире. Каждая глава книги написана другим автором или группой авторов, освещающих множество важных тем SRE, например, что такое SRE и почему она отличается от обычных практик ИТ-отрасли, демонстрирующих шаблоны, поведение и проблемные области, влияющие на работу инженера по надежности сайта (SRE), показывающие повседневную рутину SRE: создание и эксплуатация больших распределенных вычислительных систем, знакомят с лучшими практиками Google для обучения, коммуникации и встреч. Авторы предоставляют ценные знания и практики, которые каждый сможет применить к своей организации.
Об авторах
Бетси Бейер (Betsy Beyer) – технический автор Google в Нью-Йорке и специализируется на разработке надежности сайта (SRE). Ранее она писала документацию для Центров обработки данных Google и команд по эксплуатации оборудования в Маунтин-Вью, а также глобальных центров обработки данных.
Дженнифер Петофф (Jennifer Petoff) – программный менеджер SRE команды Google. Она руководила крупными глобальными проектами в различных областях, включая научные исследования, инженерные работы, работу с кадрами и рекламные операции. Дженнифер присоединилась к Google после восьми лет работы в химической промышленности. Она имеет степень доктора философии по химии в Стэнфордском университете, бакалавра по химии и бакалавра психологии в Рочестерском университете.
Крис Джонс (Chris Jones) является инженером по надежности сайтов (SRE) для Google App Engine – облачной платформы-сервиса, обслуживающей более 28 миллиардов запросов каждый день. Сейчас он работает в Сан-Франциско и раньше отвечал за обслуживание систем статистики рекламы, систем хранения данных и систем поддержки клиентов в Google.
Найл Мерфи (Niall Murphy) – возглавляет команду разработки надежности рекламных сайтов в Google Ireland. Он работает в Интернет-индустрии около 20 лет и сейчас является главой INEX, ирландского пирингового центра. Является автором или соавтором нескольких технических статей и/или книг, включая IPv6 Network Administration для O'Reilly и несколько RFC-документов. Сейчас он пишет историю Интернета в Ирландии и имеет ступени по компьютерным наукам, математике и поэзии.
Руководство по DevOps. Как добиться гибкости, надежности и безопасности мирового уровня в технологических компаниях
«Руководство по DevOps», созданное четверкой специалистов, стоявших у истоков этой методологии, покажет вам, как сформировать непрерывный и стабильный поток работы не только в ИТ, но и в бизнесе в целом. Авторы знакомят читателя с идеологией и практикой DevOps и предоставляют множество полезных советов по вопросам организационных изменений и более тесного сотрудничества между различными типами работников, объединения и автоматизации различных процессов, их более быстрого и более частого выполнения, системного администрирования, автоматизации процессов снабжения и т.д.
Книга раскрывает основные принципы – три пути DevOps: принцип потока, принцип обратной связи и принцип непрерывного обучения, позволяет понимать и визуализировать потоки ценности, демонстрирует как интегрировать операции и разработку, и преимущества этого процесса. Теории и практики, изложенные в руководстве, являются инструментами, которые могут использовать все работники организации для достижения успеха на рынке.
Во втором издании представлено 15 новых кейсов, включая истории от компаний Adidas, American Airlines, Fannie Mae, Target и ВВС США. Кроме того, известный исследователь и соавтор книги "Accelerate" доктор Николь Форсгрен предоставляет свои взгляды через новый и обновленный материал и исследования.
Об авторах
Джин Ким (Gene Kim) – основатель и технический директор компании Tripwire (до 2010-го года), автор трех книг об ИТ, лауреат нескольких премий (40, 2010). ).
Патрик Дебуа (Patrick Debois) – независимый ИТ-консультант, специализирующийся на преодолении разрывов между проектами и операциями, используя методики Agile в разработке, управлении проектами и системном администрировании.
Джон Уиллис (John Willis) – работает в IT-менеджменте более 30 лет. Основатель Chain Bridge Systems.
Джез Хамбл (Jez Humble) – соучредитель DevOps Research and Assessment, преподаватель Беркли. Всю карьеру посвятил программированию, IT-инфраструктуре, управлению продуктом в компаниях разного масштаба на трех континентах. Автор нескольких книг.
Проект "Феникс". Роман о том, как DevOps меняет бизнес к лучшему
The Phoenix Project – вымышленная история об ИТ-менеджере, вынужденном за 90 дней разобраться со всеми проблемами нового проекта компании и сделать его эффективным. Он должен организовать рабочий процесс, упорядочить связь между отделами и эффективно выполнять другие бизнес-функции компании. В книге в основном гиперболически изображены принципы и люди, с которыми вы сталкиваетесь в бизнесе, однако описанные сценарии действительно очень реалистичны. Большинство так или иначе сталкивалось с такими проблемами как: компании, что не в состоянии прислушиваться к голосу заказчика, перенапряжение людей, работающих на крупных проектах; локальные герои вокруг; непонимание бизнес-требований, требований безопасности, требований к аудиту; неэффективные процессы; отчаяние и разочарование со всех сторон; открытая вражда не только между ИТ и бизнесом, но и в самом IT. Для решения этих проблем "The Phoenix Project" предлагает целый ряд простых, эффективных и действенных инструментов и подходов, а также практические решения для улучшения работы. Книга служит ценным ресурсом для IT-профессионалов, стремящихся улучшить свое понимание DevOps и его влияние на бизнес-результаты. Книга также подчеркивает важность адаптации к изменениям и принятию инноваций для того, чтобы оставаться конкурентоспособными в современной быстро развитой бизнес-среде.
Об авторах
Джин Ким (Gene Kim) – автор бестселлеров Wall Street Journal, исследователь и отмеченный множеством наград технический директор. Он изучает высокоэффективные технологические организации с 1999 года и в течение 13 лет являлся основателем и техническим директором Tripwire. С 2014 г. он является основателем и организатором DevOps Enterprise Summit, изучая технологические трансформации крупных и сложных организаций.
Кевин Бер (Kevin Behr) – основатель Института процессов информационных технологий (ITPI) и главный стратег практики консультирования ИТ-директоров и советов директоров в Assemblage Pointe, где Кевин создал уникальную консалтинговую практику, которая наставляет и обучает ИТ-организации с целью повышения эффективности их бизнеса и конкурентоспособности. Кевин является очень популярным основным докладчиком, и его часто приглашают обсуждать широкий спектр тем в области технологий и управления, таких как Национальная академия наук, Hewlett-Packard, Институт SANS, AFCOM и Форум по управлению ИТ-услугами.
Джордж Спаффорд (George Spafford) – вице-президент-аналитик Gartner, занимающийся DevOps/DevSecOps, Platform Engineering и Site Reliability Engineering (SRE). Его публикации включают сотни статей и многочисленные книги по управлению ИТ, а также соавторство The Phoenix Project, The Visible Ops Handbook и Visible Ops Security.
Foundations of Software Testing ISTQB Certification
ISTQB (International Software Testing Qualification Вoard) – международная некоммерческая организация, основанная в 2002 году, официально зарегистрированная в Бельгии, занимающаяся определением ключевых принципов развития сферы тестирования программного обеспечения. ISTQB разработала свою программу тестирования, которая считается эталонной в мире тестирования.
Foundations of Software Testing ISTQB Certification – полезное руководство по тестированию программного обеспечения и получения сертификата ISTQB (Foundation Level). Четвертое издание полностью отображает новейшие изменения в программе подготовки к сертификации и использует практический подход, включая основные темы, которые должен знать каждый системный и программный тестировщик.
Авторы сами разрабатывают обучающую программу ISTQB и являются достойными международными экспертами и преподавателями в области тестирования программного обеспечения.
Об авторах
Дороти Грэм (Dorothy Graham) – признанный международный эксперт в области тестирования программного обеспечения и автоматизации тестирования. После иммиграции в Великобританию она 7 лет работала в Ferranti Computer Systems разработчиком и руководителем группы. В Национальном вычислительном центре разработала учебные материалы по программной инженерии и тестированию программного обеспечения. Затем работала как независимый консультант, тренер, спикер на конференциях и автор.
Эрик ван Веенендаалис (Erik van Veenendaalis) – генеральный директор Фонда TMMi, ведущий независимый международный консультант по тестированию и тренер.
Рекс Блэк (Rex Black) – президент компании RBCS со штаб-квартирой в США, которая в течение 25 лет предоставляет консультации, обучение и экспертные услуги по тестированию программного и аппаратного обеспечения, а также системному тестированию.
Agile Testing: A Practical Guide for Testers and Agile Teams
Книга написана с целью помочь тестировщикам, менеджерам по контролю качества, разработчикам, менеджерам разработки, владельцам продукта и любой другой заинтересованной стороне в эффективном тестировании на agile проектах, чтобы предоставлять программное обеспечение, в котором их клиенты нуждаются. Также авторы стремятся помочь тестировщикам и специалистам по контролю качества (QA), работавшим в более традиционных методологиях разработки, перейти к agile-разработке.
В книге освещается понятие agile тестирования и роль тестировщика на примерах реальной работы команд разного размера, демонстрируется как использовать квадранты agile тестирования, чтобы определить, какое тестирование необходимо, кто должен его выполнять и какие инструменты могут помочь. Книга описывает итерацию разработки программного обеспечения в пределах agile с точки зрения тестировщика и объясняет семь ключевых факторов успеха agile тестирования.
После прочтения этой книги вы будете понимать как привлечь тестировщиков к agile-разработке, как перейти от традиционного цикла разработки к agile разработке, место тестировщиков и QA менеджеров в команде, как выполнить тестирование в краткие итерации, как использовать тесты для успешного управления разработкой, как преодолеть барьеры для автоматизации тестирования и т.д.
Об авторах
Лиза Криспин (Lisa Crispin) – признана коллегами самым влиятельным профессионалом Agile-тестирования на Agile Testing Days в 2012 году. Является соавтором Agile Testing Condensed: A Basic Introduction, «More Agile Testing: Learning Journeys for Whole Team», Agile Testing: A Practical Guide for Testers and Agile Teams, видеокурс LiveLessons Agile Testing Essentials, соучредительницей Agile Testing Fellowship. Занимается коучингом и проведением консультаций, предлагает дистанционный курс «Целостного тестирования» в режиме реального времени (в часовых поясах, которые находятся в пределах трех-четырех часов от восточного часового пояса (UTC – 5)).
Джанет Грегори (Janet Gregory) – коуч по Agile-тестированию и процессный консультант компании DragonFire Inc. Она работает с командами, переходящими к agile-разработке и ведет курсы по agile-тестированию по всему миру. Публикует статьи в изданиях и с удовольствием делится своим опытом на конференциях и встречах групп пользователей. Вместе с Лизой Криспин основала Agile Testing Fellowship, и является соавторкой Agile Testing Condensed: A Brief Introduction, More Agile Testing: Learning Journeys для Всеобщего Team и Agile Testing: A Practical Guide для Testers и Agile Teams. Джанет имеет степень по компьютерным наукам Университета Альберты, сертификат управления информацией от Университета Калгари, сертификат Scrum Master, а также получила сертификат управления качеством от ASQ.
A Practitioner’s Guide to Software Test Design
A Practitioner's Guide to Software Test Design – книга, которая, по мнению многих программистов, является лучшей из тест-дизайна и служит настольной помощью тестировщиков, работающих с проектами любой сложности. Она написана на легком, простом, доступном языке и охватывает все важные методы разработки тестов.
Благодаря этому справочнику вы научитесь выбирать лучшие методы проектирования тестовых кейсов, находить дефекты в программном обеспечении за меньшее количество времени и с меньшими ресурсами, а также разрабатывать оптимальные стратегии, которые помогут уменьшить риск серьезных ошибок. Он также помогает в оценке усилий, времени и затрат на качественное тестирование. В книге подробно описаны два метода тестирования методом «белого ящика», семь – методом «черного ящика» и основное внимание сосредоточено на выборе оптимального кейса, который поможет быстро и точно решить поставленные задачи. Вместе с тем автор приводит множество примеров тест-кейсов на все случаи жизни, которые помогают полностью понять практическое применение этих методов.
Книга является незаменимым ресурсом для профессионалов по тестированию, стремящихся улучшить их навыки, и, несмотря на узкую направленность, доступна для понимания начинающим тестировщикам.
Об авторе
Ли Коупленд (Lee Copeland) – консультант в области методологии тестирования, управления тестированием и тестирования веб-сайтов в Software Quality Engineering. Он имеет более двадцати пяти лет опыта работы как специалист по информационным системам, специализируясь на разработке программного обеспечения и совершенствовании процессов.
Инженерия машинного обучения
Книга базируется на собственном 15-летнем опыте автора в решении проблем с помощью ИИ, а также опубликованном опыте лидеров отрасли.
Вот что рассказывает о книге Кэсси Козырков, главный специалист по принятию решений в Google, в предисловии:
"Фундаментальная работа о практическом строительстве моделей машинного обучения и их развертывании в производственной среде. Именно в тот момент, когда компании начали прозревать и осознавать, что для того, чтобы решить проблему, основанную на машинном обучении, заработало необходимые усилия инженеров и знакомства с передовыми практиками. Еще одна замечательная книга от Андрея!"
Об авторе
Андрей Бурков (Andriy Burkov) – кандидат технических наук в области искусственного интеллекта и является руководителем группы машинного обучения в Gartner.
Concurrency in Go: Tools and Techniques for Developers
Параллелизм может быть достаточно сложным для правильного понимания, однако Concurrency in Go – книга, демонстрирующая, как язык программирования с открытым исходным кодом Go упрощает работу с параллелизмом и даже делает его понятным и легким. Здесь рассмотрены лучшие практики и паттерны, которые помогут вам интегрировать параллелизм в свои системы.
Автор шаг за шагом объясняет весь процесс, чтобы было понятно, как Go моделирует параллелизм, какие проблемы вытекают из этой модели и как можно составлять примитивы внутри этой модели для решения проблем. Книга позволит овладеть необходимыми навыками и инструментами, чтобы уверенно писать и реализовывать параллельные системы любого размера. Также освещается как Go решает основные проблемы, усложняющие правильную реализацию параллелизма, знакомит с основными отличиями между параллелизмом и конкурентностью, демонстрирует синтаксис примитивов синхронизации памяти в Go. Вы сможете создать паттерны из этих примитивов для написания поддерживаемого параллельного кода, сформируете эти паттерны в виде набора практик, позволяющих вам писать большие распределенные системы, которые масштабируются, а также узнаете о горутинах и о том, как рантайм Go объединяет все это вместе.
Об авторе
Кэтрин Кокс-Будей (Katherine Cox-Buday) – компьютерный специалист, сейчас работает в DigitalOcean.
Learning Go: An Idiomatic Approach to Real-World Go Programming 2nd Edition
Learning Go: An Idiomatic Approach to Real-World Go Programming – практическое руководство, которое поможет программистам научиться писать четкий и идиоматический код на языке Go, а не воспроизводить шаблоны других языков, не имеющих смысла в контексте Go. Эта книга научит вас мыслить как разработчик Go, независимо от вашего опыта. Автор представляет паттерны проектирования Go и исследует рациональность их использования. Второе издание также раскрывает тему дженериков и их специфичности в Go.
Прочитав книгу, вы научитесь писать код и создавать проекты на языке Go, настраивать среду разработки Go для себя или команды, когда и как использовать reflection, unsafe и cgo, инструменты Go для улучшения производительности, оптимизации использования памяти и уменьшения сбора мусора (GC), узнаете эффективные возможности языка и те, которые следует использовать очень осторожно или избегать, а также научитесь использовать расширенные инструменты разработки Go.
Об авторе
Джон Боднер (Jon Bodner) был инженером-программистом, ведущим разработчиком и архитектором более 20 лет. В то время он работал над программным обеспечением во многих областях, включая образование, финансы, коммерцию, здравоохранение, право, правительство и инфраструктуру Интернета. Сейчас он штатный инженер в Datadog. Джон часто выступает на конференциях Go, а его публикации в блоге о Go и разработке программного обеспечения прочли более 150 000 человек. Он является создателем библиотеки доступа к данным Proteus и соразработчиком check-out, ответвлением проекта LGTM.
Язык программирования Go
Go Programming Language – авторитетный источник для написания четкого и идиоматического кода на языке Go, который подойдет для любого программиста. Независимо от того, вам больше нравится JavaScript, Ruby, Python, Java или C++, эта книга будет понятна, поскольку не требует предварительного знания Go или опыта работы с любым конкретным языком.
В первых главах рассматриваются основные понятия Go, такие как аргументы командной строки, работа с GIF-изображениями, URL-адресами, разработка веб-серверов и т.д. Простые примеры включают в себя основные структурные элементы программ Go: синтаксис, поток управления, типы данных и организацию программы в пакеты, файлы и функции, не отвлекаясь на сложные алгоритмы или структуры данных. Позже подробнее разъясняется механизм пакетов и то, как создавать, тестировать и поддерживать проекты с помощью инструмента go. Разделы о методах и интерфейсах знакомят с нетрадиционным подходом Go к объектно-ориентированному программированию, объясняют ключевые принципы инкапсуляции, композиции и заменимости на реалистичных примерах. Следующие разделы о параллелизме, охватывающие основные механизмы goroutines и каналов, иллюстрируют стиль, известный как передача последовательных процессов, которыми известен Go и традиционные аспекты параллельности с общими переменными. Также читатель сможет ознакомиться с искусством метапрограммирования с помощью рефлексии, как использовать пакет unsafe, чтобы выйти за пределы системы типов в особых ситуациях, и как использовать инструмент cgo для создания привязок для библиотек C.
В книге представлены сотни интересных и практичных примеров хорошо написанного кода, которые помогут сразу начать программировать на Go и постепенно переходить к более сложным темам. Исходный код свободно доступен для загрузки с gopl.io, и его можно удобно получить, создать и установить с помощью команды go get.
Об авторах
Алан А. А. Донован (Alan Donovan) является членом команды разработчиков языка Go в Google в Нью-Йорке. Он получил научную степень в области информатики в Кембридже и МТИ, и занимается программированием с 1996 года. Начиная с 2005 года он работает в Google над проектами в области инфраструктуры и был одним из разработчиков патентованной системы построения Blaze. Им создано множество библиотек и инструментов для статического анализа программ на языке Go, включая oracle, godoc -analysis, eg и gorename.
Брайан У. Керниган (Brian Kernighan) – профессор факультета информатики в Принстонском Университете. С 1969 по 2000 он работал в опытном центре в Bell Labs, где занимался языками и инструментами для Unix. Он является соавтором ряда книг, включая Язык программирования C, 2-е издание и Практика программирования.
Python Crash Course (3rd edition)
Python Crash Course - книга, которая поможет быстро и основательно овладеть основами Python, что позволит писать программы, решать задачи и создавать функционирующие приложения за минимальное время.
Сначала будут рассмотрены основные концепции программирования, такие как переменные, списки, классы и циклы, сопровождающиеся упражнениями после каждой темы для получения навыков написания чистого кода. Также книга освещает, как сделать программы интерактивными и безопасно тестировать код, прежде чем добавить его в проект. Автор позволяет применить новые знания на практике, ведь читатель может создать аркадную игру в стиле Space Invaders, набор визуализаций данных с помощью удобных библиотек Python и развернуть простое приложение в Интернете.
Третье издание полностью переработано, чтобы отобразить последние изменения в коде Python. Новые и обновленные темы включают VS Code для редактирования текста, модуль pathlib для работы с файлами, pytest для тестирования вашего кода, а также последние функции Matplotlib, Plotly и Django.
Прочитав данную книгу, вы научитесь использовать мощные библиотеки и инструменты Python, создавать более сложные 2D-игры, интерактивные визуализации данных, используя разнообразные наборы данных, приложения, позволяющие пользователям создавать учетные записи и управлять своими данными, развертывать свои приложения онлайн, а также находить и устранять ошибки в вашем коде и решать типичные проблемы программирования.
Об авторе
Эрик Маттес (Eric Matthes) – был школьным учителем естественных наук, математики и программирования, а сейчас штатный писатель, живущий на Аляске. Он пишет программы с пяти лет и является автором Python Flash Cards, также изданного No Starch Press.
Effective Python: 90 Specific Ways to Write Better Python
Python – популярный язык программирования, ведь на нем достаточно легко начать разработку программ. Значительно сложнее понять и научиться использовать уникальные преимущества и выразительность Python, избегая всех подводных камней.
Второе издание Effective Python содержит больше советов и существенно пересматривает все пункты предыдущего издания, помогает освоить действительно «Pythonic» подход к программированию, используя всю мощность Python для написания чрезвычайно надежного и высокопроизводительного кода. Бретт Слаткин объединяет 90 лучших методов, советов и сокращений, объясняет их реалистичными примерами кода, чтобы вы могли с уверенностью воспринимать Python. Автор открывает малоизвестные особенности и идиомы, сильно влияющие на поведение и производительность кода. Книга объясняет, как лучше выполнять ключевые задачи, чтобы писать код, который легче понять, поддерживать и улучшать.
Ключевыми особенностями являются:
- 30 новых действенных указаний для всех основных областей Python;
- подробные пояснения и примеры операторов, выражений и встроенных типов;
- лучшие практики для написания функций, объясняющих намерения, способствуют повторному использованию и избеганию ошибок;
- лучшие техники и идиомы для использования абстракции списков и генераторов;
- освещение того, как выразить поведение с помощью классов и интерфейсов;
- указания о том, как избежать ловушек с метаклассами и динамическими атрибутами;
- эффективные и четкие подходы к параллельности и параллелизму;
- решения для оптимизации и усиления безопасности для максимизации производительности и качества;
- методы и встроенные модули, которые помогают в отладке и тестировании;
- инструменты и лучшие практики для совместной разработки.
Об авторе
Бретт Слаткин (Brett Slatkin) – ведущий инженер-разработчик компании Google. За последние 18 лет его работа в Google включает: создание Google Surveys, платформы для сбора наборов данных маркетинговых исследований и машинного обучения; ведущие системы Google Optimize и A/B экспериментирования для Google Ads; создание и запуск первого продукта Google для облачных вычислений (App Engine). Бретт является автором книги "Эффективный Python". Он также являлся соавтором PubSubHubbub, стандарта W3C для RSS в реальном времени. Получил степень бакалавра в области компьютерной инженерии в Колумбийском университете в Нью-Йорке.
Python. К вершинам мастерства. Лаконичное и эффективное программирование.
Многие опытные программисты пытаются загнать Python в шаблон, который они узнали из других языков, и никогда не открывают для себя возможности Python за пределами своего опыта. Это практическое руководство поможет научиться писать эффективный, современный код на Python 3, используя его лучшие решения.
Автор рассматривает основные функции и библиотеки языка Python и демонстрирует, как сделать код более коротким, быстрым и читабельным. Второе издание претерпело значительные обновления и состоит из пяти частей, каждую из которых можно считать отдельной книгой:
- Структуры данных: Последовательности, словари, множества, Unicode и классы данных.
- Функции как объекты: Функции первого класса, связанные с шаблонами проектирования и подсказки типов в объявлениях функций.
- Объектно ориентированные идиомы: Композиция, наследование, миксины, интерфейсы, перегрузки операторов, протоколы и другие статические типы.
- Управление потоком: Контекстные менеджеры, генераторы, корутины, асинхронное исполнение и пул потоков/процессов.
- Метапрограммирование: Свойства, дескрипторы атрибутов, декораторы классов и новые средства метапрограммирования классов, заменяющие или упрощающие использование метаклассов.
Об авторе
Лучано Рамальо (Luciano Ramalho) был веб-разработчиком в IPO Netscape в 1995 году и перешел из Perl на Python в 1998 году. Он выступал с докладами на PyCon US, OSCON, QCon, PythonBrasil, PyCon DE и т.д. Член Python Software Foundation и соучредитель Garoa Hacker Clube, первого хакерского пространства в Бразилии. Он является основным консультантом Thoughtworks.
Думай «почему?». Причина и следствие как ключ к мышлению
В этой книге автор показывает, как понимание причинности совершило революцию в науке и революционизирует искусственный интеллект. Джуда Перл исследует тему причинности и вывода из статистической и философской точек зрения для широкой аудитории.
Работа Перла позволяет нам не только узнать, является ли одно причиной другого, она позволяет исследовать реальность, которая уже существует, и реальности, которые могли бы существовать. Она демонстрирует суть человеческой мысли и дает ключ к искусственному интеллекту.
Об авторе
Джуда Перл (Judea Pearl) – американский и израильский ученый, автор математического аппарата баесовых сетей, создатель математической и алгоритмической базы вероятностного вывода, автор алгоритма распространения доверия для графовых вероятностных моделей, do-вычисления и вычисления условных высказываний. Его исследования в области искусственного интеллекта были положены в основу целого ряда изобретений, включая систему распознавания языка Apple Siri и беспилотные автомобили Google.
Дана Маккензи (Dana Mackenzie) – научный журналист.
JavaScript. Оптимизация производительности
Если вы широко используете JavaScript для создания интерактивных и быстродействующих веб-приложений, то, вероятно, вы сталкиваетесь с проблемой быстродействия и повышения производительности программ.
Приемы и подходы, обсуждаемые в этой книге, охватывают различные аспекты программирования на языке JavaScript, такие как время выполнения, загрузка, взаимодействие с DOM, жизненный цикл страниц и многие другие. Автор и еще пять экспертов по JavaScript - Ross Harmes, Julien Lecomte, Steven Levithan, Stoyan Stefanov и Matt Sweeney демонстрируют наиболее оптимальные способы загрузки JavaScript-сценариев в страницы, представляют конкретные приемы программирования, позволяющие максимально увеличить скорость выполнения программного кода, освещают самые эффективные способы создания и развертывания JavaScript-файлов в действующем окружении и предоставляют инструменты исследования производительности, способные помочь в поиске проблем, которые могут появиться после развертывания сценариев.
Книга пригодится опытным разработчикам JavaScript, стремящимся повысить производительность интерфейсов веб-приложений.
Об авторе
Николас Закас (Nicholas C. Zakas) – консультант фронт-энд разработки, специализирующийся на дизайне и внедрении пользовательского интерфейса для веб-приложений с помощью JavaScript, Dynamic HTML, CSS, XML и XSLT. Имеет 15 лет опыта в веб-разработке, около пяти лет работал в компании Yahoo! на разных должностях и внес вклад в библиотеку Yahoo! User Interface (YUI), где он написал Cookie Utility, Profiler и YUI Test.
Вы не знаете JS (серия книг)
Независимо от того, какой у вас опыт работы с JavaScript, есть вероятность, что вы не полностью понимаете язык, ведь достаточно легко овладеть отдельными частями этого языка, но гораздо труднее изучить его полностью. Серия книг You don't Know JS позволит получить глубокое понимание JavaScript, включая сложные части языка, которых часто избегают даже опытные программисты.
Первая книга серии "Up&Going" для тех, кто не имеет большого опыта программирования. Она объясняет базовые строительные блоки, включая операторы, типы, переменные, условия, циклы и функции программирования и основные механизмы JavaScript. "Async & Performance" – сосредотачивается на новых асинхронных функциях и техниках производительности, включая Promises, генераторы, Web Workers и т.д., которые позволяют создавать сложные одностраничные веб-программы и избежать ада обратного вызова в процессе. "Types & Grammar" – исследует типы данных JavaScript глубже, чем предыдущие, рассматривая проблемы приведения типов, объясняя, как работают типы, и показывая, как воспользоваться преимуществами этих функций. Книга "ES6 & Beyond" посвящена новым функциям, доступным в ECMAScript 6 (ES6), последней версии стандарта, на основе которого построен JavaScript. "this & Object Prototypes" ознакомит вас со структурой this и прототипами объектов JavaScript. Вы узнаете, как они работают и почему они являются неотъемлемым поведением для делегирования – шаблон проектирования, в котором объекты связываются, а не клонируются .
Об авторе
Кайл Симпсон (Kyle Simpson) является проповедником открытого Интернета из Остина, Техас, который увлекается всем, что касается JavaScript. Он является автором, тренером семинаров, техническим докладчиком и участником/ведущим OSS.
JavaScript. Полное руководство
JavaScript – самый распространенный язык программирования для сети, поскольку подавляющее большинство сайтов его использует, а все современные веб-браузеры содержат интерпретаторы JavaScript. Благодаря Node.js, что сделало возможным программирование на JavaScript и за пределами веб-браузеров, этот язык на сегодняшний день является наиболее используемым языком программирования среди разработчиков программного обеспечения.
Книга является исчерпывающим руководством, последнее издание которой полностью обновлено и охватывает версию 2020 JavaScript. В ней также предлагаются новые разделы, в которых раскрываются классы, модули, итераторы, генераторы, объекты Promise и async/await.
Пособие будет полезно как для начинающих, желающих выучить язык JavaScript, так и для тех, кто стремится повысить уровень своих знаний и мастерства.
Основные темы книги:
- Типы, переменные, операции, операторы, объекты и массивы
- Функции, классы, модули, итераторы, генераторы, объекты Promise и async/await
- Стандартная библиотека JavaScript: структуры данных, регулярные выражения, JSON, интернационализация и работа с URL
- Веб-платформа: документы, компоненты, графические возможности, взаимодействие с сетью, хранилище и потоки
- Node.js: буферы, файлы, потоки данных, потоки управления, дочерние процессы, веб-клиенты и веб-серверы
- Инструменты и расширение языка, на которые опираются профессиональные разработчики JavaScript
Об авторе
Дэвид Фланаган (David Flanagan) – занимается программированием и пишет о JavaScript с 1995 года. Он получил диплом в области компьютерных наук и инженерии в Массачусетском технологическом институте и работает инженером-программистом в VMware.
Java Concurrency на практике
Java Concurrency in Practice – практическое руководство по написанию надежных и эффективных многопоточных приложений с использованием языка программирования Java. Авторы собрали лучшие практики, известные ловушки и передовые методы управления потоками и синхронизации в многопоточных программах.
Книга охватывает широкий спектр тем, включая базовые концепции параллелизма и безопасности потоков, методы построения и составления многопоточных классов, использование блоков параллелизма в java.util.concurrent, оптимизацию производительности: что можно делать, а что не стоит и пытаться, тестирование параллельных программ, атомарные переменные, неблокирующие алгоритмы и модель памяти Java.
Разработка, тестирование и настройка многопоточных программ до сих пор может быть очень сложной, поскольку они, вроде бы работают, но часто терпят сбои при высокой нагрузке в реальной среде. Авторы использовали свой немалый опыт, чтобы дать понятные объяснения, реальные примеры и практические упражнения, помогающие разработчикам разобраться в тонкостях параллельного программирования и научиться создавать надежные и масштабируемые многопоточные приложения, а так же знакомят с правилами проектирования, паттернами и моделями, которые не зависят от версии Java и на протяжении многих лет остаются актуальными и эффективными.
Об авторах
Брайан Гетц (Brian Goetz) – профессиональный разработчик с более чем 20-летним стажем. Он является основным автором вышеупомянутой книги Java Concurrency In Practice, а также более 75 статей, посвященных разработке программного обеспечения. Более десяти лет Брайан работает архитектором языка Java в Oracle.
Тим Пайерлз (Tim Peierls) – имеет разнообразный опыт работы в таких областях, как BoxPop.biz, записи звука и театр. Он также является основным членом экспертной группы Java Community Process JSR 166 и участвовал в многочисленных других экспертных группах JCP.
Джошуа Блох (Joshua Bloch) – программный инженер. Был главным архитектором Java в Google, выдающимся инженером Sun Microsystems и старшим системным дизайнером в Transarc. Он руководил разработкой и внедрением многочисленных функций платформы Java, включая усовершенствование языка JDK 5.0 и Java Collections Framework.
Дэвид Холмс (David Holmes) – директор компании DLTeCH Pty Ltd, расположенной в Брисбене, Австралия. Он специализируется на синхронизации и совместной работе и является участником экспертной группы JSR-166, разрабатывавшей новые средства совместной работы. Он также является соавтором обновления спецификации Real-Time для Java и в последние годы работает над реализацией этой спецификации.
Джозеф Боубир (Joseph Bowbeer) – архитектор программного обеспечения в компании Vizrea Corporation, где он специализируется на разработке мобильных приложений для платформы Java ME. Однако его увлечение параллельным программированием началось еще на его работе в Apollo Computer. Он участвовал в экспертной группе JCP для JSR-166.
Даг Ли (Doug Lea) – автор книг, статей и спецификаций, связанных со стандартизацией ООП в сфере программирования и различных техник раздельного, параллельного программирования. Даг Ли является автором нескольких широко выкручиваемых пакетов программирования и компонентов, а также пакета ''java.base.util.concurrent''' для параллельного программирования в Java.
Код креативности. Как искусственный интеллект учится писать, рисовать и думать
Книга "Код креативности" рассматривает значение машинного обучения для будущего креативности. Автор исследует природу творчества, освещая важнейшие аспекты работы алгоритмов и математических правил, лежащих в их основе. Он задается вопросом, насколько наш эмоциональный отклик на произведения искусства обусловлен реакцией мозга на закономерности и структуры и что значит заниматься творчеством в математике, изобразительном искусстве, литературе и музыке.
Последние книги об искусственном интеллекте сосредотачиваются на работе будущего, «Код креативности» выводит нас на передовой край новых творческих технологий и предлагает более позитивное и неожиданное видение нашего будущего сожительства с машинами. Это призывает нас посмотреть, что значит быть человеком, и разгадать код творчества.
Об авторе
Маркус Дю Сотои (Marcus du Sautoy) – знаменитый оксфордский профессор и популяризатор науки, занимает должность профессора Симони, основанную с целью популяризации науки. Известный своей работой по популяризации математики, The Independent назвал его одним из ведущих ученых Великобритании. Он также был членом консультативного совета Mangahigh.com, веб-сайта онлайн-математических игр. Является постоянным участником программы BBC Radio 4 In Our Time и писал для The Times и The Guardian. Маркус написал многочисленные научные статьи и книги по математике, последней из которых является исследование современного состояния творчества в области искусственного интеллекта «Код творчества».
Java Эффективное программирование
Эта книга помогает эффективно использовать язык программирования Java и его основные библиотеки: java.lang, java.util и java.io. Автор исследует новые шаблоны проектирования и языковые идиомы, возникшие вследствие значительного расширения возможностей и функционала Java, включая лямбда-выражения, функциональные интерфейсы, потоки, дженерики и коллекции, новые возможности библиотеки, такие как интерфейс Optional, java.time и удобные фабричные методы для коллекции, а также выбранные функции Java 9.
Книга состоит из 11 разделов, которые могут изучаться отдельно друг от друга и в которых излагаются полезные практики, даются конкретные советы, рассматриваются важные нюансы платформы Java и приводятся обновленные примеры кода. Исчерпывающие описания и объяснения для каждого пункта позволяют понять, что делать, чего не делать и почему.
Об авторе
Джошуа Блох (Joshua Bloch) – профессор Университета Карнеги-Меллона. Ранее он был главным архитектором Java в Google, выдающимся инженером Sun Microsystems и старшим системным дизайнером Transarc. Он руководил разработкой и внедрением многочисленных функций платформы Java, включая усовершенствование языка JDK 5.0 и Java Collections Framework. Имеет степень доктора философии по информатике в Университете Карнеги-Меллона и степень бакалавра наук в информатике из Колумбийского университета.
Эффективное использование С++. 55 верных способов улучшить структуру и код ваших программ
Третье издание американского бестселлера Effective C++, руководство по грамотному использованию языка C++. Книга содержит 55 конкретных рекомендаций, каждая из которых описывает способ написания лучшего кода C++ и подтверждается конкретными примерами из жизни. Третье издание содержит много нового контента, например разделы об управлении ресурсами и использовании шаблонов, а темы предыдущих книг были значительно переработаны, чтобы отражать современные проектные условия, включая обработку исключений, паттерны дизайна и многопоточность.
Особенностью книги Effective C++ является применение новой функциональности стандартной библиотеки “TR1”, ее сравнение с существующими компонентами стандартной библиотеки, экспертное руководство по разработке эффективных классов, функций, шаблонов и иерархий наследования, представление об отличиях между C++ и другими языками (например, Java, C# , C), которые могут помочь разработчикам более эффективно перейти с этих языков и лучше усвоить принципы работы С++.
Об авторе
Скотт Мейерс (Scott Meyers) – один из ведущих мировых экспертов в области разработки программного обеспечения на C++, широко востребованный как инструктор, консультант и докладчик на различных конференциях. Обладает степенью доктора философии (Ph.D.) в области компьютерных наук в Университете Брауна (Brown University).
C++. Практика многопоточного программирования
Эта книга является практическим руководством, которое поможет вам понять основные концепции параллельного программирования в C++ и фокусируется на преподавании способов написания надежного и эффективного кода с использованием многопоточности в C++11, C++14 и C++17. В книге тщательно рассмотрены различные темы, включая потоки, мьютексы, атомарные операции и другие средства для создания эффективных многопоточных программ. В каждом разделе автор демонстрирует примеры и практические задачи, которые помогут усовершенствовать навыки и удовлетворят даже опытного разработчика.
Об авторе
Энтони Уильямс (Anthony Williams) – британский разработчик, консультант и тренер с более чем 20-летним опытом работы в C++. Он является активным членом Группы стандартов BSI C++ с 2001 года, автором или соавтором многих документов для Комитета стандартов C++, приведших к включению библиотеки потоков в Стандарт C++11. Он продолжает работать над новыми возможностями для улучшения набора инструментов для многопоточного программирования в С++ как с предложениями стандартов, так и с реализациями этих средств для приложений just::thread Pro, расширений библиотеки потоков C++ от Just Software Solutions Ltd.
Эффективный и современный С++: 42 рекомендации по использованию C++11 и C++14
Эта книга предоставляет ценные представления и лучшие практики использования последних возможностей C++11 и C++14. Используя современные функции, программисты могут повысить эффективность, читабельность и удобство обслуживания своего кода. Пособие включает широкий спектр тем, включая инициализацию в фигурных скобках, взаимосвязь между std::move, std::forward, rvalue и универсальными ссылками, спецификации noexcept, совершенную переадресацию, лямбда-выражения, std::atomic и volatile.
Читатели могут углубить свое понимание современных методов C++ благодаря четким объяснениям автора и практическим примерам и стать более искусными в использовании этих мощных возможностей. Дополнительно книга включает в себя упражнения в конце каждой главы для дальнейшего укрепления, понимания и применения материала.
Об авторе
Скотт Мейерс (Scott Meyers) – один из ведущих мировых экспертов в области разработки программного обеспечения на C++, широко востребованный как инструктор, консультант и докладчик на различных конференциях. Обладает степенью доктора философии (Ph.D.) в области компьютерных наук в Университете Брауна (Brown University).
Искусство автономного тестирования с примерами на С#
Искусство модульного тестирования, второе издание, шаг за шагом проведет вас от написания первых простых модульных тестов до создания полноценных тестовых наборов, которые легко поддерживать, являются понятными и надежными. Книга позволяет овладеть основными идеями и быстро перейти к таким важным темам, как моки, стабы, а также научиться использовать фреймворки для изоляции, такие как Moq, FakeItEasy и Typemock Isolator. Вы изучите паттерны и организацию тестирования, рефакторинг кода и научитесь тестировать "нетестированный" код. Вместе с тем вы узнаете об интеграционном тестировании и методах тестирования с базами данных.
Примеры в книге написаны на C#, но они будут полезны для тех, кто использует статически типизированные языки, такие как Java или C++.
Об авторе
Рой Ошеров (Roy Osherove) – основатель Legato Labs. Он является организатором израильской встречи разработчиков Web3 Underground Meetup. Работает в индустрии программного обеспечения более 20 лет на разных технических и тестирующих должностях, а сейчас является внештатным консультантом и тренером в разных компаниях по всему миру.
CLR via C#
Эта книга, ставшая классическим учебником по программированию, подробно описывает внутреннее устройство и функционирование общеязыковой среды (CLR) Microsoft .NET Framework версии 4.5. Книга научит вас создавать по-настоящему надежные приложения любого вида, в том числе с использованием Microsoft Silverlight, ASP.NET, Windows Presentation Foundation и т.д. Четвертое издание полностью обновлено в соответствии со спецификацией платформы .NET Framework 4.5, а также среды Visual Studio 2012 и C# 5.0.
Об авторе
Джеффри Рихтер (Jeffrey Richter) – компьютерный специалист, автор наиболее продаваемых книг в области Win32 и .NET. Соучредитель компании Wintellect, обучающей ИТ-специалистов и консультирующей фирмы в области создания программного обеспечения. За годы работы Рихтер консультировал Intel, DreamWorks и Microsoft.
Ненасильственное общение. Язык жизни
Книга входит в серию пособий по методу ненасильственного общения, которая сочетает практические навыки с мощным сознанием и словарным запасом, чтобы помочь вам получить желаемое мирным путем.
В этой книге автор предлагает проницательные истории, анекдоты, практические упражнения и ролевые игры, которые кардинально изменят ваш подход к общению к лучшему. Узнайте, как язык, которым вы пользуетесь, может укрепить ваши отношения, построить доверие, предотвратить конфликты и исцелить боль. Революционное, но простое руководство "Nonviolent Communication: A Language of Life" предлагает вам самые эффективные инструменты для уменьшения насилия и создания мира в вашей жизни – одно взаимодействие за раз.
Об авторе
Маршалл Розенберг (Marshall B. Rosenberg) – доктор философии, инициировал мирные программы в зоне войны по всему миру, включая Руанду, Бурунди, Нигерию, Малайзию, Индонезию, Шри-Ланку, Ближний Восток, Сербию, Хорватию и Ирландию. Он был основателем и директором образовательных услуг Центра ненасильственного общения (CNVC), международной некоммерческой организации, которая предлагает семинары и тренинги в 30 странах.