A ship in harbor is safe, but that is not what ships are built for.

스파르타코딩 37

내일배움캠프 AI - 60일차 TIL, 2022.11.24

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.11.24. 60일차 - TIL 1. datetime 라이브러리 문자열 변환 에러 사용자가 업로드한 이미지를 유화로 변환해 저장할 때 중복되지 않은 이름으로 생성해야 한다고 생각했고, 이에 현재 시간을 파일 이름으로 저장하도록 코드를 짰다. # articles앱의 views.py time = datetime.now().strftime('%Y-%m-%d%H:%M:%s') cv2.imwrite(f'output/{time}.jpeg', output) result = f'output/{time}.jpeg' 하지만 media폴더에 해당 결과 이미지 파일이 저장되지 않았고, 때문에 게시글을 가져올 때 media에 해당 이름의 파일이 없다고 뜨는 에..

내일배움캠프 AI - 56일차 TIL, 2022.11.18

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.11.18. 56일차 - TIL 1. 타임어택 문제) Docker를 활용해 서비스 배포하기(docker-compose 활용) 1. github에서 timeattack project를 clone해주세요. 2. django의 runserver 명령어를 사용해 배포해주세요.(사용 이미지: python:3.10.8) 3. postgresql을 연동한 후 배포해주세요.(사용 이미지: postgres:14.5) 4. nginx를 연동한 후 배포해주세요.(사용 이미지: nginx:1.23.2) 5. gunicorn을 사용해 배포해주세요. 풀이) 먼저 aws ubuntu에 접속한다. 1. AWS EC2에 SSH 연결 - ssh -i 키페어드래그 ubu..

내일배움캠프 AI - 50일차 TIL, 2022.11.10

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.11.10. 50일차 - TIL 1. Docker 원격강의 목표 1) 리눅스에서 docker 패키지를 설치할 수 있다. 2) docker compose를 설치하고, 컨테이너를 생성할 수 있다. 3) 포트포워딩에 대해 이해하고 활용할 수 있다, 4) docker volume에 대해 이해하고 활용할 수 있다. 5) 이미지를 직접 빌드할 수 있다. 6) entrypoint를 사용해 컨테이너가 생성될 때 원하는 명령어를 실행시킬 수 있다. 7) docker compose 에서 두 개 이상의 컨테이너를 생성하고, depends_on을 사용해 실행 순서를 관리할 수 있다. docker : 다양한 어플리케이션을 컨테이너 환경에서 테스트 및 배포할 수..

내일배움캠프 AI - 49일차 TIL, 2022.11.09

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.11.09. 49일차 - TIL 1. Docker 원격 강의 목표 1) ec2에서 리눅스 인스턴스 생성하기 2) ssh를 사용해 생성한 인스턴스에 접속하기 3) 상대경로와 절대경로 차이 이해하기 4) 리눅스에서 파일을 생성/수정/삭제하기 5) 외부 패키지 설치하기 6) 리눅스 환경에서 다양한 명령어를 활용해 필요한 작업 수행하기 Linux : Unix 기반 서버용 OS(Debian, Ubuntu, Redhat, CentOS 등) ssh : Secure SHell, 네트워크 상에 존재하는 다른 컴퓨터에 접근하거나 파일을 업/다운로드 하는 작업을 할 수 있는 프로토콜 AWS EC2에 Linux 환경 구성하기 - 인스턴스 시작 > 서버이름 작..

내일배움캠프 AI - 43일차 TIL, 2022.11.01

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.11.01. 43일차 - TIL 1. AWS TimeAttack 1) IAM : Identity and Access Management, AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스로 해당 서비스를 사용하여 리소스를 사용하도록 인증(로그인) 및 권한 부여(권한 있음)된 대상을 제어한다. 2) aws Budgets : 사용자 지정 예산을 설정해, 비용이 예산을 초과했을 때 미리 알림을 받을 수 있다. 3) EC2 : Elastic Compute Cloud, AWS에서 제공하는 클라우드 컴퓨팅 서비스로 해당 서비스를 통해 아마존이 각 세계에 구축한 데이터 센터의 서버용 컴퓨터들의 자원을 원격으로 사용할 수 있다. 2. ..

