SlideShare a Scribd company logo
1 of 63
Download to read offline
케이블 영화 채널 편성표 수집
MovieScheduler
박윤곤
케이블 영화 채널 편성표 수집
MovieScheduler
박윤곤
hahafree12@gmail.com
자기소개
2014.01 ~ 2016.12
유비쿼스
2016.12 ~ 2017.05
2017.05 ~
KERIS (인턴)
문제의 시작
휴식기에 한 일들
영화를 보는 방법
케이블 TV
(영화 채널, VOD)
케이블 TV 영화 채널의 특성
• 언제든지 영화 시청 가능
• 수신료를 제외하면, 별도의 비용 없음
(단, 유료 채널 제외)
• 중간광고
• 원하는 영화의 방송 여부를 확인하기 번거로움
케이블 영화 채널의 편성표 수집
내가 원하는 채널의 편성표만 확인
편성표 수집
우리 동네의 케이블 영화 채널은?
편성표에 문제가 있어요!
그래서, 이정도만 해 보겠습니다.
매일 새벽, 편성표 수집
Django Redis
Celery
(Beat)
Postgre
SQL
Celery
• an asynchronous task queue/job queue based on distributed
message passing.
• Celery Beat: 스케줄러
• 특정한 간격으로
• 특정 요일 및 시간에
• 대안: APScheduler
Django + Celery
• Celery documentation: First steps with Django
• 디렉터리 구조
Project directory
App directory
movie_scheduler/celery.py
• Celery 인스턴스를 정의합니다.
movie_scheduler/__init__.py
• Django가 시작할 때 Celery 인스턴스를 로드 합니다.
scheduler_core/tasks.py
• 수행하고 싶은 작업을 넣어 줍니다.
Full Source
Django + Celery Beat
• Celery documentation: Periodic Tasks
• 특정 시간에 수행될 작업을 설정합시다.
Full Source
Redis
• Redis is an open source (BSD licensed), in-memory data
structure store, used as a database, cache and message
broker.
• Task를 worker에게 전달합니다.
• 대안: RabbitMQ, Amazon SQS
Redis: 설치에서 적용까지
• 받아서 → 압축 해제 → make → redis-server
• 환경 변수 설정
• movie_scheduler/celery.py
$ export REDIS_URL=redis://
Full Source
Django + Celery Beat + Redis
• Django에서 Celery를 쓰기 위한 준비가 끝났습니다.
• Celery Beat + Worker 실행 (이 방법이 권장됨)
• 이런 방법도 있습니다.
$ celery -A movie_scheduler beat
$ celery -A movie_scheduler worker
$ celery -A movie_scheduler worker -B
CJ E&M 계열 채널 편성표 수집
Requests로 가져오고, BeautifulSoup로 Parsing
Full Source
CJ E&M 계열 채널 편성표 수집
t.cast 계열 채널 편성표 수집
다음 주 편성표로 넘어가려면?
네이버의 검색 결과를 parsing?
requests 라이브러리로 가져오려고 시도했으나…
관련된 API가 있나요?
다른 방법이 없을까요?
Selenium
• 웹 브라우저를 자동화 하기 위해 쓰입니다.
• 웹 브라우저가 필요합니다.
• WebDriver: 웹 브라우저를 구동하기 위한 도구
웹 브라우저를 돌리려면
GUI가 있어야 하지 않나요?
PhantomJS
• Headless Browser: GUI가 필요 없는 웹 브라우저
• PhantomJS
• Chrome(59버전부터, Linux, macOS에서만)
• HtmlUnit
• …
• http://phantomjs.org/
받아서 설치해 봅시다.
• Download Link
• 사용 전에 실행하여 동작 여부를 확인해 보세요.
• 로컬에서 테스트하기 위해 환경 변수 추가
$ export PATH=$PATH:<PhantomJS 실행 파일 경로>
Selenium + PhantomJS의 조합
Full Source
내가 원하는 편성표만 확인
최초 접속 시 표시할 방송국 설정
Full Source
체크한 방송사의 쿠키 저장
Full Source
체크한 방송사의 스케줄만 표시
Full Source
배포
2017-03-04: Heroku에 최초 배포
Heroku 설정
• 기본 Tutorial부터 시작해 봅시다.
• Getting Started on Heroku with Python
• Procfile 설정
web: gunicorn movie_scheduler.wsgi --log-file -
worker: celery -A movie_scheduler worker --loglevel=DEBUG -B --concurrency=1
PhantomJS를 Heroku에서 이용하기
• Heroku Buildpack 설정
• Buildpack 확인: Python, PhantomJS
• Heroku 저장소로 Push하면 설치됩니다.
$ heroku buildpacks:add https://github.com/stomita/heroku-buildpack-phantomjs
$ heroku buildpacks
$ git push heroku master
PostgreSQL 사용하기
• Django 프로젝트인 경우, 자동으로 PostgreSQL과 연결됩니다.
(Django가 아니면?)
• DATABASE_URL 환경 변수에 주소가 지정됩니다.
• dj-database-url 패키지가 필요합니다.
• 프로젝트의 settings.py 파일을 수정해야 합니다.
Redis 사용하기
• 다음 명령으로 Redis를 추가해 줍니다.
• 추가가 완료되면, application이 자동으로 시작됩니다.
• 환경 변수가 생성된 것을 확인해 봅시다.
$ heroku addons:create heroku-redis:hobby-dev -a <App 이름>
$ heroku config | grep REDIS
REDIS_URL: redis://h:asdfqwer1234asdf@ec2-111-1-1-1.compute-1.amazonaws.com:111
Python으로 만든 걸 왜 인식 못할까?
• ‘requirements.txt’ 파일이 없어서 그렇습니다.
• ‘requirement.txt’ 라고 되어 있으면?
편성표 수집을 왜 안 할까?
• Free Dyno인 경우, 30분 동안 접속이 없으면…
• web, worker dyno 모두 sleep
해결책: New Relic
• APM Tool
• 아래 명령으로 설치합니다.
• 로컬 환경에도 pip으로 설치해 주세요.
$ heroku addons:create newrelic:wayne
$ pip install newrelic
주기적으로 생존 여부를 체크합시다.
• Application 이름 클릭 → Settings → Availability monitoring
• Procfile 수정
web: newrelic-admin run-program gunicorn movie_scheduler.wsgi --log-file -
주기적으로 생존 여부를 체크합시다.
유지 비용 없애기
무료로 쓸 수 있는 최대 시간?
현재 작동하는 구조
Web Dyno Worker Dyno
PostgreSQLRedis
Gunicorn
Django
Celery
(Beat + Worker)
Time goes by, so fast.
시간은 ‘돈’
• 모든 Dyno의 사용량을 합하여 1,000 시간입니다.
• 20(일) * 24(시간) * 2(Dynos) = 960(시간)
• 돈을 내고 업그레이드를 하거나,
다음 달까지 기다려야 합니다.
Process Scheduler
• web dyno는 항상 동작해야 하지만,
worker dyno는 새벽에만 동작해도 됩니다.
• Process Scheduler를 이용해 봅시다.
원하는 시간대를
드래그
↓
숫자 입력
DB 용량에 제한이 있다고요?
Hobby tier에서의 제한
지난 주의 스케줄 지우기
지불해야 하는 비용은?
$ 0
여담
팟플레이어의 영화/애니메이션 채널 정보도 수집?
아직 개선해야 할 사항
• 편성표 로딩 시 그 날의 모든 데이터를 가져옵니다.
• 스케줄 표시하는 페이지의 개선이 필요합니다.
• 날짜 이동하는 부분 고정
• 방송국 표시 순서를 바꿀 수 있도록 개선
• 기타 등등…
Q&A
감사합니다
실제 동작 확인: http://moviescheduler.gonigoni.kr
소스: http://github.com/rubysoho07/movie_scheduler
rubysoho07

More Related Content

What's hot

Kgc2014 삼한제국기 포스트모템 김찬웅
Kgc2014 삼한제국기 포스트모템 김찬웅Kgc2014 삼한제국기 포스트모템 김찬웅
Kgc2014 삼한제국기 포스트모템 김찬웅Chanwoong Kim
 
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)LanarkSeung
 
AWS Amplify & Cognito: 백엔드를 재발명하지 않는 방법들
AWS Amplify & Cognito: 백엔드를 재발명하지 않는 방법들AWS Amplify & Cognito: 백엔드를 재발명하지 않는 방법들
AWS Amplify & Cognito: 백엔드를 재발명하지 않는 방법들LanarkSeung
 
Front end 웹사이트 성능 측정 및 개선
Front end 웹사이트 성능 측정 및 개선Front end 웹사이트 성능 측정 및 개선
Front end 웹사이트 성능 측정 및 개선기동 이
 
ZEPL, Apache Zeppelin을 뛰어넘자
ZEPL, Apache Zeppelin을 뛰어넘자ZEPL, Apache Zeppelin을 뛰어넘자
ZEPL, Apache Zeppelin을 뛰어넘자Ahyoung Ryu
 
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들Woong Seok Kang
 
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기Jongwon Han
 
[자바카페] Infra CI (2018)
[자바카페] Infra CI (2018)[자바카페] Infra CI (2018)
[자바카페] Infra CI (2018)용호 최
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)Hyojun Jeon
 
Aws 커뮤니티데이 APM 헨즈온
Aws 커뮤니티데이 APM 헨즈온Aws 커뮤니티데이 APM 헨즈온
Aws 커뮤니티데이 APM 헨즈온재현 신
 
AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020
AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020 AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020
AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020 AWSKRUG - AWS한국사용자모임
 
Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...
Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...
Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...Jongwon Han
 
500.JBoss Troubleshooting Essential
500.JBoss Troubleshooting Essential500.JBoss Troubleshooting Essential
500.JBoss Troubleshooting EssentialOpennaru, inc.
 
[NDC17] 왓 스튜디오 서비스파트
[NDC17] 왓 스튜디오 서비스파트[NDC17] 왓 스튜디오 서비스파트
[NDC17] 왓 스튜디오 서비스파트Chanwoong Kim
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기Brian Hong
 

What's hot (20)

Kgc2014 삼한제국기 포스트모템 김찬웅
Kgc2014 삼한제국기 포스트모템 김찬웅Kgc2014 삼한제국기 포스트모템 김찬웅
Kgc2014 삼한제국기 포스트모템 김찬웅
 
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)
 
Aws로 ci하기 안기욱
Aws로 ci하기 안기욱Aws로 ci하기 안기욱
Aws로 ci하기 안기욱
 
AWS Amplify & Cognito: 백엔드를 재발명하지 않는 방법들
AWS Amplify & Cognito: 백엔드를 재발명하지 않는 방법들AWS Amplify & Cognito: 백엔드를 재발명하지 않는 방법들
AWS Amplify & Cognito: 백엔드를 재발명하지 않는 방법들
 
Ansible과 CloudFormation을 이용한 배포 자동화
Ansible과 CloudFormation을 이용한 배포 자동화Ansible과 CloudFormation을 이용한 배포 자동화
Ansible과 CloudFormation을 이용한 배포 자동화
 
Front end 웹사이트 성능 측정 및 개선
Front end 웹사이트 성능 측정 및 개선Front end 웹사이트 성능 측정 및 개선
Front end 웹사이트 성능 측정 및 개선
 
ZEPL, Apache Zeppelin을 뛰어넘자
ZEPL, Apache Zeppelin을 뛰어넘자ZEPL, Apache Zeppelin을 뛰어넘자
ZEPL, Apache Zeppelin을 뛰어넘자
 
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
 
Redis on AWS
Redis on AWSRedis on AWS
Redis on AWS
 
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
 
[자바카페] Infra CI (2018)
[자바카페] Infra CI (2018)[자바카페] Infra CI (2018)
[자바카페] Infra CI (2018)
 
Dynamodb 삽질기
Dynamodb 삽질기Dynamodb 삽질기
Dynamodb 삽질기
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
 
