OData只定規格,不限制實作,當然,它由微軟提出,ASP.NET Web API v1 就支援 OData,在 ASP.NET Web API v2 一路支援至 OData v3(與有限的v4)。我們談 OData 規格也談 ASP.NET Web API 實作,如何利用 OData 來擴充你的 ASP.NET Web API,讓你開發出來的 RESTFul API 能應付多變的需求,以提升加速開發(少寫一行扣,就少一隻蟲!)。
OData只定規格,不限制實作,當然,它由微軟提出,ASP.NET Web API v1 就支援 OData,在 ASP.NET Web API v2 一路支援至 OData v3(與有限的v4)。我們談 OData 規格也談 ASP.NET Web API 實作,如何利用 OData 來擴充你的 ASP.NET Web API,讓你開發出來的 RESTFul API 能應付多變的需求,以提升加速開發(少寫一行扣,就少一隻蟲!)。
新技術的導入,由0到1通常是最難的一步。尤其在大型企業內,要導入一門新技術不是那麼容易,從接觸 Windows 容器到導入,就像是從離開舒適圈一樣,一開始的路走得跌跌撞撞,鼻青臉腫。但隨著關關難過關關過的精神與毅力,一但突破了那0的臨界點,才能享受到1的技術美好。本場次分享在學習與導入 Windows 容器上的心路歷程,有高興、有期待、有失望、有憤怒,試著用不一樣的角度來分享 Windows 容器的苦與樂。
高瀏覽量的Web系統中快取是不可或缺的角色;一個適當、高效能的快取方案設計有種種考量;這次的分享將會討論應用系統快取的設計面向有哪些?
包含快取的類型、常見快取的作法;如何透過 ASP.NET Caching 來實作快取服務、而當 ASP.NET Core 出現後,又有什麼方式能實踐快取層級呢?
期待能幫助有需要的朋友有系統的瞭解相關知識與技術。
1. Introduction to Lua and it's features
2. OpenResty: full-fledged web application server
3. Installation and "Hello World"
4. Nonblocking
5. Reconstruction of infov
6. Configuration skills
7. Table and JSON output problem
8. DNS and Hosts parser
9. More features
新技術的導入,由0到1通常是最難的一步。尤其在大型企業內,要導入一門新技術不是那麼容易,從接觸 Windows 容器到導入,就像是從離開舒適圈一樣,一開始的路走得跌跌撞撞,鼻青臉腫。但隨著關關難過關關過的精神與毅力,一但突破了那0的臨界點,才能享受到1的技術美好。本場次分享在學習與導入 Windows 容器上的心路歷程,有高興、有期待、有失望、有憤怒,試著用不一樣的角度來分享 Windows 容器的苦與樂。
高瀏覽量的Web系統中快取是不可或缺的角色;一個適當、高效能的快取方案設計有種種考量;這次的分享將會討論應用系統快取的設計面向有哪些?
包含快取的類型、常見快取的作法;如何透過 ASP.NET Caching 來實作快取服務、而當 ASP.NET Core 出現後,又有什麼方式能實踐快取層級呢?
期待能幫助有需要的朋友有系統的瞭解相關知識與技術。
1. Introduction to Lua and it's features
2. OpenResty: full-fledged web application server
3. Installation and "Hello World"
4. Nonblocking
5. Reconstruction of infov
6. Configuration skills
7. Table and JSON output problem
8. DNS and Hosts parser
9. More features
隨著 Visual Studio 2017 即將正式釋出,C# 7.0 也隨之來到。身為這次的改版,將會帶來許多方便的新功能
if (int.TryParse(input, out var answer))
WriteLine(answer);
else WriteLine("Could not parse input");
一起讓我們來看看 C# 7.0 的威力吧。
12. https://mvc.tw
parameterless constructors
struct MyStructure
{
public double Value { get; init; }
public string Name { get; init; }
public MyStructure()
{
Value = double.NaN;
Name = string.Empty;
}
public MyStructure(int value, string name)
{
Value = value;
Name = name;
}
public override string ToString()
{
return $"{Value},{Name}";
}
}
14. https://mvc.tw
filed / property initializer
struct MyStructure
{
public double Value { get; set; }
public string Name { get; set; } = "Bill";
15. https://mvc.tw
record strcutrue
public readonly record struct Point(double X, double Y, double Z);
public readonly record struct Point
{
public double X { get; init; }
public double Y { get; init; }
public double Z { get; init; }
}
16. https://mvc.tw
• 過去:with 敘述僅能用在 record
• 現在:可以用在 structure 和 anonymous type
with expression
var s1 = new MyStructure();
var s3 = s1 with { Name = "ABC", Value = 100.0 };