Search

核心概念幫你規劃職業之路(8) - 程序員最大的坑 是路邊的風景

程序員最大的坑 是路邊的風景

核心概念幫你規劃職業之路(7) - 創業 是捷徑還是坑

要不要創業

核心概念幫你規劃職業之路(6) - 走管理還是搞技術

走管理還是搞技術

核心概念幫你規劃職業之路(5) - 大公司還是小公司

大公司還是小公司

核心概念幫你規劃職業之路(4) - 平台對於程序員的影響

平台對於程序員的影響

核心概念幫你規劃職業之路(3) - 你選對行業了嗎

怎麼判斷自己真的入對了行

核心概念幫你規劃職業之路(2) - 規劃程序員的職業路徑

程序員的職業路徑真的可以規劃

核心概念幫你規劃職業之路(1) - 互聯網的未來在哪

互聯網的未來在哪

程序員為什麼焦慮

本文介紹程序員為什麼焦慮

Build a network of peers

本文介紹Build a network of peersf

Create space for others

本文介紹如何為他人創造成長空間

Learn to never be wrong

本文介紹如何在傳達對的觀點的同時為他人創造空間

To lead, you have to follow

本文介紹如何適時的給予別人領導的機會

Stay aligned with authority

本文介紹如何Stay aligned with authority

Writing engineering strategy

本文介紹如何Writing engineering strategy

Work on what matters

本文介紹如何做真正重要的事

Operating at Staff

本文介紹Operating at Staff

掌握市場週期

第一章: 為什麼要研究週期

淺談MySQL Index

資料庫是可以讓我們儲存資料和查詢資料的地方

Pragmatic Projects - 務實的專案

本文記錄了讀完The Pragmatic Programmer的讀後筆記

Before Project - 專案啟動前

本文記錄了讀完The Pragmatic Programmer的讀後筆記

While You Are Coding - 當您寫程式時

本文記錄了讀完The Pragmatic Programmer的讀後筆記

Concurrency - 並行

本文記錄了讀完The Pragmatic Programmer的讀後筆記

Bend or Break - 彎曲或弄壞

本文記錄了讀完The Pragmatic Programmer的讀後筆記

Pragmatic Paranoia - 務實的偏執

本文記錄了讀完The Pragmatic Programmer的讀後筆記

如何理解Cookie和Session

如何理解Cookie和Session

The Basic Tools - 基本工具

本文記錄了讀完The Pragmatic Programmer的讀後筆記

The Pragmatic Approach - 務實的方法

本文記錄了讀完The Pragmatic Programmer的讀後筆記

The Pragmatic Programmer - 務實的哲學

本文記錄了讀完The Pragmatic Programmer的讀後筆記

Linux 效能工具 - 實用篇

本文講解常用的觀察Linux效能的工具

Linux 效能工具 - Advanced

本文講解常用的觀察Linux效能的工具

Linux 效能工具 - Intermediate

本文講解常用的觀察Linux效能的工具

Linux 效能工具 - Basic

本文講解常用的觀察Linux效能的工具

Designing Data-Intensive Application - The Future of Data Systems

本文講解數據系統的未來

Designing Data-Intensive Application - Part3 Intro - Derived Data

本篇文章介紹衍生數據

重構 - 改善既有程式的設計 - Simplifying Conditional Expressions

這篇文章討論《重構 - 改善既有程式的設計》裡的第九章 - Simplifying Conditional Expressions

重構 - 改善既有程式的設計 - Making Method Calls Simpler

這篇文章討論《重構 - 改善既有程式的設計》裡的第十章 - Making Method Calls Simpler

重構 - 改善既有程式的設計 - Deal with Generalization

這篇文章討論《重構 - 改善既有程式的設計》裡的第十一章 - Deal with Generalization

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

這篇文章討論《重構 - 改善既有程式的設計》裡的第八章 - Organizing Data

重構 - 改善既有程式的設計 - Moving Features between Objects

這篇文章討論《重構 - 改善既有程式的設計》裡的第七章 - Moving Features between Objects

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

這篇文章討論《重構 - 改善既有程式的設計》裡的第六章 - Composing Methods

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

這篇文章討論《重構 - 改善既有程式的設計》裡的3.16 - Middle Man

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

這篇文章討論《重構 - 改善既有程式的設計》裡的3.15 - Message Chain

重構 - 改善既有程式的設計 - Incomplete Library Class

這篇文章討論《重構 - 改善既有程式的設計》裡的3.19 - Incomplete Library Class

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

這篇文章討論《重構 - 改善既有程式的設計》裡的3.13 - Speculative Generality

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

這篇文章討論《重構 - 改善既有程式的設計》裡的3.17 - Inappropriate Intimacy

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

這篇文章討論《重構 - 改善既有程式的設計》裡的3.20 - Data Class

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

這篇文章討論《重構 - 改善既有程式的設計》裡的3.12 - Lazy Class

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

這篇文章討論《重構 - 改善既有程式的設計》裡的3.1 - Duplicated Code

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

這篇文章討論《重構 - 改善既有程式的設計》裡的3.22 - Comments

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

這篇文章討論《重構 - 改善既有程式的設計》裡的3.6 - Shotgun Surgery

重構 - 改善既有程式的設計 - Parallel Inheritance Hierarchies

這篇文章討論《重構 - 改善既有程式的設計》裡的3.11 - Parallel Inheritance Hierarchies

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

這篇文章討論《重構 - 改善既有程式的設計》裡的3.5 - Divergent Change

重構 - 改善既有程式的設計 - Alternative Classes with Different Interfaces

這篇文章討論《重構 - 改善既有程式的設計》裡的3.18 - Alternative Classes with Different Interfaces

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

這篇文章討論《重構 - 改善既有程式的設計》裡的3.21 - Refused Bequest

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

這篇文章討論《重構 - 改善既有程式的設計》裡的3.14 - Temporary Field

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

這篇文章討論《重構 - 改善既有程式的設計》裡的3.10 - Switch Statements

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

這篇文章討論《重構 - 改善既有程式的設計》裡的3.9 - Primitive Obsession

重構 - 改善既有程式的設計 - Long Parameter List

這篇文章討論《重構 - 改善既有程式的設計》裡的3.4 - Long Parameter List

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

這篇文章討論《重構 - 改善既有程式的設計》裡的3.3 - Large Class

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

這篇文章討論《重構 - 改善既有程式的設計》裡的3.7 - Feature Envy

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

這篇文章討論《重構 - 改善既有程式的設計》裡的3.8 - Data Clumps

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

這篇文章討論《重構 - 改善既有程式的設計》裡的3.2 - Large Method

程式碼的氣味和啟發(二)

這篇文章討論 《Clean Code》 裡面收官的章節 - 程式碼的氣味和啟發 以及《重構 - 改善既有程式的設計》裡第三章 - 程式碼的壞味道

程式碼的氣味和啟發(一)

這篇文章討論 《Clean Code》 裡面收官的章節 - 程式碼的氣味和啟發 以及《重構 - 改善既有程式的設計》裡第三章 - 程式碼的壞味道

整潔的架構

這篇文章討論 Clean Architecture 裡面集大成的一個章節 The Clean Architecture

細談元件耦合性

這篇文章討論 Clean Architecture 裡面的元件耦合性章節

細談元件內聚性

這篇文章討論 Clean Architecture 裡面的元件內聚性章節

深入淺出依賴反向原則 Dependency Inversion Principle

這篇文章介紹軟體架構裡面 S.O.L.I.D 中的D (Dependency Inversion Principle)

深入淺出介面分割原則 Interface Segregation Principle

這篇文章介紹軟體架構裡面 S.O.L.I.D 中的I (Interface Segregation Principle)

深入淺出 Liskov 替換原則 Liskov Substitution Principle

這篇文章介紹軟體架構裡面 S.O.L.I.D 中的L (Liskov Substitution Principle)

深入淺出開放封閉原則 Open-Closed Principle

這篇文章介紹軟體架構裡面 S.O.L.I.D 中的O (Open-Closed Principle)

