SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
NRISE 개발 환경
김문수
개발할 때 사용하는 여러가지 도구들
우리가 사용해 본 도구들을 소개합니다.
• 지난 3년간 개발을 진행하면서 다양한 도구를 사용해 보았습니다.
• 또한 다양한 개발 방법론도 적용해 볼 수 있었습니다.
• 예전에 제 블로그에 간단히 정리해 본 적이 있습니다.
• http://dalky.tumblr.com/post/44126023727
• http://dalky.tumblr.com/post/43957670684
Desktop
우리는 Mac을 사용합니다.
• *nix 친화적인 개발환경이 너무나도 매력적입니다.
• 그럼에도 불구하고 약간의 노력으로 윈도우 개발환경도 구성 가능합니다.
• Mac 자체만으로 충분히 개발/테스트 환경을 구축할 수 있습니다.
• 윈도우보다 훨씬 많은 개발 도구 및 라이브러리들을 지원합니다.
• brew!!!!!!!!!!
Language
우리는 사용하는 언어에 제한을 두지 않습니다.
• rust, go, erlang, coffeescript, sass, less, scala, groovy…
• 한 가지 언어로 다양한 문제를 푸는 것도 나쁘지 않지만
• 다양한 언어로 문제를 빨리 해결하는 것이 좋은 선택이라 생각합니다.
• 수많은 언어를 모두 익힐 수는 없겠지만
• 분명한 것은 도움이 된다는 것입니다. ^^
가장 많이 사용하는 언어는?
우리는 파이썬을 가장 많이 사용합니다.
• 파이썬의 장점을 한 두가지로 설명할 수 없습니다.
• 간결하고 명료한 문법, 너무나도 뛰어난 생산성
• 수많은 라이브러리와 엄청나게 활성화된 개발자 커뮤니티
• >>> import this
• “Life is too short, you need Python.”
일화를 하나 소개 합니다.
난데없이 QRCode 를 만들랍니다.
헐???;;;
• 구글에 “python qrcode” 로 검색을 해서
• qrcode 생성기가 있음을 확인하고,
• 설치한 후에,
• 예제 코드 3줄을 실행해 보니 도합 5분이 걸리네요.
• 풀고자 하는 문제 앞에 python 을 붙여서 검색해 보세요.
시ㅋ연ㅋ
Q: "Is C++ better than Python?" A:
"If you have to ask, learn Python."
- Guido van Rossum

https://twitter.com/gvanrossum/status/468761358784151552
Editor
우리는 SublimeText2 를 사용합니다.
• 놀라운 기능과 성능을 자랑하는 엄청나게 뛰어난 에디터입니다.
• 수많은 이용자들이 만든 수많은 플러그인들이 존재합니다.
• 아직도 안쓰시나요? 얼른 설치하세요!
최근에는 atom 도 기웃거리고 있습니다.
• github 에서 최근에 만든 오픈소스 에디터입니다.
• 얼핏 sublimetext2 와 비슷하게 생겼는데…좋은 대안이 될 수 있습니다.
• https://github.com/atom/atom
• 아직도 안쓰시나요? 얼른 설치하세요!
PyCharm 은 정말 이름처럼 매력적입니다.
• 믿고 쓰는 JetBrains 에서 만든 Python 개발용 IDE 입니다.
• 말 그대로 Python 기반 개발을 진행할 때 사용하기 정말 좋습니다.
• Startup Plan 으로 50% 할인가로 구매하여 팀원들에게 제공했는데
• 다만 저의 경우 Python 코딩은 vi 로 합니다. ㅡㅡ
Version Control System
반드시 DVCS 를 사용해야 합니다.
DVCS 는 아주 많은 장점을 가지고 있습니다.
• 중앙서버에 의존하지 않기 때문에 어디서든지 커밋을 할 수 있습니다.
• 마찬가지 이유로 DVCS 는 CVCS 대비 아주 속도가 빠릅니다.
• 대부분의 DVCS 는 아주 뛰어난 Branching model 을 지원합니다.
• 위와 같은 이유로 아주 유연하게 소스코드를 관리할 수 있습니다.
FOSSIL 은 아주 재미있는 DVCS 입니다.
• www.fossil-scm.org
• SQLite 를 만든 drh 가 SQLite 소스코드를 관리하려고 만들었습니다(!).
• 실행 파일 하나에 서버, ITS, 위키, DVCS 가 모두 내장되어 있습니다.
• 당연한 것이겠지만 저장소 엔진으로 SQLite 를 이용합니다.
• 심플한 all-in-one, 개인용으로는 아주 괜찮습니다.
결국엔 git 이 끝판왕입니다.
• 이러니 저러니 해도 결국 git 을 사용하게 되었습니다.
• 리누스 토발즈가 리눅스를 만들지 않았더라도 git 때문에 비슷한 유명세를 얻었을 것
이라고 말하는 사람들이 있습니다.
• 하지만 리누스 토발즈는 리눅스 커널 소스 관리 때문에 git 을 만들었죠…ㅋ
• 프로젝트 디렉토리를 생성한 후, 터미널에 한 줄만 입력하면 됩니다.
• http://git-scm.com/book/ko/
• http://dogfeet.github.io/progit/progit.ko.pdf
다양한 git-server 가 있습니다.
GitHub 는 모두에게 추천할 만한 서비스입니다.
• 가장 쉽고 빠르게 git 을 접할 수 있습니다.
• 단순하면서도 뛰어난 ITS 도 함께 지원됩니다.
• private repository 생성을 하려면 돈을 내야 해서 당시 공짜를 찾던 저는…
• 이런 놈들도 있습니다 : https://github.com/frabcus/house/
• 왠만하면 모든 분들에게 추천합니다.
gitolite 는 돈 없고 시간 많은 사람들에게 아주 매력적입니다.
• perl 로 만들어진 오픈소스 git 인증 라이브러리입니다.
• 예전엔 설치 절차가 뭣 같았는데 요새는 한글로 번역된 문서도 있네요.
• 기능 자체는 아주 좋습니다만 오로지 ssh 인증서 인증밖에 없습니다.
• 자체 repository 서버를 구축하고 싶은데 돈이 없을 때 선택하시면 됩니다.
• 요약 : 제한적으로 사용하기 좋습니다.
Stash 는 다 좋은데 그놈의 가격이 문제입니다.
• JIRA 로 유명한 Atlassian 에서 만든 git 서버입니다.
• 다양한 방법의 인증을 지원하고, 관리 역시 GUI 기반이라 너무나도 편합니다.
• 정말 괜찮은데 가격이 미쳤습니다.
• 10명 라이센스가 10$, 25명 라이센스가 1,800$ ?!!!
• 어쨌거나 우리는 현재 Stash 를 사용하고 있습니다.
• 요약 : 역시 자본주의 힘은 놀랍습니다.
Issue Tracking System
우리는 PMS 로써 Basecamp 를 사용합니다.
• 아주 단순한 기능을 갖추고 있습니다.
• 그러면서 또 있을 것은 다 있는 희한한 서비스입니다.
• 주로 외부업체와의 프로젝트 진행 시에 Basecamp 를 이용합니다.
우리는 꽤 오랫동안 Redmine 을 이용했습니다.
• RoR 기반의 오픈소스 ITS 입니다.
• 왠만한 기능은 다 가지고 있는 아주 좋은 툴입니다.
• 문득 JIRA 가 써보고 싶어져서 눈이 뒤집히는 바람에 버렸습니다.
• 지금은 꽤나 후회하고 있습니다.
JIRA 는 기능이 너무 많아서 탈입니다.
• 한 때 Atlassian 의 제품들로 개발 공정을 싹 깔아본 적이 있습니다.
• JIRA - Crucible - Stash 로 이어지는 개발 프로세스를 만들어 보았는데,
• 그다지 효율적이지도 않았고, 무엇보다 애자일 하지 않았습니다.
• 개발팀 규모에 비해 너무 과한 툴이었기 때문이었을까요? 아닌 것 같아요.
Trello 는 전시성이 해결되어야 합니다.
• 스탠드 보드를 디지털로 옮긴 센스는 정말 뛰어납니다.
• 정말 다양한 용도로 사용해 보았습니다. 대부분의 경우 좋습니다만,
• 결정적으로 전시성이라는 문제가 있습니다. 한 명이라도 안보면 끝입니다.
• 프로젝터와, 프로젝터로 쏠 수 있는 큰 벽이 있으면 참 좋을 것 같습니다. ㅋ…
결국 우리는 스탠드 보드를 선택하였습니다.
• 포스트 잇에 휘갈겨 우리가 정한 위치의 벽에 붙입니다.
• 포스트 잇의 색으로 프로젝트를 구분하는 룰만 있습니다.
• 지나가는 사람들이 구경합니다. 우리도 구경합니다.
• 이것으로 충분히 만족합니다.
QnA
감사합니다.

Contenu connexe

Tendances

[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)
Sang Don Kim
 
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
devCAT Studio, NEXON
 
윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018
윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018
윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018
devCAT Studio, NEXON
 

Tendances (20)

Web assembly 맛보기
Web assembly 맛보기Web assembly 맛보기
Web assembly 맛보기
 
[Td 2015]두근두근 asp.net 5(한상훈)
[Td 2015]두근두근 asp.net 5(한상훈)[Td 2015]두근두근 asp.net 5(한상훈)
[Td 2015]두근두근 asp.net 5(한상훈)
 
ALB+EC2 to API gateway + Lambda
ALB+EC2 to API gateway + LambdaALB+EC2 to API gateway + Lambda
ALB+EC2 to API gateway + Lambda
 
두근두근 ASP.NET 5!
두근두근 ASP.NET 5!두근두근 ASP.NET 5!
두근두근 ASP.NET 5!
 
Using CloudFront and S3 at SMARTSTUDY
Using CloudFront and S3 at SMARTSTUDYUsing CloudFront and S3 at SMARTSTUDY
Using CloudFront and S3 at SMARTSTUDY
 
Project TIMAT - infrastructure as code
Project TIMAT - infrastructure as codeProject TIMAT - infrastructure as code
Project TIMAT - infrastructure as code
 
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDYWHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
 
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)
 
Umbraco Introduction
Umbraco IntroductionUmbraco Introduction
Umbraco Introduction
 
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
 
이제 온라인이다! 브라우저 안으로 들어온 Visual studio!
이제 온라인이다! 브라우저 안으로 들어온 Visual studio!이제 온라인이다! 브라우저 안으로 들어온 Visual studio!
이제 온라인이다! 브라우저 안으로 들어온 Visual studio!
 
Vue.js와 Firebase활용기
Vue.js와 Firebase활용기Vue.js와 Firebase활용기
Vue.js와 Firebase활용기
 
Crawling with AWS Lambda
Crawling with AWS LambdaCrawling with AWS Lambda
Crawling with AWS Lambda
 
신규 협업도구 사용자 교육(공통 비개발자)
신규 협업도구 사용자 교육(공통 비개발자)신규 협업도구 사용자 교육(공통 비개발자)
신규 협업도구 사용자 교육(공통 비개발자)
 
CircleCI로 Serverless API의 CI/CD 환경 구축하기
CircleCI로 Serverless API의 CI/CD 환경 구축하기CircleCI로 Serverless API의 CI/CD 환경 구축하기
CircleCI로 Serverless API의 CI/CD 환경 구축하기
 
Server
ServerServer
Server
 
초고속 웹사이트 개발을 위한 Codeigniter PHP Framework
초고속 웹사이트 개발을 위한 Codeigniter PHP Framework초고속 웹사이트 개발을 위한 Codeigniter PHP Framework
초고속 웹사이트 개발을 위한 Codeigniter PHP Framework
 
윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018
윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018
윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018
 
NDC 2017 마이크로토크 - Spacemacs: 최고의 에디터는 Emacs도 Vim도 아니다. Emacs와 Vim이다!
NDC 2017 마이크로토크 - Spacemacs: 최고의 에디터는 Emacs도 Vim도 아니다. Emacs와 Vim이다!NDC 2017 마이크로토크 - Spacemacs: 최고의 에디터는 Emacs도 Vim도 아니다. Emacs와 Vim이다!
NDC 2017 마이크로토크 - Spacemacs: 최고의 에디터는 Emacs도 Vim도 아니다. Emacs와 Vim이다!
 
