Linux:편해지기
목차
리눅스
편견깨기
아직도 윈도우가
최고인 줄 알지?
정리
&
도와드려요
리눅스는
왜
사랑스러운가
왜 써야하나
1. 리눅스에 대한 편견 깨기
리눅스 하면 생각나는 이미지?
1.검은 바탕에 푸른 글씨?
2.컴덕?
3.딱딱한 화면?
2주차 linux
요약하면,
뭔가 어렵고 이상한데다 컴퓨터랑 씨름해야 할 것 같은 이미지
그럼 질문 하나:
윈도우에서 뭔가를 해 보신 분?
Or
윈도우에서 뭔가 하는걸 설명하는 거
보신 분?
Q: 왜 없을까요?
Q: 왜 없을까요?
A: 더럽게 어려우니까
생각의 전제를 바꿉시다:
프로그래머는 매우 게으르다
게으르다
게으른 사람들이
구태여
어려운 걸 쓸까요?
2주차 linux
말하고 싶은건 이겁니다
리눅스는 윈도우보다 편하다
최소한 “개발”을 할 때는
잘 안 와 닿을 테니 제 사례를 들어서…
컴퓨터를 포맷했습니다.
뭔가를 만들 수 있는 환경을 만드는 데 걸리는 시간?
뭔가를 만들 수 있는 환경
뭔가를 만들 수 있는 환경
=개발환경
뭔가를 만들 수 있는 환경
=개발환경
아무도 제로베이스에서 시작하지 않습니다.
뭔가를 만들 수 있는 환경
=개발환경
아무도 제로베이스에서 시작하지 않습니다.
남들이 어느 정도 만들어 둔 걸 가져다 씁니다
시간 비교
(운영체제+개발환경)을(설치+업데이트)까지 다 하는데 걸리는 시간
0 2 4 6 8 10
시간 비교
(운영체제+개발환경)을(설치+업데이트)까지 다 하는데 걸리는 시간
0 2 4 6 8 10
시간 비교
(운영체제+개발환경)을(설치+업데이트)까지 다 하는데 걸리는 시간
0 2 4 6 8 10
시간 비교
(운영체제+개발환경)을(설치+업데이트)까지 다 하는데 걸리는 시간
0 2 4 6 8 10
시간 비교
(운영체제+개발환경)을(설치+업데이트)까지 다 하는데 걸리는 시간
4배 시간차
사실1:일단 윈도우는 오래 걸린다
왜 이런 시간 차이가 생기는지는 잠시 뒤에…
또 다른 사례
예전에 AMP 올리는 데 필요한 과정
AMP
그게 뭔데여
AMP
그게 뭔데여
몰라도 됩니다. 중요한 건 뭘 설치한다는 거
과정 비교
1.http://www.apachelounge.com/download/ 에서 설치 파일을 다운받는다
2.압축을 푼다
3.설치한다
4.환경변수 PATH에 C:Apache24bin을 추가한다
5.Configuration 파일을 용도에 맞게 수정한다
6.http://dev.mysql.com/에서 설치 파일을 다운받는다
7.압축을 푼다
8.설치한다
9.환경변수에 MYSQL_HOME를 추가하고 에 C:mysql-5.6.14-winx64를 대입한다
10. http://www.microsoft.com/web/downloads/platform.aspx에서 php 설치파일을 다운받는다
11. php.ini 파일을 용도에 맞게 수정한다
1.터미널을 켠다
2.
brew install mysql
brew tap homebrew/dupes
brew tap homebrew/apache
brew install -v httpd22 --with-
brewed-openssl
를 붙여넣는다
2.
sudo apt-get install apache2
mysql-server mysql-client php5
php5-common
를 붙여넣는다
과정 비교
1.http://www.apachelounge.com/download/ 에서 설치 파일을 다운받는다
2.압축을 푼다
3.설치한다
4.환경변수 PATH에 C:Apache24bin을 추가한다
5.Configuration 파일을 용도에 맞게 수정한다
6.http://dev.mysql.com/에서 설치 파일을 다운받는다
7.압축을 푼다
8.설치한다
9.환경변수에 MYSQL_HOME를 추가하고 에 C:mysql-5.6.14-winx64를 대입한다
10. http://www.microsoft.com/web/downloads/platform.aspx에서 php 설치파일을 다운받는다
11. php.ini 파일을 용도에 맞게 수정한다
1.터미널을 켠다
2.
brew install mysql
brew tap homebrew/dupes
brew tap homebrew/apache
brew install -v httpd22 --with-
brewed-openssl
를 붙여넣는다
2.
sudo apt-get install apache2
mysql-server mysql-client php5
php5-common
를 붙여넣는다
과정 비교
11 Step 2 Step
사실2:일단 윈도우는 복잡하다
마지막 사례
HHVM을 설치하고 싶다
HHVM
HHVM
몰라두 댐. 설명도 안할거
HHVM
몰라두 댐. 설명도 안할거
블라블라블라 페북이 만들었고
HHVM
몰라두 댐. 설명도 안할거
블라블라블라 페북이 만들었고
블라블라블라 빠르고
HHVM
몰라두 댐. 설명도 안할거
블라블라블라 페북이 만들었고
블라블라블라 빠르고
하여튼 좋은거
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
sudo add-apt-repository "deb http://dl.hhvm.com/ubuntu $(lsb_release -sc) main“
sudo apt-get update
sudo apt-get install hhvm
길어 보이지만…
결론은 이거 한 번 복붙하면 됩니다 ㅇㅇ
brew tap hhvm/hhvm
brew install hhvm
2주차 linux
없다(???????)
사실3:윈도우에는 없다(!)
정리
윈도우는 뭔가 설치하려고 하면
정리
윈도우는 뭔가 설치하려고 하면
오래 걸리거나
정리
윈도우는 뭔가 설치하려고 하면
오래 걸리거나, 복잡하거나
정리
윈도우는 뭔가 설치하려고 하면
오래 걸리거나, 복잡하거나, 그게 없다
근데 게임 할 때는 괜찮던데요?
KOSMOS는 개발 동아리
개발은 결국 삽질
어차피 할 삽질을 최대한 줄이는데는 윈도우보다 리눅스
결국 리눅스를 쓰는 건
컴퓨터랑 씨름하는 게 좋아서가 아니라
그게 더 편해서
2.컴덕?
2.컴덕?
게다가 요새는 예쁘기도 합니다
개발환경_직캠.jpg
리눅스도 예쁘게 만드는게 대세
2주차 linux
게임도 꼭 안 되는 건 아닙니다
컴퓨터 잘 하시는 분들도 예쁜거 좋아합니다.
그리고 무엇보다도
어렵게 만들어 놓으면 아무도 안 쓴다는걸 너무나 잘 압니다.
그래서 요새 리눅스는
예쁘고 일반적인 용도로도 쓰기 편하게
만들어진 것들이 많습니다.
1.검은 바탕에 푸른 글씨?
1.검은 바탕에 푸른 글씨?
1.검은 바탕에 푸른 글씨?
그때그때 더 편한걸로
과정 비교
11 Step 2 Step
과정 비교
무한클릭질
&
설정
복붙
3.딱딱한 화면?
3.딱딱한 화면?
리눅스가 개발용으로 더 편한 건 알겠습니다
근데 어떻게 이게 가능한가요?
그러니까 왜 뭔가를 설치하는 게 더 쉬운가요?
답은
“패키지 매니저”
다
“패키지 매니저”
“패키지 매니저”
쉽게 말해
개발도구 앱스토어
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
sudo add-apt-repository "deb http://dl.hhvm.com/ubuntu $(lsb_release -sc) main“
sudo apt-get update
sudo apt-get install hhvm
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
sudo add-apt-repository "deb http://dl.hhvm.com/ubuntu $(lsb_release -sc) main“
sudo apt-get update
sudo apt-get install hhvm
brew tap hhvm/hhvm
brew install hhvm
패키지 1
안녕? 난 패키지 1이야
패키지 1 패키지 2
안녕? 난 패키지 1이야
옆의 친구 패키지 2랑
자주 같이 일하지
까꿍!
패키지 1 패키지 2
난 패키지
ABC로 만들어 졌어!
패키지C
넌 뭘로 만들어졌니,
패키지A?
나?
나는 패키지αβγ로
만들어졌어!
패키지γ
……
패키지γ
왜 니 자식만 이야기하냐!
나도 자식 있어!
난 자식이 15개야!
아니
빼액
더 궁금한 거 있음?
패키지 1 패키지 2
패키지2,
내가 너랑 일하려면
뭘 해야 하지?
으음?
패키지 1 패키지 2
FUCK
일단 A에 옵션 #을 주고
B는 설치할때 %#$%를 하고
기왕이면 Z도 데려와
거기다
………
패키지 1 패키지 2
즐
내 자식들도
기왕에 소개시켜 줄까?
에엥?
어? 나 업뎃됨
오 ㅊㅊ
아 놔짜잔!
어떤 기술이 다른 기술로 만들어 진 것을 보고
의존성이라 합니다
패키지 1은 패키지 A에 의존한다
뭔가를 만드는데,
연동이 필요한 도구를 일일이 연동시키고
의존적인 패키지들을 일일이 찾아서 따로 설치하고
개발 도중에 업데이트되는 패키지를 직접 업데이트하면
뭔가를 만드는데,
연동이 필요한 도구를 일일이 연동시키고
의존적인 패키지들을 일일이 찾아서 따로 설치하고
개발 도중에 업데이트되는 패키지를 직접 업데이트하면
뭔가를 만드는데,
연동이 필요한 도구를 일일이 연동시키고
의존적인 패키지들을 일일이 찾아서 따로 설치하고
개발 도중에 업데이트되는 패키지를 직접 업데이트하면
뭔가를 만드는데,
연동이 필요한 도구를 일일이 연동시키고
의존적인 패키지들을 일일이 찾아서 따로 설치하고
개발 도중에 업데이트되는 패키지를 직접 업데이트하면
뭔가를 만드는데,
연동이 필요한 도구를 일일이 연동시키고
의존적인 패키지들을 일일이 찾아서 따로 설치하고
개발 도중에 업데이트되는 패키지를 직접 업데이트하면
앱스토어는 무엇을 하나요?
앱스토어는
앱을 완벽하게 설치해주고
변경사항이 있을 때마다 업데이트
패키지 매니저 == 개발도구 앱스토어
앱스토어는
앱을 완벽하게 설치해주고
변경사항이 있을 때마다 업데이트
패키지 매니저는
개발도구를 완벽하게 설치해주고
변경사항이 있을 때마다 업데이트
완벽하게 설치
의존성 검사, 연동 포함
시간 비교
(운영체제+개발환경)을(설치+업데이트)까지 다 하는데 걸리는 시간
0 2 4 6 8 10
왜 이런 시간 차이가 생기는지는 잠시 뒤에…
왜 이런 시간 차이가 생기는지
답은
“패키지 매니저”
다
물론 이거 말고도 편한 이유는 많습니다
운영체제 자체가 뭔가 설정하고 개조하는게 훨씬 쉬워서 개발환경 꾸리기 유리함
쓰는 사람들의 공유정신이 더 강해서 문제 해결정보를 찾아보기 쉬움
…
정리하면, 리눅스는
뭔가 설치하기 쉽고
알아서 해 주는 게 많으며
문제 해결 정보를 찾아보기 쉽다
그러니까 리눅스 쓰세요
다음 시간부터는 리눅스 기준으로 나갑니다
컴퓨터에 윈도우랑 리눅스 둘 다 깔아서 쓸 수도 있어요
거기다 인기있는 녀석들은 기본탑재
파이썬 루비
한번 복붙으로 설치하는 개발계의 아이돌들
마리아DB
깃
도커
MySQL MongoDB
node.js
설치가 힘들면…
Ask for help!
학교에 저희가 있으면 부탁하세요
아니면 카톡으로 물어봐도 좋음
2주차 linux
저작권 고지사항
Pictograms from Noun Project
Cezary Lopacinski, Dan Hetteix, Quentin Couillard, Pablo Bravo

More Related Content

PPTX
리눅스 스터디 1회차
PDF
이것이 리눅스다
PPTX
이것이 리눅스다 - 김종욱
PDF
우분투 12.04 편법으로 외장하드에 설치해보기
PPTX
1주차 리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져
PPTX
초등학생도 하는 그냥 DB설치
PDF
코분투메뉴얼 10.04 Cobuntu Manual
PDF
Snaps on Ubuntu Desktop
리눅스 스터디 1회차
이것이 리눅스다
이것이 리눅스다 - 김종욱
우분투 12.04 편법으로 외장하드에 설치해보기
1주차 리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져
초등학생도 하는 그냥 DB설치
코분투메뉴얼 10.04 Cobuntu Manual
Snaps on Ubuntu Desktop

What's hot (20)

PDF
리눅스 시작하기
PPTX
개발자를 위한, WINDOWS 10으로 시작하는 UBUNTU LINUX
PDF
노태상 - 리눅스 커널 개요 및 이슈 아이엠 (2010Y01M30D)
PPTX
why docker
PDF
Hello std.io 유명환_20140125
PDF
시스템 관리자를 위한 리눅스강의 1강 20130203
PPTX
리눅스에 대하여
PPTX
Virtual Box 게스트 확장설치
PPTX
ITs 2주차_기본명령어(발표)
PDF
Maker 오해와 진실
PPTX
동기화되는 삶, Windows live mesh 2011[블랙버전]
PDF
리눅스 환경에서 SonarQube 간단하게 사용해보기
PDF
Linux tutorial
PDF
Java 개발자가 하드웨어를 만나게 된다면??
PPTX
caanoo Ernice
PPTX
오리엔테이션
PDF
2장 리눅스의 기초
PDF
Mongo DB 활용가이드 Tip 35 ~ 41
PPTX
Tensorflow 설치 가이드 for Windows10
PPTX
PFsense 방화벽 소개
리눅스 시작하기
개발자를 위한, WINDOWS 10으로 시작하는 UBUNTU LINUX
노태상 - 리눅스 커널 개요 및 이슈 아이엠 (2010Y01M30D)
why docker
Hello std.io 유명환_20140125
시스템 관리자를 위한 리눅스강의 1강 20130203
리눅스에 대하여
Virtual Box 게스트 확장설치
ITs 2주차_기본명령어(발표)
Maker 오해와 진실
동기화되는 삶, Windows live mesh 2011[블랙버전]
리눅스 환경에서 SonarQube 간단하게 사용해보기
Linux tutorial
Java 개발자가 하드웨어를 만나게 된다면??
caanoo Ernice
오리엔테이션
2장 리눅스의 기초
Mongo DB 활용가이드 Tip 35 ~ 41
Tensorflow 설치 가이드 for Windows10
PFsense 방화벽 소개
Ad

Viewers also liked (20)

PPTX
리눅스 드라이버 실습 #3
PPTX
리눅스 드라이버 실습 #1
PDF
PPTX
tcp ip study
PDF
2차년도 융합전문가 특강 - 네트워크 보안
PDF
[47th KUG PP] Visual Presentation
PPTX
13.품격을 높여주는 비지니스 차트 j.mp-gnchart(44 p)
PPTX
[웹프로그래밍] 최종발표
PPT
09.11.19. Twenty Network
PDF
Monument Ball travel 최종 발표
PPTX
2. basic data structures(1)
PPT
Chart PPT
PDF
[발표용 '15.11.27]정보보안 전문가 되는길 new(최종_요약본)
PPT
L4교육자료
PDF
모바일컨버전스-Trusted IP Network(TIPN) 솔루션
PPTX
솜노트 에버노트 비교
PDF
14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)
PDF
서버 인프라를지탱하는기술(1.3,1.4)
PDF
임베디드 리눅스 악성코드로 본 사물인터넷 보안 차민석 20150406_코드게이트 발표판
리눅스 드라이버 실습 #3
리눅스 드라이버 실습 #1
tcp ip study
2차년도 융합전문가 특강 - 네트워크 보안
[47th KUG PP] Visual Presentation
13.품격을 높여주는 비지니스 차트 j.mp-gnchart(44 p)
[웹프로그래밍] 최종발표
09.11.19. Twenty Network
Monument Ball travel 최종 발표
2. basic data structures(1)
Chart PPT
[발표용 '15.11.27]정보보안 전문가 되는길 new(최종_요약본)
L4교육자료
모바일컨버전스-Trusted IP Network(TIPN) 솔루션
솜노트 에버노트 비교
14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)
서버 인프라를지탱하는기술(1.3,1.4)
임베디드 리눅스 악성코드로 본 사물인터넷 보안 차민석 20150406_코드게이트 발표판
Ad

