Promise 등장 배경 자바스크립트에서 비동기 처리를 위해서 전통적으로 콜백 함수를 사용하였다. 함수 내부에서 함수 호출을 통해 비동기 작업의 결과를 받아서 인자로 주면 이를 이용해 후속 처리 작업을 수행하는 것이다. 콜백 함수는 중첩될 수록 가독성이 떨어지고 코드의 흐름을 파악하기 어려워진다는 문제가 있는데 특히 여러 개의 비동기 작업을 수행해야 할 때는 이른바 콜백 지옥(callback hell) 현상이 발생하게 된다. function increaseAndPrint(n, callback) { setTimeout(() => { const increased = n + 1; console.log(increased); if (callback) { callback(increased); // 콜백함수 호출 }..
리덕스란? 자바스크립트 상태 관리 라이브러리 리덕스가 왜 필요할까? 프로젝트 규모가 커질 수록 컴포넌트 개수도 많아질 것이고 그에 따라 서로 다른 컴포넌트끼리 공유하는 상태(state) 또한 많아진다. 리액트는 부모 컴포넌트에서 자식 컴포넌트로 데이터가 흐르는 단방향 패턴이며 자식 컴포넌트들 간 다이렉트로 데이터 전달이 불가능하다. 리액트만으로 상태를 관리할 때 문제점 Props drilling 이슈 하위 컴포넌트에서 상위 컴포넌트에 있는 상태를 변화시키기 위해서는 여러 번의 props 전달을 통해야 한다. 전달만을 위한 props가 생기기 때문에 코드가 복잡해지고 유지보수가 어려워지며, 불필요한 리렌더링이 많아지는 단점이 있다. 리덕스를 이용할 때 이점 리덕스를 이용하면 Store라는 전역 상태 저장소..
개요 배열은 프로그래밍이나 알고리즘을 풀 때 항상 사용하게 되는 자료형인데 사용할 때마다 새로운 것을 알게되는 것 같다. 기초이자 너무나 중요한 요소이기 때문에 새로운 것을 알게될 때마다 업데이트를 하고 두고두고 찾아보고자 개념 정리를 해보기로 하였다! 배열 선언 & 초기화 배열을 선언할 때 미리 타입과 크기를 지정해주어야 한다. // int 형 배열 선언 & 초기화 int[] score = new int[5]; // int 타입의 값 5개가 저장될 빈 공간 생성 // 초기화 score[0] = 10; score[1] = 20; score[2] = 30; score[3] = 40; score[4] = 50; // for문으로 배열을 순차적으로 순회에 값을 넣어주는 방법도 있다. for(int i = 0;..
동기와 비동기 의미 동기는 하나의 요청이 오면 완료가 되어야 다음 요청을 실행하는 순차적 방식으로 흐름을 쉽게 예측할 수 있고 비동기는 어떤 요청이 완료되기 전에 다음 요청을 실행하는 동시적 방식으로 여러 작업을 동시에 효율적으로 처리할 수 있다. 콜백 함수 콜백 함수의 사용 목적 비동기 방식으로 작성된 함수를 동기 처리하기 위해 주로 사용된다. 비동기 처리를 기본으로 하면서 일부 순차적인 처리를 해야될 때가 있기 때문이다. 콜백 함수 형태 function main(param1, param2, callbackFunc) { // ... 처리 내용 callbackFunc(); } main(1, 2, func()); 보통 함수를 선언한 뒤 함수 타입 파라미터를 맨 마지막에 하나 더 선언해주는 방식으로 정의한다..
UI/UX란? UI (User Interface) 디자인 사용자가 서비스를 사용할 때 마주하는 디자인 눈에 보이는 디자인적 요소! ex) 폰트, 컬러, 간격, 레이아웃, 애니메이션 등 UX (User Experience) 경험 서비스를 사용하는 사용자가 겪는 다양한 경험(감정) 목적 사용자가 편리하도록 UI를 디자인해서 더 나은 사용자 경험을 제공하기 위함 UI 디자인을 통해 만들어진 서비스를 사용하면서 느끼는 감정, 경험을 UX라고 할 수 있다! 하인즈 케첩 예시 유리병(UI) 으로 만들어져있었던 때에 아래에 남아있는 케첩을 사용하기 어려움(불편한 UX) 플라스틱으로 바꾸어서(UI 개선) 남아있는 케첩을 사용하기 편하게 됨(UX 개선) UI/UX 의 심리학 법칙 제이콥의 법칙 사용자는 새로운 경험을 이..
- Total
- Today
- Yesterday
- dfs
- Comparator
- 백준
- Queue
- 정렬
- DP
- 자바
- 알고리즘
- 이분탐색
- 스프링부트
- Nest
- 타입스크립트
- BFS
- 자바트리
- 프로그래머스
- Spring
- SQL
- 자바dp
- 리액트
- Algorithm
- JPA
- 스프링
- 자바bfs
- CS
- 형변환
- JavaScript
- SQLD
- 해시맵
- 자바스크립트
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |