λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

πŸ“š

(31)
SPAλž€? SSR vs CSR 차이점 πŸ”— SPA(Single Page Application)λž€? κΈ°μ‘΄ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ€ ν™”λ©΄ 이동 μ‹œ 화면에 ν•„μš”ν•œ HTML을 μ„œλ²„λ‘œλΆ€ν„° λ°›μ•„μ„œ μ²˜μŒλΆ€ν„° λ‹€μ‹œ λ‘œλ”©ν•˜κΈ° λ•Œλ¬Έμ— 속도가 λŠλ¦¬λ‹€. 반면 SPAλŠ” 졜초 ν•œ 번 νŽ˜μ΄μ§€ 전체λ₯Ό λ‘œλ”©ν•œ ν›„ μ΄ν›„λΆ€ν„°λŠ” 일뢀 λ°μ΄ν„°λ§Œ λ³€κ²½ν•˜μ—¬ 화면을 κ΅¬μ„±ν•˜κΈ° λ•Œλ¬Έμ— 속도가 λΉ λ₯΄λ‹€. SPA ν”„λ ˆμž„μ›Œν¬λ‘œλŠ” React, Vue, Angular 등이 μžˆλ‹€. πŸ“Œ SSR(Server Side Rendering) vs CSR(Client Side Rendering) β–ͺ SSR β‘  μ„œλ²„ - λΈŒλΌμš°μ €μ—κ²Œ HTML 응닡 β‘‘ λΈŒλΌμš°μ € - λΈŒλΌμš°μ € λ Œλ”λ§ -> νŽ˜μ΄μ§€ 보여짐 β‘’ λΈŒλΌμš°μ € - JS λ‹€μš΄ β‘£ λΈŒλΌμš°μ € - λ¦¬μ•‘νŠΈ μ‹€ν–‰ β‘€ νŽ˜μ΄μ§€ μƒν˜Έμž‘μš© κ°€λŠ₯ β–ͺ CSR β‘  μ„œλ²„ - λΈŒλΌμš°μ €μ—κ²Œ 응닡 β‘‘ 브..
[λ³΄μ•ˆ] CORSλž€? πŸ”— CORS(Cross-Origin Resource Sharing)λž€? CORSλŠ” 좔가적인 HTTP μš”μ²­ 헀더λ₯Ό μ‚¬μš©ν•˜μ—¬ μ„œλ‘œ λ‹€λ₯Έ λ„λ©”μΈμ˜ μ›Ή λΈŒλΌμš°μ €μ™€ μ„œλ²„κ°€ λ¦¬μ†ŒμŠ€ μš”μ²­κ³Ό 응닡을 μ£Όκ³  받을 수 있게 ν•˜λŠ” 방법을 λ§ν•œλ‹€. πŸ”— CORSλŠ” μ™œ ν•„μš”ν• κΉŒ? μ›Ή λΈŒλΌμš°μ €κ°€ λ‹€λ₯Έ λ„λ©”μΈμ˜ μ„œλ²„λ‘œ λ¦¬μ†ŒμŠ€ μš”μ²­μ„ ν•  λ•Œ κ°œμΈμ •λ³΄ 유좜, ν”Όμ‹± μ‚¬μ΄νŠΈμ™€ 같은 λ³΄μ•ˆμƒμ˜ μœ„ν—˜μ΄ μžˆμ„ 수 있기 λ•Œλ¬Έμ— ν—ˆμš©ν•œ μ›Ή λΈŒλΌμš°μ €λ§Œ μ„œλ²„μ— μš”μ²­ν•  수 μžˆλ„λ‘ ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•œλ‹€. πŸ”— CORSλŠ” μ–΄λ–»κ²Œ λ™μž‘ν• κΉŒ? μ›Ή λΈŒλΌμš°μ €μ—μ„œλŠ” μš”μ²­ 헀더에 CORS κ΄€λ ¨ μ˜΅μ…˜μ„ λ„£μ–΄μ£Όκ³ , μ„œλ²„μ—μ„œλŠ” μš”μ²­ 헀더에 ν•΄λ‹Ή μ›Ή λΈŒλΌμš°μ €μ˜ μš”μ²­μ„ ν—ˆμš©ν•œλ‹€λŠ” λ‚΄μš©μ„ λ„£μ–΄μ€€λ‹€. πŸ”Ž μ°Έκ³  자료 CORS이 λ‚˜μ˜€κ²Œ 된 λ°°κ²½ 이야기 CORSλž€ 무엇인가? πŸ’‘ 같이 보면 μ’‹..
[React] DOM(돔)μ΄λž€? Virtual DOM(가상 돔)μ΄λž€? πŸ”— DOM(돔)μ΄λž€? 'Document Object Model'. HTML, XML λ¬Έμ„œμ˜ ν”„λ‘œκ·Έλž˜λ° μΈν„°νŽ˜μ΄μŠ€μ΄λ‹€. λ¬Έμ„œμ˜ κ΅¬μ‘°ν™”λœ ν‘œν˜„μ„ μ œκ³΅ν•˜λ©° ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄κ°€ DOM ꡬ쑰에 μ ‘κ·Όν•  수 μžˆλŠ” 방법(API)을 μ œκ³΅ν•˜μ—¬ λ¬Έμ„œ ꡬ쑰, μŠ€νƒ€μΌ, λ‚΄μš© 등을 λ³€κ²½ν•  수 있게 λ•λŠ”λ‹€. πŸ”— DOM에 직접 μ ‘κ·Όν•  λ•Œμ˜ 문제점 DOM에 직접 μ ‘κ·Όν•  경우 뷰에 λ³€ν™”κ°€ 있으면 λ‹€μ‹œ DOM을 λ³€κ²½ν•΄μ•Ό ν•˜κΈ° λ•Œλ¬Έμ— λΈŒλΌμš°μ €μ˜ μž¦μ€ λ Œλ”λ§μ„ μœ λ°œν•˜μ—¬ νš¨μœ¨μ„±μ΄ λ–¨μ–΄μ§€κ²Œ λœλ‹€. πŸ”— Virtual DOM(가상 돔)μ΄λž€? 가상 DOM은 μ‹€μ œ DOM의 λ³€ν™”λ₯Ό μ΅œμ†Œν™” μ‹œμΌœμ£ΌλŠ” 역할을 ν•œλ‹€. 뷰에 λ³€ν™”κ°€ 있으면, κ·Έ λ³€ν™”κ°€ μ‹€μ œ DOM에 적용되기 전에 가상 DOM에 μ μš©μ‹œμΌœ μ΅œμ’… 결과만 μ‹€μ œ DOM에 μ „λ‹¬ν•œλ‹€. 예λ₯Ό λ“€μ–΄ 뷰에 20개의..
라이브러리(Library) vs ν”„λ ˆμž„μ›Œν¬(Framework) 차이점 λΌμ΄λΈŒλŸ¬λ¦¬κ°€ 각각 κ°œλ³„μ μΈ κΈ°λŠ₯을 ν•˜λŠ” μ½”λ“œλΌκ³  ν•˜λ©΄, ν”„λ ˆμž„μ›Œν¬λŠ” 이것듀이 μ—°κ²°λ˜μ–΄ 기초적인 ν˜•νƒœλ₯Ό κ°–μΆ˜ μ½”λ“œ 'ν‹€'이닀. λ‘˜ λ‹€ λˆ„κ΅°κ°€κ°€ μ§œλ†“μ€ μ½”λ“œλ₯Ό μ‚¬μš©ν•œλ‹€λŠ” μ μ—μ„œ λΉ„μŠ·ν•˜λ‹€. λΌμ΄λΈŒλŸ¬λ¦¬λŠ” λˆ„κ΅°κ°€κ°€ μ§œλ†“μ€ μ½”λ“œλ₯Ό κ°€μ Έλ‹€ μ“°λŠ” 것이고, ν”„λ ˆμž„μ›Œν¬λŠ” ν”„λ ˆμž„μ›Œν¬μ—μ„œ μ œκ³΅ν•˜λŠ” κΈ°λ³Έ ν‹€ μ•ˆμ—μ„œ λ‚΄κ°€ μ½”λ“œλ₯Ό 덧뢙여 μ“°λŠ” 것이닀. 라이브러리 : λ‚΄κ°€ μ»¨νŠΈλ‘€ν•˜μ—¬ μ½”λ”©ν•œλ‹€. (λ‚΄κ°€ κ°‘) ν”„λ ˆμž„μ›Œν¬ : ν”„λ ˆμž„μ›Œν¬μ˜ κ·œμΉ™μ„ 따라 μ½”λ”©ν•œλ‹€. (ν”„λ ˆμž„μ›Œν¬κ°€ κ°‘) πŸ”Ž μ°Έκ³  자료 라이브러리? ν”„λ ˆμž„μ›Œν¬? 차이점 MVC μ›Ή ν”„λ ˆμž„μ›Œν¬κ°€ λ­”κ°€μš”?
[νŒ¨ν‚€μ§€λ§€λ‹ˆμ €] package.jsonμ΄λž€? πŸ”— package.jsonμ΄λž€? ν”„λ‘œμ νŠΈ 정보λ₯Ό κ΄€λ¦¬ν•˜λŠ” νŒŒμΌμ΄λ‹€. μ–΄λŠ κ³³μ—μ„œλ„ λ™μΌν•œ κ°œλ°œν™˜κ²½μ„ ꡬ좕할 수 있게 ν•΄μ€€λ‹€. πŸ“Œ dependencies vs devDependencies dependenciesλŠ” νŒ¨ν‚€μ§€μ˜ 배포 μ‹œ 포함될 μ˜μ‘΄μ„± λͺ¨λ“ˆμ„ μ§€μ •ν•œλ‹€. devDependenciesλŠ” νŒ¨ν‚€μ§€μ˜ 개발 μ‹œ μ‚¬μš©λ  μ˜μ‘΄μ„± λͺ¨λ“ˆμ„ μ§€μ •ν•œλ‹€. πŸ”Ž μ°Έκ³  자료 처음 μ‹œμž‘ν•˜λŠ” Node.js 개발 πŸ’‘ 같이 보면 쒋을 Post [νŒ¨ν‚€μ§€λ§€λ‹ˆμ €] npmμ΄λž€? πŸ”— npm(Node Package Manager)μ΄λž€? 말 κ·ΈλŒ€λ‘œ 'λ…Έλ“œ νŒ¨ν‚€μ§€ λ§€λ‹ˆμ €'둜, νŠΉμ • κΈ°λŠ₯을 ν•˜λŠ” μžλ°” 슀크립트 νŒ¨ν‚€μ§€κ°€ ν•„μš”ν•˜λ©΄ npmμ—μ„œ μ°Ύμ•„ μ„€μΉ˜ν•˜λ©΄ λœλ‹€. νŒ¨ν‚€μ§€κ°€ λ‹€λ₯Έ νŒ¨ν‚€μ§€λ₯Ό μ‚¬μš©ν•  μˆ˜λ„ μžˆλŠ”λ° devjindev.tistory.com
[νŒ¨ν‚€μ§€λ§€λ‹ˆμ €] npmμ΄λž€? πŸ”— npm(Node Package Manager)μ΄λž€? 말 κ·ΈλŒ€λ‘œ 'λ…Έλ“œ νŒ¨ν‚€μ§€ λ§€λ‹ˆμ €'둜, νŠΉμ • κΈ°λŠ₯을 ν•˜λŠ” μžλ°” 슀크립트 νŒ¨ν‚€μ§€κ°€ ν•„μš”ν•˜λ©΄ npmμ—μ„œ μ°Ύμ•„ μ„€μΉ˜ν•˜λ©΄ λœλ‹€. νŒ¨ν‚€μ§€κ°€ λ‹€λ₯Έ νŒ¨ν‚€μ§€λ₯Ό μ‚¬μš©ν•  μˆ˜λ„ μžˆλŠ”λ° 이λ₯Ό '의쑴 관계'라고 ν•œλ‹€. πŸ“Œ npm vs yarn yarn은 νŽ˜μ΄μŠ€λΆμ—μ„œ λ§Œλ“  νŒ¨ν‚€μ§€ λ§€λ‹ˆμ €μ΄λ‹€. npm의 일관성, λ³΄μ•ˆ, λΉŒλ“œμ‹œ μ„±λŠ₯ λ“±μ˜ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ yarn을 λ§Œλ“€μ—ˆλ‹€. npm은 νŒ¨ν‚€μ§€λ“€μ΄ μ½”λ“œλ₯Ό μžλ™μ μœΌλ‘œ μ¦‰μ‹œ μ‹€ν–‰ν•˜λŠ” 것을 ν—ˆμš©ν•  뿐만 μ•„λ‹ˆλΌ μ˜μ‘΄μ„±λ“€λ„ μ¦‰μ‹œ μžλ™μ μœΌλ‘œ μ‹€ν–‰λ˜μ–΄ νŽΈλ¦¬ν•¨μ„ μ œκ³΅ν•˜κΈ°λ„ ν•˜μ§€λ§Œ, λ³΄μ•ˆμ— μœ„ν—˜μ΄ μžˆμ„ 수 μžˆλ‹€. 이와 λ‹€λ₯΄κ²Œ yarn은 였직 yarn.lock ν˜Ήμ€ package.json둜 λΆ€ν„° μ„€μΉ˜λ˜μ–΄ yarn.lock은 λͺ¨λ“  μž₯μΉ˜λ“€μ΄ 같은 패..
ν”„λ‘œμ„ΈμŠ€(Process) vs μŠ€λ ˆλ“œ(Thread) 차이점 ν”„λ‘œμ„ΈμŠ€λŠ” μ™„μ „νžˆ 독립적이기 λ•Œλ¬Έμ— μžμ›(μ½”λ“œ, 데이터, νž™, μŠ€νƒ)을 λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€μ™€ κ³΅μœ ν•˜μ§€ μ•ŠλŠ”λ‹€. μŠ€λ ˆλ“œλŠ” λ³„λ„μ˜ μ‹€ν–‰ 흐름을 μœ μ§€ν•˜κΈ° μœ„ν•΄ μŠ€νƒλ§Œ λ…λ¦½μ μœΌλ‘œ μœ μ§€ν•˜κ³ , κ·Έ μ΄μ™Έμ˜ μžμ›μ„ λ‹€λ₯Έ μŠ€λ ˆλ“œμ™€ κ³΅μœ ν•œλ‹€. ν”„λ‘œμ„ΈμŠ€λŠ” 운영체제 κ΄€μ μ—μ„œμ˜ μ‹€ν–‰ 흐름을 κ΅¬μ„±ν•˜κ³ , μŠ€λ ˆλ“œλŠ” ν”„λ‘œμ„ΈμŠ€ λ‚΄μ—μ„œμ˜ μ‹€ν–‰ 흐름을 κ΅¬μ„±ν•œλ‹€.
ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°μ΄λž€? πŸ”— ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°(Fuction Programming) μ΄λž€? 순수 ν•¨μˆ˜λ₯Ό μ‘°ν•©ν•˜μ—¬ ν•¨μˆ˜μ˜ 계산을 톡해 λ‘œμ§μ„ κ΅¬μ„±ν•˜λŠ” ν”„λ‘œκ·Έλž˜λ° 방법이닀. πŸ”— μˆœμˆ˜ν•¨μˆ˜λž€? μ™ΈλΆ€μš”μΈμ— 영ν–₯을 받지 μ•Šμ•„, 같은 μž…λ ₯에 항상 같은 좜λ ₯을 λ°˜ν™˜ν•˜κΈ° λ•Œλ¬Έμ— λΆ€μž‘μš©μ΄ μ—†λ‹€. πŸ“Œ 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ° vs ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ° 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ—μ„œ ν•¨μˆ˜λŠ” μ–΄λ–»κ²Œ(How) ν•΄μ•Ό ν•˜λŠ”μ§€λ₯Ό λ‚˜νƒ€λ‚΄κ³ , νŠΉμ • λ™μž‘μ„ μˆ˜ν–‰ν•˜λŠ” 역할을 λ‹΄λ‹Ήν•œλ‹€. ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°μ—μ„œ ν•¨μˆ˜λŠ” 무엇을(What) ν•΄μ•Ό ν•˜λŠ”μ§€λ₯Ό λ‚˜νƒ€λ‚΄κ³ , 계산을 ν•˜λŠ” 역할을 λ‹΄λ‹Ήν•œλ‹€. (πŸ‘©) ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°μ€ μ‚¬μš©ν•΄ λ³Έ 적이 μ—†μ–΄μ„œ 글을 읽어도 이해가 잘 μ•ˆ λλŠ”λ° 이 λ™μ˜μƒμ΄ 많이 도움 됐닀 πŸ‘ www.youtube.com/watch?v=jVG5jvOzu9Y&t=2s πŸ”Ž μ°Έ..