Search

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 基本應用以及語法