SlideShare a Scribd company logo
改善 Angular 開發流程
你所不知道的 Schematics 程式碼產生器
Angular Taiwan
楊捷凱 (Kevin)
Blog:https://blog.kevinyang.net/
FB Page:https://www.facebook.com/CKNotepad
楊捷凱 (Kevin)
• 微軟 MVP
• Angular / Web Technologies GDE
• Blog:https://blog.kevinyang.net/
• FB Page:https://www.facebook.com/CKNotepad
• Organizers:
• Angular Taiwan
• Angular Girls Taiwan
• Angular 線上讀書會
緣由
故事時間
為什麼要有程式碼產生器
• 快速初始化起始專案
• 重複建立相類似的檔案架構,而且重複很多次、很多次
• 統一團隊專案架構與檔案內容
• 開發人員是很懶惰的
程式碼產生器
• IDE Code snippet
• Ember CLI
• Yeoman
• dotnet project templates
Angular CLI 歷史
• 早期版本,因架構在 Ember CLI 上,所有的範本都是內建寫死,使用者並無法自
行定義
• Angular Team 開發新架構 @angular/dev-kit (schematics)
• CLI 1.4 版使用 schematics 來產生樣版
• 允許使用其他 schematics 來產生樣版。例如: 設定 collection
• 眾多套件開始建立自己的 schematics。例如: Angular Material
• Angular CLI 6. Schematics 威力完全引爆
• ng add 與 ng update 讓 Angular 開發進入到另外一個世界
Schematics 使
用篇
在寫之前,先知道怎麼用
Angular Material
案例 1
如何安裝 Angular Material (傳統方式)
• Step 1: Install Angular Material, Angular CDK and Angular Animations
• Step 2: Configure animations
• Step 3: Import the component modules
• Step 4: Include a theme
• Step 5: Gesture Support
• Step 6 (Optional): Add Material Icons
• Done
如何安裝 Angular Material (Schematic)
• Step 1: ng add @angular/material
• Done
如何升級 Angular Material ?
• Step 1: ng update @angular/material
• Done
NG-ZORRO
案例 2
NG-ZORRO 文件
更多案例
• @ngrx/schematics
• ngcli-wallaby
• cypress-schematics
• ngx-schematics-collection
Schematics 101
基本概念介紹
目標
• 簡單開發及使用
• 可擴充性與重複使用性
• 原子性 (Atomicity)
• 非同步 (Asynchronicity)
特性
• Workflow:專案從一個狀態轉換成另外一個狀態
• Compose :具有豐富 API 來處理檔案變更,容易組合
• No Side Effect :確認所有步驟正確才更新,沒有副作用
基本觀念 - 新增
A
B
C
D
E
A
B
C
D
E
基本觀念 - 修改
A
B
C
A
B
C'
C'
基本觀念 - 刪除
A
B
C
A
B
C
基本元素
• Tree:檔案系統結構描述,包含檔案狀態與改變檔案的規則(Rule)
• Rule:規則描述如何改變 Tree,會回傳一個包含改變規則的 Tree
• Source :建立新 Tree,常見方法有 Url(path)
Tree
• 包含目前資料夾下所有的檔案與資料夾內容
Tree
• 常見方法
• branch() 複製一份與目前 Tree 狀態相同的 Tree 物件
• merge() 合併兩個 Tree ,可設定合併衝突時的規則
• read(path: string) 讀取檔案已 binary 的方式呈現
• exists(path: string) 檢查檔案是否存在
• create(path: string, content: Buffer | string) 建立檔案並
填入內容
• delete(path: string) 刪除檔案
• rename(from: string, to: string) 重新命名檔案
Source
• 建立一個全新的檔案系統 ( Tree )
Source
• 常見方法
• url(path: string)
• apply(source: Source, rules: Rule[]) 套用規則到 Source 上
並回傳已套用規則的 Source
• source(tree: Tree) 將 Tree 轉換成 Source
• (source 型別)(context: SchematicContext) 將 source 轉換成
Tree
Rule
• 定義改變Tree 狀態的規則
• 多個規則間可以合併
• 常見的方法有
• chain
• mergeWith
• filter
• branchAndMerge
• forEach
• move
• rename
• template
Schematics 開
發篇
No more 加班人生
安裝 Schematics CLI
schematics [CollectionName:]SchematicName [options, ...]
By default, if the collection name is not specified, use the internal collection provided
by the Schematics CLI.
Options:
--debug Debug mode. This is true by default if the collection is a relative path (in that case, turn off
with --debug=false).
--allowPrivate Allow private schematics to be run from the command line. Default to false.
--dry-run Do not output anything, but instead just show what actions would be performed. Default to true if debug is
also true.
………
> npm install -g @schematics/schematics
> schematics --help
建立 schematics 專案
> schematics blank --name=hello-world
(最基本的專案範本)
> schematics schematic --name=my-schematics
(比較複雜的專案範本)
> schematics .:hello-world
(執行 schematics)
執行 & 測試
> npm install ../my-schematics
> ng generate my-schematics:my-schematics
(Angular CLI 專用指令: 執行某個 schematics)
> ng set defaults.schematics.collection=my-schematics
(Angular CLI 專用指令: 設定預設 schematics)
> schematics my-schematics:my-schematics
專案架構
package.json
Schematics 進入點
專案架構
collection.json
Collection
(Scheamtics的集合)
專案架構
collection.json
Schematic
(Generator)
專案架構
collection.json
指令
指令所觸發的程式碼位置
指令描述
專案架構
專案架構
執行指令時所帶參數,轉成 Object
格式
DEMO
相關連結
• Schematics—An Introduction
• ngHouston - CLI Schematics w/ Hans Larsen
• ngAir 134 - Angular Schematics with Mike Brocchi
• [Angular] Schematics 內檔案系統基本操作
聯絡資訊
• CK's Notepad (部落格)
• https://blog.kevinyang.net/
• CK's Notepad (臉書粉絲專頁)
• http://www.facebook.com/CKNotepad
• Twitter
• https://twitter.com/chgc
THANK YOU

More Related Content

What's hot

التخطيط الاستراتيجي
التخطيط الاستراتيجيالتخطيط الاستراتيجي
التخطيط الاستراتيجي
Dr Zain Abd ElHady
 
Module 5: LOGEMENT, TERRE ET PROPRIÉTÉ
Module 5: LOGEMENT, TERRE ET PROPRIÉTÉModule 5: LOGEMENT, TERRE ET PROPRIÉTÉ
Module 5: LOGEMENT, TERRE ET PROPRIÉTÉ
GBV Guidelines
 
INRS robots collaboratifs 4 juin 2018
INRS robots collaboratifs 4 juin 2018INRS robots collaboratifs 4 juin 2018
INRS robots collaboratifs 4 juin 2018
INRSfrance
 
IT4IT™ Reference Architecture in short.
IT4IT™ Reference Architecture in short.IT4IT™ Reference Architecture in short.
IT4IT™ Reference Architecture in short.
Architecture Center Ltd
 
Business Model Canvas In Arabic - إبتكار نموذج العمل التجاري
Business Model Canvas In Arabic - إبتكار نموذج العمل التجاري Business Model Canvas In Arabic - إبتكار نموذج العمل التجاري
Business Model Canvas In Arabic - إبتكار نموذج العمل التجاري
Emad Saif
 
Business model arabic material
Business model arabic materialBusiness model arabic material
Business model arabic material
Eng. Ahmed Falyouna
 
Description séquence de formation.Usages du TBI. Gaëlle NEAU
Description séquence de formation.Usages du TBI. Gaëlle NEAUDescription séquence de formation.Usages du TBI. Gaëlle NEAU
Description séquence de formation.Usages du TBI. Gaëlle NEAUGaelle Neau
 
دراسة جدوى لإنشاء مركز تدريب
دراسة جدوى لإنشاء مركز تدريبدراسة جدوى لإنشاء مركز تدريب
دراسة جدوى لإنشاء مركز تدريبEmad El-Din Ali
 
