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

πŸ“š/Computer Science

(14)
ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°μ΄λž€? πŸ”— ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°(Fuction Programming) μ΄λž€? 순수 ν•¨μˆ˜λ₯Ό μ‘°ν•©ν•˜μ—¬ ν•¨μˆ˜μ˜ 계산을 톡해 λ‘œμ§μ„ κ΅¬μ„±ν•˜λŠ” ν”„λ‘œκ·Έλž˜λ° 방법이닀. πŸ”— μˆœμˆ˜ν•¨μˆ˜λž€? μ™ΈλΆ€μš”μΈμ— 영ν–₯을 받지 μ•Šμ•„, 같은 μž…λ ₯에 항상 같은 좜λ ₯을 λ°˜ν™˜ν•˜κΈ° λ•Œλ¬Έμ— λΆ€μž‘μš©μ΄ μ—†λ‹€. πŸ“Œ 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ° vs ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ° 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ—μ„œ ν•¨μˆ˜λŠ” μ–΄λ–»κ²Œ(How) ν•΄μ•Ό ν•˜λŠ”μ§€λ₯Ό λ‚˜νƒ€λ‚΄κ³ , νŠΉμ • λ™μž‘μ„ μˆ˜ν–‰ν•˜λŠ” 역할을 λ‹΄λ‹Ήν•œλ‹€. ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°μ—μ„œ ν•¨μˆ˜λŠ” 무엇을(What) ν•΄μ•Ό ν•˜λŠ”μ§€λ₯Ό λ‚˜νƒ€λ‚΄κ³ , 계산을 ν•˜λŠ” 역할을 λ‹΄λ‹Ήν•œλ‹€. (πŸ‘©) ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°μ€ μ‚¬μš©ν•΄ λ³Έ 적이 μ—†μ–΄μ„œ 글을 읽어도 이해가 잘 μ•ˆ λλŠ”λ° 이 λ™μ˜μƒμ΄ 많이 도움 됐닀 πŸ‘ www.youtube.com/watch?v=jVG5jvOzu9Y&t=2s πŸ”Ž μ°Έ..
객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ΄λž€? (OOP) / νŠΉμ§• πŸ”— 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ° (Object Oriented Programming) μ΄λž€? ν”„λ‘œκ·Έλž˜λ°μ—μ„œ ν•„μš”ν•œ 데이터λ₯Ό μΆ”μƒν™”μ‹œμΌœ κ³ μœ ν•œ νŠΉμ„±κ³Ό ν–‰μœ„λ₯Ό 가진 객체λ₯Ό λ§Œλ“€κ³ , κ·Έ 객체듀 κ°„μ˜ 유기적인 μƒν˜Έμž‘μš©μ„ 톡해 λ‘œμ§μ„ κ΅¬μ„±ν•˜λŠ” ν”„λ‘œκ·Έλž˜λ° 방법이닀. πŸ”— 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ˜ νŠΉμ§• β‘  상속 : μƒμœ„ 개체의 λ³€μˆ˜λ‚˜ λ©”μ†Œλ“œλ₯Ό ν•˜μœ„ κ°œμ²΄κ°€ λ¬Όλ € λ°›μ•„ μ‚¬μš©ν•  수 μžˆλ‹€. μ½”λ“œμ˜ 쀑볡 μž‘μ„±μ„ λ°©μ§€ν•œλ‹€. β‘‘ λ‹€ν˜•μ„± : 같은 μ΄λ¦„μ˜ λ©”μ†Œλ“œκ°€ 클래슀 ν˜Ήμ€ 객체에 따라 λ‹€λ₯΄κ²Œ κ΅¬ν˜„λ  수 μžˆλ‹€. β‘’ μΊ‘μŠν™” : 객체λ₯Ό 캑슐둜 μ‹Έμ„œ κ·Έ λ‚΄λΆ€λ₯Ό λ³΄ν˜Έν•˜κ³  λ³Ό 수 μ—†κ²Œ ν•œλ‹€. μ™ΈλΆ€μ˜ μ ‘κ·ΌμœΌλ‘œλΆ€ν„° μ•ˆμ „ν•˜λ‹€. κ΄€λ ¨λœ κΈ°λŠ₯κ³Ό νŠΉμ„±μ„ ν•œ 곳에 λͺ¨μœΌκ³  λΆ„λ₯˜ν•˜κΈ° λ•Œλ¬Έμ— μ½”λ“œ μž¬ν™œμš©μ— μ›ν™œν•˜λ‹€. Javaμ—μ„œ Classκ°€ 이 역할을 ν•œλ‹€. β‘£ 좔상..
[HTTP] HTTP ν”„λ‘œν† μ½œμ΄λž€? πŸ”— μ›Ή ν”„λ‘œν† μ½œμ΄λž€? μ›Ήμ—μ„œ μ“°μ΄λŠ” ν†΅μ‹ κ·œμ•½μœΌλ‘œ, 톡신을 ν•  λ•Œ 메세지λ₯Ό μ£Όκ³  λ°›λŠ” 양식과 κ·œμΉ™ 체계λ₯Ό μ˜λ―Έν•œλ‹€. πŸ”— Http ν”„λ‘œν† μ½œμ΄λž€? μ›Ή μƒμ—μ„œ 메세지λ₯Ό μ£Όκ³  λ°›κΈ° μœ„ν•΄ μ„œλ²„-ν΄λΌμ΄μ–ΈνŠΈ λͺ¨λΈμ„ λ”°λ₯΄λŠ” ν”„λ‘œν† μ½œμ΄λ‹€. ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ μš”μ²­μ„ 보내면 μ„œλ²„λŠ” μš”μ²­μ„ μ²˜λ¦¬ν•΄μ„œ μ‘λ‹΅ν•œλ‹€. πŸ“Œ Http 1.1 vs 2.0 μ†λ„μ˜ 차이이닀. Http 2.0은 헀더λ₯Ό μ••μΆ•ν•΄ 보내기도 ν•˜κ³ , ν•œ 번의 μ—°κ²°λ‘œ λ™μ‹œμ— μ—¬λŸ¬κ°œμ˜ 메세지λ₯Ό μ£Όκ³  받을 수 μžˆμ–΄ λΉ λ₯΄λ‹€. πŸ“Œ Http 톡신 vs Https 톡신 λ³΄μ•ˆμ˜ 차이이닀. Http 톡신 방식은 λ„€νŠΈμ›Œν¬ μƒμ—μ„œ λˆ„κ΅°κ°€κ°€ λ§ˆμŒλŒ€λ‘œ μ—΄λžŒ, μˆ˜μ •μ΄ κ°€λŠ₯ν•˜λ‹€. Https 톡신 방식은 ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ 사이에 λͺ¨λ“  톡신 λ‚΄μš©μ„ μ•”ν˜Έν™”ν•˜μ—¬ λˆ„κ΅°κ°€κ°€ λ³Ό 수 없도둝 λ§‰λŠ”λ‹€. πŸ”— HTTP ..
[HTTP] μΏ ν‚€, μ„Έμ…˜, μΊμ‹œλž€? / 차이점 πŸ”— μΏ ν‚€(Cookie)λž€? μΏ ν‚€λž€ μ‚¬μš©μžκ°€ μ–΄λ– ν•œ μ›Ή μ‚¬μ΄νŠΈλ₯Ό λ°©λ¬Έν•  경우, μ‚¬μš©μžμ˜ 컴퓨터에 μ €μž₯λ˜λŠ” 기둝 정보 νŒŒμΌμ„ μ˜λ―Έν•œλ‹€. λ‚΄κ°€ μž„μ˜λ‘œ κ³ μΉ˜κ±°λ‚˜ μ§€μšΈ 수 있고, 남이 ν›”μ³λ³΄κ±°λ‚˜ λ„λ‘‘μ§ˆ ν•˜κΈ° μ‰¬μ›Œ λ³΄μ•ˆμ˜ λ¬Έμ œκ°€ μžˆμ„ 수 μžˆλ‹€. πŸ”— μ„Έμ…˜(Session)μ΄λž€? μ„Έμ…˜μ΄λž€ μ‚¬μš©μžκ°€ μ–΄λ– ν•œ μ›Ή μ‚¬μ΄νŠΈλ₯Ό λ°©λ¬Έν•  경우, μ›Ή μ‚¬μ΄νŠΈκ°€ μ‚¬μš©ν•˜κ³  μžˆλŠ” μ›Ή μ„œλ²„μ— μ €μž₯λ˜λŠ” 기둝 정보 νŒŒμΌμ„ μ˜λ―Έν•œλ‹€. μ„Έμ…˜μ„ μ‚¬μš©ν•˜κ³  μžˆλŠ” μ›Ή μ‚¬μ΄νŠΈλ₯Ό λ°©λ¬Έν•˜λ©΄ μ„œλ²„μ—μ„œλŠ” μ‚¬μš©μžλ₯Ό κ΅¬λΆ„ν•˜κΈ° μœ„ν•œ κΈ°ν•œμ΄ 짧은 μž„μ‹œ ν‚€ ν•˜λ‚˜λ₯Ό λΈŒλΌμš°μ €μ— λ³΄λ‚΄μ„œ 쿠킀에 μ €μž₯ν•œλ‹€. μ‚¬μš©μžμ˜ 정보가 μ›Ή μ„œλ²„μ— μ €μž₯되기 λ•Œλ¬Έμ— λ³΄μ•ˆμ— κ°•ν•˜λ‹€. πŸ”— μΊμ‹œ(Cache)λž€? κ°€μ Έμ˜€λŠ”λ° λΉ„μš©μ΄ λ“œλŠ”(데이터 μ‚¬μš©λŸ‰, μ‹œκ°„ λ“±) ν•œ 번 λ°›μ•„μ˜¨ 데이터λ₯Ό μ €μž₯ν•˜λŠ” κΈ°μ–΅ μž₯치 πŸ“Œ..
[HTTP] APIλž€? REST(RESTful) APIλž€? πŸ”— API(Application Programing Interface)λž€? μš΄μ˜μ²΄μ œλ‚˜ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄κ°€ μ œκ³΅ν•˜λŠ” κΈ°λŠ₯을 μ‘μš© ν”„λ‘œκ·Έλž¨μ— μ‚¬μš©ν•  수 μžˆλ„λ‘ ν•΄μ£ΌλŠ” μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ ν”„λ‘œκ·Έλž˜λ° μΈν„°νŽ˜μ΄μŠ€μ΄λ‹€. πŸ”— REST(RESTful) APIλž€? 'REST'λž€ μžμ›μ˜ μ΄λ¦„μœΌλ‘œ κ΅¬λΆ„ν•˜μ—¬ μžμ›μ˜ μƒνƒœλ₯Ό μ£Όκ³  λ°›λŠ” λͺ¨λ“  것을 μ˜λ―Έν•œλ‹€. RESTλ₯Ό μΆ©μ‘±ν•˜λŠ” APIλ₯Ό REST API라고 ν•œλ‹€. HTTP URIλ₯Ό 톡해 μžμ›μ„ λͺ…μ‹œν•˜κ³ , HTTP CRUD λ©”μ†Œλ“œλ₯Ό 톡해 ν•΄λ‹Ή μžμ›μ— λŒ€ν•œ CRUDλ₯Ό μ μš©ν•œλ‹€. πŸ”— HTTP CRUD λ©”μ†Œλ“œ β‘  GET : μ„œλ²„ μžμ›μ„ κ°€μ Έμ˜¨λ‹€. β‘‘ POST : μ„œλ²„μ— μžμ›μ„ μƒˆλ‘œ λ“±λ‘ν•œλ‹€. β‘’ PUT : μ„œλ²„ μžμ›μ„ μš”μ²­μ— λ“€μ–΄ μžˆλŠ” μžμ›μœΌλ‘œ λ°”κΎΌλ‹€. β‘£ PATCH : μ„œλ²„ μžμ›μ„ 일뢀 μˆ˜μ •ν•œλ‹€..
[HTTP] λΈŒλΌμš°μ € λ Œλ”λ§ κ³Όμ • πŸ”— Browser Rendering(λΈŒλΌμš°μ € λ Œλ”λ§)μ΄λž€? μ‚¬μš©μžμ˜ μš”μ²­μ„ μ„œλ²„μ— μ „λ‹¬ν•˜κ³  κ·Έ κ²°κ³Όλ₯Ό 화면에 λ‚˜νƒ€λ‚΄λŠ” 과정을 μ˜λ―Έν•œλ‹€. πŸ”— Parsing(νŒŒμ‹±)μ΄λž€? λΈŒλΌμš°μ €κ°€ μ½”λ“œλ₯Ό μ΄ν•΄ν•˜κ³  μ‚¬μš©ν•  수 μžˆλŠ” ꡬ쑰둜 λ³€ν™”ν•˜λŠ” 것을 μ˜λ―Έν•œλ‹€. πŸ”— DOM(돔)μ΄λž€? DOM(돔)μ΄λž€? Virtual DOM(가상 돔)μ΄λž€? πŸ”— DOM(돔)μ΄λž€? 'Document Object Model'. HTML, XML λ¬Έμ„œμ˜ ν”„λ‘œκ·Έλž˜λ° μΈν„°νŽ˜μ΄μŠ€μ΄λ‹€. λ¬Έμ„œμ˜ κ΅¬μ‘°ν™”λœ ν‘œν˜„μ„ μ œκ³΅ν•˜λ©° ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄κ°€ DOM ꡬ쑰에 μ ‘κ·Όν•  수 μžˆλŠ” 방법(API)을 μ œκ³΅ν•˜μ—¬ λ¬Έμ„œ ꡬ쑰, devjindev.tistory.com πŸ”— λΈŒλΌμš°μ € λ Œλ”λ§ κ³Όμ • β‘  HTML νŒŒμ„œμ— HTML μ½”λ“œκ°€ λ“€μ–΄μ˜€λ©΄, 이것을 νŒŒμ‹±ν•˜μ—¬ DOM 트리λ₯Ό μƒμ„±ν•œλ‹€. β‘‘ C..