---
title: "回顧 2023，極限是用來超越的"
date: 2023-12-27T00:00:00+08:00
publishDate: 2023-12-27T00:00:00+08:00
lastmod: 2023-12-18T16:56:35+08:00
tags: ["心得"]
toc: true
permalink: "https://blog.aotoki.me/posts/2023/12/27/review-2023-the-limit-can-be-exceed/"
language: "zh-tw"
---


大學的時候曾對朋友說過「極限不是用來超越的嗎？」這句話，即使畢業後快要十年，仍然符合現況。在 2023 即將結束，開始「這一年」似乎很適合用這句話作為標題。

<!--more-->

## 連接{#connect}

以往大多是以隨性的方式來選擇要進行的計畫，今年則開始習慣思考跟過去的技能，以及未來期待的成果來進行安排，將過去、現在、未來連接起來。

在 2022 年初，我接觸到了比較完善的敏捷開發課程，以及了解到 OKR（Objective Key-Result）的概念，因此嘗試調整許多生活習慣（[用「敏捷開發」的方式過生活](https://blog.aotoki.me/posts/2022/08/26/make-your-life-agile/)）到了今年，這套方式已經逐漸融入自己的生活中，可以很自然的做出判斷。

其中也包含了一個相當重要的概念，也就是「取捨」因為時間有限，需要在各種需要進行的事情裡面依照重要程度、優先程度安排，並且思考想要得到怎樣的「產出」看似簡單，實際上卻是相當困難的，因為大多數時候更可能「不知道自己想要什麼」因此需要經常進行回顧，思考對自己重要的是什麼，才能快速的判斷。

## 成果{#result}

平常我會以 Todoist 來追蹤進度，並且在週末確認一次手上有的任務跟成果，進行調整。既然是一篇對於 2023 年的回顧，自然就是來看這樣過了一年，一共有哪些事情被完成或者有成果產出。

閱讀方面，一樣透過 Kobo 來進行，因為沒有「完成時間」的資訊，照印象來看「約 5 ~ 7 本」的範圍，主題也盡量跟技術無關來增加思考的多樣性，比較有趣的是這次有一本是食譜。

演講部分，基本上還是有四場左右，但讓我一整年都覺得在做簡報。

 * [Generative AI 小聚 ft. Happy Designer](https://speakerdeck.com/elct9620/20230322-generative-ai-xiao-ju-ft-happy-designer)
 * [WebConf - 選擇適合你的技能組合](https://speakerdeck.com/elct9620/2023-webconf-xuan-ze-shi-he-ni-de-ji-neng-zu-he)
 * [DDDTW - 導入 Domain-Driven Design 的最佳時機](https://speakerdeck.com/elct9620/20230916-dddtw-dao-ru-domain-driven-design-de-zui-jia-shi-ji)
 * [RubyConfTW - Rethink Rails Architecture](https://speakerdeck.com/elct9620/2023-rubyconftw-rethink-rails-architecture)
 * 銘傳資工 - 淺談軟體架構與實踐

實際上有種選題越來越困難的感覺，以及在內容呈現上有很多想法想傳遞但時間不夠的感覺，明年會試著做出一些調整看看。

技術文章則是穩定的兩個系列，但是把 YouTube 的影片放棄，從準備內容到錄製、調整（剪輯、字幕）會佔用太多時間。

* [優雅的 RSpec 測試](https://blog.aotoki.me/series/elegant-rspec/)
* [Rails 開發實踐](https://blog.aotoki.me/series/rails-in-practice/)

Rails 開發實踐有點可惜，到了 2023 年底我完成許多軟體開發知識的更新後，已經有非常多內容可以再做改進，預定會在 2024 年的連載深入討論。

除此之外也嘗試了實體課程，原本是希望是一天的課程，最後被分為理論跟實作兩個部分。

* [開發必學的需求分析法](https://5xcampus.com/courses/system-and-requirement-analysis.html)
* [Rails 開發者的進階實戰課程](https://5xcampus.com/courses/rails-foundation-skills.html)

原本的目的是希望從自己的經驗裡面找出一些作為「資深工程師」該具備的能力，而且要能以構成一個系統性的方法去實踐，很感謝初期就嘗試的同學，在接受一些回饋後把一些不太能完整說明的內容刪減，並且更專注在核心的內容上。

最後是一些程式的專案，基本上還是有許多想到就做的部分，然而也有一些重點專案被放到我的規劃中。

* [elct9620/mruby-go](https://github.com/elct9620/mruby-go)
* [CCIP-App/CCIP-Serverless](https://github.com/CCIP-App/CCIP-Serverless)

因為現在的工作會以 Golang 為主，為了讓自己能有更多機會使用 Ruby 語言，才有了 mruby-go 的規劃，也會是長期的專案之一。

至於 CCIP-Serverless 是在跟維護 OPass 這套在許多研討會都會用到的報到 App，因為原有的 Docker 版本不一定能讓每個人都輕易部署跟維護，因此才有了在 CloudFlare Worker 上運作的 Serverless 版本，原本想在今年完成主要功能，但還是差了一點。

除此之外，還有許多沒辦法詳細列出來的東西。像是跟朋友想架設伺服器，結果一路變成土炮機房跟申請自己的 IPv4 位置，學會用 BGP 廣播路由等等，一年之內能做的事情遠比想像的還要多非常多。

## 規劃{#plan}

去年設定的「寫好程式」算是有不錯的成果，明年的話想要以「準備」作為新的目標。假設以十年作為一個人生階段，今年結束後 30 歲就過完一半左右，也大致思考之後十年想要有怎樣的成果，那麼就得開始做準備。

在演講方面，會調整成先設定好「想分享的主題」再根據是否有研討會適合（或者邀約）來決定要不要講，這樣會減少以往配合活動重新製作內容的疲勞感。

* mruby-go，你該嘗試做自己的 Ruby VM
* Clean "Go" Architecture

受到工作影響，我在語言的重心勢必會跟 Golang 有許多關聯，因此題目也會有更多關聯。但是作為 Ruby 愛好者，還是會用 mruby-go 的形式跟 Ruby 做出連結。

在實驗、開源貢獻上，重心還是會以 Ruby 為主，但是對於 Go、Python、Rust 幾個語言預計會給比較多的關注。

* mruby-go 持續開發
* 增加 [Hanami](https://hanamirb.org/) 框架的使用跟貢獻
* 練習用 Rust 實作 Redis

這幾年每次都會失敗的遊戲開發，近期也開始嘗試用 [Godot](https://godotengine.org/) 來替代 Unity，雖然不知道和朋友們能不能順利持續到有成果產出。然而，在各方便的技能也都盡量保持不要過於生疏，這也包含像是前端框架等能力。

連載的話，目前都是以上半年非 Rails 框架，下半年探討 Rails 的模式進行。

* 2024 上半 - [Cucumber 的文件測試法](https://blog.aotoki.me/series/test-with-cucumber/)
* 2024 下半 - [重新思考 Rails 架構](https://blog.aotoki.me/series/rethink-rails-architecture/)

原本是想討論怎麼規劃 Rails 的架構，然而在今年 RubyConf TW 的演講準備中，認為還是以反思的角度進行呈現會更加恰當。

想做的事情依舊超出上述所列出的內容，然而要以重要性來看，這些還是在取捨下必須優先實踐的部分，不論是否成功或者失敗。

## 極限{#limit}

今年到下半年，一直覺得時間不夠。但是最後總是能想辦法在時限內完成任務，因為一直有這種「在極限狀態做事」的感覺，才會選擇用極限當作主題。

這並不一定是件壞事，如果沒有超過原有的承受範圍，一點一點的去突破極限得到的就是進步跟成場。這大概也是凡人（沒有家境、才能等優勢）少數能做出改變的一個選項，這種累積也不像借助工具或外力會消失，即使變生疏也能很快恢復到一定水準。

不過，這也是最困難的事情之一。要維持這樣的狀態，必定會消耗一定的心力。另一方面，如果不是「持續」的進行，即使不退步也會跟不上事物的發展。

總之，希望自己能保持這樣的狀態更久一些。

