
개발을 하다보면 어라? 이 데이터 계속 똑같이 사용되고 업데이트 될 일이 없는데? 하는 것들이 보인다. 데이터 업데이트가 자주 이뤄지지도 않고 자주 호출되는 데이터인데 계속 DB에 가서 데이터를 가져온다. DB에 한 번 갔다 하는데도 적은 데이터의 경우는 매우 그 시간이 짧지만 많은 데이터면 데이터일 수록 그 시간이 점점 늘어나 나중에는 사용자가 불편을 느낄 정도로 데이터를 가져오는 시간이 길어진다. 그럴 때 캐싱(Caching) 기능을 사용해서 똑같은 데이터는 DB에서 가져오지 않고 미리 캐싱해놓은 데이터를 가져오고 만일 데이터 업데이트가 이뤄지면 캐싱된 데이터를 업데이트하고 캐싱된 데이터가 너무 자리를 많이 차지하면 아예 캐싱된 데이터를 지워버리는 등 DB에 가서 데이터를 가져오지 않고 그보다 가깝고..
[ Enum ] JPA로 enum name 그대로 DB에 저장하기(@Enumerated) [ Enum ] JPA로 enum name 그대로 DB에 저장하기(@Enumerated) 최근에 Enum을 이렇게도 저렇게도 사용해보게 되었다. 그 동안 회사 프로젝트에서는 왜 사용을 안 했는지 정말 후회되는 Enum... 나 처럼 enum을 처음 사용해보는 사람은 JPA를 사용할 때 entity에 enum c pamyferret.tistory.com 위의 전 글에서 enum의 값을 DB에 name 그대로 저장하기 위해서 @Enumerated 어노테이션을 사용했었다. 하지만 이럴 경우 enum의 값이 변경 되었을 경우나 order 순서가 변경되었을 때 DB에 저장된 값과 enum의 값이 매칭되지 않아 문제가 발생할 ..

최근에 Enum을 이렇게도 저렇게도 사용해보게 되었다. 그 동안 회사 프로젝트에서는 왜 사용을 안 했는지 정말 후회되는 Enum... 나 처럼 enum을 처음 사용해보는 사람은 JPA를 사용할 때 entity에 enum class를 column으로 사용했을 때 DB에 원하던 enum 값(name)이 아니라 enum의 해당 값의 index가 들어가는 현상을 확인할 수도 있다. 예를 들어 아래와 같은 enum이 있다고 하자. @Getter public enum Menu { BULGOGI_PIZZA(10000, "PIZZA"), CHEESE_PIZZA(8000, "PIZZA"), POTATO_PIZZA(11000, "PIZZA"), ; } 또한 해당 Menu enum을 이용해서 아래와 같은 entity를 구성..
현재 SpringBoot 스터디를 하는 와중에 Enum이 포함되어 있는 Dto로 Controller에서 RequestBody로 값을 받는데 Enum에 없는 값을 RequestBody에 입력했을 때 위와 같은 에러가 발생했다. JSON parse error가 발생하는 이유 예를 들어 아래와 같은 Enum를 사용한다고 하자. public enum Test { TEST_A, TEST_B TEST_C TEST_D ; } 위와 같은 enum를 사용할 경우 RequstBody로 'TEST_A'를 받으면 자동적으로 enum에서 TEST_A랑 같다고 매칭시켜 TEST_A를 반환한다. 하지만, 만일 위에 없는 값인 'TEST_E'가 들어올 경우? json으로 받은 값이랑 매칭 시킬 enum이 없어서 'JSON parse..
나는 개발도 하지만 시스템 또는 API에 대해 고객께 문의를 받기도 한다. 그러한 문의들을 받다보면 정말 별의별 고객들을 접하게 되는데 진짜 컴맹인 고객도 만나게 된다. 그러한 고객이 모르던 기능 중 하나!! 😀😁😀😁😀😁 위와 같은 귀여운 이모지를 입력하는 단축키 기능!! 여러 가지 메신저라 PM 툴에서도 자체 이모지 시스템을 제공하지만 윈도우와 맥 각각에서도 자체 이모지 기능을 사용한다. 이모지 기능은 아주 간단한 단축키로 사용할 수 있으며, 툴에 따라 이모지가 위와 같이 칼라로 나올 수도 있고 흑백으로 나올 수 있다!! (우선 대부분의 블로그에서는 이모지 기능을 컬러로 사용할 수 있다 🙋♀️) WIndow(윈도우) 이모지 단축키 Window 키 + ; 또는 Window 키 + . Mac(맥) 이모지..

우선 이 글은 Nginx에 대한 기본 글이 아닌 조건을 두고 proxy 설정하기에 대한 글이니 nginx에 대한 설명은 간단하게 하겠다. Nginx 란? Nginx란 일종의 웹 서버이다. 하지만 resource에 직접 접근하는 기능 및 특정 서버로 전달해주는 proxy 기능도 할 수 있어 웹 서버 뿐만 아니라 다양한 기능을 할 수 있는 웹 서버이다. 윈도우 환경 및 리눅스 환경에서 모두 사용할 수 있는 웹 서버이다. Nginx의 proxy란? Nginx에 설정해놓은 경로로 요청이 들어왔을 때 해당 요청을 다른 곳으로 전달해주는 곳이다. 보통은 전달해주는 곳을 숨기기 위해서 사용하기도 하고 나의 경우는 frontend의 https backend 요청을 http로 구동되고 있는 backend로 전달해주기 위..

지금까지 DB라곤 Oracle, PostgreSql, SqlLite를 사용해봤다. 그러던 중 이번에 지인들과 함께 하는 과제에서 H2라는 DB를 처음 사용해보게 되었다. 난생 처음 사용해보는 H2 DB는 도대체 무엇일까? H2 DB란? 여기저기 알아본 결과 자바로 작성된 RDBMS이다. 자바로 작성되어 있어 자바가 꼭 로컬에 설치되어 있어야하며, H2는 로컬에서만 구동할 수도 있고 따로 서버 버전으로 구동할 수도 있다. 그리고 DB Driver도 H2 DB Driver도 사용하지만 Oracle, My Sql, PostgreSql 등과 호환도 가능하다. 그리고 무엇보다 설치도 쉽고 구동시키기도 가벼워서 로컬에서 개발할 때 개발용 DB로 사용하기도 좋다. H2 설치하기 https://www.h2databas..
- Total
- Today
- Yesterday
- PostgreSQL
- annotation
- 스프링부트
- eclipse
- 공간데이터
- JPA
- postgres
- k8s
- springboot
- ssh
- Spring
- 메시지큐
- DATABASE
- enum
- Java
- cache
- 어노테이션
- DB
- HttpClient
- 이클립스
- MAC
- 자바
- Caching
- Intellij
- 역직렬화
- 캐싱
- rabbitmq
- 캐시
- 데이터베이스
- mockito
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |