웹서비스를 하나 만들려고 한다. 오픈소스, 무료 서비스만 이용하고 서버운영시 과금없는 서비스를 우선 목표로 했다. 학원 운영자가 사용할 회원관리/일정관리/수납관리 기능을 가진 웹사이트 java 가 그나마 익숙해서, spring boot 로 웹서비스 개발. bootstrap 사용하여 최소한의 디자인만 할 예정. 반응형 웹사이트로 개발. mongo altas 이용하여 DB구성 Heroku 클라우드 서비스를 이용하여 app 배포 및 웹사이트 관리 github priavte 레파지토리로 형상관리. 브랜치 전략으로 staging 서버도 구축. spring boot - the world's most popular Java framework. spring boot 로 웹서비스 기반을 우선 만들어보기로 했다. java..
spring boot 를 가지고 웹사이트를 개발해보려 한다. 오랜만에 java 환경을 경험하려 하니, 시행착오가 너무 많다. mac환경에서 docker 이미지를 가지고 로컬 개발환경을 셋팅해본다. OpenJDK 설치 아래 사이트로 가서 다운받고 로컬pc에 OpenJDK 설치를 한다. docker로 환경을 만들더라도 본 로컬환경에 설치는 필요하다. 여기서는 11 버전으로 설치했다. Home Eclipse Adoptium provides prebuilt OpenJDK binaries from a fully open source set of build scripts and infrastructure. Supported platforms include Linux, macOS, Windows, ARM, Solar..
스프링 프레임워크를 사용해서 개발하다가 빈(Bean)들의 ID값(String)을 가지고 ApplicationContext 객체로 부터 동적으로 객체를 얻고 싶었다. 하지만 ApplicationContext 객체를 어디서 얻어야 할지 고민이 들었다. String configLocation = "META-INF/spring/app-context.xml"; ApplicationContext context = new ClassPathXmlApplicationContext(configLocation); 이 때 생성한 ApplicationContext 객체를 클래스 인자값으로 건네건네 받아야만 하나..? 아무리봐도 이건 아니었다. 그렇게 무식한 프레임워크였으면 사용하지도 않았을 것이다. 어딘가 어노테이션을 이용하던..
CrudRepository 혹은 PagingAndSortingRepository 인터페이스를 사용하면 MongoDB 의 Collection 을 다룰 모든 메소드가 제공되는 것이나 다름없다. 그렇다면 deleteAll() 같은 무자비한 메소드도 모든 개발자가 아무데서나 제약없이 사용 가능하다는 이야기 이다. 이런 메소드들을 선택적으로 제한하여 개발자에게 제공하고 싶다면 어떻게 할까. 사용자정의 Repository 인터페이스를 만들면 된다. 방법은 간단하다. CrudRepository 또는 PagingAndSortingRepository 인터페이스에 정의되있는 메소드들 중에 원하는 것만 copy 해서 따로 인터페이스를 만들면 된다. T save(T entity); Iterable save(Iterable
이전 포스팅에서 설명한 Repository 인터페이스중에 PagingAndSortingRepository 를 이용해서 MongoDB 데이터에 접근해보자. PagingAndSortingRepository 는 CrudRepository 인터페이스를 상속받기 때문에 기본적인 CRUD 메소드를 가지고 있으며, 추가적으로 페이징 처리에 필요한 메소드를 가지고 있어서 아마도 자주 쓰게 될 Repository 인터페이스가 아닐까 싶다. Domain Class com.springdata.domain 패키지를 하나 추가하고, 그 안에 도메인 클래스를 하나 만든다. package com.springdata.domain; import org.springframework.data.annotation.Id; public cla..
Repository Spring Data MongoDB - Reference Documentation 을 읽어보면 알겠지만 상당부분을 Repository 라는 개념을 설명하고 있음을 알 수 있다. 우선 repository 라는 개념을 정확히 설명하기에 좀 애매한데.. 특정 collection(일반적인 RDBMS에서의 Table 개념)에만 사용할 쿼리들을 정의해두는 곳이라고 생각하면 단순하지 않을까 한다. 이 Repository 인터페이스를 만든 궁극적인 목적은 다양한 저장소들을 위한 데이터접근계층(Data Access Layer)을 구현하는 노력을 줄이는데 있다. 이 인터페이스가 어떤일을 하길래 우리가 매번 DB와 매핑작업하는 성가신작업을 줄여주는 것일까. 바로 Query methods 가 그 요점이다...
Introduction to MongoTemplate MongoTemplate 클래스는 Spring Data MongoDB 에서의 핵심 클래스이며, MongoDB를 잘 사용할 수 있게 풍부한 기능들을 지원을 하고 있다. 물론 이걸 안쓰고, MongoDB java 드라이버를 직접 사용해서 데이터를 다뤄도 전혀 문제는 없다. 하지만, Spring Data 에서 Data Access Layer 구축하기 편하도록 직접 만든 클래스이기 때문에 한번 써보는게 어떨까. 일단 객체를 XML 설정파일에 등록해놓으면 MongoTemplate 클래스는 Thread-Safe 이므로, 여러객체 사이에서도 문제없이 재사용이 가능하다. MongoTemplate 클래스의 주된기능은 MongoDB의 document 들을 등록ㆍ수정ㆍ삭..
- Total
- Today
- Yesterday
- vagrant
- ggplot2
- SVN
- 막대그래프
- Google Chart Tools
- ipTIME
- 이클립스
- java
- ktm모바일
- 알뜰요금제
- python
- 셀프개통
- 맥북
- 도넛차트
- ggplot
- MyBatis
- 자급제폰
- heroku
- MySQL
- docker
- github
- javascript
- Oracle
- ubuntu
- Spring
- R
- 마인크래프트
- eclipse
- MongoDB
- 아이맥
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |