본문 바로가기

전체 글57

Internet protocol suite (TCP/IP updated) Layer 1: Physical Layer 물리 계층(Physical layer)은 네트워크의 기본 네트워크 하드웨어 전송 기술을 이룬다. 좀 더 쉽게 말하자면 물리적으로 연결된 두 대의 컴퓨터가 0과 1의 나열(정보의 표현)을 주고 받을 수 있게 해주는 하드웨어(PHY칩)로 구현된 모듈이다. encoding(송신할 때): 0과 1의 나열을 아날로그 신호로 바꾸어 전선으로 흘려보낸다. decoding(수신할 때): 아날로그 신호가 들어오면 0과 1의 나열(디지털 신호)로 해석한다. Layer 2: Data Link Layer 데이터 링크 계층(Data link layer)은 포인트 투 포인트(Point to Point) 간 신뢰성있는 전송을 보장하기 위한 계층이다. 좀 더 쉽게 말하자면 같은 네트워크에 .. 2021. 7. 21.
Heroku VS AWS EC2 뭐가 다른 걸까? 클라우드 컴퓨팅 Heroku와 AWS를 통틀어 클라우드 컴퓨팅이라고 한다. 클라우드 컴퓨팅(영어: cloud computing)은 사용자의 직접적인 활발한 관리 없이 특히, 데이터 스토리지(클라우드 스토리지)와 컴퓨팅 파워와 같은 컴퓨터 시스템 리소스를 필요시 바로 제공(on-demand availability)하는 것을 말한다. 다만 이 둘은 애플리케이션 배포하는 방식에 큰 차이가 있다. 이 포스팅은 이 둘의 차이를 정리한 글이다. Heroku - PaaS PaaS 서비스형 플랫폼(Platform as a Service, PaaS)은 클라우드 컴퓨팅 서비스 분류 중 하나다. 일반적으로 앱을 개발하거나 구현할 때, 관련 인프라를 만들고 유지보수하는 복잡함 없이 애플리케이션을 개발, 실행, 관리할 수 있게.. 2021. 7. 19.
django channels - Consumer Consumer Channels은 ASGI라는 기본 low-level 사양을 기반으로 구축되었지만 복잡한 애플리케이션을 작성하는 것보다 상호 운용성을 위해 설계되었습니다. 따라서 Channels은 ASGI 애플리케이션을 쉽게 만들 수 있는 풍부한 추상화인 Consumer를 제공합니다. Consumer은 django의 view에 대응한다. app에 연결된 모든 사용자는 "사용자" group에 추가되고 서버에서 보내는 message를 받게 된다. 클라이언트가 app에서 연결이 끊기면 해당 channel이 group에서 제거되고 사용자는 message 수신을 중단한다. Consumer은 특히 다음과 같은 몇 가지 일을 합니다. 이벤트 루프를 작성하도록 만드는 대신 이벤트가 발생할 때마다 호출할 일련의 함수로 .. 2021. 7. 18.
django channels - Heroku deploy 서문 Django channels tutorial로 만든 real-time chat을 Heroku에 배포해본 과정을 정리했다. real-time chat은 Django, Redis, ASGI를 사용하기에 다른 기술 스텍을 사용한 프로젝트와 배포 과정이 다를 수 있다. 0. 사전 준비 github과 연동된 프로젝트 Heroku 가입 1. Heroku heroku app 생성 redis 추가 생성한 app의 대시보드에서 Resource항목에 Heroku Redis를 추가한다. Github 연동 Deploy항목에서 Deployment method를 Github으로 선택하고 App connected to GitHub에서 배포할 레포지토리를 선택한 뒤 아래의 Manual deploy에서 배포용 branch를 선택.. 2021. 7. 15.