목록전체 글 (101)
개발일기장
https://tlqckd0.tistory.com/56 express.js 를 class형식으로 실행 Spring boot같은 프레임워크로 웹서버를 만드는 경우에는 이미 틀은 다 만들어져 있어서 기능을 집어넣는다? 라는 표현을 쓰는게 맞는것 같음. Node.js에서는 웹서버 개발을 위한 프레임워크가 많은 tlqckd0.tistory.com 여기 마지막 부분인 아래 코드 부분을 해결하기 위해서 inversify를 사용해봤음. routerList.push(new HelloController(new HelloService(new HelloRepository(new Map)), "/user")); https://inversify.io/ InversifyJS InversifyJS is a lightweight i..
Spring boot같은 프레임워크로 웹서버를 만드는 경우에는 이미 틀은 다 만들어져 있어서 기능을 집어넣는다? 라는 표현을 쓰는게 맞는것 같음. Node.js에서는 웹서버 개발을 위한 프레임워크가 많은데 기본적으로 다들 express.js로 시작하는것 같다. Spring boot와는 다르게 express를 사용하면 레고를 하나씩 쌓고 이어붙이는것 처럼 원하는 기능을 하나씩 더하고, 미들웨어를 추가하는 방식으로 개발을 했던것 같다. 그런데 이거는 어디를 돌아다녀봐도 정해진 틀이 없고 개개인의 스타일이 다 달라서 좀 답답했음. 물론 NestJS같은 프레임워크가 Spring boot처럼 깔끔하고 규격이 있다고 느낄수 있었고, 이거 사용하는 회사들도 점점 늘어나는것 같은 느낌?? (사실은 잘 모름, 뭔가 후원..
1. build implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0' springframework에서 정식으로 해주는게 아니라 버전 입력 필요함. 2. application.properties mybatis.type-aliases-package={매핑되어 나올 Class 위치} # 이렇게 하면 /resources/mapper밑에 있는 모든 xml 파일 읽어서 mapping해줌 mybatis.mapper-locations=classpath:mapper/**/*.xml 3. code @Mapper public interface ItemMapper { void save(Item item); void update(@Param("id..
이전까지 CI/CD하면 뭐 맨날 travis CI같은 곳에서 해라는 책만 봤었음. 지인 회사에서 git action많이 쓴다고 해서 이걸로 쭉 배포까지 해보려는데 아직은 공부중이라 hub에 push까지만. 0. 기본설정 1. 일단 Docker hub들어가서 token받아와서 어딘가에 써두기 -> 까먹으면 안됨 2. github에 등록할 리포지토리가 있어야함 -> React사용했음. 3. Dockerfile도 작성해 둬야함. ▶내가 사용한 도커파일 ( CRA에서 build하고 Nginx로 파일 옮겨서 배포하는 이미지) FROM node:16 as builder WORKDIR /usr/src/app COPY package.json ./ RUN npm install COPY ./ ./ RUN npm run b..
일반적으로 jdbc를 사용하여 트랜잭션을 구현하는 방법을 nodejs mysql2를 사용해서 구현하기. mysql2를 사용 함미다. npm i mysql2 0. 일반적으로 transaction를 처리하려면 0) 하나의 connection을 유지한 상태로 1) transaction시작을 명시 2) 비즈니스 로직 처리 3-1)성공시 commit 3-2)실패시 rollback 4) connection 종료 순서를 유지해야함. 1. 상황 회원의 닉네임에 맞는 pk값이 필요할때 1) 이미 닉네임이 저장되어 있는 경우 -> 바로 찾아오기. 2) 닉네임이 저장되어 있지 않은 경우 -> 저장하고 pk값 받아오기 ※ 2의 경우 저장한 result에서 insertID의 값이 반환되는 기능이 이미 있음. 2. 구현 회원테이..
http://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9791158392864 따라하며 배우는 도커와 CI 환경 - 교보문고 컨테이너 이론부터 Travis CI, AWS 실습까지 | ◎ 기본적인 도커 클라이언트 명령어 ◎ 도커를 이용한 간단한 Node.js 애플리케이션 만들기 ◎ 단일 컨테이너를 활용한 애플리케이션 개발과 배포 ◎ www.kyobobook.co.kr 1. docker-compose 복수의 컨테이너를 동시에 실행시킬 수 있다. version: services: : image: : build: docker-compose up//docker-compose 실행 (docker-compose 파일이 있어야한다.) docker-compose s..
http://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9791158392864 따라하며 배우는 도커와 CI 환경 - 교보문고 컨테이너 이론부터 Travis CI, AWS 실습까지 | ◎ 기본적인 도커 클라이언트 명령어 ◎ 도커를 이용한 간단한 Node.js 애플리케이션 만들기 ◎ 단일 컨테이너를 활용한 애플리케이션 개발과 배포 ◎ www.kyobobook.co.kr 일반적으로 Dockerfile을 작성할 때는 이전 포스트 같은 형식으로 만듬 # 베이스 이미지 명시 # : 형식으로 작성 # 태그 없으면 최신 버젼으로 받는다. FROM baseImage # 추가로 필요한 파일들 내려받기. # 도커 이미지가 생성되기 전에 수행할 셸 명령어 RUN comm..
http://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9791158392864 따라하며 배우는 도커와 CI 환경 - 교보문고 컨테이너 이론부터 Travis CI, AWS 실습까지 | ◎ 기본적인 도커 클라이언트 명령어 ◎ 도커를 이용한 간단한 Node.js 애플리케이션 만들기 ◎ 단일 컨테이너를 활용한 애플리케이션 개발과 배포 ◎ www.kyobobook.co.kr 다시 공부해야지 싶어서.. 1. 도커와 기존 가상화 기술(하이퍼바이저, VM)의 차이점 가상화 이전에는 한 대의 서버를 하나의 용도로만 사용한다. 남는 서버 공간을 그대로 방치하게 되는 비효율적인 면이 있었다. 하나의 호스트에 하나의 OS, 하나의 프로그램만을 운영하는 상황 하이퍼바이저 ..