RabbitMQ는 AMQP 서버입니다. AMQP는 Advanced Message Queueing Protocol의 준말이며, 메시지 큐 기반의 프로토콜을 뜻합니다. 메시지 큐를 이용하면 메시지 발행-구독(Publish-Subscribe) 패턴을 사용할 수 있습니다. 그렇다면, 메시지 큐는 왜 사용하는 것일까요? 동기식으로 데이터를 주고받을 경우, Request 전송 후 Response가 올 때까지 대기해야 합니다. Response를 받는데 까지 걸리는 시간 동안 컴퓨터는 아무런 연산처리를 하지 못하므로, 비동기식에 비해 처리 성능이 떨어집니다. 비동기 방식은 요청을 보내고 다른 작업을 진행하다 응답이 왔을 때, 그때 처리하는 방식입니다. 메시지 큐는 비동기 통신을 지원하므로, 발행(Publish)된 데이..
Redis는 In-Memory로 데이터를 저장하고, Key-Value 방식으로 데이터를 입출력 연산을 지원하는 데이터베이스입니다. In-memory 저장소이므로, 프로그램이 종료되면 쌓여있던 데이터는 모두 유실될 수 있습니다. 그러므로, Redis는 캐시와 같은 용도로 사용하는 것이 좋습니다. 웹 서버에서 일시적으로 데이터를 저장하고 사용할 필요가 있는 경우는, In-Memory와 같은 데이터베이스를 사용하여 캐시 효과를 보는 게 성능의 이점을 가져올 수 있습니다. 이번 포스팅에서는 Springboot에서 In-memory 데이터베이스인 Redis와 통신하는 방법에 대해 알아보도록 하겠습니다. Springboot Redis용 프로젝트 다운로드 https://start.spring.io/ 사이트에 접속하여..
도커(Docker)는 가상화를 이용한 프로세스를 격리하여 실행해주는 소프트웨어 플랫폼입니다. 도커를 이용하면, 어떠한 Host OS환경에서도 프로세스를 동일한 환경에서 실행할 수 있습니다. 마치 빈 공터에 사무실이 필요하면, 사무실 용 컨테이너 박스를 두어 간이용 사무실을 사용한 것 과 동일한 방식입니다. 즉, 컨테이너를 둘 수 있는 공간만 있으면 어디든 컨테이너 사무실을 둘 수 있죠. 이번 포스팅에서는 윈도우 환경에서 Docker를 설치 및 실행하는 방법에 대해 알아보겠습니다. 도커 설치 전 가상화 환경 설정 도커는 가상화 기술을 기반으로 동작되는 소프트웨어 플랫폼이기 때문에, PC의 하드웨어에서 가상화가 지원되어야 사용 가능합니다. 가상화 사용 여부 확인은 작업 관리자 > 성능 탭에서 가상화 사용 여..
유저는 브라우저 상에서 렌더링 된 HTML을 통해 파일 업로드를 요청하고, 업로드된 데이터는 HTTP의 Multi-Part로 백엔드 서버로 데이터가 전송됩니다. HTTP의 Multi-Part 요청을 처리하는 애플리케이션이 Springboot로 구현되어 있다면, HTTP의 MultiPart로 전송받은 데이터를 처리하는 로직을 구현해야 합니다. 이번 포스팅에서는 SpringBoot에서 Multi-Part로 전송된 데이터를 처리하는 내용에 대해서 알아보겠습니다. Springboot Web 용 프로젝트 다운로드 https://start.spring.io/ 에서 Dependencies항목에서 Spring Web과 Thymeleaf(타임리프)를 선택합니다. 나머지 프로젝트 설정은 로컬 PC의 개발환경에 맞추어 설정..
- Total
- Today
- Yesterday
- 스프링부트실행
- notion 업무일정관리
- springboot 실행
- notion
- selenium
- 디자인패턴 구조패턴
- 클린코드작성법
- TCP/UDP
- springboot build
- 테스팅 자동화
- AWS
- 코드스멜 유형
- oracle pga sga
- codesmell 유형
- SPA
- 스프링부트빌드
- python
- 스프링부트 restapi
- API Gateway 캐싱
- OSI 7계층
- iframe 태그 찾기
- MPA
- 클린코드작성원칙
- springboot restapi
- C++
- oracle 메모리
- 디자인패턴
- springboot rest api 서버
- token
- 멀티코어 멀티프로세서
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |