일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- js숫자체크
- Spring
- 개발컨퍼런스
- spring boot
- 어댑터패턴
- 테스트대역
- 멀티코어 프로그래밍
- @advice
- java 멀티스레딩
- 헥사고날
- reflection api
- Java
- MappingJackson2HttpMessageConverter
- refelction API
- 동시요청
- 윈도우11 아이폰 메모 앱
- 인텔리제이에서 프로젝트 이름 바꾸기
- GOF
- 클린아키텍처
- MajorGC
- 윈도우11 icloud 메모
- 윈도우11 바로가기
- MinorGC
- mustache함수
- 유스콘
- java병렬처리
- test double
- 테스트더블
- 자바디자인패턴
- 스프링부트 프로젝트 이름 변경
- Today
- Total
목록분류 전체보기 (26)
져니의 개발 정원 가꾸기

목차 배경 개발하던 중 아직 remote에 올라가면 안 될 commit들이 담긴 브랜치를 모르고 머지한 뒤 pull request를 올렸다. 이미 remote에 올라간 commit 내역들만 빼고 싶을 때 rebase를 쓰면 아주 간단하게 (근데 좀 위험함) commit들을 삭제할 수 있는데 어떻게 하는지 간단하게 기록해본다. git rebase git rebase란? (re)base 는 베이스를 재설정한다는 뜻이다. 브랜치의 base라고 하면 코드를 수정하는 지점을 말하는데, 바로 이 지점을 재설정한다는 말이다. 브랜치를 병합할 때 쓰는 대표적인 git 명령어 두 가지가 merge, rebase인데, 둘의 차이는 다음과 같다. merge : 브랜치들의 히스토리를 개별적으로 보존하면서 히스트로리를 하나로 ..

목차 배경 현재 개발/운영하고 있는 프로젝트에서 특정 버튼을 클릭하면 다른 도메인 서비스의 팝업을 여는 부분이 있었다. 팝업 사용 후 바로 직전의 부모창으로 다시 데이터를 넘겨줄 때 window.opener라는 객체에 접근하여 부모창의 주소 데이터를 참고하도록 되어 있었는데, 이 때 팝업창에서 부모창의 데이터를 가져오지 못해 opener의 데이터들이 undefined혹은 빈 string 으로 되어 값을 넘겨주지 못하는 상황이 발생했다. 원인은 부모창과 팝업창이 다른 도메인 주소를 가지고 있어 window.open()을 하였을 때 CORS문제로 값을 넘겨주지 못했던 것이었다. 해당 CORS 문제는 경고나 익셉션이 뜨지 않고 실제 데이터를 사용할 때 팝업창에서 undefined exception이 났을뿐더러..

목차 배경 Spring Boot 프레임워크로 개발된 운영 프로젝트 중에서 "사이트 페이지 전체에 대해 인증된 회원들만 접근할 수 있다"라는 요구사항을 가진 서비스가 있어, robots.txt를 통해 검색엔진이 사이트의 정보를 수집/크롤링하지 못하도록 robots.txt를 적용할 필요가 있었다. 많은 블로그에서 기본 정적리소스 폴더에 robots.txt만 추가해도 적용되어 [도메인 url 최상단]/robots.txt 경로로 접근 가능하다고 하지만, 사실상 spring boot 구성 설정이 어떻게 되어 있는가에 따라서 파일만 추가하는 것으로 적용되지 않는다. 이에 설정에 따라 robots.txt를 적용하는 방법에 대해 알아보고자 한다. Robots.txt robots.txt는 뭐하는 애일까? robots.t..

목차 배경 최근에 업무 프로젝트를 정리하던 중 입사 초기에 신규 프로젝트에 투입되어 부하테스트 진행했던 부분이 생각났다. 1차 성능테스트 당시 부하가 증가함에에 따라 힙메모리가 지속적으로 증가해 OOM(Out Of Memoery) 문제가 발생했었고 이를 해결하기 위해 GC 설정과 캐시 설정을 바꾸었다. 실제 고객들이 사용중인 서비스에서 OOM이 나면 사용자는 아예 해당 애플리케이션이 제공하는 기능을 아예 사용할 수 없는 불편함을 겪게 된다. 더군다나 개발자가 이를 눈치 채지 못하고 화면과 기능이 꽤 오랜시간동안 제공되지 않은 상태로 머물러 있다면 결국 회사 매출과 사용자 이탈에도 악영향을 미칠 수 있다. 이처럼 GC는 애플리케이션 성능과 서비스의 품질에 지대한 영향을 끼치는 요소로서 중요하기 때문에 GC..