본문 바로가기

기술

(16)
Docker vs Docker Compose vs Kubernetes 이 글은 위 도커, 도커 컴포즈, 쿠버네티스의 차이점을 설명한 글이다. StackOverFlow의 답변을 번역했다. Docker 애플리케이션을 컨테이너화 할 수 있는 컨테이너 기술이다. 도커는 다음 기술들을 사용하는 데 있어 필수 요소이다. Docker Compose 여러 개의 도커 컨테이너를 설정하고 실행할 수 있게 해준다. 특히 컨테이너를 하나씩 ``docker run ...`` 명령어로 실행하고 싶지 않을 때 한 번에 동시에 실행할 수 있게 도와준다. 도커 컴포즈는 컨테이너들을 같은 호스트에서 실행할 때 사용된다. Docker Swarm 도커 스웜은 여러 호스트에서 컨테이너들을 실행하고 연결할 수 있게 해 준다. 도커 스웜은 컨테이너 클러스터 관리와 오케스트레이션 도구이다. 이는 여러 호스트에서 돌..
[Docker] 내맘대로 명령어 정리 이미지 검색하기 $ sudo docker search pull 명령으로 이미지 받기 $ sudo docker pull : 이미지 목록 출력하기 $ sudo docker images 컨테이너 생성하기 $ sudo docker run 옵션 -d : detached mode. 흔히 말하는 백그라운드 모드 -p : 호스트와 컨테이너의 포트를 연결(포워딩) -v, --volume : 호스트와 컨테이너의 디렉토리를 연결(마운트) -e : 컨테이너 내에서 사용할 환경변수 설정 --name : 컨테이너 이름 설정 --rm : 프로세스 종료 시 컨테이너 자동 제거 -it : -i(interactive)와 -t(Pseudo-tty)를 동시에 사용한 것으로 실행된 Bash 셸에 입력 및 출력 가능. --link : 컨테이너..
[Django] 파일 저장 경로 지정 파일 저장 경로 지정 장고에서 이미지와 같은 파일을 다루다보면 파일을 저장할 경로를 설정해야 한다. 이는 Django field type 문서의 FileField의 FileField.upload_to 설정을 해주면 가능하다. 해당 부분을 찾아서 읽어보자. https://docs.djangoproject.com/en/2.2/ref/models/fields/#filefield Model field reference | Django documentation | Django Django The web framework for perfectionists with deadlines. docs.djangoproject.com 이때, 파일 경로에 객체의 아이디 값을 사용하고 싶을 때가 있을 것이다. 문제는 객체를 생성..
[Django] AWS RDS + Django 데이터베이스 설정 들어가기 앞서 모든 종류의 피드백은 환영합니다. 들어가며 Django를 실행하기 위해 자신에게 맞는 데이터베이스를 찾았을 것이다. 필자의 경우 MariaDB를 사용했다. 그 이유는 무료이고 (MySQL에 대한) 한국어 자료가 굉장히 많기 때문이다. 처음에는 PostgreSQL을 사용했다. 그 후에 MariaDB를 설치했는데 결론은 둘 다 환경 셋팅하는데 엄청나게 애먹었다... 이 글에서는 AWS RDS를 설정하는 방법과 그 후 Django에 세팅하는 방법에 대해 알아보도록 하겠다. AWS RDS 인스턴스 생성하기 처음 AWS를 사용하면 모든게 낯설기만 하다. 다행히도 다음과 같이 설명이 잘 되어있는 글이 있다. 하지만 AWS를 처음 접하게 된다면 모르는 개념이 많으므로 뒤에서 추가적으로 설명하도록 하겠다..
[Django] 유용한 Django Admin Tips! 어떤 종류의 피드백도 환영합니다! 아울러 다른 종류의 Tip이 있다면 공유해주세요! Admin에 Image Tag 넣기 Admin에 이미지를 넣으면 url은 보이지만 이미지는 보이지 않는다. 이를 보이게 하는 방법이 있다. 전략은 model class에 image_tag라는 함수를 정의한다. 이 함수는 HTML 형식을 반환한다. 이후 admin에서 이를 readonly_fields로 불러오는 것이다. 적용했을 경우 다음과 같이 Admin에 적용된다. 나처럼 궁금한 사람이 많이 있나 보다: https://stackoverflow.com/questions/16307307/django-admin-show-image-from-imagefield Django Admin Show Image from Imagefie..
[Django / DRF] Nested 구조의 모델 다루기 장고를 하다보면 nested 구조의 모델들을 다루게 될 때가 많다. 특히, 이번에 음식점 리뷰와 관련한 백엔드 API를 작성하는 프로젝트 진행하였는데, 굉장히 깊은 nested 구조를 다루게 되었다. 따라서 본 포스팅에서 nested 구조를 쉽게 처리할 수 있는 방법들을 소개하고자 한다. 프로젝트 개요 설명 모든 코드는 github에서 볼 수 있다. https://github.com/seonkyuKim/manage_web_docker_compose seonkyuKim/manage_web_docker_compose Contribute to seonkyuKim/manage_web_docker_compose development by creating an account on GitHub. github.com ..
[Django] 장고 튜토리얼 공부 추천 순서 본 글을 통해 장고를 시작하시는 분, 그중에서도 특히 웹에 대한 개념이 아예 없으신 분들을 위한 공부 순서를 소개해드리고자 합니다. 글쓴이 역시 웹페이지 개발을 검색해보고, 장고가 쉽다는 이유로 선택했지만 초심자에게는 너무나 힘든 한 달이었습니다. 하지만 지금 다시 생각해보면 장고가 정말 쉬운 프레임워크임에는 틀림없습니다. 특히, 생산성이 엄청나게 높은 것은 명백한 사실입니다. 이 글을 읽으시는 분들께서는 조금 더 수월하게 공부하시기를 바랍니다. 장고? 쟁고? 디장고? 이 질문은 Django 공식 홈페이지의 자주 묻는 질문에도 올라와 있습니다. Django라는 이름은 재즈 기타리스트의 이름을 따왔다고 합니다. 발음은 사실 '쥉고'에 가깝습니다. 몇몇 분들은 'DJ 앙고'라고 하기도 합니다. 한국에서는 '..
기술 블로그를 시작하며 블로그를 시작하게 된 이유와 블로그 도구 선택 과정, 그리고 참고하면 좋을 레퍼런스들을 공유하고자 한다. 블로그 시작 이유 블로그, 그 중에서도 특히 기술 블로그를 시작한다. 이유는 크게 다음과 같다. 1. 배운 것 정리 + 나중에 또 보기 위해 2. 지식 공유 의외로 개발을 하게 되면 이전에 했던 오류들을 또 다시 접하게 될 때가 있다. 운이 좋으면 이전의 기억을 기반으로 쉽게 문제를 해결할 수 있지만 때때로 기억이 나지 않을 때가 있다. 운이 정말 나쁘면 같은 방법으로 검색해도 그 방법이 나오지 않을 때가 있다. 프로그래머가 가장 싫어하는 것 중 하나가 같은 일을 반복하는 것이다. DRY(don't repeat yourself)라는 디자인 원리도 있지 않은가. 따라서 배운 것을 정리하는 용도로 사용하..