Aws 커뮤니티데이 APM 헨즈온
Aws 커뮤니티데이 APM 헨즈온Aws 커뮤니티데이 APM 헨즈온
Aws 커뮤니티데이 APM 헨즈온
 
AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020
AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020 AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020
AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020
 
Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...
Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...
Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...
 
500.JBoss Troubleshooting Essential
500.JBoss Troubleshooting Essential500.JBoss Troubleshooting Essential
500.JBoss Troubleshooting Essential
 
[NDC17] 왓 스튜디오 서비스파트
[NDC17] 왓 스튜디오 서비스파트[NDC17] 왓 스튜디오 서비스파트
[NDC17] 왓 스튜디오 서비스파트
 
[Tool] cwb cqp
[Tool] cwb cqp[Tool] cwb cqp
[Tool] cwb cqp
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기
 

Similar to PyCon Korea 2017 - 케이블 영화 채널 편성표 수집 - MovieScheduler

코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개태준 문
 
AngularJS In Production
AngularJS In ProductionAngularJS In Production
AngularJS In ProductionMooYeol Lee
 
bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포KwangSeob Jeong
 
PHPStorm - tool for php
PHPStorm - tool for phpPHPStorm - tool for php
PHPStorm - tool for phpSungbum Hong
 
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 SMARTSTUDYHyun-woo Park
 
ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자Sewon Ann
 
Envoy 를 이용한 코드 배포 자동화
Envoy 를 이용한 코드 배포 자동화Envoy 를 이용한 코드 배포 자동화
Envoy 를 이용한 코드 배포 자동화Juwon Kim
 
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016Amazon Web Services Korea
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기Chanwoong Kim
 
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기Joongi Kim
 
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석Amazon Web Services Korea
 
[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱NAVER D2
 
도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: YeomanJae Sung Park
 
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)Amazon Web Services Korea
 
Firebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
Firebase for Web (웹개발을 위한 파이어베이스) 1 HostingFirebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
Firebase for Web (웹개발을 위한 파이어베이스) 1 Hosting승빈이네 공작소
 
삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdf삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdfSeung kyoo Park
 
Ansible introduction & demo
Ansible introduction & demoAnsible introduction & demo
Ansible introduction & demoYongKi Kim
 
Django로 배우는 쉽고 빠른 웹개발 study 자료
Django로 배우는 쉽고 빠른 웹개발 study 자료Django로 배우는 쉽고 빠른 웹개발 study 자료
Django로 배우는 쉽고 빠른 웹개발 study 자료Han Sung Kim
 
201803 파이썬 세미나
201803 파이썬 세미나201803 파이썬 세미나
201803 파이썬 세미나JeongHwan Kim
 

Similar to PyCon Korea 2017 - 케이블 영화 채널 편성표 수집 - MovieScheduler (20)

코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개
 
DevOps Study
DevOps StudyDevOps Study
DevOps Study
 
AngularJS In Production
AngularJS In ProductionAngularJS In Production
AngularJS In Production
 
bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포
 
PHPStorm - tool for php
PHPStorm - tool for phpPHPStorm - tool for php
PHPStorm - tool for php
 
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
 
ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자
 
Envoy 를 이용한 코드 배포 자동화
Envoy 를 이용한 코드 배포 자동화Envoy 를 이용한 코드 배포 자동화
Envoy 를 이용한 코드 배포 자동화
 
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
 
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
 
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석
 
[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱
 
도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman
 
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
 
Firebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
Firebase for Web (웹개발을 위한 파이어베이스) 1 HostingFirebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
Firebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
 
삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdf삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdf
 
Ansible introduction & demo
Ansible introduction & demoAnsible introduction & demo
Ansible introduction & demo
 
Django로 배우는 쉽고 빠른 웹개발 study 자료
Django로 배우는 쉽고 빠른 웹개발 study 자료Django로 배우는 쉽고 빠른 웹개발 study 자료
Django로 배우는 쉽고 빠른 웹개발 study 자료
 
201803 파이썬 세미나
201803 파이썬 세미나201803 파이썬 세미나
201803 파이썬 세미나
 

PyCon Korea 2017 - 케이블 영화 채널 편성표 수집 - MovieScheduler