深入淺出單一職責原則 Single Responsibility Principle

這篇文章介紹軟體架構裡面 S.O.L.I.D 中的S (Single Responsibility Principle)

Effective Java Item5 - 依賴注入優於硬連接資源

本篇文章介紹為何依賴注入優於hardwiring resources

無瑕的程式碼 - 單元測試

本文是《無瑕的程式碼》第九章 單元測試 的內容 稍微條列式筆記一下

無瑕的程式碼 - 物件及資料結構

《無瑕的程式碼》第六章 物件及資料結構 中 有個很有趣的話題 想跟大家討論討論

每個程序員都該瞭解的JVM - 序章的終章

為什麼讀JVM

每個程序員都該瞭解的JVM - 垃圾收集器

垃圾收集器

每個程序員都該瞭解的JVM - 運行時數據區

我們在哪

每個程序員都該瞭解的JVM - 執行引擎

我們在哪

矽谷找資深工程師工作心得分享

這篇文章想跟大家聊聊在矽谷找工作的心得 常常看到不少人分享畢業前找Entry Level工程師的心得 大多都是刷題刷題在刷題 但我這次找工作的半年期間 發現找資深的職缺跟找Entry Level的準備方式是完全不一樣的 於是就有了這篇文 把所見所聞分享給大家

面試的問問題時間 - A與A+的差別

你有什麼問題要問我的嗎

每個程序員都該瞭解的JVM - 反射

介紹

每個程序員都該瞭解的JVM - 虛擬機類加載機制

楔子

每個程序員都該瞭解的JVM - 類文件結構

類文件結構

每個程序員都該瞭解的JVM - 虛擬機字節碼指令表

附錄 - 虛擬機字節碼指令表

每個程序員都該瞭解的JVM - 前言

這篇文章想跟大家聊聊 為什麼當初說好要出版的書不出版了 而是以部落格的形式刊出

每個程序員都該瞭解的JVM - JAVA虛擬機介紹

JAVA虛擬機介紹

系統設計 - 設計Instagram服務

設計Instagram/Facebook Feed/Twitter是系統設計的常見考題 這篇文章我們就來Mock一下迷途書僮 看看這些年來他準備系統設系準備的如何

系統設計 - 設計縮網址服務

設計縮網址服務是系統設計的月經考題 這篇文章我們就來Mock一下迷途書僮 看看這些年來他準備系統設系準備的如何

Designing Data-Intensive Application - Batch Processing

本文講解批處理

系統設計 - 正向代理跟反向代理

本文講解Forward Proxy跟Reverse Proxy的差別

Designing Data-Intensive Application - Distributed Transaction and Consensus

本文講解一致性和共識

Designing Data-Intensive Application - Ordering Guarantees

本文講解何謂順序保證

Designing Data-Intensive Application - Linearizability

本文講解何謂線性一致性

Designing Data-Intensive Application - Consistency and Consensus

本文講解一致性和共識

Designing Data-Intensive Application - The Trouble with Distributed Systems

本文講解關於分布式系統的難點

Designing Data-Intensive Application - Part2 Intro - Distributed Data

本篇文章介紹分佈式數據

Designing Data-Intensive Application - Stream Processing - Processing Streams

本篇文章介紹流處理第三部分 - 處理流

Designing Data-Intensive Application - Stream Processing - Databases and Streams

本篇文章介紹流處理第二部分 - 數據庫與流

Designing Data-Intensive Application - Stream Processing - Transmitting Event Streams

本篇文章介紹流處理第一部分 - 傳遞事件流

Designing Data-Intensive Application - Transactions - 可串行化

本篇文章介紹事務中的可串行化

Designing Data-Intensive Application - Transactions - 弱隔離級別

本篇文章介紹事務中的弱隔離級別

Designing Data-Intensive Application - Transactions - ACID

本篇文章介紹事務以及ACID的概念

Designing Data-Intensive Application - Partitioning

本篇文章介紹分區

Designing Data-Intensive Application - Replication

本篇文章介紹複製

Designing Data-Intensive Application - Part1 Intro - Foundation of Data Systems

本篇文章介紹數據系統的基本概念

Designing Data-Intensive Application - Encoding and Evolution

本篇文章介紹編碼和演化

Designing Data-Intensive Application - Storage and Retrieval

本篇文章介紹存儲與檢索

Designing Data-Intensive Application - Data Models and Query Languages

本篇文章介紹各種數據模型和各種查詢語言

Designing Data-Intensive Application - Reliable, Scalable, and Maintainable Application

本篇文章介紹何謂可靠性 可伸展性以及可維護性

Effective Java Item31 - 利用限制通配符來提昇API靈活性

本篇文章介紹限制通配符的好處

到底 <T extends Comparable<? super T>>是什麼意思

本篇文章介紹

類型參數和通配符的選擇

本篇文章介紹

Effective Java Item30 - 優先考慮泛型方法

本篇文章介紹泛型方法的好處 並實際操作泛型化

Effective Java Item29 - 優先考慮泛型

本篇文章介紹泛型化的好處 並實際操作泛型化

Effective Java Item28 - 列表優於數組

本篇文章介紹為什麼能使用list就要使用list 而不是array

Effective Java Item27 - 消除非檢查警告

本篇文章介紹為什麼應該消除Unchecked warnings

Effective Java Item26 - 不要使用原始類型

本篇文章介紹為什麼應該避免使用原始類型

泛型篇章簡介及術語列表

泛型篇章簡介及術語列表

Effective Java Item25 - 讓每個java文件只有一個top-level類別

本篇文章介紹為什麼要讓每個java文件只有一個top-level類

Effective Java Item48 - 謹慎使用並行Stream

本篇文章介紹並行化Stream的難度以及可能的風險

Effective Java Item47 - 優先使用Collection而不是Stream來作為函數的回傳類型

本篇文章介紹用Collection當作函數回傳類型的好處

Effective Java Item46 - 優先考慮在流的中間操作中使用無副作用的方法

本篇文章介紹如何靈活在流中使用終結操作

Effective Java Item45 - 謹慎的使用Stream

本篇文章介紹流運算 以及如何在流運算和迭代運算中取得平衡

Effective Java Item44 - 優先使用標準的函數式接口

本篇文章介紹為何要使用標準的函數式接口 以及例外時機

緩存讀寫機制

本篇文章介紹緩存如何處理讀跟寫的問題 以及緩存一致性如何達到

Douglas Crockford的小故事

本篇文章介紹Douglas Crockford 以及Douglas Crockford的小故事

Effective Java Item43 - 方法引用優於lambda表達式

本篇文章介何謂方法引用 以及方法引用的使用時機

Effective Java Item42 - lambda表達式優於匿名類

本篇文章介紹何謂lambda 以及lambda跟匿名類的使用時機

Effective Java Item24 - 優先考慮靜態成員類

本篇文章介紹嵌套類的用法和使用時機

Effective Java Item7 - 消除過期的對象引用

本篇文章介紹為何要消除過期的對象引用來防止內存洩漏

Effective Java Item6 - 避免創建不必要的對象

本篇文章介紹為何要避免創建不必要的對象

Effective Java Item12 - 始終要覆蓋toString

本篇文章介紹什麼時候要覆蓋toString 以及如何覆蓋toString

Effective Java Item11 - 覆蓋equals時總要覆蓋hashCode

本篇文章介紹為何覆蓋equals時總要覆蓋hashCode 以及如何寫一個好的hashCode

Effective Java Item10 - 覆蓋equals請遵守通用規範

本篇文章介紹當你編寫新的類別的時候 需要覆蓋equals的時機以及如何覆蓋equals

Effective Java Item66 - 謹慎的使用本地方法

本篇文章介紹何謂本地方法 以及為何不建議使用本地方法

Effective Java Item64 - 通過接口引用對象

本篇文章介紹為何要夠過接口引用對象的好處

Effective Java Item67 - 謹慎地進行優化

本篇文章介紹進行優化的時機以及如何優化

