SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
ⓒ NAVER Connect Foundation
80x24 크기의 세계로
작성자:최영근
ⓒ NAVER Connect Foundation
강의 주제
피어세션의 경험 그대로
2
웹 풀스택, 모바일 할 것 없이 유용할만한 정보가 어떤것이 있을까
ⓒ NAVER Connect Foundation
1. Terminal
1.1준비
1.2사용
2. Bash
2.1man과친해지자
2.2Bash와친구들
2.3쉘스크립트
2.4POSIX
3.Appendix
4.1dotfiles
3
ⓒ NAVER Connect Foundation
1.
Terminal
80x24 크기의 세계로
4
ⓒ NAVER Connect Foundation
Windows
Windows Terminal
Mac
Terminal
iTerm2
Linux
GNOME Terminal
5
Terminal
1.1 터미널 : 준비
ⓒ NAVER Connect Foundation
Chapter 1
6
단축키
이동
• ctrl+a: 맨 앞으로
• ctrl+e: 맨 뒤로
• ctrl+f: 한 글자 앞으로
• ctrl+b: 한 글자 뒤로
• alt+f: 한 단어 앞으로
• alt+b: 한 단어 뒤로
편집
• ctrl+k: 맨 뒤까지 자르기
• ctrl+u: 맨 앞까지 자르기
• ctrl+w: 한 단어 자르기
• ctrl+y: 붙여넣기
• ctrl+_ : 되돌리기 (undo)
탐색
• ctrl+p: 이전 기록
• ctrl+n: 다음 기록
• ctrl+r: 이전 기록 검색
• ctrl+ . : 이전의 마지막 인자
ⓒ NAVER Connect Foundation
Chapter 1
7
단축키
이동
• ctrl+a: 맨 앞으로
• ctrl+e: 맨 뒤로
• ctrl+f: 한 글자 앞으로
• ctrl+b: 한 글자 뒤로
• alt+f: 한 단어 앞으로
• alt+b: 한 단어 뒤로
편집
• ctrl+k: 맨 뒤까지 자르기
• ctrl+u: 맨 앞까지 자르기
• ctrl+w: 한 단어 자르기
• ctrl+y: 붙여넣기
• ctrl+_ : 되돌리기 (undo)
탐색
• ctrl+p: 이전 기록
• ctrl+n: 다음 기록
• ctrl+r: 이전 기록 검색
• ctrl+ . : 이전의 마지막 인자
ⓒ NAVER Connect Foundation
Terminal
foreground를 점유중인 프로세
스를 background로 보낸다.
다른 작업을 한 뒤에 다시 돌아
오는것이 가능하다.
8
fg & bg & ctrl+z
1.2 터미널 : 사용
ⓒ NAVER Connect Foundation
Terminal
복수의 터미널 세션을
하나의 창에서 접근 가능
9
Tmux
Terminal Multiplexer
1.2 터미널 : 사용
ⓒ NAVER Connect Foundation
2.
Bash
표준인듯 아닌듯 표준같은 쉘
10
ⓒ NAVER Connect Foundation
Bash
man에 대해 알아보기 전에
less에 대해 알아보자
오른쪽은
git --help 명령의 결과이다
11
man과 친하게
2.1 man과 친해지자
ⓒ NAVER Connect Foundation
Bash
git --help | less
q: 나가기
h: 도움말
j: 아래 (방향키 동일)
k: 위로 (방향키 동일)

