2023. 8. 13. 16:18γ0. TiL ( Today I Learned )
μ΄λ² μ£Όμ°¨μ 3μΌμ 'μΉ λ―Έλ νλ‘μ νΈ'λ₯Ό μ§ννλ€.
κΈ°λ³Έμ μΈ 'μΉκ°λ° μ§μ + νμΌλ‘ νλ' λμ΄ μλΉμ€λ₯Ό μμ±νλ κ²½νμ κ°μ§λ κ²μ λͺ©νλ‘ νλ€.
μΉ λ―Έλ νλ‘μ νΈ DAY1
SQLμ€ν°λ(νμνΈλ) νκ³Ό λμΌνκ² μ μ§λμ΄ μ΄ 5λͺ
μ νμμΌλ‘ ꡬμ±λμ΄ μ§νλμλ€.
λλ νμνΈλ μ΄ν νμλ€μκ² μν΄λ₯Ό ꡬνκ³ 3μΌκ°μ ν΄κ°λ₯Ό κ°μ‘λ€..(μΌμ μ΄ λ―Έλ¦¬ ν½μ€λμ΄ μμ΄μ μ΄μ© μκ° μμλ€..γ
)
κ·Έλμ νλ‘μ νΈλΌλ νΌν΄κ° λμ§μλλ‘ μ΄μ¬ν ν΄μΌκ² λ€λ μκ°μ νλ€. νμλ€μ μ΄μ κ³Ό μ€λ ₯μ΄ λ°μ΄λμ μΌλ¨ λλ λλ λ₯μΉλ λλ‘ μ΄μ¬ν νμ! μΆμλ€!
νλ‘μ νΈ λ΄μ©μλν λ°μ κ° λλ ν, νλ‘μ νΈλ₯Ό μ£Όμ μ λν΄ κ°μ κ³ λ―Ό ν νμλ₯Ό μ§ννλ€.
νμ μΌμμνμμ μκ°μ λ§μ΄ μ»λ νΈμ΄λΌ ν¬κ² κ³ λ―Όνμ§ μκ³ λΆνΈνλ λΆλΆμ μμ΄λμ΄λ‘ λ
Ήμ¬λ΄κ³ μΆμκ³ '곡μ€νμ₯μ€ μ°ΎκΈ°'λΌλ μ£Όμ λ₯Ό μ νν ν 'pocket toilet'μ΄λΌλ κ°μ λ₯Ό λ£μ΄ PPTλ₯Ό λ§λ€μλ€.
νμκ°μ
λ° λ‘κ·ΈμΈ νλ©΄μ ꡬννκ³ μ£Όμλ₯Ό κ²μν΄ κ·Όμ²μ μλ 곡곡νμ₯μ€μ μ‘°ννμ¬ μ½λ©νΈ λ° λ³μ μ λ£μ μ μλλ‘ νλ©΄μ ꡬννλ κ²μΌλ‘ μμ΄λμ΄λ₯Ό μκ°νμ¬ κ°λ΅νκ² PPTλ₯Ό λ§λ€μλ€.(μλμ΄λ―Έμ§ μ°Έμ‘°)
μΌμμμ μμ΄λμ΄λ₯Ό λΈ λΆλΆμμ νμλ€μκ² μ’μ νκ°λ₯Ό μ»μ΄ '곡μ€νμ₯μ€ μ°ΎκΈ°'λ‘ λ₯Ό νλ‘μ νΈλ₯Ό μ§ννκΈ°λ‘ νλ€.




