일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- EC2 생성
- MongoDB DataModel
- MongoDB 참조
- SrpingBoot
- MongoDB Reference
- Loard Balancer
- AWS 요금
- AWS
- 몽고DB
- codepresso
- SpringProject
- ubuntu 배포
- AWS NAT
- AWS VPC
- 레디스설치
- EC2 배포
- MongoDB
- Datamodel
- Amazon Web Service
- 스프링 게시판
- AWS CloudTrail
- codepreosso
- 코드프레소
- AWS Route53
- JPA연관관계
- AWS NAT gateway
- 소프트웨어 개발과 테스트
- VPC EC2
- AWS #CloudTrail #AWS로그
- aws ec2
- Today
- Total
목록전체 글 (39)
정환타 개발노트
Bulk Write MongoDB는 단일 컬렉션(Collection)에 대하여 대량 쓰기, 업데이트, 제거 작업을 bulkWrite를 통해 할 수 있다. Bulk Write는 Ordered 와 Unordered 두가지가 존재한다. Ordered 방식은 작업을 순차적으로 실행하는데, 만약 쓰기 작업을 하는 도중 오류가 발생하면 나머지 쓰기 작업을 처리하지 않고 작업을 끝낸다. Unordered 방식은 쓰기 작업 중 하나가 오류가 발생하더라도 나머지 작업을 계속 실행한다. - Ordered 방식은 이전 작업을 완료할 때 까지 다음 작업을 처리하지 않기 때문에 처리 속도가 느리다. (기본적으로 MongoDB는 ordered 방식을 사용) bulkWrite()는 다음과 같은 작업을 지원한다. insertOne ..
MongoDB mongodb에서 CRUD(Create, Read, Update, Delete)를 하는 방법에 대해 알아보려고 한다. 먼저, MongoDB의 설치는 하단의 링크를 참조하면 된다. https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/ MongoDB는 NoSQL이지만, 다른 RDBMS와 같이 CRUD를 제공하는데, 하나씩 살펴보겠다. (글쓰는 시점 기준으로 가장 최신버전인 4.2를 기준으로 작성하였습니다.) Create Operations(Insert) Create는 새로운 documents를 collection에 생성하거나 추가하는 동작이다. MongoDB의 create는 insert를 통해서 이루어지는데, 만약 collecti..
Git Git은 분산 형상 관리 시스템으로 협업시에 주로 사용되는 버전 관리 시스템인 VCS 중 하나이다. Git은 기존의 VCS에 비해 설치가 간단하고 빠른 속도를 자랑한다. 또한 브랜치 병합이 '매우' 빠르며 사용법도 상당히 간단하다. 특히 병합과정에서 에서는 추적의 기능도 제공하기에 누가, 언제, 무엇을 어떤 부분을 병합했는지 쉽게 확인할 수 있다. 따라서 오픈소스와 같은 대규모 개발 진행환경에서 매우 유용하다고 한다. Git의 기본 사용법은 다음과 같다. 저장소 생성(init & clone) init는 새롭게 저장소를 만드는 명령어다. init을 활용하여 새로운 Git 저장소를 생성할 수 있다. 원격에 있는 서버의 저장소를 복제해서 로컬에 가져오려면 다음과 같은 명령어를 사용한다. git clon..
소스 코드 관리 소프트웨어 개발시에 중요한 소스코드 관리 소스코드 관리란 협업을 위해서 소스코드를 저장하고 버전과 변경을 관리하는 것을 말하며, 소스코드 관리시스템을 이용하여 소스코드를 관리한다. 소스코드 관리시스템을 VCS(Version Control System) 혹은 SCM(Source Code Management)라고 한다. 소스코드 관리 시스템의 기능은 다음과 같다. 협업을 위한 코드 공유 접근 제한 다양한 버전(형상) 관리 특정 시점 추적 변경 추적 브랜치 소스 코드 관리에서 브랜치의 개념 이해가 먼저 필요하다. 보통 소프트웨어 개발시에 하나의 저장소에 소스코드를 저장하여 개발하고, 개발자 간의 공유를 통해 협업을 진행한다. 개발 진행시에 특정 목적 혹은 별도의 작업에 의해서 기존 개발 소스의..
Spring Boot + Redis 이번에는 기존의 Spring boot 프로젝트에 Redis를 추가하려 한다. 의존성 추가 먼저 pom.xml에 다음과 같이 dependency를 추가해준다. org.springframework.boot spring-boot-starter-data-redis 2.2.1.RELEASE Redis 서버 설정 application,properties 파일에 다음과 같이 redis 설정값을 추가해준다. + 만약 로컬이 아닌 외부 서버에서 사용한다면 host에 localhost 대신 ip를 입력해주면 된다. 필자는 ec2 ubuntu 서버를 이용하여 redis 서버로 사용하였다. 2020/01/29 - [Dev-Database/NoSQL] - Redis 설치 (Ubuntu 환경)..
Redis 설치 레디스를 우분투 서버에 설치를 하려한다. EC2에 우분투 인스턴스를 하나 만들어서 레디스 서버로 활용을 하려고 하는데, 서버 환경을 변경할 수 있으니 기록하는 습관이 익숙해지도록 작성을 해보겠다. 1. SSH로 접속후 apt update sudo apt-get update sudo apt-get upgrade 2. apt를 이용하여 redis 설치 sudo apt-get install -y redis-server 3. Redis 메모리 할당. 1. vmstat를 이용하여 서버의 메모리 확인 vmstat -s 필자는 사용가능 메모리가 1GB이다. 따라서 각자의 메모리 환경에 맞게 redis설정 파일에서 maxmemory를 지정한다. sudo vim /etc/redis/redis.conf v..
소프트웨어 테스트 소프트웨어를 개발한다는 것은 프로그램 언어와 개발환경만 갖추어져 있다면 누구나 가능하다. 하지만 개발을 할 수 있는가 없는 가의 문제가 아닌, 개발된 소프트웨어가 제대로 된 기능을 하는가에 집중해야 한다. 예를들어 얼마나 제대로 작동을 하는지, 성능은 만족할 만 한지, 안정성과 확장성이 충분한지 이다. 따라서 위의 판단은 테스트를 통해서 검증을 할 수 있는데 기존의 전통적인 테스트 방식은 소프트웨어 개발이 종료된 후 출시 전에 테스팅을 하는 방식을 사용하였다. 하지만 문제점은 초기에 발견하여 해결 하는 것이 더 비용절감이 되고 효율적이기에 최근에는 개발 단계별로 테스트하는 방식을 사용하여 개발시에도 품질을 다듬어가는 개발 모델을 선호하고 있다. 테스트 모델 V-모델 V-모델은 폭포수 모..
이번에는 CI 환경을 구성하려한다. CI란 코드 버전 관리 시스템에 Push가 되면 자동으로 Test, Build과정을 거쳐 Build 결과까지 서버에 자동배포하는 과정을 말한다. 여기서 가장 중요한 것은 Test 과정까지 자동화하는 것인데 지속적인 통합관리를 위해서는 테스트 코드가 구현되어 있어야한다. 그래서 CI 도구로 Jenkins를 사용하려고 한다. Jenkins Jenkins는 CI툴 중 하나이다. Jenkins를 이용해서 Build 자동화나 자동화된 테스트과정을 모두 할 수 있기에 이번에는 Jenkins를 사용하도록 하겠다. EC2에 Jenkins 설치 먼저 Jenkins를 사용할 서버가 필요한데 이번에는 EC2 인스턴스를 이용해서 Jenkins를 서버에 올리도록 하겠다. 먼저 EC2 인스턴스..