Effective Java Item52 - 慎用重載

本篇文章介紹為何要慎用重載 以及如果必須用重載的注意事項

Bash shell - time command

本篇教學如何使用time命令以及看懂time命令的輸出

Effective Java Item53 - 慎用可變參數

本篇文章介紹如何使用可變參數以及性能問題

Effective Java Item56 - 為所有導出的API元素編寫文檔註釋

本篇文章說明幾個為什麼要寫文檔以及如何寫文檔

Effective Java Item51 - 謹慎的設計方法簽名

本篇文章說明幾個設計方法簽名的注意事項

Effective Java Item18 - 復合優先於繼承

本篇文章說明繼承跟復合的差別 以及為什麼優先使用復合

Effective Java Item17 - 使可變性最小化

本篇講解不可變類的好處與如何實作不可變類

Effective Java Item16 - 在公有類中使用訪問方法而非公有域

本篇講解Java裡面 為何要在公有類中使用訪問方法來存取變量

Effective Java Item15 - 使類和成員的可訪問性最小化

本篇講解Java裡面 各個訪問級別的使用時機 以及設計一個類別時所要注意的事項

Effective Java Item4 - 透過私有構造器來禁止實例化

當你要編寫工具類別的時候 使用私有構造器是防止使用者實例化的最好方式

Effective Java Item58 - For-each 優先於傳統的for或while

這篇是Effective Java - Prefer for-each loops to traditional for loops章節的讀書筆記 本篇的程式碼來自於原書內容

搜尋引擎

本篇介紹建造一個搜尋引擎需要的所有步驟 包括Index, Query 和Ranking 一步一步講解 深入淺出 看完你也可以自己架一個搜尋引擎囉

Effective Java Item77 - 不要忽略異常

這篇是Effective Java - Don’t ignore exceptions章節的讀書筆記 本篇的程式碼來自於原書內容

Effective Java Item57 - 將局部變量的作用域最小化

這篇是Effective Java - Minimize the scope of local variables章節的讀書筆記 本篇的程式碼來自於原書內容

Effective Java Item76 - 使失敗保持原子性

這篇是Effective Java - Strive for failure atomicity章節的讀書筆記 本篇的程式碼來自於原書內容

Effective Java Item75 - 在細節消息中包含能捕獲失敗的訊息

這篇是Effective Java - Include failure-capture information in detail messages章節的讀書筆記 本篇的程式碼來自於原書內容

Effective Java Item74 - 每個拋出來的異常都要有文檔

這篇是Effective Java - Document all exceptions thrown by each method章節的讀書筆記 本篇的程式碼來自於原書內容

Effective Java Item72 - 優先使用標準的異常

這篇是Effective Java - Favor the use of standard exceptions章節的讀書筆記 本篇的程式碼來自於原書內容

Effective Java Item71 - 避免不必要的使用受檢異常

這篇是Effective Java - Avoid unnecessary use of checked exceptions章節的讀書筆記 本篇的程式碼來自於原書內容

Effective Java Item70 - 對可恢復的情況使用受檢異常 對編程錯誤使用運行時異常

這篇是Effective Java - Use checked exceptions for recoverable conditions and runtime exceptions for programming errors章節的讀書筆記 本篇的程式碼來自於原書內容

Effective Java Item73 - 拋出與抽象相對應的異常

這篇是Effective Java - Throw exceptions appropriate to the abstraction章節的讀書筆記 本篇的程式碼來自於原書內容

Effective Java Item49 - 檢查參數的有效性

這篇是Effective Java - Check parameter for validity章節的讀書筆記 本篇的程式碼來自於原書內容

Blackjack - 算牌教學和程式模擬

今天來聊聊21點

Effective Java Item68 - 遵守普遍接受的命名慣例

這篇是Effective Java - Adhere to generally accepted naming conventions章節的讀書筆記 本篇的程式碼來自於原書內容

我聊的不是金庸 是測試替身

看這篇文章前 建議先看過 何謂測試替身 射雕英雄傳 神鵰俠侶 倚天屠龍記

測試替身(6) - Fake