d: 화면의 절반만큼 아래로
u: 화면의 절반만큼 위로
/: 검색
?: 역방향 검색
n, N: 검색 앞/뒤로
12
man과 친하게
2.1 man과 친해지자
ⓒ NAVER Connect Foundation
Chapter 2
13
man man
• 기본으로 less 사용
• 원하는 내용을 찾기 위해서 알아두자
ⓒ NAVER Connect Foundation
Chapter 2
14
유용한 명령어
• ls -al /bin
• ls -al /usr/bin
ⓒ NAVER Connect Foundation
Chapter 2
15
유용한 명령어
ⓒ NAVER Connect Foundation
Chapter 2
16
유용한 명령어
• alias
• at
• basename
• cut
• dd
• df
• diff
• dirname
• file
• find https://en.wikipedia.org/wiki/List_of_Unix_commands
• getopts
• grep
• head
• iconv
• ln
• man
• patch
• sed
• sort
• strings
• tail
• tee
• tr
• uniq
• uudecode
• uuencode
• wait
• wc
• xargs
ⓒ NAVER Connect Foundation
Chapter 2
17
유용한 명령어
https://en.wikipedia.org/wiki/List_of_Unix_commands
• alias
• at
• basename
• cut
• dd
• df
• diff
• dirname
• file
• find
• getopts
• grep
• head
• iconv
• ln
• man
• patch
• sed
• sort
• strings
• tail
• tee
• tr
• uniq
• uudecode
• uuencode
• wait
• wc
• xargs
ⓒ NAVER Connect Foundation
Bash
표준 입력을 복사하여 여러개의
사본으로 만든다.
18
tee -- pipe fitting
2.2 Bash와 친구들
https://en.wikipedia.org/wiki/Tee_(command)#/media/File:Tee.svg
ⓒ NAVER Connect Foundation
Bash
단어:
foo
bar
baz
ham
spam
42
19
grep --
file pattern searcher
2.2 Bash와 친구들
ⓒ NAVER Connect Foundation
Bash
예제는 pipe로 전달된 데이터를
사용했지만, 파일경로를 직접 사
용하는것도 가능하다
20
sed -- stream editor
2.2 Bash와 친구들
ⓒ NAVER Connect Foundation
Bash
문자를 1:1 대응시켜 변환
단순하지만 굉장히 강력한 도구
21
tr -- translate characters
2.2 Bash와 친구들
ⓒ NAVER Connect Foundation
Bash
-d, -f 옵션의 경우는
.split()과 비슷한 면이 있다
22
cut -- cut out selected
portion of each line of a file
2.2 Bash와 친구들
ⓒ NAVER Connect Foundation
Bash
‣ 기본 유틸리티로 echo를 사용
‣ "--" 는 옵션의 끝을 나타낸다
‣ 세상 쉬운 병렬처리
23
xargs -- construct
argument list(s) and
execute utility
2.2 Bash와 친구들
ⓒ NAVER Connect Foundation
Chapter 2
Why not GUI git?
24
• 쉘 스크립트를 이용한 강력한 자동화
• 복잡하고 다양한 옵션을 타이핑으로
• 마우스 없이 키보드 만으로 모든 작업이 가능
ⓒ NAVER Connect Foundation
Chapter 2
25
ⓒ NAVER Connect Foundation
Chapter 2
26
ⓒ NAVER Connect Foundation
Chapter 2
27
ⓒ NAVER Connect Foundation
Chapter 2
28
Crawler(Scraper)를 Bash 쉘 스크립트로
• 빠르고 간단한 작업을 할 때 매우 유용하다
• Networking + xargs의 병렬처리 =
ⓒ NAVER Connect Foundation
Chapter 2
29
curl을 bash로 구현
ⓒ NAVER Connect Foundation
Chapter 2
30
curl을 bash로 구현
ⓒ NAVER Connect Foundation
Chapter 2
31
curl을 bash로 구현
ⓒ NAVER Connect Foundation
Chapter 2
32
curl을 bash로 구현
• /dev/fd
• /dev/stdin
• /dev/stdout
• /dev/stderr
• /dev/tcp
• /dev/udp
ⓒ NAVER Connect Foundation
Chapter 2
33
curl을 bash로 구현
ⓒ NAVER Connect Foundation
Chapter 2
34
curl을 bash로 구현
ⓒ NAVER Connect Foundation
Chapter 2
35
주의 사항
• 너무 커진것은 아닌가 고민하자
• 단정 짓지 마라
ⓒ NAVER Connect Foundation
Chapter 2
36
주의 사항
• 너무 커진것은 아닌가 고민하자
• 쉘 스크립트가 프로그래밍에 적합하지는 않다
• 규모가 커지면 다른 프로그래밍 용도의 스크립트 언어로 재작성 하는것을 고려하자
• 단정 짓지 마라
ⓒ NAVER Connect Foundation
Chapter 2
37
주의 사항
• 너무 커진것은 아닌가 고민하자
• 단정 짓지 마라
ⓒ NAVER Connect Foundation
Chapter 2
38
주의 사항
• 너무 커진것은 아닌가 고민하자
• 단정 짓지 마라
ⓒ NAVER Connect Foundation
Chapter 2
39
주의 사항
• 너무 커진것은 아닌가 고민하자
• 단정 짓지 마라
ⓒ NAVER Connect Foundation
Chapter 2
40
주의 사항
• 너무 커진것은 아닌가 고민하자
• 단정 짓지 마라
ⓒ NAVER Connect Foundation
Chapter 2
41
주의 사항
• 너무 커진것은 아닌가 고민하자
• 단정 짓지 마라
ⓒ NAVER Connect Foundation
Bash
쉘 스크립트도 다양한 플랫폼 지
원이 가능하다.
특수한 경우는 플랫폼 별
JavaScript의 브라우저 분기 처
리와 비슷하게 해결 하는것도 가
능하다.
Bash 스크립트로 POSIX를 만족
하는것은 어렵지만, 적어도 사용
되는 유틸리티는 가능한 POSIX
를 준수하도록
42
이식성 높은 쉘 스크립트 작성
2.4 POSIX
ⓒ NAVER Connect Foundation
Chapter 2
43
Tip. 좋은 쉘 스크립트 작성하기
• 평소에 터미널로 작업을 하고 

