부트캠프 기록/Serction2 16

[데이터베이스] SQL

▶목차 SQL 정의 데이터베이스가 필요한 이유 기본 문법 SELECT 실행 순서 ACID SQL vs NoSQL ▶ SQL 정의 Structured Query Language 구조화된 Query 언어 데이터베이스 용 프로그래밍 언어 데이터베이스에 쿼리를 보내 원하는 데이터만 뽑아올 수 있음 ▶ 데이터베이스가 필요한 이유 - 클라이언트 쪽의 인메모리는 전원이 꺼지면 사라짐 - 서버에서 File로 저장 1. 각각의 프로그램별로 데이터 파일을 가지고 있다보니 데이터 종속성(데이터의 구성 방법이나 접근 방법을 변경할 때 이것을 기초로 한 응용 프로그램도 변경해야 함) 이 발생 2. 원하는 데이터만 가져올 수 없고 항상 모든 데이터를 가져온 뒤 서버에서 필터링 필요 - 데이터베이스 필터링 외에도 File I/O로..

[네트워크]HTTP통신

목차 REST API 정의 성숙도 모델 이점 API test 실습 REST API ( REpresentational State Transfer ApI) REST API 정의 웹에서 사용되는 데이터나 자원(resource)을 HTTP URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식 REST 성숙도 모델 ( 0~3 단계) - 0단계: 단순히 HTTP 프로토콜 사용, single URI and use a single HTTP method (typically POST). 예시 더보기 - 1단계: 개별 리소스와의 통신 준수, 모든 자원은 개별 리소스에 맞는 엔드포인트를 사용, 요청하고 받은 자원에 대한 정보를 응답으로 전달해야 함 어떤 리소스를 변화시키는지 혹은 어떤 응답이 제공되는지에 ..

[네트워크] 웹 애플리케이션 작동원리

Web app / Native app 웹 애플리케이션 네이티브 애플리케이션 정의 웹 브라우저를 통해 접근 가능한 애플리케이션 Apple iOS 나 Android OS, Windows 처럼 특정 환경에서 동작하는 애플리케이션 장점 설치나 다운로드 불필요 스토어 승인 불필요 비교적 개발하기 간편 업데이트 등의 유지관리 쉬움 인터넷 없이 사용가능 비교적 속도 빠름 사용자 접근성 좋음 비교적 안전(앱스토어 승인) 단점 인터넷 필요 비교적 속도느림 사용자 접근성이 떨어짐 비교적 보안성 위험 노출성 큼 비교적 개발비가 더 들어감 빠른 업데이트 힘듦 앱스토어 승인 받기 힘들고 비용 발생 네트워크 구성 기술 TCP/IP 모델 TCP/IP 4계층 모델 주요 프로토콜 역할 4층 응용계층 HTTP,DNS, FTP, ... ..

[JAVA] Collectors 와 Collections 차이

//collectors와 Collections 차이 ArrayList list = (ArrayList) Arrays.stream(stuff).boxed().collect(Collectors.toList()); Collections.sort(list); //오름차순 정렬 Collectors Collectors (Java Platform SE 8 ) Returns a Collector implementing a "group by" operation on input elements of type T, grouping elements according to a classification function, and returning the results in a Map. The classification funct..

[자료구조/알고리즘] 자료구조

자료구조란 특정한 상황에 데이터를 효율적으로 다루는 방법들 자바는 stack만 구현돼 있고 나머지는 인터페이스만 있음 Stack 선입후출 데이터를 하나씩 넣고 뺌 하나의 입출력 방향 재귀함수 ex) 브라우저 뒤로가기, 스택메모리 Queue 선입선출 데이터를 하나씩 넣고 뺌 두개의 입출력 방향 ex) 일상에서 대기줄, 인쇄대기 원형큐 Tree 단방향 그래프 하나의 뿌리로부터 가지가 뻗는 형태 비선형구조 레벨, 깊이, 부모노드, 자식노드, 형제노드, 리프, 루트 ex) 폴더 구조 Graph 여러 개의 점들이 서로 연결되어 있는 관계를 표현한 자료구조 직접적인 관계/ 간접적인 관계 정점(vertex), 간선(edge) 인접행렬, 인접 리스트 (인접 리스트는 메모리를 효율적으로 사용) 방문여부를 표시하는 데이터..

[자료구조/알고리즘] 재귀

분할정복에서 재귀함수가 쓰임 메모리를 많이 소요한다는 재귀의 단점을 보완하기 위해 동적프로그래밍을 사용 코딩테스트 문제 중에는 깊은 복사/옅은 복사를 구별하는 문제들 존재 String.contains() 같은 메서드는 내부적으로 순환을 하기 때문에 재귀와 같이 쓰면 복잡도가 매우 높아질 수 있음 - 재귀함수란 자기 자신 호출을 반복해서 호출하는 함수 - 재귀함수 장점 코드가 간결함 변수를 여러 개 사용할 필요가 없음 - 재귀함수 단점 코드의 흐름을 직관적으로 알기 힘듬 반복하여 메서드를 호출하면 스택 메모리를 많이 사용 - 재귀적으로 사고하는 법 재귀 함수의 입력값과 출력값 정의 문제를 잘게 쪼개기 문제를 쪼개고 경우의 수 나누기( ex) 더 이상 쪼갤 수 없는 경우/ 그렇지 않우 경우) 단순한 문제 해..