오늘 TIL 3줄 요약 모든 일에 동시성이 있다. 불규칙한 실패는 동시성 문제인 경우가 많다. 칠판으로 작업 흐름을 조율하라. TIL (Today I Learned) 날짜 2022. 03. 30 오늘 읽은 범위 6장. 동시성 책에서 기억하고 싶은 내용을 써보세요. 동시성은 둘 이상의 코드 조각이 실행될 때 동시에 실행 중인 것처럼 행동하는 것이다. 그리고 병렬성이란 실제로 동시에 실행되는 것이다. - page.241 여러분의 애플리케이션이 실제 세상을 다루기 원한다면 동시성은 필수다. 세상은 비동기적이기 때문이다. 사용자와 상호작용하고, 데이터를 불러오고, 외부 서비스를 호출하는 일을 동시에 해야 한다. 만약 이를 순차적으로 하나를 끝낸 다음에 다음 일을 하는 식으로 수행한다면, 시스템은 거북이처럼 느리..
연습 문제 2 문제 객체 지향 언어와 함수형 언어의 직교성은 어떻게 다를까? 이런 차이가 언어 자체에 내재된 것일까 아니면 사람들이 언어를 사용하는 방법이 다른 것일까? 풀이 객체 지향 언어에서는 개발에 쓰이는 컴포넌트를 대폭 수정할 경우 컴포넌트에서 서로 연관되어 있는 연결점 때문에 몇 개의 모듈이 영향을 받을 수 있으며 개발자 역량에 따라 혹은 개발하는 프로그램의 스케일에 따라 수정하는 컴포넌트 단 하나의 모듈만 영향을 받을 수 있다. 함수형 언어에서는 수정할 때 처음부터 단 하나의 수정할 모듈만 영향을 받도록 설계를 해야 하기 때문에 언어적인 시스템을 이용하여 객체 지향 언어에 비해 에러가 더 적게 나거나 테스트가 더 용이한 점이 있다. 따라서 두 언어 간의 직교성 차이는 객체 지향에서도 직교성을 ..
graphQL이란? 그래프 QL은 페이스북이 2012년에 개발하여 2015년에 공개적으로 발표된 데이터 질의어이다. 그래프 QL은 REST 및 부속 웹서비스 아키텍처를 대체할 수 있다. 클라이언트는 필요한 데이터의 구조를 지정할 수 있으며, 서버는 정확히 동일한 구조로 데이터를 반환한다. 장점 1. Overfetching을 없앨 수 있다. 예를 들어 모든 사용자 이름을 GET으로 가져오는데 사용자 이름과 더불어 프로필 사진, 전화번호, 이메일 등 필요한 정보보다 더 많이 서버로부터 받는 것을 Overfetching이라고 하는데 graphQL을 사용한다면 필요한 정보만 가져올 수 있어서 Overfetching을 막을 수 있다. 2. UnderFetching을 막을 수 있다. UnderFetching이란 화..
오늘 TIL 3줄 요약 높은 결합도는 변경의 적이다. 이벤트에 잘 반응하는 애플리케이션을 만드는 전략 4가지 (유한 상태 기계, 감시자 패턴, 게시-구독 , 반응형 프로그래밍과 스트림) 다형성은 인터페이스로 표현하는 것이 좋다. ( 인터페이스와 프로토콜은 상속 없이도 다형성을 가져다준다.) TIL (Today I Learned) 날짜 2022. 03. 26 오늘 읽은 범위 5장. 구부러지거나 부러지거나 책에서 기억하고 싶은 내용을 써보세요. 메서드 호출을 엮지 말라. 무언가에 접근할 때 "."을 딱 하나만 쓰려고 노력해보라. - page.188 전역적이어야 할 만큼 중요하다면 API로 감싸라. - page.191 결합된 코드는 바꾸기 힘들다. 직접적으로 아는 것만 다루는 부끄럼쟁이 코드를 계속 유지하라...
문제 이번 정보올림피아드대회에서 좋은 성적을 내기 위하여 현수는 선생님이 주신 N개의 문제를 풀려고 합니다. 각 문제는 그것을 풀었을 때 얻는 점수와 푸는데 걸리는 시간이 주어지게 됩 니다. 제한시간 M안에 N개의 문제 중 최대점수를 얻을 수 있도록 해야 합니다. (해당문제는 해당시간이 걸리면 푸는 걸로 간주한다, 한 유형당 한개만 풀 수 있습니다.) 풀이 function solution(m, arr) { let answer = 0; let dy = Array.from({ length: m + 1 }, () => 0); for (let i = 0; i = pt; ..
냅색 알고리즘이란? 배낭 문제는 조합 최적화의 유명한 문제이다. 간단하게 말하면, 한 여행가가 가지고 가는 배낭에 담을 수 있는 무게의 최댓값이 정해져 있고, 일정 가치와 무게가 있는 짐들을 배낭에 넣을 때, 가치의 합이 최대가 되도록 짐을 고르는 방법을 찾는 문제이다. 문제 다음과 같이 여러 단위의 동전들이 주어져 있을때 거스름돈을 가장 적은 수의 동전으로 교환 해주려면 어떻게 주면 되는가? 각 단위의 동전은 무한정 쓸 수 있다. 풀이 function solution(m, coin) { let answer = 0; let dy = Array.from({ length: m + 1 }, () => 1000); dy[0] = 0; for (let i = 1; i < coin.length; i++) { for..
문제 N개의 자연수로 이루어진 수열이 주어졌을 때, 그 중에서 가장 길게 증가하는(작은 수에서 큰 수로) 원소들의 집합을 찾는 프로그램을 작성하라. 예를 들어, 원소가 2, 7, 5, 8, 6, 4, 7, 12, 3 이면 가장 길게 증가하도록 원소들을 차례대로 뽑아내면 2, 5, 6, 7, 12를 뽑아내어 길 이가 5인 최대 부분 증가수열을 만들 수 있다. 풀이 function solution(arr) { let answer = 0; let dy = Array.from({ length: arr.length }, () => 0); dy[0] = 1; for (let i = 1; i = 0; j--) { if (arr[i] > arr[j] && dy[j] > max) { max = dy[j]; } } dy[..
문제 철수는 학교에 가는데 개울을 만났습니다. 개울은 N개의 돌로 다리를 만들어 놓았습니다. 철 수는 돌 다리를 건널 때 한 번에 한 칸 또는 두 칸씩 건너뛰면서 돌다리를 건널 수 있습니다. 철수가 개울을 건너는 방법은 몇 가지일까요? 풀이 function solution(n) { let answer = 0; let dy = Array.from({ length: n + 2 }); dy[1] = 1; dy[2] = 2; for (let i = 3; i
- Total
- Today
- Yesterday
- javascript
- 스토리 북
- 프리온보딩
- React
- WSL2
- 초보
- 위코드
- 원티드
- 윤성우 열혈C프로그래밍
- 노개북
- 아차산
- nextjs
- 북클럽
- 우아한테크코스
- CLASS
- NextApiRequest
- env
- C언어
- createPortal
- NextRequest
- electron
- TopLayer
- 노마드코더
- nodejs
- import/order
- Storybook
- error
- jest
- 프론트앤드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |