
κ°μ 21.06.01 ~ 21.06.24 4μ£Όκ° μ¨λΌμΈμΌλ‘ μ§νλ μ°μν ν ν¬λ¬λ 4κΈ°μ λν νκ³ κΈμ λλ€. μ°μνν ν¬λ¬λ 4κΈ° μ°μνν ν¬λ¬λ 4κΈ°λ κΉλ―Όν μ΄μ¬λκ»μ 리λν΄μ£Όμκ³ 6μ 1μΌ ~ 6μ 24μΌκΉμ§ λ§€μ£Ό ν, λͺ© 2λ²μ© μ΄ 8ν μ¨λΌμΈμΌλ‘ μ§νν κ΅μ‘ νλ‘κ·Έλ¨μ λλ€. μ§μ λκΈ°μ μ λ° κ³Όμ μ λ νκ΅μμλΆν° λ°±μλ κ°λ°μ μ£Όλ‘ ν΄μ€λ€κ° μ΅κ·Όμ νλ‘ νΈμͺ½μ κ΄μ¬μ΄ μ겨μ κ°μΈμ μΌλ‘ 곡λΆνκ³ μμλλ°μ! μ°μ°ν GitHubμ Dev-Event 리ν¬λ₯Ό ν΅ν΄μ μ°μνν ν¬λ¬λμ λν΄μ μκ² λμμ΅λλ€. λΉμμ μν΅ν κ΅μ‘μ μ°Έμ¬ν΄μ λ§μ μ΄μΌκΈ°λ₯Ό 곡μ νκ³ μΆμκ³ , μΈμ κ° μλμ΄ κ°λ°μκ° λλ κ²μ μ€λΉνκΈ° μν΄μ μλμ΄ κ°λ°μμ μμ λ κΆκΈνμ΄μ κ·Έλ¦¬κ³ μ°μννμ λ€μ κ΄μ¬μ΄ μκΈ°λ ν΄μ μ§μνκ² λμ..

κ°μ μ°μνν ν¬λ¬λ λμ€ dispatchλΌλ λ¨μ΄λ₯Ό μκ² λμκ³ , μ΄ λ¨μ΄μ μ΄μμ μ°Ύμκ°λ μ€ νλ‘μΈμ€μ λν΄μ μ΄μΌκΈ°κ° λμ€κ³ 머리 μμ μ μ 리λμ§ μμ λΆλΆμΈ κ² κ°μ 곡λΆνκ³ μ 리ν κΈμ΄λ€. νλ‘μΈμ€ νλ‘μΈμ€(process)λ μ»΄ν¨ν°μμ μ°μμ μΌλ‘ μ€νλκ³ μλ μ»΄ν¨ν° νλ‘κ·Έλ¨μ λ§νλ€. μ’ μ’ μ€μΌμ₯΄λ§μ λμμ΄ λλ μμ (task)λΌλ μ©μ΄μ κ±°μ κ°μ μλ―Έλ‘ μ°μΈλ€. μ¬λ¬ κ°μ νλ‘μΈμλ₯Ό μ¬μ©νλ κ²μ λ©ν°νλ‘μΈμ±μ΄λΌκ³ νλ©° κ°μ μκ°μ μ¬λ¬ κ°μ νλ‘κ·Έλ¨μ λμ°λ μλΆν λ°©μμ λ©ν°νμ€νΉμ΄λΌκ³ νλ€. νλ‘μΈμ€ κ΄λ¦¬λ μ΄μ 체μ μ μ€μν λΆλΆμ΄λ€. νλ‘κ·Έλ¨κ³Ό νλ‘μΈμ€ νλ‘κ·Έλ¨ μΌλ°μ μΌλ‘ νλλμ€ν¬ λ±μ μ μ₯λμ΄ μλ μ€ν μ½λ νλ‘μΈμ€ νλ‘κ·Έλ¨μ ꡬλνμ¬ νλ‘κ·Έλ¨ μ체μ νλ‘κ·Έλ¨μ μνκ° λ©λͺ¨..

