π 곡λΆνλ μ§μ§μνμΉ΄λ μ²μμ΄μ§?
[μ΄κ²μ΄ μ½λ© ν μ€νΈλ€ with Python]_41_κ°λ°ν μ½λ© ν μ€νΈ λ³Έλ¬Έ
[μ΄κ²μ΄ μ½λ© ν μ€νΈλ€ with Python]_41_κ°λ°ν μ½λ© ν μ€νΈ
μ§μ§μνμΉ΄ 2022. 2. 16. 00:54220216 μμ±
<λ³Έ λΈλ‘κ·Έλ γμ΄κ²μ΄ μ·¨μ μ μν μ½λ© ν μ€νΈλ€γ μ youtubeλ₯Ό μ°Έκ³ ν΄μ 곡λΆνλ©° μμ±νμμ΅λλ€>
https://www.youtube.com/watch?v=4u6tndiG7Iw&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=41
1. κ°λ°©ν μ½λ© ν μ€νΈ
: μ ν΄μ§ λͺ©μ μ λ°λΌμ λμνλ μμ±λ νλ‘κ·Έλ¨μ κ°λ°
: λͺ¨λμ μ μ ν μ‘°ν©νλ λ₯λ ₯ μꡬ
+) ν΄μ»€μ€ : λ¨κΈ°κ°μ μμ΄λμ΄λ₯Ό μ ννν¨
2. μλ² & ν΄λΌμ΄μΈνΈ
: ν΄λΌμ΄μΈνΈκ° μμ²(Request) μ 보λ΄λ©΄ μλ²κ° μλ΅(Response) νλ€
- ν΄λΌμ΄μΈνΈ
: μλ²λ‘ μμ²μ 보λ΄κ³ μλ΅μ΄ λμ°©ν λκΉμ§ κΈ°λ€λ¦°λ€
: μλ²λ‘λΆν° μλ΅ λ°μλ€, μλ²μ μλ΅μ νλ©΄μ μΆλ ₯
- μλ²
: ν΄λΌμ΄μΈνΈλ‘λΆν° λ°μ μμ²μ μ²λ¦¬ν΄ μλ΅μ μ μ‘
3. HTTP (HyperText Ttransfer Protocol)
: μΉμμμ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°κΈ° μν νλ‘ν μ½
: μΉ λ¬Έμ μ£Όκ³ λ°λλ€
: λͺ¨λ°μΌ μ±, κ²μ κ°λ° λ±μμ νΉμ νμμ λ°μ΄ν° μ£Όκ³ λ°λλ€
: ν΄λΌμ΄μΈνΈλ μμ²μ λͺ©μ μ λ°λΌμ μ μ ν HTTP λ©μλ μ΄μ©ν΄ ν΅μ μ§ν
+) μΉ μμ² GET
- python
import requests
target = "http://google.com"
response = requests.get(url = target)
print(response.text)
4. REST (Representational State Transfer)
: HTTPλ GET, POST, PUT, DELETE λ± λ€μν HTTP μ§μ
: μ€μ λ‘ μλ²κ° κ° λ©μλμ κΈ°λ³Έ μ€λͺ λ°λ₯΄μ§ μμλ λ‘κ·Έλ¨ κ°λ°!
: REST λ κ° μμμ λνμ¬ μμ(resource) μ μνμ λν μ λ³Όλ₯΄ μ£Όκ³ λ°λ κ°λ°λ°©μ
- μμ(Resource) : URI μ΄μ©
- νμ(Verb) : HTTP λ©μλ μ΄μ©
- νν(Representatins) : νμ΄λ‘λ μ΄μ©
5. REST API
: REST μν€ν μ²λ₯Ό λ°λ₯΄λ API
: REST API νΈμΆμ REST λ°©μμ λ°λ₯΄κ³ μλ μλ²μ νΉμ ν μμ²μ μ μ‘νλ κ²
- API(Application Programming interface) : νλ‘κ·Έλ¨μ΄ μνΈμμ©νκΈ° μν μΈν°νμ΄μ€
6. JSON (JavaScript Object Notation)
: λ°μ΄ν°λ₯Ό μ£Όκ³ λ°λλ° μ¬μ©νλ κ²½λμ λ°μ΄ν° νμ
: ν€μ κ°μ μμΌλ‘ μ΄λ£¨μ΄μ§ λ°μ΄ν° κ°μ²΄ μ μ₯
- python (JSON κ°μ²΄ μ¬μ© μμ )
import json
# μ¬μ μλ£ν dict λ°μ΄ν° μ μΈ
user = {
"id" : "gani",
"password" : "2341#$!",
"age" : 23,
"hobby" : ["movie","coding"]
}
# νμ΄μ¬ λ³μλ₯Ό JSON κ°μ²΄λ‘ λ³ν
json_data = json.dumps(user, indent =4 )
print(json_data)
- python (JSON κ°μ²΄ νμΌ μ μ₯ μμ )
import json
# μ¬μ μλ£ν dict λ°μ΄ν° μ μΈ
user = {
"id" : "gani",
"password" : "2341#$!",
"age" : 23,
"hobby" : ["movie","coding"]
}
# JSON λ°μ΄ν°λ‘ λ³ννμ¬ νμΌλ‘ μ μ₯
with open("user.json", "w", encoding = "utf-8") as file :
json_data = json.dumps(user, file, indent = 4)
7. REST API
: λͺ©νΉ(Mocking)μ μ΄λ ν κΈ°λ₯μ΄ μλ κ²μ²λΌ νλ΄λ΄μ΄ ꡬνν κ²
- python (REST API νΈμΆνμ¬ νμ μ 보 μ²λ¦¬)
import requests
# REST API κ²½λ‘μ μ μνμ¬ μλ΅ λ°μ΄ν° λ°μμ€κΈ°
target = "https://jsonplaceholder.typicode.com/users"
response = requests.get(url = target)
# μλ΅ λ°μ΄ν°κ° JSON νμμ΄λ―λ‘ λ°λ‘ νμ΄μ¬ κ°μ²΄λ‘ λ³ν
data = response.json()
# λͺ¨λ μ¬μ©μ μ 보 νμΈνλ©° μ΄λ¦ μ λ³΄λ§ μ½μ
name_list = []
for user in data :
name_list.append(user["name"])
print(name_list)