Similar to 2주차 linux (20)

PDF
대신 귀여운 리눅스를 드리겠습니다
PPTX
IoT with Raspberry Pi + Node JS - Chapter 1
PDF
버그 트래킹 시스템 Mantis의 사용 그리고 예제
PDF
Puppet과 자동화된 시스템 관리
PDF
3.ubuntu custom
PPTX
Ubuntu packaging - make package
PDF
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)
PDF
오픈 소스 사용 매뉴얼
PDF
도커없이 컨테이너 만들기 1편
PPTX
Github? linux? 이건 뭐지?
PPTX
우분투 커널 컴파일
PDF
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
PDF
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
PDF
JetsonTX2 Python
PDF
build a linux webhosting server
PPTX
OpenStack
PDF
강분도 - 공개SW개발과 우분투 (2010Y10M05D)
PDF
Debian packaging - basic process
PDF
Laravel로 스타트업 기술 스택 구성하기
PDF
개방형 데스크톱 OS 기술동향
대신 귀여운 리눅스를 드리겠습니다
IoT with Raspberry Pi + Node JS - Chapter 1
버그 트래킹 시스템 Mantis의 사용 그리고 예제
Puppet과 자동화된 시스템 관리
3.ubuntu custom
Ubuntu packaging - make package
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)
오픈 소스 사용 매뉴얼
도커없이 컨테이너 만들기 1편
Github? linux? 이건 뭐지?
우분투 커널 컴파일
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
JetsonTX2 Python
build a linux webhosting server
OpenStack
강분도 - 공개SW개발과 우분투 (2010Y10M05D)
Debian packaging - basic process
Laravel로 스타트업 기술 스택 구성하기
개방형 데스크톱 OS 기술동향

More from 준혁 이 (12)

PDF
Monument ball travel - 착시현상 구현하기
PDF
KUICS 리버싱 스터디 1회차
PDF
대중서사장르의 이해
PDF
병렬 프로그래밍2
PDF
3주차 language
PDF
병렬 프로그래밍
PDF
2015 2학기 KOSMOS 1주차 세미나
PPTX
Microsoft Build 2015 원정대 참관후기
PPTX
영상 스터디 3회차
PPTX
영상 스터디 1회차
PPTX
First Study Reference(Editted)
PPTX
First reference
Monument ball travel - 착시현상 구현하기
KUICS 리버싱 스터디 1회차
대중서사장르의 이해
병렬 프로그래밍2
3주차 language
병렬 프로그래밍
2015 2학기 KOSMOS 1주차 세미나
Microsoft Build 2015 원정대 참관후기
영상 스터디 3회차
영상 스터디 1회차
First Study Reference(Editted)
First reference

2주차 linux