일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- nestjs스터디
- JPA스터디
- 스프링 공부
- 자료구조공부
- 스프링공부
- nestjs공부
- K8S
- querydsl
- DDD
- 자바공부
- 코테공부
- 코테준비
- JPA
- 스프링
- 스프링부트공부
- 프로그래머스
- JPA공부
- Axon framework
- 알고리즘공부
- 기술공부
- nestjs
- Kafka
- 스프링부트
- 플러터 공부
- Flutter
- JPA예제
- 기술면접공부
- JPA 공부
- 카프카
- 플러터 개발
- Today
- Total
목록분류 전체보기 (715)
DevBoi
도메인은 우선 기본적으로 크게 4가지로 잡았다. User - 사용자 Post - 게시물 master PostContent -게시물 요청자 PostComment - 게시물 작업자 Asset - 자산 자산은 이력성으로 쌓고, 게시물도 이력성으로 쌓을 것이다. 그이유는 스케줄러나 배치로 주기적으로 회원들 정보를 갱신해주는것도 좋지만 그렇게 많은 사람들의 작업이 있지않는 이상,이를 굳이... 뭐 나중에 데이터가 점점 쌓이면 등급에 대한건 그떄 고민해보자 스케줄러던 배치던 무튼 이렇게 4개에 대한 도메인을 설계했고, 해당 관련 개발까지 머리속으로 설계는 끝냈다. 사실 개발하는것 자체보다 설계에 시간을 많이 쓰긴했다. 이 모델 기반으로 JPA를 설계할 것이고 개발해 나갈 것이다. mybatis를 쓸까 고민도 하긴했..
MSA에서 필수, Config 서버 분리 및 중앙 집중 관리 공부해보자 Spring 설정 파일을 외부로 분리할 수 있는 Spring cloud Config 이다. Spring Cloud Config 는 분산 시스템에서 설정파일을 외부로 분리하는 것을 지원한다. Spring Cloud Config를 사용하면 외부 속성을 중앙에서 관리할 수 있다. 즉, 각각 공통으로 쓰는 설정값들을 각 서버마다 배포할 필요가 없다는 뜻이다. 다양한 애플리케이션에서 동일하게 설정파일을 사용할 수 있다. 즉 한 서버에서 설정값들을 모아서 관리하고 다른서버에서 config에 대한 값을 참조시에 해당 서버에게 물어보고 동일하게 가져오는것이다. 이건 개념은 별로 없고... 그냥 한번 사용하면서 예를 들어보자 우선 Config Ser..
Docker 개념 Docker 는 개발자와 시스템 관리자가 컨테이너 기술을 사용하여 어플리케이션을 개발, 배포 및 실행하기 위한 플랫폼이다. 일반적으로 리눅스에서 사용되는 컨테이너 기술을 사용하여 응용프로그램을 배포하는 것을 컨테이너화 시켰다고 한다. 컨테이너는 새로운 기술은 아니지만 도커를 통해서 과거보다 편리하고, 간편하게 어플리케이션을 배포하는데 사용된다. 이러한 컨테이너 기술은 아래와 같은 장점이 있다. 유연성 : 복잡한 어플리케이션들도 모두 컨테이너화 할 수 있다. 경량화 : 컨테이너는 호스트 커널을 활용하고 공유한다. 변화관리 편의성 : 업데이트 및 업그레이드를 즉시 배포할 수 있다. 포터블 : 로컬로 구축, 클라우드와 가상화에 배치도 가능, 어디에서나 실행가능하다. 확장성 : 컨테이너 복제본..
일단 띄워보자 로컬에서 기본적인 세팅이된 프로젝트를 우선 생성해보자 이름은...음... WriterBackend로 가즈아 일단 이렇게 테스트 샘플 데이터를 넘겨주는 API를 개발해서 테스트 해봤다. 그리고 이걸 swagger로 표현해줄수있게끔 세팅해보자 http://localhost:8080/swagger-ui.html 성공적으로 API에 대한 스웨거가 노출이 된다. 물론 컨트롤러에 해당 API에 대한 설명을 별도 어노테이션으로 붙여줘야 한다. 그리고, 초기 세팅에 패키지 충돌로 인해 오류가 난다. (Null...) 여러 구글링해보면, 요로케 하라고한다. 요 방법이 싫다고 하면... 그냥 하나씩 api url 별로 matcher로 등록을 해주면 충돌이 나지 않는다. 우선 귀찮으니까.. 이렇게 해두고.....
써킷 브레이커....실무에서 몇번 쓰이고 사실 비즈니스 로직만 짜는 단순 개발자가 아니라... 미들웨어를 배치 받거나... 클라우드를 쓰면 항상 나오는 개념이다. 써킷 브레이커 대충 느낌만 알아서 정리를 해보자 Hystrix를 이용해서 써킷브레이커를 구현하는 경우가 많다. 우선 Circuit breaker란? MSA에서 자주쓰이는 개념이다. 장애전파를 막아주는 역할을 한다. 예를 들어서 어떤 페이지를 호출했다고 가정해보자 그 페이지에서 여러 API를 호출하게 되는데, 해당 특정 한 API에서만 오류가 있다고 가정을 했을때, 해당 한개의 API 때문에 페이지가 504나, 에러페이지로 가는 경우가 있다. 이러한 경우를 막아주는, 즉 MSA환경에서 더 MSA같이 장애전파를 막아주는 개념이 써킷 브레이커다. 물..
갑자기 사이드 프로젝트하다가 생각나서 정리했다. ArrayList 를 1천 ~ 2천건 , List
Images, Containers, Local Volumes 에 대한 용량이 계속 배포하고 쌓여가면서 점점 불필요한 저장 공간이 많이 발생할떄쯤... 서버가 점점 느리다는 사실 이 발견되었다. docker system df 로, 삭제 시에 얻을수 있는 용량적인 이득을 확인 docker image prune -a 로 현재 실행되고있는 이미지를 제외한 모든 이미지를 삭제해서 용량을 줄여준다. reclaimable 의 데이터는 현재 불필요한 값을 지움으로써 다시 사용할 수 있는 용량을 의미한다고 한다. 무튼 이렇게 서버자체의 용량을 많이 줄여보았다..
ELK 관련 로그 저장 관리 스택에 대해서 알아보자 Elastic Search, Logstash, Kibana 이렇게 3개의 스택에 대해서 해당 ELK 스택이라고 표기되고 사용된다. 사용목적은 데이터 분석 스택이고, 해당 데이터 분석 을 통해서 여러가지 운영 상 이점을 얻을 수 있다. 당연히 운영 시스템에서는 많은 로그들이 발생되고 이슈추적이나 뭐 여러가지의 이유로 해당 로그는 굉장히 중요하다 * Elastic Search 해당 엘라스틱 서치는 Apache Lucene 기반의 기술이다. 해당 엘라스틱 서치는 가진 데이터 중, 특정 키워드를 가진 데이터를 찾을수 있는 , 특정 데이터 검색을 지원해준다. 아래와 같은 특징들을 가진다. 1. 역 인덱싱 엘라스틱 서치는 문서 기반으로 저장되는 ELK의 스택중 어..
최근 사이드 프로젝트를 계속 진행하면서, 뭔가를 정리할 시간이 없었다... 뭔가 알고는 있었지만 계속 찾아서 써먹는 ModelMapper에 대해서 정리를 해보려고한다. 잘알다 싶이, JPA에서 사용하는 Entity는 DTO로 사용하면 절대 안된다. 쉽게 얘기하면, DB layer와 view layer에서 각각 엔티티와 DTO를 다르게 사용해야한다. 이유는 다양하지만, JPA특성상 엔티티의 값을 set하고, save하면 자동으로 디비 쿼리가 나가기 때문에가 가장 크다고 생각한다. Entity를 Dto처럼 쓴다면, 추후 운영 상에 디비에 대한 정보를 의도치 않게 바꿀수 있다. 그래서 Entity와 Dto를 분리해야하는데, Entity로 정보를 얻고, 이걸 Dto로 변환하려면 어떻게 해야할까? ModelMap..
Mybatis를 쓰다가, 대부분 모델 ResultMap으로 사용해서 쓰는데 뭔가 간단하고 단순히 매번 모델을 만들어서 ResultMap으로 꾸리기 귀찮다. 예를 들면 바인딩.... 솔직히 매번 모델 만들기 너무 귀찮다.... 그래서 찾아보니.. parameterType="java.util.Map" resultType="kr.co.esjee.icedu.util.CamelListMap" 요 녀석이 있다. 이 녀석이 뭐냐? 디비에서 컬럼을 카멜이름으로 바꿔서 ListMap으로 resutl 해주는것이다. 예를 들어서 RESULT_MAP 이라는 컬럼을 select로 뽑으면, resultMap으로 바꿔서 Map 결과로 바꿔주는 것이다. 은근히... 사용할일이 많고, 편하다 카멜 케이스도 거의 모든 곳에서 표준이니...