
1. 단일 책임의 원칙 생성자의 인자가 많을 경우 코드량도 많아지고, 의존관계도 많아져 단일 책임의 원칙에 위배된다. 그래서 Constructor Injection을 사용함으로써 의존관계, 복잡성을 쉽게 알수 있어 리팩토링의 단초를 제공하게 된다. 2. 테스트 용이성 DI 컨테이너에서 관리되는 클래스는 특정 DI 컨테이너에 의존하지 않고 POJO여야 한다. DI 컨테이너를 사용하지 않고도 인스턴스화 할 수 있고, 단위 테스트도 가능하며, 다른 DI 프레임 워크로 전환할 수도 있게 된다. 3. Immutability Constructor Injection에서는 필드는 final로 선언할 수 있다. 불변 객체가 가능한데 비해 Field Injection은 final는 선언할 수 없기 때문에 객체가 변경 가능..
1)DB => DBMS : 데이터 베이스 관리 시스템 (Database Management System) 데이터베이스를 관리 하는 미들웨어 => CRUD(Create, Read, Update, Delete)와 같은 기본 기능들과 트랜잭션 처리 등 많은 기능을 포함. - RDBMS 종류 : Oracle DataBase, MySql, Microsoft SQL Server, PostgreSQL NOSQL(Not Only SQL) 종류 : Redis, DynamoDB, MongoDB … => key - value 형태이다. => document 형태이다. 2)Infra - application을 가동시키기 위해서 필요한 하드웨어 OS, 미들웨어, 네트워크 등 시스템 기반을 말한다. - 기능적인 요구사항, 비기능..

1. pageable 2. db 날짜와 java 에서 query 만들때 날짜 형식 맞추기 3. style 중앙 정렬 3. page 수가 많으면 mongodb 에서 error 출력 문제는 mongodb가 32mb (33554432 bytes)를 사용 하고 있는데 page 하고 sort 할때 ram을 그것 보다 많이 사용해서 생긴 것 이다. 이를 해결하기 위해 사용하는 ram 크기를 100mb (1e+8) 로 변경 하였다. java 에서 해당 query 를 다음과 같이 실행 하도록 하였다.

참고 : https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/ Spring Data MongoDB - Reference Documentation As of version 3.6, MongoDB supports the concept of sessions. The use of sessions enables MongoDB’s Causal Consistency model, which guarantees running operations in an order that respects their causal relationships. Those are split into ServerSession instan docs.spring.io JPA..

1. 우선 mongoDB를 연결하 도록 하자. gradle dependency 에 mongoDB driver 추가 => implementation('org.springframework.boot:spring-boot-starter-data-mongodb') 여기서, com.mongodb.MongoSocketOpenException: Exception opening socket 이슈로 몽고 디비와 연결이 안되었다. 찾아보니 로컬머신에서 아예 몽고디비가 구동이 실패 하고 있었다. (어제는 잘 됬는데...?) mongod 실행시에 발생 하는 오류는 다음과 같았다. => exception in initAndListen: NonExistentPath: Data directory /data/db not found.,..

1) Thymeleaf 를 써서 Front 를 개발하려고 한다. 그런데 앞서 구성 했던 controller 코드에서 @RequestMappint 에 value 값과, return 값을 같이 같아서 아래와 같은 에러가 나왔고, 이를 수정하기 위해서 다음과 같이 변경 하였다. @RequestMapping(value = "/test") public String tmpl(Model model){ model.addAttribute("id", 1); model.addAttribute("name", "지용호"); model.addAttribute("nickname","지돌스타"); // model.addAttribute("photo", "images/test.jpg"); return "test1"; } 2) Spri..
1. ChartJS -> https://www.chartjs.org/ Chart.js | Open source HTML5 Charts for your website New in 2.0 New chart axis types Plot complex, sparse datasets on date time, logarithmic or even entirely custom scales with ease. www.chartjs.org -> Canvas 기반이다. 그리고 깃허브 별점이 많은 만큼, 이슈가 생겼을때 해결 할 수 있는 레퍼런스 정보들이 많다. 2. D3.js -> https://d3js.org/ D3.js - Data-Driven Documents D3 is a JavaScript library for v..

1. brew 설치 -> mac 환경에서 개발을 안하다 보니, brew 가 없었다... brew를 찾아서 java를 설치 했다. -> https://whitepaek.tistory.com/3 2. gradle 이슈 해결 -> maven 안 쓰고 gradle 쓴 이유 : https://bkim.tistory.com/13 -> Intellij jdk 버전이 10인데, gradle 은 1.8을 쓰고 있었다. -> java version이 달라서 빌드가 안되는 이슈가 있어서 openJdk 1.8 로 변경. 방법 : brew cask install adoptopenjdk brew tap AdoptOpenJDK/openjdk brew cask install adoptopenjdk8 brew cask install ..
- Total
- Today
- Yesterday
- data crawling
- 테스트 주도 개발
- nodejs
- 퀜트백
- TDD
- data mining
- 테스트
- 웹서비스
- 테스트주도개발
- 분산처리
- GateWayApi
- 켄트 백
- SpringBoot
- Python
- fastapi
- MSA
- mongodb
- EC2
- Python #FastAPI
- 웹개발
- AWS
- kafka
- MQ
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |