初探 Serverless AWS Lambda

一開始並沒有接觸到Serverless 這個詞,只有聽到AWS Lambda,所以就嘗試使用Lambda 做了微型服務,以下是我的履歷網站網址,最下方聯絡我的部分,就是利用AWS Lambda的服務。

https://resume.vnewin.com/

之前想說要換工作所以做了一個履歷資料網頁,想說讓面試人員可以認識我,簡單介紹一下自己,但跟朋友說要換工作換到現在,過一陣子了,最近終於跟主管說想離職休息一下!

說真的我朋友說我如果沒有遇到大事不會換工作,都不相信我會換,而且我也穩穩地在目前這份工作工作三年了!(這次我第一份工作)

但這一兩年實在很不順,人生方面不是工作,工作一直順順的,直到去年不小心出車禍,太可怕了讓我了解人類的渺小,讓我躺在家裡將近一個月,現在好多了,可能這一兩年真的非常不順,萌生下這個決定的想法,現在我也終於下定決心離職,看來我真的要出大事才會下定決心。

希望一切越來越好,離題了~今天來介紹我做的這一個小功能,履歷網站的聯絡我功能,順便介紹一下Serverless 先從以前開始說起。

我所知道的 主機到 Serverless

剛剛有提到我一開始接觸到這個AWS Lambda名詞,有點忘記哪一個講座了!第一次聽到覺得真的很新奇,AWS把雲端服務更抽象的出來。

以前可能要買一台伺服器主機,然後安裝需要的網站伺服器軟體、資料庫,如果開發PHP就要再裝PHP。

在往後一點,變成可以用租的,有專門公司在幫你顧伺服器,不管是虛擬的主機或是真實主機都由那間公司幫我們處理實體機器的部分。

近期演變到到雲端的部分,也是有虛擬機的技術,例如AWS的EC2,以上就是如何擁有可以運行的主機方法。

大流量架構

從每一台手機都能上網,網路也越來越方便,系統功能也越來越複雜的時代,分工越來越細用來應付這些大流量的情形。

資料庫

先以資料庫的方面來說,資料庫獨立安裝在一台伺服器,讓這一台伺服器的資源全部負責資料庫的運作,當然還有更細部的分工,比如說多一台機器只做讀取,另外一台只做寫入的動作,之間做同步的動作,甚至在資料庫前再加裝一層  Connection Pool 來排隊要進資料庫交易的連線。

不像我一開始學習時,所有服務都裝在同一台伺服器上。

閱讀更多

自律練習心態篇

Photo by Helena Lopes from Pexels

人的一切痛苦煩惱,來自於對自己無能而憤怒。

身為一個工程師每天都與電腦對話,除了上班工作以外的事情,很多時候只剩下一個人看電影,一個人逛夜市,邊緣人會做的排行榜我大部分都做過了!除了一個人開刀以外,期望以後不要再開刀,如果真的要開刀,也希望我的爸媽一直陪我祝他們身心健康快樂平安長命百歲。

人是群居動物也因為工程師這看似自由的人生,長時間的沒有人可以溝通聊天,
下班以後反而會不知道怎麼面對自己又要回到房間,看著電腦,不知道做什麼,或是知道有事情要做,但因為卡住的關卡,讓你不時的分心

最後又會落入覺得自己無能的循環,人生在不斷的起起伏伏,每一個覺得可以改變的循環,最後又回到自己不想面對的狀態。

每一次的循環,如果沒有進步,只會對於自己的人生,越來越失望,因此希望這樣的過程我可以有更好的未來,真的遇到了事情,我希望不要再進入這樣的循環。今天要來探討自律問題。

參考很多的網路上的文章,整理出如何自律的方法心態,還有如何培養好的習慣,建立有自信,身心健康,有條理的生活。

閱讀更多

AI人工智慧數據分析-口罩地圖- 看口罩

因為武漢肺炎的疫情,政府實施了實名制的口罩購買計畫!

可以到各大藥局使用健保卡購買口罩,一人一次購買兩個口罩(共10元)另外可以最多幫一個人代領口罩。

健保局開放了!藥局口罩庫存量的公開資料,工程師可以做查詢系統讓想購買的人查詢,因此可以在口罩口‍罩供‍需資‍訊平‍台 看到很多大大的作品

今天來介紹這個利用人工智慧大數據分析口罩庫存量的「看口罩」系統,他是利用歷史銷售資料的數據,分析出現庫存量下降的事件,以半小時為區間去判斷,該藥局的開賣時間!

網址:https://lookmask.vnewin.com/

閱讀更多

Laravel RESTful API 送養系統 完賽結語

未來展望

感謝有鐵人賽這個機會,讓我系統產生了一個雛形,還可以分享我目前知道的所見所聞,我會繼續完成這個系統,開始動手做前端的畫面,還有把系統規劃的更加完整,幫台灣的浪浪進一份心力,減少浪浪與人類的衝突,以及浪浪過多環境衛生的問題。

題外話:小弟我想專注在後端的開發,前端想外包,但因為只是想做一個作品,正在考慮要不要花這個錢,正在想要不要前端自己切版,淘寶買素材自已用就好還是外包給設計師畫圖(想讓前端畫面好看一點),甚至考慮整個前端都外包!因為以後想朝向後端、資料庫方面發展,所以想要一部分外包,不知道怎麼做會比較好!如果有經驗的歡迎跟我分享~或對動保議題有興趣的高手,也歡迎一起來做這個專案!

閱讀更多

Laravel 自動產生API文件

簡介&安裝

我們打造好的API,沒有使用手冊,對於要介接的開發者,根本無法使用,所以必須提供文件給他們!

所以今天就來介紹 mpociot/laravel-apidoc-generator 這是搭配apidoc + Laravel路徑配置 另外寫好的套件,能夠基於 Laravel 路由自動生成專案 API 文件,可以省掉很多麻煩!

也可以使用 apidoc 官方的套件但就是需要多設定一些路徑!

GitHub連結

使用Composer安裝這個套件

composer require --dev mpociot/laravel-apidoc-generator
閱讀更多

更好的自己更好的 API – 如何安心升級 Laravel6

昨天優化API讓我們在錯誤的經驗中不斷的學習,但也因為這些經驗,可能讓我們猶豫不敢前進,這會是內心一個很大的阻力,但也是自然的保護機制!

今天會有更大的改變,建議在嘗試練習的專案中可以嘗試,或是測試環境上測試,若用於正式上線的系統,請深思熟慮!並做好備份的動作~

系統要越來越好的關鍵條件

  1. 足夠量的測試覆蓋率(核心為主的程式碼測試,例如:對Service的測試)
  2. 安全性的更新(現在的系統,功能越來越大,撰寫的過程,時常都會用到套件!使用Laravel 框架也是,每個版本都會有安全漏洞維護的期限,為了系統安全建議更新,但更新後肯定會有一些錯誤產生,確保無誤一定要有測試程式保護)
  3. 良好的撰寫習慣,符合規定的Coding Style
  4. 確認官方升級文件的項目,在目前系統可能影響到的地方,手動確認程式無誤!
  5. 在測試環境升級確認無誤,再運用在線上系統,升級前一定要備份
閱讀更多

更好的自己更好的 API

今天來優化自己的 API (順便聊聊心情人生),前幾天都是把原本既有的程式碼拆開,現在要來優化API。

直接動手做(心情分享)

今天打算修改的部分希望盡量把原本的不足,寫成符合規範的程式碼!若你懶得看心情分享!請直接跳到下方的 修改原本設計的 URI單元,馬上實現動手做的精神!

人生難免不如意去年想要參加鐵人賽,但被一些事情影響到自己的心情,實在提不起勁,什麼也都懶得做、懶得用!沒有參加到去年的鐵人賽了

(現在出社會兩年多了!說實在真的沒有比當學生開心好好把握當學生 )。

那時心情比較低落所以看了很多書呀!心理學、正念、生活品質、斷捨離… 嘗試做很多改變。

什麼都試試看!最後成效不佳,覺得自己很廢。得到最大的體悟就是 現在認為的事情不一定是對的事,因此開始有點不敢動手做,覺得成效不好,做白工的感覺!

最後實在不行,覺得太廢了!跟朋友聊聊,發現如果遇到不同意見的人,可以在自己發表意見時先聽聽對方的想法,多多少少都會感覺得出來他為什麼這麼說的原因,換位思考一下!我覺得這很有幫助~

(雖然一件事情沒有絕對的對或錯!但是總比一直在做你以為對的事情,最後成效不佳好多了!)

現在看一看鐵人賽也快撐到完賽了!雖然不到完美但有很多收穫!

全部都歸咎於開始動手做,不開始就不會有進展,很開心我對於寫程式這方面充滿這種熱情! 哈哈哈xD

朋友跟我說,人生是一個面,工作是個點,我的人生只有工作跟運動,我現在是一條線而已,非常規律、自閉。 (工程師都這樣嗎?)

親情、友情、愛情,我好像都沒有顧好! 沒有像對程式般的熱情,那種撩下去就對了感覺!

如果你是害怕寫程式,撩下去就對了!(自己期許除了程式能力方面外,也有這樣的熱情。)

秉持著撩下去的熱情做做看就對了!沒有一次就寫到完美的Code,必須要有嘗試過的經驗,還有不斷的修正。

廢話不多馬上依照我目前的經驗分享,讓API更好維護,讓程式碼更符合統一規範的過程。

正式上線系統修改變更程式前請思考清楚!

閱讀更多

讓你的程式更美好 – Service後可以加入很多功能

今天我們繼續拆分程式碼!把商業邏輯的內容寫在 Service 檔案中,這過程中我們都沒有加入新功能,主要是把程式放適當的位置。

Service

Service檔案 必須手動新增,建立一個 AnimalService 專門來處理動物資源大大小小的商業邏輯。(這裡不包含外部API喔!只用來寫操作動物資源的邏輯!)

假設我今天想把 行政院農委會收容所認養公開資料 的API,接到我的送養平台,要另外寫一個 Service檔案喔!

我的另外一篇鐵人賽 後端前進PostgreSQL (鐵人賽連結) 系列,是在嘗試學習用 PostgreSQL 資料庫!整理、拆解這些農委會的認養公開資料以及PostgreSQL的介紹,有興趣的也可以看一下喔!

閱讀更多

讓你的程式更美好 – 重構現有的程式碼

開始重構程式碼,前幾天有提到 Controller 越來越肥大,程式碼越來越多,根本就已經超出人類想要看的範圍了!就像一篇好的文章,字數太多也是一件壞事,要有足夠的耐性才會想看。

這系列鐵人賽目前的 Controller 程式碼還不算太多,還算簡單拆開來相對容易,講解也比較清楚。

預計這樣拆開目前的 Controller

  • 驗證會員等級權限 – 已由 Policy 負責
  • 驗證使用者輸入資料 – 需再加入 Request
  • 商業邏輯或外部資源 – 需再加入 Service
  • 轉換資料結構 – 已由 Resource 負責

為了達到接近單一職責原則預計把Controller 拆成這個樣子! 降低程式之間的耦合性!對目前的程式來說比較好!檔案不會拆太多太細,又可以讓程式可讀性增加, PolicyResource 已經完成了!現在來拆解 Service驗證資料

閱讀更多