GO语言
-
Go Engineer System Course 004 [Study Notes]
Requirements Analysis Backend Management System Product Management Product List Product Categories Brand Management Brand Categories Order Management Order List User Information Management User List User Addresses User Messages Carousel Management E-commerce System Login Page Homepage Product Search Product Category Navigation Carousel Display Recommended Products Display Product Details Page Product Image Display Product Description Product Specification Selection Add to Cart Shopping Cart Product List Quantity Adjustment Delete Product Checkout Function User Center Order Center My...
-
Go Engineer System Course 005 [Learning Notes]
For microservice development, create a microservice project where all project microservices will reside. Create `joyshop_srv`. We need to create user login and registration services, so we will create another directory `user_srv` under the project directory, along with `user_srv/global` (for global object creation and initialization), `user_srv/handler` (for business logic code), `user_srv/model` (for user-related models), `user_srv/pro...`
-
Go Engineer System Course 006 [Study Notes]
Project Structure Description: The user-web module is the user service Web layer module within the joyshop_api project, responsible for handling user-related HTTP requests, parameter validation, business routing, and calling backend interfaces. Below is the directory structure description: user-web/ ├── api/ # Controller layer, defines business interface processing logic ├── config/ # Configuration module, contains system configuration structs and reading logic ...
-
Go Engineer System Course 007 [Study Notes]
Goods Microservice Entity Structure Description This module contains the following core entities: Goods (Goods) Goods Category (Category) Brand (Brands) Carousel (Banner) Goods Category Brand (GoodsCategoryBrand) 1. Goods (Goods) Describes the product information actually displayed and sold on the platform. Field Description Field Name Type Description name String Product name, required brand Pointer …
-
Go Engineer Systematic Course 008 [Study Notes]
Orders and Shopping Cart
First, copy the service code framework of 'srv' from the inventory service, then find and replace the corresponding name (order_srv).Fundamentals of Encryption Technology
Symmetric Encryption
Principle:
Uses the same key for encryption and decryption.
Like a single key that can both lock and unlock a door.
Fast encryption speed, suitable for large data transfers.
Use cases:
Local file encryption
Database content encryption
Content encryption during large data transfers
Fast communication between internal systems... -
Go Engineer System Course 010 [Study Notes]
Install Elasticsearch (understand as a database) and Kibana (understand as a connection tool). The versions of ES and Kibana (port 5601) must be consistent.
Learning Elasticsearch (ES) by comparison with MySQL: Terminology Mapping
MySQL | Elasticsearch
database | index (索引)
table | type (fixed as _doc from 7.x, multiple types completely removed in 8.x...) -
Go Engineer Structured Course 011 [Learning Notes]
Inverted Index for Queries
1. What is an Inverted Index?
An Inverted Index is a data structure used to quickly find documents containing specific terms. It is one of the core technologies of search engines.
1.1 Basic Concepts
Forward Index: Document ID → Document Content (list of terms)
Inverted Index: Term → List of Document IDs containing the term
1.2 Why is it called "Inverted"?
An inverted index reverses the traditional relationship of "which terms a document contains" to "in which documents a term appears... -
Go Engineer System Course 012 [Study Notes]
Integrate Elasticsearch in Go 1. Client Library Selection 1.1 Mainstream Go ES Clients olivere/elastic: Most comprehensive features, elegant API design, supports ES 7.x/8.x elastic/go-elasticsearch: Official client, lightweight, closer to native REST API go-elasticsearch/elasticsearch: Community-maintained offi…
-
Go Engineer System Course 013 [Study Notes]
Order transactions, whether deducting inventory first or later, will both affect inventory and orders. Therefore, distributed transactions must be used to address business issues (e.g., unpaid orders). One approach is to deduct inventory only after successful payment (e.g., an order was placed, but there was no inventory at the time of payment). Another common method is to deduct inventory when the order is placed, but if payment isn't made, the order is returned/released upon timeout.
Transactions and Distributed Transactions
1. What is a transaction?
A transaction is an important concept in database management systems. It is a collection of database operations, which either all execute successfully, or all... -
Go Engineering Systematic Course 014 [Study Notes]
RocketMQ Quick Start. Go to our various configurations (podman) to see how it's installed. Introduction to Concepts: RocketMQ is a distributed messaging middleware open-sourced by Alibaba and an Apache top-level project. Core components: NameServer: Service discovery and routing; Broker: Message storage, delivery, and fetching; Producer: Message producer (sends messages); Consumer: Message consumer (subscribes to and consumes messages); Topic/Tag: Topic/...