본문 바로가기

웹 개발12

Jenkins java 자동배포를 위한 shell script 아래는 jenkins에 ci/cd 구성시 execute shell 에 들어가는 스크립트 이다. # Find the PID of the process using port 1234 PID=$(lsof -t -i:1234 || echo "") # If PID exists, kill it if [ ! -z "$PID" ]; then echo "> 현재 구동중인 애플리케이션이 있습니다. 해당 pid를 삭제합니다" kill -9 $PID fi cp build/libs/fireplanner-0.0.1-SNAPSHOT.jar ~/fire-planner/server/fireplanner-application.jar BUILD_ID=dontKillMe sh ~/fire-planner/server/deploy.sh 스크립트.. 2023. 12. 3.
git 활용(rebase, squash)방법 현재 우리 회사는 git flow라는 방법론을 통해 branch를 분리하여 개발하고 있다. git flow는 총 5가지의 브랜치를 분리해서 운영한다. • master: production브랜치 실사용자들에게 배포됨 • release: 배포를 하기전 즉 production을 배포하기전에 QA를 하기위한 브랜치. • develop: 개발 브랜치 개발자들이 feature브랜치에서 개발, 작업한 기능들을 여기에다 merge시킴 • feature: 개발자들이 develop에서 feature브랜치를 분리시켜 작업하는 곳 • hotfix: master 브랜치에서 배포를 하고 서버를 돌리던 중 버그가 생겼을때 긴급 수정할때 사용하는 브랜치(master에서 브랜치를 땀) Rebase & Merge 이러한 브랜치들이 존재.. 2021. 12. 2.
쿠키(cookie), 세션(session), 캐시(cache) 이 글에서는 쿠키, 세션, 캐시에 관한 정보를 알아보자. 먼저 이 세가지의 정보를 알기전에 앞서 알아야 할 지식이 있다. HTTP의 특징이다. 많은 사람들과 데이터를 빠르게 주고 받기 위해 지향하는 방법이 2가지가 있다. 클라이언트가 요청을 했을때 필요한 요청을 보낸 후 연결을 끊는 비연결성(Connectionless) 클라이언트의 상태 정보를 가지지 않는 방식인 무상태성(Stateless) 이런 방법은 비약적으로 서버와 클라이언트간의 성능을 올려준다. 하지만 우리가 로그인을 하고 다음 페이지로 이동 할 때에 로그인 상태가 유지돼야 한다. 즉 실제로 우리가 웹을 이용할때에는 데이터 유지가 필요한 경우가 많다. 이런 경우를 대비해 데이터를 유지 시킬 수 있는 쿠키, 세션이 존재한다. 둘의 차이는 별로 없지.. 2021. 8. 23.
API URI 설계와 HTTP 메소드 URI를 설계할때의 방법을 알아보자. 예를 들어 회원 조회, 등록, 수정, 삭제 기능을 만든다고 가정해보자 이때 URL은 조회 /read-member/{id} 등록 /create-member/{id} 수정 /update-member/{id} 삭제 /delete-member/{id} 이러한 방법을 이용한다. 하지만 정말 이러한 방법이 좋은 URI 설계일까? 아마 아닐 것이다. URL을 설계할때 가장 중요한것은 리소스 식별이다. 우리는 URI(Uniform Resource Identifier)라는 것을 잊지 말아야한다. 이때 리소스의 의미에 알고 있어야한다. 위와 같이 read, create ,update, delete와 같이 행위를 리소스라 하는게 아니다. 바로 member라는 회원이라는 개념 자체가 리소.. 2021. 8. 18.