웹 프로젝트 6

Spring Boot

Spring에 대해서 착각했던 것이 있다. Spring을 웹을 만드는 도구라고 생각하고 있었다. 그런데, Spring은 웹을 만드는 도구가 아니라 Dependcy Injection을 이용하여 JAVA 애플리케이션을 만들 수 있는 프레임워크이다. 여기에서 추가적으로 웹 MVC 모듈을 제공하여 웹을 효과적으로 만들 수 있도록 도와준다. 스프링이란? POJO방식의 스프링의 핵심이 POJO 프로그래밍이란는 사실은, 스프링의 핵심을 가장 잘 나타내고 알려진 스프링 삼각형을 통해서도 알 수 있다. ( 출처: https://java.ihoney.pe.kr/398 [허니몬(Honeymon)의 자바guru]) 스프링 프레임워크, 스프링 부트 스프링 데이터, 스프링 시큐리티, 스프링 클라우드 등.. 스프링 프레임워크 1)..

웹 프로젝트 2021.02.02

Docker 컨테이너 관련 커맨드 사용법

Docker의 동작 방식 먼저 도커는 소프트웨어를 '컨테이너'라는 표준화된 방식으로 소프트웨어를 패키징합니다. 이 컨테이너 안에는 소프트웨어를 실행하는 데에 필요한 모든 것(library등) 이 패키징된다. 패키징된 컨테이너를 작동시키는 방식으로 동작하며 컨테이너를 위한 운영체제라고 할 수 있다. 각 서버마다 설치하여 서버 운영체제를 가상화하고 컨테이너를 만들고 동작을 시작하거나 멈추는 등의 명령을 제공한다. Docker를 사용하는 이유 AWS에서 도커를 사용해야 하는 이유 -> 코드를 더 빨리 전달하고, 애플리케이션 운영을 표준화하고, 코드를 원할하게 이동하고, 리소스 사용률을 높여 비용을 절감한다. 도커는 기존의 OS를 사용하기 때문에 VM에 비해 가볍다. 컨테이너 조회 docker ps Docker..

웹 프로젝트 2021.02.01

Swagger

Swagger 개발자가 API서버를 개발할 때, API의 스펙에 대한 명세를 편리하게 할 수 있는 API 자동 문서화 도구(프레임워크) Django로 Rest API 서버 개발시에만 자동 문서화 도구로 Swagger를 사용할 수 있는 것이 아니고, Spring과 엮어서 Swagger를 쓸 수 있다는 것을 알게 되었다. 1) Swagger 의존성 설정 2) Swagger 설정 파일 생성 @Configuration / @EnableSwagger2 SwaggerConfig.java 에서 해당 Controller를 Swagger API 문서로 지정 swagger-ui.html#/ 의 주소로 접근 하면 자동 문서화된 swagger docs를 볼 수 있다. 이렇게 되면 swagger docs의 가장 기본적인 기능들..

웹 프로젝트 2021.01.31

Django Model 관련한 공부

전문가들이 사용하는 용어 중 Data Model/ Business Model 중 Data Model을 말하는 것이다. App을 만들기 위해 필요한 데이터를 models에서 정의하면 된다. Django 모델을 공부하던 도중, 모델들 간의 관계를 정의하는 과정에서 헷갈리는 부분이 있었다. 모델에 작성자 클래스와 게시 아래 개념들을 설명하기 위하여 게시글 작성 수정하는 토이 프로젝트를 예시로 들겠다. OneToOneField 1: 1 관계 한 명의 작성자는 하나의 게시글만 작성할 수 있고, 하나의 게시글은 한 명의 작성자만 갖을 수 있따. 일대일 관계에선 한 쪽의 테이블이 상대 테이블에 대한 키값을 갖는다. 게시글 테이블에서 작성자에 대한 키 값을 Django에서 ID(Primary Key)로 갖고 있게 되면..

웹 프로젝트 2021.01.23

카이스트 친구와 함께하는 장고 공부

https://blog.outsider.ne.kr/1197 cluster mode json 으로 정리 log 모니터링 이 세가지만 주로 보면 괜찮을 것 같습니다 { "apps": [{ "name": "example", "script": "app.js", # 이부분을 잘 처리를 해두면 괜찮을거 같습니다 "watch": true, "env": { "NODE_ENV": "production", "API_PORT":3000 }, "exec_mode": "cluster", "instances": 0 }] } https://jybaek.tistory.com/716 요기에서, 아래와 같이 log 파일을 외부에 저장을 할수 있도록 설정을 해두는 것도 필요하다고 생각합니다 [아래 명령어 말고도] npx pm2 logs ..

웹 프로젝트 2020.12.31

서버 관련 개념

기획 -aws에서 제공하는 가상화 클라우드 서비스로 이용 ->Amazon EC2 인스턴스 시작 nodejs프레임워크 종류가 상당히 많아 - With Node.js implementing the server side, developers don’t need to “joggle with” 2 languages anymore. One for the back-end/server-side and one for the front-end/client-side. 나는 linux 사용자니까 Linux 사용자: 키 페어를 홈 디렉터리의 .ssh 하위 디렉터리에 저장하는 것이 좋습니다(예: ~/.ssh/MyKeyPair.pem). 3단계에서 SSH 사용해 인스턴스에 연결할 때 사용할 수 있도록 AWS 인스턴스의 퍼블릭 IP..

웹 프로젝트 2020.01.20