---
title: "弦而時習之"
description: "蒼時弦也的個人網誌，專注在前端、後端以及遊戲開發，大多使用 Ruby 和 Ruby on Rails 以及 Golang、JavaScript 和 C 語言。"
permalink: "https://blog.aotoki.me/"
language: "zh-tw"
---

# 弦而時習之

蒼時弦也的個人網誌，專注在前端、後端以及遊戲開發，大多使用 Ruby 和 Ruby on Rails 以及 Golang、JavaScript 和 C 語言。

## 文章

- [Kobako：COSCUP 2026 演講後，來聊聊為什麼是 Ruby](https://blog.aotoki.me/posts/2026/08/12/kobako-why-ruby-after-coscup-2026/index.md) — 2026-08-12
- [Kobako：從 Ruby 到 mruby](https://blog.aotoki.me/posts/2026/08/05/kobako-from-ruby-to-mruby/index.md) — 2026-08-05
- [Kobako：打造 AI 時代的沙盒](https://blog.aotoki.me/posts/2026/07/29/kobako-building-ai-era-sandbox/index.md) — 2026-07-29
- [Kobako：Cold Start 原來能快 100 倍？](https://blog.aotoki.me/posts/2026/06/17/kobako-cold-start-100x-faster/index.md) — 2026-06-17
- [Kobako：用 Coding Agent 時測試能做多少防護](https://blog.aotoki.me/posts/2026/06/03/tests-as-safety-net-with-coding-agent/index.md) — 2026-06-03
- [Kobako：用 AI 開發終究會翻車？](https://blog.aotoki.me/posts/2026/05/27/ai-development-hits-old-challenges/index.md) — 2026-05-27
- [Kobako：讓 Agent 安全的操作 Rails](https://blog.aotoki.me/posts/2026/05/20/kobako-ruby-sandbox-for-ai/index.md) — 2026-05-20
- [當 Claude Code 持續運行數小時](https://blog.aotoki.me/posts/2026/04/15/when-claude-code-runs-for-hours/index.md) — 2026-04-15
- [Agent Skills 需要多少內容？](https://blog.aotoki.me/posts/2026/03/25/how-much-content-do-agent-skills-need/index.md) — 2026-03-25
- [從 Agent 到 Agentic AI](https://blog.aotoki.me/posts/2026/03/18/from-agent-to-agentic-ai/index.md) — 2026-03-18
- [該有自己的 Agent Skills 嗎？](https://blog.aotoki.me/posts/2026/02/11/should-you-have-your-own-agent-skills/index.md) — 2026-02-11
- [Design Pattern 在 AI 時代還有用嗎？](https://blog.aotoki.me/posts/2026/01/28/design-pattern-in-ai-era/index.md) — 2026-01-28
- [2026 年最值得投資的 AI 技能](https://blog.aotoki.me/posts/2025/12/31/ai-skills-worth-investing-in-2026/index.md) — 2025-12-31
- [正確使用 Claude Code 的 Agent 功能](https://blog.aotoki.me/posts/2025/12/17/using-claude-code-agent-correctly/index.md) — 2025-12-17
- [從 Fail2ban 到 CrowdSec 的現代伺服器防護](https://blog.aotoki.me/posts/2025/11/26/from-fail2ban-to-crowdsec-modern-server-protection/index.md) — 2025-11-26
- [模擬語言模型呼叫 - Clean Architecture in TypeScript](https://blog.aotoki.me/posts/2025/11/21/clean-architecture-in-ts-mock-llm-call/index.md) — 2025-11-21
- [工程師參與社群活動得到的不是知識](https://blog.aotoki.me/posts/2025/11/19/engineers-participating-in-community-events-gain-more-than-knowledge/index.md) — 2025-11-19
- [測試步驟 - Clean Architecture in TypeScript](https://blog.aotoki.me/posts/2025/11/14/clean-architecture-in-ts-test-steps/index.md) — 2025-11-14
- [測試準備 - Clean Architecture in TypeScript](https://blog.aotoki.me/posts/2025/11/07/clean-architecture-in-ts-test-preparation/index.md) — 2025-11-07
- [依賴注入 - Clean Architecture in TypeScript](https://blog.aotoki.me/posts/2025/10/31/clean-architecture-in-ts-dependency-injection/index.md) — 2025-10-31
- [Ruby 的 ri 命令在 Coding Agent 的潛力](https://blog.aotoki.me/posts/2025/10/29/ruby-ri-command-potential-for-coding-agent/index.md) — 2025-10-29
- [對話階段 - Clean Architecture in TypeScript](https://blog.aotoki.me/posts/2025/10/24/clean-architecture-in-ts-conversation-stage/index.md) — 2025-10-24
- [關於 n8n 的 LINE 社群節點](https://blog.aotoki.me/posts/2025/10/24/about-n8n-line-messaging-community-node/index.md) — 2025-10-24
- [更新購物車 - Clean Architecture in TypeScript](https://blog.aotoki.me/posts/2025/10/17/clean-architecture-in-ts-update-shopping-cart/index.md) — 2025-10-17
- [查詢商品 - Clean Architecture in TypeScript](https://blog.aotoki.me/posts/2025/10/10/clean-architecture-in-ts-query-products/index.md) — 2025-10-10
- [側欄 Use Case - Clean Architecture in TypeScript](https://blog.aotoki.me/posts/2025/10/03/clean-architecture-in-ts-sidebar-use-case/index.md) — 2025-10-03
- [購物車側欄 - Clean Architecture in TypeScript](https://blog.aotoki.me/posts/2025/09/26/clean-architecture-in-ts-shopping-cart-sidebar/index.md) — 2025-09-26
- [對話 UseCase - Clean Architecture in TypeScript](https://blog.aotoki.me/posts/2025/09/19/clean-architecture-in-ts-conversation-usecase/index.md) — 2025-09-19
- [整合大型語言模型 - Clean Architecture in TypeScript](https://blog.aotoki.me/posts/2025/09/12/clean-architecture-in-ts-integrate-llm/index.md) — 2025-09-12
- [也許你的 Claude Code 該檢查自己的實作](https://blog.aotoki.me/posts/2025/09/10/maybe-your-claude-code-should-check-its-own-implementation/index.md) — 2025-09-10
- [對話紀錄 UseCase - Clean Architecture in TypeScript](https://blog.aotoki.me/posts/2025/09/05/clean-architecture-in-ts-conversation-record-usecase/index.md) — 2025-09-05
- [對話紀錄 API - Clean Architecture in TypeScript](https://blog.aotoki.me/posts/2025/08/29/clean-architecture-in-ts-conversation-record-api/index.md) — 2025-08-29
- [助手對話介面 - Clean Architecture in TypeScript](https://blog.aotoki.me/posts/2025/08/22/clean-architecture-in-ts-assistant-dialog-interface/index.md) — 2025-08-22
- [架構規劃 - Clean Architecture in TypeScript](https://blog.aotoki.me/posts/2025/08/15/clean-architecture-in-ts-architecture-planning/index.md) — 2025-08-15
- [介面規劃 - Clean Architecture in TypeScript](https://blog.aotoki.me/posts/2025/08/08/clean-architecture-in-ts-interface-planning/index.md) — 2025-08-08
- [專案設定 - Clean Architecture in TypeScript](https://blog.aotoki.me/posts/2025/08/01/clean-architecture-in-ts-project-setup/index.md) — 2025-08-01
- [tsyringe 套件 - Clean Architecture in TypeScript](https://blog.aotoki.me/posts/2025/07/25/clean-architecture-in-ts-tsyringe-package/index.md) — 2025-07-25
- [Hono 框架 - Clean Architecture in TypeScript](https://blog.aotoki.me/posts/2025/07/18/clean-architecture-in-ts-hono-framework/index.md) — 2025-07-18
- [目標設定 - Clean Architecture in TypeScript](https://blog.aotoki.me/posts/2025/07/11/clean-architecture-in-ts-goal-setting/index.md) — 2025-07-11
- [連載介紹 - Clean Architecture in TypeScript](https://blog.aotoki.me/posts/2025/07/04/clean-architecture-in-ts-series-introduction/index.md) — 2025-07-04
- [反思：必要性 - Clean Architecture in Go](https://blog.aotoki.me/posts/2025/05/23/clean-architecture-in-go-reflection-the-necessary/index.md) — 2025-05-23
- [實作 LRU Cache - Clean Architecture in Go](https://blog.aotoki.me/posts/2025/05/16/clean-architecture-in-go-implement-lru-cache/index.md) — 2025-05-16
- [資料庫抽換 - SQLite（二） - Clean Architecture in Go](https://blog.aotoki.me/posts/2025/05/09/clean-architecture-in-go-add-sqlite-2/index.md) — 2025-05-09
- [資料庫抽換 - SQLite（一） - Clean Architecture in Go](https://blog.aotoki.me/posts/2025/05/02/clean-architecture-in-go-add-sqlite-1/index.md) — 2025-05-02
- [我希望看到的開源社群](https://blog.aotoki.me/posts/2025/04/30/the-open-source-community-i-hope-to/index.md) — 2025-04-30
- [資料庫抽換 - BoltDB - Clean Architecture in Go](https://blog.aotoki.me/posts/2025/04/25/clean-architecture-in-go-add-boltdb/index.md) — 2025-04-25
- [輸入檢查 - Clean Architecture in Go](https://blog.aotoki.me/posts/2025/04/18/clean-architecture-in-go-validation/index.md) — 2025-04-18
- [gRPC Server 實作 - Clean Architecture in Go](https://blog.aotoki.me/posts/2025/04/11/clean-architecture-in-go-implement-grpc/index.md) — 2025-04-11
- [gRPC Server 準備 - Clean Architecture in Go](https://blog.aotoki.me/posts/2025/04/04/clean-architecture-in-go-setup-grpc/index.md) — 2025-04-04
- [身為工程師，我在 2025 年如何用 AI 寫程式](https://blog.aotoki.me/posts/2025/04/02/as-programmer-how-i-use-ai-codegen-in-2025/index.md) — 2025-04-02
- [Token 內容加密 - Clean Architecture in Go](https://blog.aotoki.me/posts/2025/03/28/clean-architecture-in-go-token-encryption/index.md) — 2025-03-28
- [在 Lookup Order 實作 Token 機制 - Clean Architecture in Go](https://blog.aotoki.me/posts/2025/03/21/clean-architecture-in-go-add-token-to-lookup-order/index.md) — 2025-03-21
- [在 Place Order 實作 Token 機制 - Clean Architecture in Go](https://blog.aotoki.me/posts/2025/03/14/clean-architecture-in-go-add-token-to-place-order/index.md) — 2025-03-14
- [Tokenization 機制設計 - Clean Architecture in Go](https://blog.aotoki.me/posts/2025/03/07/clean-architecture-in-go-tokenization/index.md) — 2025-03-07
- [Lookup Order 功能 - Clean Architecture in Go](https://blog.aotoki.me/posts/2025/02/28/clean-architecture-in-go-lookup-order/index.md) — 2025-02-28
- [Place Order 實作 Repository 部分 - Clean Architecture in Go](https://blog.aotoki.me/posts/2025/02/21/clean-architecture-in-go-place-order-repository/index.md) — 2025-02-21
- [Place Order 實作 Entity 部分 - Clean Architecture in Go](https://blog.aotoki.me/posts/2025/02/14/clean-architecture-in-go-place-order-entity/index.md) — 2025-02-14
- [Place Order 實作 Controller 部分 - Clean Architecture in Go](https://blog.aotoki.me/posts/2025/02/07/clean-architecture-in-go-place-order-controller/index.md) — 2025-02-07
- [Global Game Jam 2025 - 以 Clean Architecture 思考 AI Agent 的導入](https://blog.aotoki.me/posts/2025/02/05/global-game-jam-think-about-ai-agent-with-clean-architecture/index.md) — 2025-02-05
- [操作介面設計 - Clean Architecture in Go](https://blog.aotoki.me/posts/2025/01/31/clean-architecture-in-go-operation-interface/index.md) — 2025-01-31
- [案例說明 - Clean Architecture in Go](https://blog.aotoki.me/posts/2025/01/24/clean-architecture-in-go-example-case/index.md) — 2025-01-24
- [wire 的依賴注入 - Clean Architecture in Go](https://blog.aotoki.me/posts/2025/01/17/clean-architecture-in-go-wire-dependency-injection/index.md) — 2025-01-17
- [如何設計自己的 AI Agent 框架](https://blog.aotoki.me/posts/2025/01/15/design-your-ai-agent-framework/index.md) — 2025-01-15
- [目標設定 - Clean Architecture in Go](https://blog.aotoki.me/posts/2025/01/10/clean-architecture-in-go-target/index.md) — 2025-01-10
- [連載介紹 - Clean Architecture in Go](https://blog.aotoki.me/posts/2025/01/03/clean-architecture-in-go-introduce/index.md) — 2025-01-03
- [2024 回顧 - 野生的十倍工程師出現了！](https://blog.aotoki.me/posts/2024/12/31/2024-retrospect-the-10x-engeineer-is-appera/index.md) — 2024-12-31
- [基於 Unix Pipeline 的 Golang  Plugin 系統](https://blog.aotoki.me/posts/2024/12/18/build-unix-pipeline-based-golang-plugin-system/index.md) — 2024-12-18
- [可能性 - 重新思考 Rails 架構](https://blog.aotoki.me/posts/2024/12/06/rethink-rails-architecture-possibility/index.md) — 2024-12-06
- [Query - 重新思考 Rails 架構](https://blog.aotoki.me/posts/2024/11/29/rethink-rails-architecture-query/index.md) — 2024-11-29
- [從 Clean Architecture 反思抽象化](https://blog.aotoki.me/posts/2024/11/27/rethink-abstraction-with-clean-architecture/index.md) — 2024-11-27
- [Output - 重新思考 Rails 架構](https://blog.aotoki.me/posts/2024/11/22/rethink-rails-architecture-output/index.md) — 2024-11-22
- [Repository - 重新思考 Rails 架構](https://blog.aotoki.me/posts/2024/11/15/rethink-rails-architecture-repository/index.md) — 2024-11-15
- [Entity - 重新思考 Rails 架構](https://blog.aotoki.me/posts/2024/11/08/rethink-rails-architecture-entity/index.md) — 2024-11-08
- [Use Case - 重新思考 Rails 架構](https://blog.aotoki.me/posts/2024/11/01/rethink-rails-architecture-use-case/index.md) — 2024-11-01
- [Form - 重新思考 Rails 架構](https://blog.aotoki.me/posts/2024/10/25/rethink-rails-architecture-form/index.md) — 2024-10-25
- [Controller - 重新思考 Rails 架構](https://blog.aotoki.me/posts/2024/10/18/rethink-rails-architecture-controller/index.md) — 2024-10-18
- [驗收測試 - 重新思考 Rails 架構](https://blog.aotoki.me/posts/2024/10/11/rethink-rails-architecture-acceptance-test/index.md) — 2024-10-11
- [架構規劃 - 重新思考 Rails 架構](https://blog.aotoki.me/posts/2024/10/04/rethink-rails-architecture-planning-architecture/index.md) — 2024-10-04
- [職責劃分 - 重新思考 Rails 架構](https://blog.aotoki.me/posts/2024/09/27/rethink-rails-architecture-decide-responsibility/index.md) — 2024-09-27
- [劃分邊界 - 重新思考 Rails 架構](https://blog.aotoki.me/posts/2024/09/20/rethink-rails-architecture-decide-boundary/index.md) — 2024-09-20
- [釐清脈絡 - 重新思考 Rails 架構](https://blog.aotoki.me/posts/2024/09/13/rethink-rails-architecture-make-context-clean/index.md) — 2024-09-13
- [論 Use Case 和 Domain Service 的差異](https://blog.aotoki.me/posts/2024/09/11/discuss-about-usecase-and-domain-service/index.md) — 2024-09-11
- [重復使用的反思 - 重新思考 Rails 架構](https://blog.aotoki.me/posts/2024/09/06/rethink-rails-architecture-think-reuse/index.md) — 2024-09-06
- [從架構到設計 - 重新思考 Rails 架構](https://blog.aotoki.me/posts/2024/08/30/rethink-rails-architecture-from-architecture-to-design/index.md) — 2024-08-30
- [領域驅動設計 - 重新思考 Rails 架構](https://blog.aotoki.me/posts/2024/08/23/rethink-rails-architecture-domain-driven-design/index.md) — 2024-08-23
- [深入 magnus 以 Rust 為基底的 Ruby Gem 開發](https://blog.aotoki.me/posts/2024/08/21/deep-into-magnus-to-write-rust-extension-for-ruby/index.md) — 2024-08-21
- [ActiveRecord 的限制 - 重新思考 Rails 架構](https://blog.aotoki.me/posts/2024/08/16/rethink-rails-architecture-activerecord-limitation/index.md) — 2024-08-16
- [通用化功能 - 重新思考 Rails 架構](https://blog.aotoki.me/posts/2024/08/09/rethink-rails-architecture-multi-tenant/index.md) — 2024-08-09
- [報表機制 - 重新思考 Rails 架構](https://blog.aotoki.me/posts/2024/08/02/rethink-rails-architecture-report-export/index.md) — 2024-08-02
- [時區換算 - 重新思考 Rails 架構](https://blog.aotoki.me/posts/2024/07/26/rethink-rails-architecture-timezone-convert/index.md) — 2024-07-26
- [複雜的操作 - 重新思考 Rails 架構](https://blog.aotoki.me/posts/2024/07/19/rethink-rails-architecture-complex-operation/index.md) — 2024-07-19
- [資料驅動設計 - 重新思考 Rails 架構](https://blog.aotoki.me/posts/2024/07/12/rethink-rails-architecture-the-data-driven-design/index.md) — 2024-07-12
- [軟體架構的挑戰 - 重新思考 Rails 架構](https://blog.aotoki.me/posts/2024/07/05/rethink-rails-architecture-the-architecture-challenge/index.md) — 2024-07-05
- [累積價值 - Cucumber 的文件測試法](https://blog.aotoki.me/posts/2024/05/24/test-with-cucumber-accumulated-value/index.md) — 2024-05-24
- [重現後端實作 - Cucumber 的文件測試法](https://blog.aotoki.me/posts/2024/05/17/test-with-cucumber-import-reimplement-backend/index.md) — 2024-05-17
- [匯入前端實作 - Cucumber 的文件測試法](https://blog.aotoki.me/posts/2024/05/10/test-with-cucumber-import-frontend-implementation/index.md) — 2024-05-10
- [在 Rails 的前後端分離 - Cucumber 的文件測試法](https://blog.aotoki.me/posts/2024/05/03/test-with-cucumber-frontend-in-rails/index.md) — 2024-05-03
- [結帳處理 - Cucumber 的文件測試法](https://blog.aotoki.me/posts/2024/04/26/test-with-cucumber-process-checkout/index.md) — 2024-04-26
- [持久化保存 - Cucumber 的文件測試法](https://blog.aotoki.me/posts/2024/04/19/test-with-cucumber-persistent-data/index.md) — 2024-04-19
- [加入資料模型 - Cucumber 的文件測試法](https://blog.aotoki.me/posts/2024/04/12/test-with-cucumber-add-data-model/index.md) — 2024-04-12
- [更新購物車 API - Cucumber 的文件測試法](https://blog.aotoki.me/posts/2024/04/05/test-with-cucumber-update-cart-api/index.md) — 2024-04-05
- [商品資料 API - Cucumber 的文件測試法](https://blog.aotoki.me/posts/2024/03/29/test-with-cucumber-product-api/index.md) — 2024-03-29
- [初始化後端專案 - Cucumber 的文件測試法](https://blog.aotoki.me/posts/2024/03/22/test-with-cucumber-setup-backend/index.md) — 2024-03-22
- [整理前端實作 - Cucumber 的文件測試法](https://blog.aotoki.me/posts/2024/03/15/test-with-cucumber-clean-frontend/index.md) — 2024-03-15
- [結帳與結果 - Cucumber 的文件測試法](https://blog.aotoki.me/posts/2024/03/08/test-with-cucumber-checkout-and-result/index.md) — 2024-03-08
- [驗收測試驅動開發與 AI 訓練相似之處](https://blog.aotoki.me/posts/2024/03/06/the-atdd-and-ai-training-is-similar/index.md) — 2024-03-06
- [商品資料與總價 - Cucumber 的文件測試法](https://blog.aotoki.me/posts/2024/03/01/test-with-cucumber-product-list-and-subtotal/index.md) — 2024-03-01
- [重構與移出購物車 - Cucumber 的文件測試法](https://blog.aotoki.me/posts/2024/02/23/test-with-cucumber-refactor-and-remove-from-cart/index.md) — 2024-02-23
- [商品列表與加入購物車 - Cucumber 的文件測試法](https://blog.aotoki.me/posts/2024/02/16/test-with-cucumber-products-and-add-to-cart/index.md) — 2024-02-16
- [前端環境：Vite 與 Cucumber - Cucumber 的文件測試法](https://blog.aotoki.me/posts/2024/02/09/test-with-cucumber-use-with-vite/index.md) — 2024-02-09
- [基本語法：輔助設定 - Cucumber 的文件測試法](https://blog.aotoki.me/posts/2024/02/02/test-with-cucumber-syntax-support/index.md) — 2024-02-02
- [Global Game Jam 2024 - 軟體架構適用遊戲開發嗎？](https://blog.aotoki.me/posts/2024/01/31/can-software-architecture-apply-to-game-development/index.md) — 2024-01-31
- [基本語法：步驟定義 - Cucumber 的文件測試法](https://blog.aotoki.me/posts/2024/01/26/test-with-cucumber-syntax-step-definition/index.md) — 2024-01-26
- [基本語法：驗證行為 - Cucumber 的文件測試法](https://blog.aotoki.me/posts/2024/01/19/test-with-cucumber-syntax-assert/index.md) — 2024-01-19
- [基本語法：功能描述 - Cucumber 的文件測試法](https://blog.aotoki.me/posts/2024/01/12/test-with-cucumber-syntax-describe/index.md) — 2024-01-12
- [同時完成測試與文件 - Cucumber 的文件測試法](https://blog.aotoki.me/posts/2024/01/05/test-with-cucumber-to-complete-test-and-document/index.md) — 2024-01-05
- [回顧 2023，極限是用來超越的](https://blog.aotoki.me/posts/2023/12/27/review-2023-the-limit-can-be-exceed/index.md) — 2023-12-27
- [RubyConf Taiwan 2023 - 嘗試與能量](https://blog.aotoki.me/posts/2023/12/17/rubyconf-taiwan-the-try-and-energy/index.md) — 2023-12-17
- [如何用 Golang 的 wire 做依賴注入](https://blog.aotoki.me/posts/2023/11/15/how-to-use-wire-dependency-injection/index.md) — 2023-11-15
- [結語 - Rails 開發實踐](https://blog.aotoki.me/posts/2023/11/03/rails-in-practice-the-end/index.md) — 2023-11-03
- [使用案例與服務 - Rails 開發實踐](https://blog.aotoki.me/posts/2023/10/27/rails-in-practice-usecase-and-service/index.md) — 2023-10-27
- [聚合與邊界 - Rails 開發實踐](https://blog.aotoki.me/posts/2023/10/20/rails-in-practice-aggregate-and-boundary/index.md) — 2023-10-20
- [實體與倉庫 - Rails 開發實踐](https://blog.aotoki.me/posts/2023/10/13/rails-in-practice-entity-and-repository/index.md) — 2023-10-13
- [持久化資料 - Rails 開發實踐](https://blog.aotoki.me/posts/2023/10/06/rails-in-practice-persist-data/index.md) — 2023-10-06
- [加入聚合實體 - Rails 開發實踐](https://blog.aotoki.me/posts/2023/09/29/rails-in-practice-add-aggregate-entity/index.md) — 2023-09-29
- [重構與修正邏輯 - Rails 開發實踐](https://blog.aotoki.me/posts/2023/09/22/rails-in-practice-refactor-and-fix-logic/index.md) — 2023-09-22
- [聚合多筆資料 - Rails 開發實踐](https://blog.aotoki.me/posts/2023/09/15/rails-in-practice-aggregate-data/index.md) — 2023-09-15
- [對 Ruby、JavaScript 工程師型別有用嗎？](https://blog.aotoki.me/posts/2023/09/13/does-ruby-and-javascript-developer-need-static-type/index.md) — 2023-09-13
- [預期外狀況的測試 - Rails 開發實踐](https://blog.aotoki.me/posts/2023/09/08/rails-in-practice-the-exception-test/index.md) — 2023-09-08
- [預期外狀況的檢查 - Rails 開發實踐](https://blog.aotoki.me/posts/2023/09/01/rails-in-practice-the-exception-check/index.md) — 2023-09-01
- [AI 輔助開發 - Copilot 與文件和註解](https://blog.aotoki.me/posts/2023/08/30/ai-development-the-copilot-and-comment-document/index.md) — 2023-08-30
- [用測試資料驗證邏輯 - Rails 開發實踐](https://blog.aotoki.me/posts/2023/08/25/rails-in-practice-use-test-data-verify-logic/index.md) — 2023-08-25
- [資料跟資訊的差異 - Rails 開發實踐](https://blog.aotoki.me/posts/2023/08/18/rails-in-practice-data-and-information/index.md) — 2023-08-18
- [超限學習](https://blog.aotoki.me/posts/2023/08/13/the-overlimit-learning/index.md) — 2023-08-13
- [用測試完善規格 - Rails 開發實踐](https://blog.aotoki.me/posts/2023/08/11/rails-in-practice-use-test-to-complete-specification/index.md) — 2023-08-11
- [快速通過測試的方法 - Rails 開發實踐](https://blog.aotoki.me/posts/2023/08/04/rails-in-practice-the-fast-way-to-pass-test/index.md) — 2023-08-04
- [可以測試的規格 - Rails 開發實踐](https://blog.aotoki.me/posts/2023/07/28/rails-in-practice-testable-specification/index.md) — 2023-07-28
- [我們對 Null Object 的使用合理嗎？](https://blog.aotoki.me/posts/2023/07/26/does-our-null-object-reasonable/index.md) — 2023-07-26
- [獲取規格的技巧 - Rails 開發實踐](https://blog.aotoki.me/posts/2023/07/21/rails-in-practice-acquire-specification/index.md) — 2023-07-21
- [將需求實現的準備 - Rails 開發實踐](https://blog.aotoki.me/posts/2023/07/14/rails-in-practice-prepare-for-requirement/index.md) — 2023-07-14
- [RITE 的結構 - mruby-go](https://blog.aotoki.me/posts/2023/07/12/mruby-go-the-rite-structure/index.md) — 2023-07-12
- [前言 - Rails 開發實踐](https://blog.aotoki.me/posts/2023/07/07/rails-in-practice-foreword/index.md) — 2023-07-07
- [Domain-Driven Design 的指標與聚合的關聯](https://blog.aotoki.me/posts/2023/06/28/the-relation-of-aggregate-and-pointer-in-ddd/index.md) — 2023-06-28
- [從 wire 學到依賴注入沒有講的事](https://blog.aotoki.me/posts/2023/06/21/learn-dependency-injection-from-google-wire/index.md) — 2023-06-21
- [寫程式的「活在當下」](https://blog.aotoki.me/posts/2023/05/31/living-in-the-moment-for-programming/index.md) — 2023-05-31
- [優雅的 RSpec 測試 - 探索式的測試與重構](https://blog.aotoki.me/posts/2023/05/19/elegant-rspec-exploration-testing-and-refactor/index.md) — 2023-05-19
- [再一次熱血 - RubyKaigi 2023](https://blog.aotoki.me/posts/2023/05/17/enthusiasm-again-after-rubykaigi-2023/index.md) — 2023-05-17
- [優雅的 RSpec 測試 - 耦合與依賴注入](https://blog.aotoki.me/posts/2023/05/12/elegant-rspec-coupling-and-dependency-inject/index.md) — 2023-05-12
- [優雅的 RSpec 測試 - 物件的可測試性](https://blog.aotoki.me/posts/2023/05/05/elegant-rspec-the-testability/index.md) — 2023-05-05
- [不用瀏覽器的前端開發](https://blog.aotoki.me/posts/2023/05/03/write-frontend-without-use-browser/index.md) — 2023-05-03
- [優雅的 RSpec 測試 - Spy 的應用](https://blog.aotoki.me/posts/2023/04/28/elegant-rspec-the-spy-usage/index.md) — 2023-04-28
- [優雅的 RSpec 測試 - Allow 變化應用](https://blog.aotoki.me/posts/2023/04/21/elegant-rspec-another-allow-usage/index.md) — 2023-04-21
- [準備好成為資深工程師](https://blog.aotoki.me/posts/2023/04/19/get-ready-to-be-senior-engineer/index.md) — 2023-04-19
- [優雅的 RSpec 測試 - Allow 的使用方式](https://blog.aotoki.me/posts/2023/04/14/elegant-rspec-the-allow-usage/index.md) — 2023-04-14
- [Kubernetes 為什麼不是我的最優先選項](https://blog.aotoki.me/posts/2023/04/12/why-the-kubernetes-not-my-priority-choose/index.md) — 2023-04-12
- [優雅的 RSpec 測試 - Mock 與 Stub](https://blog.aotoki.me/posts/2023/04/07/elegant-rspec-mock-and-stub/index.md) — 2023-04-07
- [Rails 中實現 Domain-Driven Design 的挑戰（ver. 2023）](https://blog.aotoki.me/posts/2023/04/05/the-challenge-to-add-ddd-in-rails/index.md) — 2023-04-05
- [優雅的 RSpec 測試 - 測試替身](https://blog.aotoki.me/posts/2023/03/31/elegant-rspec-test-double/index.md) — 2023-03-31
- [2023 年從軟體公司裁員到找到工作](https://blog.aotoki.me/posts/2023/03/29/from-layoff-to-find-new-company/index.md) — 2023-03-29
- [優雅的 RSpec 測試 - 輔助方法](https://blog.aotoki.me/posts/2023/03/24/elegant-rspec-test-helper/index.md) — 2023-03-24
- [優雅的 RSpec 測試 - 自訂匹配器](https://blog.aotoki.me/posts/2023/03/17/elegant-rspec-customize-matcher/index.md) — 2023-03-17
- [也許生成式 AI 是新一次工業革命](https://blog.aotoki.me/posts/2023/03/15/generative-ai-may-be-next-industrial-revolution/index.md) — 2023-03-15
- [優雅的 RSpec 測試 - 共用案例](https://blog.aotoki.me/posts/2023/03/10/elegant-rspec-shared-example/index.md) — 2023-03-10
- [從測試 Stable Diffusion 結果反思軟體測試](https://blog.aotoki.me/posts/2023/03/08/rethink-software-test-by-test-stable-diffusion-result/index.md) — 2023-03-08
- [優雅的 RSpec 測試 - 錯誤匹配](https://blog.aotoki.me/posts/2023/03/03/elegant-rspec-error-matcher/index.md) — 2023-03-03
- [用工程師的方式入門生成式 AI - Stable Diffusion](https://blog.aotoki.me/posts/2023/03/01/learn-generative-ai-stable-diffusion-in-programmer-way/index.md) — 2023-03-01
- [優雅的 RSpec 測試 - 內容匹配](https://blog.aotoki.me/posts/2023/02/24/elegant-rspec-content-matcher/index.md) — 2023-02-24
- [在 Ruby 中找到特定資料後轉換回傳](https://blog.aotoki.me/posts/2023/02/22/find-and-transform-data-in-ruby/index.md) — 2023-02-22
- [優雅的 RSpec 測試 - 常見匹配器](https://blog.aotoki.me/posts/2023/02/17/elegant-rspec-common-matcher/index.md) — 2023-02-17
- [優雅的 RSpec 測試 - 前置處理](https://blog.aotoki.me/posts/2023/02/10/elegant-rspec-prepare-test/index.md) — 2023-02-10
- [在 Game Jam（黑客松）寫測試有用嗎？](https://blog.aotoki.me/posts/2023/02/08/does-write-test-in-game-jam-is-useful/index.md) — 2023-02-08
- [優雅的 RSpec 測試 - 組織測試](https://blog.aotoki.me/posts/2023/02/03/elegant-rspec-organize-test/index.md) — 2023-02-03
- [優雅的 RSpec 測試 - 測試案例](https://blog.aotoki.me/posts/2023/01/27/elegant-rspec-example/index.md) — 2023-01-27
- [用測試讓你在三小時交出面試作業](https://blog.aotoki.me/posts/2023/01/25/use-test-to-complete-interview-assignment-in-3-hours/index.md) — 2023-01-25
- [優雅的 RSpec 測試 - RSpec 概觀](https://blog.aotoki.me/posts/2023/01/20/elegant-rspec-overview/index.md) — 2023-01-20
- [2023 年成為外商裁員的天選之人該做些什麼？](https://blog.aotoki.me/posts/2023/01/16/if-you-be-layoff-in-2023-what-can-you-do/index.md) — 2023-01-16
- [優雅的 RSpec 測試 - 撰寫測試的方式](https://blog.aotoki.me/posts/2023/01/13/elegant-rspec-how-to-write-test/index.md) — 2023-01-13
- [用 Ruby 的 Mixin 加入脈絡增加可讀性](https://blog.aotoki.me/posts/2023/01/11/the-ruby-mixin-can-describe-the-context/index.md) — 2023-01-11
- [優雅的 RSpec 測試 - 前言](https://blog.aotoki.me/posts/2023/01/06/elegant-rspec-preface/index.md) — 2023-01-06
- [領域事件在 Rails 中的呈現形式](https://blog.aotoki.me/posts/2023/01/04/the-domain-event-types-in-rails/index.md) — 2023-01-04
- [寫好程式的方法 - 加入程式的脈絡](https://blog.aotoki.me/posts/2022/12/16/write-better-program-by-add-the-context/index.md) — 2022-12-16
- [從 ChatGPT 看學習與對工程師的影響](https://blog.aotoki.me/posts/2022/12/09/the-chatgpt-and-learning-and-programmer/index.md) — 2022-12-09
- [讀 Clean Architecture 學習依賴管理](https://blog.aotoki.me/posts/2022/11/18/learn-dependency-management-by-clean-architecture/index.md) — 2022-11-18
- [自然地在 Rails 中應用 Data Context Interaction](https://blog.aotoki.me/posts/2022/10/28/use-data-context-interaction-natively-in-rails/index.md) — 2022-10-28
- [我對 Domain-Driven Design 的理解（2022 年）](https://blog.aotoki.me/posts/2022/10/21/my-understand-of-domain-driven-design/index.md) — 2022-10-21
- [MOPCON 2022 - 休息，然後學習](https://blog.aotoki.me/posts/2022/10/17/mopcon-2022-take-reset-and-keep-learning/index.md) — 2022-10-17
- [職涯的「目標」與「目的」](https://blog.aotoki.me/posts/2022/10/14/the-target-and-purpose-of-the-career-path/index.md) — 2022-10-14
- [在 Rails 導入 Domain-Driven Design 是解藥還是毒藥](https://blog.aotoki.me/posts/2022/09/16/use-ddd-in-rails-is-antidote-or-poison/index.md) — 2022-09-16
- [想嘗試新的程式語言該怎麼辦？](https://blog.aotoki.me/posts/2022/09/02/how-to-try-new-programming-language/index.md) — 2022-09-02
- [用「敏捷開發」的方式過生活](https://blog.aotoki.me/posts/2022/08/26/make-your-life-agile/index.md) — 2022-08-26
- [2022 年在台灣的軟體工程師需要什麼？](https://blog.aotoki.me/posts/2022/08/19/what-the-programmer-need-in-taiwan-in-2022/index.md) — 2022-08-19
- [2022 年的 RSpec 測試還需要 Mock 嗎？](https://blog.aotoki.me/posts/2022/08/12/do-we-need-mock-in-rspec-in-2022/index.md) — 2022-08-12
- [Rails 部署實踐 - 部署不是終點](https://blog.aotoki.me/posts/2022/07/29/rails-deployment-in-practice-deploy-is-not-the-end/index.md) — 2022-07-29
- [Rails 部署實踐 - 使用 GitLab 的 Review Apps 機制](https://blog.aotoki.me/posts/2022/07/22/rails-deployment-in-practice-use-gitlab-review-apps/index.md) — 2022-07-22
- [Rails 部署實踐 - 整合 GitLab CI 自動部署](https://blog.aotoki.me/posts/2022/07/15/rails-deployment-in-practice-use-gitlab-ci-with-docker-swarm/index.md) — 2022-07-15
- [Rails 部署實踐 - 部署到 Docker Swarm](https://blog.aotoki.me/posts/2022/07/08/rails-deployment-in-practice-deploy-to-docker-swarm/index.md) — 2022-07-08
- [Rails 部署實踐 - Docker Swarm 安裝與設定](https://blog.aotoki.me/posts/2022/07/01/rails-deployment-in-practice-setup-docker-swarm/index.md) — 2022-07-01
- [Rails 部署實踐 - Docker Swarm 與 Docker Compose](https://blog.aotoki.me/posts/2022/06/24/rails-deployment-in-practice-docker-swarm-and-docker-compose/index.md) — 2022-06-24
- [Rails 部署實踐 - 使用 Watchtower 自動更新](https://blog.aotoki.me/posts/2022/06/17/rails-deployment-in-practice-auto-deploy-with-watchtower/index.md) — 2022-06-17
- [Rails 部署實踐 - 使用 GitHub Actions 自動化建置](https://blog.aotoki.me/posts/2022/06/10/rails-deployment-in-practice-auto-build-with-github-actions/index.md) — 2022-06-10
- [Rails 部署實踐 - 使用 GitLab CI 自動化建置](https://blog.aotoki.me/posts/2022/06/03/rails-deployment-in-practice-auto-build-with-gitlab-ci/index.md) — 2022-06-03
- [Rails 部署實踐 - 持續部署](https://blog.aotoki.me/posts/2022/05/27/rails-deployment-in-practice-continuous-deployment/index.md) — 2022-05-27
- [Rails 部署實踐  - 容器相關工具](https://blog.aotoki.me/posts/2022/05/20/rails-deployment-in-practice-tools-related-container/index.md) — 2022-05-20
- [Rails 部署實踐 - 容器進入點](https://blog.aotoki.me/posts/2022/05/13/rails-deployment-in-practice-the-entrypoint/index.md) — 2022-05-13
- [Rails 部署實踐 - 素材預先編譯](https://blog.aotoki.me/posts/2022/05/06/rails-deployment-in-practice-assets-precompile-in-container/index.md) — 2022-05-06
- [Rails 部署實踐 - 多階段建置](https://blog.aotoki.me/posts/2022/04/29/rails-deployment-in-practice-multi-stage-build/index.md) — 2022-04-29
- [Rails 部署實踐 - 容器化的 Bundler 最佳設定](https://blog.aotoki.me/posts/2022/04/22/rails-deployment-in-practice-optimize-bundler-install/index.md) — 2022-04-22
- [Rails 實踐部署 - 使用 Alpine 製作容器鏡像](https://blog.aotoki.me/posts/2022/04/15/rails-deployment-in-practice-use-alpine-base-image/index.md) — 2022-04-15
- [Rails 部署實踐 - 滾動更新](https://blog.aotoki.me/posts/2022/04/08/rails-deployment-in-practice-rolling-upgrade/index.md) — 2022-04-08
- [Rails 部署實踐 - 健康檢查](https://blog.aotoki.me/posts/2022/04/01/rails-deployment-in-practice-health-check/index.md) — 2022-04-01
- [Rails 部署實踐 - 使用 HTTPS 協定加密連線](https://blog.aotoki.me/posts/2022/03/25/rails-deployment-in-practice-enable-https/index.md) — 2022-03-25
- [Rails 部署實踐 - 撰寫 Docker Compose](https://blog.aotoki.me/posts/2022/03/18/rails-deployment-in-practice-write-docker-compose/index.md) — 2022-03-18
- [Rails 部署實踐 - 伺服器搭建](https://blog.aotoki.me/posts/2022/03/11/rails-deployment-in-practice-setup-server/index.md) — 2022-03-11
- [Rails 部署實踐 - 上傳容器鏡像](https://blog.aotoki.me/posts/2022/03/04/rails-deployment-in-practice-upload-image/index.md) — 2022-03-04
- [Rails 部署實踐 - 容器化 Rails 專案概述](https://blog.aotoki.me/posts/2022/02/25/rails-deployment-in-practice-rails-containerize-basic/index.md) — 2022-02-25
- [Rails 部署實踐 - 部署前置準備](https://blog.aotoki.me/posts/2022/02/18/rails-deployment-in-practice-prepar-for-deploy/index.md) — 2022-02-18
- [Rails 部署實踐 - 以容器部署 Rails 的方案](https://blog.aotoki.me/posts/2022/02/11/rails-deployment-in-practice-solutions-of-container/index.md) — 2022-02-11
- [Rails 部署實踐 - 補上 Rails 教學缺少的一塊](https://blog.aotoki.me/posts/2022/02/04/rails-deployment-in-practice-introduce/index.md) — 2022-02-04
- [Ruby on Rails 容器化最佳指南（二）](https://blog.aotoki.me/posts/2022/01/28/the-best-practice-of-containerize-ruby-on-rails-part-2/index.md) — 2022-01-28
- [Ruby 的 Class Variable 深入解析](https://blog.aotoki.me/posts/2022/01/21/deep-into-ruby-class-variable/index.md) — 2022-01-21
- [不該使用 Ruby 的 Class Variable 理由](https://blog.aotoki.me/posts/2022/01/16/the-reason-to-avoid-use-class-variable-in-ruby/index.md) — 2022-01-16
- [如何在幾分鐘內容器化 Rails 專案](https://blog.aotoki.me/posts/2021/12/19/containerize-ruby-on-rails-in-a-few-minutes/index.md) — 2021-12-19
- [寫程式的品味](https://blog.aotoki.me/posts/2021/11/14/the-programmer-taste/index.md) — 2021-11-14
- [Ruby on Rails 容器化最佳指南（一）](https://blog.aotoki.me/posts/2021/10/09/the-best-practice-of-containerize-ruby-on-rails-part-1/index.md) — 2021-10-09
- [使用 Ruby on Rails 開發 LINE LIFF 應用的登入處理](https://blog.aotoki.me/posts/2021/09/21/liff-with-login-base-on-ruby-on-rails/index.md) — 2021-09-21
- [輕鬆上手 NFT](https://blog.aotoki.me/posts/2021/09/21/getting-started-nft/index.md) — 2021-09-21
- [在 2021 年工程師該對自己的期待](https://blog.aotoki.me/posts/2021/07/21/the-look-forward-to-the-programmer-self-in-2021/index.md) — 2021-07-21
- [淺談用 Ruby on Rails 開發遊戲](https://blog.aotoki.me/posts/2021/04/25/the-overview-of-game-development-in-ruby-on-rails/index.md) — 2021-04-25
- [TDD 與持續重構課程心得](https://blog.aotoki.me/posts/2021/02/21/experience-of-tdd-continuous-refactoring/index.md) — 2021-02-21
- [針對遺留代碼加入單元測試的藝術課程心得](https://blog.aotoki.me/posts/2021/01/10/experience-of-unit-testing-effectively-with-legacy-code/index.md) — 2021-01-10
- [作為工程師，我們與專業的距離](https://blog.aotoki.me/posts/2020/09/28/The-distance-to-become-a-professional-programmer/index.md) — 2020-09-28
- [COSCUP 2020 速記](https://blog.aotoki.me/posts/2020/08/03/COSCUP-2020-Note/index.md) — 2020-08-03
- [GitLab 是如何讓 SSH Server 和 Git 並存而不影響安全性](https://blog.aotoki.me/posts/2020/06/20/How-to-secure-SSH-Server-when-GitLab-add-git-user/index.md) — 2020-06-20
- [TGONext: 追蹤和技術債](https://blog.aotoki.me/posts/2020/05/11/TGONext-Tracing-and-Technical-Debt/index.md) — 2020-05-11
- [做一個 Rails Form Helper 相容的 Form Object](https://blog.aotoki.me/posts/2020/05/03/Build-a-Form-Helper-capable-Form-Object-in-Rails/index.md) — 2020-05-03
- [複習 Rails 的 Autoloading 和 Reloading](https://blog.aotoki.me/posts/2020/04/28/Review-the-Rails-Autoloading-and-Reloading/index.md) — 2020-04-28
- [TGONext: 資料庫變遷跟架構改變](https://blog.aotoki.me/posts/2020/04/03/TGONext-Database-Migration-and-Architecture-Changing/index.md) — 2020-04-03
- [TGONext: 從缺點選擇架構](https://blog.aotoki.me/posts/2020/03/15/TGONext-Choose-Architecture-by-Cons/index.md) — 2020-03-15
- [從 Functional Programming 重新思考程式設計](https://blog.aotoki.me/posts/2020/03/14/Rethink-Programming-by-Functional/index.md) — 2020-03-14
- [重複利用的 Ansible Role 難題](https://blog.aotoki.me/posts/2020/02/29/The-Reusable-Ansible-Role-Problem/index.md) — 2020-02-29
- [TGONext: 規劃高併發服務](https://blog.aotoki.me/posts/2020/02/23/TGONext-The-plan-for-high-concurrency/index.md) — 2020-02-23
- [撰寫一個合適的 RSpec 測試](https://blog.aotoki.me/posts/2020/02/20/Write-a-suitable-RSpec-test/index.md) — 2020-02-20
- [淺談在 Google Cloud Platform 讓 Ruby on Rails 實現簡單的 Immutable Infrastructure 部署](https://blog.aotoki.me/posts/2020/01/07/An-overview-of-deploy-Ruby-on-Rails-to-Google-Cloud-Platform-uses-simple-immutable-infrastructure/index.md) — 2020-01-07
- [如何透過 Service Account 來取得 Google API 的 OAuth2 Token](https://blog.aotoki.me/posts/2019/12/29/How-to-use-Service-Account-to-exchange-Google-OAuth2-API-token/index.md) — 2019-12-29
- [Ruby World Conference 2019 見聞](https://blog.aotoki.me/posts/2019/11/18/Ruby-World-Conference-2019-Experience/index.md) — 2019-11-18
- [COSCUP 2019 - 演講後談復活的頁遊 - Unlight （二）](https://blog.aotoki.me/posts/2019/10/20/COSCUP-2019-Talk-about-the-browser-game-Unlight-which-I-revived-it-Part-2/index.md) — 2019-10-20
- [COSCUP 2019 - 演講後談復活的頁遊 - Unlight （一）](https://blog.aotoki.me/posts/2019/09/03/COSCUP-2019-Talk-about-the-browser-game-Unlight-which-I-revived-it/index.md) — 2019-09-03
- [快速閱讀頁遊 Unlight 開源後的原始碼](https://blog.aotoki.me/posts/2019/08/04/Fast-review-the-Unlight-game-s-source-code/index.md) — 2019-08-04
- [你大概沒機會遇到的 Bug - 跟 Ruby Committer 聊 Enumerator 跟 Fiber](https://blog.aotoki.me/posts/2019/07/30/Talk-with-the-Ruby-Committer-about-Enumerator-and-Fiber-the-bug-you-may-never-touch/index.md) — 2019-07-30
- [RubyConf Taiwan 2019 會後感想、議程概覽](https://blog.aotoki.me/posts/2019/07/29/My-experience-after-RubyConf-Taiwan-2019/index.md) — 2019-07-29
- [巴哈姆特 Chatbot 之亂：用 Ruby on Rails 接收 Webhook](https://blog.aotoki.me/posts/2019/07/26/The-bahamut-chatbot-receiving-the-webhook/index.md) — 2019-07-26
- [用 CloudFlare Workers 製作簡單的 Uptime Status 頁面](https://blog.aotoki.me/posts/2019/07/09/Build-a-simple-uptime-status-page-use-CloudFlare-Workers/index.md) — 2019-07-09
- [Ruby 中 Constant 和 Class 的關係](https://blog.aotoki.me/posts/2019/06/18/The-relationship-between-constant-and-class-in-ruby/index.md) — 2019-06-18
- [關於 Rails 中的 Form Object / Presenter 這些物件該怎麼用（一）](https://blog.aotoki.me/posts/2019/05/28/How-to-use-Form-Object-and-others-for-Rails/index.md) — 2019-05-28
- [利用 Ruby 的 Lambda 做條件判斷](https://blog.aotoki.me/posts/2019/05/20/Use-Ruby-s-Lambda-as-case-when-condition/index.md) — 2019-05-20
- [如何在沒有任何設定下產生 Rails 的 Docker Image](https://blog.aotoki.me/posts/2019/03/20/The-zero-configure-dockerfile-for-rails/index.md) — 2019-03-20
- [我在 Ruby 埋了一個陷阱 - Signal 的應用](https://blog.aotoki.me/posts/2019/03/12/I-make-a-trap-in-the-Ruby-the-usage-of-Signal/index.md) — 2019-03-12
- [Rails 串接 ProxmoxVE API 自動化教學用虛擬機分配](https://blog.aotoki.me/posts/2019/02/19/Automatic-VM-allocate-using-Proxmox-VE-and-Rails/index.md) — 2019-02-19
- [探索 Ruby 的 each 方法（一）](https://blog.aotoki.me/posts/2019/02/13/Deep-into-ruby-s-each-method-Part-1/index.md) — 2019-02-13
- [你看懂五倍紅寶石粉專上的 Ruby 版台灣共識了嗎？](https://blog.aotoki.me/posts/2019/01/14/Do-you-understand-the-Ruby-version-Taiwan-Consensus-on-5xruby-s-fanpage/index.md) — 2019-01-14
- [用 Ruby 來尋找區網中的 Airplay、Chromecast](https://blog.aotoki.me/posts/2018/12/25/Use-Ruby-to-find-the-Airplay-or-Chromecast-device/index.md) — 2018-12-25
- [為什麼要學習 Bootstrap 呢？](https://blog.aotoki.me/posts/2018/11/27/Why-we-choose-the-Bootstrap/index.md) — 2018-11-27
- [轉職工程師：尋找自己的價值](https://blog.aotoki.me/posts/2018/11/06/Become-a-programmer-Find-your-own-value/index.md) — 2018-11-06
- [轉職工程師：為什麼馬上就遇到瓶頸？](https://blog.aotoki.me/posts/2018/10/23/Become-a-programmer-Why-is-bottleneck-coming-very-soon/index.md) — 2018-10-23
- [客製化你樹莓派上運行的 Linux](https://blog.aotoki.me/posts/2018/10/09/Customize-a-linux-for-your-raspberrypi/index.md) — 2018-10-09
- [轉職工程師：要學什麼才好？](https://blog.aotoki.me/posts/2018/10/02/Become-a-programmer-how-to-start/index.md) — 2018-10-02
- [轉職工程師：輸在起跑點](https://blog.aotoki.me/posts/2018/09/25/Become-a-programmer-lose-at-the-starting-line/index.md) — 2018-09-25
- [怎麼選第一份工作？](https://blog.aotoki.me/posts/2018/09/10/How-to-choose-your-first-job/index.md) — 2018-09-10
- [淺談 Ruby 的 Fiber（九）](https://blog.aotoki.me/posts/2018/09/05/Talk-about-ruby-s-fiber-Part-9/index.md) — 2018-09-05
- [使用 Fiber 能給 Ruby 帶來好處嗎？](https://blog.aotoki.me/posts/2018/08/21/Does-the-Fiber-have-any-benefit-for-Ruby/index.md) — 2018-08-21
- [淺談 Ruby 的 Fiber（八）](https://blog.aotoki.me/posts/2018/08/14/Talk-about-ruby-s-fiber-Part-8/index.md) — 2018-08-14
- [淺談 Ruby 的 Fiber（七）](https://blog.aotoki.me/posts/2018/08/07/Talk-about-ruby-s-fiber-Part-7/index.md) — 2018-08-07
- [淺談 Ruby 的 Fiber（六）](https://blog.aotoki.me/posts/2018/07/29/Talk-about-ruby-s-fiber-Part-6/index.md) — 2018-07-29
- [淺談 Ruby 的 Fiber（五）](https://blog.aotoki.me/posts/2018/07/24/Talk-about-ruby-s-fiber-Part-5/index.md) — 2018-07-24
- [淺談 Ruby 的 Fiber（四）](https://blog.aotoki.me/posts/2018/07/17/Talk-about-ruby-s-fiber-Part-4/index.md) — 2018-07-17
- [淺談 Ruby 的 Fiber（三）](https://blog.aotoki.me/posts/2018/07/10/Talk-about-ruby-s-fiber-Part-3/index.md) — 2018-07-10
- [淺談 Ruby 的 Fiber（二）](https://blog.aotoki.me/posts/2018/07/03/Talk-about-ruby-s-fiber-Part-2/index.md) — 2018-07-03
- [淺談 Ruby 的 Fiber（ㄧ）](https://blog.aotoki.me/posts/2018/06/26/Talk-about-ruby-s-fiber-Part-1/index.md) — 2018-06-26
- [如何在國外演講](https://blog.aotoki.me/posts/2018/06/19/How-do-I-prepare-a-speech/index.md) — 2018-06-19
- [RubyKaigi 2018 會後心得](https://blog.aotoki.me/posts/2018/06/12/The-RubyKaigi-2018-Experience/index.md) — 2018-06-12
- [我的 Chrome 會說話](https://blog.aotoki.me/posts/2018/05/30/My-Chrome-can-speak/index.md) — 2018-05-30
- [部署你的第一個 Ruby on Rails 網站（八）](https://blog.aotoki.me/posts/2018/05/28/Getting-started-deploy-your-Ruby-on-Rails-Part-8/index.md) — 2018-05-28
- [部署你的第一個 Ruby on Rails 網站（七）](https://blog.aotoki.me/posts/2018/05/20/Getting-started-deploy-your-Ruby-on-Rails-Part-7/index.md) — 2018-05-20
- [關於我怎麼準備人生第一次的履歷和面試](https://blog.aotoki.me/posts/2018/05/14/About-my-first-time-interview-and-resume/index.md) — 2018-05-14
- [部署你的第一個 Ruby on Rails 網站（六）](https://blog.aotoki.me/posts/2018/05/07/Getting-started-deploy-your-Ruby-on-Rails-Part-6/index.md) — 2018-05-07
- [RubyElixirConfTW 2018 會後感想](https://blog.aotoki.me/posts/2018/05/01/The-RubyElixirConfTW-2018-Experience/index.md) — 2018-05-01
- [如何在 2018 年被詐騙](https://blog.aotoki.me/posts/2018/04/24/How-to-be-scammed-in-2018/index.md) — 2018-04-24
- [部署你的第一個 Ruby on Rails 網站（五）](https://blog.aotoki.me/posts/2018/04/15/Getting-started-deploy-your-Ruby-on-Rails-Part-5/index.md) — 2018-04-15
- [部署你的第一個 Ruby on Rails 網站（四）](https://blog.aotoki.me/posts/2018/04/10/Getting-started-deploy-your-Ruby-on-Rails-Part-4/index.md) — 2018-04-10
- [在 2018 年我所知道的區塊鏈](https://blog.aotoki.me/posts/2018/04/02/The-blockchain-I-know-about-in-2018/index.md) — 2018-04-02
- [部署你的第一個 Ruby on Rails 網站（三）](https://blog.aotoki.me/posts/2018/03/27/Getting-started-deploy-your-Ruby-on-Rails-Part-3/index.md) — 2018-03-27
- [使用 Turbolinks 時 Google Analytics 並沒有正確運作](https://blog.aotoki.me/posts/2018/03/24/Google-Analytics-not-correct-when-using-turbolinks/index.md) — 2018-03-24
- [自由的 Ruby 類別（二）](https://blog.aotoki.me/posts/2018/03/23/The-ruby-s-object-is-free-Part-2/index.md) — 2018-03-23
- [部署你的第一個 Ruby on Rails 網站（二）](https://blog.aotoki.me/posts/2018/03/23/Getting-started-deploy-your-Ruby-on-Rails-Part-2/index.md) — 2018-03-23
- [部署你的第一個 Ruby on Rails 網站（一）](https://blog.aotoki.me/posts/2018/03/20/Getting-started-deploy-your-Ruby-on-Rails-Part-1/index.md) — 2018-03-20
- [Apartment 與 Globalize 隱藏在方便背後的陷阱](https://blog.aotoki.me/posts/2018/03/18/The-easy-way-not-best-way-learn-from-Apartment-and-Globalize/index.md) — 2018-03-18
- [管理 Ruby on Rails 外部 Assets 的小技巧](https://blog.aotoki.me/posts/2018/03/18/A-tips-for-manage-ruby-on-rails-s-vendor-assets/index.md) — 2018-03-18
- [Ruby 中該如何 Raise 一個錯誤](https://blog.aotoki.me/posts/2018/01/09/How-ruby-raise-an-error/index.md) — 2018-01-09
- [Stripe 的 Idempotency Key 設計機制](https://blog.aotoki.me/posts/2017/10/30/The-design-of-Stripe-s-Idempotency-Keys/index.md) — 2017-10-30
- [在 PostgreSQL 中使用遞迴查詢來找尋父節點](https://blog.aotoki.me/posts/2017/10/23/Use-PostgreSQL-s-recursive-query-to-find-ancestors/index.md) — 2017-10-23
- [自由的 Ruby 類別（一）](https://blog.aotoki.me/posts/2017/10/22/The-ruby-s-class-is-free-Part-1/index.md) — 2017-10-22
- [在 RubyKaigi 2017 年後的反思](https://blog.aotoki.me/posts/2017/10/09/The-RubyKaigi-2017-let-me-reflection/index.md) — 2017-10-09
- [用 Redux 跟 GraphQL 玩 Rails 5.1](https://blog.aotoki.me/posts/2017/05/01/Play-with-Rails-5-1-using-Redux-and-GraphQL/index.md) — 2017-05-01
- [Rails 的 Auto Reload 機制所產生的錯誤](https://blog.aotoki.me/posts/2017/03/06/The-Rails-auto-reload-trap/index.md) — 2017-03-06
- [可維護的 CSS](https://blog.aotoki.me/posts/2017/03/05/Talk-about-maintainable-css/index.md) — 2017-03-05
- [Afte PHPConf 2016](https://blog.aotoki.me/posts/2016/10/30/Afte-PHPConf-2016/index.md) — 2016-10-30
- [在 RubyKaigi 2016 後的新視野](https://blog.aotoki.me/posts/2016/09/17/the-new-vision-after-rubykaigi2016/index.md) — 2016-09-17
- [使用 GitLab CI 整合 SonarQube](https://blog.aotoki.me/posts/2016/06/12/Working-with-Gitlab-CI-and-Sonarqube/index.md) — 2016-06-12
- [從入伍後讀的一些書](https://blog.aotoki.me/posts/2016/04/12/the-book-i-read-from-my-military-service/index.md) — 2016-04-12
- [Deis 架構分析（二）](https://blog.aotoki.me/posts/2016/02/03/how-deis-architecture-design-part-2/index.md) — 2016-02-03
- [微妙的 Unreal Engine 4 語言偵測機制](https://blog.aotoki.me/posts/2016/02/02/unreal-engine-4-locale-detect-make-me-confuse/index.md) — 2016-02-02
- [Deis 架構分析（一）](https://blog.aotoki.me/posts/2016/01/31/how-deis-architecture-design-part-1/index.md) — 2016-01-31
- [在 TpGS 2016 展出後的計劃](https://blog.aotoki.me/posts/2016/01/30/the-plan-after-tpgs-2016/index.md) — 2016-01-30
- [Heroku Cedar 14 - 用 Docker 客製化環境](https://blog.aotoki.me/posts/2015/06/16/heroku-cedar-14-docker-customized-environment/index.md) — 2015-06-16
- [Unreal Engine 4 的自動化測試](https://blog.aotoki.me/posts/2015/06/12/unreal-engine-4-automation-testing/index.md) — 2015-06-12
- [SDL 筆記：產生視窗與繪製圖像](https://blog.aotoki.me/posts/2015/05/29/sdl-notes-create-window-and-draws-the-image/index.md) — 2015-05-29
- [說好的 Modern Web 2015 心得](https://blog.aotoki.me/posts/2015/05/18/modern-web-experience-in-2015/index.md) — 2015-05-18
- [2015 新一代感想](https://blog.aotoki.me/posts/2015/05/06/2015-yodex-impressions/index.md) — 2015-05-06
- [mruby on Web](https://blog.aotoki.me/posts/2015/04/10/mruby-on-web/index.md) — 2015-04-10
- [在 SITCON 2015 之後](https://blog.aotoki.me/posts/2015/03/08/after-the-sitcon-2015/index.md) — 2015-03-08
- [Open Frameworks 與 mruby](https://blog.aotoki.me/posts/2015/02/18/open-frameworks-and-mruby/index.md) — 2015-02-18
- [React.js + Parse 實做簡易留言板](https://blog.aotoki.me/posts/2015/02/18/reactjs-parse-doing-simple-message-board/index.md) — 2015-02-18
- [將遊戲場景帶入網頁](https://blog.aotoki.me/posts/2015/01/13/bring-the-games-scene-into-webpage/index.md) — 2015-01-13
- [Container Summit 2014：未來的雲端](https://blog.aotoki.me/posts/2014/12/12/container-summit-2014-the-future-of-the-cloud/index.md) — 2014-12-12
- [TGDF 2014：重燃的遊戲夢](https://blog.aotoki.me/posts/2014/12/07/tgdf-2014-i-want-to-make-a-game-again/index.md) — 2014-12-07
- [PHPConf 2014 會後心得](https://blog.aotoki.me/posts/2014/10/19/after-phpconf-2014-experience/index.md) — 2014-10-19
- [JSDC 2014 會後心得](https://blog.aotoki.me/posts/2014/10/13/after-jsdc-2014-experience/index.md) — 2014-10-13
- [Unreal Engine 4 - 用 C++ 自訂 Pawn 物件](https://blog.aotoki.me/posts/2014/10/05/unreal-engine-4-using-cpp-customize-pawn-object/index.md) — 2014-10-05
- [mruby in C# - 因 RPG Maker 的慘劇（二）](https://blog.aotoki.me/posts/2014/09/28/mruby-in-csharp-the-tragedy-of-rpg-maker-2/index.md) — 2014-09-28
- [Zigfu 跨平台的 Kinect SDK](https://blog.aotoki.me/posts/2014/09/13/zigfu-kinect-across-the-platform-sdk/index.md) — 2014-09-13
- [使用 Zigfu 的骨架功能](https://blog.aotoki.me/posts/2014/09/13/use-the-zigfu-skeleton-features/index.md) — 2014-09-13
- [mruby in C# - 因 RPG Maker 的慘劇（一）](https://blog.aotoki.me/posts/2014/09/04/mruby-in-csharp-the-tragedy-of-rpg-maker-1/index.md) — 2014-09-04
- [Rails Girls 4 活動感想](https://blog.aotoki.me/posts/2014/08/31/rails-girls-4-event-impressions/index.md) — 2014-08-31
- [COSCUP 2014 會後心得不能吃](https://blog.aotoki.me/posts/2014/07/20/coscup-after-2014-experience/index.md) — 2014-07-20
- [自製 Blogger 佈景的小技巧](https://blog.aotoki.me/posts/2014/06/15/tips-of-make-blogger-theme/index.md) — 2014-06-15
- [2014 新一代設計展心得](https://blog.aotoki.me/posts/2014/05/18/2014-yodex-experience/index.md) — 2014-05-18
- [用 React.js 實作拖曳與元件容器](https://blog.aotoki.me/posts/2014/05/04/reactjs-implementation-of-the-drag-component-containers/index.md) — 2014-05-04
- [RubyConf TW 2014 會後心得](https://blog.aotoki.me/posts/2014/04/26/rubyconf-tw-after-2014-will-experience/index.md) — 2014-04-26
- [Unreal Engine 4 collaboration with SVN](https://blog.aotoki.me/posts/2014/04/07/unreal-engine-4-collaboration-with-svn/index.md) — 2014-04-07
- [PaaS 入門指南（四）](https://blog.aotoki.me/posts/2014/04/02/getting-started-paas-4/index.md) — 2014-04-02
- [Capistrano to Vagrant 自動部署心得](https://blog.aotoki.me/posts/2014/03/24/capistrano-to-vagrant-automated-deployment-experience/index.md) — 2014-03-24
- [SITCON 2014 會後心得](https://blog.aotoki.me/posts/2014/03/17/sitcon2014/index.md) — 2014-03-17
- [Travis CI 的 Deploy 功能](https://blog.aotoki.me/posts/2014/02/25/travis-ci-the-deploy-features/index.md) — 2014-02-25
- [學生接案的報價技巧](https://blog.aotoki.me/posts/2014/02/20/the-case-for-student-how-to-set-price/index.md) — 2014-02-20
- [PaaS 入門指南（三）之二](https://blog.aotoki.me/posts/2014/02/17/getting-started-paas-3-2/index.md) — 2014-02-17
- [概觀響應式網頁設計](https://blog.aotoki.me/posts/2014/02/13/overview-of-responsive-web-design/index.md) — 2014-02-13
- [PaaS 入門指南（三）](https://blog.aotoki.me/posts/2014/02/04/getting-started-paas-3/index.md) — 2014-02-04
- [Using Laravel and HHVM on Heroku](https://blog.aotoki.me/posts/2014/01/26/using-laravel-and-hhvm-on-heroku/index.md) — 2014-01-26
- [PaaS 入門指南（二）](https://blog.aotoki.me/posts/2014/01/21/getting-started-paas-2/index.md) — 2014-01-21
- [PaaS 入門指南（一）](https://blog.aotoki.me/posts/2014/01/15/getting-started-paas-1/index.md) — 2014-01-15
- [Unity3D - 元件化的遊戲製作](https://blog.aotoki.me/posts/2014/01/03/unity3d-component-of-game-production/index.md) — 2014-01-03
- [從學生的角度給學生學習程式的建議](https://blog.aotoki.me/posts/2013/12/18/from-the-students-perspective-to-the-students-program-of-study-recommendations/index.md) — 2013-12-18
- [在忙，也要寫一下 NKO 2013](https://blog.aotoki.me/posts/2013/11/11/busy-but-also-to-write-about-nko-2013/index.md) — 2013-11-11
- [用 Vagrant 整合 GitLab 與 Capistrano 做 Staging 環境自動部署](https://blog.aotoki.me/posts/2013/11/03/vagrant-integrated-gitlab-with-capistrano-create-staging-environment-automatically-deployed/index.md) — 2013-11-03
- [HackGen 2013 大同場](https://blog.aotoki.me/posts/2013/10/21/hackgen-2013-ttu/index.md) — 2013-10-21
- [HackGen 2013 政大場](https://blog.aotoki.me/posts/2013/10/13/hackgen-2013-nccu/index.md) — 2013-10-13
- [PHPConf 2013 會後心得](https://blog.aotoki.me/posts/2013/10/05/phpconf-2013-experience/index.md) — 2013-10-05
- [用 Zephir 寫自己的 PHP Extension](https://blog.aotoki.me/posts/2013/10/05/zephir-write-your-own-php-extension/index.md) — 2013-10-05
- [V-Play Engine 與 Corona SDK 的簡易比較](https://blog.aotoki.me/posts/2013/09/18/v-play-engine-and-the-corona-sdk-simple-different/index.md) — 2013-09-18
- [Nitrous.io - 網站開發協作平台](https://blog.aotoki.me/posts/2013/09/08/nitrousio-website-development-collaboration-platform/index.md) — 2013-09-08
- [React - Facebook 的 UI 元件 Library](https://blog.aotoki.me/posts/2013/08/29/react-facebook-ui-component-library/index.md) — 2013-08-29
- [ZyXEL GS1910-24 的 Port Base VLAN 設定](https://blog.aotoki.me/posts/2013/08/17/zyxel-gs191-24-port-base-vlan-setting/index.md) — 2013-08-17
- [大三學習規劃](https://blog.aotoki.me/posts/2013/08/15/junior-year-learning-plan/index.md) — 2013-08-15
- [當 Mac 碰上 RS232](https://blog.aotoki.me/posts/2013/08/12/when-mac-run-into-rs232/index.md) — 2013-08-12
- [COSCUP 2013 - Lighting Talk 補充](https://blog.aotoki.me/posts/2013/08/05/coscup-2-13-lighting-talk-additional/index.md) — 2013-08-05
- [JSDC 2013 會後心得](https://blog.aotoki.me/posts/2013/05/19/jsdc-2013/index.md) — 2013-05-19
- [2013 新一代設計展參觀心得](https://blog.aotoki.me/posts/2013/05/17/yodex-2013/index.md) — 2013-05-17
- [台灣學生在 3D 遊戲開發的挑戰](https://blog.aotoki.me/posts/2013/05/17/student-in-taiwan-3d-game-developments-challenge/index.md) — 2013-05-17
- [使用 oauth-plugin 與 Devise 建置 OAuth2 伺服器](https://blog.aotoki.me/posts/2013/04/22/setting-up-oauth2-server-via-rails-oauth-plugin-and-devise/index.md) — 2013-04-22
- [SITCON 2013 會後心得](https://blog.aotoki.me/posts/2013/03/21/sitcon-2013/index.md) — 2013-03-21
- [Firefox OS App Days 2013](https://blog.aotoki.me/posts/2013/01/27/firefox-os-app-days-2013/index.md) — 2013-01-27
- [I am learning](https://blog.aotoki.me/posts/2013/01/15/iam-learning/index.md) — 2013-01-15
- [WebConf 2013 會後心得](https://blog.aotoki.me/posts/2013/01/14/webconf-2013/index.md) — 2013-01-14
- [2012 Windows APP 開發嘉年華](https://blog.aotoki.me/posts/2012/12/31/2012-windows-app-party/index.md) — 2012-12-31
- [The Node.js Knockout 2012 Taiwan](https://blog.aotoki.me/posts/2012/11/13/the-node-dot-js-knockout-2012-taiwan/index.md) — 2012-11-13
- [Heroku Buildpacks - 客制化你的 Heroku 環境](https://blog.aotoki.me/posts/2012/11/04/heroku-buildpacks-customize-your-heroku-enviroment/index.md) — 2012-11-04
- [KBtalKing Pro 開箱](https://blog.aotoki.me/posts/2012/10/30/kbtalking-pro-open-box/index.md) — 2012-10-30
- [另一條道路 —— 使用 Processing](https://blog.aotoki.me/posts/2012/09/22/another-way-using-processing/index.md) — 2012-09-22
- [Canon Powershot S100 & iBuddy 隨身AP 開箱](https://blog.aotoki.me/posts/2012/09/04/canon-powershot-s100-and-ibuddy-ap-open-box/index.md) — 2012-09-04
- [改變，從現在開始 - COSCUP 2012](https://blog.aotoki.me/posts/2012/08/19/change-start-now-the-coscup-2012/index.md) — 2012-08-19
- [Laravel 初次嘗試](https://blog.aotoki.me/posts/2012/07/14/the-laravel-first-try/index.md) — 2012-07-14
- [自暑假開始後](https://blog.aotoki.me/posts/2012/07/03/form-the-summer-vacation-start/index.md) — 2012-07-03
- [人生RPG - 19等](https://blog.aotoki.me/posts/2012/06/17/life-rpg-level-19/index.md) — 2012-06-17
- [Rails - Ajax and Backbone.js](https://blog.aotoki.me/posts/2012/05/27/rails-ajax-and-backbone-dot-js/index.md) — 2012-05-27
- [目標與慾望](https://blog.aotoki.me/posts/2012/05/17/goals-and-desires/index.md) — 2012-05-17
- [我對興趣的看法](https://blog.aotoki.me/posts/2012/05/11/the-idea-which-i-think-of-interest/index.md) — 2012-05-11
- [The CSS3 Transition](https://blog.aotoki.me/posts/2012/05/08/the-css3-transition/index.md) — 2012-05-08
- [網站開發之路 - 反思](https://blog.aotoki.me/posts/2012/04/03/the-web-develop-way-reflection/index.md) — 2012-04-03
- [網站開發之路 - Vim (2)](https://blog.aotoki.me/posts/2012/04/01/the-web-develop-way-vim-2/index.md) — 2012-04-01
- [網站開發之路 - Vim(1)](https://blog.aotoki.me/posts/2012/03/26/the-web-develope-way-vim-1/index.md) — 2012-03-26
- [我的網站開發之路](https://blog.aotoki.me/posts/2012/03/25/my-web-develop-way/index.md) — 2012-03-25
- [製作一個 Hubot 的噗浪 Adapter](https://blog.aotoki.me/posts/2012/03/18/create-a-hubot-plurk-adapter/index.md) — 2012-03-18
- [三天做一個論壇 - Part 1](https://blog.aotoki.me/posts/2012/01/25/create-a-forum-in-3-day-part1/index.md) — 2012-01-25
- [我的第一個 Backbone.js - TODO List (無儲存功能)](https://blog.aotoki.me/posts/2012/01/08/my-first-backbonejs-the-todo-list-without-store/index.md) — 2012-01-08
- [三十分鐘做一個留言板 Part 1](https://blog.aotoki.me/posts/2012/01/03/create-a-guestbook-in-30-mintues-part-1/index.md) — 2012-01-03
- [三十分鐘做一個留言板 Part 2](https://blog.aotoki.me/posts/2012/01/03/create-a-guestbook-in-30-minutes-part-2/index.md) — 2012-01-03
- [在PHPFog上架設WordPress(中文版)](https://blog.aotoki.me/posts/2011/12/13/let-wordpress-on-phpfog/index.md) — 2011-12-13
- [Hello Octopress](https://blog.aotoki.me/posts/2011/11/27/hello-octopress/index.md) — 2011-11-27

