技術
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
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