본문 바로가기

전체 글138

[JS] 클로저(Closure)란? ✅ 클로저(Closure)란? 정의 : 함수와 함수가 선언된 어휘적 환경의 조합 함수와 그 함수가 만들어진 환경(Lexical environment)을 함께 묶어서 일종의 '패키지'로 만드는 것 함수가 자신이 만들어진 환경을 기억하고 있는 것 함수가 독립적으로 동작하면서도 외부 변수에 접근이 가능하게 만들어줌 목적 : 데이터 은닉과 캡슐화를 구현, 상태유지, 콜백함수, 반복문에서의 변수 유지 🔍예시1) 클로저예시 function outerFunction() { let outerVariable = 10; function innerFunction() { console.log(outerVariable); } return innerFunction; } //closure없이 실행시 10이 반환되지 않는 이유 //.. 2023. 7. 26.
[CS] 데이터베이스와 ORM이란? ✅ 데이터베이스 정의 : 체계화된 데이터의 모음 효율적인 데이터관리를 위해 구조화, 조직화된 정보들의 집합 구성 : 데이터 + 데이터베이스 관리 시스템(DBMS, 데이터베이스를 생성, 수정, 관리 하기 위한 소프트웨어) 크게 RDBMS, NoSQL로 분류한다. ✅ RDBMS, NoSQL RDBMS : 데이터를 '테이블'의 형태로 관리하며 각 테이블은 행(row)과 열(column)로 구성된다 MySQL, PostgreSQL, Oracle etc NoSQL : 데이터를 키-값, 문서, 그래프 형태 등으로 저장한다. 대용량 데이터 처리에 더 적합한 구조를 제공 MongoDB, Cassandra, Redis etc ✅ ORM (Object-Relational Mapping) 정의 : 객체와 관계형 데이터베이스.. 2023. 7. 24.
[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.