التمويل الجماعي - Crowd funding 101
التمويل الجماعي - Crowd funding 101   التمويل الجماعي - Crowd funding 101
التمويل الجماعي - Crowd funding 101
Dr. Islam Abou Elmagd
 
الدليل الإرشادي لاستخدام أدوات المشاركة المجتمعية الإلكترونية في الجهات الحكومية
الدليل الإرشادي لاستخدام أدوات المشاركة المجتمعية الإلكترونية في الجهات الحكوميةالدليل الإرشادي لاستخدام أدوات المشاركة المجتمعية الإلكترونية في الجهات الحكومية
الدليل الإرشادي لاستخدام أدوات المشاركة المجتمعية الإلكترونية في الجهات الحكومية
YesserProgram
 
FSM integration with SAP
FSM integration with SAPFSM integration with SAP
FSM integration with SAP
Capgemini
 
3 نماذج الاعمال الإلكترونية
3  نماذج الاعمال الإلكترونية3  نماذج الاعمال الإلكترونية
3 نماذج الاعمال الإلكترونية
abdelnasser Abdelaal
 
Formation psp des_associations_sidi_kacem
Formation psp des_associations_sidi_kacemFormation psp des_associations_sidi_kacem
Formation psp des_associations_sidi_kacemAbdelhamid El Haddad
 
مختصر خطوات التخطيط الاستراتيجي والتشغيلي
مختصر خطوات التخطيط الاستراتيجي والتشغيليمختصر خطوات التخطيط الاستراتيجي والتشغيلي
مختصر خطوات التخطيط الاستراتيجي والتشغيلي
Esam Alkibaidi
 
ITSM and TOGAF 9 v0 5
ITSM and TOGAF 9 v0 5ITSM and TOGAF 9 v0 5
ITSM and TOGAF 9 v0 5
Salim Sheikh
 
Igl cours 4 - expression de besoins
Igl   cours 4 - expression de besoinsIgl   cours 4 - expression de besoins
Igl cours 4 - expression de besoins
Mohammed Amine Mostefai
 
#Bestpractices pour mettre en place une #tma #ITOutsourcing
#Bestpractices pour mettre en place une #tma #ITOutsourcing#Bestpractices pour mettre en place une #tma #ITOutsourcing
#Bestpractices pour mettre en place une #tma #ITOutsourcing
Sébastien Bourguignon
 
Business Model Canvas (Arabic) - نموذج العمل التجاري
Business Model Canvas (Arabic) - نموذج العمل التجاريBusiness Model Canvas (Arabic) - نموذج العمل التجاري
Business Model Canvas (Arabic) - نموذج العمل التجاري
Emad Saif
 
Integrating Zachman and TOGAF-ADM
Integrating Zachman and TOGAF-ADMIntegrating Zachman and TOGAF-ADM
Integrating Zachman and TOGAF-ADM
Tetradian Consulting
 

What's hot (20)

التخطيط الاستراتيجي
التخطيط الاستراتيجيالتخطيط الاستراتيجي
التخطيط الاستراتيجي
 
Module 5: LOGEMENT, TERRE ET PROPRIÉTÉ
Module 5: LOGEMENT, TERRE ET PROPRIÉTÉModule 5: LOGEMENT, TERRE ET PROPRIÉTÉ
Module 5: LOGEMENT, TERRE ET PROPRIÉTÉ
 
INRS robots collaboratifs 4 juin 2018
INRS robots collaboratifs 4 juin 2018INRS robots collaboratifs 4 juin 2018
INRS robots collaboratifs 4 juin 2018
 
IT4IT™ Reference Architecture in short.
IT4IT™ Reference Architecture in short.IT4IT™ Reference Architecture in short.
IT4IT™ Reference Architecture in short.
 
Business Model Canvas In Arabic - إبتكار نموذج العمل التجاري
Business Model Canvas In Arabic - إبتكار نموذج العمل التجاري Business Model Canvas In Arabic - إبتكار نموذج العمل التجاري
Business Model Canvas In Arabic - إبتكار نموذج العمل التجاري
 
Business model arabic material
Business model arabic materialBusiness model arabic material
Business model arabic material
 
