Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

송현도 - 오픈소스 이야기, 그리고 원격 개발 시스템 (2011Y12M21D)

907 views

Published on

http://www.oss.kr/index.php?&mid=oss_information6&category=2470&search_target=title_content&search_keyword=%EC%9A%B0%EB%B6%84%ED%88%AC&document_srl=43443

2011년 12월 21일 "제 19회 Open Technet"이 열렸습니다.

누리꿈스퀘어 비즈니스타워 3층 중회의실에서 진행된 제 19회 Open Technet 은 '안드로이드 개발자를 위한 소프트웨어 공학 기법과 원격개발 시스템'에 관한 주제로 진행되었습니다.

<session>
'오픈소스 이야기, 그리고 원격 개발 시스템'
(강사) 우분투코리아 송현도 포럼마스터

Published in: Software
  • Be the first to comment

  • Be the first to like this

송현도 - 오픈소스 이야기, 그리고 원격 개발 시스템 (2011Y12M21D)

  1. 1. 우분투와 함께하는 오픈소스 개발환경 우분투한국커뮤니티 우분투와 함께하는 오픈소스 개발환경 한국 우분투 커뮤니티 포럼마스터 송현도 http://ubuntu-kr.org
  2. 2. 우분투란 무엇일까? 우분투한국커뮤니티 Humanity Towards Others 네가 있으니 내가 있다. Humanity Towards Others 네가 있으니 내가 있다.
  3. 3. 우분투란 무엇일까? Debian 기반의 리눅스 어머니는 모든게 귀찮다 하셨어 커뮤니티와 기업, 적과의 동침 영원히 끝나지 않을 춘추전국시대 우분투한국커뮤니티 Debian 기반의 리눅스 어머니는 모든게 귀찮다 하셨어 커뮤니티와 기업, 적과의 동침 영원히 끝나지 않을 춘추전국시대
  4. 4. 커뮤니티 컴퓨터가 좋아서 만나는 사람들 실력이 부족하다면 오히려 더 참가하세요. 남 주려고 배우는 사람들 많아요. 다른 커뮤니티와 경쟁하려면 무조건 배척? 실력이 뛰어난가요? 友分鬪 커뮤니티에서 한번 자랑해 보시죠. 우분투한국커뮤니티 컴퓨터가 좋아서 만나는 사람들 실력이 부족하다면 오히려 더 참가하세요. 남 주려고 배우는 사람들 많아요. 다른 커뮤니티와 경쟁하려면 무조건 배척? 실력이 뛰어난가요? 友分鬪 커뮤니티에서 한번 자랑해 보시죠.
  5. 5. 오픈소스 공짜인가? 다들 공짜라고 하던데.. 이거 쓰면 TCO 줄어드는거? 만능해결사? 다들 잘 쓰던데.. Closed 진영에는 없나? 오픈소스로는 세계정복이 어렵다던데? 그럼 왜 써?? 우분투한국커뮤니티 공짜인가? 다들 공짜라고 하던데.. 이거 쓰면 TCO 줄어드는거? 만능해결사? 다들 잘 쓰던데.. Closed 진영에는 없나? 오픈소스로는 세계정복이 어렵다던데? 그럼 왜 써??
  6. 6. 리눅스 기반 개발의 Advantage • Porting - 맥? 윈도우? 넌 이미 되어있다. • Install - 환경설정? 너도 이미 되어있다. • Library - 찾아보면 웬만한건 이미 있다. • Manual - 오픈소스프로젝트는 이미 예제. • Collaboration - 잘 모르시겠다면 도움을 요청 해 보세요. 당신은 혼자가 아닙니다. 우분투한국커뮤니티 • Porting - 맥? 윈도우? 넌 이미 되어있다. • Install - 환경설정? 너도 이미 되어있다. • Library - 찾아보면 웬만한건 이미 있다. • Manual - 오픈소스프로젝트는 이미 예제. • Collaboration - 잘 모르시겠다면 도움을 요청 해 보세요. 당신은 혼자가 아닙니다.
  7. 7. 우분투한국커뮤니티 리눅스에서의 개발환경 • 텍스트편집 : VI / EMACS / nano / GEdit • 컴파일러 : GCC / G++ / GCJ • IDE : Eclipse / Kdevelop / Anjuta • 개발지원 : make / autoconf • 버전관리 : CVS / SVN / GIT • 이미지편집 2D - GIMP / 3D - Blender • 텍스트편집 : VI / EMACS / nano / GEdit • 컴파일러 : GCC / G++ / GCJ • IDE : Eclipse / Kdevelop / Anjuta • 개발지원 : make / autoconf • 버전관리 : CVS / SVN / GIT • 이미지편집 2D - GIMP / 3D - Blender
  8. 8. 우분투한국커뮤니티 Hello World! in Android • 우분투 설치 • 이클립스 설치 • Android SDK 설치 • Android Development Tools 설치 • SDK Components 추가 • Android Virtual Devices 생성 • Hello World • 우분투 설치 • 이클립스 설치 • Android SDK 설치 • Android Development Tools 설치 • SDK Components 추가 • Android Virtual Devices 생성 • Hello World
  9. 9. 우분투한국커뮤니티 버전관리시스템 • CVS : 다른 버전관리시스템의 베이스 • SVN : 지금 가장 많이 애용되는 시스템 • Bazaar : GUI를 통해 쉽게 접근이 가능 • GIT : Linus Tovalds가 개발한 버전관리시스템 • GITHUB : 소셜 개발 플랫폼 • LaunchPad : 우분투 제작에 사용된 플랫폼 • CVS : 다른 버전관리시스템의 베이스 • SVN : 지금 가장 많이 애용되는 시스템 • Bazaar : GUI를 통해 쉽게 접근이 가능 • GIT : Linus Tovalds가 개발한 버전관리시스템 • GITHUB : 소셜 개발 플랫폼 • LaunchPad : 우분투 제작에 사용된 플랫폼
  10. 10. 우분투한국커뮤니티 GITHUB • SNS • Public / Private • Fork • Issue Tracking • Wiki / Homepage • https://github.com • SNS • Public / Private • Fork • Issue Tracking • Wiki / Homepage • https://github.com
  11. 11. 우분투한국커뮤니티 GITHUB
  12. 12. 우분투한국커뮤니티 LaunchPad • 우분투 개발 플랫폼 • 손쉬운 패키징 / 배포 • 번역 시스템 제공 • 버그 트래킹 • 코드 호스팅 제공 • 메일링 제공 • https://launchpad.net • 우분투 개발 플랫폼 • 손쉬운 패키징 / 배포 • 번역 시스템 제공 • 버그 트래킹 • 코드 호스팅 제공 • 메일링 제공 • https://launchpad.net
  13. 13. 우분투한국커뮤니티 LaunchPad
  14. 14. 원격 빌드 네트워크로 연결된 서버와 클라이언트 윈도우 진영의 원격 데스크탑과 같은 기능 임베디드시스템에서 많이 사용하는 NFS를 이용한 교차컴파일도 범주에 포함됩니다. 우분투한국커뮤니티 네트워크로 연결된 서버와 클라이언트 윈도우 진영의 원격 데스크탑과 같은 기능 임베디드시스템에서 많이 사용하는 NFS를 이용한 교차컴파일도 범주에 포함됩니다.
  15. 15. 우분투한국커뮤니티 원격 빌드의 장단점 • 환경변화에 따른 의존성 문제 해결 • 단말PC에 라이브러리를 설치할 필요가 없음 • 빌드시간이 단말PC의 성능과 무관 • 편리한 버전관리 • 소스코드 보안이 용이 • 동시접속이 많을 경우 성능저하의 가능성 • 환경변화에 따른 의존성 문제 해결 • 단말PC에 라이브러리를 설치할 필요가 없음 • 빌드시간이 단말PC의 성능과 무관 • 편리한 버전관리 • 소스코드 보안이 용이 • 동시접속이 많을 경우 성능저하의 가능성
  16. 16. 우분투한국커뮤니티 고전적인 원격 개발 • Telnet / SSH 를 이용 • 현재도 많이 쓰이고 있는 방법 • 다른 원격 개발 플랫폼의 베이스 • SSH를 이용할 경우 암호화된 연결 제공 • GUI가 제공되지 않음 • Telnet / SSH 를 이용 • 현재도 많이 쓰이고 있는 방법 • 다른 원격 개발 플랫폼의 베이스 • SSH를 이용할 경우 암호화된 연결 제공 • GUI가 제공되지 않음
  17. 17. 우분투한국커뮤니티 클러스터링(Cloud) 환경 • Telnet / SSH 를 이용 • 서버 구성이 복잡(전문가의 도움을 받을수 있음) • 다중연결에도 지연이 크지않음 • 이런 타입은 Linux Machine이 대다수 • 여전히 GUI가 제공되지 않음 • Telnet / SSH 를 이용 • 서버 구성이 복잡(전문가의 도움을 받을수 있음) • 다중연결에도 지연이 크지않음 • 이런 타입은 Linux Machine이 대다수 • 여전히 GUI가 제공되지 않음
  18. 18. 우분투한국커뮤니티 Eclipse Remote Development • 사용하던 환경을 변화시킬 필요가 없음 • 이클립스 플러그인 제공 • 소스코드 저장소에 따라 다른 설계 • 깔끔한 구성이 가능 • 서버와 다른 플랫폼 환경에서는 적용이 어려움 • 사용하던 환경을 변화시킬 필요가 없음 • 이클립스 플러그인 제공 • 소스코드 저장소에 따라 다른 설계 • 깔끔한 구성이 가능 • 서버와 다른 플랫폼 환경에서는 적용이 어려움
  19. 19. 우분투한국커뮤니티 Eclipse Remote Development 개발시스템에 코드를 저장하고 서버는 컴파일만 하는 경우
  20. 20. 우분투한국커뮤니티 Eclipse Remote Development 서버에 코드를 저장하고 컴파일까지 다 하는 경우
  21. 21. D e m o 우분투한국커뮤니티 D e m o
  22. 22. 묻고 답하기 우분투한국커뮤니티 묻고 답하기
  23. 23. 감사합니다 우분투한국커뮤니티 감사합니다

×