Fake就是一個真實DOC的簡單版

測試替身(5) - Spy

我們學會了用STUB來獨立測試SUT 可是我們用STUB並無法確定我們預期要被call的function是不是真的被call了 或是被call了幾次 這時候就需要一個專業一點的間諜來幫忙

寫腳本幫你自動找聯合航空網站的窗戶位

測試替身(4) - Mock

我們學會了用STUB來獨立測試SUT 可是我們用STUB並無法確定我們預期要被call的function是不是真的被call了 或是被call了幾次 這時候就需要一個專業一點的mock來幫忙

測試替身(3) - Stub

接下來進入正題 也是第一個可以讓我們獨立測試SUT的測試替身 – STUB

測試替身(2) - Dummy

測試替身(1) - 何謂測試替身

寫過測試的人都知道什麼是Mock 但其實Mock是很多東西的統稱 包含了 Dummy Mock Fake Stub Spy

Effective Java Item54 - 返回零長度的數組或集合 而不是null

這篇是Effective Java - Return empty Arrays or Collections, not nulls章節的讀書筆記 本篇的程式碼來自於原書內容

十分鐘在AWS架好個人部落格

接下來就是實戰篇 想寫這篇文章的原因是上個禮拜我的ec2完全掛掉 登都登不進去 然後domain也連不進去 只好忍痛再開一個新的instance 整個重新migrate

寫一年技術文章的心得

寫了部落格一年 砸了無數小時 念了不下二十本CS相關書籍 差不多可以說一下這一年來的心得體會

Effective Java Item69 - 只針對異常的情況才使用異常

這篇是Effective Java - Use exceptionas only for exceptional condiiton章節的讀書筆記 本篇的程式碼來自於原書內容

不必再花錢買Iphone容量 用群暉科技NAS自動備份手機照片

最近iphoneX上市 256GB跟64GB的價格差了美金150 越想越覺得把錢花在手機的容量實在有點蠢 可是手上的這台舊手機一直跟我說iCloud記憶體滿了 實在煩人 更不用說iphone要把照片存進電腦實在麻煩 所以最近開始研究NAS 才發現現在的NAS跟我第一次看到這個詞的時候 已經長得不太一樣了 這兩天敗了一台NAS DS718+ 功能比想像中的完整許多

Effective Java Item90 - 考慮用序列化代理代替序列化實例

這篇是Effective Java - Consider serialization proxies instead of serialized instances章節的讀書筆記 本篇的程式碼來自於原書內容

Effective Java Item89 - 用Enum實現物件控制

這篇是Effective Java - For instance control, prefer enum over readResolve章節的讀書筆記 本篇的程式碼來自於原書內容

Effective Java Item3 - 用Enum實作Singleton

這篇是Effective Java - Enforce the singleton property with a private constructor or an enum type章節的讀書筆記 本篇的程式碼來自於原書內容 教學內容來自Geeksforgeeks

Effective Java Item88 - 保護性的編寫readObject方法

這篇是Effective Java - Write readobject method defensively章節的讀書筆記 本篇的程式碼來自於原書內容

Effective Java - 深入解析序列化byte stream

這篇文章是閱讀Effective Java 第12章 - Item88之前需要會的知識

Design Pattern(15) - Proxy

代理模式是個很常用的設計模式 當無法直接訪問某個對象或是其他理由導致訪問這個對象很困難的時候 就可以用一個代理對象來做間接的訪問 很困難的理由包含物件在遠端 或是建立成本高 或是需要安全控管等等

Effective Java Item87 - 考慮使用自己定義的序列化

這篇是Effective Java - Consider using a custom serialized form章節的讀書筆記 本篇的程式碼來自於原書內容

Effective Java Item86 - 謹慎實現Serializable介面

這篇是Effective Java - Implement Serializable judiciously章節的讀書筆記

Effective Java - 序列化

這篇文章是閱讀Effective Java 第11章 - Serialization之前需要會的知識 本篇的程式碼來源是Tutorial Point

Effective Java Item50 - 必要時進行保護型拷貝

這篇是Effective Java - Make defensive copies when needed章節的讀書筆記

Effective Java Item2 - 建造者模式

這篇是Effective Java - Consider a builder when faced with many constructor parameters章節的讀書筆記

Effective Java Item1 - 靜態工廠方法

這篇是Effective Java - Consider static factory methods instead of constructors章節的讀書筆記

Design Pattern(14) - Template

以下文章是閱讀 深入淺出Design Pattern 還有 聖經還有Source making的筆記 圖片截圖自lynda.com的Foundations of Programming: Design Patterns 要更深入的理解一定要去看這兩本書

Effective Engineer - Validate Your Ideas Early and Often

這篇是Effective Engineer - Validate Your Ideas Early and Often章節的讀書筆記

Effective Engineer - Invest Your Team's Growth

這篇是Effective Engineer - Invest Your Team’s Growth章節的讀書筆記

Effective Engineer - Minimize Operational Burden

這篇是Effective Engineer - Minimize Operational Burden章節的讀書筆記

Chrome console Error-Mixed Content

Youtube tracker in google analytics

Design Pattern(13) - Facade

以下文章是閱讀 深入淺出Design Pattern 還有 聖經還有Source making的筆記 圖片截圖自lynda.com的Foundations of Programming: Design Patterns 要更深入的理解一定要去看這兩本書

Effective Engineer - Focus on High-Leverage Activities

這篇是Effective Engineer - Focus on High-Leverage Activities章節的讀書筆記

Effective Engineer - Balance Quality with Pragmatism

這篇是Effective Engineer - Balance Quality with Pragmatism章節的讀書筆記

Effective Engineer - Improve your project estimation skills

這篇是Effective Engineer - Improve your project estimation skills章節的讀書筆記

Design Pattern(12) - Adaptor

以下文章是閱讀 深入淺出Design Pattern 還有 聖經還有Source making的筆記 圖片截圖自lynda.com的Foundations of Programming: Design Patterns 要更深入的理解一定要去看這兩本書

Effective Engineer - Measure what you want to improve

這篇是Effective Engineer - Measure what you want to improve章節的讀書筆記

Effective Engineer - Invest in Iteration Speed

這篇是Effective Engineer - Invest in Iteration Speed章節的讀書筆記

Design Pattern(11) - Command

以下文章是閱讀 深入淺出Design Pattern 還有 聖經還有Source making的筆記 圖片截圖自lynda.com的Foundations of Programming: Design Patterns 要更深入的理解一定要去看這兩本書

Effective Engineer - Prioritize Regularly

這篇是Effective Engineer - Prioritize Regularly章節的讀書筆記 教你Prioritize的策略

Effective Engineer - Optimize for Learning

這篇是Effective Engineer - Optimize for learning章節的讀書筆記 我讀過不少教engineer如何成長的文章 但通常都是老生常談 看沒兩天就忘了 但這篇的建議我覺得都很好 不求全部做到 但求砥礪自己每天進步

Design Pattern(10) - Builder

一個constructor參數很多的class

Design Pattern(9) - Composite

以下文章是閱讀 深入淺出Design Pattern 還有 聖經還有Source making的筆記 圖片截圖自lynda.com的Foundations of Programming: Design Patterns 要更深入的理解一定要去看這兩本書

Design Pattern(8) - Iterator

以下文章是閱讀 深入淺出Design Pattern 還有 聖經還有Source making的筆記 圖片截圖自lynda.com的Foundations of Programming: Design Patterns 要更深入的理解一定要去看這兩本書

Design Pattern(7) - State

以下文章是閱讀 深入淺出Design Pattern 還有 聖經還有Source making的筆記 圖片截圖自lynda.com的Foundations of Programming: Design Patterns 要更深入的理解一定要去看這兩本書

Design Pattern(6) - Singleton

以下文章是閱讀 深入淺出Design Pattern 還有 聖經還有Source making的筆記 圖片截圖自lynda.com的Foundations of Programming: Design Patterns 要更深入的理解一定要去看這兩本書

Design Pattern(5) - Abstract factory