JSON WEB TOKEN JWTλ? ν ν° μ체μ μ 보λ₯Ό λ΄κ³ μμ 무κ²μ§ μκ³ κ°νΈνκ³ μ½κ² μ μ© κ°λ₯ Base64 URL Safe Encodingμ μ΄μ©ν΄μ URL, Cooke, Header λ±μ μ¬μ© κ°λ₯ μ€μμ μΈμ¦ μλ², λ°μ΄ν° μ€ν μ΄μ λν μμ‘΄μ±μ΄ μμ΄μ μμ€ν μν νμ₯μ μ λ¦¬ν¨ → κΈ°μ‘΄μ μΈμ¦ μ 보λ₯Ό μΈμ μ μ μ₯νλ λ°©μμ ν΄λΉ μλ²μμλ§ ν΄λΉ μΈμ¦ μ 보λ₯Ό μ¬μ©ν μ μμ΄μ λ°λ‘ μΈμ μλ²λ₯Ό λ¬μΌνμ§λ§, ν ν°μ ν΄λΌμ΄μΈνΈμ μ μ₯λκΈ° λλ¬Έμ μΈμ μλ²κ° νμ μμ΄μ§. JWTλ λ€μκ³Ό κ°μ 3κ°μ λΆλΆμΌλ‘ ꡬμ±λμ΄ μμ aaaaaa.bbbbbb.cccccc // μμμλΆν° .μ κΈ°μ€μΌλ‘ λ€μκ³Ό κ°μ // ν€λ(header).λ΄μ©(payload).μλͺ (signature) ν€λ(Header) S..

κΉμνλμ μ€νλ§ ν΅μ¬ μ리 κΈ°λ³ΈνΈ κ°μλ₯Ό λ³΄κ³ μ 리ν λ΄μ©μ λλ€. SOLID ν΄λ¦°μ½λλ‘ μ λͺ ν λ‘λ²νΈ λ§ν΄μ΄ μ’μ κ°μ²΄ μ§ν₯ μ€κ³μ 5κ°μ§ μμΉμ λ€μκ³Ό κ°μ΄ μ 리ν¨. SRP: λ¨μΌ μ± μ μμΉ(single responsibility principle) OCP: κ°λ°©-νμ μμΉ (Open/closed principle) LSP: 리μ€μ½ν μΉν μμΉ (Liskov substitution principle) ISP: μΈν°νμ΄μ€ λΆλ¦¬ μμΉ (Interface segregation principle) DIP: μμ‘΄κ΄κ³ μμ μμΉ (Dependency inversion principle) SRP λ¨μΌ μ± μ μμΉ Single responsibility principle ν ν΄λμ€λ νλμ μ± μλ§μ κ°μ ΈμΌ νλ€. -..

κΉμνλμ λͺ¨λ κ°λ°μλ₯Ό μν HTTP μΉ κΈ°λ³Έ μ§μ κ°μλ₯Ό μκ°νλ©° μ 리ν κΈμ λλ€. GET 리μμ€ μ‘°ν μλ²μ μ λ¬νκ³ μΆμ λ°μ΄ν°λ query(쿼리 νλ§λ¦¬ν°, 쿼리 μ€νΈλ§)μ ν΅ν΄μ μ λ¬ λ©μμ§ λ°λλ₯Ό μ¬μ©ν΄μ λ°μ΄ν°λ₯Ό μ λ¬ν μ μμ§λ§, μ§μνμ§ μλ κ³³μ΄ λ§μμ κΆμ₯νμ§ μμ GET /boards?title=hello HTTP/1.1 Host: localhost:8080 POST μμ² λ°μ΄ν° μ²λ¦¬ λ©μμ§ λ°λλ₯Ό ν΅ν΄ μλ²λ‘ μμ² λ°μ΄ν° μ λ¬ μλ²λ μμ² λ°μ΄ν°λ₯Ό μ²λ¦¬ λ©μμ§ λ°λλ₯Ό ν΅ν΄ λ€μ΄μ¨ λ°μ΄ν°λ₯Ό μ²λ¦¬νλ λͺ¨λ κΈ°λ₯μ μν μ£Όλ‘ μ κ· λ¦¬μμ€ λ±λ‘, νλ‘μΈμ€ μ²λ¦¬ λ±μ μ¬μ© μ€ν μμ POST POST λ©μλλ λμ 리μμ€κ° 리μμ€μ κ³ μ ν μλ―Έ 체κ³μ λ°λΌ μμ²μ ν¬ν¨λ ννμ μ²λ¦¬νλλ‘ ..

κΉμνλμ λͺ¨λ κ°λ°μλ₯Ό μν HTTP μΉ κΈ°λ³Έ μ§μ κ°μλ₯Ό μκ°νλ©° μ 리ν κΈμ λλ€. μν μ½λ : ν΄λΌμ΄μΈνΈκ° λ³΄λΈ μμ²μ μ²λ¦¬ μνλ₯Ό μλ΅μμ μλ €μ£Όλ κΈ°λ₯ μνμ½λλ₯Ό λ§μ΄ μ¬μ©νλ κ²μ μν©μ λ°λΌ μ ν©νμ§ μμ μ μλ€. μνμ½λλ ν΄λΌμ΄μΈνΈμ μλ²μμ μ½μμ΄κ³ , λ³΄ν΅ λ§μ΄ μ¬μ©νλ μνμ½λλ₯Ό μ¬μ©νλ©°, κ°λ°νλ νμ λ°λΌμ μν μ½λλ₯Ό μ ννλ λ± μ΄ μ½μμ μ ν©νκ² μ¬μ©νλ κ²λ μ€μνλ€. μ’ λ₯ 1xx (Informational): μμ²μ΄ μμ λμ΄ μ²λ¦¬μ€ *κ±°μ μ¬μ©λμ§ μμ 2xx (Successful) : μμ² μ μ μ²λ¦¬ 3xx (Redirection) : μμ²μ μλ£νλ €λ©΄ μΆκ° νλμ΄ νμ 4xx (Client Error) : ν΄λΌμ΄μΈνΈ μ€λ₯, μλͺ»λ λ¬Έλ² λ±μΌλ‘ μλ²κ° μμ²μ μνν ..

