백엔드 : 서버공부
-
장고 앞으로 공부할 것들백엔드 : 서버공부/Django 2023. 8. 7. 19:35
앞에서 공부한 내용은 기본적인 내용입니다. 현실의 복잡한 문제들을 해결하려면 더 많은 것을 공부해야합니다. DataBase.Model 아래와 같은 코드를 작성해서 저희는 정보를 메모리에 보관했습니다. topics = [ {'id':1, 'title':'routing','body':'Routing is ..'}, {'id':2, 'title':'view','body':'View is ..'}, {'id':3, 'title':'Model','body':'Model is ..'} ] 정보를 위와같이 메모리에 보관하게 되면 앱이 재실행 될때마다 정보가 리셋됩니다. 하지만 실무에서는 영구적으로 정보를 저장할 필요가 있습니다. 이를 위해서 'DataBase'를 이용합니다. DataBase를 이용하면 영구적으로 데이..
-
다중화와 역다중화(multiplexing & demultiplexing)백엔드 : 서버공부/NetWork 2023. 8. 5. 12:48
다중화 역다중화 서비스는 네트워크 계층에서 제공하는 호스트간의 전달 서비스(host2 host delivery service)를 트랜스포트 계층의 프로세스 간 전달 서비스(Process2 Process delivery service)로 확장해주는 서비스이다 다중화는 데이터를 세그먼트로 분할하여 전송 계층에서 네트워크 계층으로 전달하고, 역다중화는 수신된 세그먼트를 추출하여 해당 애플리케이션으로 전달하는 과정입니다. 이러한 과정은 전송 계층에서 수행됩니다. 종단시스템 사이의 소켓 전달 개요 --- **수신 호스트의 트랜스포트 계층**은 **네트워크 계층으로부터 세그먼트를 수신**합니다. 이것은 송신 호스트에서 보낸 세그먼트가 네트워크를 통해 수신 호스트로 전달되었다는 것을 의미합니다. **송신 호스트의 트..
-
트랜스포트 계층 서비스 및 개요백엔드 : 서버공부/NetWork 2023. 8. 4. 12:28
트랜스포트 계층(전송 계층)은 애플리케이션 계층과 네트워크 계층 사이에 존재하여, 서로 다른 호스트에서 동작하는 애플리케이션 프로세스간의 논리적 통신(logical communication)을 제공합니다. 트랜스포트 계층 프로토콜은 그림과 같이 종단시스템의 OS에서 구현된다. Network Router들은 트렌스포트 프로토콜을 사용하지 않는다. ### 트랜스포트 계층의 동작 설명 --- 1. 송신 측의 트랜스포트 계층은 애플리케이션으로 부터 수신한 메시지를 트랜스포트 계층 세그먼트로 변환한다. 2. 트랜스포트 계층은 종단 시스템에 있는 네트워크 계층으로 트랜스포트 계층 세그먼트를 전달한다. 3. 수신 측에서 네트워크 계층은 데이터그램으로부터 **트랜스포트 계층 세그먼트를 추출하고 트랜스포트 계층으로 세그..
-
장고 수정 기능 구현백엔드 : 서버공부/Django 2023. 7. 31. 00:28
이번에는 CRUD중 UPDATE에대한 기능을 구현해보겠습니다. CRUD중 가장 어렵다고 알려진 UPDATE는 앞에서 배웠던 모든 기술을 총동원해야 한다고합니다. 구성하려는 페이지 구성은 다음과 같습니다. 페이지의 홈 화면에서는 create 버튼만 나타납니다. 상세보기 페이지를 누르게되면 update버튼이 나타납니다. 그 버튼을 클릭하면 사용자가 선택한 내용이 폼에 들어가있습니다. 글을 수정한 후 제출버튼을 누르면 변경사항이 서버에 전송되고, 변경된 topic의 상세보기 페이지로 이동하게됩니다. 상세보기 페이지에 들어가면 update 링크가 뜨게먼저 함수를 수정해보겠습니다. 아래와같이 HTMLTemplate을 수정해줍니다. def HTMLTemplate(articleTag, id=None): global ..
-
장고 삭제 기능 구현백엔드 : 서버공부/Django 2023. 7. 29. 13:37
장고에서 삭제 기능을 구현해보겠습니다. 동작하는 방식을 보자면 글의 상세페이지를 눌렀을때 Delete버튼이 나타나게 됩니다. 버튼을 클릭하면 해당 글이 삭제되고 홈으로 이동하도록 구성해보겠습니다. 버튼을 추가해보겠습니다. 아래와 같은 코드를 추가해줍니다. 아래는 수정사항이 반영된 HTMLTemplate함수입니다. def HTMLTemplate(articleTag): global topics ol = '' for topic in topics: ol += f'{topic["title"]}' return f''' Django {ol} {articleTag} create ''' 아래와 같이 버튼이 추가된것을 확인할 수 있습니다. delete의 기능을 구현해보겠습니다. 버튼을 링크로 구현할수도있습니다. 기존의 코..
-
장고 생성 기능 구현 2백엔드 : 서버공부/Django 2023. 7. 29. 13:32
view.py에서 구현한 함수를 살펴보겠습니다. 사용자 요청이들어오면 요청을 장고가 받습니다. 장고는 사용자의 요청에 포함된 여러가지 정보들을 분석해서, 만들어둔 create함수를 장고가 호출합니다. 호출한 후 첫번째 파라미터의 인자로 HttpRequest라는 객체를 만드는데 그 객체안에 사용자의 요청과 관련된 여러가지 정보들을 패키징한 정보를 객체란 형태로 만들어 우리에게 공급합니다. 우리는 request를 분석해서 처리를 하는 코드를 작성하고, HttpRespinse라는 객체를 응답해주면 그 정보가 장고에 의해서 사용자의 브라우저로 전달되게 되는 것 입니다. https://docs.djangoproject.com/en/4.2/ref/request-response/를 살펴보면 request.method..
-
장고 생성 기능 구현 1백엔드 : 서버공부/Django 2023. 7. 29. 13:27
이번에는 글을 작성하는 기능을 구현하는 방법을 살펴보겠습니다. 사용자가 글의 제목과 내용을 입력하면 topics에 추가되면서 페이지에 링크가 만들어지는 기능을 구현해 보겠습니다. 먼저 글쓰기페이지로 이동할 수 있는 링크를 추가해보겠습니다. 아래와 같이 body태그 밑에 링크를 추가합니다. def HTMLTemplate(articleTag): global topics ol = '' for topic in topics: ol += f'{topic["title"]}' return f''' Django {ol} {articleTag} create ''' 그리고 이후에 create 기능에 delete,update기능도 만들것이기 때문에 기능들을 리스트로 표현하겠습니다. 아래와 같이 한번 더 수정해 줍니다. def..
-
장고 읽기 구현 2백엔드 : 서버공부/Django 2023. 7. 29. 13:03
장고 읽기 구현 2 이제 read함수 부분을 구현해보겠습니다. read함수도 똑같은 형식의 html형식을 공유합니다. 그렇기 때문에 html코드를 함수화 시켜보겠습니다. 아래와같이 코드를 수정해 보겠습니다. from django.shortcuts import render, HttpResponse topics = [ {'id':1, 'title':'routing','body':'Routing is ..'}, {'id':2, 'title':'view','body':'View is ..'}, {'id':3, 'title':'Model','body':'Model is ..'} ] def HTMLTemplate(): global topics ol = '' for topic in topics: ol += f'{to..