Redis에 대한 기초 개념부터 심화 내용(여러 서버 클러스터링)까지 정리해보려 한다. 아래의 내용을 참고하면, 원하는 구현까지는 어렵지 않게 가능하다고 본다. 추가로 spring에서의 연결도 진행해 보자. 노파심에 서두에 적는다. 타 블로그를 보면 레디스 버전 3에 대한 이야기가 많다. 그러나 3 설치하지말고 최신 버전을 설치하자. 관련 내용은 아래에 설치 부분을 참고하자. Redis ( Remote Dictionary Server ) 오픈소스로 key-value 기반의 인-메모리 데이터 저장소이다. 따라서 key-value 기반이라 쿼리를 날릴 필요 없이 결과를 바로 가져올 수 있고 디스크에 데이터를 쓰는 구조가 아니라 메모리에서 데이터를 처리하기 때문에 속도가 매우 빠르다. (DB를 조회하는 것보다..
적용을 해보면서 object mapper에 대해 알아보자. 우선 프로젝트를 만들자. 위와 같이 프로젝트를 만들면 아래와 같이 gradle로 프로젝트가 만들어진다. 그리고 build.gradle을 보면 dependency라는 것이 있다. 보통 자바 프로젝트에서는 directory로 폴더를 하나 만들어서 lib이라 이름을 짓고 그 안에 라이브러리를 추가해 준다. 그러나 gradle이나 maven 프로젝트를 그럴 필요 없이 dependency만 추가해 주면된다. 이러한 것들은 아래와 사이트에서 가져오게 된다. 구글에 maven repository 라고 쳐보자. https://mvnrepository.com/ 이러한 사이트에서 maven 프로젝트를 검색할 수 있다. spring boot, object mappe..
프로젝트를 시작하고 잘 작동을 하는지 test를 하는 방법에 대해 알아보자. 나는 JPA를 사용할 예정이라 아래와 같이 테스트를 만들었다. Dependencies는 Lombok, Spring Web, Spring Data JPA을 선택한다. 그리고 테스트 데이터베이스를 사용하기 위해 H2 Database도 추가로 선택해 준다. finish를 누르자. 프로젝트가 생성 후에 build.gradle을 확인하여 의존성부터 확인하자. dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' // 우리가 사용할 것 implementation 'org.springframework.boot:spring-boot-starte..
object mapper란 텍스트 형태의 JSON을 object로 변경해 주거나 object를 텍스트 형태의 JSON으로 변경해 주는 것을 의미한다. 예를 들면 컨트롤러에 요청이 오면 JSON을 object로 변경을 했고, 응답으로 보내면 자동으로 object를 json으로 변경했다. 컨트롤러를 사용하지 않고 직접 object를 활용하여 사용하는 방법을 알아보자. 아래와 같이 자유롭게 프로젝트를 만들고 Dependencies는 Spring web을 설정한다. 코드는 main에 작성하지 않고 test에 작성하여 간략하게 알아보자. 아래와 같이 잘 적성하나 간단한 문장을 프린터 해보자. 실행을 시켜보면, Test 부분에 아래와 같이 뜨는 것을 확인 할 수 있다. object mapper를 생성하자. 그래서 ..
OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release. spring boot 깃헙 파일을 받았다. 그리고 시작을 했는데 아래와 같은 에러가 떴다. OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release. 라는 오류가 발생했다. 어떻게 해결할지 적어보겠다. https://jhnyang.tistory.com/22..
API에 관련된 POST, GET, PUT, DELETE 등이 있다. 이때 응답을 하는 방식에 대해 알아보자. 기본적으로는 요청을 받아야 응답을 줄수있다. 프로젝트 생성 > dependencies는 sping web으로 하자.(Gradle, java11, jar) 기본적으로는 요청을 받아야 응답을 줄수있다.따라서 기본적으로 controller라는 이름으로 패키지를 만들어주고, 그 안에 ApiController라는 class를 넣어준다. 그리고 @RestController와 @RequestMapping을 추가해주고 우선은 문자열을 받아서 확인하는 코드를 작성해보자. 방법1_text를 리턴하기 위와 같이 적어준다. 그리고 api를 아래와 같이 보내면 결과가 뜨는 것을 확인 할 수 있다. 위의 방식과 같이 t..
개념 리소스의 갱신과 생성을 나타내며, 리소스가 없으면 생성을 하고 있으면 업데이트를 하여 변경해 준다. 처음에는 데이터가 생성이 되고 그 후 부터는 업데이트 되므로 하나의 데이터기때문에 멱등하다고 할 수 있다. 그리고 잘못된 데이터가 전송되더라도 업데이트를 시키므로 안정성이 있다고는 할 수 없다. PathVariable로 get과 동일하게 코드가 가능하다. Body로 데이터 전송이 가능하기 때문에 Query Parameter는 가지지 않는 것이 권장 된다. 프로젝트 생성_PUT 받기 > Dependencies는 spring web으로 만들면 된다. 그리고 PutApiController라는 클래스를 아래와 같이 만들어준다. 아래와 같이 dto 패키지를 만들고, CarDto class를 우선 만들어 준다...
POST 방식은 CRUD에서 CREATE 부분을 담당한다. 요청할 때마다 매번 생성되기 때문에 명등성과 안정성이 없다. Path Variable을 가능하지만, DataBody를 통해 데이터를 넣고 생성되어 있는 데이터를 사용하기 때문에 굳이 Query Parameter를 사용하지 않는다. 데이터는 XML이나 JSON으로 주로 주고 받는다. 현재 현업에서는 대부분 JSON으로 데이터를 주고 받는다. 중요한 것부터 적어보겠다. 1. 반드시 가장 바깥쪽은 { } 괄호로 시작한다. 2. 모든 값은 "key" : "value" 와 같은 형식으로 키 벨류 형식으로 이루어져 있다. 3. JSON의 데이터는 string, number, boolean, object, array 형태가 value값에 들어갈 수 있다. 문..
- Total
- Today
- Yesterday
- useHistory 안됨
- DFS
- Queue
- login
- 클라우데라
- react autoFocus
- Vue
- pandas
- NextJS
- mongoDB
- TensorFlow
- Python
- UserCreationForm
- django
- JavaScript
- error:0308010C:digital envelope routines::unsupported
- 자료구조
- typescript
- vuejs
- nextjs autoFocus
- react
- BFS
- 자연어처리
- Express
- logout
- read_csv
- useState
- Deque
- next.config.js
- nodejs
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |