{"id":3530,"date":"2009-12-31T00:33:07","date_gmt":"2009-12-30T16:33:07","guid":{"rendered":"http:\/\/ihower.tw\/blog\/?page_id=3530"},"modified":"2026-02-22T18:37:44","modified_gmt":"2026-02-22T10:37:44","slug":"posts","status":"publish","type":"page","link":"https:\/\/ihower.tw\/blog\/posts","title":{"rendered":"\u6587\u7ae0\u5206\u985e"},"content":{"rendered":"\n<p>\u4ee5\u4e0b\u662f\u6211\u6574\u7406\u51fa\u9084\u503c\u5f97\u4e00\u770b\u7684\u5167\u5bb9\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u516c\u958b\u6f14\u8b1b\u6295\u5f71\u7247<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>LLM \u61c9\u7528\u958b\u767c\u7c21\u4ecb \u27a1\ufe0f <a href=\"https:\/\/gamma.app\/public\/-Generative-AI-Engineer-LLM-Roadmap-muj5lwntrymx8nh?mode=doc\">\u6dfa\u8ac7 Generative AI Engineer \u548c LLM \u61c9\u7528\u958b\u767c<\/a><\/li>\n\n\n\n<li>\u5982\u4f55\u958b\u767c Prompt \u548c\u505a\u8a55\u4f30? \u27a1\ufe0f <a href=\"https:\/\/ihower.tw\/blog\/12444-eval-driven-development\">\u8a55\u4f30\u9a45\u52d5\u958b\u767c : \u751f\u6210\u5f0f AI \u8edf\u9ad4\u4e0d\u78ba\u5b9a\u6027\u7684\u89e3\u6c7a\u65b9\u6cd5<\/a><\/li>\n\n\n\n<li>\u4ec0\u9ebc\u662f Agent \u548c Multi-Agents? \u27a1\ufe0f <a href=\"https:\/\/ihower.tw\/blog\/12586-llm-based-ai-agents\">\u6dfa\u8ac7 LLM-based AI Agents \u61c9\u7528\u958b\u767c<\/a><\/li>\n\n\n\n<li>\u4ec0\u9ebc\u662f \u6a21\u578b\u4e0a\u4e0b\u6587\u5354\u5b9a MCP? \u27a1\ufe0f <a href=\"https:\/\/ihower.tw\/blog\/12717-mcp\">\u6dfa\u8ac7\u6a21\u578b\u4e0a\u4e0b\u6587\u5354\u5b9a MCP \u61c9\u7528\u958b\u767c<\/a><\/li>\n\n\n\n<li>\u5728 Web \u4e0a\u958b\u767c Agent \u61c9\u7528? \u27a1\ufe0f <a href=\"https:\/\/ihower.tw\/blog\/13501-practical-ai-agents\">\u5be6\u6230 AI Agents \u61c9\u7528\u958b\u767c: TTFT \u548c Prompt Caching<\/a><\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\ud83e\udde0 \u60f3\u7cfb\u7d71\u6027\u5b78\u7fd2 LLM\u3001RAG \u8207 Agents \u61c9\u7528\u958b\u767c\u5be6\u52d9? \u6b61\u8fce\u53c3\u8003\u6211\u7684\u8ab2\u7a0b \ud83d\udc49&nbsp;<a href=\"https:\/\/aihao.tw\/llm\">\u5927\u8a9e\u8a00\u6a21\u578b LLM \u61c9\u7528\u958b\u767c\u5de5\u4f5c\u574a<\/a><\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">\u611b\u597d AI Engineer \u96fb\u5b50\u5831(2023-)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/ihower.tw\/blog\/13630-aie-openclaw\">\u65b0\u578b\u614b\u4ee3\u7406\u4eba OpenClaw \u6b63\u592f\uff0c\u96fb\u5b50\u5831\u6539\u7248 #35<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/13612-aie-2025-year-in-review\">2025 AI \u5e74\u5ea6\u56de\u9867 #34<\/a><\/li>\n\n\n\n<li>&#8212;&#8211; \u4ee5\u4e0b\u70ba 2025<\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/13553-aie-2025-models-and-agents\">2025 Q4 AI \u6a21\u578b\u8207 Agent \u958b\u767c #33<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/13285-aie-ai-evals-and-mcp-registry\">AI Evals \u5927\u8faf\u8ad6\u548c MCP Registry \u767c\u5e03 #32<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/13197-aie-openai-gpt-5\">OpenAI GPT-5 \u63a8\u51fa #31<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/13039-aie-ai-evals\">\u4ec0\u9ebc\u662f AI Evals \u932f\u8aa4\u5206\u6790 #30<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/12933-aie-context-engineering\">\u65b0\u6280\u80fd\u7d44\u5408 Context Engineering \u4e0a\u4e0b\u6587\u5de5\u7a0b #29<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/12798-aie-cluade-code\">\u9802\u7d1a AI \u516c\u53f8\u7684 Prompting \u79d8\u8a23\u548c Cluade Code \u6b63\u592f #28<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/12744-aie-mcp-agent\">\u6a21\u578b\u4e0a\u4e0b\u6587\u5354\u5b9a MCP \u61c9\u7528\u958b\u767c #27<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/12690-aie-ai-engineer-summit\">\u7d10\u7d04 AI Engineer Summit \u7279\u8f2f #26<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/12679-aie-vistw\">VisTW \u7e41\u9ad4\u4e2d\u6587\u7684\u8996\u89ba\u8a55\u6e2c\u548c Deep Search #25<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/12646\">\u6069\u5c3c\u683c\u746a\u8a55\u4f30 #24<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/12633\">\u5c31\u662f\u6709\u6df1\u5ea6 DeepSeek R1 \u548c OpenAI Deep Research #23<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/12621\">AI \u61c9\u7528\u958b\u767c\u7684\u5e38\u898b\u932f\u8aa4 #22<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/12611\">\u4ee3\u7406\u4eba AI Agents \u7279\u8f2f #21<\/a><\/li>\n\n\n\n<li>&#8212;&#8211; \u4ee5\u4e0b\u70ba 2024<\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/12576\">AI Engineer \u7684\u5b78\u7fd2 Roadmap #20<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/12565\">OpenAI \u8ddf Cursor \u90fd\u5728\u7528\u7684\u52a0\u901f\u6280\u8853 Speculative Decoding &nbsp;#19<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/12555\">\u611b\u597d AI Engineer \u96fb\u5b50\u5831\u4e00\u9031\u5e74\u5566 #18 <\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/12503\">\u8a55\u4f30\u9a45\u52d5\u958b\u767c\u548c Prompt \u81ea\u52d5\u6700\u4f73\u5316 #17<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/12422\">\u5efa\u69cb LLMs \u61c9\u7528\u7684\u6230\u7565\u3001\u904b\u71df\u548c\u6230\u8853\u7d93\u9a57\u5206\u4eab #16<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/12351\">\u6aa2\u7d22\u589e\u5f37\u751f\u6210 RAG \u7279\u8f2f #15<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/12161\">AI Engineer World\u2019s Fair \u5927\u6703 #14<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/12133\">\u65b0\u7684\u8edf\u9ad4\u958b\u767c\u6642\u4ee3\u4f86\u81e8 #13<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/12124\">OpenAI \u767c\u8868 Model Spec #12<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/12095\">\u6211\u7684 Generative AI Engineer \u77e5\u8b58\u5eab\u548c Waves in AI \u9304\u5f71&nbsp; #11<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/11923\">\u751f\u6210\u5f0f AI \u79d1\u666e\u548c\u4f7f\u7528\u5fc3\u5f97 #10<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/11918\">\u5404\u5bb6\u65b0\u6a21\u578b\u548c\u89c0\u5bdf\u91cd\u9ede #09<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/11908\">Product Hunt 2023 \u5e74\u5ea6\u6700\u4f73\u7522\u54c1 #08<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/11900\">GPT-4V \u5f71\u50cf\u89e3\u8b80 \u8a55\u6e2c\u7279\u8f2f #07<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/11879\">Claude \u7684 Prompting \u5be6\u9a57 #06<\/a><\/li>\n\n\n\n<li>&#8212;&#8211; \u4ee5\u4e0b\u70ba 2023<\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/11860\">Google Gemini \u5404\u5bb6\u5f8c\u7e8c\u56de\u61c9 #05<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/11845\">OpenAI DevDay \u7cbe\u5f69\u5167\u5bb9\u56de\u9867 #04<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/11832\">Writing Principles for Task-Tuned Prompt Engineering \u7b46\u8a18 #03<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/11814\">Poe \u7684 LLM \u6a21\u578b\u6392\u540d #02<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/11794\">AI Engineer Summit \u7279\u8f2f #01<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/11773\">\u751f\u6210\u5f0f AI \u5de5\u7a0b\u5e2b\u7684\u5d1b\u8d77 #00<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u751f\u6210\u5f0f AI \u548c\u5927\u8a9e\u8a00\u6a21\u578b LLM(2023-)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/ihower.tw\/blog\/13595-agentic-search\">Agentic Search: \u641c\u5c0b\u6280\u8853\u4e0d\u6703\u6d88\u5931\uff0c\u53ea\u662f\u8b8a\u6210 Agent \u5de5\u5177<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/13513-agent-design-is-still-hard-2025\">Agent \u7522\u54c1\u958b\u767c\u4ecd\u7136\u4e0d\u7c21\u55ae<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/13501-practical-ai-agents\">\u5be6\u6230 AI Agents \u61c9\u7528\u958b\u767c: TTFT \u548c Prompt Caching (\u6295\u5f71\u7247)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/13480-sdd-spec-driven-development\">Spec-Driven Development(SDD) \u7684\u7f8e\u597d\u9858\u666f\u8207\u6b98\u9177\u73fe\u5be6<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/13294-framework-desktop\">Framework Desktop \u958b\u7bb1<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/13270-official-mcp-registry\">\u5b98\u65b9 MCP Registry \u4e0a\u7dda<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/13221-ai-evals-debate\">AI Evals \u5927\u8faf\u8ad6: \u5f9e Claude Code \u8a2a\u8ac7\u5f15\u767c\u7684\u53cd\u601d<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/13093-agent-prompting-design\">\u5f9e Prompting \u57fa\u672c\u7d50\u69cb\u5230 Agent Prompting \u8a2d\u8a08\u539f\u5247<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/13083-openai-gpt-5-api\">OpenAI GPT-5 API \u66f4\u65b0\u91cd\u9ede\u6574\u7406<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/13058-agentic-retrieval-vs-rag\">Agent \u8b93 RAG \u904e\u6642\u4e86\u55ce? \u8ac7 AI Coding \u7684\u6aa2\u7d22\u7b56\u7565<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/13048-ai-pm\">\u5982\u4f55\u7ba1\u7406 AI \u5c08\u6848? AI PM \u5f9e\u78ba\u5b9a\u6027\u5de5\u7a0b\u5230\u61c9\u7528\u7814\u7a76<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/12960-ai-evals-and-error-analysis\">\u4ec0\u9ebc\u662f AI \u61c9\u7528\u8a55\u4f30\u7684\u932f\u8aa4\u5206\u6790 Error Analysis?<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/12817-context-engineering\">\u4ec0\u9ebc\u662f Context Engineering \u4e0a\u4e0b\u6587\u5de5\u7a0b?<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/12776-multi-agent-or-single-agent\">AI Agent \u67b6\u69cb\u6bd4\u8f03: Multi-Agent \u6216 Single-Agent<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/12717-mcp\">\u6dfa\u8ac7\u6a21\u578b\u4e0a\u4e0b\u6587\u5354\u5b9a MCP \u61c9\u7528\u958b\u767c(\u6295\u5f71\u7247)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/12586\">\u6dfa\u8ac7 LLM-based AI Agents \u61c9\u7528\u958b\u767c (\u6295\u5f71\u7247)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/12509\">OpenAI DevDay 2024 \u91cd\u9ede\u6574\u7406<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/12490\">\u63d0\u793a\u8a5e Prompt \u81ea\u52d5\u6700\u4f73\u5316: Textgrad \u548c DSPy \u901a\u7528\u7bc4\u4f8b<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/12444\">\u8a55\u4f30\u9a45\u52d5\u958b\u767c: \u751f\u6210\u5f0f AI \u8edf\u9ad4\u4e0d\u78ba\u5b9a\u6027\u7684\u89e3\u6c7a\u65b9\u6cd5(\u6295\u5f71\u7247)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/12373\">\u4f7f\u7528\u7e41\u9ad4\u4e2d\u6587\u8a55\u6e2c RAG \u7684 Chunking \u5207\u584a\u7b56\u7565<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/12227\">\u4f7f\u7528\u7e41\u9ad4\u4e2d\u6587\u8a55\u6e2c\u5404\u5bb6 Reranker \u6a21\u578b\u7684\u91cd\u6392\u80fd\u529b<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/12167\">\u4f7f\u7528\u7e41\u9ad4\u4e2d\u6587\u8a55\u6e2c\u5404\u5bb6 Embedding \u6a21\u578b\u7684\u6aa2\u7d22\u80fd\u529b<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/11996\">\u6dfa\u8ac7 Prompt \u81ea\u52d5\u6700\u4f73\u5316\u5de5\u5177<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/11933\">\u4f7f\u7528\u7e41\u9ad4\u4e2d\u6587\u8a55\u6e2c\u5404\u5bb6 LLM Tokenizer \u5206\u8a5e\u5668<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/12016\">\u4fc4\u7f85\u65af\u5957\u5a03(Matryoshka)\u5d4c\u5165\u6a21\u578b\u7c21\u4ecb<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/11869\">\u6dfa\u8ac7 AutoGen \u591a\u4ee3\u7406\u4eba\u5354\u4f5c<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/12054\">(RubyConf \u7248) \u6dfa\u8ac7 Generative AI Engineer: \u7d66 Rubyist \u7684\u4e0a\u624b\u6307\u5357<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/11715\">\u5927\u8a9e\u8a00\u6a21\u578b LLM \u61c9\u7528\u958b\u767c Roadmap<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/11681\">Prompt Engineering \u5de5\u5177\u8a55\u6e2c<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/11596\">(\u7d66Ruby\u958b\u767c\u8005\u7684) \u5927\u8a9e\u8a00\u6a21\u578b LLM \u61c9\u7528\u958b\u767c\u5165\u9580<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u6a5f\u5668\u5b78\u7fd2 Machine Learning (2015-2017)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"\/blog\/archives\/8804\">A brief introduction to Machine Learning \u6295\u5f71\u7247(2017)<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/8574\">\u4e00\u5929\u641e\u61c2\u6df1\u5ea6\u5b78\u7fd2 \u5fc3\u5f97\u7b46\u8a18(2016)<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/8440\">\u53f0\u7063\u8cc7\u6599\u79d1\u5b78\u611b\u597d\u8005\u5e74\u6703 2015 \u5fc3\u5f97\u7b46\u8a18<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/11611\">Coursera: \u53f0\u5927\u8cc7\u5de5 Machine Learning \u4e0a\u8ab2\u5fc3\u5f97<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/8502\">edX: Scalable Machine Learning \u4e0a\u8ab2\u5fc3\u5f97<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/8495\">edx: Introduction to Big Data with Spark \u4e0a\u8ab2\u5fc3\u5f97<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u8edf\u9ad4\u958b\u767c Software Development(2008-2018)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"\/blog\/archives\/8965\">\u6df1\u5165\u6dfa\u51fa\u63a2\u7d22\u5f0f\u6e2c\u8a66\u5de5\u4f5c\u574a \u7b46\u8a18<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/8366\">\u6dfa\u8ac7 Startup \u516c\u53f8\u7684\u8edf\u9ad4\u958b\u767c\u6d41\u7a0b \u6295\u5f71\u7247<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/8021\">\u5982\u4f55\u505a\u4e00\u4f4d\u8207\u5de5\u7a0b\u5718\u968a\u5408\u4f5c\u826f\u597d\u7684\u7522\u54c1\u7d93\u7406<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/6739\">\u7a0b\u5f0f\u8a2d\u8a08\u4e0d\u50cf\u5efa\u7bc9\u5de5\u7a0b\uff0c\u800c\u662f\u5712\u85dd\u7dad\u8b77<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/7046\">\u559c\u611b\u7684\u7a0b\u5f0f\u8a2d\u8a08\u540d\u8a00<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/6981\">\u300c\u5b88\u3001\u7834\u3001\u96e2\u300d\u5b78\u7fd2\u6a21\u5f0f\u4e09\u968e\u6bb5<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/6895\">\u5f9e Scrum \u5230 Kanban: \u70ba\u4ec0\u9ebc Scrum \u4e0d\u9069\u5408 Lean Startup?<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1750\">\u5be6\u6230\u654f\u6377\u958b\u767c Practices of an Agile Developer (1) \u5c08\u696d\u614b\u5ea6\u7bc7<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1756\">\u5be6\u6230\u654f\u6377\u958b\u767c Practices of an Agile Developer (2) \u9700\u6c42\u7bc7<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1758\">\u5be6\u6230\u654f\u6377\u958b\u767c Practices of an Agile Developer (3) \u6e2c\u8a66\u7bc7<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1898\">\u5be6\u6230\u654f\u6377\u958b\u767c Practices of an Agile Developer (4) \u7a0b\u5f0f\u7bc7<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/2333\">\u5be6\u6230\u654f\u6377\u958b\u767c Practices of an Agile Developer (5) \u9664\u932f\u7bc7<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/2369\">\u5be6\u6230\u654f\u6377\u958b\u767c Practices of an Agile Developer (6) \u5718\u968a\u958b\u767c\u7bc7<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/2449\">\u63a1\u7528\u654f\u6377\u65b9\u6cd5\u7684\u8edf\u9ad4\u958b\u767c\u5408\u7d04\u8a72\u600e\u9ebc\u7c3d\uff1f<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/2090\">\u4ec0\u9ebc\u662f User Stories?<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u7a0b\u5f0f\u8a2d\u8a08 Programming(2008-2015)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"\/blog\/archives\/8162\">\u7a0b\u5f0f\u8a2d\u8a08\u5e2b\u5347\u7d1a\u5fc5\u7df4\u5167\u529f\uff1aTDD Kata<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/7909\">Exception Handling: Designing Robust Software \u6295\u5f71\u7247<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/7259\">Defensive Programming \u9632\u79a6\u6027\u7a0b\u5f0f\u8a2d\u8a08<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/7181\">Kent Beck \u7684\u56db\u500b\u7c21\u55ae\u7a0b\u5f0f\u8a2d\u8a08\u539f\u5247<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/6305\">Functional Programming for Java Developers \u8b80\u66f8\u6458\u8981<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/6513\">\u90a3\u4e9b Functional Programming \u6559\u6211\u7684\u4e8b \u6295\u5f71\u7247<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1960\">\u7269\u4ef6\u5c0e\u5411\u7a0b\u5f0f\u7684\u4e5d\u500b\u9ad4\u64cd\u7df4\u7fd2<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u7db2\u7ad9\u958b\u767c Web Development(2006-2021)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"\/blog\/archives\/10768\">Responsible Rails \u8b80\u66f8\u6458\u8981<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/10436\">Release It! \u8b80\u66f8\u6458\u8981<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/10556\">Refactoring UI \u8b80\u66f8\u6458\u8981<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/8518\">AWS User Group: \u8ac7 AWS \u5bb9\u5668\u8207 Serverless \u6700\u4f73\u5be6\u8e10 \u5fc3\u5f97\u7b46\u8a18<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/8489\">\u66f4\u5feb\u66f4\u5b89\u5168: \u6bcf\u500b\u7db2\u7ad9\u90fd\u61c9\u8a72\u5347\u7d1a\u5230 HTTP\/2<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/7837\">SSH agent forwarding \u7684\u61c9\u7528<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/7411\">A brief introduction to Vagrant \u2013 \u539f\u4f86 VirtualBox \u53ef\u4ee5\u9019\u6a23\u73a9 \u6295\u5f71\u7247<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/7309\">A brief introduction to SPDY \u2013 \u9081\u5411 HTTP\/2.0 \u2013 \u6295\u5f71\u7247<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/6483\">HTTP Verbs: \u8ac7 POST, PUT \u548c PATCH \u7684\u61c9\u7528<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/3481\">\u5982\u4f55\u6b63\u78ba\u767c\u9001(\u5927\u91cf) Email \u4fe1\u4ef6<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/3457\">\u5982\u4f55\u6709\u6548\u7387\u5730\u5206\u9801? <\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1768\">\u5982\u4f55\u4f7f\u7528 memcached \u505a\u5feb\u53d6<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1749\">\u4f7f\u7528 httperf \u505a\u7db2\u7ad9\u6548\u80fd\u5206\u6790<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1517\">HTTP \u9023\u7dda\u7ba1\u7406<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1542\">\u4ec0\u9ebc\u662fREST\u8ddfRESTful?<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1291\">Don\u2019t Make Me Think<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Ruby on Rails \u7db2\u7ad9\u958b\u767c\u6846\u67b6(2006-2023)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"\/blog\/archives\/11250\">\u6dfa\u8ac7\u6211\u5c0d Domain-Driven Design \u7684\u7406\u89e3\u548c Rails \u4e2d\u7684\u5be6\u4f5c<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/11006\">Rails \u524d\u7aef\u6253\u5305\u5de5\u5177\u7d44\u5408 (2022\u7248)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/10995\">Ruby on Rails \u8001\u53f8\u6a5f\u5e36\u98db \u6295\u5f71\u7247 (2022)<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/5070\">Service-Oriented Design and Implement with Rails3 \u6295\u5f71\u7247<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/4878\">\u6df1\u5165Rails3: ActiveSupport \u7684 class_attribute<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/4940\">Rails3: ActiveModel \u5be6\u4f5c<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/4873\">Rails3: Railtie \u548c Plugins \u7cfb\u7d71<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/4561\">Rails3: \u65b0\u7684 Metal \u6a5f\u5236<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/4320\">\u9047\u898b Ruby on Rails \u6295\u5f71\u7247<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/4225\">Rails3 \u5982\u4f55\u5beb Helper \u53ef\u4ee5\u50b3 Block \u53c3\u6578 <\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/4098\">Rails Performance \u6700\u4f73\u5be6\u52d9 \u6295\u5f71\u7247<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/4096\">Rails Security \u6700\u4f73\u5be6\u52d9 \u6295\u5f71\u7247<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/3949\">\u6df1\u5165Rails3: ActiveSupport::Concern<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/3589\">Distributed Ruby and Rails<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/3565\">\u4f7f\u7528 logrotate \u5b9a\u671f\u6574\u7406 Rails Log \u6a94\u6848<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/3515\">\u81ea\u5b9a YAML Config \u8a2d\u5b9a\u6a94<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/3337\">Enterprise Rails: \u8cc7\u6599\u5eab\u7bc7<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/3075\">Rails Best Practices \u6295\u5f71\u7247<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/2821\">Building Web Interface On Rails \u6295\u5f71\u7247<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1766\">\u6700\u4f73\u5316 ActiveRecord SQL \u67e5\u8a62<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1720\">RESTful Rails2 \u6295\u5f71\u7247<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1719\">\u5c0f\u63a2 Rails ActiveSupport<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1715\">Rails2\u2019s template \u53ef\u4ee5\u600e\u9ebc\u73a9 \u6295\u5f71\u7247<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1707\">Rails Front-End \u512a\u5316<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1680\">\u63a8\u85a6 Rails Code Review PDF<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1669\">Rails Testing \u7c21\u4ecb<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1647\">Rails Migrations \u780d\u6389\u91cd\u7df4<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1566\">Rails RESTful \u5236\u7d04\u5373\u89e3\u653e<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1545\">RESTful Design \u96dc\u8ac7<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1437\">Rails \u7684 Many-to-Many \u8a0e\u8ad6<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Ruby \u7a0b\u5f0f\u8a9e\u8a00(2008-2017)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"\/blog\/archives\/8725\">\u5982\u4f55\u771f\u6b63\u8b93 Ruby Constants \u5e38\u6578\u7121\u6cd5\u88ab\u4fee\u6539<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/6026\">RubyKoans: \u900f\u904e\u55ae\u5143\u6e2c\u8a66\u4f86\u5b78\u7fd2 Ruby \u8a9e\u6cd5<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/5959\">\u5169\u500b Ruby \u5efa\u69cb Array \u548c Hash \u7684\u5c0f\u6280\u5de7<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/5983\">BDD style unit testing video and slides@RubyKaigi 2011<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/5438\">RSpec \u6f14\u8b1b\u6295\u5f71\u7247\u548c\u793a\u7bc4\u5f71\u7247<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/4797\">\u5982\u4f55\u8a2d\u8a08\u51fa\u6f02\u4eae\u7684 Ruby APIs [\u6f14\u8b1b\u6458\u8981]<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/4279\">Designing Beautiful Ruby APIs \u6295\u5f71\u7247<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/2722\">Ruby 1.9 \u6295\u5f71\u7247<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/4320\">\u6821\u5712\u81ea\u7531\u8edf\u9ad4\u5de5\u4f5c\u574a \u2013 Meet Ruby on Rails <\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/3974\">\u4f7f\u7528 A\/B Testing \u5de5\u5177\u5f15\u5c0e\u4f60\u505a\u7db2\u7ad9\u8a2d\u8a08<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/3546\">\u50b3\u53c3\u6578\u5230 Rake \u4e2d<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/3232\">Rails Best Practices Gem: \u975c\u614b\u5206\u6790Rails\u7a0b\u5f0f\u78bc<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/3201\">Ruby \u5165\u9580 \u7b2c\u4e00\u6b21\u5c31\u4e0a\u624b \u6295\u5f71\u7247<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/2979\">Cucumber: \u5c0f\u9ec3\u74dc\u9a57\u6536\u6e2c\u8a66\u5de5\u5177 \u6295\u5f71\u7247<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1698\">\u4e00\u4e9b Ruby Dynamic Features \u8a18\u4e8b (3) define_method<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1697\">\u4e00\u4e9b Ruby Dynamic Features \u8a18\u4e8b (2) singleton clas<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1696\">\u4e00\u4e9b Ruby Dynamic Features \u8a18\u4e8b (1) OOP<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1691\">\u5982\u4f55\u5beb\u51fa\u6709\u6548\u7387\u7684 Ruby Code<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Mac \u958b\u767c\u74b0\u5883(2010-2023)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"\/blog\/archives\/11556\">MacBook Pro 2023 \u5b89\u88dd\u8edf\u9ad4<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/8861\">Nginx + SSL + HTTP\/2 + Rails \u5728 Mac \u672c\u6a5f\u958b\u767c\u8a2d\u5b9a<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/4308\">Homebrew: \u65b0\u4e00\u4ee3 OSX \u5957\u4ef6\u7ba1\u7406\u5de5\u5177<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u5546\u696d\u7ba1\u7406 Business (2021-2023)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"\/blog\/archives\/11541\">\u5c0f\u99ac\u5b8b\u71df\u92b7\u7b46\u8a18 \u5fc3\u5f97\u6458\u8981<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/11457\">\u90dd\u65ed\u70c8\u5c08\u6848\u7ba1\u7406 \u8b80\u5f8c\u611f<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/11452\">\u5927\u5668\u53ef\u4ee5\u665a\u6210 \u8b80\u5f8c\u611f<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/11427\">\u7aae\u67e5\u7406\u7684\u666e\u901a\u5e38\u8b58 \u8b80\u5f8c\u611f<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/11323\">\u6975\u7c21\u5e02\u5834\u71df\u92b7 \u5fc3\u5f97\u6458\u8981<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/11355\">\u5347\u7d1a\u5b9a\u4f4d24\u8b1b \u5fc3\u5f97\u6458\u8981<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/11090\">\u5e6b\u52a9\u4f60\u7684\u8001\u95c6\u5e6b\u52a9\u4f60(Help Your Boss Help you) \u5fc3\u5f97\u6458\u8981<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/ihower.tw\/blog\/archives\/11105\">\u4f60\u4e0d\u662f\u5728\u7576\u4e3b\u7ba1\uff0c\u4f60\u5728\u7576\u4f60\u81ea\u5df1 \u8b80\u5f8c\u5fc3\u5f97<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/10913\">\u514b\u670d\u5718\u968a\u9818\u5c0e\u76845\u5927\u969c\u7919 \u8b80\u5f8c\u611f<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/10777\">\u6df7\u5c6f\u5927\u5b78 \u4eba\u529b\u8cc7\u6e90\u662fCEO\u7b2c\u4e00\u5de5\u7a0b \u5fc3\u5f97\u6458\u8981<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/10659\">\u975e\u7dda\u6027\u6210\u9577 \u8b80\u66f8\u6458\u8981<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/10627\">\u4f9b\u61c9\u93c8\u7ba1\u7406: \u9ad8\u6210\u672c\u3001\u9ad8\u5eab\u5b58\u3001\u91cd\u8cc7\u7522\u7684\u89e3\u6c7a\u65b9\u6848 (\u85cd\u76ae\u66f8) \u8b80\u66f8\u6458\u8981<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/10902\">\u5275\u610f\u7af6\u64c7 \u8b80\u5f8c\u611f<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/10904\">\u8cc7\u672c\u4e3b\u7fa9\u6c92\u544a\u8a34\u4f60\u768423\u4ef6\u4e8b \u5fc3\u5f97\u6458\u8981<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u8b80\u66f8\u5fc3\u5f97\u6458\u8981(2006-2007)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"\/blog\/archives\/1645\">Eric Sink \u8ac7\u5c0f\u8edf\u9ad4\u516c\u53f8\u7684\u5275\u696d\u7d93\u71df(\u7e8c) Sales <\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1619\">Eric Sink \u8ac7\u5c0f\u8edf\u9ad4\u516c\u53f8\u7684\u5275\u696d\u7d93\u71df(\u7e8c) Marketing<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1618\">Eric Sink \u8ac7\u5c0f\u8edf\u9ad4\u516c\u53f8\u7684\u5275\u696d\u7d93\u71df(\u7e8c) People<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1602\">Eric Sink \u8ac7\u5c0f\u8edf\u9ad4\u516c\u53f8\u7684\u5275\u696d\u7d93\u71df<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1632\/\">\u5225\u8b93\u7d71\u8a08\u6578\u5b57\u9a19\u4e86\u4f60<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1616\/\">\u884c\u92b7\u6230\u722d<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1594\/\">\u672a\u4f86\u5728\u7b49\u5f85\u7684\u4eba\u624d<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1483\/\">\u641e\u5b9a! GTD<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1474\/\">\u6eab\u4f2f\u683c \u4f60\u60f3\u901a\u4e86\u55ce?<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1396\/\">\u6f5b\u898f\u5247<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1345\/\">\u627e\u51fa IT \u7522\u696d\u7684\u8822\u4e8b<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1338\/\">\u5f15\u7206\u8da8\u52e2<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1600\/\">\u96a8\u610f\u641c\u5c0b<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/1320\/\">\u7fa4\u773e\u7684\u667a\u6167<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u5176\u4ed6(2010-2015)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"\/blog\/archives\/8075\">\u6280\u8853\u7c21\u5831\u7684\u597d\u7528\u5de5\u5177(2015)<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/7946\">QCon \u4e0a\u6d77\u7ad9 2014 \u904a\u8a18<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/7506\">RubyConf Taiwan 2012 \u7c4c\u8fa6\u7955\u8f9b\u8207\u5fc3\u5f97<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/6570\">JavaScript\uff0c\u6211\u771f\u662f\u641e\u4e0d\u61c2\u4f60\u554a\uff01@JSDC.TW 2012<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/6015\">RubyConf Taiwan 2011 \u7c4c\u8fa6\u5fc3\u5f97<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/archives\/4272\">RubyConf Taiwan 2010 \u65e5\u8a18\u8207\u611f\u8a00<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u4ee5\u4e0b\u662f\u6211\u6574\u7406\u51fa\u9084\u503c\u5f97\u4e00\u770b\u7684\u5167\u5bb9\u3002 \u516c\u958b\u6f14\u8b1b\u6295\u5f71\u7247 \ud83e\udde0 \u60f3\u7cfb\u7d71\u6027\u5b78\u7fd2 LLM\u3001RAG \u8207 Agents \u61c9\u7528\u958b\u767c &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/ihower.tw\/blog\/posts\" class=\"more-link\">\u95b1\u8b80\u5168\u6587<span class=\"screen-reader-text\">\u3008\u6587\u7ae0\u5206\u985e\u3009<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"open","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"footnotes":""},"class_list":["post-3530","page","type-page","status-publish","hentry","entry"],"jetpack_shortlink":"https:\/\/wp.me\/P1q6tG-UW","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/ihower.tw\/blog\/wp-json\/wp\/v2\/pages\/3530","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ihower.tw\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ihower.tw\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ihower.tw\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ihower.tw\/blog\/wp-json\/wp\/v2\/comments?post=3530"}],"version-history":[{"count":426,"href":"https:\/\/ihower.tw\/blog\/wp-json\/wp\/v2\/pages\/3530\/revisions"}],"predecessor-version":[{"id":13635,"href":"https:\/\/ihower.tw\/blog\/wp-json\/wp\/v2\/pages\/3530\/revisions\/13635"}],"wp:attachment":[{"href":"https:\/\/ihower.tw\/blog\/wp-json\/wp\/v2\/media?parent=3530"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}