20201223 jquery
20201223 jquery20201223 jquery
20201223 jquery
 

En vedette (7)

Git for joomla! development #JAB14
Git for joomla! development #JAB14Git for joomla! development #JAB14
Git for joomla! development #JAB14
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Git란 무엇인가?
Git란 무엇인가?Git란 무엇인가?
Git란 무엇인가?
 
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함
 
메이븐 기본 이해
메이븐 기본 이해메이븐 기본 이해
메이븐 기본 이해
 
Django개발은 PyCharm에서
Django개발은 PyCharm에서Django개발은 PyCharm에서
Django개발은 PyCharm에서
 
svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드
 

Similaire à 2014.04.24.nrise 개발환경

131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원
NAVER D2
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님
NAVER D2
 
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
devCAT Studio, NEXON
 

Similaire à 2014.04.24.nrise 개발환경 (20)

131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원
 
멸종하는 공룡이 되지 않으려면
멸종하는 공룡이 되지 않으려면멸종하는 공룡이 되지 않으려면
멸종하는 공룡이 되지 않으려면
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님
 
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
 
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
 
2021년 1월 30일 개발자 이야기
2021년 1월 30일 개발자 이야기2021년 1월 30일 개발자 이야기
2021년 1월 30일 개발자 이야기
 
DevOps
DevOpsDevOps
DevOps
 
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
 
DevOps는 원격근무를 추구하면 안되는 걸까?
DevOps는 원격근무를 추구하면 안되는 걸까?DevOps는 원격근무를 추구하면 안되는 걸까?
DevOps는 원격근무를 추구하면 안되는 걸까?
 
버그 트래킹 시스템 Mantis의 사용 그리고 예제
버그 트래킹 시스템 Mantis의 사용 그리고 예제버그 트래킹 시스템 Mantis의 사용 그리고 예제
버그 트래킹 시스템 Mantis의 사용 그리고 예제
 
Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기
 
경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)
경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)
경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)
 
Do not use Django as like as SMARTSTUDY
Do not use Django as like as SMARTSTUDYDo not use Django as like as SMARTSTUDY
Do not use Django as like as SMARTSTUDY
 
Pinpoint 도입기 - 2016 신림프로그래머 오픈 세미나
Pinpoint 도입기 - 2016 신림프로그래머 오픈 세미나Pinpoint 도입기 - 2016 신림프로그래머 오픈 세미나
Pinpoint 도입기 - 2016 신림프로그래머 오픈 세미나
 
Slack과 Rust로 Amazon ECS에서 서비스 배포하기
Slack과 Rust로 Amazon ECS에서 서비스 배포하기Slack과 Rust로 Amazon ECS에서 서비스 배포하기
Slack과 Rust로 Amazon ECS에서 서비스 배포하기
 
백엔드 개발자로 1인분하기
백엔드 개발자로 1인분하기백엔드 개발자로 1인분하기
백엔드 개발자로 1인분하기
 
개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호
 
DevOps 시대의 새로운 Role - Full Cycle Developer
DevOps 시대의 새로운 Role - Full Cycle DeveloperDevOps 시대의 새로운 Role - Full Cycle Developer
DevOps 시대의 새로운 Role - Full Cycle Developer
 
