![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cl8en7/btrMnLa6NjJ/1sO0dEPlv1u15Zn5yQooi0/img.png)
NoSQL는 Not only SQL의 약자로, SQL만을 사용하지 않는 DBMS(DataBase Management System)을 말한다. 관계형 데이터베이스를 주로 사용하는 SQL과 달리 여러 유형의 데이터베이스를 사용하는 넓은 범위라고 보면 된다. SQL과 NoSQL은 데이터가 만들어지는 방식, 데이터의 종류, 저장하는 방법 등이 다르다. 하나씩 천천히 살펴보자. 데이터 저장(Storage) 관계형 DB SQL을 이용해 정해진 규칙에 따라 만들어진 테이블에 데이터를 저장 미리 작성된 스키마를 기반으로 정해진 형식에 맞춰 데이터를 저장해야 함 NoSQL - 여러가지 모델을 사용해 데이터를 저장한다. Key-Value Store - 데이터가 Key-Value의 쌍으로 저장된다. Value엔 모든 형태의..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/ejf0B5/btrMlj60oML/xB2t0hnKOQIbm4nzXmHkJ1/img.png)
SQL(Structured Query Language - 구조화된 쿼리 언어)은 데이터베이스용 프로그램 언어이다. 에스큐엘 혹은 시퀄이라고 읽으며, 데이터베이스 시스템에서 자료를 처리하는 용도로 사용된다. 이름에서 미루어볼 수 있듯이 SQL은 구조화된(Structured) 테이블을 사용하는 관계형 데이터베이스(RDB -Relational Database)에서 주로 쓰인다. SQL문법을 보기 전에, 자주 쓰이는 단어에 먼저 익숙해지자. 반드시 알고 있어야 할 키워드 RDB를 사용할 때 각 부분을 부르는 명칭들이다. 소통을 위해 반드시 알고 있어야 한다. 이름 내용 데이터(Data) 각 항목에 저장되는 값 테이블(Table, Relation) 자료의 구조를 2차원 표로 나타낸 것 컬럼(Column, Fiel..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/beL7ed/btrMoSHllP6/mpF4TFuUgUoUHiU2LNq0Vk/img.png)
지난번 글에서, 서버의 구성을 모르는 클라이언트를 위해 서버가 준비한 메뉴판이 API(Application Programming Interface)라고 했었다. 관련 글: https://gnidinger.tistory.com/441 [네트워크]HTTP HTTP(HyperText Transfer Protocol)는 하이퍼텍스트를 빠르게 교환하기 위한 프로토콜의 일종으로, 서버와 클라이언트가 어떻게 메시지를 교환할지를 정해 놓은 규칙이다. 프로토콜의 일종이라 함은 gnidinger.tistory.com 만약 식당에 갔는데 메뉴판이 아래와 같이 생겼다면 어떨까? 출처: https://blog.kulturekonnect.com/9-menu-design-fails 7 Restaurant Menu Design FA..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bv1L7g/btrMlcT63Gs/ozFPK96VhPzivOKqCGYZV1/img.png)
AJAX(Asynchronous JavaScript and XML)란, 이름 그대로 JavaScript와 XML을 이용한 비동기적 정보교환 기법이다. 위의 그림과 같은 SPA(Single Page Application)를 제작할 때 사용하며, 요즘은 XML보단 가벼운 JSON을 사용한다. 추가로 XHR(XMLHttpRequest)을 개선한 Fetch를 사용한다고 한다. AJAX의 가장 큰 특징은 SPA를 다룰 때도 말했지만 필요한 데이터만 비동기적으로 받아올 수 있다는 점이다. 구글 검색창을 예로 들면, 검색창에 한 글자를 입력할 때마다 단어들을 서버에서 받아와 추천 검색어로 보여준다. 글자를 입력할 때마다 페이지를 새로 로딩하지 않고 필요한 부분만 렌더링 하는데, 이때 사용되는 것이 AJAX이다. 또한..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dz86pY/btrMkRvIUWg/7vd2v2Q4Wrp2pmWd5KwCo1/img.png)
HTTP(HyperText Transfer Protocol)는 하이퍼텍스트를 빠르게 교환하기 위한 프로토콜의 일종으로, 클라이언트와 서버가 어떻게 메시지를 교환할지를 정해 놓은 규칙이다. 프로토콜의 일종이라 함은 HTTP를 제외하고도 프로토콜이 존재한다는 것을 의미하는데, 대략 아래와 같다. 계층 이름 주요 프로토콜 기능 4계층 Application Layer HTTP, DNS, FTP, ... 애플리케이션에 맞추어 통신한다. 3계층 Transport Layer TCP, UDP, ... IP와 애플리케이션을 중재해 데이터를 확실하게 전달한다. 2계층 Internet Layer IP, ICMP, ARP, RARP 네트워크 주소를 기반으로 데이터를 전송한다. 1계층 Network Interface Laye..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/XPYL2/btrIOQ1FPhw/IjL0CPTDctPgEMKZYgOaMK/img.png)
SSR(Server Side Rendering)과 CSR(Client Side Rendering)의 차이는 웹 개발에서 중요하다. 하나씩 간결하게 살펴보자. SSR(Server Side Rendering) SSR은 이름 그대로 Javascript가 서버에서 렌더링을 마친 후 클라이언트로 전송하는 방법이다. 완성된 html 파일을 받아와 클라이언트에서 완전히 렌더링 하는 방식이라고 보면 된다. 이때 데이터베이스의 데이터가 필요할 경우 서버가 데이터를 불러와 렌더링 한다. 클라이언트가 다른 경로로 이동하면 이 과정을 다시 수행한다. 장점 SEO(Search Engine Optimization)에 유리 빠른 초기 로딩 - 단일 파일의 용량이 작음 웹 페이지가 사용자와 상호작용이 적은 경우 유리(블로그, 신문사..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/Qrl3X/btrMjm4wYLe/z0AKSYuDsLLJJCYXY79Dt1/img.png)
교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 추가 HTTP 헤더를 사용하여, 웹 애플리케이션이 다른 출처의 선택한 리소스에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 메커니즘이다. 지난번에 살펴본 URI 구조를 다시 살펴보자. 위 구조중 도메인, 프로토콜, 포트가 다른 주소에 요청을 보내는 것을 교차 출처 요청(Cross-Origin Request)이라고 한다. 웹 생태계에는 교차 출처의 리소스 요청을 제한하는 두 가지 정책이 존재하는데, 하나는 이 글의 주제인 CORS이고, 또 다른 하나는 SOP(Same Origin Policy)이다. SOP는 쉽게 말해 보안상의 이유로 같은 출처에서만 리소스를 공유할 수 있다는 정책인데, 교차 출처 요청은 이..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/zLXoA/btrMbxelXIV/BqLD0IAQtc801wLxZKhHE0/img.png)
지난 글에서 네이티브 앱, 웹 앱과 TCP/IP에 대한 개념, 그리고 URL과 DNS에 대해 알아보았다. 2022.08.02 - [개발/Network] - [네트워크]TCP/IP 2022.08.02 - [개발/Network] - [네트워크]URL, URI, Domain, DNS [네트워크]URL, URI, Domain, DNS URL(Uniform Resource Locator)은 네트워크 상에서 자원의 위치를 말한다. 쉽게 말해 웹 상의 동영상이나 이미지, 게시글의 주소라고 할 수 있다. URL은 Scheme(Protocol), Host, Port, Url-Path로 구분할 수 있.. gnidinger.tistory.com 이번 글에선 웹 앱을 만들기 위한 사전작업으로 웹과 웹 앱의 구조에 대해 알아보..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/b1SrE9/btrMdEqnsnr/bY8ZeI5hYGScr2ODQtgKg1/img.png)
URL(Uniform Resource Locator)은 네트워크 상에서 자원의 위치를 말한다. 쉽게 말해 웹 상의 동영상이나 이미지, 게시글의 주소라고 할 수 있다. URL은 Scheme(Protocol), Host, Port, Url-Path로 구분할 수 있으며, 그 구성은 다음과 같다. Scheme:// Host(Port) / Url-Path Scheme(Protocol) : 통신 방식을 결정. 일반적인 웹 브라우저에서는 http(s)를 사용. Host : 웹 서버의 이름이나 도메인, IP 주소를 사용. 주소를 나타냄. Port: 애플리케이션(작업) 식별 번호 Url-Path : 웹 서버에서 지정한 루트 디렉토리부터 시작하여 웹 페이지, 이미지, 동영상 등이 위치한 경로와 파일명을 나타냄. URI(U..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bG4nrE/btrL33wAfuW/KThD2QT8sfboJy6vumyc41/img.png)
들어가기 전에 네이티브 애플리케이션(Native Application) vs. 웹 애플리케이션(Web Application) 네이티브 애플리케이션은 흔히 말하는 '앱'으로, 특정 플랫폼을 위해 만들어진 응용 프로그램을 말한다. 따라서 네이티브 앱은 Apple iOS, Android OS, Windows와 같은 실행환경에 종속된다. 웹 애플리케이션은 웹 브라우저를 통해 접근이 가능한 응용 프로그램이다. 정적인 웹사이트의 한계를 벗어나 동적인 상호작용을 하는 애플리케이션이라고 할 수 있다. 네이티브 앱 웹 앱 개발 언어 네이티브 전용 웹 전용 디바이스 고유기능 액세스 높음 낮음 화려한 UI 높음 낮음 업그레이드 유연성 낮음(반드시 앱스토어를 거침) 중간(일반적으로 앱스토어를 거침) 구현 난이도 높음 중간 네..
- Total
- Today
- Yesterday
- 유럽
- java
- 스트림
- 중남미
- 유럽여행
- 칼이사
- BOJ
- 세모
- 세계일주
- 동적계획법
- RX100M5
- Algorithm
- 파이썬
- 면접 준비
- 백준
- 기술면접
- 알고리즘
- 여행
- a6000
- 세계여행
- spring
- 야경
- 맛집
- 자바
- 지지
- Python
- Backjoon
- 스프링
- 남미
- 리스트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |