Stripe 的 Idempotency Key 設計機制
週末看到一篇 Stripe 工程師所寫的文章,是一篇關於 Idempotency Key (幂等鍵)的設計機制。因為是一篇非常棒的文章,而且裡面的概念除了可以應用在 API 設計之外,很多程式設計上需要解決的問題都可以透過這個概念來處理。
原文非常的長而且很詳細,這篇文章只會做簡單的重點整理。
有興趣的話可以打開原文來讀,是一篇很有用的文章。
作者是很厲害的工程師,部落格上的文章都是非常精實的技術文。
週末看到一篇 Stripe 工程師所寫的文章,是一篇關於 Idempotency Key (幂等鍵)的設計機制。因為是一篇非常棒的文章,而且裡面的概念除了可以應用在 API 設計之外,很多程式設計上需要解決的問題都可以透過這個概念來處理。
原文非常的長而且很詳細,這篇文章只會做簡單的重點整理。
有興趣的話可以打開原文來讀,是一篇很有用的文章。
作者是很厲害的工程師,部落格上的文章都是非常精實的技術文。
以前還在讀書的時候,常常會思考所謂的「自由」是什麼,想著以後一定要過著自由的生活。不過現實就是到了社會,依舊還是有許多限制讓你無法自由自在。
不過,在 Ruby 中的類別卻是非常自由的。
有稍微接觸過 Ruby 的人應該都知道幾個特性:
在這幾個月,感覺到自己好像快要突破這一階段的瓶頸,所以做了一些調整試試看能不能順利的突破,同時也到了每年公司參與 RubyKaigi 的時期。
要說的話,今年的 RubyKaigi 整體的方向對我來說很不一樣,因為有不少關於 RubyKaigi 底層的議程被提出來,這在台灣舉辦研討會需要照顧到不同客群的人總會需要有一些取捨。
不過,對日本——Ruby 的發源地來說,因為有不同類型的研討會互補,反而可以在不同的研討會上,著重不同的情境來討論。
八月份退伍後,馬上就加入了五倍紅寶石。而隨之而來的,剛好是在九月份為期九天的員工旅遊,一個非常充實的員工旅遊。
實際上,我們只有三天左右在日本遊玩。原本的行程會穿插著與日本 Ruby 社群的交流,以及三天的 RubyKaigi 行程。
這次的旅遊算是增長了不少見識,讓我想到高中快畢業時第一次知道了 COSCUP 之後瘋狂地參加各種語言的研討會,幾乎一年每個月都在跑研討會。印象沒錯的話,大概是 2013 年才參與到 RubyConf 也因為參加了 RubyConf 的活動,退伍前後蠻多工作機會都是來自 Ruby 圈的,算是整個程式經歷中給我幫助最多的社群了吧。
前一篇文章討論了關於 C# 執行一段 Ruby 程式碼並且取得執行結果(字串)的做法。 不過,光是這樣在 C# 使用 mruby 的意義並不大,我們需要結合 Ruby 的 DSL 特性,讓自製的 RPG Maker 可以更加簡單的被用於製作遊戲(最終目的)
也因此,我們需要能夠讓 C# 中的一些 API 可以在 Ruby 中被呼叫以及使用。 那麼,能夠從 C# 定義 Ruby 的 Module / Class 和 Method 就非常的重要,因為如果無法這樣做,那麼就無法讓 Ruby 執行 C# 的程式碼。
最近看到朋友提起 RPG Maker 又勾起我在 Mac 上使用 RPG Maker 的野心,雖然之前用 Wine 順利跑了起來,不過既然能寫 Ruby 當然要用各種奇怪的方式去玩弄。
結果,當我發現內建的 Library 要做到我想做的事情很困難的時候,腦抽的我決定自己做一個!
不過,這年頭不跨平台其實還蠻空虛的,所以就從能夠跨平台來做選擇,至於為何會選 Mono 和 C# 大概就是受到 Unity3D 跟 Unreal Engine 4 兩個目前都是非常有名的遊戲引擎影響吧! (上述兩個引擎都有使用 Mono 來協助實踐跨平台的功能)
好久沒寫部落格了,一些技術類的文章都沒時間寫,草稿也越積越多⋯⋯ 不過參加活動的不馬上寫完,很快就會忘記在做什麼事情啊 XDD
這次 RG4 超幸運被選為教練,然後我又長知識了~
雖然自己是讀設計學院,但是不管怎樣都不會有同學會朋友這麼認真的學這方面的知識。 其實某種意義上還蠻孤單的,不過對其他人來說畢竟不是必要的,所以也不能抱怨啊 XD
那麼,就來說說 8/29 跟 8/30 這兩天做了什麼吧!
接觸 Rails 快三年,今年終於有機會參加 RubyConf 了! 除了 PHP 之外,其實 Ruby 對我來說也算是一個有特別感情的語言,主要是國中時期的 RPG Maker 跟剛開始學習 PHP 的時候還分不出語言,也買了幾本 Ruby 跟 Rails 的書。
今年的 RubyConf 似乎蠻多新的工作人員,所以第一天有點不順。 (不過對我來說是可以接受的範圍,議程品質非常高,不過我想這也會是許多 Conference 未來會碰到的問題。)
然後不知道是不是錯覺,我整個覺得 RubyConf 給我一種蠻優雅的感覺 XD (其他 Conference 各有特色,但是第一次有這種感覺真的蠻有趣的 XD)
之前寫過一篇關於 Vagrant + Capistrano + GitLab 的自動化部署介紹。
不過當時因為一些問題,卡著沒有繼續完成測試。 最近因為某些原因,需要一個 Nightly-like (不一定會每日更新,取決于 commit) 的環境,所以只好硬著頭皮把全部的問題解決了⋯⋯