Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 634699)
Контекстум
.

Go на практике (5000,00 руб.)

0   0
Первый авторБатчер
АвторыФарина М.
ИздательствоМ.: ДМК Пресс
Страниц376
ID794534
АннотацияGo — превосходный системный язык. Созданный для удобной разработки современных приложений с параллельной обработкой, Go предоставляет встроенный набор инструментов для быстрого создания облачных, системных и веб-приложений. Знакомые с такими языками, как Java или C#, быстро освоят Go — достаточно лишь немного попрактиковаться, чтобы научиться писать профессиональный код. Книга содержит решения десятков типовых задач в ключевых областях. Следуя стилю сборника рецептов — проблема/решение/обсуждение, — это практическое руководство опирается на основополагающие концепции языка Go и знакомит с конкретными приемами использования Go в облаке, тестирования и отладки, маршрутизации, а также создания веб-служб, сетевых и многих других приложений. Издание адресовано опытным разработчикам, уже начавшим изучать язык Go и желающим научиться эффективно использовать его в своей профессиональной деятельности.
ISBN978-5-97060-477-9
УДК004.438Go
ББК32.973.26-018.1
Батчер, М. Go на практике / М. Фарина; М. Батчер .— Москва : ДМК Пресс, 2017 .— 376 с. — ISBN 978-5-97060-477-9 .— URL: https://rucont.ru/efd/794534 (дата обращения: 24.04.2024)

Предпросмотр (выдержки из произведения)

