async 4

자바스크립트 Promise에 대해서 아는 대로 설명해주세요.

Promise란? 🤔Promise는 비동기 작업의 최종 완료(또는 실패)와 그 결과값을 나타내는 객체입니다. 쉽게 말해 "나중에 완료될 작업"에 대한 약속입니다.// API에서 데이터를 가져오는 Promise 예시const fetchUserData = (userId) => { return new Promise((resolve, reject) => { fetch(`/api/users/${userId}`) .then(response => { if (response.ok) resolve(response.json()); else reject(new Error('사용자 정보를 불러올 수 없습니다')); }) .catch(error => reject(er..

웹 애플리케이션의 성능을 최적화할 수 있는 방법들에 대해서 아는대로 설명해주세요.

웹 애플리케이션의 성능을 최적화할 수 있는 방법들1️⃣ 코드 스플리팅(Code Splitting) ✂️필요한 코드만 먼저 불러오자!SPA(싱글 페이지 앱)에서 모든 JS 파일을 한 번에 불러오면 너무 무겁죠!✅ 페이지별로 필요한 파일만 나눠서 로드하면 초기 로딩 속도가 빨라져요.💻 예시 (React + React.lazy)const MyPage = React.lazy(() => import('./MyPage'));}> 2️⃣ 레이지 로딩(Lazy Loading) 🐢보이는 것만 불러오자!이미지나 동영상은 스크롤해서 보일 때만 로딩되도록 하면네트워크를 아낄 수 있어요!💻 예시 (HTML)✅ 크롬, 사파리 등 최신 브라우저 지원!3️⃣ 이미지 최적화 🖼이미지는 꼭 압축하거나 포맷 변경!JPG → We..

동기와 비동기의 차이점은 무엇인가요?

🔄 동기(Synchronous)란?"기다릴게, 네가 끝날 때까지!"함수 A가 함수 B를 호출하고, B가 끝날 때까지 A는 멈춰 있음.즉, 순차적으로 작업이 실행됩니다.✅ 예시String data = getData(); // getData가 끝나야 다음 줄 실행System.out.println("데이터: " + data);📌 getData() 함수가 완료될 때까지 기다렸다가 다음 코드 실행됨!🚀 비동기(Asynchronous)란?"먼저 갈게! 네가 끝나면 알려줘~"함수 A가 함수 B를 호출하고 B의 결과를 기다리지 않고 자기 일을 먼저 처리합니다.결과는 콜백, Future, 이벤트 등을 통해 나중에 받습니다.✅ 예시 (Spring)@Asyncpublic void sendEmail() { // 이..

[2회 - 데일리과제] 동기와 비동기 & 프로세스와 스레드

1. 동기와 비동기 코드 실행방식에 대해 설명해보세요. 동기는 요청을 보낸 후 응답을 받아야지만 다음 동작이 이루어지는 방식이다. 어떠한 태스크를 처리할 동안 나머지 태스크는 대기한다. 실제로 cpu가 느려지는 것은 아니지만 시스템의 전체적인 효율이 저하된다고 할 수 있다. (작업을 동시에 수행, 동시에 끝남, 끝나는 동시에 시작함을 의미) 반면에 비동기는 요청을 보낸 후 응답의 수락 여부와는 상관없이 다음 태스크가 동작하는 방식이다. 자원을 효율적으로 사용할 수 있다. 이때, 비동기 요청시 응답 후 처리할 콜백 함수를 함께 알려준다. (시작, 종료가 일치하지 않으며, 끝나는 동시에 시작을 하지 않음을 의미) 하지만 비동기 처리를 위해 여러개의 콜백함수를 중첩시키면 콜백지옥이 발생한다. 이를 해결하기 위..