Дата добавления
16.04.2020
Дата обновления
23.10.2024
Go - отличный язык для создания веб-приложений. Но самообучение из сообщений в блоге и документации стандартной библиотеки часто может оставить вас с большим количеством вопросов, чем ответов.
Вы наверное задавались вопросом:
- Где я могу увидеть конкретный пример реального веб-приложения?
- Как лучше структурировать и организовать мой код?
- Как мне убедиться, что я не делаю ошибок, когда речь идет о безопасности?
- Как использовать модули для управления и контроля версий?
- И как мне эффективно протестировать мое веб-приложение?
Let's Go отвечает на эти вопросы для вас - и многое другое.
Книга поможет вам от начала до конца построить реальное приложение, так что вы получите все знания, понимание и уверенность, необходимые для создания готовых приложений с Go.
Что вы узнаете ...
- Все основы - Как запустить сервер, создать обработчики, отправлять ответы, направлять запросы и обслуживать статические файлы.
- Структура и организация - Как создать идиоматическую и масштабируемую структуру для вашего веб-приложения.
- Использование модулей - Как использовать новые функциональные возможности модуля Go для управления и контроля версий ваших зависимостей.
- Управление конфигурацией - Как использовать флаги командной строки и внедрение зависимостей для управления настройками приложения.
- Ведение логов и обработка ошибок - Как реализовать уровневое ведение логов и централизованную обработку ошибок.
- Базы данных SQL - Как спроектировать модель базы данных и настроить пул соединений
- HTML-шаблоны - Как кэшировать ваши шаблоны, отображать динамические данные, создавать пользовательские функции и обрабатывать ошибки во время выполнения.
- Промежуточное программное обеспечение - Как создать собственное промежуточное программное обеспечение для выполнения общих действий (таких как регистрация запросов и восстановление паники).
- RESTful маршрутизация - Как создать современную структуру маршрутизации запросов, которая следует принципам REST.
- Проверка формы - Как реализовать многоразовый и удобный шаблон для проверки форм и отображения ошибок.
- Управление сеансами. Как использовать и настраивать сеансы для сохранения данных между запросами.
- Использование HTTPS - Как правильно настроить сервер HTTPS и настроить его для повышения производительности и безопасности.
- Предотвращение распространенных уязвимостей - Как предотвратить внедрение SQL иньекций, CSRF, XSS, перехват кликов и т.д.
- Аутентификация и авторизация - Как безопасно шифровать пароли пользователей и добавлять функции регистрации, входа и выхода.
- Request context - Как использовать контекст Go.Context для передачи данных между промежуточным программным обеспечением и обработчиками.
- Тестирование - Как создавать модульные тесты, интеграционные тесты и сквозные тесты, фиктивные зависимости и измерять охват тестами.
- И самое главное ... Как собрать все это в полнофункциональное приложение!
Let’s Go Professional Package
- Полная книга в формате HTML, PDF и EPUB
- Полный исходный код приложения
- Упражнения, чтобы проверить ваше понимание
- Распечатки по сети / http и базы данных / sql
- Подробные объяснения; узнайте почему и как
- Все DRM-free
- Обновлено для Go 1.14
Go 1.22 http.ServeMux updates
The standard library http.ServeMux is now used for routing throughout the book instead of julienschmidt/httprouter.
There are two new chapters --- 2.4. (Wildcard route patterns) and 2.5. (Method-based routing) --- which explain how to use the new http.ServeMux routing features. Chapter 2.3. (Routing requests) has also been rewritten to reflect the Go 1.22 changes. The old Section 7. (Advanced routing) has been removed entirely.
The change to use the new http.ServeMux routing features had a few additional knock-on effects.
Because http.ServeMux doesn't make it possible to easily serve custom 404 responses without breaking 405 responses (see https://github.com/golang/go/issues/61410#issuecomment-1871202015), the book no longer uses a custom notFound() helper. Instead, the http.NotFound() function is used whenever we need to send a 404 response.
How to work with query strings is now covered at the end of Chapter 7.2. (Parsing form data).
The information on customizing HTTP status codes and response headers has been rewritten, and can now be found in Chapter 2.6. (Customizing responses).
Other Go 1.22 language updates
Chapter 9.5. (Configuring HTTPS settings) has been updated to reflect that http.Server now only supports TLS 1.2 and TLS 1.3 by default.
Chapter 12.1. (Embedding static files) has been updated to use the new http.FileServerFS() function for serving static files.
Chapter 13.8. (Profiling test coverage) has been updated to reflect the new output generated by go test -cover.
Other updates
Chapter 4.3. (Modules and reproducible builds) has been updated to explain the // indirect annotation in go.mod files.
The openDB() function in Chapter 4.4. (Creating a database connection pool) has been updated to close the connection pool before returning in the event of a failed Ping().
The secureHeaders() middleware in chapter 6.2. has been renamed to commonHeaders().
Chapter 9.3. (Generating a self-signed TLS certificate) now suggests using the mkcert tool as an alternative to generating your own self-signed certificates.
The newTestDB() function in Chapter 13.7. (Integration testing) has been updated to always close the connection pool before returning in the event of an error.
Dependency updates
github.com/alexedwards/scs/mysqlstore -> v0.0.0-20240203174419-a38e822451b6
github.com/alexedwards/scs/v2 -> v2.8.0
github.com/go-sql-driver/mysql -> v1.8.0
golang.org/x/crypto -> v0.21.0
Miscellaneous
Various typo fixes and minor copy tweaks to improve clarity. Thanks to everyone who provided feedback!
The current update is for: Go 1.18
The current update is for: Go 1.18
The current update is for: Go 1.18
Last updated 2021-08-05 12:04:50 UTC. Version 1.6.2.
Released on: August 5th, 2021 - From the official page.
This was released on 2021-03-03 (according to https://lets-go.alexedwards.net/).
Обновите книгу пожалуйста
Could you supply this book?
https://buildsaasappingo.com/