Go_на_практике.pdf
Стр.5
Стр.6
Стр.7
Стр.8
Стр.9
Go_на_практике.pdf
УДК 004.438Go ББК 32.973.26-018.1 Б28 Б28 Go на практике / пер. с англ. Р. Н. Рагимова; науч. ред. А. Н. Киселев. – М.: ДМК Пресс, 2017. – 374 с.: ил. Батчер М., Фарина М. ISBN 978-5-97060-477-9 Go – превосходный системный язык. Созданный для удобной разработки современных приложений с параллельной обработкой, Go предоставляет встроенный набор инструментов для быстрого создания облачных, системных и веб-приложений. Знакомые с такими языками, как Java или C#, быстро освоят Go – достаточно лишь немного попрактиковаться, чтобы научиться писать профессиональный код. Книга содержит решения десятков типовых задач в ключевых областях. Следуя стилю сборника рецептов – проблема/решение/обсуждение, – это практическое руководство опирается на основополагающие концепции языка Go и знакомит с конкретными приемами использования Go в облаке, тестирования и отладки, маршрутизации, а также создания веб-служб, сетевых и многих других приложений. Издание адресовано опытным разработчикам, уже начавшим изучать язык Go и желающим научиться эффективно использовать его в своей профессиональной деятельности. УДК 004.438Go ББК 32.973.26-018.1 Copyright © Manning Publications Co. 2016. First published in the English language under the title ‘Go in Practice (9781633430075)’. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-1-63343-007-5 (анг.) ISBN 978-5-97060-477-9 (рус.) Copyright © 2016 by Manning Publications Co. © Оформление, издание, перевод, ДМК Пресс, 2017
Стр.5
Содержание Предисловие .........................................................................................................9 Введение ................................................................................................................ 11 Благодарности ................................................................................................. 12 О книге ...................................................................................................................... 15 Об авторах ............................................................................................................ 17 Об изображении на обложке .............................................................. 18 Часть I. Основные понятия и принципы ................................... 19 Глава 1. Введение в язык Go ............................................................... 20 1.1. Что представляет собой язык Go? ............................................................... 21 1.2. Примечательные особенности языка Go................................................... 23 1.2.1. Возврат нескольких значений .............................................................. 23 1.2.2. Современная стандартная библиотека .............................................. 25 1.2.3. Параллельная обработка с помощью сопрограмм и каналов ................................................................................................................. 28 1.2.4. Go – больше, чем язык ............................................................................ 32 1.3. Место языка Go среди других языков программирования ................ 38 1.3.1. C и Go ............................................................................................................ 38 1.3.2. Java и Go ....................................................................................................... 40 1.3.3. Python, PHP и Go ..................................................................................... 41 1.3.4. JavaScript, Node.js и Go ........................................................................... 43 1.4. Подготовка и запуск программы на языке Go ........................................ 45 1.4.1. Установка Go .............................................................................................. 45 1.4.2. Работа с Git, Mercurial и другими системами управления версиями ................................................................................................................. 46 1.4.3. Знакомство с рабочей областью .......................................................... 46 1.4.4. Работа с переменными среды ............................................................... 47 1.5. Приложение Hello Go ...................................................................................... 47 1.6. Итоги ..................................................................................................................... 49
Стр.6
6  Содержание Глава 2. Надежная основа ..................................................................... 51 2.1. CLI-приложения на Go ................................................................................... 52 2.1.1. Флаги командной строки ....................................................................... 52 2.1.2. Фреймворки командной строки .......................................................... 59 2.2. Обработка конфигурационной информации .......................................... 65 2.3. Работа с действующими веб-серверами .................................................... 73 2.3.1. Запуск и завершение работы сервера ................................................ 74 2.3.2. Маршрутизация веб-запросов .............................................................. 79 2.4. Итоги ..................................................................................................................... 90 Глава 3. Параллельные вычисления в Go .............................. 92 3.1. Модель параллельных вычислений в Go .................................................. 92 3.2. Работа с сопрограммами ................................................................................. 93 3.3. Работа с каналами ...........................................................................................108 3.4. Итоги ...................................................................................................................122 Часть II. Надежные приложения ...................................................123 Глава 4. Обработка ошибок и аварий .......................................124 4.1. Обработка ошибок ..........................................................................................125 4.2. Система аварий ................................................................................................134 4.2.1. Отличия аварий от ошибок .................................................................135 4.2.2. Работа с авариями ...................................................................................136 4.2.3. Восстановление после аварий ...........................................................139 4.2.4. Аварии и сопрограммы .........................................................................145 4.3. Итоги ...................................................................................................................154 Глава 5. Отладка и тестирование .................................................155 5.1. Определение мест возникновения ошибок ............................................156 5.1.1. Подождите, где мой отладчик? ..........................................................156 5.2. Журналирование..............................................................................................157 5.2.1. Журналирование в Go ...........................................................................157 5.2.2. Работа с системными регистраторами ............................................168 5.3. Доступ к трассировке стека .........................................................................173 5.4. Тестирование .....................................................................................................176 5.4.1. Модульное тестирование .....................................................................177 5.4.2. Порождающее тестирование ...............................................................183 5.5. Тестирование производительности и хронометраж ............................186 5.6. Итоги ...................................................................................................................194
Стр.7
Содержание  7 Часть III. Интерфейсы приложений ...........................................195 Глава 6. Приемы работы с шаблонами HTML и электронной почты ................................................................................196 6.1. Работа с HTML-шаблонами ........................................................................197 6.1.1. Обзор пакетов для работы с HTML-разметкой в стандартной библиотеке ..............................................................................197 6.1.2. Добавление функциональных возможностей в шаблоны ........199 6.1.3. Сокращение затрат на синтаксический разбор шаблонов........203 6.1.5. Соединение шаблонов ...........................................................................207 6.2. Использование шаблонов при работе с электронной почтой ..........218 6.3. Итоги ...................................................................................................................220 Глава 7. Обслуживание и получение ресурсов и форм ....................................................................................................................222 7.1. Обслуживание статического содержимого ............................................223 7.2. Обработка форм ...............................................................................................238 7.2.1. Введение в формы ..................................................................................238 7.2.2. Работа с файлами и предоставление составных данных ...........241 7.2.3. Работа с необработанными составными данными ......................249 7.3. Итоги ...................................................................................................................253 Глава 8. Работа с веб-службами ...................................................255 8.1. Использование REST API ............................................................................256 8.1.1. Использование HTTP-клиента ..........................................................256 8.1.2. При возникновении сбоев....................................................................258 8.2. Передача и обработка ошибок по протоколу HTTP ...........................263 8.2.1. Генерация пользовательских ошибок ..............................................264 8.2.2. Чтение и использование пользовательских сообщений об ошибках ...........................................................................................................267 8.3. Разбор и отображение данных в формате JSON ..................................270 8.4. Версионирование REST API .......................................................................274 8.5. Итоги ...................................................................................................................279 Часть IV. Размещение приложений в облаке ...................281 Глава 9. Использование облака ....................................................282 9.1. Что такое облачные вычисления? .............................................................283 9.1.1. Виды облачных вычислений ...............................................................283
Стр.8
8  Содержание 9.1.2. Контейнеры и натуральные облачные приложения ...................286 9.2. Управление облачными службами ............................................................288 9.2.1. Независимость от конкретного провайдера облачных услуг .......................................................................................................................289 9.2.2. Обработка накапливающихся ошибок ............................................293 9.3. Выполнение на облачных серверах ...........................................................295 9.3.1. Получение сведений о среде выполнения ......................................295 9.3.2. Сборка для облака ..................................................................................299 9.3.3. Мониторинг среды выполнения ........................................................302 9.4. Итоги ...................................................................................................................305 Глава 10. Взаимодействие облачных служб ....................306 10.1. Микрослужбы и высокая доступность ..................................................307 10.2. Взаимодействия между службами ..........................................................309 10.2.1. Ускорение REST API ...........................................................................309 10.2.2. Выход за рамки прикладного программного интерфейса REST .......................................................................................................................317 10.3. Итоги .................................................................................................................327 Глава 11. Рефлексия и генерация кода .................................328 11.1. Три области применения рефлексии ......................................................328 11.2. Структуры, теги и аннотации ...................................................................343 11.2.1. Аннотирование структур ...................................................................344 11.2.2. Использование тегов ...........................................................................345 11.3. Генерация Go-кода с помощью Go-кода ................................................354 11.4. Итоги .................................................................................................................361 Предметный указатель ..........................................................................363
Стр.9

Облако ключевых слов *


* - вычисляется автоматически
.