본문 바로가기

728x90
반응형

분류 전체보기

(78)
[RabbitMQ] RabbitMQ 설치 및 Cluster 구성 방법 RabbitMQ 설치 및 Cluster 구성 방법에 대한 내용입니다.1. EPEL 저장소 설치$ yum install -y epel-release2. erlang 설치 및 확인erlang 설치클러스터 구성된 노드끼리 통신을 위해 Erlang Cookie가 필요하므로 erlang을 설치합니다.$ yum install -y erlangerlang 설치 확인erl 명령어 입력 시 아래와 같이 나오면 잘 설치 된 겁니다.$ erlErlang/OTP 23 [erts-11.2] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1] [hipe]Eshell V11.2 (abort with ^G)1>3. RabbitMQ 설치 및 실행$ yum install -y rab..
[Web] CentOS에 tomcat 설치 1. Tomcat 다운로드 https://tomcat.apache.org/ 톰캣 공식 사이트에서 wget으로 zip 파일을 다운로드 받습니다. $ wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.83/bin/apache-tomcat-8.5.83.zip -P /usr/local/tomcat8 2. 압축 풀기 $ unzip apache-tomcat-8.5.83.zip // 안에 있는 내용 tomcat8 디렉토리로 이동 $ cd apache-tomcat-8.5.83 $ mv * /usr/local/tomcat 정상적으로 압축이 풀렸을 경우 bin 폴더의 모든 shell script에 실행 권한을 부여합니다. $ cd /usr/local/tomcat/bin $ chmo..
[Swagger] OpenAPI 설정 이슈(Failed to load remote configuration / Failed to load API definition) 회사에서 API 문서를 좀 더 편하고 보기 좋게 만들기 위해 기존에 있던 프로젝트에 Swagger(또는 OpenAPI)를 추가하게 되었습니다. 지난번에 Swagger를 적용했던 경험이 있어 금방 Swagger 설정이 끝날 거라 생각했습니다. 기존에 Swagger를 적용했었던 Project들과는 구조와 설정, 사용 라이브러리 등이 많이 달랐기 때문이었던 건지 바로 설정이 되지 않았습니다. 사소한 것들로 며칠 간 삽질한 경험을 공유하겠습니다. 부디 저 같은 삽질은 안하시길,,,ㅎ ⚠️ 코드는 테스트 코드로 작성했습니다 ⚠️ project 구조 com ㄴ openapi ㄴ openapi3test ㄴ config ㄴ SwaggerConfig.java ㄴ WebSecurityConfig.java ㄴ WebMvcC..
[Swagger] Springfox Swagger vs SpringDoc Springfox Swagger vs SpringDoc Spring 기반의 API Docs를 가능하게 해주는 건 크게 Springfox Swagger와 SpringDoc이 있습니다. 그러나 최근 Spring에서 밀고 있는 건 SpringDoc입니다. Springfox Swagger를 잘 발전시킨 것이 SpringDoc이기 때문입니다. Springfox Swaggerrk 2018년까지 많이 사용되다 2018년 6월을 마지막으로 업데이트가 중지되었고 그 사이 2019년 7월에 springdoc이 나와 SpringDoc을 더 많이 사용하고 있습니다. 그러던 중 2020년 6월 Springfox가 새로운 버전을 만들어 현재는 두 개를 혼용해서 많이 사용하고 있지만, Spring에서 더 선호하는 것도 Spring..
[Swagger] Swagger 2.x VS OpenAPI 3.x Swagger OAS(Open Api Specification)를 위한 프레임워크 API 문서화를 쉽게 할 수 있도록 도와주며, 파라미터를 넣어서 실제로 어떤 응답이 오는지 테스트 할 수 있습니다. 협업 하는 클라이언트 개발자들에게도 Swagger만 전달해주면 API Path와 Request, Response 값 및 제약 등을 한번에 알려줄 수 있습니다. Swagger 2.x와 OpenAPI 3.x의 관계 SmartBear가 Swagger를 인수했을 때 Swagger 사양을 OpenAPI 2.0으로 이름을 변경했지만, OpenAPI 사양과 함께 동작하는 상용 및 오픈 소스 도구를 참조하기 위해 Swagger라는 이름을 유지했습니다. OpenAPI = 사양(Swagger 사양으로 알려진 사양 자체) Swa..
[Intellij] Debugger 모드로 실행 시 느려지는 이슈 아주 잘 쓰던 Intellj가 어느 순간부터 말썽이었는데... 최근에 Intellij에서 클래스를 제대로 못 찾는 이슈부터 시도 때도 없이 느려지고 멈추는 등 자꾸 말썽을 부려 힘들던 차에 갑자기 디버깅 모드로 실행했을 때 실행하는데만 15분이 걸리는 아주 거지같은 상황이 발생했습니다.😡 한시간 전까지만 해도 잘 동작하던 Intellij Debugger 모드가 갑자기 실행되는데 아주아주 오래걸려서 또 Intellij 메모리 문제인가 싶어서 Memory Indicator를 눌러 메모리 최적화도 해보고 Intellij 캐시도 날려봤지만 여전히 느렸습니다.. 이상한 건 Debugger 모드가 아닌 그냥 Run을 하면 아주 빨리 동작했다는 점이었는데,,, 아래와 같이 break point를 비활성화 했더니 전보..
[RabbitMQ] RabbitMQ의 주요 개념 Core Concept RabbitMQ에서 중요한 개념은 Producer, Consumer, Queue, Exchange, Binding이 있습니다. Producer 메세지를 생성하고 발송하는 주체입니다. 이 메시지는 Queue에 저장되는데 주의할 점은 Producer는 Queue에 직접 접근하지 않고, 항상 Exchange를 통해 접근하게 됩니다. message를 consumer에게 위임하기 위해 message를 exchange에 publish 합니다. message 전송하는 일 외에는 아무 일도 하지 않습니다. Consumer 메세지를 수신하는 주체입니다. Consumer는 Queue에 직접 접근하여 메세지를 가져옵니다. Message 처리해야 할 내용이 담겨져 있습니다. Queue Queue는 Pr..
[IntelliJ] ‘Cannot resolve symbol ‘~’’ Cannot resolve symbol '~'라는 에러 메시지와 함께 import가 안되는 문제 발생했습니다. 이 에러는 IntellJ를 사용하면 종종 발생했던 에러였기 때문에 평소처럼 Invalidate Cache를 하고 Rebuild를 하면 어렵지 않게 해결 될 문제라고 생각했었습니다... 저의 경우 Mapper와 SubnetUtils가 제대로 import가 안되었습니다. Mapstruct를 쓸 때 종종 Mapper가 제대로 import 안되었던 적이 있어 빨간 글씨를 무시하고 개발을 하다 SubnetUtils까지 import가 안되는 것을 보고 해결하기로 결심했습니다. (사실 Mapper도 처음부터 무시했던 건 아니고, 이것 저것 다 해봤는데 계속해서 Import가 안되었는데 build는 정상적으로..

728x90
반응형