반응형

전체 글 41

장고(Django) - WSGI(Web Server Gateway Interface)

WSGI란? WSGI는 Web Server Gateway Interface의 줄임말로 파이썬의 표준 게이트웨이 인터페이스입니다. 파이썬에서의 CGI정도로 이해하시면 됩니다만 더 쉽게 생각하자면 일종의 프로토콜 처럼 생각할 수도 있겠습니다. WSGI의 역할 기본적으로 ​웹 서버 자체는 정적인 페이지 밖에 보여주지 못합니다. 우리가 인터넷에서 보는 동적인 페이지들은 웹 서버가 전적으로 처리하는 것이 아니라 웹 어플리케이션(장고, 플라스크 등으로 작성된 프로그램)의 도움으로 보게 되는 것이죠. 그렇다면 당연히 웹 서버와 웹 어플리케이션은 서로 소통을 할 수 있어야겠죠? 그래야 동적인 페이지를 만드는 데 필요한 정보를 주고 받을 수 있으니까요. 하지만 안타깝게도 아파치, Nginx 등의 웹 서버는 파이썬 코드를..

Django 2020.11.12

파이썬(python) - 네임 맹글링(name mangling)

네임 맹글링(name mangling)이란? 네임 맹글링은 짓이기다(mangle)라는 어원에서 유추할 수 있듯이 파이썬이 변수/함수의 이름을 짓이겨서 다른 이름으로 바꿔버리는 것을 말합니다. 맹글링을 적용하고 싶은 변수/함수명 앞에 언더바(_)를 두 개 붙여서 적용할 수 있습니다. 맹글링에 대해서 잘 모르시는 분들은 이전 포스팅의 4-3문단을 참조해주세요. 파이썬(python) - _(언더바, 언더스코어) 파이썬에서 _(이하 '언더바'로 통일)의 역할 다른 언어와 다르게 파이썬에서 언더바는 Snake case로 네이밍을 할 때 외에도 다양한 사용처가 있습니다. 이는 아래와 같이 크게 4가지로 분류할 수 있 tibetsandfox.tistory.com 오늘 포스팅에서는 맹글링을 언제 사용하는지에 대해서 간..

파이썬 2020.10.30

파이썬(python) - _(언더바, 언더스코어)

파이썬에서 _(이하 '언더바'로 통일)의 역할 다른 언어와 다르게 파이썬에서 언더바는 Snake case로 네이밍을 할 때 외에도 다양한 사용처가 있습니다. 이는 아래와 같이 크게 4가지로 분류할 수 있습니다. ​ 1. 인터프리터에서의 마지막 값 2. 무시하는 값 3. 숫자 리터럴의 자릿수를 구분하는 역할 4. 네이밍 1. 인터프리터에서의 마지막 값 우선 첫 번째로 ​인터프리터 내에서의 마지막 값을 의미합니다. >>> 1+1 2 >>> _ + 2 4 2번째 명령줄의 언더바가 바로 윗줄의 2를 의미합니다. 너무 간단하니 바로 넘어가겠습니다. 2. 무시하는 값 여기서 무시하는 값이란, 튜플 등을 언패킹 할 때 특정 값을 버리는 용도로 언더바를 사용할 수 있다는 의미입니다. n_tuple = (1, 2, 3,..

파이썬 2020.10.30

REST(Representational State Transfer)란?

REST란? REST는 Representational State Transfer의 줄임말로 애플리케이션 개발의 *아키텍처 중 하나입니다. (*아키텍처 : 애플리케이션을 설계, 제작하는데 사용하는 패턴과 기술의 총칭) 직역하자면 '대표 상태 전송' 정도의 뜻이 되겠습니다. 뭔 소린지 하나도 모르겠으니 그냥 다음으로 넘어갑시다. ​ * 글을 읽기 전에 : 이 글은 HTTP에 대한 이해를 어느 정도 필요로 하니 이전 게시글을 참조해주세요. HTTP(Hypertext Transfer Protocol)란? HTTP란? HTTP는 ​Hypertext Transfer Protocol의 줄임말로 웹 상에서 브라우저와 서버가 데이터를 주고 받을때 사용하는 *프로토콜입니다. 이름에 Hypertext가 포함되어 있긴 하지만..

웹개발 2020.10.26

HTTP(Hypertext Transfer Protocol)란?

HTTP란? HTTP는 ​Hypertext Transfer Protocol의 줄임말로 웹 상에서 브라우저와 서버가 데이터를 주고 받을때 사용하는 *프로토콜입니다. 이름에 Hypertext가 포함되어 있긴 하지만 사실 Hypertext 뿐만 아니라 텍스트, 미디어 등의 데이터도 전송할 수 있습니다. ​ (*프로토콜 : 통신 규약이라는 뜻으로 데이터를 주고 받는 방식에 대한 규칙 정도로 이해하시면 됩니다.) 특징 1. 요청과 응답 - HTTP 통신은 클라이언트의 요청(Request)과 그에 대한 서버의 응답(Response)으로 이루어집니다. 우리가 지금 보는 HTML 웹 페이지도 브라우저의 요청에 따라 서버가 응답한 결과물입니다. ​ 2. TCP/IP 통신 위에서 동작 - TCP/IP 통신 위에서 동작하며..

웹개발 2020.10.23

ORM(Object Relational Mapping)이란?

ORM이란? ORM은 Object Relational Mapping(객체 관계 매핑)의 줄임말입니다. Object(객체)는 말 그대로 OOP에서 사용되는 객체 그 자체를 의미하고 Relational(관계)는 흔히 사용하는 관계형 데이터베이스를 의미합니다. 즉 객체와 관계형DB를 매핑해주는 개념이라고 생각하시면 될 것 같습니다. 자세히 알아보기 객체랑 DB를 매핑하니 어쩌니 하니 말이 좀 복잡해보이죠? 쉽게 풀어서 설명드리겠습니다. 원래 관계형 DB를 사용하기 위해선 SQL을 사용해야했었습니다. 하지만 어플리케이션 코드짜는것도 머리아픈데 DB쿼리까지 신경쓰려면 머리가 두 배로 아프겠죠? ORM은 이런 불편함을 해소해줍니다. 파이썬(장고)으로 예를 들자면 작성한 파이썬 코드를 관계형 DB의 SQL 쿼리로 자..

Django 2020.10.20

장고(Django) - MVC패턴과 MTV패턴

MVC패턴과 MTV패턴 웹 개발을 공부하시는 분이라면 MVC패턴에 대해 한 번쯤은 들어보셨을 겁니다. MVC(Model-View-Controller)는 *디자인 패턴중의 하나로 프로젝트의 구성 요소를 Model(모델), View(뷰), Controller(컨트롤러) 세 가지로 역할에 따라 구분하는 패턴입니다. MTV(Model-Template-View)는 Model(모델), Template(템플릿), View(뷰)​로 MVC에 대응되는 장고의 디자인 패턴입니다. 이 글에서는 MVC패턴이 무엇인지, MTV패턴은 무엇이 다른지 다뤄보겠습니다. ​ (*디자인 패턴 : 효율적으로 코드를 작성하기 위한 코딩 규칙 or 프로젝트 구조 정도로 이해하시면 됩니다.)​ MVC 패턴이란? 상술했듯이 MVC는 디자인 패턴 ..

Django 2020.10.19

AJAX(Asynchronous Javascript And XML)란?

AJAX란? AJAX는 Asynchronous Javascript And XML의 줄임말로 ​'비동기식 자바스크립트와 XML'을 뜻합니다. 풀어서 설명하자면 자바스크립트와 XML을 이용하여 클라이언트와 서버가 비동기식 통신을 하는 개념입니다. 이름에 XML이 들어가있긴 한데 사실상 요즘은 대부분 다 JSON으로 사용하는 추세입니다. (XML과 JSON은 데이터 전송 포멧정도로 이해하시면 됩니다.) 상세 예전에는 클라이언트에서 서버로 요청을 보내면 서버는 그에 대한 응답으로 페이지 전체를 매번 리로드했었습니다. 이는 HTTP 프로토콜이 Request에 대한 Response를 받고 나면 그 연결을 끊어버리기 때문인데 이로 인해 화면 일부에 약간의 변화만 있어도 Request와 Response를 새로 보내고 ..

JS 2020.10.18

자바스크립트(JavaScript)란?

자바스크립트(JavaScript)란? 자바스크립트는 웹 페이지를 살아 움직일 수 있게 만들어주는 스크립트 언어입니다. HTML과 CSS가 정적인 페이지를 보여준다면 자바스크립트는 정적인 페이지를 동적으로 만들어주는 역할을 합니다. HTML 페이지 안에 작성할 수 있으며 별도의 컴파일 과정 없이 웹 페이지가 로딩될 때 실행됩니다. 이름때문에 자주 오해받고는 하지만 Java와는 완전히 별개의 언어라고 생각하시면 됩니다. 자바스크립트의 역할 자바스크립트의 기본적인 용도는 도입부에서 말씀드렸듯이 정적인 웹 페이지를 동적으로 만들어주는 것 입니다. 어떻게 동적으로 만들어주는지 그 역할을 한번 볼까요? ​ 1. HTML 조작 - 자바스크립트를 통해 HTML 요소를 추가, 제거하거나 페이지를 직접 조작할 수 있습니다..

JS 2020.10.16

API(Application Programming Interface)란?

API(Application Programming Interface)란? API는 ​"응용 프로그램 프로그래밍 인터페이스"의 줄임말로 위키피디아에 의하면 "응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다."라고 합니다. 대체 이게 뭔 소리일까요? 자세히 알아보기 우선 인터페이스라는 용어를 생각해봅시다. 인터페이스는 쉽게 말해서 사용자와 기기의 상호작용을 돕는 시스템입니다. 가장 대표적인 인터페이스로는 TV와 리모컨이 있습니다. 우리가 TV를 켜고 채널을 돌릴 때 굳이 귀찮게 TV앞까지 가서 직접 버튼을 조작하는 경우는 거의 없고 대부분 리모컨을 사용해서 TV를 조작하죠? 여기서 리모컨이 바로 인터페이스의 역할을 하는 것입니다. ..

카테고리 없음 2020.10.14
반응형