/images/logo.png

The Lazy developer: Lou's Note

認識微軟生產力平台 - Microsoft Power Platform

Microsoft Power Platform是什麼?

Power Platform是微軟的一個 SaaS 的雲端服務, 看字面感覺很陌生對吧?

其實就是由四種產品整合成的平台, 這四種產品分別為: Microsoft Power BIMicrosoft Power AutomateMicrosoft Power Virtual AgentsMicrosoft PowerApps, 而 Power Platform 是一個完全獨立的服務平台, 且還能結合 Office 365、 Dynamics 365 及 Azure等服務, 不僅如此還能整合第三方服務廠商及應用 , 使其企業的商務應用整合可以更容易、方便、快速, 並且 微軟 主打可協作且可擴充的低程式碼/無程式碼的工具平台。

SeriLog 設定之眉角

Installation

  1. 用 NuGet 搜尋 Serilog.AspNetCore安裝套件 https://user-images.githubusercontent.com/33840759/177329564-b5a40318-2dac-4198-8308-da1751f2fce8.png

  2. Program.cs 加入設定 https://user-images.githubusercontent.com/33840759/133586930-a45ee783-cb57-4b13-a7a7-7c1e376a02f7.png

    1
    2
    3
    4
    5
    6
    7
    
    Log.Logger = new LoggerConfiguration()
            .MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
            .MinimumLevel.Override("System", LogEventLevel.Warning)//使用MinimumLevel 來設定 LogLevel 層級,如果來源為 Microsoft 及 系統的訊息 則LogLevel 層級為 警告
            .WriteTo.Console(new RenderedCompactJsonFormatter())
            .WriteTo.File(new CompactJsonFormatter().ToString())//Output templates, 輸出至Console及檔案
            .Enrich.FromLogContext()
            .CreateLogger();
    

    CompactJsonFormatter 將保留消息模板、屬性和格式信息,以便稍後可以創建呈現的消息。當 JSON 旨在在沒有消息模板呈現的環境中使用時,可以改用 RenderedCompactJsonFormatter

ValueInjecter@3.2.0 簡單用法

基本用法

  1. 一般對應

    • var mapper = Mapper.Map<TargetType>(customer);
    • var mapper = Mapper.Map<FromType, TargetType>(customer);
  2. 客製化對應

    1
    2
    3
    4
    5
    6
    7
    
    Mapper.AddMap<FromType, TargetType>(src =>
    {
     var res = new TargetType();
     res.InjectFrom(src); // 對應相同名字及型別的屬性
     res.FullName = src.FirstName + " " + src.LastName;
     return res;
    });
    
  3. InjectFrom 的用法 InjectFrom<TInjection>(source)用於使用約定映射,當未指定 TInjection 時,它將對應具有完全相同名稱和類型的屬性

What is NoSQL

關聯式資料庫(RDBMS)

目前常用的資料庫,完全遵守 ACID 原則,在任何情況下(Atomicity)都可保持每個Transaction不成功則roll back,(Consistency)資料一致性,(Isolation)讀寫不互相干擾,(Duration)資料永久性(EX:SQL Server,PostgreSQL,MySQL…等) 且僅能支援垂直擴充,假設要應用在大量的資料的時候,只能透過硬體的升級(CPU 升級、加 HDD、增加 RAM…等)

OOP 物件導向學習筆記

物件導向四大原則

封裝(Encapsulation)

封裝(Encapsulation)在物件導向程式設計中是用來將資料與函式的實作內容包裝、隱藏起來的技巧,其中資料更常被稱為類別的成員屬性(Attributes)、函式更常被稱為類別的成員方法(Methods)。