본문 바로가기

필수 개발지식36

[CS]백엔드에서 자주 쓰이는 자료구조와 알고리즘 ✅ 자료구조와 알고리즘 자료구조 정의 : 데이터의 논리적인 구성방식, 데이터를 저장하고 조직화하는 방법이나 데이터 구조 자료구조는 보다 효율적인 알고리즘을 사용할 수 있게 한다 알고리즘 정의 : 주어진 문제를 해결하기 위한 절차나 규칙의 집합, 어떤 방식으로 풀어나갈지를 설명하는 방법 데이터를 처리하고 조작하는 방법을 결정하고 , 자료구조를 활용하여 문제를 해결하는 방법을 정의한다 알고리즘의 4단계 문제 정의 : 해결하고자 하는 바를 Input/Output으로 나눠 정의한다 알고리즘 설명 : 해결하기 위해 할 일들을 단계적으로 정의한다. 정확성 증명 : 알고리즘이 맞는지 수학적으로 증명 성능 분석 : 시간, 공간복잡도 *알고리즘은 반드시 끝이 있다. 시간이 얼마나 걸리든 작업단계의 횟수는 정해져있고, 여.. 2023. 7. 24.
[Web] HTTP 와 HTTPS 란? RESTful API란? ✅HTTP(Hyper Text Transfer Protocol) 와 HTTPS(Hyper Text Transfer Protocol Secure)란? HTTP(Hyper Text Transfer Protocol) 정의 : 서버/클라이언트 모델을 따라 데이터를 주고받기 위한 프로토콜 특징 : 80번 포트 사용, 상태를 가지고 있지 않은 stateless 프로토콜 구조 : 애플리케이션 레벨의 프로토콜로 TCP/IP 위에서 작동한다. method, path, version, headers, body 등으로 구성 하지만 HTTP는 암호화가 되지 않은 평문 데이터를 전송하는 프로토콜이였기 때문에, 민감한정보를 주고 받으면 제 3자가 정보를 조회할 수 있다. 이 문제를 해결하기 위해 HTTPS가 등장하게 되었다. H.. 2023. 7. 24.
[Node.js] 콜백함수(Callback Function), 이벤트 루프(Event Loop) 쉬운개념 정리 ✅콜백함수(Callback Function)란? 정의 : 함수에 파라미터로 전달되는 함수 일반적으로 콜백함수는 비동기 작업의 완료 처리, 이벤트 처리 등에 많이 사용되는 패턴 콜백함수란 크게보면 단순히 다른 함수에 전달되어 나중에 호출 되는 함수를 의미한다. 비동기 작업의 완료 처리뿐만 아니라, 동기 작업에서의 특정 이벤트처리, 에러처리, 반복작업에도 활용할 수 있다! ex) 콜백함수를 사용하여 동기작업을 수행하는 예시 function processArray(array, callback) { for (let i = 0; i < array.length; i++) { const result = callback(array[i]); console.log(`결과: ${result}`); } } function s.. 2023. 7. 19.
[CS] Database에서 정규화(Normalization)란? ✅정규화(Normalization)란? 관계형 데이터베이스의 설계에서 중복을 최소화하여 데이터를 구조화 하는 프로세스 정규화의 목표 : 테이블 간에 중복된 데이터를 허용하지 않는 것, 즉 무결성을 유지하며 DB의 저장 용량을줄인다 ✅정규화(Normalization)의 절차! 정규화의 절차는 아래와 같이 순차적으로 진행되는데, 밑에 쉽게 설명을 해놓았으니 참고바람! ✅제 1 정규화(First Normal Form, 1NF) 정의: 테이블의 컬럼이 원자값(Atomic Value, 하나의 값)을 갖도록 테이블을 분해하는 것 위의 테이블에서 추신수와 박세리는 여러개의 취미를 가지고 있기 때문에 제 1 정규형을 만족하지 못한다. 그렇기 때문에 이를 아래와 같이 제 1 정규화 하여 분해할 수 있다. ✅제 2 정규화.. 2023. 7. 5.