技術

Articles

物件導向程式語言速成

這標題會不會下的太扯,真的可以速成??? 可以的,只要觀念正確,觀念正確就是打通任督二脈,在程式語言的世界裡,只要任督二脈打通,那學甚麼都很快了。 至於甚麼是物件導向程式語言的任務二脈呢?首先要有物件的基本觀念,如下開始囉~~~ 物件導向程式語言的三大特性: 封裝:Abstract data type (Encapsulation)。用語法單元(Class),將屬性(Variable)&方法(Method),包裝起來。繼承:Inheritance。當A繼承B (A is a B);A extends B多型:Dynamic binding (Polymorphism)。用父類別(介面)的參用,指向子類別的實例,可用子類覆寫方法。 甚麼~~~有看沒有懂,好吧~簡單的說~ 封裝: Class大括號內只有屬性跟方法,不能亂放其他東西。方法同名怎麼辦,就有Over Load的問題。 繼承: 如果你不想要亂改別人的Code導致問題就繼承他,然後給他覆寫方法(Over Write)多型:所以一切都是物件就對了,如果工具沒有自動帶出來方法,不要亂寫。 確定這樣已經打通任督二脈了嗎?沒有喔只有一半,另一半請看下方~~~ OOP的世界裡,所有的一切都是物件,但物件有兩種(沒錯跟斯斯有兩種是一樣的): 基本型別:整數(byte、short、int、long)、浮點數(float、double)、字元(char)、邏輯(boolean),只要不是以上這四個就是物件型別,所以你說String是甚麼鬼勒?當然是物件型別的東東囉。物件(或參用)型別 : 這跟記憶體的配置有關,Global區域:放被下了static修飾子的東東,等同於全域物件,特點是不用new就可以用。另外stack區域放基本型別跟參用,參用連接的地方是heap區域,就是被new過,也就是已經實例化(instance),請參考這篇。 好啦~~~以上就是OOP的任督二脈了~~~ 至於其他,全部都是招式組合出來的,例如frameWork本身就是拳譜,你高興的話自己編一套組合拳也可以,還有例如NuGet就是拳譜集散地,組合再組合,之後就是怎麼去用的問題,這就是OOP的世界,因為甚麼都沒有,所以甚麼都不奇怪,自由度很高的。
技術
0
minutes

IIS網站發生拒絕存取登錄機碼 Global

會發生這樣的問題,是因為在page裡面寫了讀取CPU、記憶體的功能造成的。 PerformanceCounter performanceCounterRAM = new PerformanceCounter(); performanceCounterRAM.CounterName = "% Committed Bytes In Use"; performanceCounterRAM.CategoryName = "Memory"; String ram = ((int)(performanceCounterRAM.NextValue())).ToString(CultureInfo.InvariantCulture) + "%"; Page.Title = string.Format("ABC網站(記憶體:{0}){1:d}", ram, DateTime.Now); 但讀取CPU與記憶體會與權限有關係,故須要調整應用程式集區的識別身分,如下調整為NetworkService就可以了。 參考資料: https://dotblogs.com.tw/maduka/2014/01/08/139301
技術
0
minutes

IIIS認不得aspx

剛建好的Window Server並啟用IIS角色,但竟然不認得aspx網頁,這怎麼可能呢? 原因是因為IIS網頁伺服器,應用程式開發,未勾選的緣故,只要把ASP.NET 4.7勾起來就可以了,如下圖: 參考資料: https://blog.xuite.net/tolarku/blog/64295488-Win7+IIS+%E4%B8%8D%E8%AA%8D%E5%BE%97+aspx+-++MIME+type+%E9%8C%AF%E8%AA%A4
技術
0
minutes

JSON基本認識

網路上的教學都不錯喔,如下清單: https://www.fooish.com/json/data-format.html https://developer.mozilla.org/zh-TW/docs/Learn/JavaScript/Objects/JSON 基本上把握一個原則就可以很快理解,大括號 {} 包物件,中括號包陣列,打完收工.......可以下課了,讚。
技術
0
minutes

JWT學習筆記Part2(驗證Token)-完結篇

前篇請參考這裡,因為使用Jose JWT,處理起來相對簡單很多,以下是驗證資料是否被竄改過,只要有被改過,無論是簽章,或是header、payload,改過都會驗證失效的。 public Dictionary<string, string> VerifyToken(string token) { RSAParameters rsaParams; var verifyPass = false; var exp =...
技術
0
minutes

JSON真好用-產生與接收的簡單範例

使用JSON比起傳統的Web Service的XML實在好用太多,不用搞WSDL,還要處理Parser的問題,真的很麻煩。 最終WebApi一定會變成網頁傳遞資料的主流,NET MVC架構裡的ApiController實在很犀利。以下範例可以在ApiController直接產生json檔案輸出,讓對方讀取,直接用Dictionary就變成JSON資料,這個讚。 public Dictionary<string, string> GetLoginToken() { var result = new Dictionary<string, string>(); try { result.Add("token", DoSomething()); result.Add("ErrMsg", ""); } catch (Exception e) { result.Add("token", ""); result.Add("ErrMsg", e.Message); } return result; } 既然 Dictionary 可以轉JSON,那麼JSON可以轉為 Dictionary 嗎?當然可以喔,如下: // 設定GET網址與表頭 System.Net.HttpWebRequest request...
技術
0
minutes