20240717 Jenv로jdk여러개사용하기

jenv jenv 는 자바 버전 매니져 npm 에서 nvm 이 있다면 java 에서는 jenv 를 사용한다. 설치법은 brew install jenv 로 설치하지만 공식 가이드를 참고하는것을 추천합니다. jenv 사용법 # 인식버전확인 jenv versions # 전역으로 사용할때 jenv global {사용할_자바_특정버전} # 특정위치에서만 사용할때 jenv local {JAVA_VERSION} 인텔리제이에 설치된 jdk 긁어다 쓰는 방법 커스텀 쉘 스크립트 만들어서 인텔리제이용 jdk 를 사용해봤습니다 #!/bin/bash # JVM 설치 디렉토리 경로 java_vm_dir="${HOME}/Library/Java/JavaVirtualMachines" # java_vm_dir 안에 있는 모든 디렉토리에 대해 jenv add 실행 for dir in "${java_vm_dir}"/*/; do java_home="${dir}/Contents/Home" echo "Adding ${java_home} to jenv....

July 17, 2024

20240717 제플린 테스트실행하기

제플린 테스트 실행하기 주제 이번 글에서는 apache zepplin 프로젝트의 전체 테스트 코드를 실행해보고 테스트과정에서 겪은 이슈와 해결방법에 대해 다룹니다 IDEA 에서 테스트를 실행하는것도 가능하지만, 좀더 범용적으로 사용할수 있도록 이번 글에서는 console 에서 테스트하는 방법에 대해서 다루겠습니다. 따라서 이 글의 컨텐츠들은 이클립스나 인텔리제이 같은 별도의 IDE 에는 의존적이지 않습니다. 테스트 실행 전 준비사항 테스트를 시작하기 전에 몇가지 사전작업이 필요한데요 jdk 버전 node 버전 확인 JDK 버전 확인 # 로컬 자바버전 확인 명령어 java -version 아래에서 설명하겠지만, JDK 버전은 꼭 11로 설정을 추천합니다....

July 17, 2024

20240629 HTTP 트래픽 유실 이슈해결하기

1 개요 HTTP로 들어오는 트래픽이 유실되거나, 외부연동에서 트래픽이 유실되는 상황에서의 해결책을 기록합니다 우리는 분명히 줬는데 VS 우리는 받은게 없는데 이 글에서는 HTTP 유실 문제의 원인을 간단히 살펴보고, 이를 해결한 경험과 제가 처했던 상황을 공유하고자 합니다. 2 문제 상황 정의 문제가 발생할 당시를 간단하게 설명하면 아래와 같습니다. +-----------------------+ +-----------------------+ | | | | | A회사 레거시 시스템 | -------> | B 신규연동 시스템 | | | http | | +-----------------------+ +-----------------------+ 저는 B 신규연동 시스템의 입장이였고, 평균적으로 1시간당 2만건정도씩 http traffic 을 처리하는데 한달에 30건/ 24시간마다 1번의 http 참고로 이 글에서 http 리퀘스트는 모두 https 를 사용하는데 편의상 http 라고 표현하겠습니다....

June 29, 2024

20231231 2023연말결산개발회고록

2023년을 마무리하면서 연말결산 & 개발회고록 & 실수 모음집 들어가기전 주의사항 2023년동안 Java/Spring 백엔드 개발 하면서 생각한것들을 주관적으로 대충 작성해봤슴다 1 CDN 서비스를 ACL 처리할때는 IP 로 하는게 아니라 Domain 기반으로 하자 2 카프카는 Pub-Sub 구조가 필요할때 쓰자 3 예쁜쓰레기 코드 죄송합니다 4 Http 는 생각보다 아주많이 느릴수도 있다 5 논문만큼 긴 쿼리는… 캡틴큐다 6 깃 커밋메시지 제대로 쓰자 7 이메일 길이 제한을 명시하자 8 HTTPS 에서 인증서 체크는 issue Date && Expiration date 둘다 한다 9 버전업은 남들이 올려줄때까지 그냥 흐린눈 하자 (굳이....

December 31, 2023

20231113 모니터 오디오출력 노이즈 화이트노이즈

November 13, 2023

20231111 Kotlin와일드카드임포트푸는법

와일드카드 임포트 (import *) 는 어쩌다 생겨나는가? JVM 계열 언어(자바, 코틀린) 을 쓰면 코드상에 의존하는 외부의 요소들은 import 로 명시를 해주게 됩니다 그래서 코딩을 하면서 import 문이 하나둘 늘어나다 보면 // 이렇게 하나씩 늘어나다가 import lotto.model.Game import lotto.model.Issuer import lotto.model.LottoWinners import lotto.model.Rank import lotto.model.Round // * 로 퉁쳐버립 import lotto.model.* 위 코드처럼 * (와일드카드 심볼) 로 임포트 된 코드들이 되게 되는데요 특별히 옵션을 변경한적 없다면 5개 이상부터는 * 로 치환하게 되는데요, 그 이유는 인텔리제이 내장 포메터의 디폴트 동작 옵션이라 그렇습니다....

November 11, 2023

20231110 DNS는_IP허용말고_도메인허용해줘요

DNS 주소는 도메인 단위로 허용해야하는구나! 를 배운 SSUL 발단 돈이많고 보안이 빡센 굴지의 대기업 횽이 우리 서비스를 자기네 사업장에서 돌리보고 싶어 하셨었습니다. 그래서 요구사항도 열심히 수용해서 개발두 하고, 이런저런 절차들을 통과할때쯤 문제가 생겼는데요 “프론트가 깨져요” 라는 이슈가 생겼어요. 왜 프론트가 깨지는지 확인을 해 보니까, 이 대기업횽네는 보안이 무지 빡세서 퍼블릭 망이긴 한데, 네트워크가 whitelist 정책이라서 허용된 IP 이외에 모든 네트웍 접근에 대해서 timeout error 를 날려주시는 차도남같은 차가운 보안정책이였던 것이였어요. 처음에 우리 서비스 연결할때도 ip 를 허용해주고 nat 대역을 어디까지 쓰고 했던터라 아 이것도 등록하면 되는구나 하고 생각을 했었답니다 트러블슈팅 그래서 크롬디버거창을 보니 외부 Saas 서비스로 가는 CDN이 막혀있었고, 동일한 외부 Saas 서비스에서 프론트에 사용되는 bootstrap, jquery CDN 이 막혀서 프론트가 깨지는 원인 이였습니다....

November 10, 2023

20231107 코틀린클린코드3주

TDD TDD 는 개발 방법론이자 철학, Development TDD 로 구현할 기능 찾기 -=– 시작하기 퍼블릭 클래스! 요구 사항 분석을 통한 기능 목록 작성 객체 설계를 통해 어느 부분부터 구현을 시작할 것인지 결정 기능 목록 구매할 Lotto의 매수 구하기 1000 -> 1 1500 -> 1 500 -> error 한장의 Lotto 생성 당첨 번호 생성 정상적인 당첨 번호 입력 유효하지 않은 당첨 번호 한 장의 Lotto에 대한 당첨 결과 구하기 n장의 Lotto에 대한 당첨 결과 구하기 Lotto 결과에 따른 수익률 구하기 … TDD로 구현할 기능 찾기 구현 중간 부분을 자르는 연습을 해야 한다....

November 7, 2023

20230907 컴구스터디71페이지

컴구스터디 71 페이지 손글씨로 정리해봤습니다

September 14, 2023

20230904 이펙티브테스팅 챕3

September 4, 2023