?? Golang ?????? ?? ??: SQL ?? ??
???? ?? ????? ?? ?? ??? ???? ?????. ? ????? ??????? ?? ??? ? ?? ???? ??? SQL ?? ??????? Golang ??????? ???? ? ??? ???. ?? SQL ? ORM(?? ??? ??) ?????? ?? ???? ?? ??? ???????.
SQL ??? ??
SQL ??(SQLi)? ??? ? ?? ?????. ???? ?????? ??? ?? SQL ??? ???? ?? ???? ????? ??? ???? ?????? ??? ??????.
??? ?? ?:
query := "SELECT * FROM users WHERE username='" + username + "' AND password='" + password + "'" rows, err := db.Query(query)
username
?? password
? ???? ??? ??? ?? ??? ??? ? ????.
SQL ???? ?? ? ?? ??? ?? ???? ?????.
?? SQL ?? ??
SQL? ?? ??? ?? ?? ?? ??? ??????.
1. ??? ???: Go? database/sql
???? SQLi? ?? ??? ?? ??? ??? ???? ?????.
??? ?:
query := "SELECT * FROM users WHERE username='" + username + "' AND password='" + password + "'" rows, err := db.Query(query) // Vulnerable to SQL injection
?? ??(??? ??):
query := "SELECT * FROM users WHERE username = ? AND password = ?" rows, err := db.Query(query, username, password) if err != nil { log.Fatal(err) }
??? ???? ??? ??? ???? ??????? ??? ?????.
2. ?????? ??: ?????? ???? ?? ???? ?? db.Query
?? db.Exec
? ?????.
query := "INSERT INTO products (name, price) VALUES (?, ?)" _, err := db.Exec(query, productName, productPrice) if err != nil { log.Fatal(err) }
?? ??? ?? ??? ???? fmt.Sprintf
? ????.
3. QueryRow
?? ???? ??: ?? ? ??? ?? QueryRow
??? ??????.
query := "SELECT id, name FROM users WHERE email = ?" var id int var name string err := db.QueryRow(query, email).Scan(&id, &name) if err != nil { log.Fatal(err) }
4. ?? ?? ? ??: ??? ?? ??? ?? ?? ? ??:
- ??: ??? ?? ??? ?????.
- ??: ?? ??, ?? ? ??? ?????.
Go ?? ?? ?:
func isValidUsername(username string) bool { re := regexp.MustCompile(`^[a-zA-Z0-9_]+$`) return re.MatchString(username) } if len(username) > 50 || !isValidUsername(username) { log.Fatal("Invalid input") }
5. ?? ????: ?????? ?? ???? ?? ?? ?? ???:
CREATE PROCEDURE AuthenticateUser(IN username VARCHAR(50), IN password VARCHAR(50)) BEGIN SELECT * FROM users WHERE username = username AND password = password; END;
Go?? ??:
_, err := db.Exec("CALL AuthenticateUser(?, ?)", username, password) if err != nil { log.Fatal(err) }
ORM? ?? SQL ?? ??
GORM ? XORM? ?? ORM? ?????? ?? ??? ?????? ??? ??? ??? ???????.
1. ??:
??? ?(?? ??):
db.Raw("SELECT * FROM users WHERE name = '" + userName + "'").Scan(&user)
?? ?(?????? ??):
db.Raw("SELECT * FROM users WHERE name = ? AND email = ?", userName, email).Scan(&user)
GORM? Raw
???? ?? ???? ?????. Where
:
query := "SELECT * FROM users WHERE username='" + username + "' AND password='" + password + "'" rows, err := db.Query(query)
2. ??? ???? ?? SQL? ????. ??? ?? ???? ?? ???? ?????.
3. ??? ??? ?? ??? ??: ??? ORM ??? ?? ??? ?? ??:
query := "SELECT * FROM users WHERE username='" + username + "' AND password='" + password + "'" rows, err := db.Query(query) // Vulnerable to SQL injection
??? ? ???? ??:
- ???? ??? ??? ????.
- ?? ??? ???? ORM ??? ????.
- ?? ??? ??? ??? ?? ???? ???.
??
Golang? ??? ?????? ????? ?? ??? ??? ?????. ??? ???, ?????? ??, ORM? ???? ???? ??? ??? ???? ?? ? ???? SQL ?? ???? ??? ?? ?? ? ????.
?? ?????:
- ????
- ???
- ???/X
? ??? Golang?? ?? SQL ? ORM? ??? SQL ?? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

Golang? ?? ??? ??? ????? ??? ?? ???? ??? ? ??? ? ?? ????. ?? ??? ???, ?? ?? ? ??? ?? ?????? ????? API ??, ???? ???, ?? ???, ?????? ?? ? CLI ??? ?? ??? ?? ????? ???? ? ?????. Golang? ? ??? ??? ?? ??? ???? Gopherjs? ?? JavaScript? ?????? Tinygo? ?? WebAssembly?? ????? ??? ?? ??? ???? ?? ??? ???? HTML ???? ?? ? ? ????. ??? ???? ??? ?? ??? ??? ??JavaScript/TypeScript ? ???? ???????. ??? Golang? ??? ???? ???? ?? ?? ??? ? ?????.

