Книги и журналы » Компьютерная литература » Веб-дизайн и программирование
Modern Web Development with Go / Современная веб-разработка с GoГод издания: 2023
Автор: Dusan Stojanovic
Издательство: Orange Education Pvt Ltd, AVA™
ISBN: 978-93-95968-36-2
Язык: Английский
Формат: EPUB
Качество: Издательский макет или текст (eBook)
Интерактивное оглавление: Да
Количество страниц: 444 (в бумажном варианте)
Описание: In this book, we are going to learn how to design, develop and deploy Web Server Applications using the Go programming language. In recent years, Go has become the industrial standard for these kinds of applications; so by learning this, a lot of good opportunities can be opened in the market. All subjects will be covered through various practical examples. After reading this book, the readers can independently develop Web Server Applications or include themselves in already-started projects.
В этой книге мы узнаем, как проектировать, разрабатывать и развертывать приложения веб-сервера с использованием языка программирования Go. В последние годы Go стал промышленным стандартом для таких приложений, поэтому, изучив его, можно открыть много возможностей на рынке. Все темы будут рассмотрены на различных практических примерах. Прочитав эту книгу, читатели смогут самостоятельно разрабатывать приложения веб-сервера или включаться в уже начатые проекты.
[spoiler="Примеры страниц"]

[/spoiler]
[spoiler="Оглавление"]
1. BASIC CONCEPTS OF GO PROGRAMMING LANGUAGE
Introduction
Structure
Fundamentals of Go programming language
Advantages of Go programming language
Go Playground
Keywords
Packages
Basic data types
Variables
Type conversion
Constants
Complex data types
Pointers
Struct
Arrays
Maps
Control structures
If statement
Switch statement
For loop
Defer
Functions
Conclusion
References
Points to remember
Multiple choice questions
Answers
Questions
Key terms
2. ADVANCED CONCEPTS OF GO PROGRAMMING LANGUAGE
Introduction
Structure
Methods
Interfaces
Generics
Panics
Concurrency
Goroutines
Channels
Mutex
WaitGroup
Go Scheduler
Garbage collector
Go modules
Conclusion
Points to remember
Multiple choice questions
Answers
Questions
Key terms
3. WEB SERVERS
Introduction
Structure
Servers
Web servers
Proxies
REST
HTTP
HTTP flow
HTTP messages
HTTP methods
HTTP status codes
Additional functionalities
HTTP and REST
JSON
JSON and Go
Routing
Conclusion
Points to remember
Multiple choice questions
Answers
Questions
Key terms
4. SETTING UP A PROJECT WITH GO PROGRAMMING LANGUAGE
Introduction
Structure
Go installation
Linux
Windows
Mac
Setting up an IDE
IDE installation
Visual Studio Code extension for Go
Project creation
Package creation
Standard library
Third-party libraries
net/http package
Constants
Variables
Functions
Types
Simple HTTP server
Conclusion
References
Points to Remember
Multiple choice questions
Answers
Questions
Key terms
5. DESIGN OF WEB APPLICATION
Introduction
Structure
Software development life cycle (SDLC)
General approaches for application design
Micro-kernel (plug-in) design pattern
Command and Query Responsibility Segregation (CQRS) design pattern
Combine (hybrid) design pattern
Layered design pattern
Controller (handler) layer: handling HTTP requests
Service (core) layer: business logic
Repository (data) layer: queries and database operations
Database layer
Planning phase
Defining business requirements
Defining use cases
Design phase
High-level system design
API design
Database design
Conclusion
Points to remember
Multiple choice questions
Answers
Questions
Key terms
6. APPLICATION LAYERS
Introduction
Structure
Code organization
Models
Main function
Configuration
HTTP server
Initialization
Start
Development of controller layer
Runners controller
Results controller
Development of service layer
Runners service
Results service
Conclusion
References
Points to remember
Multiple choice questions
Answers
Questions
Key terms
7. RELATIONAL DATABASES AND REPOSITORY LAYER
Introduction
Structure
Relational databases
SQL
SELECT command
Modification commands
Aggregate functions
JOIN
Table definition commands
PostgreSQL
Setting up a database
Repository layer
Database layer
MySQL
Setting up a database
Repository layer
Database layer
Improvements
Conclusion
References
Points to remember
Multiple choice questions
Answers
Questions
Key terms
8. NOSQL DATABASES AND REPOSITORY LAYER
Introduction
Structure
NoSQL databases
MongoDB
Database design
Read operations
Write operations
Aggregation pipeline
Setting up a database
Repository layer
Database layer
DynamoDB
Database design
Read operations
Write operations
Setting up a database
Repository layer
Database layer
Improvements
Conclusion
References
Points to remember
Multiple choice questions
Answers
Questions
Key terms
9. TESTING
Introduction
Structure
Testing fundamentals
Manual testing
Testing with Go
Unit tests
Integration tests
Testing with Visual Studio Code
Conclusion
References
Points to remember
Multiple choice questions
Answers
Questions
Key terms
10. SECURITY
Introduction
Structure
Authentication and authorization
API design
Database design
Models
HTTP server
Controller layer
Users controller
Other controllers
Service layer
Setting up a database
Repository layer
Testing
Conclusion
Points to remember
Multiple choice questions
Answers
Questions
Key terms
11. DEPLOYING WEB APPLICATION
Introduction
Structure
Docker
Setting up Docker
Docker commands
Dockerizing application
Docker compose
Kubernetes
Setting up a local Kubernetes cluster
Kubectl commands
Deploying on Kubernetes
Google Cloud Platform
Setting up a database
Deployment of a web server application
Conclusion
References
Points to remember
Multiple choice questions
Answers
Questions
Key terms
12. MONITORING AND ALERTING
Introduction
Structure
Prometheus
Prometheus query language
Setting up Prometheus
Custom Prometheus metrics
Grafana
Setting up Grafana
Creating Grafana dashboard
Alerting
Conclusion
References
Points to remember
Multiple choice questions
Answers
Questions
Key terms
[/spoiler]