νλ‘μ νΈλ₯Ό κ³ν λ° μΌμ κΈ°λ‘μ μν λ
Έμ
λ° S.Aλ₯Ό λ§λ€κΈ° μμνλ€. κ·Έλ¦¬κ³ μΌμλ³ μν λΆλ΄λ λλμλ€.
νλ‘μ νΈ κ΅¬νμ μν μ€μ§μ μΈ μμ΄μ΄ νλ μμ ꡬμνκ³ APIꡬνμ μ΄λ»κ² ν κ²μΈμ§μ νμμ΄ μ¬μ©ν githubλ₯Ό λ§λ€μλ€.
νλ‘μ νΈμ κΈ°λ³Έ μ€λΉκ³Όμ μ λ§μΉκ³ , λ¨Όμ νλ©΄μ μ μΌ μ²« μ μνμ΄μ§μΈ 'λ‘κ·ΈμΈ' κ·Έλ¦¬κ³ 'νμκ°μ
' νλ©΄μ ꡬννλ€.
μ΄λ―Έ ν λ΄ λ‘κ·ΈμΈ νλ©΄μ ꡬνν΄ λ³΄μ λΆλ€μ΄ μμ΄μ μ½κ² κ° μλ μμμ§λ§, λ°°μμ λͺ©μ μ κ°μ§κ³ ν΄λ³΄μ§ μμ νμλ€(λν¬ν¨)μ΄ μ§νν΄λ³΄κΈ°λ‘ νλ€. 그리νμ¬ [λ‘κ·ΈμΈ/νμκ°μ
] νλ©΄ ꡬμμ νλ νμ 3λͺ
κ³Ό λ©μΈνλ©΄μ μ§λ, κ²μνλ©΄μ ꡬννλ νμ 2λͺ
μ΄ μ²«μ§Έ λ μ λΆλ΄νμ¬ μ
무λ₯Ό λ§‘μκ³ , μ°λ¦¬μ μ
λ¬΄κ° λλλ©΄ λ©μΈνλ©΄μ μν¬ν° νκΈ°λ‘ νλ€. νμκ°μ
μ ν λ μ κ·μμ νμ©ν΄μ λ§λλ €κ³ νλ μκ·Όν 볡μ‘νλ€. 쑰건κ°μ λ€ λ£μ΄μ£Όμ΄μΌ νλ λΆλΆμ΄ λν λμκ² μμ§ μ΄λ €μ λ€. λ‘κ·ΈμΈ λΆλΆμ κ°μ
λ νμμ 보λ₯Ό μ μ₯νλ λ°©λ²μΌλ‘ μ§ννκΈ°λ‘ νλ€.

4-12μ리μ μμ΄μ μ«μλ₯Ό λ£μ ID , PWλ 4-20κΉμ§μ μλ¬Έκ³Ό μ«μλ₯Ό λ£μ pw, μ΄λ¦μ νκΈλ‘λ 2-15μ μ΄λ¦μ λ£λλ‘ κ°μ λ£μλ€.
λν κ°μ΄ μ
λ ₯λμ§μμΌλ©΄ νμ
μ°½μ΄ λ¨λλ‘ μ€μ ν΄λμλ€.
μ λ
μκ° μ΄ν κΈ°μ λ§€λμ λ μνμκ°μ΄ λμ΄ μ‘°μΈμ μ»μ μ μμκ³ λ©μΈνλ©΄μ ꡬμ±νλ νμλ€μ μ΄μΌκΈ°λ₯Ό λ€μ μ μμλ€.
ν¬λ‘€λ§μ νλλ° λ§μ μκ°μ 보λκ³ , νμΈν΄ 보λ μΉ΄μΉ΄μ€λ§΅μμ λ°λ‘ μ€νλ APIκ° μμκ³ , 곡곡λ°μ΄ν°λ₯Ό νμ©νλ € νλ λ무 μμ΄ λ°©λνκ³ μ΄κ²°μ΄ μ λμ§ μλ λ¬Έμ κ° μμλ€. 3μΌμ΄ μ± μ λλ μκ°μ μμ§ λ³Έ κ³Όμ λ λ€μ΄κ°κΈ° μ μ΄λΌ λ§€λμ λμ μ’ λ μ¬μ΄ λ°©ν₯μΈ μΈκ·Όμ§μ DBλ§μ νμ©νμ¬ μ§λμ κ²μ κΈ°λ₯κ³Ό λ§νΉκΈ°λ₯μ λ£μ΄λ³΄λ건 μ΄λ λλ μ μμ νμ
¨κ³ , κ·Έλ κ²λ§ν΄λ ν° μ±κ³Όλ₯Ό λ΄λ λΆλΆμ΄ μ΄κ³ νμ¬ νμ λͺ¨λκ° μ κΉ κ³ λ―Όμ λΉ μ‘λ€.
μ κΉμ κ³ λ―Όλμ μΉ΄μΉ΄μ€λ§΅μμ μ 곡νλ '곡곡주차μ₯'μΌλ‘ μ£Όμ λ₯Ό λ³κ²½νκΈ°λ‘ νλ€. μ°¨μ μ±
μ΄κΈ΄ νμ§λ§ μνμμ λμΌνκ² κ³ λ―Όμ λ§μ΄ νκ³ μλ λ¬Έμ μ΄κΈ°λ ν΄μ νμλ€μ΄ λ€ κ°μ΄ κ³ λ―Ό ν μ£Όμ λ κ·Έλλ‘ κ°μ§κ³ κ°λ©΄μ μ₯μλ§ λ³κ²½ν΄μ κ·Έλλ‘ νλ‘μ νΈλ₯Ό μ§ννκΈ°λ‘ νλ€.
첫째 λ μ μ£Όμ μ μ κ³Ό μμ²μ¬ν μ μΆμ μΌλΆμκ°μ μ¬μ©νκ³ λ‘κ·ΈμΈ κ΅¬νκ³Ό νμκ°μ
μ μ΄λ μ λ ꡬννλ€. κ·Έλ¦¬κ³ λ©μΈνλ©΄μ ν¬λ‘€λ§μ νλλ° λ§μ μκ°μ ν μ νλ€.
μΉ΄μΉ΄μ€ MAPS API : https://apis.map.kakao.com/
μΉ λ―Έλ νλ‘μ νΈ DAY2
λμ§Έλ , νμκ°μ
/λ‘κ·ΈμΈ κΈ°λ₯ ꡬνμ λλ΄κ³ λ κ°μ μμ
μ νλλ‘ μ°κ²°νλ μμ
μ μ§ννλλ° μκ°λ³΄λ€ μκ°μ΄ 걸리λ μμ
μ΄μλ€.


