2022λ λ μ΄ κΈμ μ°λ μμ μμ μ΄νλ§μ΄ λ¨μλ€.IT λΆμΌλ‘ μ§λ‘λ₯Ό λ³κ²½ν νλ‘ μ΄λμ 4λ μ΄λ μκ°μ΄ νλ λ€.19λ ~ 20λ κΉμ§λ μλͺ 곡νμμ μ»΄ν¨ν°κ³΅νμΌλ‘ νΈμ νμ¬ μ 곡μ λ°κΏ, λΉμμλ μ 곡 곡λΆμ μ μ μμ΄ μκ°μ μ¬μ©νλλΌ λλ₯Ό λλμλ³Ό μκ°μ΄ μμλ€.
λ‘컬μμ κ°λ°ν React(with. Vite) νλ‘μ νΈλ₯Ό ν μ€νΈμ©μΌλ‘ λ°°ν¬ν μΌμ΄ μκ²Όμ΅λλ€. μ¬λ¬ μ μ μ¬μ΄νΈ λ°°ν¬ λ°©μ μ€, μ λ Netlify λ₯Ό μ ννμ΅λλ€.μλ μ½κ² μ μ μ¬μ΄νΈλ₯Ό λ°°ν¬ν΄μ£Όλ μλΉμ€λΌ λ°°ν¬ μ체λ κΈλ°© μ²λ¦¬λμμ΅λλ€.λ€λ§, λ‘컬μμ μ μ κ·Όν
React λ‘ μ¬μ΄λ νλ‘μ νΈλ₯Ό λ€λ₯Έ FE κ°λ°μλΆλ€κ³Ό μ§ννλ©΄μ μ¬μ μ μ¬λ¬ 컨벀μ (μ»€λ° μ»¨λ²€μ , μ€νμΌλ§ 컨벀μ λ±)μ μ ν©λλ€. React μμ μ΄λ²€νΈ νΈλ€λ¬ λ©μλλ₯Ό μ μνκ³ λ°μΈλ©νλ κ² μμ κ·Έ μ€ νλμ¬λ μ’λ€κ³ μκ°ν©λλ€. μ΄λ² ν¬μ€ν μμλ React 컀
YAPP 20th λμ리 νλμμ νμ°½ κ°λ° λ¨κ³μΈ κ³Όμ μμμ λ°μν μ΄μμ λν΄μ κ³ λ―Όν΄λ³΄κ³ νμ λ€κ³Ό κ²°λ‘ μ λ΄λ¦° μ΄μΌκΈ°λ₯Ό νμ΄λ³΄κΈ° μν΄μ ν΄λΉ κΈμ μμ±νκ² λμμ΅λλ€.React λμμΈ ν¨ν΄μ νμ¬λ μΌλ°ν λ νμ΄ μλ μμ μ μλ κ² κ°κ³ , κ·Έλ§νΌ λ€μν λ
4νλ , μ‘Έμ νκΈ° λ§μ§λ§ νκΈ°λ₯Ό μλκ³ , μ²μμλ "컴곡" μ΄λΌλ©΄, μμΌλ©΄ "μ~μꡬλ" νκ³ , μλ€λ©΄ "μ μμ΄ ?" λΌλ λ°μμ΄ λμ€κΈ°λ νλ€κΈΈλ "μ 보μ²λ¦¬κΈ°μ¬" "μκ²©μ¦ μνμ λ°κΈ΄ ν΄μΌκ² λ€" κ³ μ²μμλ μκ°νλ€.κ·Έλ κ² λΉμ₯, μλ°κ°μ λλΌκ³ , μμμ νμ§ μμ
κ·Όλμ μλ°μ€ν¬λ¦½νΈ λ₯ λ€μ΄λΈ λΌλ μ± μ μ λ νκ³ μ 리ν΄λ³΄λ μκ°μ κ°μ§λ©° μλ°μ€ν¬λ¦½νΈ λ³Έμ§μ λν΄ λ€μ νλ² μ κ²νλ μκ°μ κ°μ‘μλ€.μ λ§ μ’μ μ± μΈ κ²μ νλ¦Όμκ³ κ·Έ λμ 무μ§νκ² νμ€ν μ΄ν΄νμ§ λͺ»νκ³ λμ΄κ°λ μλ°μ€ν¬λ¦½νΈμ μ€μ½ν, ν΄λ‘μ λ±μ κ°λ μ μ§κ³ κ°
리μ‘νΈ μ»΄ν¬λνΈμλ λΌμ΄νμ¬μ΄ν΄(μλͺ μ£ΌκΈ°)μ΄ μ‘΄μ¬νλ€.μ»΄ν¬λνΈμ μλͺ μ νμ΄μ§μ λ λλ§λκΈ° μ μΈ μ€λΉκ³Όμ μμ μμνμ¬ νμ΄μ§μμ μ¬λΌμ§ λλλλ€.μ»΄ν¬λνΈλ₯Ό μ²μμΌλ‘ λ λλ§ ν λ, μ΄λ€ μμ μ μ²λ¦¬ν΄μΌνκ±°λ μ»΄ν¬λνΈλ₯Ό μ λ°μ΄νΈνκΈ° μ νλ‘ μ΄λ€ μμ μ μ²λ¦¬ν΄μΌ ν μλ
μ΄μ JS, μμνμ & κ°μ²΄ ν¬μ€ν μμ μΈκΈνλ―μ΄, JSλ μ λ λ€μν μ¬λ¬ Object λ₯Ό μ§μνκΈ°λνκ³ , μ‘°κΈμ΄λΌλ 볡μ‘ν λ°μ΄ν° κ΅¬μ‘°κ° νμ± λλ€νλ©΄, λ°°μ΄μ΄λ κ°μ²΄μ λ°μ΄ν°λ₯Ό μ μ₯ν΄λλ μμ μ΄ λ§λ€.볡μ¬λΌλ κ°λ μ΄ μ΄λ° κ΄μ μμ λ¨μν μμνμ μ λν΄μλ μΌλ°
JSλ λ€λ₯ΈμΈμ΄μ λ€λ₯΄κ², μμκ°(λ¬Έμμ΄, μ«μ λ±)μ λ§μΉ κ°μ²΄(object)μ²λΌ λ€λ£° μ μκΈ°λ νλ€.λ€λ₯Έ λ§λ‘λ, μμκ°μμλ κ°μ²΄μμμ²λΌ λ©μλ(Method)λ₯Ό μ¬μ©ν νΈμΆν μ μλ€.μ΄λ²μλ, JSμμμ μμκ° κ³Ό κ°μ²΄μ λν΄ μ‘°κΈ κ΅¬λΆμ ν΄λ³Έλ€.κ·Έμ μ, μ μ
κ°μ²΄(Object) or λ°°μ΄(Array) λ‘λ λ§μ μμ μ ν μ μμ§λ§, νμ€ μΈκ³λ₯Ό λ°μνκΈ°μ, λμ± ν¨κ³Όμ μΈ μλ£νμ JSμμλ μ 곡νλ€.κ·Έ μ€ λ§΅(Map) κ³Ό μ (Set) μλ£νμ μμλ³Έλ€.λ€λ₯Έ 건 λͺ°λΌλ κ°λ°μ νλ©΄μ μ€λ³΅ μ κ±°λΌλ μ΄μλ λΉλ²νκ² λ°μνλ€κ³
JS Array Object λ μμ£Ό λ§μ λ©μλλ€μ μ‘΄μ¬νμ§λ§, κ·Έ μ€ νμμ μμ£Ό μ¬μ©νλ λ©μλλ€μ μ 리νλ€.Array.prototype.splice()Array.prototype.slice()Array.prototype.concat()Array.prototype
Wes Bos λΌλ Full Stack Developerκ° μ΄μνλ online Courses μ€ λ¬΄λ£λ‘ μ 곡νλ μ±λ¦°μ§ μ€μ μ λ°μ μΌλ‘ μ λͺ ν μ±λ¦°μ§μ΄λ€.μ΅κ·Ό 6μκΉμ§ μλ¦¬μ€ λ μ΄μ 1κΈ°λ‘μ¨ νλμ΄ μ’ λ£λκ³ κ·Έλμ Reactλ₯Ό μ£Όλ‘ μΉ νλ‘ νΈμλ κ°λ°μ μ§νν μλ‘ κ°
μ΄μ ν¬μ€ν μμ Serialize(μ§λ ¬ν) & Deserialize(μμ§λ ¬ν) μ λν κ°μ λλμ λ΄μ©μ μμλ΄€λ€.μ΄λ² ν¬μ€ν μ μ΄λ¬ν λ°©μμ λ°μ΄ν° ν¬λ§·λ°©μ μ€, κ°μ₯ λνμ μΈ JSON μ λν΄μ μμλ³Έλ€.JSON(JavaScript Object Notation)μ
μ μ‘°μ¬λ₯Ό νκ² λμλμ ?ν νλ‘μ νΈλ₯Ό νλ©΄μ FE(νλ‘ νΈμλ) - BE(λ°±μλ) μ¬μ΄μ API ν΅μ μ ν λ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°λ κ³Όμ μμ μκ³ μμ΄μΌ νλ μ§μμ΄λΌμ μ 리νκ² λμλ€.λ¨Όμ , Serial μ μλ―Έλ₯Ό μμ보μ.USB μΈν νμ΄μ€ λΌλ κ²μ λ€μ΄λ³Έ μ μ΄ μμ
(= Producer-Consumer Problem, μμ°μ μλΉμ λ¬Έμ )= 곡μ λ²νΌμ ν¬κΈ°κ° μ νν νκ²½μμ μκΈ°λ λ¬Έμ μμ°μ-μλΉμ λ¬Έμ λ κ°μ μμ°μ νΉμ μλΉμκ° λμμ λ°μ΄ν° μ κ·Ό μμλΉμ/μμ°μ μμ΄ μμ°μ/μλΉμλ§ λκΈλκΈ(μμ λΆμ‘±)μλμ κ°μ΄ 곡μ λ²νΌ
= lock/unlock κΈ°λ₯, 곡μ μμμ νλνκ² ν΄μ€λ€.μμ , μΌλ° λ°©μλ€μ μΆμνμν¨ κ²Semaphore S == μμμ κ°―μInteger variableλ κ°μ§ Atomic μ°μ°μ μν΄μλ§ μ κ·Όμ΄ κ°λ₯ν¨Critical Section of n Processsem
곡μ νλ νλμ μμμ λν΄μ, μ¬λ¬ νλ‘μΈμ€κ° λμμ μ κ·Όν λ μκ°μ μΈ μ°¨μ΄λ‘ μκΈΈ μ μλ λ°μ΄ν°μ λΆμΌμΉλ¬Έμ κ° μ‘΄μ¬ν μ μμ μ΄λ¬ν λ¬Έμ λ₯Ό ν΄κ²°νκ³ μ νλ κ²μ΄ νλ‘μΈμ€ λκΈ°ν(Process Synchroniztion)μ΄λ€.
CPU Burst Time & I/O BurstScheduling Queueνλ‘μΈμ€λ CPU Burst μ I/O Burstκ° μλ€κ°λ€ λ°λλ©΄μ νλ‘κ·Έλ¨μ μ€νCPU Burst : CPU λͺ λ Ήμ μ€ννλνλ κ²I/O Burst : I/O μμ²ν λ€μ κΈ°λ€λ¦¬λ μκ°CPU
λͺ©μ°¨ μ©μ΄ μ 리 νλ‘μΈμ€ νλ‘μΈμ νλ‘μΈμ€ μ€λ λ νλ‘μΈμ€ λ©ν°νμ€νΉ(Multitasking) νλ‘μΈμ€ μν PCB(Process Control Block) λ¬Έλ§₯ κ΅ν(Context Switching) λ©ν° νλ‘μΈμ€ μ€λ λ μ€