Description séquence de formation.Usages du TBI. Gaëlle NEAU
Description séquence de formation.Usages du TBI. Gaëlle NEAUDescription séquence de formation.Usages du TBI. Gaëlle NEAU
Description séquence de formation.Usages du TBI. Gaëlle NEAU
 
دراسة جدوى لإنشاء مركز تدريب
دراسة جدوى لإنشاء مركز تدريبدراسة جدوى لإنشاء مركز تدريب
دراسة جدوى لإنشاء مركز تدريب
 
التمويل الجماعي - Crowd funding 101
التمويل الجماعي - Crowd funding 101   التمويل الجماعي - Crowd funding 101
التمويل الجماعي - Crowd funding 101
 
الدليل الإرشادي لاستخدام أدوات المشاركة المجتمعية الإلكترونية في الجهات الحكومية
الدليل الإرشادي لاستخدام أدوات المشاركة المجتمعية الإلكترونية في الجهات الحكوميةالدليل الإرشادي لاستخدام أدوات المشاركة المجتمعية الإلكترونية في الجهات الحكومية
الدليل الإرشادي لاستخدام أدوات المشاركة المجتمعية الإلكترونية في الجهات الحكومية
 
FSM integration with SAP
FSM integration with SAPFSM integration with SAP
FSM integration with SAP
 
3 نماذج الاعمال الإلكترونية
3  نماذج الاعمال الإلكترونية3  نماذج الاعمال الإلكترونية
3 نماذج الاعمال الإلكترونية
 
Formation psp des_associations_sidi_kacem
Formation psp des_associations_sidi_kacemFormation psp des_associations_sidi_kacem
Formation psp des_associations_sidi_kacem
 
مختصر خطوات التخطيط الاستراتيجي والتشغيلي
مختصر خطوات التخطيط الاستراتيجي والتشغيليمختصر خطوات التخطيط الاستراتيجي والتشغيلي
مختصر خطوات التخطيط الاستراتيجي والتشغيلي
 
ITSM and TOGAF 9 v0 5
ITSM and TOGAF 9 v0 5ITSM and TOGAF 9 v0 5
ITSM and TOGAF 9 v0 5
 
Igl cours 4 - expression de besoins
Igl   cours 4 - expression de besoinsIgl   cours 4 - expression de besoins
Igl cours 4 - expression de besoins
 
BPMN and Bizagi
BPMN and BizagiBPMN and Bizagi
BPMN and Bizagi
 
#Bestpractices pour mettre en place une #tma #ITOutsourcing
#Bestpractices pour mettre en place une #tma #ITOutsourcing#Bestpractices pour mettre en place une #tma #ITOutsourcing
#Bestpractices pour mettre en place une #tma #ITOutsourcing
 
Business Model Canvas (Arabic) - نموذج العمل التجاري
Business Model Canvas (Arabic) - نموذج العمل التجاريBusiness Model Canvas (Arabic) - نموذج العمل التجاري
Business Model Canvas (Arabic) - نموذج العمل التجاري
 
Integrating Zachman and TOGAF-ADM
Integrating Zachman and TOGAF-ADMIntegrating Zachman and TOGAF-ADM
Integrating Zachman and TOGAF-ADM
 

Similar to 改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器

How to ASP.NET MVC4
How to ASP.NET MVC4How to ASP.NET MVC4
How to ASP.NET MVC4
Daniel Chou
 
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
Will Huang
 
合久必分,分久必合
合久必分,分久必合合久必分,分久必合
合久必分,分久必合
Qiangning Hong
 
DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略
Will Huang
 
我們與Azure DevOps的距離
我們與Azure DevOps的距離我們與Azure DevOps的距離
我們與Azure DevOps的距離
Edward Kuo
 
Drupal7第三堂
Drupal7第三堂Drupal7第三堂
Drupal7第三堂Hen Chen
 
ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索
Will Huang
 
How to choose web framework
How to choose web frameworkHow to choose web framework
How to choose web framework
Bo-Yi Wu
 
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
Edward Kuo
 
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Justin Lin
 
CH10:輸入輸出
CH10:輸入輸出CH10:輸入輸出
CH10:輸入輸出
Justin Lin
 
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
Will Huang
 
基于Seajs的项目构建
基于Seajs的项目构建基于Seajs的项目构建
基于Seajs的项目构建
Zhang Xiaoxue
 
Angular js twmvc#17
Angular js twmvc#17Angular js twmvc#17
Angular js twmvc#17
twMVC
 
View 與 Blade 樣板引擎
View 與 Blade 樣板引擎View 與 Blade 樣板引擎
View 與 Blade 樣板引擎
Shengyou Fan
 
從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用
謝 宗穎
 
4. Go 工程化实践-0124-v2.pdf
4. Go 工程化实践-0124-v2.pdf4. Go 工程化实践-0124-v2.pdf
4. Go 工程化实践-0124-v2.pdf
ssuserd6c7621
 
Angular 4 網站開發最佳實務 (Modern Web 2017)
Angular 4 網站開發最佳實務 (Modern Web 2017)Angular 4 網站開發最佳實務 (Modern Web 2017)
Angular 4 網站開發最佳實務 (Modern Web 2017)
Will Huang
 
Angular 开发技巧 (2018 ngChina 开发者大会)
Angular 开发技巧 (2018 ngChina 开发者大会)Angular 开发技巧 (2018 ngChina 开发者大会)
Angular 开发技巧 (2018 ngChina 开发者大会)
Will Huang
 
網站上線了,然後呢?
網站上線了,然後呢?網站上線了,然後呢?
網站上線了,然後呢?
Kirk Chen
 

Similar to 改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器 (20)

How to ASP.NET MVC4
How to ASP.NET MVC4How to ASP.NET MVC4
How to ASP.NET MVC4
 
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
 
合久必分,分久必合
合久必分,分久必合合久必分,分久必合
合久必分,分久必合
 
DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略
 
我們與Azure DevOps的距離
我們與Azure DevOps的距離我們與Azure DevOps的距離
我們與Azure DevOps的距離
 
Drupal7第三堂
Drupal7第三堂Drupal7第三堂
Drupal7第三堂
 
ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索
 
How to choose web framework
How to choose web frameworkHow to choose web framework
How to choose web framework
 
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
 
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
 
CH10:輸入輸出
CH10:輸入輸出CH10:輸入輸出
CH10:輸入輸出
 
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
 
基于Seajs的项目构建
基于Seajs的项目构建基于Seajs的项目构建
基于Seajs的项目构建
 
Angular js twmvc#17
Angular js twmvc#17Angular js twmvc#17
Angular js twmvc#17
 
View 與 Blade 樣板引擎
View 與 Blade 樣板引擎View 與 Blade 樣板引擎
View 與 Blade 樣板引擎
 
從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用
 
4. Go 工程化实践-0124-v2.pdf
4. Go 工程化实践-0124-v2.pdf4. Go 工程化实践-0124-v2.pdf
4. Go 工程化实践-0124-v2.pdf
 
Angular 4 網站開發最佳實務 (Modern Web 2017)
Angular 4 網站開發最佳實務 (Modern Web 2017)Angular 4 網站開發最佳實務 (Modern Web 2017)
Angular 4 網站開發最佳實務 (Modern Web 2017)
 
Angular 开发技巧 (2018 ngChina 开发者大会)
Angular 开发技巧 (2018 ngChina 开发者大会)Angular 开发技巧 (2018 ngChina 开发者大会)
Angular 开发技巧 (2018 ngChina 开发者大会)
 
網站上線了,然後呢?
網站上線了,然後呢?網站上線了,然後呢?
網站上線了,然後呢?
 

More from Chieh Kai Yang

Dotnet Conf 2021 - F# and Safe Stack
Dotnet Conf 2021 - F# and Safe StackDotnet Conf 2021 - F# and Safe Stack
Dotnet Conf 2021 - F# and Safe Stack
Chieh Kai Yang
 
無密碼時代終於要來了嗎
無密碼時代終於要來了嗎無密碼時代終於要來了嗎
無密碼時代終於要來了嗎
Chieh Kai Yang
 
