@Transactional Propagation 정리
JPA를 활용할 때, @Transactional의 각 옵션들에 대해 정확히 알고 사용하려고 한다. 따라서 각 기술에 대해 공부해보았다. @Transactional(propagation= ?) propagation(영속성 전파)란 트랜잭션 동작 도중 다른 트랜잭션을 호출할 때, 어떻게 할 것인지 지정하는 옵션이다. @Transac...
JPA를 활용할 때, @Transactional의 각 옵션들에 대해 정확히 알고 사용하려고 한다. 따라서 각 기술에 대해 공부해보았다. @Transactional(propagation= ?) propagation(영속성 전파)란 트랜잭션 동작 도중 다른 트랜잭션을 호출할 때, 어떻게 할 것인지 지정하는 옵션이다. @Transac...
회사에서 KeyCloak의 OpenId를 이용해 로그인 및 권한관리를 구현하려고 한다. 따라서 각 기술에 대해 공부해보았다. OAuth는 무엇인가? OAuth(Open Authorization)은 위임 권한부여를 위한 표준 프로토콜이다. OAuth는 어플리케이션이 사용자의 패스워드 없이 사용자의 데이터에 접근 가능하도록 허가해준다. ...
폐쇠망에서는 어떤 프로그램이던 의존성을 가져오기가 쉽지 않다. 현재 내가 구축 중인 Grafana(모니터링 시스템) 연동으로 인해 Jenkins 버전 업그레이드 및 플러그인 설치가 필요했다. 폐쇠망 환경에서 고군분투한 경험을 적어본다. 폐쇠망에서 Jenkins 버전 업그레이드 기본적으로 인터넷 환경에서 원하는 Jenkins 버전과 플러...
상황 String 값으로 들어온 json String을 Object로 변환하려함 public void convertTest(String jsonStr){ TestReqeust obj=new ObjectMapper().readValue(jsonStr,new TypeReference<TestReqeust>(){ }); } 오류...
회사에서 백오피스를 구축해야 하는데, 여러면에 있어 graphQL를 적용시키면 좋을 것 같아 학습해보았다. 👾 GraphQL 이란 GraphQL은 페이스북이 2012년에 개발하여 2015년에 공개적으로 발표된 데이터 질의어이다. 클라이언트(프론트)는 필요한 데이터의 구조를 지정할 수 있으며, 서버는 정확히 동일한 구조로 데이터를 반환한다. ...
⛳ 들어가기 전에.. 🕹 상황 사내 시스템 모니터링 스택 개발 중 ⚙️ 기술 Data Source 현재 실행되고 있는 각 시스템 fluentd(로그수집기), nginx(WS), spring-actuator(상태수집), kafka(MQ) 등 Prometheus 매트릭 수집기 & 시계열 DB 각 시스템에서 보내는 정...
SQLExpressions.date() 을 사용하면 된다. import com.querydsl.sql.SQLExpressions; SQLExpressions.date(QTable.table.date) 출처 https://stackoverflow.com/questions/24531957/mysql-date-function-in-querydsl
⛳ 들어가기 전에.. fluentd는 td-agent 를 사용 📌 Prometheus Prometheus 플러그인은 총 6개를 제공 ⚾ 샘플 input plugin 은 promethues 사용해서 server_ip:24231/metrics 를 리스닝 상태로 두고 output plugin은 prometheus_output_monit...
⛳ 들어가기 전에.. 회사에서 EFK(ElasticSearch-Fluentd-Kafka) 스택으로 로깅 시스템을 구축해야 한다. 따라서 각 기술에 대해 공부해보았다. 📩 Kafka 란 아파치에서 제공하는 pub-sub 기반의 분산형 메시지 큐이다. dispatch가 아닌, subscribe 방식으로 기존 RabbitMQ에 비해 성능이 좋다. (단...
Jackson ObjectMapper ObjectMapper는 생성 비용이 꽤 비싸기 때문에 멤버변수, bean, static으로 처리 ObjectMapper는 Thread Safe하기 때문에 굳이 매번 생성해서 따로 쓸 필요가 없음 Spring의 경우 Bean으로 등록해서 DI받아서 쓰는 것이 좋음 readValue vs conve...