내일배움캠프 AI - 42일차 TIL, 2022.10.31

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.10.31. 42일차 - TIL 1. Django 심화 원격 강의 1) 목표 Restful한 API 설계가 가능하다 미디어 파일과 스태틱 파일에 대해 이해한다 게시글 모델과 조회/업로드를 위한 Serializer를 만들 수 있다 이미지를 포함한 게시글 기능을 개발할 수 있다 포스트맨으로 백엔드 개발을 하면서 테스팅을 할 수 있다 DRF에서 댓글 기능을 개발할 수 있다 DRF에서 좋아요 기능을 개발할 수 있다 DRF에서 follow 기능을 개발할 수 있다 Many-to-Many 관계를 설정하는 경우와 방법, 그리고 Related_name의 사용 방법을 이해한다 2) Restful API Restful API란 HTTP와 URL 기반으로 자..

내일배움캠프 AI - 38일차 TIL, 2022.10.25

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.10.25. 38일차 - TIL 1. 장고 심화 원격 강의 1) 목표 DRF로 프로젝트 세팅하기 시리얼라이저의 의미와 역할 이해하기 시리얼라이저를 활용해 CRUD 하기 포스트맨으로 DRF 개발 테스팅하기 클래스형 뷰 작성하기 FETCH API를 써서 프론트엔드에서 DRF의 데이터를 가져와서 나타내기 프로젝트 세팅 1. 작업 폴더 생성 2. vscode로 오픈 3. 가상환경 만들기 $ python -m venv venv 4. 가상환경 활성화 $ \venv\scripts\activate 5. django 설치 $ pip install django 6. DRF 설치 $ pip install djangorestframework 7. 프로젝트 생..

내일배움캠프 AI - 37일차 TIL, 2022.10.24

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.10.24. 37일차 - TIL 1. 장고 심화 원격 강의 1) 목표 프론트엔드와 백엔드의 역할 이해하기 HTTP 메시지의 구조 이해하기 Request와 Response 메시지 역할 이해하기 HTTP의 상태코드 역할 이해하기 HTTP의 헤더 역할 이해하기 웹의 요청 흐름 이해하기 State와 Stateless 뜻 이해하기 Restful한 API 설계하기 프론트와 백엔드 분리 여태까지 사용한 방식은 Django의 MTV(Model-Template-View) 방식으로 약간 올드한 방식이다. Django의 MTV에 대해 복습하자면 다음과 같다. 유저가 특정 url로 요청을 보낸다. urlConf를 통해 해당 url과 매핑된 뷰를 호출한다. 호..

내일배움캠프 AI - 31일차 TIL, 2022.10.14

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.10.14. 31일차 - TIL 1. Django 복습반 회원가입 위한 모델 구현 Django에는 권한 및 인증에 대한 기본적인 기능들을 제공하고 있다. 물론 직접 User 모델을 생성해 하나부터 열까지 다 만들 수 있지만 필요한 권한 및 인증 등을 모두 구현해야 하기 때문에 Django에서 제공하는 User Model을 이용해 쉽게 로그인 등의 기능을 구현할 수 있다. 필요로 하는 사용자 데이터가 다를 수 있기 때문에 해당 기능들을 수정해 사용한다. User Model 확장 방법은 총 4가지가 있다. 주로 3, 4번이 많이 사용된다. 위에 두개는 그냥 그렇구나 하는 정도 로 이해하고 넘어가자. 1) Proxy Model - 테이블 추가..

내일배움캠프 AI - 20일차 TIL, 2022.09.27

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.27. 20일차 - TIL 1. Django 타임어택 파이참의 프로젝트 자동 생성 기능없이 명령어로만 장고 프로젝트 만들기 프로젝트에 사용할 폴더를 생성하고, 편집기(vscode or pycharm)에서 폴더 열기 파이썬 가상 환경을 생성하기 python -m venv venv 파이썬 가상 환경을 활성화하기(windows) venv\scripts\activate deactivate(비활성화 명령어) django 패키지 설치하기 pip install django .gitignore 파일을 생성하고 venv 추가(repository에 굳이 올리지 않기 위해) - https://www.toptal.com/developers/gitigno..