一、序
今天是中國農曆一年的最後一天,往年都叫年三十,今年沒有三十,最後一天是二十九。廚房的柴火味、窗外的鞭炮聲還有不遠處傳來的說笑聲,一切都是熟悉味道,新年到了,家鄉熱鬧起來了。平常左鄰右舍都是看不到人的,門口的雜草隨意生長。只有到了逢年過節,在外奔波的人們才會回到老家,這時的家鄉就格外的熱鬧。
外面的天還是陰沉沉的,偶爾有陽光射進大廳,只停留一小會又消失了,希望明天是個好天氣,疫情的原因已經兩年沒有挨家挨戶拜年,今年應該可以拜年,很期待。現在 “拜年” 似乎成了走進鄰居家的一個理由,平日大家各奔東西,交流太少,見面又不知到拿什麼當話題嘮嗑兩句。
剛剛吃完年夜飯,稍坐了一會,構思著怎麼給博文起個目錄,介紹下這幾天完成的一個專案,輸出一下心得體會,上午寫完了 README.md,程式碼已經發布到 Github 上了。
takoyaki 這個名字來自上次公司團建認識的一個妹子,只覺得姑娘長得好,相處時很舒心,名字起得也好,故引用作為專案的名字。別無他想,名字的故事到此為止。
這個專案的思路受啟發於公司內部的一個管理後臺,它用於對一些業務資料進行簡單的增刪改查,每個頁面就是一個業務。當時讓我感到好奇的是頁面的 排版、按鈕、背景色 都是統一的,不像是單獨開發出來的,更像是一個模板裡面配置出來的。當時,腦海隱約又想起以前供職的公司,也有類似的管理後臺,供內部使用,比較粗糙,功能是類似。而且,當時我還參與過開發,都是一個頁面一個頁面的用HTML 寫出來的,大致是下面這樣:
瞬間覺得那時的自己好蠢啊,如果抽離出一個通用的模板,那麼就可以減少好多的開發工作量。再往深入想,其實每個公司乃至個人開發者,都有這麼一個頁面的需要,如果是懂前端的開發者,雖然頁面簡單,但也是有一定的開發工作量;如果是不懂前端的後臺開發者,那就有點麻煩了。如果此時有一個只需要簡單配置,就可以生成上面這樣的 增刪改查 頁面,就可以解決他們的問題,同時節省工作量。
二、takoyaki 介紹
takoyaki 是一個通用的資料表格元件,只需少量的配置,無需人力開發,就可以快速生成一個常見的支援業務 “增刪改查” 的 Web 管理平臺。 其受啟發於業務場景,將常見的資料管理功能,抽離成通用的元件,目的是減少的重複開發工作,進一步幫助開發人員形成一種抽象的軟體思維。
Features
- 配置化,無需開發
- 支援資料的增刪改查
- 支援 Excel 匯出資料
產品圖
頁面配置
編輯資料
三、抽象能力
隨著專案做的越來越多,現在有一些很深的感觸。做這些專案耗費了我們大量的時間,但回頭覆盤卻感覺收穫很少。大部分時間都花在和不同的人反覆溝通需求,程式設計方面很多都是重複的工作。
現在愈發覺得,寫程式碼的速度應該要慢下來,將更多的時間用於思考,去做提升自己的事,而不是盲目填滿自己的時間。
開始這個專案時,就想起前段時間學習了 左耳朵耗子的極客時間專欄-高效學習 一篇,裡面提到的抽象能力:
抽象能力是舉一反三的基本技能。平時你解決問題的時候,如果你能對這個問題進行抽象,你就可以獲得更多的表現形式。抽象能力需要找到解決問題的通用模型,比如數學就是對現實世界的一種抽象。只要我們能把現實世界的各種問題建立成資料模型(如,建立各種維度的向量),我們就可以用數學來求解,這也是機器學習的本質。
我理解,這個專案就是抽象能力的一種實踐,對問題進行抽象,找到解決問題的通用模型。放眼其它的領域,比如:Web 框架 Spring、前端框架 Vue、各種程式語言 其都是對特定領域的一種抽象的表現形式,都是將各種問題建立成資料模型,幫助人們更容易的理解。不敢妄言生活中的例子,生活閱歷和修行還不夠,或許數十載之後會加深這種理解吧。
說到底,我想表達的是,這個專案不是教你如何實現一個 “通用的表格元件”,而是想讓你知道這麼一個思維能力,掌握抽象能力可以站在更高視角看待問題,而且適用於任何領域。
尾聲
新年好,感謝看到這裡的你們,祝你們新年快樂,虎虎生威 !
新年好,takoyaki ,期待再次與你相見!
新的一年馬上就要到來,希望你不要受限於教條的框框約束,敢於去突破自己,挑戰自己,做自己未曾做過和不敢做的事。