제네릭이란?! 제네릭은 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법이다. ArrayList list = new ArrayList(); 주로 Collection Framwork를 선언할 때 꺽쇠 괄호() 를 함께 사용하는데 그 꺽쇠 괄호가 제네릭이다. 괄호 안에 타입을 쓰면 해당 컬렉션의 자료형 타입이 지정되는데 위 예제의 경우 list에는 Integer 타입만 저장할 수 있게 된다. 제네릭에 대해 공부하기 전에는 변수에 타입을 지정하듯이 컬렉션에 타입을 지정하는 것이라고 추측하였었는데 맞는 말이긴 하지만 변수 타입보다 더 깊은 내용이 있다. String[] str = new String[5]; ArrayList list = new ArrayList(5); 제네릭 타입 매개변수 정의 제네릭..
프로젝트 소개 프로젝트명: TO-DO-IT 리액트와 스프링부트를 연동한 투두리스트 어플리케이션 기술 스택 주요 기능 투두리스트 CRUD 완료시 목록의 하단으로 이동, 완료 날짜 출력 목표 달성도 실시간 반영 히스토리 날짜별로 완료한 투두리스트 확인 데이터베이스 연동 주요 코드 내용 오늘의 투두리스트 const [todos, setTodos] = useState([]); const [complete, setComplete] = useState(true); // axios 호출 성공시 true const [attain, setAttain] = useState(0); // 달성한 todo 개수 const [checked, setChecked] = useState(false); const day = dayjs(..
이분 탐색, 이진 탐색 이분 탐색(이진 탐색) 알고리즘은 정렬되어 있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법이다. 변수 3개(start, mid, end)를 사용해서 탐색을 한다. 찾으려는 데이터와 중간점 위치에 있는 데이터를 반복적으로 비교해서 원하는 데이터를 찾는다. 예시 1 2 3 4 5 6 7 8 9 10 에서 7 이라는 숫자를 찾는다고 할 때, 처음에는 start = 0, end = max(10) 이다. 1~10 중간인 5(mid)와 7을 비교한다. 5 < 8 이므로 5 보다 작은 이전 인덱스들은 탐색할 필요가 없어진다. start = mid + 1 6 7 8 9 10 중 중간인 8(mid)과 7을 비교한다. 8 < 7 이므로 8보다 큰 인덱스들은 탐색하지 않는다. en..
등장배경 콜백 함수가 중첩될 수록 코드가 복잡해진다는 콜백 지옥을 해결하기 위해 Promise가 등장하였는데 Promise 또한 체인이 반복되면 프로미스 지옥이 펼쳐진다. Promise Hell 예시 fetch("URL") .then((response) => { if (response.ok) { return response.json(); } else { throw new Error("Error"); } }) .then((users) => { return users.map((user) => user.login); }) .then((logins) => { return logins.join(", "); }) .then((result) => { console.log(result); }) .catch((error..
Promise 등장 배경 자바스크립트에서 비동기 처리를 위해서 전통적으로 콜백 함수를 사용하였다. 함수 내부에서 함수 호출을 통해 비동기 작업의 결과를 받아서 인자로 주면 이를 이용해 후속 처리 작업을 수행하는 것이다. 콜백 함수는 중첩될 수록 가독성이 떨어지고 코드의 흐름을 파악하기 어려워진다는 문제가 있는데 특히 여러 개의 비동기 작업을 수행해야 할 때는 이른바 콜백 지옥(callback hell) 현상이 발생하게 된다. function increaseAndPrint(n, callback) { setTimeout(() => { const increased = n + 1; console.log(increased); if (callback) { callback(increased); // 콜백함수 호출 }..
- Total
- Today
- Yesterday
- 자바
- 이분탐색
- 형변환
- Algorithm
- Queue
- 스프링부트
- 알고리즘
- 정렬
- BFS
- Comparator
- 리액트
- Spring
- SQLD
- 자바bfs
- 자바트리
- 프로그래머스
- java
- 스프링
- 백준
- JavaScript
- CS
- 해시맵
- 자바dp
- Nest
- JPA
- 자바스크립트
- dfs
- DP
- SQL
- 타입스크립트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |