개발공부/etc(6)
-
[Git] Git 브랜치 전략
git 브랜치 전략 기술면접에서 git 브랜치 전략에 대해 질문을 받았는데 dev, master, stage, dev-...(개인)로 배포, 테스트, 개발 브랜치로 나눠 관리하고 있다라고만 답을 했습니다. 제가 풀어서 설명한 방식은 gitflow 전략과 유사했습니다. Atlassian 문서에서 링크된 gitflow전략을 개발한 Vincent Driessen의 포스트에 따르면 10년 동안 gitflow 전략이 정석(혹은 마법의 알약)으로 소프트웨어 업계에 자리잡았다고 합니다. 하지만 필자는 이 전략을 10년 전 CI/CD 주기가 지금보다 훨씬 길었을 때 구상했기 때문에 짧은 배포주기를 가지고 있는 팀은 Github-flow 사용을 권장한다면서 세상에 마법의 알약은 없는 사실을 받아들이라고 말합니다.(변화를..
2021.10.29 -
[Gradle] Build Maven에서 Gradle 이관시키기
Build Maven에서 Gradle 이관시키기 작업: 예전 토이 프로젝트 리팩토링 서버 기술스택: Java, Spring, MySql 사실 대형 프로젝트가 아니라서 Maven에서 Gradle로 이전시킬 때 일일이 dependency를 기입해도 됩니다. 그렇지만 Gradle의 장점인 Customizing을 사용해보려 Gradle Docs를 보다보니 Maven to Gradle Migration에 대한 가이드를 찾게 되었습니다. 찾았으면 적용시켜 봐야하지 않겠습니까? 그렇게 Docs를 따라 build.scan을 이용해 이관을 진행했습니다. 그리고 Gradle은 Docs 퀄리티가 상당히 높다는 걸 깨달았습니다. 꼭 한번 읽어본다면 build.gradle을 충분히 잘 관리할 수 있을겁니다. 참고자료 Gradl..
2021.10.24 -
[Vue.js] CORS Preflight OPTIONS 메서드
CORS Preflight OPTIONS 메서드 Spring boot Interceptor에서 요청 header에 담긴 토큰 검증하는 로직을 추가했습니다. 그런데 정상 토큰이 넘어와도 CORS 에러가 발생했습니다. 처음엔 웹에서 토큰을 헤더에 잘 못 넘긴것으로 판단하고 Vue 코드를 보았는데 F12 개발자 도구로 보면 headers에 토큰이 잘 담긴 걸 확인했습니다. 문제는 서버 Interceptor handler에서 HttpServletRequest를 받을 때 header에 토큰이 넘어오지 않는다는 것입니다. 찾아본 결과 Preflight OPTIONS 메서드가 넘어올 때 headers에 토큰이 담아오지 않기 때문에 당연히 토큰 유효성 검증을 통과못하는 거라고 합니다. 그래서 Http 요청 메서드가 O..
2021.10.06 -
[Vue.js] ant vue modal 등록하기
ant vue modal 등록하기 프로젝트에서 Vue, Spring boot로 이루어진 관리자용 웹을 맡고 있습니다. 이번엔 모달로 회원에 관련된 간단한 정보를 등록해 리스트로 볼 수 있는 기능이 필요해서 ant vue 공식문서를 참고해 구현했습니다. 아이템 등록 취소 생성하기 아이템 이름 모달 팝업 버튼 showItemCreateModal 메서드와 template slot footer로 구성된 HTML 코드입니다. 모달 내에서 회원 아이템 정보인 이름을 받아 서버에 저장하는 목적으로 기능을 구현했습니다. vue 코드는 메인 컴포넌트에 모달 팝업 여부를 boolean 타입으로 지정해줄 수 있는 visible, 모달이 닫힐때까지 시간을 정해줄 수 있는 setTimeout 메서드에 사용될 boolean 타입..
2021.10.06 -
[Github] Github image 업로드 방식
Github image 업로드 방식 JPA 스터디 때 markdown 형식으로 챕터를 정리해서 Github repository에 커밋하는 방식으로 했었는데 Github Readme 파일이나 issue 와 같은 마크다운 파일에서 이미지 드롭할 때 생성되는 링크로 이미지를 삽입하는 방법이 특이했습니다. 왜냐하면 물리적 저장공간이 없는데도 어디서든 link로 접속하면 이미지에 접근할 수 있기 때문입니다. 어렴풋하게 Github이 가진 서버 어딘가에 저장되겠거니 했는데 정말로 Github의 소유하에 관리되는 것 같다는 것을 stackflow를 통해 확인했습니다. 따라서 이미지 주소를 삭제하려면 Github support에 직접 연락을 취해야합니다. 그리고 Github이 Amazon처럼 스토리지 장사를 하지 않는..
2021.10.02 -
[본인인증 API] jsp 코드를 Java Spring로 변환하려면(코드X)
회사서 본인인증 API를 사용해야 할 일이 있었습니다. 본인인증 API 적용을 서버에서 처리하기로 한 이유는 API 방식이 웹 뷰를 띄우는 방식을 사용하고 있기 때문입니다. 업체로부터 샘플 코드를 받았는데 JSP 기반 코드가 있어 참고해 작성했습니다. 가이드 문서도 있지만 요청할 수 있는 데이터 타입에 대한 세부적인 내용이고 API 사용법에 대한 내용이 적어 구조를 파악하는데 오래걸렸습니다. JSP 코드에 scriptlet tag로 Java 코드가 작성되어 있는데 해당 코드를 Controller와 Service로 옮겨주었습니다. 넥스트 스텝에서 배운 전략패턴 방식대로 Interface와 도메인 객체, 전략 클래스를 나눠 사용해보니 객체 지향적으로 분리되는 느낌이 들더군요. 코드는 올리지 못했지만 외부 A..
2021.08.19