SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
Python ⼯工程師的⽇日常⼩小故事與⼯工作應⽤用
Ready
Programmer One
Michelle Leu @flywindy2018.05.26 #PyLadiesTaiwan
Michelle Leu 呂呂璇 @flywindy
• Django Girls Taipei Organizer
• Taipei.py Co-organizer
• PyCon TW 2016 Web Lead
• PyCon TW 2017 Design Lead
• Senior Engineer at TrendMicro
Agenda
• ⼯工程師⽇日常

• ⼯工作經歷

• 產品開發

• 每⽇日⼯工作流程

• ⼯工具篇

• Python 的⼯工作應⽤用

• Web

• Video

• Django Girls Taipei

• workshop #6
凡走過必留留下痕跡
• 學歷:中⼭山女中 -> 中央資管系 -> 中央資管所

• ⼯工作經歷:

• 兩兩間新創公司共 6.5 年年

• 進入⼤大公司後,剛滿三個⽉月 :)

• 社群經歷:

• Django Girls Taipei、Taipei.py、PyCon Taiwan
Trend Micro 趨勢科技
• 1988 年年在美國成立、總部在⽇日本東京(上櫃)

• 跨國性資安公司:研發總部在台北(約 1500 ⼈人)

• 主要產品:

• Consumer:PC-cillin

• Enterprise:OfficeScan、Deep Discovery、Deep
Security、Worry-Free Business Security Services
產品開發流程
• 產品:Worry-Free Business Security Services(WFBSS)

• 中⼩小型企業的雲端防毒解決⽅方案

• 保護 Windows、Mac、Mobile 等裝置

• 開發流程:
團隊分⼯工
• 職稱都是「RD」

• Frontend 前端⼯工程師:Portal (管理理者使⽤用網⾴頁)開發 

• Backend 後端⼯工程師:Server 開發、Operation

• Client:開發 Windows、Mac、Mobile Agent

• QA:測試⼯工程師(⼈人數與⼯工程師相當),P1 - P4 case

• SEG(維護團隊) & PDG(開發團隊)
每⽇日⼯工作流程
• 美好的早晨從 stand-up meeting 開始:

• 每天同⼀一時間, 同⼀一地點

• 不超過 15 分鐘

• 每個⼈人都要報告

• 「昨天做了了什什麼?」

• 「今天預計做什什麼?」

• 「有什什麼被卡住的問題?」
每⽇日⼯工作流程
• Case or Feature

• Case:解決既有的問題,通常由 QA 發起

• Feature:新功能,由 Project Lead 分配,複雜的功能需要 Design
Review

• 程式考古學

• ⼗十年年之前 ...

• Legacy Code: 當時的時空背景

• TDD (Test-driven development): coverage > 80%
⼯工欲善其事
必先利利其器
專案管理理
• Jira

• Project and issue tracking

• Developer tool integrations (ex: GitHub)

• Others: Trello、Asana、GitHub issues
團隊溝通
• Zoom

• 企業版:匯入全公司的通訊錄

• 線上視訊會議、會議錄影功能

• Slack

• 以 workspace 作為區分

• 除了了 direct message 以外,可以創建 channels

• 強⼤大的整合能⼒力力、custom bot
版本管理理
• Git:版本控制⼯工具

• Try Git: https://try.github.io/

• GitHub

• 全球最⼤大的男性交友平台

• 版本控制代管平台

• 免費使⽤用需公開

• issues & pull request
Editor vs IDE
• Editor 編輯器

• ex: Sublime Text、 Visual Studio Code

• 輕量量、可安裝各種 Plugin

• IDE: Integrated Develop Environment 整合開發環境

• ex: PyCharm (JetBrains)

• 專業版、教育版、社群版

• 內建整合 Git、Linter,超強⼤大 trace code 功能(建 index)
Summary
• 我的⼯工程師⽇日常

• 早上 9:45 - 10:00 Stand-up Meeting 

• 泡茶茶、泡咖啡

• 開啟 Jira 確認今⽇日⽬目標,使⽤用 Zoom 跟團隊溝通

• 利利⽤用 PyCharm coding,透過 Git 做程式的版本控制

• 在⾃自⼰己的虛擬環境上測試,成功後丟上 GitHub 請同事 code review

• ⼀一切沒問題後 merge 進開發 branch,回報 Jira case 請 QA 測試
– 什什麼是成熟,寫在從第⼀一份⼯工作離職之後
「成熟,就是知道⾃自⼰己要什什麼,

