0%

前情提要

現在開發網頁幾乎都切換成前後端分離的開發方式,前端採用 Angular, Vue, React三大框架之一,後端則只要撰寫API服務即可,一來職責分離,前端適合處理畫面的互動效果,後端搭配資料庫處理商業邏輯的運算,使用json格式傳送結果至前端,多完美的協作阿。

通常簡單驗證邏輯會放在前端做處理,畢竟不用花費傳送成本,例如必填、長度等簡單邏輯驗證,直接在前端實作即可,但畢竟後端需要將資料儲存至資料庫,若沒有再做進一步驗證則資料儲存失敗的風險,以及日後資料運算使用時的困難。又或者系統本身需要透過http與其他系統介接,其他系統直接打我方API,這種情境就不需多說,需要在後端做驗證,連必填、長度等簡單邏輯驗證也必須做在後端。

閱讀全文 »

前情提要

筆者有幸參與到科內負責的大系統,不能單靠一個API站台就解決所有的需求,必須搭配SchedulerWindowsService等服務,介接技術上,可能會用Socket或是HttpClient介接,再加上自己系統本身,分散多個專案,中間使用Message Queue技術串聯起來,算是一個滿有挑戰性的系統了,挑戰主要是在串連服務的難度上,而非高流量。因此追蹤問題上,需要靠Loggin機制,由於各式各樣的服務,不能單靠底層Logging套件:NLog預設的紀錄欄位,針對不同種類的服務,做一個客製化屬性欄位的擴充才行。

閱讀全文 »

前情提要

筆者因處在比較嚴格的金融業中,撰寫的資訊系統上線後,追蹤系統作業面,只能靠強而有力的Log機制來追縱問題,以利快速找出問題所在,包含sql logap log以及error log,最好發生Error時寄信的方式通知。筆者本身推崇不重新造輪子,基本上訪間已經有很多很成熟的logging框架dotnet core中也不乏候選套件:NLogSeriLogLog4net等等,筆者選擇NLog當作主要Logging機制的底層框架。

閱讀全文 »

前情提要

筆者上篇介紹完MySQL安裝與設定後,這篇則是紀錄安裝範例資料,筆者使用MySQL Tutorial所使用的範例資料,安裝範例資料庫也是參考該網站上面的兩篇文章,詳細資料庫中的相關資料表內容,可以觀看參考中兩篇文章的詳細內容。

閱讀全文 »

前情提要

筆者想要將所學技術紀錄於部落格中,若撰寫資料庫相關套件介紹文章時,因牽扯到公司機密性,需要用自己建立的範例資料庫,筆者這邊環境是Windows跟Mac都有,但一般平常帶出去都是Mac,畢竟電量樂勝,因此也常有機會使用Mac撰寫部落格文章,撰寫相關的demo code時需要連線至實際資料庫,最好是Windows、Mac環境通用的資料庫,筆者選擇MySQL,因此這篇要來介紹在Mac環境中MySQL安裝與設定。

閱讀全文 »

前情提要

RabbitMQ是實現AMQP(Advanced Message Queuing Protocol)的伺服器,使用Er lang撰寫而成,且提供HA及分散式架構的設定,官網就提供大量不同程式語言的連線及操作範例程式,入門門檻瞬間變低,若要進階設定HA則需要在花比較多時間研究及實戰經驗,這篇主要以安裝及設定方面著墨安裝步驟。

閱讀全文 »

前情提要

筆者因為工作環境需要跟多個系統做串接,因最近參與的大系統,必須在某一塊作業使用外部廠商系統,需要透過各種介接方式做資料上的串接,例如﹔需要與廠商平台上面撰寫外掛程式,呼叫我們寫好的API,做為資料同步,這不在這篇的講的內容就不往下深入討論,另一種可能是我們在某些情境下,某個時段,需要驅動廠商系統進行其作業,廠商系統也有開放batch file,讓我們方便去執行。

閱讀全文 »

前情提要

為什麼會談到封包切割時做這個議題呢,底層元件基本上會有一個超大buffer去裝載收到的封包,並觸發OnReceive事件,到筆者這邊的底層元件則是最原始的封包,不過該套件也會順便丟出offsetsize,讓筆者知道要怎麼取得這次的有意義的封包。接著可以想一個情境,試想你是一個Server,會有多個Client跟你進行連線,連線必會發生封包傳輸,底層元件使用一個超大buffer裝載封包,試想同時收到多個Client端的情求,如何辨別有效的每一段封包,這時封包切割邏輯就顯得重要了。

閱讀全文 »

前情提要

筆者在上篇把該有的Socket底層元件相關的程式碼依照分類貼出,筆者分幾個筆記來詳細解釋相關設計概念,此篇以最上層Client端解析封包作業為例,解釋筆者的設計概念。

閱讀全文 »

前情提要

筆者目前於金融業資訊部門就職,如大家所知,核心系統大都維持使用cobol程式語言開發,我們這種寫C#程式語言的,只能攻外圍系統,但不免俗的需要與各核心相關系統做打交道,不管是取得資料或者是更新資料等,比較舊型的架構都是透過TCP/IP交換資料,也就是透過socket程式交換資料。界於此,筆者需要實作socket程式基礎框架適應各種Client程式的開發需求,今天就來寫一支socket core程式吧。

閱讀全文 »