목록코딩하는 문과생 (221)
코딩하는 문과생
프로젝트 투입 전 약간의 시간이 있어, 스프링을 전체적으로 정리중에 있다. 그중 스프링 검증과 예외처리에 대해 한번의 정리가 필요한 것 같아 그 내용을 정리해보려고 한다. 원론적인 이야기는 배제하고, 실무적으로 필요한 것만 정리한 내용이다. [Spring AOP] Spring은 공통 관심사와 비즈니스 로직을 분리할 수 있도록 AOP기능을 제공한다. 즉, 비즈니스 로직에 모든 것을 담으려하지 않고, 예외처리나 로깅 등은 공통 관심사로 뽑아내어 로직을 만들어 핵심 비즈니스 변경 시 영향도를 최대한 줄이고자 한다. [포인트 컷과 어드바이스] 조인 포인트(Join point) Advice가 적용될 수 있는 위치. AOP를 적용할 수 있는 모든 지점. 스프링 AOP는 프록시 방식을 사용하기 때문에 조인 포인트는 ..
운영반영된 Jira 티켓 번호와 반영 파일 리스트를 추출해야 했다. 우선 구글링해보니 운영 중인 Bitbucket이랑 Bamboo에서는 그런 기능은 없는 거 같고... 로컬에 운영 형상인 master브랜치로 checkout 한 후에 쉘 스크립트를 통해 커밋이력을 통해 가져오는 수 밖에 없는 거 같았다. master : 운영 형상 release : 가상운영 형상( 운영 반영 전 최종 확인 형상) JIRA-12345 : Jira 에서 생성된 개발 분기점 형상 기간동안 release에서 master 브랜치로 커밋된 이력을 가져온 후 하나씩 커밋 id 잡아서 release 브랜치로 커밋된 JIRA 번호 및 변경 파일리스트 추출 결론 : 기간에 해당되는 지라티켓번호는 가져올 수 있었지만, 반영된 파일 리스트를 따..
[서론] CI/CD 중요도가 날로 갈수록 중요해지고 있다. 팀에서도 젠킨스를 사용하여 빌드 및 배포중이었고, 좀 더 나은 방식을 고민하다가 CI/CD 와 관련된 온라인 강의를 수강하였다. 해당 강의는 로컬에서 도커컨테이너와 쿠버네티스를 이용하여 CI/CD를 구축하고, 마지막 부분에서는 AWS에 Jenkins와 Ansible, Docker 등 서비스를 올려 배포를 진행한다. 강의를 마무리하는 단계에서 마지막 내용만 간략하게 정리해보고자 한다. 아키텍처는 다음과 같다. 1. GIT에 커밋하면 Jenkins가 자동으로 빌드하여 war 파일을 만든다. 2-1. 바로 tomcat-server(tomcat 9 버전 설치)에 war 파일을 배포하여 서비스 운영 2-2. war + tomcat9를 도커 이미지로 만든 ..
[서론] 팀마다 사용하는 DB가 다를 것이다. 그리고 동기화하는 방법도 여러가지겠지만, CDC 인터페이스 중 Quest Software사의 Shareplex 솔루션을 간단히 정리해보고자 한다. [인터페이스 유형] * MQ : 비동기 메시지 서비스 / 서비스 및 이벤트간 연계 / 높은 응집도, 낮은 결합성 / 오픈소스 기반으로 낮은 유지보수성 * CDC : DBMS간 연계 솔루션 / 데이터 간 연계 / 양방향 데이터 동기화 문제 [Shareplex] 소스와 타켓 간 DB동기화를 Redo/Archieve Log를 사용하여 진행한다. [동기화 순서] 1. 소스에 DML이 발생하면, 로그가 Capture 프로세스에 의해 Capture 큐에 Insert된다. 2. Read Process는 Capture 큐에 쌓인..