왜각 라이브러리의 함수의 특성을 알아야 더 빠르게 코딩 테스트를 풀수 있고, 심지어 토이 프로젝트를 할때도 쓸때마다 많은 필요성을 느꼈다.
From RandomImport Randint
자세히
왜?python으로 코드를 만든다면 이렇게 공식문서를 참고하는것이좋다. 모두가 약속한대로 코드를 짜면 서로 보기 편하기 때문이다
천천히 시간날때마다 읽어보자
PEP: 8Title: Style Guide for Python CodeVersion: $Revision$Last-Modified: $Date$Author: Guido van Rossum guido@python.org, ...
nginx-proxy, ssl자동갱신까지 라이브러리
nginx기초부터하고싶다면
프록시 구성
nginx공식문서
upstream
웹소캣 wss로 nginx에 물리기
왜?채팅앱을 만들다가 https에서는 ws://<ip> 를 사용하지 못하고 wss://<ip> 를 통해 websocket요청을 해야하는 것을 알았다.
즉, ssl인증서가 필요했고, https로 통신이 가능해야하였다. 하지만 지금까지 내 서버는 포트포워딩으로 http로만 통신을 하는 앱을 만들었기때문에 문제가되었다. 또한 포트포워드의 한계는 요청하는...
왜?채팅 앱을 만들다보면 실시간으로 처리해야하는 부분들이많다. 이를동기적으로 처리할 경우 A것을모두처리한후에B를 처리하므로 A가나중에 보낸것들이 B의 메세지보다 먼저 처리가 될수도있다. (실시간 채팅을 구현하기 힘들다)
이를 멀티스레드로 해결할 수 도 있지만.. 이는 나중에 알아보자
GIL때문에 python은 멀티스레드를 할수록 같거나 느려질수도있다
동기와 비동기의 차이점자세히
동기요청이 들어온 순서에 맞게 하나씩 처리하는 방식이다. 순서에 맞춰 진행되는 장점이 있지만, 여러 가지 요청을 동시에 처리할 수 없다.
요청후 응답...
실시간 채팅 구현 참조
serversocket문서
웹소켓 JSON값
왜?채팅을 소켓을 통해 만들었지만, 실시간으로 방을 참여하고, 많은 사람들이 채팅을 할 수있게 만들고싶었다.
위에 해당하는 구현이 끝난다면, 이제 url을 연결하여 id값을 접속할때마다 부여하며 채팅방을 만들고, 그 url을 원하는 사람들에게 공유하고 유저들이 접속한다면 원하는 사람들만 일회용으로 간단히 사용할수있지 않을까 생각하였다.
실시간 채팅 구현서버12345678910111213141516171819202122232425262728293031323334...
자세히
HTTPhttp는 OSI layer에서의 데이터 통신 프로토콜이다.
웹브라우저가 URL에 접속한다면 HTTP규약에 따라 요청하게되고 이는 해당서버가 해당 요청에 응답하며, 그 결과인 html문서가 브라우저 창에 나타난다.
하지만 HTTP규약을 그대로 개발한다면 반드시 사용자의 요청이 선행되어야하며 또한 페이지 내용을 고친다면 모든 페이지를 새로고침해야한다.
이를 해결하기위한 것이 Ajax
Ajax(비동기적 JS And Xml)HTTP 프로토콜안에서 ajax는 서버와 소통하기 위한 기술이다.
http 문서에서의 DO...
왜?현재 계획중인 프로젝트가 채팅기능이 들어가있다.
네트워크 공부도 할겸, 간단한 채팅기능을 처음 구현해볼겸
자세히 를 따라해보았다..
소캣이란?OSI 7계층에서 프로그램 개발에서는 보통 애플리케이션 계층을 건드린다. 하지만 UDP, TCP의 프로토콜로 구현되는 인터넷을 구현할려면 결국 Tranport계층에 접근해야한다. 애플리케이션 계층에서 트랜스포트 계층을 조작하는 방법이 바로 Socket이라고 불리는 인터페이스이다. UNIX에서 등장했으며, OS에서 제공하는 인터페이스이고, 어떤 종류의 프로그램이라하더라도 이 소켓에 접...
자세히
자세히
자세히
도커 네트워크 구성
왜? (작성중)도커는 이미지와 컨테이너로 굉장히 많은 일을 기록하여 다음에는 단순화 할수있다.
특히 이미지를 가져와 내가 원하는 구성을 안에 넣고 필요한 명령어(pip install -r requirements.txt,python manage.py makemigrations,python manage.py migrate,python manage.py runserver까지 실행을 하도록 기록해놓고 이를 이미지로 생성한다.
그럼다음부터는 해당 이미지만 실행하면 모든것이 기록한대로 동작한 결...
네트워크 지식 02
VPN
내가 외부에서 노트북을 써도 그것을 마치 내 집(VPN서버존재함)에서 쓰는것처럼 통신이 가능함, 즉, VPN서버를 지원해주는 곳에 연결해주면 내가 요청한내용을 암호화하여 내 VPN서버에 요청이 도착하면 풀어서 내집(내부망)에 해당하는 요청이면 내부망으로 보내주고, 아니면 내집(내부망)에서 외부망으로 요청보냄.
즉 내가 집에서 와이파이로 연결후 통신하는 것과 똑같게 보이게된다.
이걸 확장한다면 즉, 일본VPN을 결제후 사용하면 내가 일본에서 인터넷하는것과 똑같다.
Router와 스위치, 맥 주소
...
nginx의 설정에 대해 자세히 보고싶으시다면
nginx에 해당하는 포스팅을 참고해주세요
자세히
자세히2
pyenv (가상환경구성가능, 파이썬버전에 따라 가상환경 구성가능!)
왜?서버를 구성하고 웹서버환경을 구축하려면 nginx가 필요하다. 이를 DRF와 연결까지하여 실제로 JSON을 주고 받아보자
1$ ssh -i ~/.ssh/[private_key] ubuntu@ip
웹서버 구조
NginxNginx 설치nginx를 설치하는 방법에는 apt-get을 통한 방식과 직접 소스코드를 내려받아서 컴파일하...