Top Banner
Qlync Inc. RD 第三屆 讀書會候選清單 2014/07/24
23

Qlync RD 第三屆讀書會候選清單

Aug 27, 2014

Download

Software

Li-Wei Yao

1. Refactoring
2. Unit Test
3. Scalable Web Site Structure
4. RESTful Web Service
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Qlync RD 第三屆讀書會候選清單

Qlync Inc. RD 第三屆

讀書會候選清單2014/07/24

Page 2: Qlync RD 第三屆讀書會候選清單

候選主題1. Refactory

2. Unit Test

3. Scalable Web Application Architecture

4. Web Service and API Design

Page 3: Qlync RD 第三屆讀書會候選清單

候選書目 1/21. Refactory

a. Refectoring - Improve the Design of Existing Code (1999)i. 重構 - 改善既有程式的設計

b. Refactory to Pattern (2013)i. 重構 - 向範式前進

2. Unit Testa. Unit Test Frameworks - Tools for High-Quality Software Development

(2004)

Page 4: Qlync RD 第三屆讀書會候選清單

候選書目 2/23. Scalable Web Application Architecture

a. Building Scalable Web Sites - Building, Scaling, and Optimizing the Next Generation of Web Applications (2006)

4. Web Service and API Designa. RESTful Web Services - Web Services for the Real Word (2007)b. RESTful Web APIs (2013)

Page 5: Qlync RD 第三屆讀書會候選清單
Page 6: Qlync RD 第三屆讀書會候選清單

Refacrory● Refactory to Patterns (2013)

○ 重構 - 向範式前進

1. 為什麼寫這本書○ refactory 成為/接近/遠離 patterns○ not up-front pattern design

2. 重構 (Refactoring)○ << Principles in Refactoring >>

3. 範式 (Patterns)4. 程式碼壞味道 (Code Smells)5. 一份Refactorings to Patterns名錄

○ 名稱/ 概要/ 動機/ 作法/ 範例/ 變異

Page 7: Qlync RD 第三屆讀書會候選清單

Refacrory● Refactory to Patterns (2013)

○ 重構 - 向範式前進

6. 創建 (Creation)○ 過度複雜建構式/ 非必要的Singletons○ [DP]: Singletons/ Factory Method/ Builder/ Composite

7. 簡化 (Simplification)○ 簡化函式/ 狀態變遷/ 樹狀結構○ [DP]: Strategy/ Decorator/ State/ Composite/ Command

8. 一般化 (Generalization)○ 特定用法至一般用法/ 移除重複程式碼/ 簡化清理○ [DP]: Template Method/ Composite/ Observer/ Adapter/ Interpreter

9. 保護 (Protection)○ 既有程式碼保護機制○ Singleton/ Null Object

Page 8: Qlync RD 第三屆讀書會候選清單

Refacrory● Refactory to Patterns (2013)

○ 重構 - 向範式前進

10. 積累 (Accumulation)○ 改善『在單一物件內或橫跨數個物件積累資訊』的程式碼○ [DP]: Visitor

11. 工具 (Utilities)○ 高階重構會用到的低階轉換

Page 9: Qlync RD 第三屆讀書會候選清單

Refacrory● Refactory to Patterns (2013)

○ 重構 - 向範式前進

A Study Sequence(學習順序)

Page 10: Qlync RD 第三屆讀書會候選清單
Page 11: Qlync RD 第三屆讀書會候選清單

Refactory● Refectoring - Improve the Design of Existing Code (1999)

○ 重構 - 改善既有程式的設計

1. 重構,第一個案例(Refactoring, a First Example)2. 重構原則(Principles in Refactoring)3. 程式碼的壞味道(Bad Smells in Code, by Kent Beck and Martin Fowler)4. 建立測試體系(Building Tests)5. 重構名錄(Toward a Catalog of Refactoring)6. 重新組織你的函式(Composing Methods)7. 在物件之間移動特性(Moving Features Between Objects)8. 重新組織你的資料(Organizing Data)9. 簡化條件句(Simplifying Conditional Expressions)

