Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)LanarkSeung프로덕션 환경에서 클라이언트 사이드 렌더링을 고집하기란 힘든 일입니다. 서버를 통해 웹사이트를 제공하면서도 React의 편리함을 누리려면 서버 사이드 렌더링(SSR)을 구현해야 하는데요. Create-React-App을 그대로 유지하면서 SSR을 구현하는 과정을 보여드리고자 합니다. TypeScript로도 가능합니다!
AWS Amplify & Cognito: 백엔드를 재발명하지 않는 방법들LanarkSeungDB 스키마를 해석하여 API 메서드를 자동 생성해주는 툴들이 생겨나고 있습니다. 이런 흐름에 발맞추어 AWS도 자사 리소스를 이용하게 해주는 서버리스 매니징 툴 aws-amplify를 출시했는데요, 이 서비스에 대해 알아보는 슬라이드입니다.
Front end 웹사이트 성능 측정 및 개선기동 이Front-end 성능 측정과 개선을 위한 성능 측정 도구에 대한 세미나로
각각의 성능 개선 방법은 기술하지 않고 보는 사람이 측정도구를 통해 문제점을 찾아
개선할 수 있도록 한다.
그리고 성능 개선 모듈에 대해서 알아 본다.
ZEPL, Apache Zeppelin을 뛰어넘자Ahyoung RyuApache Zeppelin 을 등에업고 ZEPL project (Zeppelin SaaS version)를 시작하게 되었지만, 아이러니하게도 Zeppelin의 기능을 뛰어 넘어야 하는것이 가장 먼저 넘어야할 산이 되었던 상황과 이를 위해 저희 ZEPL팀에서 어떤 노력들을 헀는지에 대한 경험을 공유하고자 합니다.
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)Hyojun JeonNDC18에서 발표하였습니다. 현재 보고 계신 슬라이드는 2부 입니다.(총 2부)
- 1부 링크: https://goo.gl/3v4DAa
- 2부 링크: https://goo.gl/wpoZpY
(ݺߣShare에 슬라이드 300장 제한으로 2부로 나누어 올렸습니다. 불편하시더라도 양해 부탁드립니다.)
AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020 AWSKRUG - AWS한국사용자모임AWS SAM을 사용하게 된 계기를 설명드리고, AWS SAM template이 Cloudformation위에서 운영되기 때문에 Cloudformation에서 사용되는 주요 기능들을 설명합니다. 그리고 Infrastructure as code를 위한 Pipeline을 구축할 때 Cloudformation과 함께 사용할 수 있는 Tool들을 설명합니다. API Gateway, Lambda, SQS, SNS, DynamoDB(경우에 따라서는 VPC 설정과 함께 Elasticache와 RDS)로 구성된 비교적 단순한 시스템에 AWS SAM을 사용한 경험을 바탕으로 준비가 되었습니다. 아주 복잡한 시스템에 AWS SAM을 적용한 것이 아니기 때문에 이부분에서는 내용이 한계가 있을 수 있습니다.
Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...Jongwon HanBackend server monitoring and alarm system (collectd, graphite, grafana, zabbix) ('우리 안의 소리', 2016-02-21)
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)LanarkSeung프로덕션 환경에서 클라이언트 사이드 렌더링을 고집하기란 힘든 일입니다. 서버를 통해 웹사이트를 제공하면서도 React의 편리함을 누리려면 서버 사이드 렌더링(SSR)을 구현해야 하는데요. Create-React-App을 그대로 유지하면서 SSR을 구현하는 과정을 보여드리고자 합니다. TypeScript로도 가능합니다!
AWS Amplify & Cognito: 백엔드를 재발명하지 않는 방법들LanarkSeungDB 스키마를 해석하여 API 메서드를 자동 생성해주는 툴들이 생겨나고 있습니다. 이런 흐름에 발맞추어 AWS도 자사 리소스를 이용하게 해주는 서버리스 매니징 툴 aws-amplify를 출시했는데요, 이 서비스에 대해 알아보는 슬라이드입니다.
Front end 웹사이트 성능 측정 및 개선기동 이Front-end 성능 측정과 개선을 위한 성능 측정 도구에 대한 세미나로
각각의 성능 개선 방법은 기술하지 않고 보는 사람이 측정도구를 통해 문제점을 찾아
개선할 수 있도록 한다.
그리고 성능 개선 모듈에 대해서 알아 본다.
ZEPL, Apache Zeppelin을 뛰어넘자Ahyoung RyuApache Zeppelin 을 등에업고 ZEPL project (Zeppelin SaaS version)를 시작하게 되었지만, 아이러니하게도 Zeppelin의 기능을 뛰어 넘어야 하는것이 가장 먼저 넘어야할 산이 되었던 상황과 이를 위해 저희 ZEPL팀에서 어떤 노력들을 헀는지에 대한 경험을 공유하고자 합니다.
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)Hyojun JeonNDC18에서 발표하였습니다. 현재 보고 계신 슬라이드는 2부 입니다.(총 2부)
- 1부 링크: https://goo.gl/3v4DAa
- 2부 링크: https://goo.gl/wpoZpY
(ݺߣShare에 슬라이드 300장 제한으로 2부로 나누어 올렸습니다. 불편하시더라도 양해 부탁드립니다.)
AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020 AWSKRUG - AWS한국사용자모임AWS SAM을 사용하게 된 계기를 설명드리고, AWS SAM template이 Cloudformation위에서 운영되기 때문에 Cloudformation에서 사용되는 주요 기능들을 설명합니다. 그리고 Infrastructure as code를 위한 Pipeline을 구축할 때 Cloudformation과 함께 사용할 수 있는 Tool들을 설명합니다. API Gateway, Lambda, SQS, SNS, DynamoDB(경우에 따라서는 VPC 설정과 함께 Elasticache와 RDS)로 구성된 비교적 단순한 시스템에 AWS SAM을 사용한 경험을 바탕으로 준비가 되었습니다. 아주 복잡한 시스템에 AWS SAM을 적용한 것이 아니기 때문에 이부분에서는 내용이 한계가 있을 수 있습니다.
Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...Jongwon HanBackend server monitoring and alarm system (collectd, graphite, grafana, zabbix) ('우리 안의 소리', 2016-02-21)
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석Amazon Web Services Korea2015년 4월 21일 서울 코엑스에서 열렸던 AWS Summit Seoul 2015의 세번째 트랙에서 정윤진 아마존 웹서비스 솔루션스 아키텍트가 발표한 자료입니다.
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)Amazon Web Services Korea이번 월간 웨비나에서는 AWS 클라우드를 통해 어떻게 손쉽게 소프트웨어를 개발하고, 배포하는 과정을 자동화 할 수 있는지를 알아 봅니다. 이를 위해 Amazon.com의 소프트웨어 개발 과정 상의 경험과 이를 토대로 만들어진 AWS CodeDeploy와 CodePipeline 서비스를 소개해 드리고, 이를 통해 EC2 인스턴스 뿐만 아니라 기존 서버에 손쉽게 배포하는 방법을 알려드립니다. 본 세션을 통해 클라우드를 통한 민첩하고 빠른 개발 및 배포를 통해 진화된 데브옵스(DevOps) 프로세스를 정립할 수 있는 방법을 안내해 드립니다.
Ansible introduction & demoYongKi KimThis document is aimed for IT operators and related people to make sense of IT automation. And ansible is just a tool. but engineer can acquire automation skill easily with ansible. no needs to deep dive into tool itself. just use it then your work would be happier.
Django로 배우는 쉽고 빠른 웹개발 study 자료Han Sung Kim9xD Django Study
파이썬 웹프로그래밍 - Django로 배우는 쉽고 빠른 웹개발 Charter 2
발표자 - 김한성
ppt 내용 : 실습 예제 및 내용 요약
개발툴 : pycharm
개발환경 : python 3.5 이용(일부 예제의 경우 동작안함 - 주석 참고)
소스코드 : 2 page github 링크이용
19. Django + Celery Beat
• Celery documentation: Periodic Tasks
• 특정 시간에 수행될 작업을 설정합시다.
Full Source
20. 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
21. Redis: 설치에서 적용까지
• 받아서 → 압축 해제 → make → redis-server
• 환경 변수 설정
• movie_scheduler/celery.py
$ export REDIS_URL=redis://
Full Source
22. 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
23. CJ E&M 계열 채널 편성표 수집
Requests로 가져오고, BeautifulSoup로 Parsing
Full Source
40. 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
42. PostgreSQL 사용하기
• Django 프로젝트인 경우, 자동으로 PostgreSQL과 연결됩니다.
(Django가 아니면?)
• DATABASE_URL 환경 변수에 주소가 지정됩니다.
• dj-database-url 패키지가 필요합니다.
• 프로젝트의 settings.py 파일을 수정해야 합니다.
43. 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
44. Python으로 만든 걸 왜 인식 못할까?
• ‘requirements.txt’ 파일이 없어서 그렇습니다.
• ‘requirement.txt’ 라고 되어 있으면?
45. 편성표 수집을 왜 안 할까?
• Free Dyno인 경우, 30분 동안 접속이 없으면…
• web, worker dyno 모두 sleep
46. 해결책: New Relic
• APM Tool
• 아래 명령으로 설치합니다.
• 로컬 환경에도 pip으로 설치해 주세요.
$ heroku addons:create newrelic:wayne
$ pip install newrelic