[제 2 강] 로컬 환경에서 도커를 활용해보자! 이번 포스팅에서는 도커 compose에 대해 알아보겠습니다. Docker Compose란 무엇일까요? 도커 컴포즈(Docker Compose)는 여러 개의 도커 컨테이너를 하나의 단위로 정의하고 실행할 수 있게 해주는 도구입니다. 이를 통해 복잡한 애플리케이션을 여러 컨테이너로 구성하고 관리하는 작업을 간편하게 할 수 있습니다.간단히 말해, 도커 컴포즈는 애플리케이션을 구성하는 여러 컨테이너를 하나의 설정 파일에 정의하고, 그 설정 파일을 실행하여 모든 컨테이너를 동시에 실행하는 기능을 제공합니다. 이렇게 함으로써 여러 컨테이너 간의 연결, 설정, 환경 변수, 볼륨 마운트 등을 편리하게 관리할 수 있습니다. 아직 머리에 잘 안들어오시나요? 실습으로 한번 보..
Git 만큼 사랑 받는 개발 툴이 된 Dockerhttps://survey.stackoverflow.co/2022/ [제 1 강] 컨테이너 기술에 대해서 알아보고, Docker의 기본 개념과 사용법에 대해 알아보자Docker란 무엇일까? 가장 좋은 방법은 도커 공식 홈페이지를 훑어보는 것입니다. 홈페이지에는 이렇게 설명되어있습니다. • open platform 이다. • 어플리케이션을 인프라에서 분리해준다. • 신속하다. • 인프라를 어플리케이션을 관리하는 것 처럼 관리 할 수 있다. • 코드를 배포에 용의하다. 더 자세히 살펴보자면 • 컨테이너 기반 가상화 기술 중 하나 • 애플리케이션을 컨테이너라는 단위로 격리하여 실행하고 배포하는 기술 정도로 설명할 수 있을 것 같습니다. 하나하나 살펴보겠습니다. ..
실습 설명 1. 유저 모델에 필드 3개를 추가해 주세요.닉네임(nickname): 웹사이트 내에서 사용되는 이름 (최대 15자, 중복 불가능)카카오 ID(kakao_id): 판매자 연락처 (최대 20자, 중복 가능: 지금은 카카오 ID를 검증할 방법이 없으니까 그냥 중복을 허용합니다).주소(address): 물품을 조회할 때 참고할 수 있는 (판매자) 주소 (최대 40자, 중복 가능: 지금은 주소를 검증할 방법이 없기 때문에 주어진 형식은 없습니다.) 2. migration을 만들고 적용해 주세요. 3. 추가한 필드들도 어드민 페이지에 나타나도록 어드민 페이지에 추가해 주시고, (admin 계정으로) 어드민 페이지에 들어가서 기존 유저들의 닉네임, 카카오 ID, 주소를 설정해 주세요.admin@examp..
실습 설명 1. username 대신 email로 로그인을 할 수 있도록 바꿔 주세요. 이제 username은 사용하지 않을 거니까 유저 모델의 __str__ 메소드도 이메일을 리턴하도록 바꿔 주세요. 2. 브라우저를 닫아도 항상 유저를 기억하도록 설정해 주세요. 풀이1. username 대신 email로 로그인을 할 수 있도록 바꿔 주세요. 이제 username은 사용하지 않을 거니까 유저 모델의 __str__ 메소드도 이메일을 리턴하도록 바꿔 준다. 이메일로 로그인을 하려면 아래 내용들을 구현해야 하는데, 인증(authentication) 방법을 이메일로 바꾼다. 회원가입 시 이메일 입력을 필수로 한다. 유저네임은 입력받지 않아도 된다. 이걸 세팅 3개로 해결할 수 있다. # Auth settings..
실습 설명 1. URL '' 아래 간단한 홈페이지를 만들어 주세요. 홈페이지는 아래 조건을 충족해야 합니다.로그인 상태에 따라 로그인/회원가입/로그아웃 링크가 있다.로그인이 돼있는 상태라면 로그인된 유저의 이메일이 나온다.홈페이지에 있는 문구는 여러분이 자유롭게 작성하시면 됩니다. 2. 회원가입이나 로그인을 하면 홈페이지로 리다이렉트해 주세요. 3. 회원가입 페이지(/signup/)에서 아래 정보를 가진 유저를 만들어 주세요Username: user1Email: user1@example.comPassword: django123 4. 로그아웃 링크를 클릭하면 바로 로그아웃이 되도록 바꿔 주세요. 풀이 1. URL '' 아래 간단한 홈페이지를 만들어준다. 홈페이지는 아래 조건을 충족해야한다. 로그인 상태에 ..
실습 설명포도마켓은 중고 물품 거래 웹사이트입니다. 유저는 물품 이름, 가격, 상태, 사진 등을 포함한 게시글을 올릴 수 있고, 다른 유저는 게시글을 보고 판매 유저한테 연락을 해서 물품 거래를 할 수 있습니다. 여러분은 이번 토픽의 실습으로 포도마켓 사이트를 만들게 될 겁니다.(완성된 홈페이지 - 판매 중인 상품들을 확인할 수 있고 '자세히보기'를 클릭하면 상세 페이지로 이동합니다. 상세 페이지에서 판매 유저의 연락처를 확인할 수 있습니다.) 이번 토픽의 실습에서는 웹서비스에 필요한 모든 컴포넌트와 로직을 여러분이 직접 구현하게 될 겁니다. 실제 웹 개발을 하는 것처럼 말이죠. 웹서비스를 처음부터 끝까지 만드는 건 길고 복잡한 일이기 때문에 실습 양이 꽤나 많고 어렵다고 느끼실 수 있는데요. 그렇더라도..
1. django-allauth를 사용하면 유저 기능이 일단 완성돼있는 상태고, 우리는 짧은 코드 몇 줄로 유저 기능을 우리가 원하는 대로 바꿔주기만 하면 됩니다. 그래서 django-allauth를 사용하면 비교적 쉽게 유저 기능을 완성할 수 있습니다. 2. User 모델을 그대로 쓰는 건 쉽고 간단하긴 하지만 나중에 추가 필드가 필요하면 다른 유저 모델로 바꾸는 게 아주 까다롭기 대문에 User 모델을 그냥 사용하는 것은 권장되지 않습니다.
패키지 파이썬에서 패키지는 여러 파이썬 파일의 모음, 즉 파이썬 파일들을 담고 있는 디렉토리를 뜻합니다 (사실 파일뿐만이 아니라 파일과 디렉토리를 모두 포함해도 됩니다). 그러니까 간단하게는 '파이썬 코드의 모음'이라고 생각할 수 있습니다. 일반적으로 서로 연관된 파일을 모아서 한 디렉토리에 두기 때문에 패키지는 어느 특정 기능을 구현하는 코드의 모음이라고 생각할 수 있겠네요. 앱 앱은 장고의 개념입니다. 앱은 장고 프로젝트 (어떤 웹 서비스를 이루는 코드 전체)를 이루는 하나의 컴포넌트인데요. 장고 프로젝트의 settings.py 파일에는 항상 INSTALLED_APPS라는 목록이 있습니다. 여기에 있는 앱들이 장고 프로젝트를 이루는 앱들입니다. 나중에 우리 프로젝트의 INSTALLED_APPS 목록도..
실습 설명 이런! 코스토랑 메뉴판의 날짜가 과거에 머물러 있네요. 매일 자동으로 웹 페이지의 날짜가 변경 되도록 변경해 주세요. view에서 데이터를 가공해서 template으로 넘겨 화면에 표시하면 됩니다. 아래를 참고하면서 각 단계가 어떤 역할을 하는지 생각하며 작성해 주세요. views.py의 index view를 수정합니다. 아래를 참고하여 datetime 모듈을 이용해 오늘 날짜를 가져와서 today 변수에 담아 주세요 today를 Key로 하고 가져온 날짜를 value로 하는 사전형 데이터를 만들어서 context 변수에 담아 주세요. render() 함수의 세 번째 인자로 context 데이터를 템플릿으로 전달해 주세요. index 템플릿을 열고 날짜가 표시되는 부분을 템플릿 변수를 이용해 ..
실습 설명파이썬 함수 사용 팁파이썬의 함수에는 크게 네 가지 형태가 있습니다.함수를 정의하는 네가지 방법1. 매개변수와 반환 값이 없는 형태가장 기본 형태는 아래와 같습니다. 매개변수도 없고 반환 값도 없는 형태로 호출할 때는 함수명()을 이용해서 호출합니다.def 함수명(): 로직 ... #example def greetings(): print("Hello!") 2. 매개변수는 없지만 반환 값은 있는 형태매개변수는 없지만 반환 값은 있는 형태도 있습니다. 마찬가지로 호출할 때는 함수명()을 이용하면 됩니다.def 함수명(): return 반환 값 #example def get_pi(): pi = 3.141592 return pi 3. 매개변수는 있지만 반환 값이 없는 형태매개변수는 있지만 반환값이 없는..