10. 簡化函式呼叫(Making Method Calls Simpler)11. 處理繼承關係(Dealing with Generalization)12. 大型重構(Big Refactorings, by Kent Beck and Martin Fowler)13. 重構, 復用, 與現實(Refactoring, Reuse, and Reality, by William Opdyke)14. 重構工具(Refactoring Tools, by Don Roberts and John Brant)15. 綜述(Put It All Together, by Kent Beck)

Page 12: Qlync RD 第三屆讀書會候選清單
Page 13: Qlync RD 第三屆讀書會候選清單

Unit Test● Unit Test Frameworks - Tools for High-Quality Software

Development (2004)

1. Unit Test Frameworks: An Overview○ TDD/ Unit Test/ QA

2. Getting Started: Tutorial3. The xUnit Family of Unit Test Frameworks4. Writing Unit Tests

○ An overview of writing unit tests.○ Different types of unit tests and patterns of unit test development

5. Unit Testing GUI Applications○ Explains how to build and test GUI objects following the smart object

model

Page 14: Qlync RD 第三屆讀書會候選清單

Unit Test● Unit Test Frameworks - Tools for High-Quality Software

Development (2004)

6. JUnit (Java)7. CppUnit (C++)8. NUint (.NET)9. PyUnit (Python)

10. XMLUnit (XML)11. Resources

Page 15: Qlync RD 第三屆讀書會候選清單
Page 16: Qlync RD 第三屆讀書會候選清單

Scalable Web Application Architecture● Building Scalable Web Sites - Building, Scaling, and Optimizing

the Next Generation of Web Applications (2006)

1. What is web application?2. Web Application Architecture (硬體,軟體,網路分層架構)3. Development Environments (開發環境,步驟,流程)4. Internationalization and Localization (語系,不同環境下UTF-8的使用)5. Data Integrity and Security (DIP,Validate,Filter,XSS,SQL Injection)6. Email (整合Email與Web Application)7. Remote Service (Server之間溝通, Redundancy, Async, Protocols)8. Bottlenecks (Identify, CPU, I/O, MEM, DB, External Service)9. Scaling Web Applications (Network,PHP,MySQL,Storage,Caching)

10. Statistics, Monitoring, and Alerting11. APIs

Page 17: Qlync RD 第三屆讀書會候選清單
Page 18: Qlync RD 第三屆讀書會候選清單

Web Service and API Design● RESTful Web APIs (2013)

Basic concepts behind REST as it applies to web APIs1. Surfing the Web2. A Simple API3. Resource and Representations4. Hyptermedia

Different strategies for designing a hypermedia API 5. Domain-Specific Designs6. The Collection Pattern7. Pure-Hyptermedia Designs8. Profiles

Page 19: Qlync RD 第三屆讀書會候選清單

Web Service and API Design● RESTful Web APIs (2013)

Pracical topics and best practices9. The Design Procedure

10. The Hypermedia Zoo11. HTTP for APIs12. Resource Description and Linked Data13. CoAP: REST for Embedded System

Page 20: Qlync RD 第三屆讀書會候選清單
Page 21: Qlync RD 第三屆讀書會候選清單

Web Service and API Design● RESTful Web Services - Web Services for the Real Word (2007)

1. The Programmable Web and Its Inhabitants2. Writing Web Service Clients3. What Makes RESTful Services Different?

○ resources, ○ representations, ○ uniform Interface

Page 22: Qlync RD 第三屆讀書會候選清單

Web Service and API Design● RESTful Web Services - Web Services for the Real Word (2007)

4. The Resource-Oriented Architecture○ addressability, statelessness, connectedness, uniform interface.

5. Designing Read-Only Resource-Oriented Services 6. Designing Read/Write Resource-Oriented Services 7. A Service Implementation

○ RPC-style to RESTful service8. REST and ROA Best Practices 9. The Building Blocks of Services

○ representions, prepackaged control flows, hypermedia

Page 23: Qlync RD 第三屆讀書會候選清單

Web Service and API Design● RESTful Web Services - Web Services for the Real Word (2007)

10. The Resource-Oriented Architecture Versus Big Web Services○ simpler, scalable, easier, client support

11. Ajax Applications as REST Clients ○ Ajax and JavaScript client

12. Frameworks for RESTful Services ○ Ruby on Rails, Restlet (for Java), Django (for Python)