#2 μμλ μ μ©ν ν€μλλ€μ μ 리νλ©΄μ λ¬Έμ λ λͺ κ° μ 리ν μκ°μ λλ€. - μ§κ³ν¨μ(SUM, MAX, MIN, COUNT, AVG) μ§κ³ν¨μλ μ΅λκ° νΉμ μ΅μκ° κ΅¬νκΈ°, κ°μ μΈκΈ° κ·Έλ¦¬κ³ νκ· κ΅¬νκΈ° λ±μ μ΄μ©λ μ μμ΅λλ€. β#1μμ μ 리ν GROUP BYλ μ§κ³ν¨μμ μ¬μ©νλ©΄ μ μ©νλ κΌ μμλ‘μλ€. μ΄μ κ΄λ ¨λ μμ λ λ€μ GROUP BY λ¬Έμ μ ν¨κ» μμλ΄ λλ€. - μ€λ³΅ μ κ±° νκΈ°(DISTINCT) DISINCT ν€μλλ₯Ό μ¬μ©ν΄μ μ€λ³΅μ μ κ±°ν μ μμ΅λλ€. βμΆκ°λ‘ μ§κ³ν¨μμ μ‘°ν©νμ¬ COUNT(DISTINCT NAME) μ΄λ° λ°©μλ κ°λ₯ν©λλ€. NAMEμ μ€λ³΅κ°μ 미리 μ κ±°νκ³ COUNTνλ κ²μ΄μ£ . -- NAME SELECT μ€λ³΅ μ κ±° SELECT DISTINCT NAME FROM M..

#1μμλ ν΅μ¬μ μΈ ν€μλλ₯Ό μ 리νκ³ #2μμλ νλ‘κ·Έλλ¨Έμ€ SQL κ³ λμ kit Level 3~4 λ¬Έμ λͺκ°λ₯Ό λ€λ£¨λ©΄μ μμ£Ό μ¬μ©νλ ν¨μλ€μ μ 리ν΄λ³΄λ €κ³ νλ€. κ°λ¨νκ² ν€μλλ€μ μ 리νκ³ λ§μ§λ§μ μ΄λ€μ μ ν©νκ² μ¬μ©νλ λ²μ μ 리ν κ²μ΄λ€. ORDER BY SELECT * FROM ν μ΄λΈλͺ ORDER BY 컬λΌλͺ (ASC) νΉμ 컬λΌμ κΈ°μ€μΌλ‘ μ λ ¬. κΈ°λ³Έκ°μ μ€λ¦μ°¨μ(ASC) μ λ ¬ SELECT * FROM ν μ΄λΈλͺ ORDER BY μΉΌλΌ1, μΉΌλΌ2 DESC μ λ°©μμ²λΌ μ¬λ¬ μΉΌλΌμ μ μ©ν μλ μλ€. GROUP BY, HAVING SELECT id, COUNT(*) FROM member GROUP BY id HAVING id > 3 νΉμ μΉΌλΌμ κΈ°μ€μΌλ‘ κ·Έλ£Ήννλ€. μ£Όλ‘ μ§κ³ν¨μ(COUNT(), ..
- Total
- Today
- Yesterday
- κΉμ΄/λλΉ μ°μ νμ(DFS/BFS)
- golang oomkilled
- mysql mdl
- mysql μ€ν κ³ν
- ν΄μ
- 2023 νκ³
- AWS re:Invent 2023
- νλ‘κ·Έλλ¨Έμ€
- μ’μ κ°λ°μ
- μκ³ λ¦¬μ¦
- μ€ν/ν
- μ’μ κ°λ°μ λκΈ°
- νΈλμμ 격리 μμ€
- Aws Reinvent 2023
- 2024νκ³
- 2023 κ°λ°μ νκ³
- μ’μ μμ§λμ΄
- μΆμ μ§λ
- μ½λ©ν μ€νΈ
- ν(Heap)
- Golang
- mysql
- μ₯μ νκ³
- grpc client
- kotlin s3 upload
- Go
- mysql metadata lock
- HTTP
- mysql metadata_locks
- λ°±μ€
μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |