- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- LEVEL1
- 프로그래머스
- 면접을 위한 cs 전공지식 노트
- LEVEL 2
- MariaDB
- 코딩테스트
- react
- Err-Handling
- TMIL
- 오늘도 개발자가 안된다고 말했다
- Docker
- Refactoring
- java
- 코어 자바스크립트
- TWIL
- 알고리즘
- Git
- 리팩터링 2판
- 에러핸들링
- TIL
- javascript
- First Project
- CSS
- mongodb
- 배포
- sql
- LEVEL 1
- CRUD
- typescript
- 아고라스테이츠
목록CodeStates/Section 3 (백엔드) (36)
성장에 목마른 코린이

Atlas Cluster 생성하기 Atlas Cluster는 다음 10가지 단계를 통해 생성합니다. 1. Create an Organization을 선택합니다. 2. 원하는 Organization 이름을 입력합니다. Cloud Service가 MongoDB Atlas로 되어 있는지 확인하고 다음으로 넘어갑니다. 3. Create Organization을 누릅니다. 4. New Project를 누릅니다. 5. 프로젝트의 이름을 정한 뒤 다음으로 넘어갑니다. 6. Create Project를 누릅니다. 7. Build a Cluster를 누릅니다. 8. 맨 오른쪽 FREE라고 써진 옵션의 Create a cluster를 누릅니다. Cloud Provider & Region에서 현재 위치에서 가장 가까운 지역..

데이터베이스 설계 관계형 데이터베이스 (Relational database) 구조화된 데이터는 하나의 테이블로 표현할 수 있습니다. 사전에 정의된 테이블을 relation이라고도 부르기 때문에 테이블을 사용하는 database를 Relational database라고 합니다. 관계형 데이터베이스에서 반드시 알고 있어야 하는 키워드! 데이터(data): 각 항목에 저장되는 값입니다. 테이블(table; 또는 relation) : 사전에 정의된 열의 데이터 타입대로 작성된 데이터가 행으로 축적됩니다. 칼럼(column; 또는 field) : 테이블의 한 열을 가리킵니다. 레코드(record; 또는 tuple) : 테이블의 한 행에 저장된 데이터입니다. 키(key) : 테이블의 각 레코드를 구분할 수 있는 값..

ACID 트랜젝션(Transaction) 데이터베이스의 상태를 변환시키는 기능을 수행하기 위해 행해지는 하나 이상의 쿼리를 모아 놓은 하나의 작업 단위 트랜잭션이 갖추어야 할 ACID조건 4가지 ACID의 실패사례 및 해결 방악

(Advanced) Algorithm with Math - 멱집합 어떤 집합이 있을 때, 이 집합의 모든 부분집합을 멱집합 이라고 합니다. 집합 {1, 2, 3}의 모든 부분집합은 {}, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3} 으로 나열할 수 있고, 이 부분집합의 총 개수는 8개입니다. 그리고 이 모든 부분집합을 통틀어 멱집합이라고 합니다. 이렇게 모든 부분집합을 나열하는 방법은 다음과 같이 몇 단계로 구분할 수 있습니다. 부분집합을 나열하는 방법에서 가장 앞 원소가 있는지, 없는지에 따라 단계를 나누는 기준을 결정합니다. 멱집합을 구하는 방법에서 각 단계를 유심히 살펴보면, 순환 구조를 띠는 것을 확인할 수 있습니다. 여기서 순환구조는 임의의 원소를 제외..

Algorithm with Math - GCD / LCM 최대 공약수(GCD. Greatest Common Divisor): 둘 이상의 공약수 중에서 최대인 수 최소 공배수(LCM. Least Common Multiple): 둘 이상의 공배수 중에서 최소인 수 문제: Mask States 방역용 마스크를 제작/판매하는 Mask States 사는 이례적인 전염성 독감 예방을 위해 기존 가격을 유지하며 약속된 물량의 방역용 마스크를 제공하고 있습니다. 이 회사는 사장을 포함하여 A, B, C 세 명뿐이고, 이들 모두 마스크를 제작합니다. 각각의 제작 속도는 다음과 같습니다. A는 55분마다 9개를, B는 70분마다 15개를, C는 85분마다 25개의 방역용 마스크를 만들 수 있습니다. 이 회사의 사람들은 0..
Algorithm with Math - 순열 / 조합 문제: 카드 뽑기 [A, B, C, D, E]로 이뤄진 5장의 카드가 있습니다. 이 5장의 카드 중 3장을 선택하여 나열하려고 합니다. 이때, 다음의 조건을 각각 만족하는 경우를 찾아야 합니다. 순서를 생각하며 3장을 선택합니다. 순서를 생각하지 않고 선택합니다. 각 조건을 만족하면서 카드를 나열하는 방법은 모두 몇 가지인가요? 순열 공식 : nPr = n! / (n - r)! 5장에서 3장을 선택하는 모든 순열의 수 = 5P3 = (5 X 4 X 3 X 2 X 1) / (2 X 1) = 60 가지 조합 공식: nCr = n! / (r! * (n - r)!) 5장에서 3장을 무작위로 선택하는 조합에서 모든 경우의 수 = 5C3 = 5! / (3! * ..
Math in Programming 우리가 사용하는 컴퓨터는 0과 1로 모든 연산을 실행합니다. 컴퓨터가 단순하게 연산하기 때문에, 기본적인 컴퓨터 과학과 수학은 통하는 부분이 있습니다. 그러므로 수학을 학습하는 것은 프로그래밍의 기본을 탄탄히 하는 일입니다. 알고리즘 파트에서 다루는 수학은 중학교 수준의 수학입니다. 프로그래밍을 위한 최소한의 수학이기 때문에, 수포자나 수학을 어려워하는 분도 충분히 따라올 수 있고, 학습해야만 하는 내용입니다. Algorithm with Math 알고리즘 문제를 풀 때 먼저 해야 할 것은 문제를 이해하고 어떻게 풀 것인지 전략을 세우는 것입니다. 전략을 세우지 않는다면, 어떤 자료구조, 알고리즘 기법을 사용할지 판단할 수 없습니다. 최근 코딩 테스트에 등장하는 알고리즘..
Dynamic Programming (DP; 동적 계획법) 탐욕 알고리즘과 함께 언급하는 알고리즘으로, 줄임말로는 DP라고 하는 이 알고리즘은, 탐욕 알고리즘과 같이 작은 문제에서부터 출발한다는 점은 같습니다. 그러나 탐욕 알고리즘이 매 순간 최적의 선택을 찾는 방식이라면, Dynamic Programming은 모든 경우의 수를 조합해 최적의 해법을 찾는 방식입니다. Dynamic Programming의 원리 주어진 문제를 여러 개의 하위 문제로 나누어 풀고, 하위 문제들의 해결 방법을 결합하여 최종 문제를 해결합니다. 하위 문제를 계산한 뒤 그 해결책을 저장하고, 나중에 동일한 하위 문제를 만날 경우 저장된 해결책을 적용해 계산 횟수를 줄입니다. 다시 말해, 하나의 문제는 단 한 번만 풀도록 하는 알고..
Implementation 알고리즘 문제를 푼다는 것은, 내가 생각한 문제 해결 과정을 컴퓨팅 사고로 변환해 코드로 구현한다는 것과 같습니다. 데이터를 정렬할 수 있는가? 데이터를 효율적으로 탐색할 수 있는가? 데이터를 조합할 수 있는가? ...etc 카테고리를 분류한다고 해도 내가 생각한 로직을 '코드로 구현'한다는 건 전부 공통적인 속성입니다. 이러한 문제 해결을 코드로 풀어낼 때, 정확하고 빠를 수록 구현 능력이 좋다고 말합니다. 구현 능력이 좋은 개발자를 선발할 의도로 구현 능력을 직접 평가하기도 합니다. 정해진 시간 안에 빠르게 문제를 해결하는 능력을 보기 위함입니다. 머리로 이해하고 있어도 코드로 작성하지 않거나 시간 부족으로 못한다면 정답이 될 수 없기 때문입니다. 본인이 선택한 프로그래밍 ..

Greedy Algorithm Greedy Algorithm(탐욕 알고리즘)은 말 그대로 선택의 순간마다 당장 눈앞에 보이는 최적의 상황만을 쫓아 최종적인 해답에 도달하는 방법입니다. 탐욕 알고리즘으로 문제를 해결하는 방법은 다음과 같이 단계적으로 구분할 수 있습니다. 선택 절차(Selection Procedure): 현재 상태에서의 최적의 해답을 선택합니다. 적절성 검사(Feasibility Check): 선택된 해가 문제의 조건을 만족하는지 검사합니다. 해답 검사(Solution Check): 원래의 문제가 해결되었는지 검사하고, 해결되지 않았다면 선택 절차로 돌아가 위의 과정을 반복합니다. 김코딩은 오늘도 편의점에서 열심히 아르바이트하고 있습니다. 손님으로 온 박해커는 과자와 음료를 하나씩 집어 들..

시간 복잡도 입력값의 변화에 따라 연산을 실행할 때, 연산 횟수에 비해 시간이 얼마만큼 걸리는가? 시간 복잡도를 표기하는 방법은 다음과 같습니다. Big-O(빅-오) Big-Ω(빅-오메가) Big-θ(빅-세타) 위 세 가지 표기법은 시간 복잡도를 각각 최악, 최선, 중간(평균)의 경우에 대하여 나타내는 방법입니다. Big-O 표기법 세 가지 시간 복잡도 표기법 중 Big-O 표기법이 가장 자주 사용됩니다. 최악의 경우를 고려하므로, 프로그램이 실행되는 과정에서 소요되는 최악의 시간까지 고려할 수 있기 때문입니다. O(1) constant complexity 입력값이 증가하더라도 시간이 늘어나지 않습니다. 입력값의 크기와 관계없이, 즉시 출력값을 얻어낼 수 있습니다. // O(1)의 시간 복잡도를 가진 알..

export: 환경변수 확인하기 && 환경변수 임시 적용 Linux 운영체제에는 이미 많은 환경변수가 설정되어 있습니다. 터미널에 명령어 export 를 입력하면, 현재 설정된 환경변수를 확인할 수 있습니다. 명령어 export 를 이용하면, 새로운 환경변수를 추가할 수 있습니다. 이 때 등호 표시(Equal sign, =) 앞뒤에는 반드시 공백이 없어야 합니다. // 새로운 환경변수 urclass="is good" 을 설정합니다. export urclass="is good" 명령어 echo 와 함께 환경변수를 입력하면, 환경변수의 값을 확인할 수 있습니다. 이때 환경변수의 앞에는 $을 입력하여, 변수라는 뜻을 터미널에 전달합니다. dotenv: 자바스크립트에서 환경변수 사용하기 npm 모듈 dotenv..