반응형

개발일반 29

도대체 OSI Model은 뭘까요? : 7 Layers

저번 '도대체 HTTPS가 뭘까요?'에서 언급했던 Transport Layer와 Application Layer라는 게 있습니다. 이 두 Layers는 사실 OSI Model에 포함되어 있는 Layers입니다. 그리고 OSI Model에는 총 7개의 Layers가 존재합니다. 그러면 이 Layers는 뭐가 있을까요? 그리고 각자 하는 일이 어떻게 될까요? 그래서 이번글에서는 OSI Model이 정확히 어떤 것인지 그리고 누가 만들었는지를 설명드리겠습니다. 그리고 이 글 이후로 Layer별로 천천히 여러분들에게 설명드리겠습니다. 그럼 먼저 OSI Model이 어떤 역할을 하는지 알려 드리겠습니다. OSI는 1984년 ISO(Interantional Organization for Standardization..

도대체 HTTPS는 뭘까요?

저번에 말씀드린 HTTP의 가장 큰 문제는 통신의 내용을 텍스트 형태로 그대로 전달한다는 문제가 있습니다. 그럼 왜 이런 일이 발생할까요? 첫 번째 이유로는 HTTP로 전송되는 Request는 텍스트의 형태로 정말 말 그대로 우리가 입력한 내용을 그대로 전송합니다. 두 번째 이유로는 HTTP는 application layer를 사용합니다. 지금은 간단하게 프로그램을 사용하기 위해 존재하는 층이라고 생각하시면 됩니다. 그래서 Response 또한 특별한 절차 없이 Header의 내용만 맞다면 그대로 받아드려 우리가 흔히 하는 Dos 공격에 취약합니다. 그럼 HTTPS는 어떻게 위와 같은 문제를 해결할까요? 바로 HTTP에서 전송하는 Request를 암호화(Encrypt)하고 돌아오는 암호화된 Respons..

도대체 HTTP는 뭘까요?

여태까지 저의 글들을 보면 많이 보인 단어가 있을 겁니다. 그중 하나가 바로 HTTP인데요. 오늘은 HTTP가 도대체 뭔지에 대해 설명드리겠습니다. Hypertext Transfer Protocol HTTP는 사용자의 웹브라우저와 웹사이트를 가지고 있는 서버와의 소통을 위해 존재합니다. 그런 HTTP는 대표적으로 두 가지의 종류가 있는데 첫 번째는 Request 두 번째는 Response입니다. Request(요청)에 부터 설명드리겠습니다. 우리가 웹사이트에서 특정 링크나 버튼을 눌렀을 때 기본적으로 우리의 브라우저는 다른 화면을 보여주거나 우리가 의도한 결과를 보여 줍니다. 여기서 Request는 바로 링크를 누르거나 버튼을 눌렀을 때 생성됩니다. 그럼 그 Request는 어떻게 구성 돼있을까요? HT..

도대체 Cookies(쿠키)는 뭘까요?

우리가 인터넷을 이용해 웹사이트에 들어가면 자주 보이는 게 있습니다. 해외 웹사이트를 들어가면 거의 매번 보게 되고 한국 웹사이트에서도 자주보이는 이게 도대체 뭘까요? 사실 이 부분을 이해하기 전에 구분을 해야 합니다. Cookie의 기능과 왜 웹사이트들이 이 Cookie를 사용하는지입니다. 먼저 그럼 쿠키에 대해 설명드리겠습니다. 뉴진스의 2022년도 하반기 신곡으로 대한민국뿐만 아니라 해외에서도 선풍적인 인기를 끌었습니다. 죄송합니다. 제가 뉴진스를 좋아해서요. 다시 제대로 설명드리겠습니다. 우리가 사용하는 쿠키는 정확히 HTTP Cookies입니다. 이 쿠키가 저장되어 있는 곳은 어디일까요? 바로 우리가 사용하는 브라우저에 저장 돼있습니다. 즉, 우리가 원한다면 브라우저에서 쿠키를 저장하지 않게도 ..

도대체 API는 뭘까요?

저번에 REST API에 이어서 이번에는 API에 대해 설명드리겠습니다. Application Programming Interface API는 개발자가 자신의 프로그램을 위해서 다른 프로그램이나 소프트웨어를 사용할 때 그 구조나 어떻게 구현 됐는지 알지 못하더라도 사용할 수 있게 해 줍니다. 만약 여기서 윗 문장이 이해가 되셨다면 더 이상 읽지 않으셔도 됩니다. 그럼 현실 두 가지 예시를 들어 설명드리겠습니다. 첫 번째 예시로 레스토랑에서 손님이 서버에게 주문을 했습니다. 그럼 여기서 서버들이 음식을 가져다주기 위해서 어떤 게 필요할까요? 음식 레시피? 요리사의 경력? 음식 이름만 알고 그 이름을 주방에 전달만 해주면 됩니다. 그럼 반대로 요리사의 경우 서버에게 음식을 주기 위해서는 어떻게 해야 할까요?..

도대체 REST API는 뭘까요?

REST API, RESTful Webservice 등 웹개발에 중에서도 Backend 개발에 관심이 있다면 한 번이라도 들어 봤을 내용입니다. 그러면 도대체 REST는 뭘까요? 일단 REST의 약자는 아래와 같습니다. REpresentational State Trnasfer REST API의 목적은 간단합니다. 바로 통신 혹은 소통을 위해서 존재합니다. 그럼 누구와의 소통일까요? 바로 클라이언트와 서버 사이의 소통을 위해 존재합니다. 여기서 클라이언트는 우리가 흔히 알고 있는 웹페이지 혹은 웹사이트 같은 겁니다. 그러면 여기서 좀 더 구체적으로 클라이언트와 서버의 소통 방식에 대해 말씀드리겠습니다. 클라이언트와 서버가 소통하는 방식은 두 가지 있습니다 첫 번째는 Request 즉 요청입니다. 두 번째는..

운영체제: Operating System INTRO

운영체재 흔히들 말하는 Operating System은 무엇일까? 한 줄로 설명 가능하다. OS는 다양한 프로그램이 컴퓨터 안에서 작동할 수 있도록 도와주는 프로그램이다. 그럼 이 한 줄 알았으니 다된 건가? 그건 또 절대 아니고 그렇게 생각했다면 충남 오산이다. 왜냐하면 OS가 다양한 프로그램이 컴퓨터 안에서 작동하기 위해 어떤 일을 하는지 알아야 하기 때문이다. 예를 들어 특정 프로그램을 작동하기 위해서 모든 컴퓨터의 역량을 다 쓴다면 엄청 비효율 적일 것이다. 그리고 우리들의 컴퓨터 사용습관을 생각해 보자. 게임을 하면 노래를 들어야 하니깐 크롬을 열어 유튜브에서 1시간짜리 아이돌 노래 틀어 놓고 거기다가 친구들이 있다면 '만약에' 보이스 채팅해야 하니 디스코드도 틀어 놓고 일단 절대 RAM이 가만..

절차지향 언어 (Procedural Programming Language)

우리가 말을 하거나 글을 쓸 때도 다양한 방식이 존재한다. 두괄식으로 말하거나 미괄식으로 말하거나 아님 눈으로 말하거나 정말 다양하다. 프로그래밍 및 개발도 컴퓨터와 대화한다 생각하면 그만큼 다양한 방식으로 말하는 언어가 존재한다. 그중 한때 가장 중요한 한축을 담당했던 언어형태인 절차지향언어에 대해 알아보자. 절차지향 언어의 가장 큰 특징은 순서대로 실행된다는 겁니다. 그리고 이게 끝이라고 해도 될 정도로 단순합니다. 위에서부터 아래로 내려오면서 지정 입력한 코드를 순차적으로 실행합니다. 물론 많은 분들이 여기서 뭐야 이건 그냥 일반적인 Programming Language 아닌가? 할 수 있는데 맞습니다. 모든 언어들이 절차지향 언어의 특성이 있습니다. 그러면 절차지향 언어의 가장 중요한 점은 무엇일..

개발일반 2023.01.29

Programming(프로그래밍) 과 Developing(개발)의 차이!

군대를 전역하기 전 저는 컴퓨터 학원을 돌아다니면서 상담을 많이 받았습니다. 그리고 많은 컴퓨터학원에서 상담을 받는 학생들에게 항상 하는 단골 멘트가 있더라고요. '저희는 절대로 프로그래머가 육성하지 않아요. 개발자가 육성하고 있습니다.' 혹은 '**아 내가 너가 동생 같아서 하는 말인데 절대 프로그래머가 되려 하지 마 개발자가 돼야지. 그리고 그러려면은 우리의 이런이런 프로그램을 들으면 돼' (처음 보는데 왜 반말을....) 이렇게 상담을 해주는 선생님들을 비판 하는 건 아니지만 대부분 개발과 거리가 있는 분들이었습니다. 그럼 도대체 프로그래밍과 개발은 무슨 차이가 있을까? 사실 컴퓨터 전공으로 전과를 하고 컴퓨터 학원도 다녀보았지만 사실 정확히 사람들이 말하는 개발과 프로그래밍의 차이는 뚜렷하게 느끼..

개발일반 2023.01.29
반응형