단일 비교를 하는 경우 IN()절로 작성한 SQL을 재사용해도 좋을지 궁금해서 찾아봤는데 괜찮아보이는 글이 보였다. 대체로 차이가 없다는 의견이지만 공식 문서는 없는 것 같아서 간단하게 테스트를 해봤다.

 

 

Performance differences between equal (=) and IN with one literal value

How does SQL engines differ when we use equal sign and IN operator have same value? Does execution time changes? 1st one using equality check operator WHERE column_value = 'All' 2nd one using IN

stackoverflow.com

 

spot_id IN(1), spot_id = 1 모두 동등 비교를 하고 실행 계획 type도 ref로 나왔다. ref는 동등 조건으로 검색할 때의 접근 방법을 나타낸다.

 

IN 절에 여러 id가 들어가는 경우에는 id = 1 or id = 2.. 형태로 된다.

 

 

1. CodeDeploy Agent 설치를 하고 이후에 EC2에 CodeDeploy 관련 Role을 추가해주는 경우 CodeDeploy Agent Restart를 해줘야 적용이 된다.

 

 

 

AWS Systems Manager를 사용하여 CodeDeploy 에이전트 설치 - AWS CodeDeploy

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

 

 

2. ApplicationStop 단계에서 실행되는 스크립트가 수정이 되더라도 적용이 안 될 수가 있다. 아래 경로를 찾아서 제거해줘도 되지만 aws deploy create-deployment시 --ignore-application-stop-failures 옵션을 추가해주는 것이 확실하다.

 

 

 

CodeDeploy에서 ApplicationStop 에러날때

Gitlab에서 CodeDeploy를 이용해 EC2 개발서버에 배포하던중 최초 성공 이후, 그 다음 배포에서 계속 CodeDeploy의 ApplicationStop에서 에러가 지속적으로 발생하였습니다.. Appspec.yml에 ApplicationStop에 해당하

jaykos96.tistory.com

 

 

3. AppSpec의 hook에 추가한 스크립트가 실행 되는 경로는 Code Deploy Agent가 설치된 경로이다. docker compose를 사용하면 경로를 체크한다. (cd $PATH로 이동해서 실행 등)

 

 

 

 

 

AWS Code Deploy를 통한 배포 자동화 - DRAMA&COMPANY

서버 배포는 단순하고 반복작업이지만 절차가 적지 않아 실수를 할 가능성이 높습니다. 또 한번의 실수는 커다란 시스템 장애로 이루어질 수 있기 때문에 많은 분들에게 배포란 꽤나 부담스럽

blog.dramancompany.com

 

 

HttpSession

 

The servlet container uses this interface to create a session between an HTTP client and an HTTP server. The session persists for a specified time period, across more than one connection or page request from the user.

 

서블릿 컨테이너는 javax.servlet.http의 HttpSession 인터페이스를 사용하여 세션 기능을 제공하는데 일반적으로 HttpServletRequest의 getSession()을 호출하면 세션을 가져오거나 옵션에 따라 없을 경우 생성해서 반환해준다. 

 

서블릿 컨테이너의 세션 저장소는 Map 형태로 되어 있는데 HttpSession 인스턴스가 value에 저장이 되고 httpSession 또한 내부적으로 Map 형태로 생성이 된다. 그래서 setAttribute()로 로그인 정보를 저장할 수 있다.

 

 

로그아웃을 할 때 로그인 세션 정보를 제거하기 위한 방법으로는 HttpSession의 removeAttribute()와 invalidate() 메서드가 있다,

 

 

invalidate()는 세션 자체를 무효화하고 제거하고 removeAttribute()는 현재 세션에서 특정 key-value만 제거를 한다.

removeAttribute()로 키만 제거를 하면 httpSession 인스턴스는 WAS의 세션 저장소에 남아있어서 invalidate()를 사용하는 것이 좋다.

 

 

 

[참고]

 

 

HttpSession (Java(TM) EE 7 Specification APIs)

Provides a way to identify a user across more than one page request or visit to a Web site and to store information about that user. The servlet container uses this interface to create a session between an HTTP client and an HTTP server. The session persis

docs.oracle.com

 

HttpSession은 어떻게 만들어지고 어떻게 유지될까(feat. 코드를 통해 확인하는 JSESSION의 생성 방법과

서론 클라이언트와 서버는 Stateless인 HTTP 통신을 하게 되지만 로그인과 같이 접속을 했던 정보가 저장이 되어야 할때가 있다. 이때 인증과 인가가 필요하게 된다. 인증은 클라이언트에서 보낸 정

oh-sh-2134.tistory.com

 

진행중인 프로젝트에 Jira를 처음 사용해봤는데 맛만 봤는데도 너무 편리하고 유용한 것 같다. 지라로 이슈를 생성하면 티켓 번호가 할당되는데 해당 티켓 번호로 브랜치를 만들고 커밋 메시지에 티켓 번호를 입력하면 해당 이슈에서 편리하게 볼 수 있다.

 

깃허브에도 이슈가 있긴하지만 잠깐 사용해본 느낌으로는 지라가 깔끔하고 눈에 확 들어와서 좋은 것 같다. 하지만 깃허브 이슈와 마찬가지로 티켓 번호를 입력하는 것을 실수로 깜빡하거나 틀리게 적는 경우가 종종 생길 수 있는데 좋은 방법이 없나 찾아보니 git hook을 사용해서 티켓번호 입력을 자동화 해줄 수 있었다.

 

 

 

 

훅으로 Git에 훅 들어가기 | 우아한형제들 기술블로그

{{item.name}} 들어가며… 안녕하세요. 우아한형제들 CTO실 주문시스템개발팀의 라태웅입니다. 요새 Git은 어느 조직이건 개인이건 많이 사용하고 계신데요, 굉장히 많은 기능이 있죠. 이중 몰라도

techblog.woowahan.com

 

git hook은 git에서 특정 상황에 특정 스크립트를 실행하는 기능으로 git repository에서 기본으로 지원을 하고 있다. 깃 훅을 잘 활용하면 잘못 푸쉬하는 것을 사전에 막는 등 유용한 기능이 많은 것 같다. 이번에 사용할 것은 prepare-commit-msg으로 커밋 메시지를 만든 후에 실행이 되는 훅이다. 아래 블로그를 보고 prepare-commit-msg.sample 파일을 수정해서 커밋을 할 때 브랜치 이름으로 이슈 번호를 찾아서 커밋 메시지 앞에 추가를 하도록 변경을 했다.

 

 

GitHub 커밋 메세지에 JIRA 이슈번호 자동으로 넣어주기

항상 앞에 이슈번호를 넣어주어야 하는 귀찮음을 자동으로 넣어주도록 처리하는 방법에 대해 공유합니다.

medium.com

 

근데 스크립트는 실행이 되는데 뭐가 잘못된건지 계속 적용이 안되서 삽질하다가 결국 아래 방법으로 해결을 했다..(ㅠㅠ)

 

git hook은 .git 디렉토리에 저장되기 때문에 설정 스크립트나 템플릿을 활용하는 등의 방법으로 공유를 해야 되는데 이런 방법은 실수를 하면 제대로 적용이 안 될 수도 있다고 한다. 그래서 npm을 사용하고 있다면 husky 사용을 권장하는데 husky는 npm 모듈로 편리하게 깃 훅을 적용할 수 있다. husky로 지라 티켓번호 자동화를 하는 방법은 아래 블로그에 깔끔하게 나와있다.

 

 

[Husky] 커밋메시지 JIRA 티켓번호 자동화

Husky husky는 .git/hooks 폴더를 건드리지 않고도 git hook 스크립트를 제어할 수 있게 해주는 툴입니다. 설정과정 1. Husky 설치 npm install husky jira-prepare-commit-msg --save-dev && npx husky install 2. 훅 생성 npx husky

waterfogsw.tistory.com

 

가비아 라이브러리

IT 콘텐츠 허브

library.gabia.com

 

 

+ Recent posts