Backend
-
[Spring] SOLIDBackend/Spring 2022. 5. 9. 23:41
SOLID 클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리했다. SRP(single responsibility principle) : 단일 책임 원칙 OCP(Open/Closed principle) : 개방-폐쇄 원칙 LSP(Liskov substitution principle) : 리스코프 치환 원칙 ISP(Interface segregation principle) : 인터페이스 분리 원칙 DIP(Dependency inversion principle) : 의존관계 역전 원칙 SRP 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. 변경이 있을 때 파급효과가 적으면 단일 책임 원칙을 잘 따른 것이다. OCP 개방-폐쇄 원칙 소프트웨어 요소는 확장에는 열려있으나 변경에는..
-
[Spring] 스프링/스프링컨테이너/스프링빈 이란?Backend/Spring 2022. 5. 9. 23:27
스프링 스프링 DI(Dependency Injection) 컨테이너 기술 스프링 프레임워크 스프링 부트, 스프링 프레임워크 등을 모두 포함하는 스프링 생태계 자바 언어 기반의 프레임 워크로서 객체 지향 애플리케이션을 개발할 수 있도록 도와주는 프레임워크이다. 객체 지향 프로그래밍의 추상화, 캡슐화, 상속, 다형성을 보장한다. 그 중 다형성은 제어의 역전, 의존 관계 주입을 통해 역할과 구현을 편리하게 다룰 수 있도록 지원한다. 스프링 컨테이너 자바 객체(Bean)의 생명 주기를 관리하며 생성된 자바 객체드레게 추가적인 기능을 제공한다. 제어흐름을 외부에서 관리할 수 있게 해주며 객체들 간의 의존관계를 런타임에 만들어준다. 종류에는 2가지가 있다. 1. BeanFactory 빈 등록, 생성, 조회 등 관리..
-
[Django] Rest FrameworkBackend/Django 2022. 5. 8. 23:01
RESTful Reprensentational State Transfer http의 url과 http method(GET, POST, PUT, DELETE)를 사용해서 API 가독성을 높인 구조화된 시스템 아키텍쳐이다. 하나의 url로 4가지의 HTTP method를 전송할 수 있다. REST Framework RESTful API 서버를 쉽게 구축할 수 있도록 도와주는 오픈소스 라이브러리 # 설치 pip install djangorestframework # 설정에 추가 INSTALLED_APPS = [ ... 'rest_framework', ] Serializer 추상적인 object를 텍스트파일로 바꿔주거나 반대의 상황도 가능하게 하여 데이터를 직렬화, 역직렬화한다. 서버와 웹 클라이언트 사이에 데이..
-
[Django] MVT 패턴Backend/Django 2022. 5. 8. 22:41
MVC 패턴이란? 디자인 패턴 중 하나로 Model, View, Controller의 약자이다. Model : 어플리케이션 정보(데이터) View : 사용자 인터페이스 Controller : 데이터와 비즈니스 로직사이 상호 동작 관리 이 패턴을 사용하면 사용자가 보는 페이지, 데이터 처리, 이 둘 사이의 제어 3가지 역할에 대해서 각각 역할에 집중할 수 있다. 유지보수성, 확장성, 유연성이 증가하고 중복 코딩을 줄인다. MVT 패턴이란? 장고 프레임워크에서는 MVC에서 View를 Template, Controller를 View로 MVT 패턴이라고 한다. Model : 데이터베이스에 저장되는 데이터 Template : 사용자에게 보여지는 UI View : 프로그램 로직이 동작해 데이터를 가져오고 처리하여 ..
-
[Django] django 프로젝트 시작하기Backend/Django 2022. 5. 8. 17:10
Django 설치 pip install django Django 프로젝트 생성 및 실행 # 프로젝트 생성 django-admin startproject [project name] # 프로젝트 내부 이동 cd [project name] # 8080포트에서 프로젝트 실행(default 8000) python manage.py runserver 8080 Django 앱 생성 python manage.py startapp [app name] Django Sqlite3 DB 사용 # projectname/setting.py에 app 설치 알리기 INSTALLED_APPS = [ ... 'appname.apps.AppnameConfig', ] # app의 migration파일 만들기 python manage.py ..
-
[Docker] 도커 명령어 모음Backend/Docker 2022. 4. 10. 20:48
Docker Image # image 검색 docker search [image name] # image push docker tag [image name]:[tag] docker.io/[사용자계정]/[레포지토리]:[tag] docker push docker.io/[사용자계정]/[레포지토리]:[tag] # image pull docker pull [사용자계정]/[레포지토리]:[tag] # image build docker build -t [image name] . # image 확인 docker images # image 실행 명령어들 # -i : 표준 입력 활성화, bash에 명령 입력 # -t : TTY모드, bash 사용 옵션 # -d : 데몬모드, 백그라운드 실행 # --name : 컨테이너명 지..
-
[Minikube] Docker image를 minikube cluster로 실행하기Backend/Kubernetes 2022. 4. 10. 14:25
Docker Image를 가지고 애플리케이션을 만들어 minikube cluster로 실행해본다! 1. Docker image 만들기 docker image가 없다면 아래 사이트에서 간단한 docker image를 생성해볼 수 있다. https://miraekwak.tistory.com/84?category=927457 [Docker hub] docker image 생성 및 Docker hub에 image 업로드 Docker 설치가 완료되었다면 도커로 이미지를 생성한 후 Docker hub 저장소에 이미지를 업로드해볼 수 있다. 도커 설치는 다음의 링크에서! https://miraekwak.tistory.com/76?category=927457 [Docker] Virtual b.. miraekwak.ti..
-
[Docker hub] docker image 생성 및 Docker hub에 image 업로드Backend/Docker 2022. 4. 9. 16:11
Docker 설치가 완료되었다면 도커로 이미지를 생성한 후 Docker hub 저장소에 이미지를 업로드해볼 수 있다. 도커 설치는 다음의 링크에서! https://miraekwak.tistory.com/76?category=927457 [Docker] Virtual box Ubuntu 20.04에 Docker 설치하기 윈도우 OS를 사용하고 있지만 리눅스 OS에서 Docker를 사용해야하는 일이 생겨 Virtual box를 이용해 Ubuntu 가상머신을 만들었다. 이때 ubuntu 20.04버전을 기준으로 Docker를 설치하는 명령어를 포스트한다 miraekwak.tistory.com Docker image 생성 python flask를 사용한 간단한 app.py 파일을 작성하고 Dockerfile을 ..