1억 건의 대용량 데이터 insert 하기
1. Spring Data JPA saveAll() 여러 개의 데이터를 insert하는 방법 중 가장 먼저 떠오르는 방법이다. 쉽고 간단하게 데이터 insert가 가능하다. 위 코드에서 100만개의 데이터를 생성하여 saveAll메서드를 통해 일괄 저장하는 테스트를 작성하였다. 실행 결과, 1분 22초의 시간이 걸렸다. 비교적 작은 크기의 엔티티...
1. Spring Data JPA saveAll() 여러 개의 데이터를 insert하는 방법 중 가장 먼저 떠오르는 방법이다. 쉽고 간단하게 데이터 insert가 가능하다. 위 코드에서 100만개의 데이터를 생성하여 saveAll메서드를 통해 일괄 저장하는 테스트를 작성하였다. 실행 결과, 1분 22초의 시간이 걸렸다. 비교적 작은 크기의 엔티티...
antlr는 ANother Tool for Language Recognition 의 줄임말로, 일정한 규칙을 지닌 문자열을 런타임에 파싱할 수 있도록 도와주는 파서 도구(라이브러리)이다.

7/12일 최종발표회로 잇타 7기 활동을 끝마쳤다. 4개월간 프로젝트를 진행하며 다양한 쟁점과 수많은 문제점을 마주쳤고, 이를 해결하기 위해 노력한 과정과 생각, 개선사항들을 중심으로 서술하고자 한다.

프로젝트 진행 중, 서버가 자주 닫히는 현상이 발생했다. 서버가 닫힌 시간 즈음에 들어온 네트워크 패킷들이 평소보다 많았기에 t2.micro를 쓰던 필자에게는 서버가 작아서 그렇다고 수긍하게 만들었다. 서버가 닫히는 빈도가 점점 늘어나자, 원인을 찾기로 결정했다.

우리가 프로젝트를 개발할 때, 필요한 라이브러리들을 외부 저장소에서 다운로드하여 의존성으로 사용한다. 이는 groupId, artifactId, version으로 구분된다.

다음 코드와 같이 4개 유형의 크롤링 데이터 파일을 DB에 저장해야하는 상황이다. 해당 메서드 실행 결과,다음과 같은 에러가 발생했다. 이는 scrap테이블이 유니크 키 제약 조건을 위반했음을 의미한다.

A -> B (1:n), B -> C (1:n), B -> D (1:n) 으로 엔티티가 연결된 상황이다. 다음 로직과 같이, findById로 변경사항을 저장할 엔티티를 선택하고, 해당 엔티티의 필드값을 set하여 값을 변경하고자 했다.

웹페이지를 동적으로 로딩하여 데이터를 가져오는 웹 스크래핑이 필요한 상황이다. 이에 Selenium을 통해 스크래핑을 구현하려고 한다.

시스템 부팅 및 복구에 필수적인 명령어 실행 파일이 들어있다. ls, grep, apt의 기본 명령어부터, git같은 설치 패키지 명령어까지 들어있다.

MySQL서버는 MySQL 엔진과 스토리지 엔진으로 구분됨클라이언트에서 요청한 쿼리를 처리하는 부분이다. MySQL서버는 하나의 MySQL엔진만 사용한다.