Structured data
Structured dataStructured data
Structured data
Chieh Kai Yang
 
Web.dev extended : What's new in Web [GDG Taichung]
Web.dev extended : What's new in Web [GDG Taichung]Web.dev extended : What's new in Web [GDG Taichung]
Web.dev extended : What's new in Web [GDG Taichung]
Chieh Kai Yang
 
Study4TW - .NET Conf 2019 - Rx
Study4TW - .NET Conf 2019 - RxStudy4TW - .NET Conf 2019 - Rx
Study4TW - .NET Conf 2019 - Rx
Chieh Kai Yang
 
Reactive Programmin
Reactive ProgramminReactive Programmin
Reactive Programmin
Chieh Kai Yang
 
從零走到 Angular 世界
從零走到 Angular 世界從零走到 Angular 世界
從零走到 Angular 世界
Chieh Kai Yang
 
Study4.TW .NET Conf 2018 - Fp in c#
Study4.TW .NET Conf 2018  - Fp in c#Study4.TW .NET Conf 2018  - Fp in c#
Study4.TW .NET Conf 2018 - Fp in c#
Chieh Kai Yang
 
How to 系列 - Hosting a website
How to 系列 - Hosting a websiteHow to 系列 - Hosting a website
How to 系列 - Hosting a website
Chieh Kai Yang
 
2018-01-06 Study4Love Conference - Rendertron
2018-01-06 Study4Love Conference - Rendertron2018-01-06 Study4Love Conference - Rendertron
2018-01-06 Study4Love Conference - Rendertron
Chieh Kai Yang
 
ModernWeb 2017 angular component
ModernWeb 2017 angular componentModernWeb 2017 angular component
ModernWeb 2017 angular component
Chieh Kai Yang
 

More from Chieh Kai Yang (11)

Dotnet Conf 2021 - F# and Safe Stack
Dotnet Conf 2021 - F# and Safe StackDotnet Conf 2021 - F# and Safe Stack
Dotnet Conf 2021 - F# and Safe Stack
 
無密碼時代終於要來了嗎
無密碼時代終於要來了嗎無密碼時代終於要來了嗎
無密碼時代終於要來了嗎
 
Structured data
Structured dataStructured data
Structured data
 
Web.dev extended : What's new in Web [GDG Taichung]
Web.dev extended : What's new in Web [GDG Taichung]Web.dev extended : What's new in Web [GDG Taichung]
Web.dev extended : What's new in Web [GDG Taichung]
 
Study4TW - .NET Conf 2019 - Rx
Study4TW - .NET Conf 2019 - RxStudy4TW - .NET Conf 2019 - Rx
Study4TW - .NET Conf 2019 - Rx
 
Reactive Programmin
Reactive ProgramminReactive Programmin
Reactive Programmin
 
從零走到 Angular 世界
從零走到 Angular 世界從零走到 Angular 世界
從零走到 Angular 世界
 
Study4.TW .NET Conf 2018 - Fp in c#
Study4.TW .NET Conf 2018  - Fp in c#Study4.TW .NET Conf 2018  - Fp in c#
Study4.TW .NET Conf 2018 - Fp in c#
 
How to 系列 - Hosting a website
How to 系列 - Hosting a websiteHow to 系列 - Hosting a website
How to 系列 - Hosting a website
 
2018-01-06 Study4Love Conference - Rendertron
2018-01-06 Study4Love Conference - Rendertron2018-01-06 Study4Love Conference - Rendertron
2018-01-06 Study4Love Conference - Rendertron
 
ModernWeb 2017 angular component
ModernWeb 2017 angular componentModernWeb 2017 angular component
ModernWeb 2017 angular component
 

改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器

Editor's Notes

  1. 原子性: 一個事務(transaction)中的所有操作,要麼全部完成,要麼全部不完成,不會結束在中間某個環節。事務在執行過程中發生錯誤,會被恢復(Rollback)到事務開始前的狀態,就像這個事務從來沒有執行過一樣。即,事務不可分割、不可約簡。 非同步: