전체 글
-
[31] 스프링 시큐리티Spring/Spring boot 2020. 9. 10. 09:04
예제코드: github.com/camel-master/SpringSecurityExample.git 1. 스프링 시큐리티의 정의와 적용을 위한 기본 설정 스프링 시큐리티(Spring Security)란 스프링 시큐리티는 사용자의 필요에 따라 정의하여 사용할 수 있는 인증과 접근 제어를 위한 프레임워크로 인증과 권한 부여를 모두 제공하는데 초점을 맞추고 있습니다. 스프링 시큐리티의 강점은 사용자의 요구사항을 충족시키기 위한 확장성을 제공하는 것입니다. 스프링 부트에서 스프링 시큐리티를 사용의 예 루트 페이지와 hello 페이지는 누구나 접속할 수 있고 my 페이지는 로그인 처리가 되어야 접속할 수 있는 예제를 작성하여 어떻게 스프링 부트에서 스프링 시큐리티를 사용할 수 있는지 살펴보도록 하겠습니다. 먼저 ..
-
[30] 스프링 데이터: NoSQL - Neo4jSpring/Spring boot 2020. 9. 8. 08:58
Neo4j는 node 간의 연관관계(친구의 친구의 친구를 조회하는 등과 같은 작업)를 표현하는 데 있어서 풍부한 기능을 지원하는 graph DB입니다. spring boot에서 Neo4j를 사용하기 위한 의존성을 추가하기 위해 pom.xml에 다음의 내용을 추가합니다. ... org.springframework.boot spring-boot-starter-data-neo4j ... Neo4j는 하위 호환성이 떨어집니다. 과거 버전에서 지원되던 class가 없어진 것들이 많습니다. 기존에 Neo4j 구버전을 사용하던 중이였다면 버전 변경 시 발생할 수 있는 영향을 고려하여 변경해야 합니다. docker에서 Neo4j 컨테이너를 생성함과 동시에 실행해줍니다. docker run -p 7474:7474 -p ..
-
[29]스프링데이터: NoSQL - MongoDBSpring/Spring boot 2020. 9. 7. 10:11
MongoDB는 NoSQL의 일종으로 JSON 기반의 document database이기 때문에 schema가 없습니다. (성숙한 NoSQL은 클러스터를 만들기 쉽습니다.) Spring boot에서 MongoDB를 사용하기 위해서는 관련된 의존성을 추가해야 합니다. 의존성 추가를 위해 pom.xml에 다음 내용을 추가해 줍니다. ... org.springframework.boot spring-boot-starter-data-mongodb ... { Account account1 = new Account(); account1.setEmail("dave@gmail.com"); account1.setUsername("Dave Kim"); //1.MongoTemplate를 사용하여 data insert mong..
-
Docker 개념 정리ETC 2020. 9. 6. 16:03
Docker란 컨테이너 기반의 오픈소스 가상화 플랫폼. 프로그램 + 실행환경을 컨테이너로 추상화 하고 컨테이너 별로 동일한 인터페이스를 제공하여 쉽게 사용할 수 있도록 한다. 컨테이너는 PC, Cloud 어떤 환경에서도 실행 가능하다. Docker의 이미지 컨테이너 실행에 필요한 파일과 설정 값을 하나로 모아 놓은 것 이미지를 메모리에 올려 실행하면 컨테이너가 된다. 이미지는 Docker Hub에 등록하거나 직접 Docker Registry 저장소를 만들어서 관리할 수 있다. 컨테이너 관리 컨테이너 별로 레이어를 이루며 유니온 파일 시스템을 사용하여 여러개의 레이어를 묶어 하나의 파일 시스템으로 사용할 수 있다. (기존 레이어는 재사용 하고 없는 것만 다운로드 한다.) 컨테이너 생성시 각 이미지 레이어에..
-
[28] 스프링데이터: NoSQL - RedisSpring/Spring boot 2020. 9. 5. 08:29
REmote DIctionary Server는 속도가 빠른 오픈소스 in-memory key, value 데이터 구조 스토어입니다. REDIS를 사용하기 위해 spring boot project에 추가해야 할 의존성은 다음과 같습니다. ... org.springframework.boot spring-boot-starter-data-redis ... docker에 redis 이미지를 올립니다. (redis에서 사용하는 기본 port 번호는 6379입니다.) terminal에서 다음과 같은 docker 명령어를 입력하여 redis의 이미지를 docker에 올릴 수 있습니다. docker run -p 6379:6379 --name redis_boot -d redis 이제 redis를 실행하기 위해 termin..
-
Git 활용을 위한 정리Git & Github 2020. 8. 31. 08:15
1. 저장소(repository) 만들기 git init 현재 경로의 directory에 local 저장소를 추가하는 초기화 작업을 진행한다. 저장소 초기화가 완료되면 현재 경로 안에 .git directory가 생성된다. .git directory는 형상관리에 필요한 file들이 들어있으므로 삭제하면 안 된다. git clone [복제할 git의 URL 또는 SSH] 현재 directory를 복제할 git의 저장소로 만든다. git clone [복제할 git의 URL 또는 SSH] [복제본이 저장될 directory] 복제본이 저장될 directory를 복제할 git의 저장소로 만든다. 2. Version 만들기 2.1. version을 만들기에 앞서 local repository의 소유자 정보를 입력..
-
[27] Spring Data : Database Migration Tool (FlyWay)Spring/Spring boot 2020. 7. 21. 11:51
FlyWay는 DB schema 또는 data 변경에 대한 SQL script file을 version control처럼 관리할 수 있는 Database Migration Tool 중 하나입니다. 예제는 이전 포스팅에서 작성한 것을 이어서 사용하시면 됩니다. pom.xml file에 FlyWay를 사용하기 위한 의존성을 추가해 줍니다. ... ... org.flywaydb flyway-core ... ... 이전 예제 실행 때 생성된 relation을 모두 삭제해 주세요. (docker container를 삭제 후 새롭게 생성하여 실행하거나 drop table 해주시면 됩니다.) (참고) docker는 container가 사라지면 data도 같이 없어집니다. 따라서 localhost의 특정 directo..
-
[26] Spring Data : Initialization of DatabaseSpring/Spring boot 2020. 7. 17. 08:55
[JPA를 사용한 database 초기화] 예제는 이전 포스팅에서 작성한 것을 이어서 사용하시면 됩니다. JPA에는 DDL생성 기능이 있습니다. 우선 test code를 돌려서 어떤 DDL이 실행되는지 실행창을 통해 확인합니다. 기존에 users table이 있으면 drop하고 새롭게 users table을 생성하도록 되어있군요. 하지만 application을 실행해보면 test code 실행 때와 같은 DDL이 실행되지 않습니다. 실제로 terminal이나 DB관리 tool에서 table이 있는지 확인해보면 역시 어떤 테이블도 생성되지 않은 상태입니다. 그 이유는 test code 실행시에는 JPA에서 DDL을 생성하기 위한 property가 자동으로 제공되지만 application 실행 시에는 DDL..