일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- CI
- superBuilder
- JPA
- Vue
- hibernate
- k8s
- CI/CD
- Di
- SpringMVC
- 해시맵
- cd
- 뷰
- DevOps
- ORM
- 프로그래머스
- vuejs
- Spring
- 코딩테스트연습
- java
- dabase
- builder-pattern
- docker
- 자바
- programmers
- 알고리즘
- map
- Kubernetes
- IntelliJ
- CKA
- Oracle
- Today
- Total
목록전체 글 (108)
문홍의 공부장
회고가 밀렸군.. 허허.. 기억을 더듬어 적어보는 7월 회고. ## 1. 프로젝트 종료 프로젝트가 끝났다. 아니 정확하게 표현하자면 프로젝트가 접혔다. 개발도 다했는데.. QA 도 거의 다 했는데.. 진짜 몇 걸음 안 남았는데.. 회사에서 서비스의 상품성 여부에 대하여 재논의가 들어가며 결국 우리의 프로젝트는 릴리즈를 하지 못한 채 접히고 말았다. 나름 애정(애증?)을 가지고 진행했고, 욕심 낸 부분이 많은만큼 고민도 많이 했고 해결해나가는 과정도 의미가 있었다고 생각했는데, 이렇게 빛을 보지 못하고 끝나버리니 너무 아쉬웠다. 프로젝트 회고를 진행하면서도 아쉬웠던 점도 많이 이야기 했지만, 좋았던 점에 대하여도 여러 이야기를 나눴다. 부분적으로 시스템 설계와 DB 설계를 진행했다는 점이 이번 프로젝트에서..
회원 서비스를 개발하면서, 회원을 초대하여 가입시키는 프로세스를 진행하였다. 초대 메일 발송 시에 회원 가입 링크를 보내, 유저가 링크를 클릭하여 나머지 프로세스를 진행할 수 있도록 하는 것이었다. 모든 프로세스가 완료 되어야만 회원 테이블에 저장되도록 구조를 잡았는데, 그렇기 때문에 2가지 문제가 발생했다. 초대할 회원 정보를 모두 메일 링크에 포함하게 되면, 링크가 길어질 뿐 아니라 중요 정보들이 모두 노출되게 된다. 메일 발송 내용을 DB 에 저장하고 저장한 시퀀스를 메일 링크에 포함하게 되면, 시퀀스를 통해 메일 발송 순서를 추정할 수 있게 된다. 위 두 가지 문제점을 해결하기 위해, 메일 발송 시퀀스를 암호화 한 shorten URL 을 생성하여 메일 링크가 길어지는 문제점과, 시퀀스 번호가 그..
헉... 벌써 6월 회고라니 1년이 정말로 절반이 지나갔단 말인가 ## 1. WWCS 하프타임 다녀오다 [함수형 패러다임 - 메서드를 활용하여 비즈니스 로직의 예외 처리까지] 세션이 가장 인상깊었다. 이번 행사에서 가장 인커리지가 되었던 것은... 마이크로소프트 한국 본사의.. 뷰... 이런 공간에서 일하는 건 어떤 기분일까? 정말 멋지더라. 나도 그렇게 하고 싶다. ## 2. 같아요 안쓰기 운동 ~같아요. 라는 말투가 안좋다는 건 알고 있고, 그래서 의식적으로 안쓰려고 노력하는 편인데 회사의 거의 모든 팀원이 같아요 체를 쓰고 있어서 나도 자꾸 쓰게 된다. 같아요. 보다는 ~라고 생각한다. ~로 파악하였다. 등등 좀 더 확실한 어투를 사용하자..!! ## 3. 컨퍼런스 다녀오다 참가 자격으로 컨퍼런스에..
금융 도메인이나 정산 시스템을 개발할 때에는, 무엇보다 가장 중요한 것이 숫자의 정합성이다. 돈에 가장 민감한 도메인이기에, 1원 단위의 오차로 인한 개발 건 수정이 잦게 일어났던 경험이 있다. 비용 관련 프로그램을 개발하면서 처음 마주한 것이 BigDecimal 이라는 클래스였다. 자바는 IEEE 754 부동 소수점 방식을 사용하여, 정확한 실수를 저장하지 않고 근사치 값을 저장한다. 때문에 float, double 은 소수점의 정밀도가 정확하지 않아 오차가 발생하게 된다. Type 범위 float 1.4E-45 ~ 3.4028235E38 double 4.9E~324 ~ 1.7976931348623157E308 이과 달리, BigDecimal 은 부동 소수점 방식이 아닌, 정수를 이용해 실수를 표현한다..
본 글은 atlassian 의 Git Tutorials - Merging vs. Rebasing 을 번역한 글임을 밝힙니다. git rebase 명령어는 초보자가 멀리해야할 마법의 Git hocus pocus 라는 명성이 있지만, 주의하여 잘 사용한다면 개발 팀의 삶을 훨씬 더 쉽게 만들 수 있다. 이 글에서는, git rebase 와 git merge 명령을 비교하고, rebase 를 전형적인 Git workflow 에서 통합할 수 있는 모든 잠재적인 기회를 알아보도록 하겠다. 개념 가장 먼저 이해해야 하는 것은, git rebase 와 git merge 는 같은 문제를 해결한다는 것이다. 이 두 명령어는, 하나의 브랜치에서 다른 브랜치로부터의 변경 내용을 통합하기 위해 설계되었다. 하지만, 이 둘은 ..
프로젝트에서 커스텀 헤더를 사용하여야 하는 건이 있어, API 호출 시 커스텀 헤더 값을 넣어 요청을 보내는 기능을 개발하였다. 커스텀 등록 헤더에 'X-' 를 prefix 로 붙이는 관례가 폐기된 지 오래라 하여, 'X-' 를 붙이지 않고 커스텀 헤더를 만들었다. 커스텀 등록 헤더는 'X-'를 앞에 붙여 추가될 수 있지만, 이 관례는 RFC 6648에서 비표준 필드가 표준이 되었을때 불편함을 유발하는 이유로 2012년 6월에 폐기되었습니다. 다른것들은 IANA 레지스트리에 나열되어 있으며, 원본 컨텐츠는 RFC 4229에서 정의되었습니다. IANA는 또한 제안된 새로운 메시지 헤더의 레지스트리도 관리합니다. Custom proprietary headers have historically been use..
1. 회사야... 예상은 했지만.. 5월 너무 바쁘다.. 저번 프로젝트 때에는 바쁘다는 이유로 일상을 포기했었는데, 당시 삶의 만족도가 너무 떨어지고 건강도 많이 나빠졌어서 이번에는 최대한 나를 잃지 않고 일을 하려고 노력 중이다. 야근을 피할 수는 없지만.. 그래도 꼬박꼬박 운동도 가고.. 아무리 그렇다지만 일정이 너무 슬프다. 2. 나는 지금 여기에 있는걸까 추상화를 고민하고 메서드를 쪼개고 모듈을 분리하고 SOLID 를 생각하고...... 하다가 어느 순간 내가 내 발에 걸리고 있는 기분이다. 어렵다 어려워... 요즘 많이 느끼는 점이, 메타인지에 대한 점이다. 0년(신입) 에는 내가 뭐를 모르는지도 모르고, 경력이 조금 쌓이면 내가 다 알고 있다는 착각에 빠지는데, 거기서 더 넘어가면 내가 모르는..
앞선 @Primary 와 @Qualifier (1) - 기본편 에서, 어노테이션의 기능과 사용법에 대하여 알아보았다. 이 내용을 바탕으로, 최근 실무에 적용하였던 사례를 정리해보고자 한다. 최근 multiple database 를 구성하는 태스크가 있어, 두 개의 데이터베이스 중 하나를 메인 DB 로, 다른 하나를 서브 DB 로 정의하여 환경을 구성하였다. 데이터베이스 스키마에 따라 myBatis 와 JPA 를 분리하여 사용하는 것으로 하였다. 이에 따라 메인 DB 는 myBatis mapper 를 스캔할 수 있도록 하는 설정을 추가하고, 서브 DB 에는 entityManager 에 대한 설정을 추가하였다. 1. 메인 DB 의 DataSource 설정 메인 데이터베이스 커넥션에 @Primary 를 사용하..