(μΌμͺ½) typeμ μ΄λ¦/ID/PW/PWCHECK λ±μΌλ‘ μ§μ ν΄ μ
λ ₯μΉΈμ λ§λ€μ΄μ£Όμλ€.
(* type μμ±μ΄ passwordμ΄λ©΄, μ
λ ₯ν λ΄μ©μ΄ *λ‘ μνΈνλμ΄ λνλλ€. )
(μ€λ₯Έμͺ½) μ½λμ 첫 μ€μμλ FormDataλΌλ κ°μ²΄λ₯Ό μμ±νλ€.
FormData κ°μ²΄λ HTML νΌμ λ°μ΄ν°λ₯Ό μ½κ² μ μ‘ν μ μλλ‘ λμμ£Όλ κ°μ²΄.
λ€μ μ€λ€μμλ formData κ°μ²΄μ name, id, pw, pw2, nicknameμ΄λΌλ ν€μ κ°κ°μ κ°μ μΆκ°νλ€.
formData.append() λ©μλλ₯Ό μ¬μ©νλ©΄ ν€μ κ°μ κ°μ΄ μΆκ°ν μ μλ€.
λ§μ§λ§ μ€μμλ fetchλΌλ ν¨μλ₯Ό μ¬μ©νμ¬ μλ²μ POST μμ²μ 보λ
λλ€.
fetch ν¨μλ 첫 λ²μ§Έ μΈμλ‘ μμ²ν URLμ λ°κ³ , λ λ²μ§Έ μΈμλ‘ μμ²μ μ΅μ
μ κ°μ²΄λ‘ λ°λλ€.
μ¬κΈ°μλ method μ΅μ
μ "POST"λ‘ μ€μ νκ³ , body μ΅μ
μ formDataλ‘ μ€μ νμ¬ νΌ λ°μ΄ν°λ₯Ό μλ²μ μ μ‘νλ€.
fetch ν¨μλ λΉλκΈ°μ μΌλ‘ μλνλ―λ‘, μλ²μ μλ΅μ λ°κΈ° μν΄μλ then() λ©μλλ₯Ό μ¬μ©νμ¬ μ½λ°± ν¨μλ₯Ό λ±λ‘ν΄μΌ νλ€. μ¬κΈ°μλ μλ²κ° λ³΄λΈ JSON λ°μ΄ν°λ₯Ό λ°μμ alertλ‘ λ©μμ§λ₯Ό 보μ¬μ£Όκ³ , window.location.reload()λ‘ νμ΄μ§λ₯Ό μ λ‘κ³ μΉ¨νλ μ½λ°± ν¨μλ₯Ό λ±λ‘νλ€.

