기본 콘텐츠로 건너뛰기

SpringOne2GX 2014 Replay: Building a Continuous Delivery Pipeline with Gradle and Jenkins

SpringOne2GX 에서 있었던 Gradle 과 Jenkins 를 이용한 CD Pipeline 구성에 대한 Webinar. 오늘은 CD/CI 와 관련된 Webinar에 대한 소개. 사실 소개라기 보다는 자료를 저장해 놓으려고 쓰게 된 포스트. 뭐 이런저런 핑계로 실제로는 Jenkins 를 이용해서  pipeline 을 구성해 본 적이 없지만, 항상 도전하고 싶은 분야이긴 하다. (아직 회사에서는 bash 를 이용 deploy를 진행하고 있다) 전체적으로 매우 도움이 될만한 내용을 담고 있는데 대충 아래와 같은 내용을 포함하고 있다. Gradle과 Git 을 이용한 기본 빌드 및 버전 관리. Gradle 에 파라미터를 이용하여 Environment Configuration 을 관리하는 방법 Test(Unit/Integration)/Code Analysis/Deploy 툴과의 연계 등과 관련된 Gradle 설정 방법 Jenkins를 이용한 테스트 및 Deploy 까지의 Pipeline 구성 방법 gradle 에 Pipeline 각 단계에 필요한 task 를 정의하고 command line 에서 어떻게 동작이 되는지를 보여준다. 그리고 마지막 부분에 그 task 들을 이용해서 어떻게 Jenkins를 구성하는지까지를 설명하고 있다. 플레이타임이 약 1시간 30분으로 짧지 않은 시간인데다 자막이 제공되지 않아서 영어를 못하는 나같은 경우는 많이 힘들었지만, 관심있는 사람들은 한 번쯤 꼭 봐 둘만한 내용일 것 같다. 아래와 같은 분들께 추천... Continuous Delivery, Continuous Integration이 뭐지? 하시는 분들. Unit/Integration test, Code Analysis, Manual Deploy 모두 또는 일부를 프로젝트에 사용하고 있지만, 왜 하지 라는 생각을 하시는 분들. 개발에서 배포까지 매번 너무 힘들어서 못 해먹겠다고 생각하시는 분들 Devops 에...

10 Tips for Creating a Winning Business Plan in PowerPointa

[원문보기 : 10 Tips for Creating a Winning Business Plan in PowerPoint] 위의 내용을 요약하면 아래와 같다. 사업계획을 발표용 PowerPoint presentation으로 만드는 방법의 가장 기본적인 Rule 은 10-20-30 규칙. 즉, "10 슬라이드, 20분 분량, 최소 폰트 크기는 30 pt" 라는 것이다. (만들어보면 이것 정말 어려운 일이다) 이것을 가능하게 하는 Tip. 1. 첫 슬라이드는 비즈니스명(또는 발표제목), 발표자 이름/직위/연락처. 그리고 있다면 slogan 을 적는다. 2. 다음 슬라이드는 비즈니스의 타겟 마켓이 가지는 문제점에 대해 적는다. 통계가 있으면 설명이 쉽지만, 가장 적합하다고 생각하는 통계 두개 정도만 언급하고 넘어가자. 3. 다음 슬라이드는 두번째 슬라이드에 대해서 내 비즈니스가 어떻게 문제점을 완화 시키는지에 대한 간략한 설명을 넣자. 단, 청중에게 내가 유니크하게 접근했다는 것을 이해시키는 것이 중요. 4. 다음은 수익 모델에 대해서 설명한다. 수입원은 무엇인지, 고객이 누구인지, 만약 요금제라면 요금제는 어떻게 이루어져 있는지 등을 설명. 5. 다음으로 좀 더 자세한 운영 계획에 대해서 설명하자. 전체 비즈니스가 어떻게 이루어지는지에 대해서 설명하자. 이 부분에서 아주 약간의 기술적인 언급이 있어야 하지만 정말 적은양의 기술적인 언급만 하도록 하자. 6. 이제 내 마케팅 플랜에 대한 요약본을 넣자. 무엇보다도 청중에게 내가 합리적인 비용내에서 효과적인 마케팅 계획을 가지고 있다는 것을 알리면 된다. 7. 주요 경쟁자들에 대해서 소개하자. 경쟁자를 무시하거나 하지말고 내가 경쟁우위에 있다는 점을 부각시키자. 8. 내 팀에 대해서 설명하자. 팀에 대한 설명이 매우 중요하다는 것을 잊지 말자. 9. 이쯤에서 앞으로 3년, 5년 매출 목표에 대해서 소개하자. 10. 마지막으로 현재 내 비즈니스가 어디...

JAXB 관련 Tools