반복되는 부분을 따로 스크립트 파일로 작성이 가능하다
• 오픈소스를 통해 배우고 싶다면 scripts 디렉토리를

가진 프로젝트를 살펴보자
• 진리의 공식 문서
• Google Shell Style Guide
https://www.gnu.org/software/bash/manual/html_node/
https://google.github.io/styleguide/shellguide.html
ⓒ NAVER Connect Foundation
Chapter 1
44
dotfiles
• 이동식 개발환경
• 어디서나 동일한 개발환경을 사용할 수 있다
• git의 장점을 온전히 이용 가능
• 이전 시점으로 설정을 돌리거나, 여러곳에 나누어

분산하여 백업
https://github.com/xvezda/dotfiles
ⓒ NAVER Connect Foundation
강의 주제
마치며
45
HomePage: https://xvezda.com
GitHub: https://github.com/Xvezda
E-Mail: xvezda@naver.com
이모지 및 스크린샷 도구
Twemoji: https://github.com/twitter/twemoji
carbon-cli: https://github.com/mixn/carbon-now-cli
ⓒ NAVER Connect Foundation
End of Document
Thank You.

Más contenido relacionado

Similar a [부스트캠프 Tech talk] 최영근 80x24 크기의 세계로

[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on lab[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on labNAVER D2
 
Vim for php
Vim for phpVim for php
Vim for phpSol Kim
 
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발Jeongkyu Shin
 
삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdf삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdfSeung kyoo Park
 
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXpressEngine
 
이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱Jong Wook Kim
 
리눅스 시작하기
리눅스 시작하기리눅스 시작하기
리눅스 시작하기Pete Lee
 
이것이 리눅스다
이것이 리눅스다이것이 리눅스다
이것이 리눅스다Yeon Tae Kim
 
2장 리눅스의 기초
2장 리눅스의 기초2장 리눅스의 기초
2장 리눅스의 기초Young Jin Suh
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기Chanwoong Kim
 
Envoy 를 이용한 코드 배포 자동화
Envoy 를 이용한 코드 배포 자동화Envoy 를 이용한 코드 배포 자동화
Envoy 를 이용한 코드 배포 자동화Juwon Kim
 
Opensource java library deploy public repository
Opensource java library deploy public repositoryOpensource java library deploy public repository
Opensource java library deploy public repositoryKyungHo Jung
 
제로부터시작하는Git
제로부터시작하는Git제로부터시작하는Git
제로부터시작하는GitMario Cho
 
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기SeungYong Oh
 
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017devCAT Studio, NEXON
 
망고100 메뉴얼 환경부터포팅까지-2011-0324
망고100 메뉴얼 환경부터포팅까지-2011-0324망고100 메뉴얼 환경부터포팅까지-2011-0324
망고100 메뉴얼 환경부터포팅까지-2011-0324종인 전
 
Deploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptxDeploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptxwonyong hwang
 
우분투에 시스템콜 추가하기
우분투에 시스템콜 추가하기우분투에 시스템콜 추가하기
우분투에 시스템콜 추가하기Hoyoung Jung
 
[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래NAVER D2
 

Similar a [부스트캠프 Tech talk] 최영근 80x24 크기의 세계로 (20)

[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on lab[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on lab
 
Vim for php
Vim for phpVim for php
Vim for php
 
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
 
삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdf삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdf
 
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
 
이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱
 
리눅스 시작하기
리눅스 시작하기리눅스 시작하기
리눅스 시작하기
 
이것이 리눅스다
이것이 리눅스다이것이 리눅스다
이것이 리눅스다
 
2장 리눅스의 기초
2장 리눅스의 기초2장 리눅스의 기초
2장 리눅스의 기초
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
 
Linux tutorial
Linux tutorialLinux tutorial
Linux tutorial
 
Envoy 를 이용한 코드 배포 자동화
Envoy 를 이용한 코드 배포 자동화Envoy 를 이용한 코드 배포 자동화
Envoy 를 이용한 코드 배포 자동화
 
Opensource java library deploy public repository
Opensource java library deploy public repositoryOpensource java library deploy public repository
Opensource java library deploy public repository
 
제로부터시작하는Git
제로부터시작하는Git제로부터시작하는Git
제로부터시작하는Git
 
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
 
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
 
망고100 메뉴얼 환경부터포팅까지-2011-0324
망고100 메뉴얼 환경부터포팅까지-2011-0324망고100 메뉴얼 환경부터포팅까지-2011-0324
망고100 메뉴얼 환경부터포팅까지-2011-0324
 
Deploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptxDeploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptx
 
우분투에 시스템콜 추가하기
우분투에 시스템콜 추가하기우분투에 시스템콜 추가하기
우분투에 시스템콜 추가하기
 
[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래
 

Más de CONNECT FOUNDATION

부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로
[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로
[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspendCONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지
[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지
[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는 어떻게 재활용하는가
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는  어떻게  재활용하는가[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는  어떻게  재활용하는가
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는 어떻게 재활용하는가CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_RecoilCONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까CONNECT FOUNDATION
 
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)CONNECT FOUNDATION
 
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
 [특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti) [특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)CONNECT FOUNDATION
 
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)CONNECT FOUNDATION
 
부스트캠프 웹∙모바일 7기 설명회
부스트캠프 웹∙모바일 7기 설명회부스트캠프 웹∙모바일 7기 설명회
부스트캠프 웹∙모바일 7기 설명회CONNECT FOUNDATION
 
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
[부스트캠프 Tech Talk] 배지연_Structure of Model and TaskCONNECT FOUNDATION
 
[부스트캠프 Tech Talk] 신원지_Wandb Visualization
[부스트캠프 Tech Talk] 신원지_Wandb Visualization[부스트캠프 Tech Talk] 신원지_Wandb Visualization
[부스트캠프 Tech Talk] 신원지_Wandb VisualizationCONNECT FOUNDATION
 
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)CONNECT FOUNDATION
 
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기CONNECT FOUNDATION
 
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기CONNECT FOUNDATION
 
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy StuffCONNECT FOUNDATION
 

Más de CONNECT FOUNDATION (20)

부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)
 
[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로
[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로
[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로
 
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
 
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
 
[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지
[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지
[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지
 
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
 
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는 어떻게 재활용하는가
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는  어떻게  재활용하는가[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는  어떻게  재활용하는가
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는 어떻게 재활용하는가
 
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
 
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
 
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
 
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
 
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
 [특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti) [특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
 
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
 
부스트캠프 웹∙모바일 7기 설명회
부스트캠프 웹∙모바일 7기 설명회부스트캠프 웹∙모바일 7기 설명회
부스트캠프 웹∙모바일 7기 설명회
 
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
 
[부스트캠프 Tech Talk] 신원지_Wandb Visualization
[부스트캠프 Tech Talk] 신원지_Wandb Visualization[부스트캠프 Tech Talk] 신원지_Wandb Visualization
[부스트캠프 Tech Talk] 신원지_Wandb Visualization
 
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
 
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
 
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
 
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
 

Último

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

Último (8)

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

[부스트캠프 Tech talk] 최영근 80x24 크기의 세계로

  • 1. ⓒ NAVER Connect Foundation 80x24 크기의 세계로 작성자:최영근
  • 2. ⓒ NAVER Connect Foundation 강의 주제 피어세션의 경험 그대로 2 웹 풀스택, 모바일 할 것 없이 유용할만한 정보가 어떤것이 있을까
  • 3. ⓒ NAVER Connect Foundation 1. Terminal 1.1준비 1.2사용 2. Bash 2.1man과친해지자 2.2Bash와친구들 2.3쉘스크립트 2.4POSIX 3.Appendix 4.1dotfiles 3
  • 4. ⓒ NAVER Connect Foundation 1. Terminal 80x24 크기의 세계로 4
  • 5. ⓒ NAVER Connect Foundation Windows Windows Terminal Mac Terminal iTerm2 Linux GNOME Terminal 5 Terminal 1.1 터미널 : 준비
  • 6. ⓒ NAVER Connect Foundation Chapter 1 6 단축키 이동 • ctrl+a: 맨 앞으로 • ctrl+e: 맨 뒤로 • ctrl+f: 한 글자 앞으로 • ctrl+b: 한 글자 뒤로 • alt+f: 한 단어 앞으로 • alt+b: 한 단어 뒤로 편집 • ctrl+k: 맨 뒤까지 자르기 • ctrl+u: 맨 앞까지 자르기 • ctrl+w: 한 단어 자르기 • ctrl+y: 붙여넣기 • ctrl+_ : 되돌리기 (undo) 탐색 • ctrl+p: 이전 기록 • ctrl+n: 다음 기록 • ctrl+r: 이전 기록 검색 • ctrl+ . : 이전의 마지막 인자
  • 7. ⓒ NAVER Connect Foundation Chapter 1 7 단축키 이동 • ctrl+a: 맨 앞으로 • ctrl+e: 맨 뒤로 • ctrl+f: 한 글자 앞으로 • ctrl+b: 한 글자 뒤로 • alt+f: 한 단어 앞으로 • alt+b: 한 단어 뒤로 편집 • ctrl+k: 맨 뒤까지 자르기 • ctrl+u: 맨 앞까지 자르기 • ctrl+w: 한 단어 자르기 • ctrl+y: 붙여넣기 • ctrl+_ : 되돌리기 (undo) 탐색 • ctrl+p: 이전 기록 • ctrl+n: 다음 기록 • ctrl+r: 이전 기록 검색 • ctrl+ . : 이전의 마지막 인자
  • 8. ⓒ NAVER Connect Foundation Terminal foreground를 점유중인 프로세 스를 background로 보낸다. 다른 작업을 한 뒤에 다시 돌아 오는것이 가능하다. 8 fg & bg & ctrl+z 1.2 터미널 : 사용
  • 9. ⓒ NAVER Connect Foundation Terminal 복수의 터미널 세션을 하나의 창에서 접근 가능 9 Tmux Terminal Multiplexer 1.2 터미널 : 사용
  • 10. ⓒ NAVER Connect Foundation 2. Bash 표준인듯 아닌듯 표준같은 쉘 10
  • 11. ⓒ NAVER Connect Foundation Bash man에 대해 알아보기 전에 less에 대해 알아보자 오른쪽은 git --help 명령의 결과이다 11 man과 친하게 2.1 man과 친해지자
  • 12. ⓒ NAVER Connect Foundation Bash git --help | less q: 나가기 h: 도움말 j: 아래 (방향키 동일) k: 위로 (방향키 동일)
 d: 화면의 절반만큼 아래로 u: 화면의 절반만큼 위로 /: 검색 ?: 역방향 검색 n, N: 검색 앞/뒤로 12 man과 친하게 2.1 man과 친해지자
  • 13. ⓒ NAVER Connect Foundation Chapter 2 13 man man • 기본으로 less 사용 • 원하는 내용을 찾기 위해서 알아두자
  • 14. ⓒ NAVER Connect Foundation Chapter 2 14 유용한 명령어 • ls -al /bin • ls -al /usr/bin
  • 15. ⓒ NAVER Connect Foundation Chapter 2 15 유용한 명령어
  • 16. ⓒ NAVER Connect Foundation Chapter 2 16 유용한 명령어 • alias • at • basename • cut • dd • df • diff • dirname • file • find https://en.wikipedia.org/wiki/List_of_Unix_commands • getopts • grep • head • iconv • ln • man • patch • sed • sort • strings • tail • tee • tr • uniq • uudecode • uuencode • wait • wc • xargs
  • 17. ⓒ NAVER Connect Foundation Chapter 2 17 유용한 명령어 https://en.wikipedia.org/wiki/List_of_Unix_commands • alias • at • basename • cut • dd • df • diff • dirname • file • find • getopts • grep • head • iconv • ln • man • patch • sed • sort • strings • tail • tee • tr • uniq • uudecode • uuencode • wait • wc • xargs
  • 18. ⓒ NAVER Connect Foundation Bash 표준 입력을 복사하여 여러개의 사본으로 만든다. 18 tee -- pipe fitting 2.2 Bash와 친구들 https://en.wikipedia.org/wiki/Tee_(command)#/media/File:Tee.svg
  • 19. ⓒ NAVER Connect Foundation Bash 단어: foo bar baz ham spam 42 19 grep -- file pattern searcher 2.2 Bash와 친구들
  • 20. ⓒ NAVER Connect Foundation Bash 예제는 pipe로 전달된 데이터를 사용했지만, 파일경로를 직접 사 용하는것도 가능하다 20 sed -- stream editor 2.2 Bash와 친구들
  • 21. ⓒ NAVER Connect Foundation Bash 문자를 1:1 대응시켜 변환 단순하지만 굉장히 강력한 도구 21 tr -- translate characters 2.2 Bash와 친구들
  • 22. ⓒ NAVER Connect Foundation Bash -d, -f 옵션의 경우는 .split()과 비슷한 면이 있다 22 cut -- cut out selected portion of each line of a file 2.2 Bash와 친구들
  • 23. ⓒ NAVER Connect Foundation Bash ‣ 기본 유틸리티로 echo를 사용 ‣ "--" 는 옵션의 끝을 나타낸다 ‣ 세상 쉬운 병렬처리 23 xargs -- construct argument list(s) and execute utility 2.2 Bash와 친구들
  • 24. ⓒ NAVER Connect Foundation Chapter 2 Why not GUI git? 24 • 쉘 스크립트를 이용한 강력한 자동화 • 복잡하고 다양한 옵션을 타이핑으로 • 마우스 없이 키보드 만으로 모든 작업이 가능
  • 25. ⓒ NAVER Connect Foundation Chapter 2 25
  • 26. ⓒ NAVER Connect Foundation Chapter 2 26
  • 27. ⓒ NAVER Connect Foundation Chapter 2 27
  • 28. ⓒ NAVER Connect Foundation Chapter 2 28 Crawler(Scraper)를 Bash 쉘 스크립트로 • 빠르고 간단한 작업을 할 때 매우 유용하다 • Networking + xargs의 병렬처리 =
  • 29. ⓒ NAVER Connect Foundation Chapter 2 29 curl을 bash로 구현
  • 30. ⓒ NAVER Connect Foundation Chapter 2 30 curl을 bash로 구현
  • 31. ⓒ NAVER Connect Foundation Chapter 2 31 curl을 bash로 구현
  • 32. ⓒ NAVER Connect Foundation Chapter 2 32 curl을 bash로 구현 • /dev/fd • /dev/stdin • /dev/stdout • /dev/stderr • /dev/tcp • /dev/udp
  • 33. ⓒ NAVER Connect Foundation Chapter 2 33 curl을 bash로 구현
  • 34. ⓒ NAVER Connect Foundation Chapter 2 34 curl을 bash로 구현
  • 35. ⓒ NAVER Connect Foundation Chapter 2 35 주의 사항 • 너무 커진것은 아닌가 고민하자 • 단정 짓지 마라
  • 36. ⓒ NAVER Connect Foundation Chapter 2 36 주의 사항 • 너무 커진것은 아닌가 고민하자 • 쉘 스크립트가 프로그래밍에 적합하지는 않다 • 규모가 커지면 다른 프로그래밍 용도의 스크립트 언어로 재작성 하는것을 고려하자 • 단정 짓지 마라
  • 37. ⓒ NAVER Connect Foundation Chapter 2 37 주의 사항 • 너무 커진것은 아닌가 고민하자 • 단정 짓지 마라
  • 38. ⓒ NAVER Connect Foundation Chapter 2 38 주의 사항 • 너무 커진것은 아닌가 고민하자 • 단정 짓지 마라
  • 39. ⓒ NAVER Connect Foundation Chapter 2 39 주의 사항 • 너무 커진것은 아닌가 고민하자 • 단정 짓지 마라
  • 40. ⓒ NAVER Connect Foundation Chapter 2 40 주의 사항 • 너무 커진것은 아닌가 고민하자 • 단정 짓지 마라
  • 41. ⓒ NAVER Connect Foundation Chapter 2 41 주의 사항 • 너무 커진것은 아닌가 고민하자 • 단정 짓지 마라
  • 42. ⓒ NAVER Connect Foundation Bash 쉘 스크립트도 다양한 플랫폼 지 원이 가능하다. 특수한 경우는 플랫폼 별 JavaScript의 브라우저 분기 처 리와 비슷하게 해결 하는것도 가 능하다. Bash 스크립트로 POSIX를 만족 하는것은 어렵지만, 적어도 사용 되는 유틸리티는 가능한 POSIX 를 준수하도록 42 이식성 높은 쉘 스크립트 작성 2.4 POSIX
  • 43. ⓒ NAVER Connect Foundation Chapter 2 43 Tip. 좋은 쉘 스크립트 작성하기 • 평소에 터미널로 작업을 하고 
 반복되는 부분을 따로 스크립트 파일로 작성이 가능하다 • 오픈소스를 통해 배우고 싶다면 scripts 디렉토리를
 가진 프로젝트를 살펴보자 • 진리의 공식 문서 • Google Shell Style Guide https://www.gnu.org/software/bash/manual/html_node/ https://google.github.io/styleguide/shellguide.html
  • 44. ⓒ NAVER Connect Foundation Chapter 1 44 dotfiles • 이동식 개발환경 • 어디서나 동일한 개발환경을 사용할 수 있다 • git의 장점을 온전히 이용 가능 • 이전 시점으로 설정을 돌리거나, 여러곳에 나누어
 분산하여 백업 https://github.com/xvezda/dotfiles
  • 45. ⓒ NAVER Connect Foundation 강의 주제 마치며 45 HomePage: https://xvezda.com GitHub: https://github.com/Xvezda E-Mail: xvezda@naver.com 이모지 및 스크린샷 도구 Twemoji: https://github.com/twitter/twemoji carbon-cli: https://github.com/mixn/carbon-now-cli
  • 46. ⓒ NAVER Connect Foundation End of Document Thank You.