μ½λμ 첫 μ€μμλ (document). ready()λΌλ ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμκ° λ‘λλλ©΄ μ½λ°± ν¨μλ₯Ό μ€ννλλ‘ νλ€.
(‘#myid’)μ $(‘#mypw’)λΌλ idλ₯Ό κ°μ§ HTML μμμ λ΄μ©μ λΉμμ€λ€.
signup()μ΄λΌλ ν¨μλ₯Ό μ μνλ€. μ΄ ν¨μλ window.location.hrefλ₯Ό '/join’μΌλ‘ μ€μ νμ¬ νμκ°μ
νμ΄μ§λ‘ μ΄λνλλ‘ νλ€.
log_in()μ΄λΌλ ν¨μλ₯Ό μ μνλ€. μ΄ ν¨μλ λ‘κ·ΈμΈ κΈ°λ₯μ ꡬννλ€.
λ λ©μΈνμ΄μ§ μμ
νλ νμλ€μ μΉ΄μΉ΄μ€λ§΅μ ν΅ν΄ μ£Όμ°¨μ₯ APIλ₯Ό μ°Ύκ³ jinja2 κΈ°λ₯μ νμ©νμ¬ μ§λκΈ°λ₯μ ꡬννλ€.
μ΄ κ³Όμ μ΄ μΌλ§λ νλ κ³Όμ μ΄μλμ§..! μ€κ°μ λ§μ νΈλ¬λΈμν
μ΄ μμλ€. ( 3μΌκ° λλΆλΆ λ°€μμ νλ‘μ νΈνλ€! )
κ·Έλλ λͺ¨λ μ΄μ μ΄μ !!!! ν¬κΈ°νμ§ μκ³ λκΉμ§ νλ‘μ νΈλ₯Ό λκ³ λκ°λ€! λ©μΈνμ΄μ§μ κ²μκΈ°λ₯ κ·Έλ¦¬κ³ λ‘κ·ΈμμκΈ°λ₯μ λμ§Έ λ μλ μ΄λ μ λ ꡬννλ€.
github μ°λ λ°©λ²μ΄ μ΅μνμ§ μμμ κ³Όμ€μμ λ§μ νΈλ¬λΈμν
μ΄ μμλ€. ν΄κ²°λ°©λ²μ μ°Ύκ³ VSμ½λλ‘ νλ λ°©λ²μ νμΈν΄μ μ‘°κΈ λ μ½κ² μ κ·Όν μ μκ² λμλ€. ( * youtube μνμ½λ©λ μμμΌλ‘ 곡λΆλ₯Ό μ‘°κΈ νλλ°, λμμ΄ κ½€ λ κ² κ°λ€! )
μνμ½λ© youtube URL : https://youtu.be/vI8FFvQge2w
2μΌ μ°¨μλ 3μΌ μ°¨μ μμ λ°νλ₯Ό μν PPTλ ν¨κ» μ€λΉνλ€. κ·Έλμ νμλ€κ³Ό νμ
ν νλ‘μ°λ₯Ό μκ°νλ©΄μ λ΄κ° λ§λ€μ΄ λ³΄κΈ°λ‘ νλ€. μλλ κ·Έ κ²°κ³Ό!





μΉ λ―Έλ νλ‘μ νΈ DAY3
λ©μΈνμ΄μ§ κ²μ κΈ°λ₯ ꡬνμ μμ±μν€κ³ κ°λ΅νκ² cssν΅μΌν μμ
λ μ§ννλ€.
μ 체μ μΌλ‘ νλ©΄μ΄ μ λλμ§ κ΅¬νμ ν΄λ³΄μλλ° λ€ννλ μλ²½ν(?) μ΄λ μ λ! μ§νλμλ€.
μ£Όμμ λ§νΉ λΆλΆμ΄λ μΉ΄μΉ΄μ€λ§΅APIλ₯Ό μλ²½νκ² μ¬μ©νμ§ λͺ»ν λΆλΆμμ νμλͺ¨λκ°λ§μ΄ μμ¬μνλ€.
νμ§λ§ 3μΌ μ± μ λλ μκ°μ μ΄λ§νΌ νλ€λκ²μ κ·Έλ¦¬κ³ μμΌλ‘ λ λ°μ μν¬μ μμκ² κ°λ€λ μκ°μ μλ‘λ₯Ό κ²©λ €νλ€!
νλ‘μ νΈ λ°νμλ₯Ό μ νκ³ λ§μ§λ§ λ°νμλ£λ₯Ό μ 리νλ€. λ°νμκ°μ΄ λμ΄ λ°νλ₯Ό μ λ§μ³€λ€. μμλ λ€λ₯Έ νλ€λ νλ‘μ νΈλ₯Ό μ§§μ μκ° λ΄ μ λ§λ€μ΄μ κ°ν νλ©΄μ 보μλ€! μ€λκ°λ§μ νμ λ§λ€μ΄ νλ‘μ νΈλ₯Ό μ§νν΄μμΌκΉ? μλλ©΄ λ¨μκ°μ λ§μ μκ°μ μ¨μ κ·Έλ°μ§ μ‘°κΈ νλ€μλ€λ μκ°λ λ€μλ€.
νμ§λ§ λΏλ―ν¨μ΄ λ μ»Έλ€! λ§μ§λ§ μ μΆ μλ£λ₯Ό λ΄κΈ° μν΄ μνμμμ μ μνλ€ μμ λ§λλ 건 κ½€ κ°λ¨ν μμ
μ΄λΌ, λ΄κ° λ§λ€κΈ°λ‘ νκ³ κ°λ¨νκ² μλ§μ λ£μ΄μ λ§λ€μ΄ μ μΆνλ€. λ€ μ μΆνλ μ λ§λ‘ κΈ΄μ₯μ΄ νλ Έλ€. μ²μ νλ‘μ νΈλ₯Ό μ§ννλ©΄μ μ ---λ§ λ§μ΄ λ°°μ λ€!
10μ‘° μνμμ URL : https://youtu.be/bOajqCPDzr4
