본문 바로가기

전체 글161

Relational DataBase SQL 개념 DB의 필요성 파일에 데이터를 저장하거나 인메모리 형태로 임시 저장하는 방법의 한계를 극복 File I/O 엑셀 시트나 CSV 같은 파일 형태 데이터를 가져올 때마다 전체 파일 읽어 비효율적 여러 파일을 다루거나 파일 손상된 경우 데이터 부르는 작업이 복잡 In-Memory JavaScript에서 프로그램 실행할 때만 존재 관계형 DB는 한 개의 CSV나 엑셀 시트를 테이플 형태로 저장하여 여러 데이터를 SQL을 활용해 불러올 수 있다. SQL Structured Query Language (SQL) 주로 관계형 데이터 베이스에 사용하는 DB Language Query 질의라는 뜻으로 데이터를 필터링하는 작업 SQL을 사용할 수 있는 relation table과 달리 데이터 구조가 고정되지 .. 2022. 10. 3.
REST API REST API 개념 REpresentational State Transfer 리소스를 HTTP URI로 표현하고 HTTP 프로토콜로 통신을 정의하는 방식 RestAPI 성숙도 모델 0단계(HTTP 사용) HTTP 프로토콜을 단순히 사용 1단계(개별 리소스와의 통신 준수) 모든 데이터와 리소스를 HTTP URI로 표현 개별 리소스에 대한 엔드포인트를 사용 엔드포인트 작성 시 명사 형태로 작성 응답에 성공/실패 여부를 포함한 응답 반환 2단계(HTTP 메서드 원칙 준수) 요청 메서드는 CRUD에 맞게 HTTP 메서드 준수해서 작성 GET의 경우 query parameter를 통해 리소스 전달 응답 코드도 HTTP 메서드에 준수 관련 리소스를 Location 헤더에 URI로 작성 PUT과 같이 멱등성을 가지.. 2022. 10. 3.
Network 네트워크 구성 기술 Native-application VS Web application Native-application 특정 기기에 설치해 동작하는 애플리케이션 장점 웹 앱보다 빠르다 기기의 리소스 접근 용이 인터넷 없이 사용 가능 웹 앱에 비해 보안 안전 단점 웹 앱보다 개발비용이 크다 업데이트 불편 앱스토어 승인 절차 복잡 Web application 웹 브라우저를 통해 접근하는 애플리케이션 장점 브라우저를 거쳐 설치 과정이 없다 업데이트 용이 앱에 비해 개발 용이 앱스토어 승인 불필요 단점 인터넷 접속 필수 앱에 비해 느리다 앱스토어를 거치지 않기 때문에 사용자 접근성이 떨어진다 보안 위험 TCP/IP LAN & WAN LAN(Local Area Network) 좁은 범위에서 연결된 네트워크 WA.. 2022. 9. 30.
[알고리즘] Base Greedy Algorithm 개념 당장 눈앞에 보이는 선택에서 최적해를 선택하여 해답을 구하는 알고리즘 절차 선택 절차 : 최적해를 선택 적절성 검사 : 해당 최적해가 문제 조건 부합하는지 확인 해답 검사 : 기존 문제가 해결되었는지 확인 조건 탐욕적 선택 속성 : 앞의 선택이 이후의 선택에 영향을 주지 않는 경우 최적 부분 구조 : 부분 문제에 대한 최적 문제 해결로 구성 예시 거스름 돈을 최소한의 개수의 동전으로 받기 Knapsack problem Implementation - 구현 개념 로직을 코드로 구현하는 문제 일반적으로 문제가 길거나 자세하고 까다롭게 출제 대표적으로 brute force 나 simulation이 존재 Simulation 모든 과정과 조건을 제시하고 결과가 무엇인지 확인하는 .. 2022. 9. 28.