일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SrpingBoot
- 소프트웨어 개발과 테스트
- codepreosso
- 몽고DB
- AWS Route53
- SpringProject
- AWS NAT
- Loard Balancer
- AWS CloudTrail
- JPA연관관계
- MongoDB DataModel
- 레디스설치
- ubuntu 배포
- Datamodel
- AWS
- AWS 요금
- AWS #CloudTrail #AWS로그
- 스프링 게시판
- EC2 생성
- MongoDB
- codepresso
- AWS VPC
- EC2 배포
- Amazon Web Service
- AWS NAT gateway
- VPC EC2
- 코드프레소
- MongoDB 참조
- MongoDB Reference
- aws ec2
- Today
- Total
목록DevOps (16)
정환타 개발노트
거버넌스 모델 거버넌스(Governance)란 개발 조직의 구조나 프로세스를 정의한 것으로, 일반적으로 중앙 집중 성향을 가진 조직에서 표준 프로세스와 가이드를 이용하여 전체 팀을 운용하는 모델로 사용된다. 이때 위의 모델을 중앙 집중형 거버넌스 모델이라고 하며, 같은 프로세스를 공유하기에 유지보수가 쉬우며 팀원들의 교체가 편리하다는 장점이 있다. 하지만, 현대의 개발시에는 많은 오픈소스들이 발달 되었고, 선택할 기술들이 많아졌으며, 요구 사항에 맞추어 효율성 측면을 고려한다면 각각 경우에 맞추어 최적화된 기술을 사용하는 것이 좋을 수 있다. 이 경우에는 중항 집중형 거버넌스 모델에서는 하나를 적용하기 위해서는 모든 개발팀을 교육하고 운영 준비를 맞추어 해야하기 때문에 효율성이 떨어지게 된다. 분산형 거..
Git Git은 분산 형상 관리 시스템으로 협업시에 주로 사용되는 버전 관리 시스템인 VCS 중 하나이다. Git은 기존의 VCS에 비해 설치가 간단하고 빠른 속도를 자랑한다. 또한 브랜치 병합이 '매우' 빠르며 사용법도 상당히 간단하다. 특히 병합과정에서 에서는 추적의 기능도 제공하기에 누가, 언제, 무엇을 어떤 부분을 병합했는지 쉽게 확인할 수 있다. 따라서 오픈소스와 같은 대규모 개발 진행환경에서 매우 유용하다고 한다. Git의 기본 사용법은 다음과 같다. 저장소 생성(init & clone) init는 새롭게 저장소를 만드는 명령어다. init을 활용하여 새로운 Git 저장소를 생성할 수 있다. 원격에 있는 서버의 저장소를 복제해서 로컬에 가져오려면 다음과 같은 명령어를 사용한다. git clon..
소스 코드 관리 소프트웨어 개발시에 중요한 소스코드 관리 소스코드 관리란 협업을 위해서 소스코드를 저장하고 버전과 변경을 관리하는 것을 말하며, 소스코드 관리시스템을 이용하여 소스코드를 관리한다. 소스코드 관리시스템을 VCS(Version Control System) 혹은 SCM(Source Code Management)라고 한다. 소스코드 관리 시스템의 기능은 다음과 같다. 협업을 위한 코드 공유 접근 제한 다양한 버전(형상) 관리 특정 시점 추적 변경 추적 브랜치 소스 코드 관리에서 브랜치의 개념 이해가 먼저 필요하다. 보통 소프트웨어 개발시에 하나의 저장소에 소스코드를 저장하여 개발하고, 개발자 간의 공유를 통해 협업을 진행한다. 개발 진행시에 특정 목적 혹은 별도의 작업에 의해서 기존 개발 소스의..
소프트웨어 테스트 소프트웨어를 개발한다는 것은 프로그램 언어와 개발환경만 갖추어져 있다면 누구나 가능하다. 하지만 개발을 할 수 있는가 없는 가의 문제가 아닌, 개발된 소프트웨어가 제대로 된 기능을 하는가에 집중해야 한다. 예를들어 얼마나 제대로 작동을 하는지, 성능은 만족할 만 한지, 안정성과 확장성이 충분한지 이다. 따라서 위의 판단은 테스트를 통해서 검증을 할 수 있는데 기존의 전통적인 테스트 방식은 소프트웨어 개발이 종료된 후 출시 전에 테스팅을 하는 방식을 사용하였다. 하지만 문제점은 초기에 발견하여 해결 하는 것이 더 비용절감이 되고 효율적이기에 최근에는 개발 단계별로 테스트하는 방식을 사용하여 개발시에도 품질을 다듬어가는 개발 모델을 선호하고 있다. 테스트 모델 V-모델 V-모델은 폭포수 모..
이번에는 CI 환경을 구성하려한다. CI란 코드 버전 관리 시스템에 Push가 되면 자동으로 Test, Build과정을 거쳐 Build 결과까지 서버에 자동배포하는 과정을 말한다. 여기서 가장 중요한 것은 Test 과정까지 자동화하는 것인데 지속적인 통합관리를 위해서는 테스트 코드가 구현되어 있어야한다. 그래서 CI 도구로 Jenkins를 사용하려고 한다. Jenkins Jenkins는 CI툴 중 하나이다. Jenkins를 이용해서 Build 자동화나 자동화된 테스트과정을 모두 할 수 있기에 이번에는 Jenkins를 사용하도록 하겠다. EC2에 Jenkins 설치 먼저 Jenkins를 사용할 서버가 필요한데 이번에는 EC2 인스턴스를 이용해서 Jenkins를 서버에 올리도록 하겠다. 먼저 EC2 인스턴스..
조대협 구글에 필요 자료를 구글링을 하다보면 가장 많이 보이는 이름이 '조대협'이다. 조대협이라는 분은 빅데이터부터 시작해서 클라우드, 아키텍처, 성능과 튜닝, 솔루션 등 많은 분야에 걸쳐 많은 글을 작성하셨다. 원래는 자바 개발자이지만 끊임 없이 공부를 하시는 모습에 놀라고는 했다. 따라서 이번에는 조대협님의 '소프트웨어 개발과 테스트'라는 책을 읽으며 정리한 내용을 블로그에 작성하려고 한다. 소프트웨어 개발과 테스트 책은 2015년에 출판되었지만 개인적으로는 지금봐도 개발자가 보기에 좋은 내용이 많다고 생각한다. 구성은 애자일 개발 방법론, 태스크 관리, JIRA, 소프트웨어 테스트, 소스코드 관리와 빌드, 배포 등의 내용이 있다. 조대협님 처럼 열정을 태워서 열심히 해보려 한다! 이상 무!