並且能夠替⾃自⼰己的決定負責。」
Python ⼯工作應⽤用
Python
• 1991 年年,由 Guido van Rossum 創造

• ⽬目前最新版本:3.6.5(2018年年3⽉月28⽇日)

• Python 2.7 will retire in 2020

• Python 的設計哲學:「優雅」、「明確」、「簡單」

• The Zen of Python: import this

• PEP8: https://www.python.org/dev/peps/pep-0008/

• 著名的應⽤用:Dropbox、Pinterest、Instagram、知乎

• 國際社群:PyCon(PyCon TW 2012)、PyLadies、Django Girls
Web Framework
• 開發 Web 應⽤用程式時所⽤用的框架。它通常會提供:

• 1. ⼀一個既定的程式骨架 -- 你必須按照它的規範寫程式,例例
如把資料庫相關的程式與跟畫⾯面溝通的程式分開,⽽而不是全
部寫在同⼀一個檔案。這對於程式的開發速度、再利利⽤用性、和
程式可讀性等等都有相當⼤大的好處。

• 2. 強⼤大且豐富的函式庫 ( Libraries ) -- 通常會提供⼀一些開發
網站所需要且常⽤用的功能,例例如使⽤用者認證、安全機制、
URL mapping、資料庫連接等等。讓你在開發網站時可以直
接使⽤用函式庫,然後專注在客製化⾃自⼰己的功能。
Django
• Python 最著名的 Web Framework(2005 年年)

• ⽬目前最新版本:2.0 (LTS 為 1.11)

• MTV ( Model–Template–View ) 架構:

• 內建應⽤用:

• Auth

• ORM、Admin、Form

• Template

• Packages: https://djangopackages.org/

• 學習資源:Django Girls 學習指南
Python Web Framework
• Flask (2010)

• microframework:彈性、靈活、輕便便

• 使⽤用 Jinja2 template engin

• 其他應⽤用需⾃自⾏行行搭配:SQLAlchemy (ORM)
Python Web Framework
• Python Web Framework 的抉擇(個⼈人意⾒見見)

• Q:⼤大型網站?

• Q:快速體驗⼀一下⽤用 Python 寫 Web?

• Q:我想寫⼀一個⾃自⼰己的網站?

• Q:我只需要拿來來做 Restful API?我習慣⽤用 SQLAlchemy
寫 ORM?
Others
• 資料搜集(requests、Scrapy、Selenium)

• 資料處理理與分析(Pandas、Matplotlib、NumPy)

• 機器學習(TensorFlow)

• ⾃自動化測試(Selenium、nose、pytest)

• ⾃自動化部屬(Ansible)
選擇困難?
• Django packages: https://djangopackages.org/

• 如何選擇 Python Library/Package:

• 熱⾨門程度(GitHub: Star、Forks)

• 是否有在繼續維護(last updated, issues, commits)

• Python 3?

• Documentation
Video
• A Python module for video editing, video compositing,
video processing, or to create advanced effects.

• It can read and write the most common video formats,
including GIF.

• https://github.com/Zulko/moviepy
Advantages and limitations
• Do I need MoviePy ?

• 有處理理⼤大量量影片的需求

• 透過 web server ⾃自動產⽣生影片

• 影片編輯器沒有我想要的特效

• MoviePy is NOT the best solution:

• frame-by-frame video analysis(OpenCV)

• only want to convert a video file(ffmpeg)

• limitations: streaming, memory problems
How MoviePy works
• ffmpeg: 可以執⾏行行⾳音訊和視訊多種格式的錄影、轉檔、串串流功能的軟體。可透過命令列列使⽤用。

• NumPy: Python 的擴充函式庫,⽀支援⾼高階⼤大量量的維度陣列列與矩陣運算。

• SciPy: ⽤用於科學計算、演算法、數學運算(微積分、線性代數)的 Python 函式庫。

• OpenCV: 跨平台的電腦視覺函式庫

• PIL(Python Imaging Library): Python 處理理圖片的函式庫。新版為 Pillow。
Basic concepts
• The central objects of MoviePy are clips

• VideoClips: created from a video file, an image, a
text, or a custom animation. 

• AudioClips: very similar to video clips. A notable
difference be composed
audioclip.get_frame(t)

• Positioning clips
Let’s see the
example!
Django Girls Taipei #6
is coming soon!
Facebook Group:

https://
www.facebook.com/
groups/
djangogirls.taiwan/

Weitere ähnliche Inhalte

Ähnlich wie Ready Programmer One

使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心Du Yamin
 
Introduction Hugging face.pdf
Introduction Hugging face.pdfIntroduction Hugging face.pdf
Introduction Hugging face.pdfKo Ko
 
NPO 網站改造觀摩賽 - ICOS 2009 大會手冊資料
NPO 網站改造觀摩賽 - ICOS 2009 大會手冊資料NPO 網站改造觀摩賽 - ICOS 2009 大會手冊資料
NPO 網站改造觀摩賽 - ICOS 2009 大會手冊資料Charles Chuang
 
2 Python开发工具链
2 Python开发工具链2 Python开发工具链
2 Python开发工具链March Liu
 
Codeigniter 3.0 之 30 分鐘就上手
Codeigniter 3.0 之 30 分鐘就上手Codeigniter 3.0 之 30 分鐘就上手
Codeigniter 3.0 之 30 分鐘就上手Piece Chao
 
Python 入門初體驗
Python 入門初體驗Python 入門初體驗
Python 入門初體驗政斌 楊
 
构建网络工具箱
构建网络工具箱构建网络工具箱
构建网络工具箱Lv Jian
 
瀏覽器開發與開源經驗 SITCON 2018
瀏覽器開發與開源經驗 SITCON  2018瀏覽器開發與開源經驗 SITCON  2018
瀏覽器開發與開源經驗 SITCON 2018安齊 劉
 
Building Chatbot With Huggging Face
 				Building Chatbot With Huggging Face 				Building Chatbot With Huggging Face
Building Chatbot With Huggging FaceKo Ko
 
如何,高效利用搜索引擎+构建网络工具箱
如何,高效利用搜索引擎+构建网络工具箱如何,高效利用搜索引擎+构建网络工具箱
如何,高效利用搜索引擎+构建网络工具箱84zhu
 
用 Python 打造你自己的 summly
用 Python 打造你自己的 summly用 Python 打造你自己的 summly
用 Python 打造你自己的 summlyAndy Dai
 
2012,我的技术之选
2012,我的技术之选2012,我的技术之选
2012,我的技术之选勇浩 赖
 
該怎麼樣(認真的)部署你的 Python Web 應用程式?
該怎麼樣(認真的)部署你的 Python Web 應用程式?該怎麼樣(認真的)部署你的 Python Web 應用程式?
該怎麼樣(認真的)部署你的 Python Web 應用程式?Andy Dai
 
玩轉 .NET Interactive Notebooks 一次就上手
玩轉 .NET Interactive Notebooks 一次就上手玩轉 .NET Interactive Notebooks 一次就上手
玩轉 .NET Interactive Notebooks 一次就上手Poy Chang
 
如何與全世界分享你的 Library
如何與全世界分享你的 Library如何與全世界分享你的 Library
如何與全世界分享你的 LibraryMu Chun Wang
 
1_大二班_資料視覺化_20221028.pdf
1_大二班_資料視覺化_20221028.pdf1_大二班_資料視覺化_20221028.pdf
1_大二班_資料視覺化_20221028.pdfFEG
 
转化的灵感
转化的灵感转化的灵感
转化的灵感Yan Shi
 
转化的灵感
转化的灵感转化的灵感
转化的灵感faming su
 
北區13校GDSC聯合流會.pdf
北區13校GDSC聯合流會.pdf北區13校GDSC聯合流會.pdf
北區13校GDSC聯合流會.pdfssuserded2d4
 
Project GATE 的敏捷實踐之路
Project GATE 的敏捷實踐之路Project GATE 的敏捷實踐之路
Project GATE 的敏捷實踐之路AgileCommunity
 

Ähnlich wie Ready Programmer One (20)

使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
 
Introduction Hugging face.pdf
Introduction Hugging face.pdfIntroduction Hugging face.pdf
Introduction Hugging face.pdf
 
NPO 網站改造觀摩賽 - ICOS 2009 大會手冊資料
NPO 網站改造觀摩賽 - ICOS 2009 大會手冊資料NPO 網站改造觀摩賽 - ICOS 2009 大會手冊資料
NPO 網站改造觀摩賽 - ICOS 2009 大會手冊資料
 
2 Python开发工具链
2 Python开发工具链2 Python开发工具链
2 Python开发工具链
 
