목록Developments/CS (6)
일개미 : 일상과 개발의 미학

데이터를 받는 방식에는 크게 두 가지가 있다. 동기와 비동기. 오늘은 이 두가지를 프로그래밍 관점에서 정리해보고자 한다 최대한 이해가 쉽도록 설명해보려 한다 :) 💡 의미, 그리고 개념 동기 (Synchronous) ; 동시의, 동시에 발생하는 비동기 (Asynchronous) ; 동시에 발생하지 않는 단어의 의미 그대로 직관적으로 보면 이해가 쉽다. 서두에서 데이터를 받는 방식에 대해 설명하고자 했으니, 데이터에 요청에 있어서 그 결과를 받음이 동시에 일어나는지 아닌지의 여부로써 약속한 방식을 말한다. 동기 요청을 하면 그에 따른 응답까지 소요되는 시간에 관계없이 요청한 자리에서 응답 결과가 주어져야 한다. 클라이언트를 통해 데이터를 서버에게 요청한다면 서버는 그에 따른 응답을 클라이언트에게 전달하기까..

이번 포스팅에서는 웹개발자라면 상식으로 알고 있어야할 HTTP와 HTTPS에 대해 알아보도록 하겠다. HTTP에 관해서도 전부 알기에는 방대한 양이 있어 오늘은 개요와 차이점 정도 그리고 이해를 돕기위한 부가적인 정보 몇가지만 공유해본다. 🌐 HTTP ? 그냥 인터넷 주소창 양식 아니냐고? HTTP란 HyperText Transfer Protocol 의 약자로, HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜로, 웹에서 이루어지는 모든 데이터 교환의 기초이며 클라이언트와 서버간의 통신규약이다. 초기에는 HTML과 같은 하이퍼미디어 문서를 주로 전송했지만, 최근에는 Plain text, JSON, XML 등 다양한 형태의 정보도 전송한다. 이렇듯 웹 브라우저와 웹 서버 간의 커뮤니케이션을..

🗃️ DB, 데이터베이스에 관한 이해 서버의 개발은 데이터베이스(Database = DB)와 아주 밀접하게 연관되어있다. 아마도 'DB없는 서버는 있을 수 없다' 해도 과언이 아닐정도로 말이다. 서버 내부의 비즈니스 로직(개발된 코드를 통해 문제 혹은 요청 등을 처리하는 과정)을 통해 데이터가 저장되는 장소가 바로 이 데이터베이스(줄여서 DB)라고 한다. 즉, '데이터의 집합'이라고 할 수 있다. 여기서 데이터란, 정보 단위의 모음을 말한다. 이는 문자가 될 수 도 숫자가 될 수도 있고, 미디어, 바이트 등 모두 데이터에 해당된다. 데이터베이스는 일상의 대부분에도 찾아볼 수 있다. 내가 주고받은 카카오톡 메세지, 선물한 내역, 인스타에 업로드한 사진, 좋아요한 게시물, 카페에서 주문한 음료 등의 정보들이..

😮 데이터 포맷 ? 시스템이 자료(데이터)를 입출력하거나 저장할 때의 데이터 구조,형식 또는 크기를 의미한다. 데이터 포맷 중에 XML / JSON / CSV 이 세가지를 비교해보자. 데이터의 종류가 단지 이 세개는 아니지만 주로 프로그래밍시 사용하는 형식들을 살펴보자. | XML eXtensible Markup Language 의 약자, 다목적 마크업 언어이다. 태그 등을 사용하여 데이터의 구조를 기술하는 언어이다. (우리가 보통 쉽게 접할 수 있는 마크업 언어는 HTML이다.) 고유한 문법이 있어 소프트웨어/하드웨어에 대하여 독립적으로 데이터를 처리할 수 있다. 트리 계층구조를 가지고 있으며 3가지 포맷 중에 가장 직관적이다. 예시 구조 김철수 18 농구 박영희 17 십자수 데이터에 의미를 부여하는 ..

🚩 먼저, API란? Application Programming Interfaced 의 약자로 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 인터페이스는 두 애플리케이션 간의 서비스 계약이라고 할 수 있는데, 이 계약은 요청과 응답을 사용하여 두 애플리케이션이 서로 통신하는 방법을 정의한다. API 문서에는 개발자가 이러한 요청과 응답을 구성하는 방법에 대한 정보가 들어 있다. 라고 AWS 공식 문서에 나와있다. 문장만 보면 이해하기 조금 어려울 수 있는데 쉽게 비유하면 서버와 클라이언트 간의, 혹은 서로 다른 컴퓨터(또는 기기 혹은 시스템 등) 간의 요청-응답 방식에 대한 소통 창구 또는 연결 다리 같은 존재라고 할 수 있..

🎟️ JWT 란? JSON Web Token의 약자로 JSON 형식의 데이터를 인코딩하여 직렬화한 것이며, 토큰 내부에는 위변조 방지를 위해 개인키를 통한 전자서명도 들어있다. 서버 - 클라이언트 간에 정보를 주고 받을 때 HTTP 요청 Header에 JSON 형식의 토큰을 실어 인증 및 식별하는 방식이다. 이 때 사용되는 JSON 데이터는 Base64 URL-safe Encode 를 통해 인코딩한다. JWT는 HMAC 알고리즘을 사용하여 '비밀키' 또는 RSA를 이용한 '공개키', '개인키' 를 쌍으로 서명할 수 있다. 전자서명에는 비대칭 암호화 알고리즘을 사용하므로 암호화를 위한 키와 복호화를 위한 키가 다르다. 암호화(전자서명)에는 개인키를, 복호화(검증)에는 공개키를 사용한다. 💡 여기서 잠깐, ..