전체 글

백엔드 개발자 토발자입니다.
· DataBase
에러 발생 예전에 회사에서 원격으로 근무하고 있던 동료 개발자로부터 에러가 발생했다고 공유 받았다. DB는 MySQL이며 아래와 같은 에러 메세지가 떴다고 한다. ERROR 1129(00000): Host '*' is blocked because of many connection errors. Unblock with 'mysqladmin flush-hosts' 에러 원인 검색해보니 바로 원인을 알 수 있었다. 원격 서버에서 MySQL 서버로 연결한 뒤 close를 하면 MySQL은 비정상적인 접속으로 판단해 해당 IP를 블락 처리한다고 한다. 이 때 MySQL에서 이와 같은 비정상적인 접속 요청 수를 카운팅해서 global.max_connect_errors에 지정된 값을 넘기면 자동 블락 처리가 되어 생..
· etc.
현재 재직 중인 회사는 사실 아직 무중단 배포 환경이 아니다. 빌드 후 생성된 jar나 war를 직접 수동으로 배포하기 위해 서비스의 중단이 필연적인 상황이다. 서비스 이용자가 늘어나고 비즈니스 로직 추가 및 수정에 빈번하게 일어나며 무중단 배포에 대한 필요성을 더욱 절실히 느끼고 있다. 기회가 된다면 무중단 배포 환경을 만들어보고 싶은데..우선 공부를 해야한다.(당연히) 우선 무중단 배포에 대해서 알아보자. 무중단 배포란? 무중단, 말 그대로 서비스의 중단 없이 새로운 버전의 소프트웨어를 배포하는 것을 말한다. 앞서 말했듯 서비스를 운영 중일 때 새로운 버전을 배포하기 위해서는 기존의 서비스를 종료하고 새로운 서비스를 시작하는 과정이 필요하다. 이렇게 서비스가 중단되는 시간, 즉 시스템을 이용할 수 없..
· Java
개발을 하며 MySQL의 Timestamp가 이상하게 조회되는 상황에 맞닥뜨렸다. 발생한 이슈와 원인, 해결한 방법 순서대로 기록해둔다. 이슈 발생 간단하게 정리하면 데이터 조회 시 특정 일자의 하루 동안 저장된 데이터를 조회해야 했고, 이를 위해서 특정 일자의 시작 시간(yyyy-MM-dd 00:00:00)과 끝 시간(yyyy-MM-dd 23:59:59)을 Timestamp 타입으로 만들었다. 예를 들어 일자별 회원가입 현황을 데이터테이블로 산출하려고 한다. 조회 시에는 JPQL을 사용했고, 테스트 용으로 아주 간단하게만 구현해두었다. /** * 일자별 회원가입 현황 * @param * @return */ public List getDailySignUp(Integer start, Integer leng..
새로운 프로젝트에서 Java 17, Spring Boot 3를 사용하고 있다. 기존에 Spring Boot 2에서는 발생하지 않던 에러가 발생해 기록해둔다. 에러 발생 JPA에서 네이티브 SQL 구현 중이었는데 (query, Attendance.class) 부분에 빨간 밑줄이 생기며 에러가 발생했다. public List findAttendance(Long idx){ String queryStr = "SELECT ~~~ "; queryStr += "FROM ~~~ "; queryStr += "WHERE AI.IDX = :idx "; queryStr += "GROUP BY DATE(BEGIN_DT)"; JpaResultMapper resultMapper = new JpaResultMapper(); Quer..
· Java
Integer ArrayList을 int 배열로 변환하는 방법에 대해 알아보자. 사실 자꾸 까먹어서 기록해둔다. String 타입의 List를 배열로 변환할 때 toArray()를 사용하면 된다. List list = new ArrayList(); list.add("a"); list.add("b"); list.add("c"); // 1. toArray() - 배열 선언과 동시에 할당 String[] arr = list.toArray(new String[0]); // ["a", "b", "c"] // 2. toArray() - 배열 선언 후 값 할당 String[] arr2 = new String[list.size()]; list.toArray(arr2); // ["a", "b", "c"] 하지만 int형..
토발자_Hflug
내가 개발자라니