0%

前情提要

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程式吧。

閱讀全文 »

前情提要

筆者公司有需求是系統跟系統串接,前人是使用資料庫交換的方式進行,簡單來講就是系統A有需求要請系統B做事情,簡單作法就是系統A於共同資料庫中的資料表中寫一筆資料,系統B則Database Pooling的方式進行監聽,若有撈出一筆Status = N的資料則進行邏輯處裡,進行完成後壓回Status = Y 或 N的註記方式來完成該次的串接需求,當然途中也會壓Status = P作為下次Pooling會撈到的防呆,大概就是這麼簡單的技術完成串接的需求。

筆者因前一份公司有接觸過Message Queue,主要是Rabbit MQ,覺得使用Message Queue當作中間交換資訊平台,確實有其發展性,不論是之後需求變大時可以做分散式的處理,系統間也間接解偶了。

閱讀全文 »

前情提要

這篇的誕生是因為筆者在工作上專案時有寄信的需求,且會有各式各樣的服務皆可能需要寄信服務,各式各樣服務包含應用程式端、資料庫端像Store Procedure運算完需寄信通知,目標要讓不同服務都有相同的接口去對應。

我們的想法是設計一個資料表,有寄信需求則往該資料表新增一筆資料,再由一個專門pooling的排程服務依照Status,一一的把信件寄出去,由於因為是靠Status在運作,更新Status變成是一個很重要的任務。

閱讀全文 »

前情提要

筆者公司因為需要符合資安要求,系統規劃中需要設計留下使用者足跡,筆者這邊第一個想到就是用ActionFilter設計,將Htpp Request對應的相關資訊,存到對應的紀錄表中。

閱讀全文 »

前情提要

筆者在公司的專案開發上選擇vue作為前端開發framework,不外呼就是開發應用程式,當然免不了基本的CRUD功能,此時需要一個強而有力的呼叫API套件,之所以選擇axios,沒有爾外的原因,因為是vue作者推薦使用,這樣不需有任何的疑慮,用下去就對了,此篇就以axios來探討其用法介紹及經驗分享。

閱讀全文 »

前情提要

Vue.js專案開發,一般應用程式都會遇到表單送出功能,然而前後端分離架構下,前後端必須採用不同階段的驗證,筆者認為基本的資料驗證必須得在前端完成,後端API接收到的資料,應該只剩資料重複性檢查等複雜驗證,這才是筆者認為的健康的資料流。Vue.js驗證相關套件中,筆者選擇vee-validate,此篇就以該套件說明使用方式。

閱讀全文 »