본문 바로가기

서버개발스터디

(13)
#03 Spring Boot & MongoDB 연결 및 테스트작성 오늘은 저번시간에 만들어 놓은 Collection 과 Spring boot를 연결하고 테스트를 진행한다! Index Maven dependency 및 Property 추가 UserMongoDBRepository 인터페이스 및 User DTO 생성 Junit 테스트작성 Maven dependency 및 Property 추가 1. 아래처럼 pom.xml 에 dependency를 추가한다. (기존 프로젝트가 아니라면 Lombok도 추가) org.springframework.boot spring-boot-starter-data-mongodb org.projectlombok lombok true 2. property 추가 application.properties 파일에 아래처럼 MongoDB설정 정보를 넣는다. ..
# 02 Robo 3T 설치 및 collection 생성 Index Robo 3T 다운로드 및 설치 Database 생성 및 collection 생성 DB조회 및 데이터 추가 Robo 3T 다운로드 및 설치 1. 홈페이지 접속 > Robo 3T only 다운로드 2. 설치 ( 그냥 기본으로 설치하면 됩니다. 혹시 모르시겠으면 아래 링크로 ㄱㄱ) https://javacpro.tistory.com/65 [MongoDB] Robomongo 3T 설치 및 실행( Windows10 ) Robomongo 3T 설치 및 실행( Windows10 ) 이번에는 MongoDB 관리툴인 Robomongo 를 설치해보도록 하겠습니다. 기존의 Robomongo 이 Robo 3T 라는 새로운 이름으로 변경된것같습니다. 툴을 이용하면 기존의 커맨.. javacpro.tistory.co..
#01 MongoDB 설치 및 테스트 MongoDB와 Spring boot 이용해서 간단히 연결을 하고 MongoDB에 생성한 collection의 데이터를 출력 해보는 간단한 예제를 만들어 본다. Index MongoDB 설치 및 환경변수 설정 MongoDB 서버 올리기 MongoDB 설치 및 환경변수 설정 1. MongoDB에 접속 후 Software > Community Server 를 클릭한다. 2. Window 버전으로 다운로드 3. 다음은 기본 설정으로 계속 설치 ( 혹시 설치 경로를 기본으로 하지않고 다른곳에 하시는 분은 추후 MongoDB 실행시 경로를 --dbpath 로 경로를 주면되기 때문에 경로는 크게 상관이 없다. ) 참고로 나는 D:\MongoDB\ 에 설치를 했다. 4. 환경변수 셋팅 ( 실제 설치한 경로에서 bin..
#03 Spring boot & Kafka 연동하기 이번 실습에서는 1주차에 간단히 JPA를 사용한 Spring boot 프로젝트에 Kafka를 연결하고 Producer 로 Kafka 서버의 Topic에 메세지를 보내고 Comsumer 설정으로 특정 Topic을 구독하고 있다가 Topic에 메세지가 들어오면 받아서 콘솔에 출력 하도록 해보자! Index Producer & Consumer 설정을 위한 class 작성 application.properties 에 property 작성 Controller 작성 & 테스트 수행 Producer & Consumer 설정을 위한 class 작성 KafkaConfiguration.java (목적 : kafkaTemplate 클래스를 Bean 으로 등록하기 위한 class) package com.example.stud..
#02 Kafka 설치 & Zookeeper 실행 ( window 10 ) 들어가기 전 Kafka를 대부분 docker에 설치해서 사용을 한다고 하는데 이번 포스팅과 실습은 windows10 에 직접 설치하고 command를 이용해서 Producer & Consumer 테스트를 할 예정이다. 본 포스팅은 서버스터디 장 승민님이 작성한 글을 바탕으로 테스트 후 작성했다. https://manglog.tistory.com/89 [20210516] Windows에 Kafka 설치하기 Kafka는 Docker에 설치하거나 Windows에 바로 설치할 수 있다. Docker에 설치하려면 Docker도 설치가 되어 있어야 하고, Docker는 윈도우pro 버전 이상, Mac os에서 사용가능하다. 현재는 Mac을 사용할 수 없는 manglog.tistory.com Index Kafka 다..
#01 Kafka / Zookeeper 알아보기 Kafka 란 ? 하루에 1조4천억 건의 메시지를 처리하기 위해 LinkedIn이 개발한 내부 시스템으로 시작했으나, 현재 이는 다양한 기업의 요구사항을 지원하는 애플리케이션을 갖춘 오픈소스 데이터 스트리밍 솔루션이 되었다. Kafka는 실시간으로 기록 스트림을 게시, 구독, 저장 및 처리할 수 있는 분산 데이터 스트리밍 플랫폼이다. 이는 여러 소스에서 데이터 스트림을 처리하고 여러 사용자에게 전달하도록 설계되었고 간단히 말해, A지점에서 B지점까지 이동하는 것뿐만 아니라 A지점에서 Z지점을 비롯해 필요한 모든 곳에서 대규모 데이터를 동시에 이동할 수 있다고 한다. 탄생배경 실시간 트랜잭션(OLTP) 처리와 비동기 처리가 동시에 이루어지는 시스템에서 통합된 전송영역 부재로 인한 시스템 복잡도 증대. 시스..
#03 JPA의 등장 EJB2로 개발을 하던 Gavin king은 사용자 친화적이지 않고 무거웠으며 테스트도 어려웠던 개발 방식에서 벗어나 자바 애플리케이션을 편하게 만들고 싶어서 만들었는데 그 이름이 Hibernate 였다.그리고 Hibernate의 인기가 치솟아 오르자 Java 진영에서 Gavin king을 불렀고 이렇게 JPA 가 탄생하게 된다. JPA (Java Persistent API) 란 자바 ORM 기술에 대한 표준 명세를 의미한다. 또한 JPA는 ORM을 사용하기 위한 인터페이스를 모아둔 것이며, 이를 구현한 Framework인 Hibernate, EclipseLink, DataNucleus 가 있고 Spring 에서는 대부분 Hibernate를 사용하는 것 같다. Spring에서 JPA를 사용할 때는 이 구..
#02 ORM 이란? 내가 조금 오해했던 부분은 ORM관련 기술이 최근에 나온게 아니라는 사실이다. 또한 자바 에서만 사용하는 것도 아니고 C#, Ruby 등 다른 객체지향 언어 에서도 사용하고 있다. 이처럼 객체지향 언어와 관계형 DB와의 연결을 개발자가 모두 관여해서 한땀한땀 SQL 문을 작성했고 이러다 보니 비지니스 로직이 DB쪽으로 많이 넘어가고 SQL문이 변경되면 서버의 로직도 당연히 그에 따라서 변경이 되는게 현실이고 사실 내가 사용하고 있는 시스템도 그에 해당된다. 또한 테이블의 변경에 대한 여러 SQL문을 하나하나 확인하고 변경된 컬럼을 넣어준다... 그리고 끝?? 이 아니라 애플리케이션 쪽의 로직도 당연히 손봐야 한다... 객체지향은 우리가 잘 알듯이 SOLID를 잘 지쳐야 된다고 하는데 지금 이야기 한것 만..