회사에서 외부 인터페이스 통신에 많이 쓰이는 JAXB 관련 툴. schemagen과 xjc 는 사용하고 있는 것인데, 다른 것은 처음보는 것이어서 일단 정리해 놓는다. 그나저나  Maven JAXB2 Plugin 이 있다면 혹시 Gradle Plugin도 나와있지 않을까? [출처: Javacodegeeks] JAXB Tutorial for Java XML Binding – The ULTIMATE Guide 1. schemagen Schema Generator https://docs.oracle.com/javase/7/docs/technotes/tools/share/schemagen.html https://jaxb.java.net/2.2.4/docs/schemagen.html 2. xjc JAXB Binding Compiler. XSD 파일에서 Java Source 파일 추출 https://jaxb.java.net/2.2.4/docs/xjc.html 3. Jsonix XML 파일을 JSON 으로 변환 http://confluence.highsource.org/display/JSNX/Jsonix 4. Hyperjaxb3 It provides relation persistence for JAXB objects. It uses the JAXB annotations to persist the objects in relational databases. It works with Hibernate, probably the most used Java persistence framework.  http://confluence.highsource.org/display/HJ3/Home 5. Maven JAXB2 Plugin Plugin for Maven that offers all the functionalities from the xjc to...

피닉스 프로젝트

추석 맞이 독서 2탄 피닉스 프로젝트!! 엉망이 되버린 프로젝트가 있는 자동차 부품을 만드는 커다란 회사에 IT 운영팀의 한 팀장이 IT 운영사업부를 맡는 직책으로 원치않는 승진을 하게 되고, 그 이후에 조금씩 공부하고 준비하면서 IT 조직 넓게는 회사를 정상화 시켜나가는 고군분투를 담은 소설책 (을 빙자한 DevOps와 애자일을 설명하는 책) 우선은 무엇보다도 아무리 좋게 이야기 한다고 해도 번역을 잘했다고 이야기할 수는 없다. 최소한의 IT 지식이나, 이 책의 대부분을 차지하는 칸반이나 린에 대한 지식을 가지고 번역했다고 보기에는 너무나도 부족함이 많은 책이다. 영어에 어려움이 없는 사람이라면 원서를 읽어보기를 권하겠지만, 그렇지 않은 사람은 수많은 오역을 감수하고라도 한번 읽어볼 것을 권하고 싶다. 개발자(Ops 를 포함한), 기획자, 경영자 누구라도 상관없이 회사에 작은 IT 시스템 하나라도 가진 사람이라면 읽을 가치가 있는 책이다. 간단히 말해서 제목에서도 보이지만 이 책은 DevOps와 애자일에 관한 이야기이다. 회사가 어떻게 DevOps 에 대한 필요성을 가지고 DevOps를 도입하면서 엉망인 단계에서 괜찮은 IT 시스템을 보유한 회사로 발전해 가는지에 대한 이야기이면서, 애자일이 어떻게 회사의 IT 조직들에게 이점을 줄 수 있는지를 이야기하고 있는 책이다. 단순히 어떻게 해야해 라는 것보다 왜 그렇게 되어가고 있어야 하고 왜 그렇게 할 수 밖에 없는 지를 소설로 풀어낸 책이다. 물론 중간 중간 조금은 억지스러운 부분들이 없다고 할 수는 없지만 그렇다고 억지주장이니 무시하자고 할 수도 없는 내용들이다. 내가 개발자라 그런지 몰라도 항상 DevOps 라거나 애자일이라거나 하는 이야기들은 모두 개발을 기준으로해서 발전해 가곤 했다. 대부분의 책들도 그런 관점에서 쓰여져 있기도 했고. 하지만, 이 책은 Ops의 관점에서 DevOps로 발전하는 과정을 담고 있다. 이렇게 하건 저렇게 하건 결국 요구하는 결과를...

스타트업 똑똑하게 시작하라!

추석 맞이 독서 목록에 들어가서 구입하게 된 책. 사서 하루만에 다 읽어 버렸다. 창업하세요? 라고 다들 물어볼 것 같지만, 사실 난 창업을 준비하고 있는 건 아니다. 단지, 내 요즘의 고민에 대해서 한번쯤 돌아보고 싶었을 뿐. 13년 정도를 개발자로 살아오면서 생긴 고민들... 뭐 대충 잡아 7개의 회사를 돌아다니면서 생겼던 생각들... 두 회사에서는 퇴사와 재입사 하며 했던 다양한 고민과 생각들... 뭐 이런 것들이 최근들어 여러가지로 한꺼번에 밀려오고 있어서 생각을 정리하고 싶었다. 내가 회사에 바라는 것들, 함께 일하는 개발자, 기획자, 관리자들에 대한 바램들은 왜 생기고 있는지 그리고 그것이 가능할 수 있는 방법이 있는지에 대한 생각들도 함께.. 결과적으로 저 책에서 그동안 누구에게서도 듣지 못했던 격려와 질책을 함께 받았다. 저 책이 모든 것을 해결해 준 것은 절대 아니지만, 어디서부터 다시 고민을 해야할지와 무엇을 해 봐야 할지에 대해서는 상당히 많은 확신을 전해 받았다. 막연하게 그렇지 않을까 했던 부분들에 대한 확신.. 특히나 내가 엉뚱한 부분에 대해서 고민을 하고 있는 것은 아닐까 막연하게 의심했던 부분에 대해서... 나는 창업을 염두에 두고 보게 된 책은 아니지만, 창업을 염두에 두고 머릿속에 다양한 아이디어만 샘솟고 있는 사람들이 있다면 권해주고 싶은 책이다. 특히나 다양한 아이디어와 기술력으로 무장했다는 착각에서 창업을 준비하고 있는 개발자들이 있다면 꼭 봤으면 한다. 다양한 아이디어와 기술력만으로는 부족하다는 것을! 하지만, 이 책을 보고 다양한 부분에서 조금만 더 고민하고 공부하고 준비한다면 더 강력한 무기로 시작할 수 있다는 것을. 내용이 아주 훌륭하다고 말은 못하겠지만, 분명 얻어갈 수 있는 내용이 많을 것이라고 생각한다. 중간 중간 너무 개론적인 내용이 있긴 하지만, 그래도 여러가지면에서 유용한 실용...

주석은 무엇을 하는지 설명해야 하는게 아니라 왜 그렇게 했는지를 설명해야 한다.

최근 읽기 시작한 Effective Unit Testing  이라는 책을 보다 매우 마음에 와 닿는 말이 있어서 적어본다. Note - 좋은 주석의 조건 결론부터 말하면 '무엇을'이 아닌 '왜'를 설명하는 주석이 좋은 주석이다. 코드가 무엇을 하는지 설명하는 주석은 무조건 코드 냄새라고 보면 된다. 그런 주석이 필요없을 만큼 쉽게 읽을 수 있는 코드를 작성해야 한다. 주석이 정말 필요한 경우는 많지 않은데, 특정 코드 불록의 정당성을 설명하는 주석 정도가 그에 해당한다. 예를 들어 복잡한 for 문이 무슨 일을 하는지 설명하는 주석은 냄새일 가능성이 높다. 그에 반해 유사한 for 문이더라도 성능 최적화가 꼭 필요한 부분이라 어쩔 수 없이 가독성을 다소 희생한 경우라면 의미 있는 올바른 주석이 될 수 있다. 주석을 작성할 때마다 자신에게 물어보자. '무엇'을 설명하려는가 아니면 '왜'를 설명하려 하는가? 그리고 주석 작성과 리팩토링 중 무엇이 진정 필요한 것인지 다시 한 번 생각해보자. Effective Unit Testing : 클린 코드와 좋은 설계를 이끄는 단위 테스트 중에서... 원서정보 : ISBN 9781935182573 번역서정보 : ISBN 9788968480621

윈도우즈 탐색기에서 cmd 창 쉽게 띄우기

윈도우즈에서 작업을 하다보면 윈도우 커맨드 창 즉, 도스 창을 띄워야 할 때가 많이 있는 편이다. 윈도우키+R을 해서 실행창 띄우고 cmd 를 치면 뜨기는 하는데 문제는 디렉터리가... 그래도 Total commander 를 사용하다보니 직접적으로 윈도우의 기본 기능을 이용해서 커맨드 창을 띄울 일이 거의 없어 불편함이 없었다. 그런데, 최근에 회사에서 이런 저런 문제로 Total Commander를 사용할 수 없게 되다보니 이거 정말 불편하더라는.. 그래서 이리저리 찾다가 알게 된 두가지 방법을 정리한다. 뭐 누구나 다 알고 있을 그러나 나만 모르고 있었던 그 방법 두가지.. [탐색기와 shift + 마우스 우측버튼의 이용] 탐색기에서 원하는 폴더를 찾아간다. 해당 폴더에서 shift 키를 누른 상태에서 마우스 우측버튼을 클릭한다. 활성화된 Context Menu에서 여기서 "명령 창 열기" 를 선택한다. 끝!! 역시 간단하긴 한데 탐색기의 좌측에 나오는 트리 형식을 거의 이용하지 않는 나로서는 역시 불편함이 있다. 보통은 작업 폴더를 열어놓고 작업하게 되는데, 커맨드 창 띄우려면 폴더를 한단계 올라가서 커맨드 창 띄우고 다시 돌아와야 했다.  아.. 귀찮아.. [탐색기의 주소창을 이용하는 방법] 탐색기에서 간단히 Alt + D 를 누른다. (주소창으로 이동된다. 물론 마우스를 이용해도 된다.) cmd 를 입력하고 엔터 끝!! 나한테는 훨씬 간단하고 익숙하게 사용할 수 있는 방법이다. 글을 써놓고 보니 정말 허접한 팁이긴 하지만, 의외로 윈도우즈의 기능키나 사용법 모르시는 분들 많더라. 나처럼!! 아무튼 윈도우즈 정말 쓰면 쓸수록 귀찮고 어렵다. 쩝~