본문 바로가기

분류 전체보기

(87)
Java 에서 테스트용 도커 컨테이너 띄우는 법 : TestContainer 도커 컨테이너에 접근하는 프로젝트에서 테스트할 때의 컨테이너는 어떤 걸 사용하시나요? 혹시 서버에서 실운영되고 있는 컨테이너를 바라보고 있나요? 엇 그러면 만약 어떠한 이유에 의해 컨테이너 안 애플리케이션의 설정이 변경되었다면... 그래서 어제와 같은 소스인데도 불구하고 테스트가 실패한다면... 억울해!! 멱등성(idempotent) : 연산을 여러 번 적용하더라도 결괏값이 달라지지 않는 일 프로젝트 테스트 환경에서 멱등성은 중요한 속성입니다. 내가 짠 소스에 대해서만 테스트하는 것이 목적이기 때문에 외부 환경이 테스트 결과에 영향을 미쳐선 안되니까요. 그래서 독립적인 테스트 환경을 구축하기 위해 테스트할 때만 잠깐 사용할 컨테이너를 띄어주는 게 testContainer가 해주는 일입니다! 디펜던시 te..
[JAVA] stream 코드 스니펫 JAVA 8 부터 도입된 stream. 내가 사용했을 때 느꼈던 가장 큰 장점은 데이터가 어떻게 흘러가는지가 문장읽듯이 읽혀서 코드 가독성이 좋다는 점이다. 처음에는 사용법을 잘 몰라 어려웠지만 하나씩 하나씩 작성해보니 꽤나 익숙해졌고 코드 짤 때도 stream의 비중이 높아지고 있다. 다음은 내가 작성했던 stream 관련 코드 예제이다. 배열 출력하기 /* 배열 출력 */ String[] alphabetArr = new String[]{"A", "B", "C"}; Arrays.stream(alphabetArr).forEach(alphabet -> log.info(alphabet)); stream 함수 안에서 여러 문장 실행하기 List personList = new ArrayList(); /* 멀티 ..
나만 아는 노션과 에버노트의 차이 2021.05.23 1. 브라우저 글 복사할 때 서식 복사 유무의 차이 에버노트 복사가 더 잘 된다 가져오고 싶은 부분 - 위키피디아 우측 분류 영역 https://ko.wikipedia.org/wiki/인플레이션 [에버노트] 서식까지 비슷하게 붙여넣기가 된다 [노션] 최소한의 서식만 붙여넣기 된다. 색 정보나 폰트 사이즈는 붙여넣기에서 누락된다. 2. 검색 기능의 차이 에버노트의 검색 기능이 더 좋다. - 검색하고 싶은 단어: "메모리주소" (띄어쓰기 미존재) - 글 내용: "메모리 주소" (띄어쓰기 존재) 에버노트 글 노션 글 [에버노트] 토큰 검색을 지원한다. 띄어쓰기 없는 "메모리주소" 검색 시 띄어쓰기 있는 "메모리 주소"가 검색된다. [노션] 토큰 검색을 지원하지 않는다. 띄어쓰기 없는 "메모..
Spring-Data-Elasticsearch VS. Rest-high-level-client 결론: 편하게 개발하고 싶으면 Spring-data-ES / ES가 버전에 민감하면 Rest-high-level-client Spring-data-ES 도 내부적으로 (ES7부터) ES와 통신할 때 Rest-high-level-client를 사용한다. 장점: ORM을 지원해서 데이터를 객체로 ES와 왔다갔다 할 수 있다. 쿼리만들 필요없이 메소드로도 검색할 수 있다. (쿼리도 물론 생성 가능) 단점: 라이브러리가 ES 버전에 민감하다. 장점: 쿼리빌더를 생성해야한다. 단점: 버전에 민감하지 않다. 참고: 나는 Spring-Data-Elasticsearch를 사용한다. 왜냐면 ES 버전이 쉽게 변하지 않는 환경이고 쿼리도 자유자로 튜닝 가능하고 인덱싱/검색 작업 메소드를 구현하지 않아도 할 수 있고 바로 ..
플스5 예약 구매 성공 후기 2020.10.18 "만약 3차 구매가 진행된다면... 쇼핑몰보단 예약 폼을 먼저 작성하는 파트너샵을 추천한다! " 2020년 10월 7일 수요일, 플레이스테이션5 2차 예약 구매가 진행되었다. 구매 방법에는 결제를 즉시 하냐 안 하냐를 기준으로 크게 2가지 방법이 있다. 하나는 하이마트, 이마트몰 등에서 구매 사이트로 접속 후 결제를 하는 방식, 다른 하나는 플스 파트너샵 사이트에서 예약 폼을 작성하는 방식이다. 1차 예약 구매 후기로 경쟁률을 어느 정도 예상했기에 동생한테도 시켜서 12시 땡 치면 나는 쇼핑몰에서 구매, 동생은 파트너샵에서 예약하기로 했다. 당일, 네이비즘 서버시간까지 동원하여 12시 00분 00초에 URL을 클릭하는 순간... "준비된 상품이 모두 매진되었습니다." 믿을 수 없었다ㅠ..
[번역] Pro Java Programming - 자바 아키텍쳐 자바는 "간단하고, 건장하고, 객체 지향적이고, 플랫폼 독립적이고, 멀티쓰레드이고, 역동적이고, 범용적인 프로그래밍 환경'이라고 묘사되어져 왔다. 이에 따라 자바는 알아차릴 수 없을 정도로의 다양한 환경으로 확장되었다. 최근에는 마이크로 프로세서에도 자바를 사용한다. 자바를 큰 기업체에서도 작은 부품들을 위해 사용하고, 핸드폰에서 주 컴퓨터같은 장치에도 사용한다. 이렇게 다양한 범위의 환경을 지원하기 위해 코어 클래스들을 중심으로 많은 API들과 버전들이 발전되어졌다. 좋은 자바 프로그래머가 되기 위해, 기초를 잘 아는 것이 중요하다. UI가 아무리 좋아도, 코드는 많고, 메모리가 부족하다면 유저는 행복하지 않을 것이다. 이 책은 자바개발자로써 다양한 개발을 가능하게 해주는 것이 아닌 독자가 매일 마주칠..
[검색 결과 노출 팁] 게시글에 오래전 날짜를 쓰지 않는다! 2020.10.09 구글에서는 검색된 글이 언제 게시됐는지 날짜 정보를 제공한다. 하지만 우리는 글을 작성할 때 구글한테 이 게시글은 언제 작성됐어요~라고 알려주지 않는다. 그렇다면 구글은 날짜 정보를 어떻게 가져올까? ...... 나도 잘 모른다ㅋ 그러나 한 가지 확실한 건 본문 내용에 날짜 정보가 있다는 것이다. 본문에 날짜가 나오고 무언가 대단하고 엄청난 조건들을 만족하면 그 날짜를 게시일로 인식하는 것을 알 수 있다. 그렇다면... 본문에 무지 오래된 날짜를 쓰면..? 2018년에 작성된 글임에도 불구하고 검색 결과에서는 2013년 글로 분류하고 있었다. 특히 티스토리에서 작성한 지 오래된 글은 'X년 전' 같은 형식으로 표기되고 있으므로 구글에서 알아주기 어렵다. 검색 결과는 최신 글일수록 상단..