본문 바로가기
반응형

전체글623

MariaDB ERROR 1524 Plugin is Not Loaded 문제 해결 MariaDB를 설치하던 중에 root 계정의 비밀번호 설정을 잘못할 때가 있습니다. 그럼 아래와 같이 접속 시도시마다 에러가 발생합니다. ERROR 1524 (HY000): Plugin '잘못된 플러그인' is not loaded 이 문제를 해결해보겠습니다. 1. 해결 서버에 접속해 root 계정으로 전환합니다. sudo su - root 이제 실행하는 모든 명령어는 sudo가 생략되었다고 생각하시면 됩니다. 정상적인 MariaDB 실행으로는 위와 같이 플러그인 에러가 계속 발생합니다. 그래서 이럴때를 대비해 mysqld_safe (일종의 윈도우에서 안전모드 같은 거라 생각하시면 됩니다.)를 사용합니다. 아래 명령어로 실행해봅니다. mysqld_safe --skip-grant-tables & enter.. 2019. 11. 17.
IntelliJ 실행시 최근 종료한 프로젝트 바로 실행되지 않게 하기 IntelliJ를 실행하면 항상 가장 최근에 종료한 프로젝트가 자동 실행됩니다. 한개의 프로젝트를 개발중이라면 크게 문제가 되진 않겠지만, 여러 프로젝트를 개발중이신 분들이라면 매번 다시 새 프로젝트를 열어야만 합니다. 특히나 전에 종료한 프로젝트가 2개나 3개라면 처음 실행할때 2~3개가 동시에 실행됩니다. 이럴 경우 사양이 높지 않은 노트북은 중간에 프리징에 가까운 멈춤 현상을 겪을수도 있습니다. 실행시 인텔리제이는 인덱싱 기능을 수행하기 때문에 실행시 많은 리소스가 필요합니다. 대신 이런 인덱싱 기능 때문에 실제 개발단계에서 파일 검색등에서 많은 속도 향상이 있습니다. 그래서 다음과 같이 매번 실행할때마다 프로젝트 선택 화면이 나오길 바라는 분들이 계십니다. 그래서 해당 설정을 진행해보겠습니다. 인.. 2019. 11. 13.
TeamCity 빌드 실패시 결과 Slack으로 알람 받기 Teamcity에서는 공식적으로 Slack Notifier를 지원하진 않습니다. 이건 젠킨스도 마찬가지라서 플러그인 설치를 해야하는것은 동일합니다. 다만 Teamcity에서는 공식적으로 IntelliJ IDEA 에서 결과 알람을 받을 수 있도록 지원하고 있습니다. 이 부분은 이후에 소개드리겠습니다. Teamcity의 알람을 Slack으로 받을 수 있는 여러 플러그인들이 존재합니다만, 여기서는 Slack Notifier 플러그인들 보다는 웹훅 플러그인을 사용합니다. Slack Notifier 플러그인들의 경우 다음의 문제점들을 경험했는데요. 설치시 Zip파일을 직접 Upload 해야하는 방식 Slack Notifier Plus Slack 외에 다른 알람 연동시 어차피 Webhook이 필요함 그래서 여기에서.. 2019. 11. 12.
MultipleBagFetchException 발생시 해결 방법 JPA의 N+1 문제에 대한 해결책으로 Fetch Join을 사용하다보면 자주 만나는 문제가 있습니다. 바로 MultipleBagFetchException 입니다. 이 문제는 2개 이상의 OneToMany 자식 테이블에 Fetch Join을 선언했을때 발생합니다. OneToOne, ManyToOne과 같이 단일 관계의 자식 테이블에는 Fetch Join을 써도 됩니다 이 문제에 대한 해결책으로 보통 2가지를 언급하는데요. 자식 테이블 하나에만 Fetch Join을 걸고 나머진 Lazy Loading로 모든 자식 테이블을 다 Lazy Loading으로 이럴 경우 성능상 이슈가 아무래도 해결되는게 아니다 보니, 좀 더 좋은 방법을 소개드리겠습니다. 모든 코드는 Github에 있습니다. 1. 문제 상황 One.. 2019. 11. 3.
10.1. Spring Batch 단위 테스트 코드 - Reader 편 웹 애플리케이션을 개발하다보면 통합 테스트 보다, 단위 테스트가 훨씬 더 많이 작성됩니다. 단위 테스트로 많은 코드를 검증 후, 통합 테스트 코드를 통해 각 단위가 합쳐졌을때 잘 작동 되는지 검증하곤 하는데요. 스프링 배치를 이용한 배치 애플리케이션에서는 많은 분들이 통합 테스트만 작성할때가 많습니다. 전편에서 말씀드린것처럼 스프링 배치의 단위 테스트 작성이 통합 테스트 보다 복잡하기 때문입니다. 그래서 이번 챕터에서는 다음의 질문들에 대해 이야기해볼까 합니다. Reader의 쿼리가 잘 작동되었는지는 어떻게 확인하지? StepScope를 통한 JobParameter가 잘 할당 된다는 것은 어떻게 확인하지? 부분 부분을 잘개 쪼개서 테스트할 수 있는 방법들을 소개드리겠습니다Reader의 단위 테스트는 다음.. 2019. 10. 20.
10. Spring Batch 가이드 - Spring Batch 테스트 코드 배치 애플리케이션이 웹 애플리케이션 보다 어려운 점을 꼽자면 QA를 많이들 얘기합니다. 일반적으로 웹 애플리케이션의 경우 전문 테스터 분들 혹은 QA 분들이 전체 기능을 검증을 해주시는 반면, 배치 애플리케이션의 경우 DB의 최종상태라던가 메세징큐의 발행내역 등 개발자들이 직접 확인해주는 것 외에는 검증 하기가 쉽진 않습니다. (별도의 어드민을 제공하는것도 포함입니다.) 더군다나 개발자가 로컬 환경에서 배치 애플리케이션을 수행하는 것도 많은 수작업이 필요합니다. 수정/삭제 등의 배치 애플리케이션이라면 한번 수행할때마다 로컬 DB의 데이터를 원복하고 다시 수행하는 작업을 반복해야 합니다. 이러다보니 당연하게 테스트 코드의 필요성이 많이 강조됩니다. 다행이라면 배치 애플리케이션은 웹 애플리케이션 보다 테스트.. 2019. 10. 17.

728x90
반응형