IT
-
[AWS] EC2 인스턴스 행(hang) 현상 & 스왑메모리 할당IT/삽질 2024. 1. 4. 23:28
아.. 정말 하루 종일 삽질했다.. AWS 프리티어 요금제 가입해서 테스트 용도의 인스턴스를 생성해서 사용 중이다. 요즘 서버 인프라 자동 구성을 위해 오픈소스인 rundeck 을 알아보기 위해서 서버에 설치해봤다. 로컬 PC에서 ssh 로 ec2 서버로 접속해서 사용하는데.. rundeck 서비스를 기동하니까 갑자기 버벅 거린다. 어라?? 그리고 행 걸린듯 먹통이다. ssh 접속을 종료하고 다시 들어가봐도 행 걸려 있기는 마찬가지다. 우와.. 미치겠다.. 결국은 ec2 대시보드로 가서 인스턴스를 '중지' 후 다시 '시작' 했다. 접속이 되자마자 바로 top 명령어를 날려보니 rundeck 이 cpu 를 엄청 잡아 먹고 있다...;; 얼릉 kill -9 를 날리고 프로세스를 죽이니.. 다시 cpu는 평온..
-
[Redis] 맥북에 redis 설치하기IT/삽질 2023. 11. 15. 21:21
신규 프로젝트를 검토하면서 세션 관리를 위한 방안 중 redis 를 활용하는 방안이 대두 되었다. 사실 redis 에 대해 막연히 알고 있었는데, 이번 기회를 통해 redis 를 로컬에 설치하고 간단하게 살펴보고자 한다. 다중서버에서 세션 관리에 대해 정리가 잘 된 글이 있어 남긴다. https://developer111.tistory.com/69 다중서버에서 세션 관리(Redis 세션 클러스터링, Sticky Session) 안녕하세요. 오늘은 다중 서버 환경에서 세션을 어떻게 관리하는지에 대해 알아보겠습니다. 세션 관리는 크게 3가지 방식이 있습니다. sticky session과 세션 클러스터링 그리고 redis를 이용한 세션 developer111.tistory.com Homebrew 를 사용한 r..
-
[SpringBoot] @RequestBody, @ResponseBody 어노테이션IT/삽질 2023. 10. 31. 11:31
@RequestBody 는 단독으로 사용되지 않고, 메소드의 인자로 추가하며 해당 어노테이션이 포함된 메소드가 호출 시 HTTP 요청의 requestBody 내용을 통채로 지정한 타입의 인스턴스로 변경함 참고) https://wildeveloperetrain.tistory.com/144 @RequestBody @ResponseBody 어노테이션 이해하고 사용하기 클라이언트와 서버의 통신(HTTP) @RequestBody, @ResponseBody Annotation을 이해하기에 앞서, 클라이언트와 서버 간 통신에 대해서 먼저 간단하게만 살펴보겠습니다. HTTP(HyperText Transfer Protocol) 통신이란, 브 wildeveloperetrain.tistory.com
-
[SQL] 테스트 더미 데이터를 만들어보자!IT/정리 2023. 6. 9. 22:35
개발을 하다보면 DB 연동은 뗄레야 뗄 수가 없다. 그럴때면 임의로 데이터를 만들어서 insert 쿼리를 날려서 생성하고는 했는데. 이번에 좋은 사이트를 알게 되었다. https://filldb.info Dummy data for MYSQL database This application automatically generate database test data and allow to work and fill multiple mysql database tables. Generate test data for your database filldb.info 사이트는 상당히 심플하다. 1~3단계로 나뉘어져 있고, 처음 1단계에서는 테이블 레이아웃을 만든다. text area에 직접 create 문으로 스크립트 작..
-
[SpringBoot] Spring Security, custom login 반응없음IT/삽질 2023. 5. 9. 02:03
지금 보고 있는 도서는 아래 도서이다. 예제로 배우는 스프링 부트 입문 기존의 책들은 이론이 너무 많았습니다. 그래서 스프링을 대하는 학생들을 보면 일단 너무 어려워하거나 지루해했습니다. 만약 혼자 책을 보면서 공부해야만 했다면 많은 학생들이 포기했을 것 같습니다. 그래서 이 책에서는 너무 많은 이론은 지양하고 꼭 필요한 이론은 빠지지 않도록 신경을 썼습니다. 이 책에서는 스프링 부트에 필요한 이론은 놓치지 않고 자연스럽게 모두 익힐 수 있도록 구성하였습니다. 웹 애플리케이션을 만들기 위해서 필요한 각각의 기능을 짧고 간단한 예제로 배워보면서 전체적인 기능을 배운다면, 나중에 본인만의 프로젝트를 진행할 때 만들고 싶었던 거의 대부분의 기능을 구현할 수 있게 될 것입니다. 저자 이재환 출판 비제이퍼블릭 출..
-
[SpringBoot] Security 관련 에러 - Error creating bean with name 'webSecurityConfig'IT/삽질 2023. 5. 5. 01:09
스프링 시큐리티 적용을 위해 WebSecurityConfigurerAdapter 를 상속한 클래스를 만들고, 빌드하는데 오류가 발생한다. Error creating bean with name 'webSecurityConfig': Requested bean is currently in creation: Is there an unresolvable circular reference? 어라? circular refernece? 순환 참조? 불현듯 앞선 회사 팀장님과 디자인패턴 얘기하다가 순환참조에 대해 논의했던 일이 떠올랐다 서로 의존성을 가지는 클래스간 문제인데.. 그러한 코드 짠 기억이 없는디... -_-;; 일단. 검색을 해보니 해결책이 있드라. application.properties 에 아래 설정을 ..
-
[SpringBoot] @Transactional 어노테이션, 트랜잭션 전파IT/삽질 2023. 5. 4. 23:26
서비스(Service)에서 2개 이상의 DAO 를 처리하는 경우 트랜잭션 처리를 해야 한다. 가장 흔한 예시로 은행 계좌이체 사례를 자주 언급한다. A계좌에서 출금 처리 후, B계좌로 입금 처리가 정상 완료되어야 계좌이체를 끝낼 수 있는데, 만약 A 계좌 출금 이후 B 계좌 입금 처리 중 오류가 발생한다면 A 계좌 출금처리도 다시 취소를 해야 한다. 이러한 일련의 트랜잭션 처리를 스프링의 @Transaction 어노테이션을 사용해서 핸들링할 수 있다. @Transaction 어노테이션은 클래스 혹은 메서드에 적용 가능하고, 해당 범위는 하나의 트랜잭션으로 묶인다. REQUIRED, REQUIRES_NEW 2개의 속성값이 주로 많이 사용되는데 각각 "전체 롤백", "부분 롤백" 을 위해 사용된다. (참고 ..
-
[SpringBoot] MyBatis + log4jdbc 설정 시 deprecated 로그 수정IT/삽질 2023. 5. 2. 00:52
MyBatis에 보다 친절한(?) 로그 출력을 log4jdbc 통해서 가능하대서 적용해봤는데. 빌드 시 로그에 다음과 같은 로그를 찍고 있드라. Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary. 악! 왜 갑자기 이게 나오지?? 가만보자.. 내가 추가한게 뭐였드라? (사실 에러 로그가 아니기 때문에 큰 문제는 아니지만 거슬린다 ㅠㅠ) log4jdbc.log..