Codeigniter 3.0 之 30 分鐘就上手
Codeigniter 3.0 之 30 分鐘就上手Codeigniter 3.0 之 30 分鐘就上手
Codeigniter 3.0 之 30 分鐘就上手
 
Python 入門初體驗
Python 入門初體驗Python 入門初體驗
Python 入門初體驗
 
构建网络工具箱
构建网络工具箱构建网络工具箱
构建网络工具箱
 
瀏覽器開發與開源經驗 SITCON 2018
瀏覽器開發與開源經驗 SITCON  2018瀏覽器開發與開源經驗 SITCON  2018
瀏覽器開發與開源經驗 SITCON 2018
 
Building Chatbot With Huggging Face
 				Building Chatbot With Huggging Face 				Building Chatbot With Huggging Face
Building Chatbot With Huggging Face
 
如何,高效利用搜索引擎+构建网络工具箱
如何,高效利用搜索引擎+构建网络工具箱如何,高效利用搜索引擎+构建网络工具箱
如何,高效利用搜索引擎+构建网络工具箱
 
用 Python 打造你自己的 summly
用 Python 打造你自己的 summly用 Python 打造你自己的 summly
用 Python 打造你自己的 summly
 
2012,我的技术之选
2012,我的技术之选2012,我的技术之选
2012,我的技术之选
 
該怎麼樣(認真的)部署你的 Python Web 應用程式?
該怎麼樣(認真的)部署你的 Python Web 應用程式?該怎麼樣(認真的)部署你的 Python Web 應用程式?
該怎麼樣(認真的)部署你的 Python Web 應用程式?
 
玩轉 .NET Interactive Notebooks 一次就上手
玩轉 .NET Interactive Notebooks 一次就上手玩轉 .NET Interactive Notebooks 一次就上手
玩轉 .NET Interactive Notebooks 一次就上手
 
如何與全世界分享你的 Library
如何與全世界分享你的 Library如何與全世界分享你的 Library
如何與全世界分享你的 Library
 
1_大二班_資料視覺化_20221028.pdf
1_大二班_資料視覺化_20221028.pdf1_大二班_資料視覺化_20221028.pdf
1_大二班_資料視覺化_20221028.pdf
 
转化的灵感
转化的灵感转化的灵感
转化的灵感
 
转化的灵感
转化的灵感转化的灵感
转化的灵感
 
北區13校GDSC聯合流會.pdf
北區13校GDSC聯合流會.pdf北區13校GDSC聯合流會.pdf
北區13校GDSC聯合流會.pdf
 
Project GATE 的敏捷實踐之路
Project GATE 的敏捷實踐之路Project GATE 的敏捷實踐之路
Project GATE 的敏捷實踐之路
 

Mehr von flywindy

那些年,我用 Django Admin 接的案子
那些年,我用 Django Admin 接的案子那些年,我用 Django Admin 接的案子
那些年,我用 Django Admin 接的案子flywindy
 
Two scoops of Django - Deployment
Two scoops of Django - DeploymentTwo scoops of Django - Deployment
Two scoops of Django - Deploymentflywindy
 
Django best practices for logging and signals
Django best practices for logging and signals Django best practices for logging and signals
Django best practices for logging and signals flywindy
 
Two scoops of django 1.6 - Ch7, Ch8
Two scoops of django 1.6  - Ch7, Ch8Two scoops of django 1.6  - Ch7, Ch8
Two scoops of django 1.6 - Ch7, Ch8flywindy
 
Working with the django admin
Working with the django admin Working with the django admin
Working with the django admin flywindy
 
Two scoops of django Introduction
Two scoops of django IntroductionTwo scoops of django Introduction
Two scoops of django Introductionflywindy
 

Mehr von flywindy (6)

那些年,我用 Django Admin 接的案子
那些年,我用 Django Admin 接的案子那些年,我用 Django Admin 接的案子
那些年,我用 Django Admin 接的案子
 
Two scoops of Django - Deployment
Two scoops of Django - DeploymentTwo scoops of Django - Deployment
Two scoops of Django - Deployment
 
Django best practices for logging and signals
Django best practices for logging and signals Django best practices for logging and signals
Django best practices for logging and signals
 
Two scoops of django 1.6 - Ch7, Ch8
Two scoops of django 1.6  - Ch7, Ch8Two scoops of django 1.6  - Ch7, Ch8
Two scoops of django 1.6 - Ch7, Ch8
 
