본문 바로가기
반응형

분류 전체보기59

개발자 인터뷰 1. (사람인) 점핏 - 개발자 인터뷰https://jumpit.saramin.co.kr/job-interview 점핏 | 개발자 인터뷰개발자 커리어 점프, 점핏jumpit.saramin.co.kr  2. 뭅즤의 방구석 인터뷰 매거진https://brunch.co.kr/magazine/dev-interview 뭅즤의 방구석 인터뷰 매거진#개발자 #인터뷰 #직장생활brunch.co.kr 1) 6년차 이커머스 대기업 개발자의 성장 스토리와 인사이트https://brunch.co.kr/@dc6d817eaf3b480/92 6년차 이커머스 대기업 개발자의 성장 스토리와 인사이트뭅즤의 개발자 인터뷰 | 이번 인터뷰에서는 6년 차 이커머스 대기업 개발자 떼루님과 함께 이야기를 나눠봤어요! 떼루님은 금융사에서 웹 개발.. 2025. 3. 13.
[스프링] 트랜잭션 롤백 1. 트랜잭션은 RuntimeException 이거나 Error 가 발생한 경우에만 롤백한다. 그 외 Checked Exception 은 기본적으로 롤백되지 않는다. @Transactional(rollbackFor = Exception.class) 를 사용하면 Checked Exception도 롤백 가능 2. @Transactional은 기본적으로 AOP 프록시 기반으로 동작한다.같은 클래스 내에서 다른 메서드를 호출하면 트랜잭션이 동작하지 않는다. 3. 트랜잭션을 적용할 메서드는 public으로 선언메서드가 private 또는 protected 라면 AOP가 적용되지 않는다. 2025. 2. 28.
[정규식] 검색어가 포함된 한 줄 검색하기 검색어가 1개인 경우^.*검색어.* 검색어를 여러 개 사용하는 경우^.*(검색어1|검색어2|...).*  예)오류 로그를 필터링할 때 아래와 같이 활용하였음 ^.*(Invalid CSRF|CustomInvalidSessionStrategy|FormLoginAuthenticationEntryPoint|Full authentication is required to access this resource|Access is denied|LoginController : error ::: false).* 2025. 2. 28.
[리눅스] 배치 실행 스크립트 배치를 (재)시작 하는 스크립트 1. batch.pid 파일을 활용하여 현재 실행중인 프로세스의 pid를 보관한다.pid가 있으면 프로세스가 실행중이라고 판단. 2. 시작할 때 pid 파일 여부를 확인1) pid 파일이 있음- 이미 실행중으로 판단하고, pid 프로세스를 종료한다.- pid파일을 삭제 한다.- batch.jar 파일을 실행한다.- 프로세스 pid를 pid파일에 저장한다. 2) pid 파일이 없음- batch.jar 파일을 실행한다.- 프로세스 pid를 pid파일에 저장한다.SERVICE_NAME=batchPATH_TO_JAR="/batch/jar/batch-1.0.jar"PID_PATH_NAME="/batch/bin/pid/batch.pid"JAVA_OPTS="-Djava.net.pref.. 2025. 2. 28.
세션 타임아웃 처리 - polling 이 있는 경우 문제기본적으로 WAS, 프레임워크가 세션 타임아웃을 처리해준다.그러나 polling 하는 기능이 있다면세션은 계속 연장 될 것이고, 타임아웃은 발생하지 않는다. 해결방안1. JWT를 사용하여 만료시간을 가지고 타임아웃 처리  - polling api가 아닌 경우에만 JWT access token 을 갱신하는 방법 2. 세션 또는 별도 공간에 별도 시간으로 체크  - 나는 별도 필터를 만들어서 시큐리티 컨텍스트에 accessTime이라는 변수를 넣어두고 해당 변수값으로 체크하였음    1번과 마찬가지로 polling api가 아닌 경우에만 accessTime을 갱신하고, 필터에 진입할 때 accessTime과 현재 시간을 비교하여 타임아웃을 처리하였음 더보기- authentication details에 들.. 2025. 2. 28.
NAS서버 동기화 문제 상황AIP라는 파일 암호화 API를 사용중 NAS 서버에 있는 파일을 찾을 수 없는 오류 발생원인분석1. AIP 서버에서 NAS에 있는 파일을 직접 수정한다.2. 서버는 NAS를 마운트하여 사용중이다.3. 서버에서 직접 ll 명령어를 통해 조회하면 AIP 서버에서 NAS 파일에 추가한 파일이 조회된다.4. 어플리케이션에서는 찾을 수 없다가, 서버에서 ll 명령어 조회 후 어플리케이션에서도 파일을 찾을 수 있게 된다. 해결위 증상을 토대로 어플리케이션에서 NAS의 디렉토리를 갱신할 수 있도록 아래와 같은 코드를 추가함try(DirectoryStream steam = Files.newDirectoryStream(filePath.getParent())) {  for(Path path : stream) {   .. 2025. 2. 28.
반응형