코딩은 주댕이로
-
코드에 남기는 주석의 의미코딩은 주댕이로/컴공지식 2019. 10. 17. 15:00
주석주석이 명료하고 도움이 되는가? 정말 필요한 주석만 있는가? 유용한 주석은 코드가 어떤 일을 하는지가 아니라 왜 존재하는지를 담고 있다. 코드만 봐서는 어떤 일을 하는지 이해가 잘 안 된다면 코드를 더 간단하게 고쳐야한다. 정규 표현식이나 복잡한 알고리즘에 대해서는 예외로 어떤 일을 하는지를 적어도 좋지만 일반적으로는 코드에 담을 수 없는 정보를 주석에 남기는 편이 좋다. 출처: https://soojin.ro/review/looking-for
-
서브라임텍스트(Sublime Text)에서 Python3 빌드하기코딩은 주댕이로 2017. 6. 18. 03:05
파이썬3을 설치한 뒤에, 서브라임텍스트에서 파이썬파일을 빌드하면 파이썬2.7으로 빌드하게 된다. 그럼 파이썬3.x을 빌드하는 방법을 알아보자. 1. python3이 설치된 경로를 알아보자.터미널에서 which python3를 치면 아래 처럼 경로가 나온다. 2. 서브라임텍스트로 이동해서 Tools - Build System - New Build System을 누르면 새로운 파일이 열린다. 거기에 아래 코드를 복사해주자.빨간색의 경로는 위에서 찾아낸 경로를 입력한 뒤에 저장한다. 파일명은 Python-3.6.sublime-build로 해주자(암거나 해도 상관없음){"cmd": ["/usr/local/bin/python3", "-u", "$file"],"file_regex": "^[ ]*File \"(.....
-
[HTTP] 웹서버와 HTTP. (프록시, 게이트웨이, 가상호스트)코딩은 주댕이로/인터넷 2017. 5. 12. 01:24
웹서버와 HTTP는 뗄 수 없는 관계에 있다.브라우저상에서 일어나는 대부분의 HTTP리퀘스트가 웹서버로 전달되고 있다. 그럼 학부시절, 교수님이 분명히 알려주었지만 절대로 귀담아 듣지 않았던 프록시와 게이트웨이에 대해서 간단히 짚어보자.프록시와 게이트웨이 둘의 공통점은 클라이언트와 서버의 중계 역할을 한다는 것이다. 하지만 용도와 역할이 조금 다르다. 프록시(Proxy)프록시 서버의 기본적인 동작은 클라이언트로부터 전달받은 리퀘스트를 서버로 전달하고, 서버에서 받은 응답을 클라이언트에 전달하는 역할을 한다.그렇다면, 왜 프록시를 두고 중계를 하는것일까? 프록시의 사용 목적은 네트워크 캐싱, 조직내의 특정 웹사이트 액세스 방지, 액세스 로그 획득 등이 있다.프록시의 사용방법은 크게 2개의 기준으로 분류된다..
-
[HTTP] HTTP메시지와 HTTP엔티티코딩은 주댕이로/인터넷 2017. 4. 24. 22:50
HTTP통신은 메시지 교환을 통해 이루어진다.예를 들어, www.naver.com/을 브라우저에 요청하면 www.naver.com/에 있는 리소스를 요청하는 메시지를 네이버 서버에 전달하게 되는 것이다. 이 메시지를 받은 네이버 서버에서는 네이버 메인.html을 HTTP Response 메시지에 담아 보내는 것이다. HTTP메시지는 헤더와 바디로 구성된다. 헤더와 바디는 개행문자(blank line)으로 구분한다.즉,메시지 헤더 개행문자(CR+LF) 메시지 바디 이 모양을 갖게 된다. Request, Response메시지 모두 형식은 동일하다. 리퀘스트 라인리퀘스트에 사용하는 메소드와 리퀘스트 URI와 사용하는 HTTP버전이 포함 상태라인HTTP Status, HTTP버전이 포함 헤더 필드HTTP통신에 ..
-
[HTTP] Status Code를 알아보자코딩은 주댕이로/인터넷 2017. 4. 15. 04:55
HTTP Response에는 Status code가 존재한다.클라이언트의 Request가 어떻게 처리 되었는지를 간단히 알려주는 코드입니다. "200, OK"처럼 숫자와 설명으로 이루어지는데 이에 대해서 간단히 알아보도록 할게요.200처럼 Status code는 3자리 숫자로 이루어져있고, 크게 5가지 종류가 정의되어 있습니다.RFC스펙을 따른다면 커스텀한 Status code를 만들 수도 있습니다만, 이건 제 관심밖입니다. 클래스 설명 1xx Informational 리퀘스트를 받아들여 처리중 2xx Success 리퀘스트를 정상적으로 처리했음 3xx Redirection 리퀘스트를 완료하기 위해서 추가 동작이 필요 4xx Client error 클라이언트에서 발생한 에러로 리퀘스트 처리 불가 5xx ..
-
[HTTP] 쿠키를 왜 쓰는거죠?코딩은 주댕이로/인터넷 2017. 3. 27. 21:56
HTTP는 Stateless 프로토콜입니다. 즉, 하나하나의 HTTP통신은 이전 통신의 결과와는 전혀 무관한 독립적인 통신을 하게 되는 것입니다. 하지만 로그인과 같은 인증이 필요한 경우를 생각해봅시다.인증이 필요한 HTTP통신을 할 때마다, 인증에 필요한 작업을 해주어야 할까요?Stateless 프로토콜의 특징을 생각해보면.. 해주는 것이 맞는 것 같습니다. 페이지를 이동할 때마다 아이디와 패스워드를 요구하겠네요.이건 말도 안되는 상황입니다. 이런 경우를 해결하기 위해 쿠키라는 시스템이 도입되었습니다.쿠키는 서버가 Response로 내려주는 데이터 중 하나입니다. 클라이언트가 Request를 보내면 서버가 해당 Request의 Reponse에 쿠키를 설정할 수 있습니다.쿠키발급이 필요한 Response..
-
[HTTP] HTTP의 method코딩은 주댕이로/인터넷 2017. 3. 24. 16:57
많은 사람들이 HTTP의 GET, POST에 대해서 알고 있을 것이다.이에 대해서 간단히 정리한다. GET같이 입력된 URI에 있는 자료를 요청한다. 요청한 자료가 html문서와 같은 텍스트 기반이라면 텍스트 그대로 response를 받게 되고, .cgi과 같은 프로그램이라면 해당 프로그램의 수행 결과에 대한 response를 받게 된다. HEADGET과 동일하지만 body를 제외한 head영역만 받는다.이 head에는 최근 수정 시간 등에 대한 meta data가 포함되겠지? POSTGET과 유사하지만, 목적에서 조금 차이를 찾아보자면POST에 특정한 작업을 요구한다. GET에서는 특정 리소스를 요청한 것이라면 POST는 특정한 작업을 요청하는 것이다. PUT서버에 파일을 심어두기 위한 메소드이다.보통..
-
[TCP/IP] HTTP 학습에 필요한 IP, ARP, TCP를 짚고 넘어가보자.코딩은 주댕이로/인터넷 2017. 3. 21. 00:17
HTTP를 학습하기 위해서는 배경지식이 꽤 필요하다.OSI 계층도가 대표적일텐데 그 중에서도 중요도가 높은 IP, ARP, TCP에 대해서 짚어보자. 1. IP (Internet Protocol), ARP (Address Resolution Protocol)IP는 송신자가 수신자에게 패킷을 전달하는 역할 그 자체를 한다. 즉, IP는 클라이언트에서 서버로의 패킷 전달을 책임진다. 송신자와 수신자간의 거리가 멀기 때문에 라우터의 도움을 받아야한다.송신자에서 출발한 패킷은 여러 대의 라우터를 거쳐 수신자에게 도착하게 되는 것이다. 송신자는 수신자의 IP주소만 알고 있지, 라우터들의 주소를 알지 못한다. 라우터의 주소를 파악하기 위해 사용되는 것이 바로 ARP이다. ARP는 수신자의 주소를 기반으로 가장 적절..