[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스
[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스
[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스
 
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
 

Dernier

Dernier (8)

공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 

2014.04.24.nrise 개발환경

  • 2. 개발할 때 사용하는 여러가지 도구들
  • 3. 우리가 사용해 본 도구들을 소개합니다. • 지난 3년간 개발을 진행하면서 다양한 도구를 사용해 보았습니다. • 또한 다양한 개발 방법론도 적용해 볼 수 있었습니다. • 예전에 제 블로그에 간단히 정리해 본 적이 있습니다. • http://dalky.tumblr.com/post/44126023727 • http://dalky.tumblr.com/post/43957670684
  • 5. 우리는 Mac을 사용합니다. • *nix 친화적인 개발환경이 너무나도 매력적입니다. • 그럼에도 불구하고 약간의 노력으로 윈도우 개발환경도 구성 가능합니다. • Mac 자체만으로 충분히 개발/테스트 환경을 구축할 수 있습니다. • 윈도우보다 훨씬 많은 개발 도구 및 라이브러리들을 지원합니다. • brew!!!!!!!!!!
  • 7. 우리는 사용하는 언어에 제한을 두지 않습니다. • rust, go, erlang, coffeescript, sass, less, scala, groovy… • 한 가지 언어로 다양한 문제를 푸는 것도 나쁘지 않지만 • 다양한 언어로 문제를 빨리 해결하는 것이 좋은 선택이라 생각합니다. • 수많은 언어를 모두 익힐 수는 없겠지만 • 분명한 것은 도움이 된다는 것입니다. ^^
  • 9. 우리는 파이썬을 가장 많이 사용합니다. • 파이썬의 장점을 한 두가지로 설명할 수 없습니다. • 간결하고 명료한 문법, 너무나도 뛰어난 생산성 • 수많은 라이브러리와 엄청나게 활성화된 개발자 커뮤니티 • >>> import this • “Life is too short, you need Python.”
  • 11. 난데없이 QRCode 를 만들랍니다.
  • 12. 헐???;;; • 구글에 “python qrcode” 로 검색을 해서 • qrcode 생성기가 있음을 확인하고, • 설치한 후에, • 예제 코드 3줄을 실행해 보니 도합 5분이 걸리네요. • 풀고자 하는 문제 앞에 python 을 붙여서 검색해 보세요.
  • 14. Q: "Is C++ better than Python?" A: "If you have to ask, learn Python." - Guido van Rossum
 https://twitter.com/gvanrossum/status/468761358784151552
  • 16. 우리는 SublimeText2 를 사용합니다. • 놀라운 기능과 성능을 자랑하는 엄청나게 뛰어난 에디터입니다. • 수많은 이용자들이 만든 수많은 플러그인들이 존재합니다. • 아직도 안쓰시나요? 얼른 설치하세요!
  • 17. 최근에는 atom 도 기웃거리고 있습니다. • github 에서 최근에 만든 오픈소스 에디터입니다. • 얼핏 sublimetext2 와 비슷하게 생겼는데…좋은 대안이 될 수 있습니다. • https://github.com/atom/atom • 아직도 안쓰시나요? 얼른 설치하세요!
  • 18. PyCharm 은 정말 이름처럼 매력적입니다. • 믿고 쓰는 JetBrains 에서 만든 Python 개발용 IDE 입니다. • 말 그대로 Python 기반 개발을 진행할 때 사용하기 정말 좋습니다. • Startup Plan 으로 50% 할인가로 구매하여 팀원들에게 제공했는데 • 다만 저의 경우 Python 코딩은 vi 로 합니다. ㅡㅡ
  • 20. 반드시 DVCS 를 사용해야 합니다.
  • 21. DVCS 는 아주 많은 장점을 가지고 있습니다. • 중앙서버에 의존하지 않기 때문에 어디서든지 커밋을 할 수 있습니다. • 마찬가지 이유로 DVCS 는 CVCS 대비 아주 속도가 빠릅니다. • 대부분의 DVCS 는 아주 뛰어난 Branching model 을 지원합니다. • 위와 같은 이유로 아주 유연하게 소스코드를 관리할 수 있습니다.
  • 22. FOSSIL 은 아주 재미있는 DVCS 입니다. • www.fossil-scm.org • SQLite 를 만든 drh 가 SQLite 소스코드를 관리하려고 만들었습니다(!). • 실행 파일 하나에 서버, ITS, 위키, DVCS 가 모두 내장되어 있습니다. • 당연한 것이겠지만 저장소 엔진으로 SQLite 를 이용합니다. • 심플한 all-in-one, 개인용으로는 아주 괜찮습니다.
  • 23. 결국엔 git 이 끝판왕입니다. • 이러니 저러니 해도 결국 git 을 사용하게 되었습니다. • 리누스 토발즈가 리눅스를 만들지 않았더라도 git 때문에 비슷한 유명세를 얻었을 것 이라고 말하는 사람들이 있습니다. • 하지만 리누스 토발즈는 리눅스 커널 소스 관리 때문에 git 을 만들었죠…ㅋ • 프로젝트 디렉토리를 생성한 후, 터미널에 한 줄만 입력하면 됩니다. • http://git-scm.com/book/ko/ • http://dogfeet.github.io/progit/progit.ko.pdf
  • 24. 다양한 git-server 가 있습니다.
  • 25. GitHub 는 모두에게 추천할 만한 서비스입니다. • 가장 쉽고 빠르게 git 을 접할 수 있습니다. • 단순하면서도 뛰어난 ITS 도 함께 지원됩니다. • private repository 생성을 하려면 돈을 내야 해서 당시 공짜를 찾던 저는… • 이런 놈들도 있습니다 : https://github.com/frabcus/house/ • 왠만하면 모든 분들에게 추천합니다.
  • 26. gitolite 는 돈 없고 시간 많은 사람들에게 아주 매력적입니다. • perl 로 만들어진 오픈소스 git 인증 라이브러리입니다. • 예전엔 설치 절차가 뭣 같았는데 요새는 한글로 번역된 문서도 있네요. • 기능 자체는 아주 좋습니다만 오로지 ssh 인증서 인증밖에 없습니다. • 자체 repository 서버를 구축하고 싶은데 돈이 없을 때 선택하시면 됩니다. • 요약 : 제한적으로 사용하기 좋습니다.
  • 27. Stash 는 다 좋은데 그놈의 가격이 문제입니다. • JIRA 로 유명한 Atlassian 에서 만든 git 서버입니다. • 다양한 방법의 인증을 지원하고, 관리 역시 GUI 기반이라 너무나도 편합니다. • 정말 괜찮은데 가격이 미쳤습니다. • 10명 라이센스가 10$, 25명 라이센스가 1,800$ ?!!! • 어쨌거나 우리는 현재 Stash 를 사용하고 있습니다. • 요약 : 역시 자본주의 힘은 놀랍습니다.
  • 29. 우리는 PMS 로써 Basecamp 를 사용합니다. • 아주 단순한 기능을 갖추고 있습니다. • 그러면서 또 있을 것은 다 있는 희한한 서비스입니다. • 주로 외부업체와의 프로젝트 진행 시에 Basecamp 를 이용합니다.
  • 30. 우리는 꽤 오랫동안 Redmine 을 이용했습니다. • RoR 기반의 오픈소스 ITS 입니다. • 왠만한 기능은 다 가지고 있는 아주 좋은 툴입니다. • 문득 JIRA 가 써보고 싶어져서 눈이 뒤집히는 바람에 버렸습니다. • 지금은 꽤나 후회하고 있습니다.
  • 31. JIRA 는 기능이 너무 많아서 탈입니다. • 한 때 Atlassian 의 제품들로 개발 공정을 싹 깔아본 적이 있습니다. • JIRA - Crucible - Stash 로 이어지는 개발 프로세스를 만들어 보았는데, • 그다지 효율적이지도 않았고, 무엇보다 애자일 하지 않았습니다. • 개발팀 규모에 비해 너무 과한 툴이었기 때문이었을까요? 아닌 것 같아요.
  • 32. Trello 는 전시성이 해결되어야 합니다. • 스탠드 보드를 디지털로 옮긴 센스는 정말 뛰어납니다. • 정말 다양한 용도로 사용해 보았습니다. 대부분의 경우 좋습니다만, • 결정적으로 전시성이라는 문제가 있습니다. 한 명이라도 안보면 끝입니다. • 프로젝터와, 프로젝터로 쏠 수 있는 큰 벽이 있으면 참 좋을 것 같습니다. ㅋ…
  • 33. 결국 우리는 스탠드 보드를 선택하였습니다. • 포스트 잇에 휘갈겨 우리가 정한 위치의 벽에 붙입니다. • 포스트 잇의 색으로 프로젝트를 구분하는 룰만 있습니다. • 지나가는 사람들이 구경합니다. 우리도 구경합니다. • 이것으로 충분히 만족합니다.
  • 34. QnA