본문 바로가기

분류 전체보기102

[DB] 설계 (Schema & Query Design) / SQL 함수, 실행순서 시작하기 앞서 Schema? 데이터베이스에서 데이터가 구성되는 방식과 서로 다른 엔티티 간의 관계에 대한 설명. 데이터베이스의 청사진. 쉽게 말해 데이터베이스에서 자료의 구조, 자료의 표현 방법, 자료 간의 관계를 형식 언어로 정의한 구조이다. https://dbdiagram.io/d/60fa52a9b7279e41233755ad 위 링크는 과제로 인스타 게시물에 의한 스키마디자인을 하였습니다. 인스타를 하는편이 아니어서 가볍게 했습니다. 스키마에 대해 이해에 도움이 되었으면 좋겠습니다. 과제로 스키마 디자인을 하면서 재미는 있었지만 업무라고 생각하면 스트레스 투성이일 것 같습니다. 1. 관계형 데이터베이스 구조화된 데이터는 하나의 테이블로 표현할 수 있습니다. 사전에 정의된 테이블을 relation 이라.. 2021. 7. 23.
[DB] DB / SQL, NoSQL 차이 / SQL 설치 및 명령어 1. 데이터베이스는 왜 필요한가? In-memory -> 보통은 컴퓨터를 끄면 데이터가 없어지거나, 데이터를 불러 올 수가 없습니다. File I/0 -> 필요한 데이터만 가져올 수 없고 항상 파일(모든데이터)을 가져온 뒤 서버에서 필터링 필요합니다. 이러한 문제를 해결하기 위해 데이터 베이스가 존재합니다. Database 필터링 외에도 File I/O 로구현이 힘든 관리를 위한 여러기능들을 가지고 있는 데이터에 특화된 서버 필터링을 하기 위해 쿼리 (SELECT, FROM, WHERE 등등..)가 존재 합니다. 데이터 베이스가 존재 함으로써 간략하게 아래와 같이 동작 할 수 있습니다. 클라이언트 - "어떤 목록" 보여줘 서버 - 데이터 베이스에서 "어떤 목록"을 보기위한 쿼리문을 보냄 데이터베이스 - .. 2021. 7. 22.
[알고리즘] 소수 판별식 (에라토스테네스의 체) 1. num 사이의 숫자를 모두 나눠서 확인하는 방법 function isPrime(num) { for(let i = 2; num > i; i++) { if(num % i === 0) { return false; } } return num > 1; } 2. num 제곱근 까지만 확인 하는 방법 function isPrime(num) { let sqrt = parseInt(Math.sqrt(num)); // num에 제곱근 후 소수점 버림 if (num === 1) { return false; } if (num === 2) { return true; } if (num % 2 === 0) { return false; } // 1, 2에 대한 경우의 수와 2의 배수는 미리 걸러냄 for (let i = 3; .. 2021. 7. 21.
[알고리즘] Algorithm with Math / 정규표현식 컴퓨터가 단순하게 연산하기 때문에, 기본적인 컴퓨터 과학과 수학은 통하는 부분이 있습니다. 그러므로 수학을 학습하는 것은 프로그래밍의 기본을 탄탄히 하는 일입니다. 그러므로 수학은 프로그래밍에 많은 도움이 됩니다. 알고리즘 파트에서 다루는 수학은 중학교 수준의 수학입니다. 알고리즘 테스트(코딩 테스트)를 해결하는데 필요한 최소한의 수학을 다룹니다. 프로그래밍을 위한 최소한의 수학이기 때문에 학습해야만 하는 내용입니다. 알고리즘 문제에서 자주 다루는 최소한의 수학만 익혀, 적재적소에 활용할 수 있는 능력을 기르는 것이 가장 큰 목표입니다. 최근 코딩 테스트에 등장하는 알고리즘 문제는 단순히 "너 이 알고리즘 알아?"라고 물어보지 않습니다. 요즘 출제되는 문제는 "특정 방법을 사용해서 풀어 볼래?"라고 물어.. 2021. 7. 21.
[알고리즘] Time Complexity / greedy Algorithm / implementation 알고리즘은 문제를 해결하는 최선의 선택입니다. 1. 문제를 이해하고 2. 전략을 세우고 (수도코드, 흐름의 그림, 페어에게 설명) 3. 이에 따라 코드 작성으로 문제 해결 개발자로서 만나게 될 대부분의 개발 태스크는 알고리즘 문제만큼 어렵지 않습니다. 그러나 새로운 문제에 봉착했을 때, 전략과 알고리즘을 구상하여 실제로 코드로 구현해 보는 경험은 매우 중요합니다. 많은 기업에서 주니어 개발자를 채용할 때에, 알고리즘 풀이를 통해 지원자의 역량을 가늠합니다. 알고리즘 풀이를 통해 지원자의 로직과 문제해결 방식을 확인하고, 이를 통해 개발자다운 사고방식을 보게 된다고 합니다. 1. Time Complexity 알고리즘 문제를 풀때 해결하는것도 가장 중요하지만 효율적인 알고리즘을 찾는 것 또한 중요합니다. 효.. 2021. 7. 20.
[Linux] 심화 1. Read, Write, Execute 사용 권한 1) 권한에 대한 개념 r은 read권한으로 읽기, w는 write권한으로 쓰기, x는 execute권한으로 실행을 의미합니다. r, w, x 각 문자가 적혀있으면 해당 권한이 있는 것이고, - 라고 표시되어있으면 해당 권한이 없습니다. 폴더 생성 명령어 mkdir 파일 생성 명령어 nano (파일이름.확장명) 생성후, 파일안 내용 입력하고 ctrl + x, y, enter 누르면 파일 생성 권한 확인 명령어 ls -l 아래는 권한에 대한 설명을 간략히 나타낸 표 유형 r w x d(디렉토리, 폴더) 권한이 없으면 디렉토리 목록을 볼 수 없음 권한이 없으면 해당 디렉토리에 파일을 추가할 수 없음 디렉토리에 접근하는 권한, 권한이 없으면 rw권한이 모두.. 2021. 7. 19.