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

πŸ’» DEV94

[Javascript] Async ν•¨μˆ˜μ™€ Await ✨ Async ν•¨μˆ˜λž€? Promise λ₯Ό 쑰금 더 νŽΈλ¦¬ν•˜κ²Œ μ‚¬μš©ν•  수 μžˆλŠ” ν•¨μˆ˜μ΄λ‹€. ν•¨μˆ˜ μ„ μ–Έ μ•žμ— async ν‚€μ›Œλ“œλ₯Ό λΆ™μ—¬μ„œ μ‚¬μš©ν•  수 있으며, ν•΄λ‹Ή ν•¨μˆ˜λŠ” 항상 Promise λ₯Ό λ°˜ν™˜ν•œλ‹€. λ˜ν•œ, return 값이 Promise κ°€ μ•„λ‹ˆλ”λΌλ„ Resolved Promise 둜 ν•΄λ‹Ή 값을 κ°μ‹Έμ„œ λ°˜ν™˜ν•œλ‹€. async function Callback(){ // some code here } ✨ Await μ΄λž€? Async ν•¨μˆ˜ λ‚΄λΆ€μ—μ„œλ§Œ 호좜 κ°€λŠ₯ν•œ ν‚€μ›Œλ“œμ΄λ‹€. Promise κ°€ 처리될 λ•ŒκΉŒμ§€ ν•¨μˆ˜ 싀행을 κΈ°λ‹€λ¦° 후에 κ²°κ³Όλ₯Ό λ°˜ν™˜ν•˜λ„λ‘ ν•œλ‹€. ν”„λΌλ―ΈμŠ€κ°€ 처리되길 κΈ°λ‹€λ¦¬λŠ” λ™μ•ˆμ— 엔진이 λ‹€λ₯Έ 일을 ν•  수 μžˆλ„λ‘ ν•œλ‹€. async function f() { let promise = new Promise((.. 2021. 5. 27.
[Javascript] Promise (ν”„λ‘œλ―ΈμŠ€) ✨ Promise λž€? ν–₯ν›„ μ‚¬μš©ν•˜κ²Œ 될 비동기 μ—°μ‚°μ˜ 결과값을 μ²˜λ¦¬ν•˜λ„λ‘ λ„μ™€μ£ΌλŠ” JS 객체이닀. 비동기 λ©”μ„œλ“œμ—μ„œ 동기 λ©”μ„œλ“œμ²˜λŸΌ 값을 λ°˜ν™˜ν•  수 μžˆλ‹€. 예제) const testing = new Promise((resolve, reject) => { if (something) resolve(something) else reject(error message) }) testing .then(() => return something2) .catch(() => return error) .finally(() => return final) ✨ Promise 의 3가지 μƒνƒœ: Fulfilled: 연산이 μ„±κ³΅μ μœΌλ‘œ μ™„λ£Œλœ μƒνƒœμ΄λ‹€. Rejected: 연산이 μ‹€νŒ¨ν•œ μƒνƒœμ΄λ‹€. Pending: Resolve λ‚˜ Re.. 2021. 5. 27.
[Javascript] 비동기, 동기 ν•¨μˆ˜ (Asynchronous, Synchronous) λž€? ✨ Synchronous vs Asynchronous 동기식: μ½”λ“œμ˜ execution 이 μš”μ²­κ³Ό λ™μ‹œμ— μΌμ–΄λ‚˜λ©°, 순차적으둜 μ‹€ν–‰λœλ‹€. 비동기식: μ½”λ“œμ˜ execution 이 μš”μ²­κ³Ό λ™μ‹œμ— μΌμ–΄λ‚˜μ§€ μ•ŠμœΌλ©°, λ³‘λ ¬μ μœΌλ‘œ μ‹€ν–‰λœλ‹€. μ˜ˆμ‹œ) μž‘μ—… λͺ©λ‘: 1. 화면에 μ˜μƒ λͺ©λ‘μ„ λ„μ›ŒλΌ 2. 첫 번째 μ˜μƒμ„ 틀어라 3. ν•˜λ‹¨μ— μΆ”μ²œ μ˜μƒ λͺ©λ‘μ„ λ„μ›ŒλΌ 동기식: 1 μ‹€ν–‰ -> 2 μ‹€ν–‰ -> μ˜μƒ 정보 μš”μ²­ -> μ˜μƒ 정보 μˆ˜μ‹  -> μ˜μƒ 좜λ ₯ -> 3 μ‹€ν–‰ 비동기식: 1 μ‹€ν–‰ -> 2 μ‹€ν–‰ -> 3 μ‹€ν–‰ |_ μ˜μƒ 정보 μš”μ²­ -> μ˜μƒ 정보 μˆ˜μ‹  -> μ˜μƒ 좜λ ₯ 동기식 방법을 λ”°λ₯΄λ©΄ 첫 번째 μ˜μƒμ˜ 데이터가 λͺ¨λ‘ λ“€μ–΄μ˜€κ³ , λκΉŒμ§€ μž¬μƒλ˜κΈ° μ „κΉŒμ§€λŠ” 3을 μ‹€ν–‰ν•  수 μ—†λ‹€. 비동기식 방법을 λ”°λ₯Ό 경우, 2κ°€ μ‹€ν–‰λ˜.. 2021. 5. 27.
[React] React 의 생λͺ…μ£ΌκΈ°(Life Cycle) λž€? ✨ Life Cycle μ΄λž€? μ»΄ν¬λ„ŒνŠΈκ°€ λΈŒλΌμš°μ €μƒμ— λ‚˜νƒ€λ‚˜κ³ (Mount), μ—…λ°μ΄νŠΈ 되고(Update), μ‚¬λΌμ§€λŠ” 일련의 과정을 μΉ­ν•œλ‹€. μ΄λŸ¬ν•œ κ³Όμ •μ—μ„œ ν˜ΈμΆœλ˜λŠ” λ©”μ„œλ“œλ₯Ό Life Cycle Method 라고 λΆ€λ₯΄λ©°, ν΄λž˜μŠ€ν˜• μ»΄ν¬λ„ŒνŠΈμ—μ„œλ§Œ μ‚¬μš©ν•  수 μžˆλ‹€. (ν•¨μˆ˜ν˜• μ»΄ν¬λ„ŒνŠΈλŠ” React 16.8 버전뢀터 λ„μž…λ˜μ—ˆμœΌλ©°, ν˜„μž¬λŠ” useState λ‚˜ useEffect둜 λ”μš± 많이 ν™œμš©λœλ‹€) 각 λ‹¨κ³„λ³„λ‘œ ν˜ΈμΆœλ˜λŠ” λ©”μ„œλ“œμ˜ μˆœμ„œμ™€ μ’…λ₯˜κ°€ λ‹€λ₯΄λ‹€. ✨ 1. Mount : DOM 에 μ—˜λ¦¬λ¨ΌνŠΈλ₯Ό λ„£λŠ” μž‘μ—… constructor: μ»΄ν¬λ„ŒνŠΈ 클래슀의 μƒμ„±μž ν•¨μˆ˜μ΄μž, μ»΄ν¬λ„ŒνŠΈκ°€ 생성될 λ•Œ ν˜ΈμΆœλ˜λŠ” ν•¨μˆ˜μ΄λ‹€. State와 λ‹€λ₯Έ κ°’λ“€μ˜ μ΄ˆκΈ°κ°’μ„ 지정할 λ•Œ μ‚¬μš©ν•œλ‹€. λ˜ν•œ, props λ₯Ό λ§€κ°œλ³€μˆ˜λ‘œ λ°›κ³ , super(pro.. 2021. 5. 27.
[Javascript] Class ✨ Class λž€? 객체λ₯Ό μƒμ„±ν•˜κΈ° μœ„ν•œ ν…œν”Œλ¦Ώμ΄λ‹€. ES6λΆ€ν„°λŠ” class ν‚€μ›Œλ“œλ‘œ 생성할 수 μžˆλ‹€. class Student{ constructor(name, age, major){ // constructor(μƒμ„±μž) ν•¨μˆ˜, 그리고 instance 의 properties(attributes) //instance 속성 μ •μ˜ this.name = name; this.age = age; this.major = major; // this = μƒμ„±λ˜λŠ” μΈμŠ€ν„΄μŠ€ } } Class 의 νŠΉμ§•: - ν•¨μˆ˜ν˜• Class λŠ” ν˜Έμ΄μŠ€νŒ…μ΄ μΌμ–΄λ‚˜μ§€λ§Œ, μ„ μ–Έν˜• Class λŠ” ν˜Έμ΄μŠ€νŒ…μ΄ μΌμ–΄λ‚˜μ§€ μ•ŠλŠ”λ‹€. - 클래슀 μ•ˆμ—λŠ” ν•˜λ‚˜μ˜ constructor λ©”μ„œλ“œλ§Œ μ‘΄μž¬ν•  수 있으며, μ—¬λŸ¬ 개의 constructor λ©”μ„œλ“œκ°€ μžˆμ„ 경우.. 2021. 5. 13.
[Network] 캐싱 (Caching), μΊμ‹œ (Cache) ✨ μΊμ‹œ(Cache)λž€? μ»΄ν“¨ν„°μ˜ μ„±λŠ₯을 ν–₯μƒμ‹œν‚€κΈ° μœ„ν•΄ μ‚¬μš©λ˜λŠ” λ©”λͺ¨λ¦¬μ΄λ‹€. ✨ Caching(캐싱)μ΄λž€? 캐싱: μ–΄λ–€ 것을 λ‚˜μ€‘μ— μœ μš©ν•˜κ²Œ μ‚¬μš©ν•˜κΈ° μœ„ν•΄ μ €μž₯ν•˜λŠ” 것이닀. λΈŒλΌμš°μ €λ‚˜ μ›Ήμ—μ„œλŠ” ν”„λ‘œκ·Έλž¨κ³Ό μ›Ήμ‚¬μ΄νŠΈμ˜ 정적인 μžμ‚°μ„ μ €μž₯ν•˜λŠ” 것이닀. (정적 μžμ‚°: 이미지, HTML, CSS, JAVASCRIPT) 즉, 이전에 이미 κ°€μ Έμ™”λ˜ λ¦¬μ†ŒμŠ€λ“€μ„ λ³΅μ‚¬ν•˜μ—¬ μ €μž₯해놓고 μš”μ²­ μ‹œμ— μž¬μ‚¬μš©ν•˜λŠ” 것이닀. μ›Ήκ³Ό μ•±μ˜ μ„±λŠ₯을 ν–₯μƒν•˜λ©°, (μΊμ‹œλŠ” 원본 λ¦¬μ†ŒμŠ€λ³΄λ‹€ ν΄λΌμ΄μ–ΈνŠΈ μ‚¬μ΄λ“œμ— κ°€κΉŒμ΄ μžˆμœΌλ―€λ‘œ) μ›Ήμ˜ λ°˜μ‘ 속도λ₯Ό 높인닀. ✨ Cache 의 μ’…λ₯˜ 사섀 (Private) ν•œ λͺ…μ˜ μ‚¬μš©μžλ§Œ μ‚¬μš©ν•˜λŠ” μΊμ‹œμ΄λ‹€. 사섀 λΈŒλΌμš°μ € μΊμ‹œλŠ” μ‚¬μš©μžμ— μ˜ν•΄ HTTPλ‘œλΆ€ν„° λ‹€μš΄λ‘œλ“œν•œ λͺ¨λ“  λ¬Έμ„œλ“€μ„ 가지고 μžˆλ‹€. μ΄λŠ” μ˜€ν”„λΌμΈ 브라우.. 2021. 5. 13.
[CS] 라이브러리 & ν”„λ ˆμž„μ›Œν¬ ✨ Library λž€? ν”„λ‘œκ·Έλž¨μ„ κ°œλ°œν•˜λŠ”λ° ν•„μš”ν•œ μ—¬λŸ¬ κΈ°λŠ₯을 ν™œμš©ν•  수 μžˆλ„λ‘ 묢어놓은 ν•¨μˆ˜λ‚˜ κΈ°λŠ₯의 집합이닀. 자주 ν™œμš©ν•˜κ±°λ‚˜ ν•„μš”ν•œ κΈ°λŠ₯을 νŽΈλ¦¬ν•˜κ²Œ μ‚¬μš©ν•  수 μžˆλ„λ‘ ν•΄μ€€λ‹€. μ œμ–΄κΆŒμ΄ κ°œλ°œμžμ—κ²Œ 주어진닀. 예 : JS 의 React 와 jQuery, Python 의 numpy Library 와 Module 의 μ°¨μ΄λŠ”? Module 은 ν•¨μˆ˜μ™€ 클래슀, λ³€μˆ˜κ°€ 슀크립트둜 이루어져어 μžˆλŠ” ν•˜λ‚˜μ˜ 파일이자 객체. import ν•˜μ—¬ μ‚¬μš©ν•  수 μžˆλ‹€. Library λŠ” module 의 μ§‘ν•©μ²΄λ‘œ λΆˆλ¦¬κΈ°λ„ ν•˜λ‚˜, κ·Έ λ²”μœ„κ°€ λ‹€μ–‘ν•˜μ—¬ κ°œλ°œμ—μ„œλŠ” 같은 κ°œλ…μœΌλ‘œ μ‚¬μš©λ˜κ³€ ν•œλ‹€. ✨ Framework λž€? ν”„λ‘œκ·Έλž¨μ„ κ°œλ°œν•˜κΈ° μœ„ν•œ ꡬ쑰λ₯Ό μ œκ³΅ν•˜λŠ” 개발 ν™˜κ²½μ΄λ‹€. (& κ·Έ 자체둜 Application 이닀.) 자주 μ‚¬μš©.. 2021. 5. 13.
[React] React μ—μ„œ 이미지(Image) μ²¨λΆ€ν•˜κΈ° ✨ Img tag λž€? 이미지λ₯Ό 뢈러올 수 μžˆλŠ” HTML νƒœκ·Έλ₯Ό μ˜λ―Έν•˜λ©°, DOM을 ν†΅ν•΄μ„œλ„ μž‘λ™ κ°€λŠ₯ν•˜λ‹€. React μ—μ„œμ˜ img νƒœκ·ΈλŠ” 기본적으둜 HTML νƒœκ·Έμ™€ λ™μΌν•œ attribute λ₯Ό 가지며, class 만 className (λ¦¬μ•‘νŠΈ 문법) 으둜 λ³€κ²½ν•˜μ—¬ 지정해주면 λœλ‹€. ✨ React μ—μ„œ 이미지 뢈러였기: μ›Ή url 을 톡해 이미지λ₯Ό 뢈러였고자 ν•œλ‹€λ©΄ src='###' μ•ˆμ— url 을 λ¬Έμžμ—΄λ‘œ μž‘μ„±ν•΄μ£Όλ©΄ λœλ‹€. 둜컬 디렉토리에 μ €μž₯λ˜μ–΄ μžˆλŠ” 이미지λ₯Ό 뢈러였기 μœ„ν•œ λ°©λ²•μœΌλ‘œλŠ” 두 가지가 μžˆλ‹€. 1. React App 의 Public 폴더 λ‚΄μ—μ„œ λΆˆλŸ¬μ˜€λŠ” 방법 2. μƒλŒ€ κ²½λ‘œμ™€ import문을 ν™œμš©ν•˜μ—¬ λΆˆλŸ¬μ˜€λŠ” 방법 ✨ 1. Public 폴더 λ‚΄μ—μ„œ 뢈러였기 React App 졜초 생성 μ‹œ .. 2021. 5. 9.
[React] React 의 μƒνƒœ (State) 와 μ΄νŽ™νŠΈ ν›…(Effect Hook) ✨ State λž€? μ»΄ν¬λ„ŒνŠΈ λ‚΄μ—μ„œ λ™μ μœΌλ‘œ λ³€κ²½λ˜λŠ” 값이닀. ✨ State 의 νŠΉμ§•μ€? μ»΄ν¬λ„ŒνŠΈ λ‚΄λΆ€μ—μ„œ μ œμ–΄(관리)λœλ‹€. State μ—…λ°μ΄νŠΈλŠ” 비동기적(Asynchronous)이닀. DOM 은 State κ°€ 변경될 λ•Œλ§ˆλ‹€ re-rendering λ˜μ§€ μ•ŠμœΌλ©°, μ—¬λŸ¬ μ°¨λ‘€μ˜ setState κ°€ μžˆλ‹€λ©΄ μ „λΆ€ ν†΅ν•©ν•˜μ—¬ ν•œ λ²ˆμ— re-rendering ν•œλ‹€. State λ₯Ό props 둜 μžμ‹ μ»΄ν¬λ„ŒνŠΈμ— 전달할 수 μžˆλ‹€. (μΊ‘μŠν™” λ˜μ—ˆκΈ° λ•Œλ¬Έμ΄λ‹€.) ✨ State λ₯Ό μ‚¬μš©ν•˜λŠ” 방법은? ν•¨μˆ˜ν˜• μ»΄ν¬λ„ŒνŠΈμ—μ„œλŠ” useState λΌλŠ” ν›…(Hook)을 톡해 μ‚¬μš©ν•  수 μžˆλ‹€. useState λ₯Ό ν™œμš©ν•˜μ—¬ state 의 μ΄ˆκΈ°κ°’μ„ 지정해쀄 수 있으며, μ΄ˆκΈ°κ°’μ€ μ–΄λ– ν•œ μžλ£Œν˜•μ΄λ“  될 수 μžˆλ‹€. (λ¬Έμžμ—΄, λ°°μ—΄, 객체 λ“±) se.. 2021. 5. 9.