2. Mario Cho
Development Experience
◆ Image Recognition using Neural Network
◆ Bio-Medical Data Processing
◆ Human Brain Mapping on High Performance
Computing
◆ Medical Image Reconstruction
(Computer Tomography)
◆ Enterprise System
◆ Open Source Software Developer
◆ OPNFV (NFV&SDN) & OpenStack
◆ Machine Learning (TensorFlow, Torch, Leaf)
Cognitive Artificial Intelligence for Medicine
◆ Machine Learning
◆ Medical Informatics of oncology
Book
◆ Unix V6 Kernel
Mario Cho
hephaex@gmail.com
3. Contents
Git 이란?
왜 Git을 ?
Github 계정을 만들어보자!
Git 실습
Basic
Git 이해하기
Git 실습
Advanced
OpenSoruce
활동
7. 리눅스 커널
운영체계
- Apple Mac OS system 1.x : 1984.x
- MS Windows 1.x : 1985.x
- Linux : 1991. 8.26
8. • unix is an operating system
– There are many different types of unix.
– But they all came from a common background.
• The Internet was built on UNIX.
– TCP/IP is a native UNIX protocol.
– Today 80% of the worlds Internet Web servers are using Linux.
• unix has commonly been used for the past 30 years.
– It was created in 1969 - long before Microsoft existed.
– It was the 1st worldwide commercial operating system.
• Unix has always commonly been used on mainframes.
• Today as “linux” it is also commonly being used on PC’s as servers & desktops
12. 파일 이름으로 버전 관리
• 파일 이름으로 Ctrl+C, Ctrl+V
과제 1_최종_2017_07_03.doc
과제 1_진짜최종_2017_07_04.doc
과제 1_진짜최종_final_2017_07_05.doc
13. 파일 이름으로 버전 관리
• 파일 이름으로 Ctrl+C, Ctrl+V
과제 1_최종_2017_07_03.doc
과제 1_진짜최종_2017_07_05.doc
과제 1_진짜최종_final_2017_07_05.doc
1.과 2.는 무엇을
바뀌었는지 파일
이름만 가지고는
알기 어렵다!
내용이 바뀔때마다
용량은 x2 + diff.
x3 + diff.
14. 형상관리 (svn, git) 버전 관리
• SVN , git 등 형상관리 도구로 관리
과제 1_최종_2017_07_03.doc
과제 1_진짜최종_2017_07_05.doc
과제 1_진짜최종_final_2017_07_05.doc
1.과 2.는 무엇을
바뀌었는지 파일
이름만 가지고는
알기 어렵다!
내용이 바뀔때마다
용량은 x2 + diff.
x3 + diff.
1.과 2.로 바뀔때
차이나는 부분과 내용(log)를 함께저장
2.과 3.로 바뀔때
차이나는 부분과 내용(log)를 함께저장
15. 형상관리 (svn, git) 버전 관리
• SVN , git 등 형상관리 도구로 관리
과제 1_최종_2017_07_03.doc
과제 1_진짜최종_2017_07_05.doc
과제 1_진짜최종_final_2017_07_05.doc
1.과 2.는 무엇을
바뀌었는지 파일
이름만 가지고는
알기 어렵다!
내용이 바뀔때마다
용량은 x2 + diff.
x3 + diff.
1.과 2.로 바뀔때
차이나는 부분과 내용(log)를 함께저장
3.에서 2.로
안전한 상태로 과거 상태로 그대로
돌려 놓을 수 있다.
16. 형상관리 (svn, git) 버전 관리
• SVN , git 등 형상관리 도구로 관리
과제 1_최종_2017_07_03.doc
과제 1_진짜최종_2017_07_05.doc
과제 1_진짜최종_final_2017_07_05.doc
1.과 2.는 무엇을
바뀌었는지 파일
이름만 가지고는
알기 어렵다!
내용이 바뀔때마다
용량은 x2 + diff.
x3 + diff.
1.과 2.로 바뀔때
차이나는 부분과 내용(log)를 함께저장
3.에서 2.로
안전한 상태로 과거 상태로 그대로
돌려 놓을 수 있다.
특정 시점(release) 시점으로 tag로 해서
관리할 수 있다.
17. 형상관리 (svn, git) 버전 관리
• SVN , git 등 형상관리 도구로 관리
과제 1_최종_2017_07_03.doc
과제 1_진짜최종_2017_07_05.doc
과제 1_진짜최종_final_2017_07_05.doc
특정 시점(release) 시점으로 tag로 해서
관리할 수 있다.
Git을 꼭!!!
배워야하나?
Code 한줄이라도!
Git이 좋다고 하는데!
과제라 꼭 해야만…
18. github 실습
1. Git 환경
-> 가상화 환경으로 리눅스 설치
2. Github 회원 가입
3. git 실습 (basic)
-> https://www.github.com
-> 리눅스 터미널 환경(cli) 실습
57. III. Setting Network
• $ sudo vi /etc/network/interfaces
– 네트워크 장치 정보를 입력하고 CTRL+X로 저장
– 왼쪽 H, 아래 J 위 k 오른쪽 L
– 맨 끝에서 a를 누르고 편집 모드로 들어가서 입력
• 입력이 끝났다면 ESC 를 누르고 :wq!
• sudo reboot
58. III. SSH server install
• 설치를 안했을 경우 새로 설치
• $ sudo apt-get install openssh-server
• 검증 verify
• $ sudo service ssh status
64. III. Open local terminal using putty or term
• Windows 환경: putty 를 설치하고, 창을 열어 192.168.56.10 으로 접속합니다.
• OSX 환경: 터미널을 열어 $ ssh 192.168.56.10 –l ubuntu 로 접속합니다.
79. Git 실습: 기본 명령어
# git add report_card.pdf
# git config –global use.name “xxx”
# git commit -s
80. git 실습: github 계정 설정
• 1) 다른 putty 를 열어서 192.168.56.10 에 접속
• 2) 나의 github 계정, 이메일과 이름 입력
• git config --global user.email xxx@gmail.com
• git config --global user.name ”XXX”
• Git 계정에서 만들었던 저장소를 로컬로 불러서 저장하기.
• git clone https://github.com/hephaex/git-ex.git
81. git 실습: github 계정 설정
• 1) 다른 putty 를 열어서 192.168.56.10 에 접속
• 2) 나의 github 계정, 이메일과 이름 입력
• git config --global user.email xxx@gmail.com
• git config --global user.name ”XXX”
• Git 계정에서 만들었던 저장소를 로컬로 불러서 저장하기.
• git clone https://github.com/hephaex/git-ex.git
82. git 실습:
• # cd ~
• Git-ex 폴더를 만들자.
• $ mkdir git-ex
• $ cd git-ex
• 해당 폴더를 git 초기화
• $ git init
83. git 실습:
• 파일을 만들어 보자.
• touch git-ex1.txt
• 만들 파일을 git에 추가하자.
• $ git add git-ex1.txt
• 첫 커밋 하기
• $ git commit –m “first git commit”
84. git 실습:
• 파일을 만들어 보자.
• touch git-ex2.txt
• 만들 파일을 git에 추가하자.
• $ git add git-ex2.txt
• 두번째 커밋 하기
• $ git commit –m “second git commit”
85. git 실습:
• 파일을 수정해 보자.
• vi git-ex2.txt
• i를 누르고
• Hello world 라고 입력
• ESC 를 누르고 :wq! git-ex2.txt 로저장
• 만든 파일을 git에 추가하자.
86. git 실습:
• 상태를 확인한다.
• $ git status
• Ex2 와 ex3를 비교해보자.
• $ git diff
• Diff 의 차이를 확인 했으면 add 실행
• $ git add git-ex2.txt
• 바뀌 파일을 commit 한다.
• $ git commit –m “3th commit: file changed”
• 지금까지 git 를 확인 하자
• $ git log
87. git 실습:
• 복사한 URL을 git 원격 저장소로 등록하자.
• $ git remote add origin <….>
• 원격 저장소에 푸쉬 push 하자
• $ git push origin master
• Github.com 웹을 열어 확인하자 <step4>
88. git 실습:
• 복사한 URL을 git 원격 저장소로 등록하자.
• $ git remote add origin <….>
• 원격 저장소에 푸쉬 push 하자
• $ git push origin master
• Github.com 웹을 열어 확인하자 <step4>