스프링개발자
-
9. Merged된 PR을 되돌리자 - Github스프링개발자/201 - 일반 2020. 7. 18. 05:53
[배경] VCS를 사용하면서 남들의 review를 기다리고 있는 PR을 실수로 merge할 수 있다. (오늘 일어났다) 보통은 closed PR 섹션에 들어가면 `revert branch` 라는 버튼이 있으나, 없는 경우도 있다 git commands로 되돌리는 방법이 귀찮긴하지만, 가장 확실한 방법이니 여기서 연습하자 1. 되돌릴 branch와 commit을 생성 git branch test-revert git checkout test-revert 파일을 변경한다 git add . git commit -m "commit to be reverted" git push 2. PR을 만들고 merge를 한다 이 Push Request는 Commit이 두개인걸 확인할 수 있다. 실수로 master 브렌치에 me..
-
8. 젠킨스와 Git repo를 연결해보자 - 완성중스프링개발자/201 - 일반 2020. 7. 16. 12:56
[배경] 젠킨스와 Git repo를 연결한다는게 무슨뜻일까? 보통 내 컴퓨터에 있는 소스코드를, 내 컴퓨터에서 빌드하고 테스트를 하고 jar파일을 만들어서 남에게 배포할 수 있다. 클라우드 시대인 요즘은 위의 같은 절차들을 다른 방식으로 한다. Git repo에 있는 소스코드를, 젠킨스 서버에 있는 slave가 job의 형태로 직접 빌드하고 테스트하고, 원하는 클라우드 플랫폼에 배포까지 할 수 있다. 젠킨스와 Git repo를 연동하는걸 연습해보자. 1. 젠킨스에 Job생성하기 Freestyle-project를 생성했다 젠킨스의 주요 기능을 모아놓은 옵션. 프로젝트를 빌드하고, git등의 scm과도 연동할 수 있으며, 소프트웨어 빌드 이외에도 범용적인 목적으로 쓰인다. 2. 생성된 Job을 설정하기(co..
-
7. 프로젝트 관리 툴 (Jira, Rally, Asana)스프링개발자/201 - 일반 2020. 7. 16. 11:03
[배경] 팀원들끼리 일을 분배하고, 진행사항을 서로 확인할 필요가 있다. Agile방식의 팀에서는, 매일 아침에 standup 미팅을 통해서 자신이 그 전날에 했던 일들, 얼마나 진행되었는지를 공유하고 뿐만 아니라, 다른 팀원들에게 질문도 하고, 도움을 요청하는 시간을 갖는다. 이와 비슷한 이유로 프로젝트 관리 툴이 Agile에서는 참 중요하다. Jira, Rally 등등 좋은 프로그램이 많이 있는데, 다들 추구하는 바는 비슷하다; 여기에서는 Asana(무료버전)을 통해서 프로젝트 관리 툴에 대해 알아본다. 1. Dashboard 프로젝트의 모든 진행과정을 한 눈에 볼 수 있는 데쉬보드 해야 할일들(New Requests) 진행중인 일들(In Progress) 완료 된 일들(Completed) 2. Ta..
-
6. 젠킨스 설치하고 CI 연습을 해보자스프링개발자/201 - 일반 2020. 7. 16. 08:45
[배경] CI/CD과정을 최소화해보자. 젠킨스를 로컬에서 구현하고 여러가지 연습해보자; CI/CD에 대해 구글에 검색해보면 다음 결과가 나온다; CI/CD bridges the gaps between development and operation activities and teams by enforcing automation in building, testing and deployment of applications. 어플리케이션의 빌드, 테스트 및 배포 과정을 자동화 시켜준단 뜻이다. DevOps Engineer만 하는줄 알았는데, 소프트웨어 개발자라면 꼭 알아야 한다. 1. 도커를 통해 젠킨스 이미지 다운로드 로컬에 도커가 설치 되어 있다고 가정하고, 다음의 링크를 참고해서 젠킨스를 설치하자 http..
-
5. RestTemplate 호출을 해보자스프링개발자/201 - 일반 2020. 7. 16. 06:42
[요약] 내 어플리케이션이 다른 어플리케이션을 호출해야 할 때가 있다. 가장 기본적인 호출방법인 RestTemplate을 구현해보자. 1. 다른 어플리케이션을 하나 만들자 이전과 마찬가지로 Spring Initializr를 이용한다. Web dependency 정도만 추가했다. 이름은 데모 어플리케이션. 또한 서버포트를 다르게 설정해준다; server.port=8000 로컬환경에서는 호스트가 localhost라서 여러개의 어플을 띄울경우, 포트번호를 달리 해야한다. 클라우드 환경에서는 어플리케이션마다 고유한 주소가 부여되므로, 포트번호를 따로 설정하지 않아도 괜찮다. 새로 만든 어플리케이션에서 컨트롤러 하나를 만들고, 어플리케이션을 실행해서 포트8000번에 올려보자 2. 메인 어플리케이션에서 restTe..
-
4. Github repo를 만들자스프링개발자/201 - 일반 2020. 7. 16. 06:17
[요약] VCS은 필수이다. 파일하나에 filename_v1, filename_v2 등등의 이름을 붙인 적이 있을것이다. VCS를 이용하면 파일의 모든 히스토리를 추적할 수 있고, 다른 사람과의 협업에도 유리하다. Github private repo를 만들어보자 1. Private repo 만들기 git init git config --global user.email "git이메일주소" git config --global user.name "git이름(별명)" git remote add origin "깃주소" (git remote set-url origin new_url) to edit git add . git commit -m "Initial commmit" git push origin master 이..
-
3. 데이터베이스 만들고 PCF 어플리케이션과 연동하자스프링개발자/201 - 일반 2020. 7. 15. 06:03
[요약] 어플리케이션이 비지니스 로직을 담당하는 곳이라면, 데이터베이스는 비지니스의 데이터들을 저장하고 업데이트하는 곳이다. PCF에서 제공하는 서비스인 ClearDB MySQL Database를 만들고, 내가 만든 어플리케이션과 연동해서 작동을 확인해보자. 1. PCF에 데이터베이스 만들기 2. 데이터베이스 정보 확인 위의 만든 서비스에 들어가서 다음의 세가지 정보를 확인한다. Hostname, Username and Password 3. 테스트 데이터 추가 DataGrip등의 프로그램에서 제공하는 UI를 이용해서 손쉽게 데이터 베이스에 접속하고, query를 작성할 수 있다 4. 어플리케이션에서 데이터를 꺼내보자 생각해보자. 어떻게 구현할까? 일단 어플리케이션이 데이터베이스 정보를 알아야 한다. ->..
-
스프링개발자 202스프링개발자/202 - 디버깅+테스팅 2020. 7. 14. 12:44
스프링개발자 카테고리에 대한 아이디어 브레인스토밍이다; [인트로를 추가하자] 여기 스프링개발자202은 "디버깅을 할 수 있다" 시리즈로 가면 좋을것도 같다 생각나는 아이디어를 적자면 Autoconfigure Component/Bean을 디버깅 할 수 있다 properties파일을 디버깅 할 수 있다 인텔리제이(IDE)를 써서 디버깅 할 수 있다(view usages, command-click annotation, evaluate계산기모양등의 디버깅 툴) Postman을 써서 디버깅 할 수 있다 여기 카테고리에 테스트 시리즈도 포함하기로 한다 Unit 테스트 이거는 200레벨 Integration Test End-to-End test Postman Automated test for front-end usi..