팁 모음 장소(11)
-
2024년 아마존 리눅스 MySQL 설치
[ 작성 이유 ] 아마존 리눅스 리전을 잘못 설정해서 변경하려다가 EC2를 새로 깔면서 MySQL을 다시 깔게 되었다. 그런데내부 명령어가 제대로 동작하지 않았고 MySQL을 까는데 문제가 발생했다. 인터넷 방법을 뒤져보다가 문제점을 찾았고, 링크를 찾을 수 없어 직접 글을 남긴다.[ 설치 방법 ] AWS와 EC2 설치에 대해서는 말을 하지 않겠다. 문제의 원인은 EC2 최신 버전을 사용하면 기존 인터넷에 떠돌아다니는 MySQL 설치방법을 사용할 수 없다. 그 이유는 해당 파일 버전이 리눅스 서버 내에서 지원하지 않기 때문이다. 만약에 아래와 같이 c언어 패키지가 없어서 오류가 생기는 오류가 난다면, 이 글을 통해 해결할 수 있다. Error: Problem: conflicting requests - ..
2024.05.19 -
Json을 웹 브라우저에서 쉽게 보는 방법
Keycloak이라는 인증서버를 공부하다가 Json을 받았는데 보기에 너무 어지러웠다. 그냥 크롬 브라우저에서 아무런 조치없이 Json 데이터를 보면 아래의 그림 처럼 나온다. 이걸 깔끔하게 보게 해주는 크롬 확장 프로그램이 있다. 우선 크롬창 -> 점 세개 클릭 -> 확장프로그램 -> chrome 웹 스토어 방문하기를 클릭해보자. 그러면 웹 스토어가 나올 것이고 거기서 "json viewer"라고 검색하면 여러 확장 프로그램이 나온다. 그 중 내가 선택한 건 아래의 그림과 같은 확장 프로그램이다. 이 확장 프로그램을 설치하고 다시 Json 데이터를 같은 API에 요청해서 확인해보자. 그러면 다음처럼 알아보기 쉽게 이미지가 나온다.
2024.03.20 -
Java 환경 변수 설정과 KeyCloak windows 실행 오류 해결
이전에 Keycloak 부분만을 제외하고 강의를 다 듣고 복습을 하며 강의 내의 내용과 추가 궁금한 점을 찾아서 정리했었다. Keycloak 부분만 못한 이유는 왜 작동이 안되는 지 이유를 찾지 못해서 였다. 분명히 가이드가 잘 돼있고 여러 영상을 찾아봤지만 이유를 찾을 수 없었다. 예전에 5시간 동안 시도하다가 실패해서 이 부분만 강의를 안 들었는데, 다른 사람도 이 문제를 쉽게 넘어갔으면 한다. 우선 KeyCloak을 Open JDK로 사용을 하려면 2024년 3월 20일 기준으로 KeyCloak 24.0.1 버전은 자바 17을 지원한다. 자바의 17 설정 및 환경 변수 등록은 다음의 글이 정말 잘 작성이 되어있으니 이를 참고하길 바란다. KeyCloak은 상당히 문서가 잘 작성되어 있는 편이라고 생..
2024.03.20 -
JPA - SQLSyntaxErrorException
[ 문제 원인 ] JPA를 공부하고 있다가 문법적 오류가 없는데 hibernate로 JPA를 작성하던 도중 SQLSyntaxErrorException이 떴었다. 당시 코드는 초기 데이터를 초기화하는 부분에서 일어났었다. 오류 로그를 보니, JPQL로 작성한 부분도 아니고 그냥 에러가 일어날 수 없는 부분이었다. 확인용 코드: 오류의 시작지점 @EventListener(ApplicationReadyEvent.class) public void initData() { log.info("test data init"); itemRepository.save(new Item("itemA", 10000, 10)); itemRepository.save(new Item("itemB", 20000, 20)); } 오류 스택..
2024.03.09 -
MySQL-Workbench에서 동시성을 확인하는 방법
[ MySQL 동시성 확인 방법 ] 우선 DB에 접속을 하면 각각의 창 별로 세션을 부여 받는다. 이 때 세션이 다른 것끼리는 독립된 포어그라운드 쓰레드가 담당을 하며, 해당 포어그라운드 쓰레드는 사용자로부터 SQL문을 입력 받고 처리해주는 역할을 담당해 백그라운드에 요청을 하는 역할을 한다. 그렇기 때문에 동시성과 관련해서 개별의 창은 다른 쓰레드에서 관리를 하므로 아직 커밋이 되지 않았을 때 dirty read가 일어나는 모드로 설정하지 않은 이상 서로 다른 값을 갖는게 맞다. 이런 상태에서 일어날 수 있는 일들을 알아보기 위해서는 서로 다른 세션을 갖는 별도의 쓰레드창을 열어주어야 한다. 1. MySQL Installer에서 서버 켜주기 Reconfigure 버튼을 누르고 하란대로 해서 서버를 켜주..
2024.02.25 -
JPA 프로그래밍 - LazyInitializationException
[ 문제 상황 ] 문제 상황에 대해서는 기본적으로 JPA 코드를 Entity부터 Controller까지 작성할 줄 안다고 가정하고 작성하였다. 이 부분을 잘 모른다면 글을 읽기 전에 공부하기를 바란다. 복습을 하던 도중 이전에 잘됐던 Controller 내부의 코드가 잘 작동하지 않았다. 해당 API를 PostMan으로 돌려보면 500번 에러와 함께 제목에 적힌 LazyInitializationException 에러가 뜨는데, 이 현상이 일어난 이유와 해결방안에 대해서 알아보고자 한다. @GetMapping("/api/v2/simple-orders") public List ordersV2(){ List orders = orderRepository.findAllByString(new OrderSearch(..
2024.02.18