GO?? GraphQlapi? ????? GQLGEN ?????? ???? ?? ???? ????? ?? ????. 1. ?? ???? ???? ?? ?? ??? ???? GQLGEN? ?? ??? ?????? ??????. 2. ?? ?? GraphQLSchema? ???? POST ?? ? ?? ??? ??? ?? API ?? ? ?? ??? ??????. 3. ?? ?? ????? ????? ?? ??? ???? Resolver?? ???? ??? ?????. 4. ????? ??? Qlhandler? httpserver? ???? ?? ???? ?? API? ???????. ?? ?? ?? ??, ?? ??, ?? ??? ? ?? ??? ???? ???? ?? ??? ?????.

GO? ???? ?? ??? ??? ???? ?? ??? ???? ??? ???? ????. 1. ?? ???? ?? ???? ??????? ?? ? ???? ??????. Windows? .msi ??? ???? MacOS? .pkg ??? ???? Linux? .tar.gz ??? ???? /usr /local ????? ??? ????. 2. Linux/MacOS?? ?? ??, ?? ~/.bashrc ?? ~/.zshrc? ???? ??? Gopath? ???? Windows Set ??? ??? ???? ?????. 3. ?? ??? ???? ??? ???? ??? ???? Hello.Go? ???? ?? ? ??? ???? ??????. ???? ???? ?? ?? ? ??

sync.waitgroup? ?? ? ??? ??? ?? ? ??? ???? ? ?????. ??? ??? ? ?? ??? ?? ?? ??? ???? : ??, ?? ? ??. 1. Aadd (n) ?? ? ?? ? ?? ?????. 2. DONE ()? ? ? ??? ??? ???? ???? 1 ? ?? ???. 3. Wait ()? ?? ??? ?? ? ??? ?? ? ??? ?????. ?? ??? ?? ?? ?? : ADD? ?? ? ???? ????????. ?? ??? ??? DON? ????? ??????. ??? ?? ???? ?? ????. ? ???? ?? ???, ?? ??? ?? ? ?? ?????? ????? ??? ????? ????? ?? ? ? ????.

Go? Embed ???? ???? ? ???? ??? HTML, CSS, ?? ? ?? ??? ???? ? ??? ?? ???? ????? ?? ???? ? ????. 1. ?? ? ???? ????? ??????. 2. ??/*? ?? ?? ????? ??? ? ??? embed.fs? ?? ?? ?? ??? ??? ? ????. 3. ?? ?? ?? ?? ??? ?? ??? ?? ??? ???? ???? ????? ?? ????. 4. ???? ???? ?? ???, ?? ?? ?? ? ?? ?? ?????????. Embed? ???? ??? ??? ????? ???? ??? ??? ? ? ????.

??? ? ??? ??? ??? ?? ???? ? ??? ??? ???? ? ????. 1. ?? ?????? ??, ???, ??, ??? ? ??? ???? ? ???? ??? ? ???? ????. 2. ??? ? ??? ??, ?? ??, ??? ???, ??? ?? ?? ?? ???? ??? ?? ??, ?? ???, ??? ?? ??, ?? ?? ?? ?? ?? ??? ? ????. 3. FFMPEG, OPENCV, WEBRTC, GSTREAMER ? ?? ??? ???? ??? ???? ?? ????. 4. ?? ?? ???? ???? ??, ???? ??? ??? ?? ??, ?? ??? ? ??? ?? ?????? ???????. ??? ?? ???? ????? ?? ???? ??? ??? ????? ? ??????.

?? ?? ??? ? ??? ???? ?? ??? ????. ??? Net/HTTP ???? ???? ?? ???? ???? ? ????. 1. net/http? ???? ?? ??? ??? ??????. ?? ?? ??? ???? ? ?? ??? ?? ??? ????. 2. ??? ?? : Servemux? ???? ?? ??? ? ??? ?? ?? ????? ??? ?????. 3. ???? ?? : ?? ?? ? ?? ??? ? ?? ?????? ???? ??? ??? ?????. 4. ?? ?? ??? : http.fileserver? ?? HTML, CSS ? JS ??? ?????. 5. ?? ? ?? : HTTPS ???, ?? ??? ??? ???? ?? ? ??? ????? ?? ?? ??? ?????. ??? ?? ???? ????? ??? ???? ?? ? ?? ????.

Select Plus Default? ??? ?? ??? ???? ??? ?? ????? ??? ? Select? ?? ??? ????? ???? ????. 1. ???? ?? ???? ???? ?? ? ? ??? ?? ??? ?? ??? ?? ?????. 2. ??? ??. ?? ?? ?? ????? ???? ?????. ??? ?? ?? ???? ?? ?? ????. 3. ?? ??? ????, ??? ?? ??? ???? ?? ?? ????? ???? ???????. ?? ??? ?? ?? ??? ?? ???? ?? ? ? ??? ?? ? ??? ?? ????? ??? ???? ????.
