스프링으로 개발을 해본 사람이라면 @Controller와 @RestController 어노테이션을 둘 다 접해본 경험이 있을 것이다. 나 또한 프론트와 백엔드가 합쳐진 웹 개발을 할 때는 @Controller를, 백엔드 개발을 할 때는 @RestController를 사용해봤다. Restful API를 개발할 떄(백엔드 개발을 할 때는)는 @RestController를 사용한다기에 @RestContoller를 사용했는데, 그렇다면 @Controller와 @RestController의 차이점은 무엇일까? @Controller와 @ResponseBody가 합쳐진 @RestController @RestController가 뭐가 다른지는 어노테이션을 까보면 확실히 알 수 있다. @RestController 어노테..
https://pamyferret.tistory.com/38 Message Queue란? (기본 동작 방식 및 용어) 회사를 이직하고나니까 많은 사용자를 고려해서 Message Queue에 메시지를 넣고 컨슈밍해서 기능을 비동기적으로 처리하는게 많았다. 그래서 앞으로 회사에서 익히고 혼자서 공부한 MQ에 대한 내용 pamyferret.tistory.com 저번 글에 AMQP를 기반으로 메시지 큐가 무엇이고 어떻게 동작하는지 정리했었다. AMQP란? 예전에도 AMQP가 있기 전까지도 예전에 MQ를 많이 사용해왔었는데 그 때는 표준 프로토콜이 없어서 뒤죽박죽이었다고 생각하면 된다. 하지만 AMQP라는 표준 프로토콜, 즉 일종의 규약(약속)이 생겨서 위의 'Message Queue란? (기본 동작 방식 및 용..
회사를 이직하고나니까 많은 사용자를 고려해서 Message Queue에 메시지를 넣고 컨슈밍해서 여러 모듈로 나눠서 서비스하고 있었다. (전에 비동기 처리를 위해서라고 작성했지만 비동기는 비동기이지만 메시지 큐를 사용하는 실질적인 이유는 여러 서버들로 나눠서 서비스를 구현하기 위해서다.) 메시지 큐(Message Queue)란? 우선 큐(queue)는 자료구조론을 공부해본 사람이라면 한 번쯤은 들어봤을 자료구조이다. 일면 FIFO(First In First Out) 방식으로 데이터를 처리하는 자료구조인데 그림을 그려보면 아래와 같다. 양 쪽이 뚫린 원통이 있다고 생각하고 그 안에 데이터를 하나 하나 넣고 반대쪽에서 꺼내서 처리한다고 생각하면 된다. AMQP 기반의 메시지 큐 동작 방식 메시지 큐가 동작하..
요즘 새롭게 이직한 회사에서 메시지큐라던가 이벤트 핸들이라던가 새로운 것을 많이 배우고 있다. 그 중 하나가 바로 syncronized이다. 아무래도 서비스에서 비동기적으로 처리하는 부분이 많다보니까 비동기적인 로직에서 싱크를 맞춰야 하는 부분은 싱크를 맞추기 위해서 syncronized를 사용하는 것이다. syncronized란? 멀티 쓰레드와 같이 비동기 처리를 하다보면 그 로직 중에서 특정 부분을 동기 처리하는데 사용하는 키워드다. 메소드에 키워드를 붙여서 사용하기도 하고 syncronized 블록을 만들어서 그 안을 동기 처리 하기도 한다. syncronized 키워드를 사용해서 동기 처리라고 명시 해준 부분은 한 쓰레드가 접근했을 때 해당 영역을 lock 처리하고 다른 쓰레드는 접근해 있는 쓰레..
요즘 새롭게 이직을 해서 새로운 업무 방식과 새로운 기술 사용에 익숙해지느라 정신이 없다. 그 중 mac과 IntelliJ를 난생 처음 사용해봐서 많이 버벅거리고 있다. Eclipse와 많이 비교되고 훨씬 좋다고 알려진 IntelliJ를 드디어 써보게 되었다. 하지만 IntelliJ에서 FileInputStream 객체를 사용하던 중 처음에 권한에 대한 창이 뜨더니 그것을 무시하고 진행했더니 아래와 같은 에러가 발생했다. 내가 파일 경로를 잘못 잡았나? 아니면 인텔리제이에서 따로 설정을 해줘야하는 것인가 이것저것 뒤졌는데 이것은 바로 mac의 보안 때문에 생긴 문제였다. 애플 제품들이 그렇듯이 보안을 많이 신경 쓰는데 윈도우처럼 IDE에서 그냥 로컬의 파일을 접근해서 쓸 수 있게 하는 것이 아니라 따로 ..
접속기록, 거래기록, 처리기록 등에 관한 기록을 몇 년간 보존해야 하는 법이 있다. 정보보호 관리컨설팅을 공부하며 관련 법을 이해하기 위해 기록 보존에 관한 법을 찾아보려고 한다. 데이터3법(개인정보보호법, 정보통신망법, 신용정보법) + 전자금융거래법 이 4가지 법에서 관련 조항을 찾아보자. 오늘은 개인정보보호법을 살펴보겠다! 1. 개인정보보호법 [시행 2020. 8. 5.] [법률 제16930호, 2020. 2. 4., 일부개정] 제29조(안전조치의무) 개인정보처리자는 개인정보가 분실ㆍ도난ㆍ유출ㆍ위조ㆍ변조 또는 훼손되지 아니하도록 내부 관리계획 수립, 접속기록 보관 등 대통령령으로 정하는 바에 따라 안전성 확보에 필요한 기술적ㆍ관리적 및 물리적 조치를 하여야 한다. 제73조(벌칙) 다음 각 호의 어느 ..
https://pamyferret.tistory.com/8 [ SpringBoot ] SpringBoot의 기본 Cache 사용하기 개발을 하다보면 어라? 이 데이터 계속 똑같이 사용되고 업데이트 될 일이 없는데? 하는 것들이 보인다. 데이터 업데이트가 자주 이뤄지지도 않고 자주 호출되는 데이터인데 계속 DB에 가서 데이 pamyferret.tistory.com https://pamyferret.tistory.com/25 [ SpringBoot ] Cache 기능 Redis로 구현하기 https://pamyferret.tistory.com/8 [ SpringBoot ] SpringBoot의 기본 Cache 사용하기 개발을 하다보면 어라? 이 데이터 계속 똑같이 사용되고 업데이트 될 일이 없는데? 하는 것..
개발을 하다보면, 개발 공부를 하다보면 DI라는 용어를 많이 접하게 된다. 거기에 덧붙여 DI 컨테이너, IoC이라는 용어도 많이 접하게 되는데 처음에 이러한 용어들을 접하고 가지 않으면 이게 뭐지? 라고 어리둥절하다가 해당 용어의 뜻을 알고 아 그렇구나 라고 바로 이해를 하게 된다. 그래서 이번에 제대로 해당 용어들에 대한 개념들을 정리해보려 한다. DI(Dependency Injection)이란? 우선 제일 기본적인 DI는 의존성 주입을 의미한다. 의존성 주입에 대해 제일 간단한 예를 들면 Controller에서 Service를 사용하는 것을 예로 들 수 있다. public class MenuController { private tinal MenuService menuService; ... } Con..
- Total
- Today
- Yesterday
- MAC
- springboot
- HttpClient
- rabbitmq
- postgres
- enum
- DATABASE
- JPA
- 캐싱
- 자바
- ssh
- 스프링부트
- DB
- PostgreSQL
- 캐시
- 이클립스
- annotation
- Caching
- 역직렬화
- 데이터베이스
- eclipse
- cache
- 어노테이션
- mockito
- Spring
- Java
- 메시지큐
- k8s
- Intellij
- 공간데이터
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |