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

πŸ“š/Computer Science

(14)
[Web] μ›Ή ν‘œμ€€, μ›Ή μ ‘κ·Όμ„±, μ›Ή ν˜Έν™˜μ„±μ΄λž€? πŸ”— μ›Ή ν‘œμ€€ (Web Standards) μ΄λž€? μ›Ή ν‘œμ€€μ΄λž€ 'μ›Ήμ—μ„œ ν‘œμ€€μ μœΌλ‘œ μ‚¬μš©λ˜λŠ” κΈ°μˆ μ΄λ‚˜ κ·œμΉ™'을 μ˜λ―Έν•œλ‹€. ν‘œμ€€ν™” 단체인 W3Cκ°€ κΆŒκ³ ν•œ ν‘œμ€€μ•ˆμ— 따라 μ›Ή μ‚¬μ΄νŠΈλ₯Ό μž‘μ„±ν•  λ•Œ μ΄μš©ν•˜λŠ” HTML, CSS, JavaScript 등에 λŒ€ν•œ κ·œμ •μ΄ 담겨 μžˆλ‹€. μ›Ή ν‘œμ€€μ˜ ꢁ극적인 λͺ©μ μ€ μ›Ήμ‚¬μ΄νŠΈμ— μ ‘μ†ν•œ μ‚¬μš©μžκ°€ μ–΄λ– ν•œ μš΄μ˜μ²΄μ œλ‚˜ λΈŒλΌμš°μ €λ₯Ό μ‚¬μš©ν•˜λ”λΌλ„ λ™μΌν•œ κ²°κ³Όλ₯Ό 보이게 ν•˜λŠ” 것이닀. πŸ”— μ›Ή μ ‘κ·Όμ„± (Web Accessibility) μ΄λž€? μ›Ή μ ‘κ·Όμ„±μ΄λž€ μž₯애인, 고령자 λ“± λͺ¨λ“  μ‚¬μš©μžκ°€ μ–΄λ– ν•œ κΈ°μˆ μ΄λ‚˜ ν™˜κ²½μ—μ„œλ„ 전문적인 λŠ₯λ ₯ 없이 μ›Ή μ‚¬μ΄νŠΈμ—μ„œ μ œκ³΅ν•˜λŠ” λͺ¨λ“  정보λ₯Ό λ™λ“±ν•˜κ²Œ μ ‘κ·Όν•˜κ³  이해할 수 μžˆλŠ” ꢌ리λ₯Ό μ˜λ―Έν•œλ‹€. μ›Ή ν‘œμ€€μ„ μ€€μˆ˜ν•¨μœΌλ‘œμ¨ λ‹€μ–‘ν•œ λΈŒλΌμš°μ € ν™˜κ²½μ— λŒ€μ‘μ΄ κ°€λŠ₯ν•˜λ©° νœ΄λŒ€ν°, PDA..
[Web] λ°˜μ‘ν˜• μ›Ήμ΄λž€? / λ°˜μ‘ν˜• vs μ μ‘ν˜• πŸ”— λ°˜μ‘ν˜• μ›Ή (Responsive Web) μ΄λž€? μˆœμ„œλŒ€λ‘œ PC - Tablet - Mobile ν™”λ©΄ λ°˜μ‘ν˜• μ›Ήμ΄λž€ 각쒅 λ””λ°”μ΄μŠ€ λ˜λŠ” λͺ¨λ‹ˆν„° 해상도에 따라 μ»¨ν…μΈ λ“€μ˜ μ‚¬μ΄μ¦ˆ, λ ˆμ΄μ•„μ›ƒ 등이 μœ λ™μ μœΌλ‘œ λ°”λ€ŒλŠ” 웹을 λ§ν•œλ‹€. 일반적으둜 float, flex, % 등을 μ‚¬μš©ν•˜μ—¬ μœ λ™μ μœΌλ‘œ λ°˜μ‘ν•  수 μžˆλ„λ‘ ν•œλ‹€. 1 2 3 4 5 @media screen and (max-width: 767px){ .container{ width: 50%; } } Colored by Color Scripter cs λ―Έλ””μ–΄ 쿼리λ₯Ό μ‚¬μš©ν•˜μ—¬ λ””λ°”μ΄μŠ€λ₯Ό μ§€μ •ν•˜μ—¬ ν™”λ©΄ 크기에 따라 λ°”λ€ŒλŠ” 웹을 μ œμž‘ν•œλ‹€. πŸ“Œ λ°˜μ‘ν˜• μ›Ή (Responsive Web) vs μ μ‘ν˜• μ›Ή (Adaptive Web) 차이점 λ°˜μ‘ν˜• 웹은 λ””λ°”μ΄μŠ€μ— 따라 ν™”λ©΄..
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λž€ 무엇인가? πŸ’‘ 같이 보면 μ’‹..
라이브러리(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) 차이점 ν”„λ‘œμ„ΈμŠ€λŠ” μ™„μ „νžˆ 독립적이기 λ•Œλ¬Έμ— μžμ›(μ½”λ“œ, 데이터, νž™, μŠ€νƒ)을 λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€μ™€ κ³΅μœ ν•˜μ§€ μ•ŠλŠ”λ‹€. μŠ€λ ˆλ“œλŠ” λ³„λ„μ˜ μ‹€ν–‰ 흐름을 μœ μ§€ν•˜κΈ° μœ„ν•΄ μŠ€νƒλ§Œ λ…λ¦½μ μœΌλ‘œ μœ μ§€ν•˜κ³ , κ·Έ μ΄μ™Έμ˜ μžμ›μ„ λ‹€λ₯Έ μŠ€λ ˆλ“œμ™€ κ³΅μœ ν•œλ‹€. ν”„λ‘œμ„ΈμŠ€λŠ” 운영체제 κ΄€μ μ—μ„œμ˜ μ‹€ν–‰ 흐름을 κ΅¬μ„±ν•˜κ³ , μŠ€λ ˆλ“œλŠ” ν”„λ‘œμ„ΈμŠ€ λ‚΄μ—μ„œμ˜ μ‹€ν–‰ 흐름을 κ΅¬μ„±ν•œλ‹€.