Working with the django admin
Working with the django admin Working with the django admin
Working with the django admin
 
Two scoops of django Introduction
Two scoops of django IntroductionTwo scoops of django Introduction
Two scoops of django Introduction
 

Ready Programmer One

  • 2. Michelle Leu 呂呂璇 @flywindy • Django Girls Taipei Organizer • Taipei.py Co-organizer • PyCon TW 2016 Web Lead • PyCon TW 2017 Design Lead • Senior Engineer at TrendMicro
  • 3. Agenda • ⼯工程師⽇日常 • ⼯工作經歷 • 產品開發 • 每⽇日⼯工作流程 • ⼯工具篇 • Python 的⼯工作應⽤用 • Web • Video • Django Girls Taipei • workshop #6
  • 4. 凡走過必留留下痕跡 • 學歷:中⼭山女中 -> 中央資管系 -> 中央資管所 • ⼯工作經歷: • 兩兩間新創公司共 6.5 年年 • 進入⼤大公司後,剛滿三個⽉月 :) • 社群經歷: • Django Girls Taipei、Taipei.py、PyCon Taiwan
  • 5. Trend Micro 趨勢科技 • 1988 年年在美國成立、總部在⽇日本東京(上櫃) • 跨國性資安公司:研發總部在台北(約 1500 ⼈人) • 主要產品: • Consumer:PC-cillin • Enterprise:OfficeScan、Deep Discovery、Deep Security、Worry-Free Business Security Services
  • 6. 產品開發流程 • 產品:Worry-Free Business Security Services(WFBSS) • 中⼩小型企業的雲端防毒解決⽅方案 • 保護 Windows、Mac、Mobile 等裝置 • 開發流程:
  • 7. 團隊分⼯工 • 職稱都是「RD」 • Frontend 前端⼯工程師:Portal (管理理者使⽤用網⾴頁)開發 • Backend 後端⼯工程師:Server 開發、Operation • Client:開發 Windows、Mac、Mobile Agent • QA:測試⼯工程師(⼈人數與⼯工程師相當),P1 - P4 case • SEG(維護團隊) & PDG(開發團隊)
  • 8. 每⽇日⼯工作流程 • 美好的早晨從 stand-up meeting 開始: • 每天同⼀一時間, 同⼀一地點 • 不超過 15 分鐘 • 每個⼈人都要報告 • 「昨天做了了什什麼?」 • 「今天預計做什什麼?」 • 「有什什麼被卡住的問題?」
  • 9. 每⽇日⼯工作流程 • Case or Feature • Case:解決既有的問題,通常由 QA 發起 • Feature:新功能,由 Project Lead 分配,複雜的功能需要 Design Review • 程式考古學 • ⼗十年年之前 ... • Legacy Code: 當時的時空背景 • TDD (Test-driven development): coverage > 80%
  • 11. 專案管理理 • Jira • Project and issue tracking • Developer tool integrations (ex: GitHub) • Others: Trello、Asana、GitHub issues
  • 12. 團隊溝通 • Zoom • 企業版:匯入全公司的通訊錄 • 線上視訊會議、會議錄影功能 • Slack • 以 workspace 作為區分 • 除了了 direct message 以外,可以創建 channels • 強⼤大的整合能⼒力力、custom bot
  • 13. 版本管理理 • Git:版本控制⼯工具 • Try Git: https://try.github.io/ • GitHub • 全球最⼤大的男性交友平台 • 版本控制代管平台 • 免費使⽤用需公開 • issues & pull request
  • 14. Editor vs IDE • Editor 編輯器 • ex: Sublime Text、 Visual Studio Code • 輕量量、可安裝各種 Plugin • IDE: Integrated Develop Environment 整合開發環境 • ex: PyCharm (JetBrains) • 專業版、教育版、社群版 • 內建整合 Git、Linter,超強⼤大 trace code 功能(建 index)
  • 15. Summary • 我的⼯工程師⽇日常 • 早上 9:45 - 10:00 Stand-up Meeting • 泡茶茶、泡咖啡 • 開啟 Jira 確認今⽇日⽬目標,使⽤用 Zoom 跟團隊溝通 • 利利⽤用 PyCharm coding,透過 Git 做程式的版本控制 • 在⾃自⼰己的虛擬環境上測試,成功後丟上 GitHub 請同事 code review • ⼀一切沒問題後 merge 進開發 branch,回報 Jira case 請 QA 測試
  • 18. Python • 1991 年年,由 Guido van Rossum 創造 • ⽬目前最新版本:3.6.5(2018年年3⽉月28⽇日) • Python 2.7 will retire in 2020 • Python 的設計哲學:「優雅」、「明確」、「簡單」 • The Zen of Python: import this • PEP8: https://www.python.org/dev/peps/pep-0008/ • 著名的應⽤用:Dropbox、Pinterest、Instagram、知乎 • 國際社群:PyCon(PyCon TW 2012)、PyLadies、Django Girls
  • 19. Web Framework • 開發 Web 應⽤用程式時所⽤用的框架。它通常會提供: • 1. ⼀一個既定的程式骨架 -- 你必須按照它的規範寫程式,例例 如把資料庫相關的程式與跟畫⾯面溝通的程式分開,⽽而不是全 部寫在同⼀一個檔案。這對於程式的開發速度、再利利⽤用性、和 程式可讀性等等都有相當⼤大的好處。 • 2. 強⼤大且豐富的函式庫 ( Libraries ) -- 通常會提供⼀一些開發 網站所需要且常⽤用的功能,例例如使⽤用者認證、安全機制、 URL mapping、資料庫連接等等。讓你在開發網站時可以直 接使⽤用函式庫,然後專注在客製化⾃自⼰己的功能。
  • 20. Django • Python 最著名的 Web Framework(2005 年年) • ⽬目前最新版本:2.0 (LTS 為 1.11) • MTV ( Model–Template–View ) 架構: • 內建應⽤用: • Auth • ORM、Admin、Form • Template • Packages: https://djangopackages.org/ • 學習資源:Django Girls 學習指南
  • 21. Python Web Framework • Flask (2010) • microframework:彈性、靈活、輕便便 • 使⽤用 Jinja2 template engin • 其他應⽤用需⾃自⾏行行搭配:SQLAlchemy (ORM)
  • 22. Python Web Framework • Python Web Framework 的抉擇(個⼈人意⾒見見) • Q:⼤大型網站? • Q:快速體驗⼀一下⽤用 Python 寫 Web? • Q:我想寫⼀一個⾃自⼰己的網站? • Q:我只需要拿來來做 Restful API?我習慣⽤用 SQLAlchemy 寫 ORM?
  • 23. Others • 資料搜集(requests、Scrapy、Selenium) • 資料處理理與分析(Pandas、Matplotlib、NumPy) • 機器學習(TensorFlow) • ⾃自動化測試(Selenium、nose、pytest) • ⾃自動化部屬(Ansible)
  • 24. 選擇困難? • Django packages: https://djangopackages.org/ • 如何選擇 Python Library/Package: • 熱⾨門程度(GitHub: Star、Forks) • 是否有在繼續維護(last updated, issues, commits) • Python 3? • Documentation
  • 25. Video • A Python module for video editing, video compositing, video processing, or to create advanced effects. • It can read and write the most common video formats, including GIF. • https://github.com/Zulko/moviepy
  • 26. Advantages and limitations • Do I need MoviePy ? • 有處理理⼤大量量影片的需求 • 透過 web server ⾃自動產⽣生影片 • 影片編輯器沒有我想要的特效 • MoviePy is NOT the best solution: • frame-by-frame video analysis(OpenCV) • only want to convert a video file(ffmpeg) • limitations: streaming, memory problems
  • 27. How MoviePy works • ffmpeg: 可以執⾏行行⾳音訊和視訊多種格式的錄影、轉檔、串串流功能的軟體。可透過命令列列使⽤用。 • NumPy: Python 的擴充函式庫,⽀支援⾼高階⼤大量量的維度陣列列與矩陣運算。 • SciPy: ⽤用於科學計算、演算法、數學運算(微積分、線性代數)的 Python 函式庫。 • OpenCV: 跨平台的電腦視覺函式庫 • PIL(Python Imaging Library): Python 處理理圖片的函式庫。新版為 Pillow。
  • 28. Basic concepts • The central objects of MoviePy are clips • VideoClips: created from a video file, an image, a text, or a custom animation. • AudioClips: very similar to video clips. A notable difference be composed audioclip.get_frame(t) • Positioning clips
  • 30. Django Girls Taipei #6 is coming soon! Facebook Group: https:// www.facebook.com/ groups/ djangogirls.taiwan/