以下文章是閱讀 深入淺出Design Pattern 還有 聖經還有Source making的筆記 圖片截圖自lynda.com的Foundations of Programming: Design Patterns 要更深入的理解一定要去看這兩本書

Design Pattern(4) - Factory Method

以下文章是閱讀 深入淺出Design Pattern 還有 聖經還有Source making的筆記 圖片截圖自lynda.com的Foundations of Programming: Design Patterns 要更深入的理解一定要去看這兩本書

Dependency Inversion Principle

DPrule#6 Dependency Inversion Principle

http://teddy-chen-tw.blogspot.com/2012/01/5dependency-inversion-principle.html

Design Pattern(3) - Decorator

以下文章是閱讀 深入淺出Design Pattern 還有 聖經還有Source making的筆記 圖片截圖自lynda.com的Foundations of Programming: Design Patterns 要更深入的理解一定要去看這兩本書

Web Security(1) - Basic cryptography

This article is about Basic knowledge of web security and so many protocol built on top of it. You will learn a lot after reading this article. This will not have too many mathematical details, just imagine you are watching a fun story.

Design Pattern(2) - Observer

以下文章是閱讀 深入淺出Design Pattern 還有 聖經還有Source making的筆記 圖片截圖自lynda.com的Foundations of Programming: Design Patterns 要更深入的理解一定要去看這兩本書

Design Pattern(1) - Strategy

以下文章是閱讀 深入淺出Design Pattern 還有 聖經還有Source making的筆記 圖片截圖自lynda.com的Foundations of Programming: Design Patterns 要更深入的理解一定要去看這兩本書

Git(1) - Git reset

Git reset大概是我學最久的一個command 幾乎每次需要他的時候都要重新google 下完指令之後還挺常不知道為什麼目的達成了 曾經認真唸過一下 知道每個option會造成什麼後果之後就以為自己會了 可是卻不知道reset比我想像中的還要強一些 文章最後會提一下工作上遇到的例子

系統設計 - Design cache

這篇是我寫在一畝三分地的文章 轉貼過來分享給大家 是前一陣子準備面試的心得之一

網路安全(4) Web Application Security

今天來講講web application security 基本上這篇講的是所有開發者都要知道的最基本知識 最近CS領域實在太過火紅 網頁開發更是前仆後繼 但並不是每個開發者都對security有sense 如果你搜尋 "password ext:xls" 就會發現挺多不可思議的連結

網路安全(3) - SSH

今天來講個所有CS的都必須要會的協議 ssh 就是計算機跟計算機溝通的一種安全協議

網路安全(2) - HTTPS

先慶祝一下搬家

網路安全(1) - 基礎密碼學

最近設置了很多環境的問題 又再次複習到了ssh(secure shell) 雖然每次複習都覺得是很基本的東西 但為了讓下次複習能更快瞭解 還是決定寫下來

Is your password secure?

This article is about how good website store user’s password. If you are not major in Computer Science, you can scroll down to conclustion section, I will show you how secure you password is.

用什麼樣的密碼比較安全呢

今天來講一下各大網站保存密碼的方式 如果你是engineer的話而且知道hash+salt是什麼意思可以直接跳過這篇文章 如果非CS的只是來湊湊熱鬧 那可以直接往下拉到結論 我告訴你你的密碼安不安全

如何辭職

最近開始覺得除了寫程式之外 還有很多重要的課題是需要SE終身學習的 特別是課本不會教的東西 俗稱軟技能 soft skill

淺談C++ bind function

我們之前在implementRead/Write Lock的時候 wait function裡面我們用了bind 我當時輕描淡寫的帶過了 但其實裡面是有些學問的 今天就來把它一探究竟

Introduction to C++ multithread Part 4-2

打鐵要趁熱 來看multithread第二常見的example

Introduction to C++ multithread Part 4-1

condition variable 教學

Introduction to C++ multithread Part 3

lock_guard, unique_lock 教學

Introduction to C++ multithread Part 2

mutex 教學

Introduction to C++ multithread Part 1

Thread 基本應用以及語法