SlideShare a Scribd company logo
: https://unsplash.com/photos/qAShc5SV83M
Cheng Wei Chen @ PHPConf 2016.10.29
PHPConf 2016

自動化與持續整合實作工作坊
Cheng Wei Chen 陳 正瑋
DevOps Engineer @ TheQwan 得寬科技
chengweichen.com
DevOps Taiwan
FB 社團 - https://www.facebook.com/
groups/DevOpsTaiwan/
: https://stock.tookapic.com/photos/17849
個人目前會浮出水面的社群
四位助教
如在操作上遇到障礙,
可立即尋求助教協助!
如果還未建置環境
請立即建立 !!
工作坊範例檔案
讓你少打一些字,複製貼上即可。
https://goo.gl/Vcvag7
實作環境說明
實作環境說明
Local
VM
Azure
Local VM
你的筆電 (Host)
Local VM
你的筆電 (Host)
VM (Guest)
Local VM
你的筆電 (Host)
VM (Guest)
CI
Server
Selenium
Server
CI
Worker
Web
Server
Docker
Container
Local VM
你的筆電 (Host)
VM (Guest)
CI
Server
Selenium
Server
CI
Worker
Web
Server
Local VM
你的筆電 (Host)
VM (Guest)
CI
Server
Selenium
Server
CI
Worker
Web
Server
Local VM
你的筆電 (Host)
VM (Guest)
CI
Server
Selenium
Server
CI
Worker
Web
ServerVM (80) <-> 容器 (80)
Local VM
你的筆電 (Host)
VM (Guest)
CI
Server
Selenium
Server
CI
Worker
Web
ServerVM (80) <-> 容器 (80)
Host (10080) <-> VM (80)
Local VM
你的筆電 (Host)
VM (Guest)
GitLab
Selenium
ServerRunner
測試機VM (80) <-> 容器 (80)
Host (10080) <-> VM (80)
Local VM
你的筆電 (Host)
VM (Guest)
GitLab
Selenium
ServerRunner
測試機VM (80) <-> 容器 (80)
Host (10080) <-> VM (80)
DEMO
code
Local VM
你的筆電 (Host)
VM (Guest)
GitLab
Selenium
ServerRunner
測試機VM (80) <-> 容器 (80)
Host (10080) <-> VM (80)
DEMO
code
Local VM
你的筆電 (Host)
VM (Guest)
GitLab
Selenium
ServerRunner
測試機VM (80) <-> 容器 (80)
Host (10080) <-> VM (80)
DEMO
code
Local VM
你的筆電 (Host)
VM (Guest)
GitLab
Selenium
ServerRunner
測試機VM (80) <-> 容器 (80)
Host (10080) <-> VM (80)
DEMO
code
Local VM
你的筆電 (Host)
VM (Guest)
GitLab
Selenium
ServerRunner
測試機VM (80) <-> 容器 (80)
Host (10080) <-> VM (80)
DEMO
code
172.17.0.4
172.17.0.7
172.17.0.6 172.17.0.8
你的筆電
DEMO
code
Azure VM
GitLab
Selenium
ServerRunner
測試機
Cloud (Azure)
VM
你的筆電
DEMO
code
Azure VM
GitLab
Selenium
ServerRunner
測試機
Cloud (Azure)
你的筆電
DEMO
code
Azure VM
GitLab
Selenium
ServerRunner
測試機
Cloud (Azure)
你的筆電
DEMO
code
Azure VM
GitLab
Selenium
ServerRunner
測試機
Cloud (Azure)
: https://www.pexels.com/photo/coffee-writing-computer-blogging-34600/
工程師 自動化
(
實際狀況
: https://www.pexels.com/photo/photo-33343/
你以為會是 現實情況是 更多真實的狀況是
很多時候是 經常期待是 目標是
: https://www.pexels.com/photo/photo-64609/
: https://www.pexels.com/photo/photo-65050/
: https://picjumbo.com/real-mens-tools/
: https://pixabay.com/photo-1510561/
: https://pixabay.com/en/photo-593313/
: https://www.pexels.com/photo/coffee-writing-computer-blogging-34600/
DevOps
code build test deploy operateplan
Measurement
Monitor Metrics Analytics
Continuous Integration
Continuous Delivery
DevOps
Monitoring
Automation
Dev
release
Ops
Sharing
Fast	
Iteration
Feedback
break silos
LEAN
Culture
Agile
資訊
透明度 文化
自動化
自動化
Continuous
Integration
Continuous
Delivery
Automated
Build
Continuous
Deployment
Continuous
Testing
Continuous
Monitoring
Automated
Testing
Release
Automation
code buildplan
Continuous Integration
Continuous Delivery
deploy
Feedback
releasetest
Feedback
operate
Automation
: https://stock.tookapic.com/photos/10628
最簡單的自動化
單元一
: https://stock.tookapic.com/photos/10628
shell scripts
單元一 示範一
: https://stock.tookapic.com/photos/10628
cron + shell scripts
: https://stock.tookapic.com/photos/10628
Job Queue
: https://stock.tookapic.com/photos/10628
Job Queue
: https://stock.tookapic.com/photos/10628
Trigger Action
: https://stock.tookapic.com/photos/10628
Trigger Action
: https://stock.tookapic.com/photos/10628
讓很多事都能自動化
API
單元一
示範二
Think
: https://unsplash.com/photos/hANqC3_kTqU
Trigger
Scripts
Interface
Service
Flow
: https://unsplash.com/photos/Fixg8KipOg8
Bots IM Voice CMD
Interface
舉例
: https://unsplash.com/photos/Fixg8KipOg8
BotsCI PaaS
Service
Worker
舉例
: https://unsplash.com/photos/Fixg8KipOg8
DateTime Trigger Webhook Event
Trigger
舉例
: https://unsplash.com/photos/Fixg8KipOg8
shell
scripts
Ansible Azure
Functions
hubot
scripts
Scripts
舉例
: https://unsplash.com/photos/Fixg8KipOg8
Flow
Trigger
Scripts
Interface
Service
Flow
Trigger
Scripts
Interface
Service
Flow
環境設置與安裝軟體的先後順序
Command Line
bash xxx.sh
VM, BASH process
xxx.sh
shell script
Trigger
Scripts
Interface
Service
Flow
執行動作的先後順序, Crontab 觸發的條件
Command Line
Crontab
VM, BASH process
xxx.sh
shell + cron
Trigger
Scripts
Interface
Service
Flow
Job 的生命週期, Job 內程式執行的流程
Web
Job Queue
VM, php process, worker
xxx.php
Job Queue
Trigger
Scripts
Interface
Service
Flow
呼叫 API 的順序, 流程
Command Line
ansible-playbook …
VM, ansible process
ansible-playbook.yml
Gitlab API
Trigger
Scripts
Interface
Service
Flow
開發流程, 自動化動作的流程
CI Server 的 GUI
code push
CI Server, Worker, Runner
設定於 CI Server 上的自動化腳本
CI / CD
開發流程
: https://www.pexels.com/photo/black-and-white-industry-factory-lamp-5004/
開發流程
code build test release deploy operateplan
開發流程
code build test release deploy operateplan
開發流程
code build test release deploy operateplan
CIcommit dev stagingtest
testprod deploy
開發流程
code build test release deploy operateplan
CIcommit dev stagingtest
testprod deploy
開發流程
code build test release deploy operateplan
CIcommit dev stagingtest
testprod deploy
environment
dev
staging
prod
local
開發流程
code build test release deploy operateplan
CIcommit dev stagingtest
testprod deploy
environment
dev
staging
prod
local
More Automation ?
今日練習流程
VCScommit CI build devdeploy test
mergeprod deploy
trigger
: https://stock.tookapic.com/photos/10628
自動化建置
單元二
流程
build devdeploy test
mergeprod deploy
VCScommit
Code .gitlab-ci.yml
CI
流程
build devdeploy test
mergeprod deploy
VCScommit
GitLab
Code
git push
.gitlab-ci.yml
CI
流程
build devdeploy test
mergeprod deploy
VCScommit
Runner
GitLab
Code
git push
Trigger
.gitlab-ci.yml
CI
流程
VM
build devdeploy test
mergeprod deploy
VCScommit
Runner
GitLab
Code
git push
Trigger
.gitlab-ci.yml
Job
CI
流程
VM
Docker
build devdeploy test
mergeprod deploy
VCScommit CI
Runner
GitLab
Code
git push
Trigger
.gitlab-ci.yml
Runner
Trigger
Job
Job
: https://stock.tookapic.com/photos/10628
建立 .gitlab-ci.yml
單元二
練習一
流程
devdeploy test
mergeprod deploy
VCScommit CI
Code + Vendor
Code
composer install
build
: https://stock.tookapic.com/photos/10628
composer install
單元二
練習二
流程
devdeploy test
mergeprod deploy
VCScommit CI
master-12345.tarCode + Vendor
Code
composer install
tar
build
: https://stock.tookapic.com/photos/10628
將程式碼打包
單元二
練習三
流程
devdeploy test
mergeprod deploy
VCScommit CI
master-12345.tarCode + Vendor
Code
composer install
tar
build
Artifactsupload
: https://stock.tookapic.com/photos/10628
送入 Artifacts 歸檔
單元二
練習四
: https://stock.tookapic.com/photos/10628
自動化部署
單元三
流程
test
mergeprod deploy
VCScommit CI build devdeploy
: https://stock.tookapic.com/photos/10628
新增 stages: deploy-dev
單元三
練習一
流程
test
mergeprod deploy
VCScommit CI build devdeploy
Temp Container
Runner
code
run
Ansible playbook dev server
Artifacts
deploy
流程
test
mergeprod deploy
VCScommit CI build devdeploy
Temp Container
Runner
code
run
Ansible playbook dev server
Artifacts
1.upload artifact
2.unarchive
deploy
3.setup .env
4.composer dump-autoload
5.update nginx config
6.nginx reload
: https://stock.tookapic.com/photos/10628
設定自動化部署動作
單元三
練習二
Think
: https://unsplash.com/photos/hANqC3_kTqU
env code
流程
test
mergeprod deploy
VCScommit CI build devdeploy
Temp Container
Runner
code
run
Ansible playbook dev server
Artifacts
deploy
驗證 deploy
: https://stock.tookapic.com/photos/10628
驗證部署是否成功
單元三
練習三
Think
: https://unsplash.com/photos/hANqC3_kTqU
code
: https://stock.tookapic.com/photos/10628
共用的自動化腳本
單元三
練習四
: https://stock.tookapic.com/photos/10628
自動化測試
單元四
流程
mergeprod deploy
VCScommit CI build devdeploy test
流程
mergeprod deploy
VCScommit CI build devdeploy test
Temp Container
Runner
SSH
dev server phpunitrun
: https://stock.tookapic.com/photos/10628
新增 stages: test-dev
單元四
練習一
流程
mergeprod deploy
VCScommit CI build devdeploy test
Temp Container
Runner
SSH
dev server run phpunit
Selenium server
: https://stock.tookapic.com/photos/10628
設定 Selenium Server
單元四
練習二
Think
: https://unsplash.com/photos/hANqC3_kTqU
phpunit.xml code
: https://stock.tookapic.com/photos/10628
顯示測試覆蓋率
單元四
練習三
: https://stock.tookapic.com/photos/10628
GUI 顯示測試覆蓋率
單元四
練習四
: https://stock.tookapic.com/photos/10628
從 dev 至 master
單元五
流程
mergeprod deploy
VCScommit CI build devdeploy test
: https://stock.tookapic.com/photos/10628
新增 dev branch
單元五
練習一
流程
mergeprod deploy
VCScommit CI build devdeploy test
dev branch
dev -> master
CI
git push
git push CI
autoauto
: https://stock.tookapic.com/photos/10628
區分 dev 與 master 的 CI 流程
單元五
練習二
流程
mergeprod deploy
VCScommit CI build devdeploy test
Curl CItrigger
deploy
prod
trigger
: https://stock.tookapic.com/photos/10628
透過 Trigger 驅動 Master 部署
單元五
示範三
流程
VCScommit CI build devdeploy test
mergeprod deploy
trigger
Think
: https://unsplash.com/photos/hANqC3_kTqU
: https://unsplash.com/photos/j0g8taxHZa0
Summary
開發流程
code build test release deploy operateplan
CIcommit dev stagingtest
testprod deploy
environment
dev
staging
prod
local
Trigger
Scripts
Interface
Service
Flow
code buildplan
Continuous Integration
Continuous Delivery
deploy
Feedback
releasetest
Feedback
operate
Automation
實際狀況
: https://www.pexels.com/photo/photo-33343/
你以為會是 現實情況是 更多真實的狀況是
很多時候是 經常期待是 目標是
: https://www.pexels.com/photo/photo-64609/
: https://www.pexels.com/photo/photo-65050/
: https://picjumbo.com/real-mens-tools/
: https://pixabay.com/photo-1510561/
: https://pixabay.com/en/photo-593313/
團隊規模
流程
產品架構
找出你的最佳實踐
最佳
實踐
文化轉變
工具平台
跨職能人才
Thank
You
: https://unsplash.com/photos/oxjo1IQBK7M

More Related Content

PDF
快快樂樂打造自動化開發環境
PDF
CI、CD、Automation你還沒準備好!?(Agile Tour Kaohsiung 2017)
PDF
提到 DevOps 到底在
談些什麼玩意兒?(@ Agile Tour Taichung 2017)
PDF
CI/CD、自動化,你還沒準備好(GCPUG.TW Meetup #34)
PDF
DevOpsDays Taipei 2017 Opening Talk
PDF
Effective DevOps:一場文化與技術的轉型運動
PDF
有了 Agile,為什麼還要有 DevOps?
PDF
Monitoring 改造計畫:流程觀點
快快樂樂打造自動化開發環境
CI、CD、Automation你還沒準備好!?(Agile Tour Kaohsiung 2017)
提到 DevOps 到底在
談些什麼玩意兒?(@ Agile Tour Taichung 2017)
CI/CD、自動化,你還沒準備好(GCPUG.TW Meetup #34)
DevOpsDays Taipei 2017 Opening Talk
Effective DevOps:一場文化與技術的轉型運動
有了 Agile,為什麼還要有 DevOps?
Monitoring 改造計畫:流程觀點

What's hot (20)

PDF
DevOps Utrecht - The DevOps Disaster
PDF
JavaZone 2016 - The DevOps disaster
PDF
Oracle Code Brussels 2017 - The DevOps disaster
PDF
Digital Ocean Amsterdam meetup March 2017 - The DevOps disaster
PDF
JavaOne 2016 - The DevOps Disaster
PDF
From DevOps to GitOps with GitLab
PDF
和艦長一起玩轉 GitLab & GitLab Workflow
PDF
DevOps Training - Ho Chi Minh City
PDF
Code analysis for a better future
PPTX
Practical DevOps & Continuous Delivery – A Webinar to learn in depth on DevO...
PDF
Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)
PDF
On Software Release Engineering (Bram Adams)
PDF
Beyond QA
PDF
從限制理論看 DevOps
PDF
Modern Release Engineering in a Nutshell - Why Researchers should Care!
PDF
Patterns and antipatterns in Docker image lifecycle as was presented at Scale...
PDF
GREAT STEP 2. TDD & MockMVC
PDF
Set up faster, easier, end-to-end testing with CircleCI and Cypress
PDF
Becoming a Plumber: Building Deployment Pipelines - RevConf
PPTX
Drupalcon Sessions about Devops
DevOps Utrecht - The DevOps Disaster
JavaZone 2016 - The DevOps disaster
Oracle Code Brussels 2017 - The DevOps disaster
Digital Ocean Amsterdam meetup March 2017 - The DevOps disaster
JavaOne 2016 - The DevOps Disaster
From DevOps to GitOps with GitLab
和艦長一起玩轉 GitLab & GitLab Workflow
DevOps Training - Ho Chi Minh City
Code analysis for a better future
Practical DevOps & Continuous Delivery – A Webinar to learn in depth on DevO...
Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)
On Software Release Engineering (Bram Adams)
Beyond QA
從限制理論看 DevOps
Modern Release Engineering in a Nutshell - Why Researchers should Care!
Patterns and antipatterns in Docker image lifecycle as was presented at Scale...
GREAT STEP 2. TDD & MockMVC
Set up faster, easier, end-to-end testing with CircleCI and Cypress
Becoming a Plumber: Building Deployment Pipelines - RevConf
Drupalcon Sessions about Devops
Ad

Viewers also liked (20)

PPTX
20160809 希平方研發部分享 selenium自動化測試簡介
PDF
TrainingProgramAtMobileDevTW
PPT
PHP WEB 应用组织与结构
PDF
Opensource 是人生的好朋友 2016-07-21
 
ODP
Grpc go-in-php
PDF
教學課程Pdf備份
PPT
從 Php unit 到 ci 持續整合
PDF
APP Development Learning Experience Share - AppCoda
PPTX
Flexbox版面配置
PDF
寫出高性能的服務與應用 那些你沒想過的事
PDF
UI guide Example
PDF
從 LASS 到空氣盒子 - 談網路公民科學的實踐與未來
PDF
React踩雷大作戰
PPTX
Stock analysis
PDF
PHP教材
PDF
PHP記帳網頁教材(第一頁是空白的)
PDF
Bootstrap, Angel or Venture: Determining the Right Financing Strategy for You...
PDF
響應式網頁實作坊
PDF
前端爆肝之旅+React上山前的小專案心得分享
PDF
PhpSpec TDD 紅燈-綠燈-重構流程-PHP也有day#25_by_閃亮亮
20160809 希平方研發部分享 selenium自動化測試簡介
TrainingProgramAtMobileDevTW
PHP WEB 应用组织与结构
Opensource 是人生的好朋友 2016-07-21
 
Grpc go-in-php
教學課程Pdf備份
從 Php unit 到 ci 持續整合
APP Development Learning Experience Share - AppCoda
Flexbox版面配置
寫出高性能的服務與應用 那些你沒想過的事
UI guide Example
從 LASS 到空氣盒子 - 談網路公民科學的實踐與未來
React踩雷大作戰
Stock analysis
PHP教材
PHP記帳網頁教材(第一頁是空白的)
Bootstrap, Angel or Venture: Determining the Right Financing Strategy for You...
響應式網頁實作坊
前端爆肝之旅+React上山前的小專案心得分享
PhpSpec TDD 紅燈-綠燈-重構流程-PHP也有day#25_by_閃亮亮
Ad

Similar to PHP Conf Taiwan 2016 自動化與持續整合實作工作坊 (20)

PDF
Step away from that knife!
PPTX
Application lifecycle management in SharePoint
PPTX
There and Back Again (My DevOps journey) - DevOps Days Copenhagen 2018
PDF
All the Laravel things: up and running to making $$
PDF
Serverless in Production, an experience report (AWS UG South Wales)
PDF
Serverless in production, an experience report (FullStack 2018)
PDF
Python学习手册(第3版)
PDF
[高性能MySQL(第2版)中文版].施瓦茨.扫描版
PDF
WordPress London Developer Operations For Beginners
PDF
Dennis Benkert - The Dog Ate My Deployment - Symfony Usergroup Berlin March ...
 
PPTX
Experts live2016 - Karim Vaes - end-to-end automation
PPTX
Getting started with docker
PDF
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
PPTX
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
PDF
Serverless in production, an experience report
PDF
Web Application Firewall - Friend of your DevOps Chain?
PDF
Serverless in production, an experience report (CoDe-Conf)
PPTX
Automating the VMware Virtual Datacenter
PDF
Continuous Integration Testing in Django
PDF
stackconf 2020 | Enterprise CI/CD Integration Testing Environments Done Right...
Step away from that knife!
Application lifecycle management in SharePoint
There and Back Again (My DevOps journey) - DevOps Days Copenhagen 2018
All the Laravel things: up and running to making $$
Serverless in Production, an experience report (AWS UG South Wales)
Serverless in production, an experience report (FullStack 2018)
Python学习手册(第3版)
[高性能MySQL(第2版)中文版].施瓦茨.扫描版
WordPress London Developer Operations For Beginners
Dennis Benkert - The Dog Ate My Deployment - Symfony Usergroup Berlin March ...
 
Experts live2016 - Karim Vaes - end-to-end automation
Getting started with docker
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
Serverless in production, an experience report
Web Application Firewall - Friend of your DevOps Chain?
Serverless in production, an experience report (CoDe-Conf)
Automating the VMware Virtual Datacenter
Continuous Integration Testing in Django
stackconf 2020 | Enterprise CI/CD Integration Testing Environments Done Right...

More from Chen Cheng-Wei (20)

PDF
GitOps is IaC done right
PDF
GitLab Auto DevOps 大解析—CI/CD 原來可以這樣做
PDF
Become a GitLab Hero
PDF
以自動化先行的 DevOps 實踐經驗分享
PDF
SRE 讀書會:導讀《持續交付》第15章 - 持續交付管理
PDF
DevOpsDays Taiepi 2018 - Farewell 閉幕
PDF
SRE 讀書會 - 導讀:第 31 章
PDF
SRE 讀書會 - 導讀:第 30 章
PDF
跟著 geerlingguy 大神
一起測試 Ansible Roles
PDF
iThome Serverless All-Star 開場
PDF
Ignite talks
PDF
Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)
PDF
Effective DevOps (Agile Tour HsinChu 2017)
PDF
SRE 讀書會 - 導讀:第一章
PDF
DevOpsDays Taipei 2017 Farewell
PDF
Ignite talks - 自動化的關鍵
PDF
提到 DevOps 到底在談些什麼玩意兒?
PDF
從 DevOps 到 ChatOps:War Room、Bots 與 Automation
PDF
困境與轉型:一個小型開發團隊的 DevOps 學習之旅
PDF
DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)
GitOps is IaC done right
GitLab Auto DevOps 大解析—CI/CD 原來可以這樣做
Become a GitLab Hero
以自動化先行的 DevOps 實踐經驗分享
SRE 讀書會:導讀《持續交付》第15章 - 持續交付管理
DevOpsDays Taiepi 2018 - Farewell 閉幕
SRE 讀書會 - 導讀:第 31 章
SRE 讀書會 - 導讀:第 30 章
跟著 geerlingguy 大神
一起測試 Ansible Roles
iThome Serverless All-Star 開場
Ignite talks
Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)
Effective DevOps (Agile Tour HsinChu 2017)
SRE 讀書會 - 導讀:第一章
DevOpsDays Taipei 2017 Farewell
Ignite talks - 自動化的關鍵
提到 DevOps 到底在談些什麼玩意兒?
從 DevOps 到 ChatOps:War Room、Bots 與 Automation
困境與轉型:一個小型開發團隊的 DevOps 學習之旅
DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Encapsulation theory and applications.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Cloud computing and distributed systems.
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Approach and Philosophy of On baking technology
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
MYSQL Presentation for SQL database connectivity
Building Integrated photovoltaic BIPV_UPV.pdf
Encapsulation theory and applications.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Cloud computing and distributed systems.
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Encapsulation_ Review paper, used for researhc scholars
Network Security Unit 5.pdf for BCA BBA.
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Chapter 3 Spatial Domain Image Processing.pdf
cuic standard and advanced reporting.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Mobile App Security Testing_ A Comprehensive Guide.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Spectroscopy.pptx food analysis technology
Review of recent advances in non-invasive hemoglobin estimation
Approach and Philosophy of On baking technology
Diabetes mellitus diagnosis method based random forest with bat algorithm
Per capita expenditure prediction using model stacking based on satellite ima...

PHP Conf Taiwan 2016 自動化與持續整合實作工作坊