瀏覽標籤:

筆記

[C#][Visual Studio 2017] 修改預設 class 存取範圍成 public

版本:Visual Studio 2017 Enterprise

路徑:

 

範本:

 

這樣就新增 class 時就會自己加上 public 囉

       

[.NET Core] 將 NET Core 部署至 Ubuntu Server 16.04

最近裝了個Linux Server想來玩玩看NET Core並佈署到上面,結果發現好多眉眉角角,網路上的文件似乎有點舊讓我一直撞牆撞不停,經過了幾個小時的煎熬最後終於成功了,這裡筆記一下方便下次使用…

首先按照 官網 提供的步驟進行安裝如下:

  1. 加入apt-get來源
  2. 開始安裝
  3. 建立一個空資料夾
  4. 初始化MVC專案

    Templates清單:
  5. 檢查套件是否遺失並安裝
  6. 安裝Apache反向代理(Reverse-Proxy)
  7. 設定000-default.conf
  8. 重新啟動Apach並啟動.NET Core專案
  9. 完成 !!
    2017-03-14-00_24_31-home-page-hellowebapp

 

 

  • 2017/05/24 開啟啟動&背景執行
    新增:/etc/systemd/system/kestrel-hellomvc.service

    指令:

     

來源:

  1. https://www.microsoft.com/net/core#linuxubuntu
  2. How To Use Apache HTTP Server As Reverse-Proxy Using mod_proxy Extension
  3. Asp.Net Core 发布和部署( MacOS + Linux + Nginx )
  4. Publish to a Linux Production Environment
  5. Using Apache web server as a reverse proxy
       

[C#] 基礎複習 – 遞迴練習

好久沒用遞迴了,趕快找個簡單的題目複習一下,不然都要忘光光了,熟悉一下之前的Feel ~
順便練習一下簡單工廠模式,首先設計介面ICompute.cs

接著建立兩個類別Recursive.csForLoop.cs並繼承ICompute.cs實作其方法:

  • Recursive.cs
  • ForLoop.cs

接著在Program.cs裡面寫一個Run的方法來呼叫剛剛寫好的兩個類別:

這樣就完成囉 !!

2017-01-05-20_15_29-file____c__users_developer_documents_recursiveeample_recursiveeample_recursiveea

 

原始碼:https://github.com/shuangrain/RecursiveEample

       

[C#] Convert(轉型)、Parse(強制轉型)、TryParse(安全轉型)與運算子轉型的差別、效能

最近再磨練基本功的時候複習了常用到的「轉型」,找一找資料後統整了一下才比較搞懂這些差異。

轉型別基本上分為下列五種:

  1. Convert(轉型)
  2. Parse(強制轉型)
  3. TryParse(安全轉型)
  4. 運算子 – as
  5. 運算子 – is

根據參考資料差異如下:

  1. Convert 是將值轉換成最接近的 32 位元帶正負號的整數
  2. Parse 則是無條件捨去( long、float、double、或 decimal )
  3. TryParse 會回傳一布林值來判斷是否轉換成功
  4. as 若轉型失敗會回傳null,且只能用於參考類型,不能應用於值類型(除非是Nullable的值類型)。
  5. is 若轉型失敗則會跳Exception

2017/09/24 更新

(Net Core 2.0)效能上 Parse > TryParse > Convert。

測試程式碼:

 

參考:

  1. Convert(轉型)與Int32(強制轉型)的差別、效能
  2. [C#]Convert.ToInt32()與int.Parse()的差別
  3. [C#]Convert、Parse、TryParse 差異
  4. [C#]Effective C# 條款三: 運算子is或as優於強制轉型
       

[IIS] 在 Windows Server 上執行 PHP 莫名的慢

原本在Linux非常順暢的Wordpress移植到了Windows Server上卻發生一個頁面要Loading一秒以上,餵狗了一下找了幾種方法來優化一下。

  1. 修改php.ini
    output_buffering修改為Off
  2. 將php內用到localhost的通通修改為127.0.0.1
  3. 關閉Router的防DDOS功能 <-- 這個功能害我測了好久

修改完後有快一點點了,但還是比不上Linux的速度,可能這就是Windows Server先天上的吃資源吧。

 

 

來源:https://forums.iis.net/t/1153459.aspx?PHP+very+slow+on+IIS7

       

[IIS] Windows Server 2016 無法安裝 URL Rewrite !?

今天興致來在VM上灌了2016打算把Wordpress移植過去的時候發現,無法安裝URL Rewrite !!!!
我明明就已經7.0以上了阿,我書讀得少不要唬爛我啊 !!!
2016-12-16-20_01_04-winserver_2016-vmware-workstation

 

餵狗了一下才發現,原來不只我有這個問題,解法如下:

  1. Win+R輸入下方指令打開註冊檔
  2. 找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp\MajorVersion
  3. 將數值修改為 7 再進行安裝!!
    2016-12-16-20_02_19-winserver_2016-vmware-workstation
  4. 就可以順利安裝囉 !!
    2016-12-16-20_02_44-winserver_2016-vmware-workstation
  5. 安裝完記得改回去嘿,避免發生不必要的錯誤 !!

 

 

來源:https://forums.iis.net/t/1225087.aspx

       

[轉載] 系統架構設計

來源:[鐵人30天]當ASP.NET MVC 遇見 Angular.js MVC 客戶管理系統(3) – 系統架構設計

* 為何要分層架構規劃

分層的重要性,也是寫程式幾年後才真的領悟,ASP時代那種義大利麵式的寫法(html、Script、後端程式、SQL程式全混再一起),接著WebForm CodeBind將前後端拆後,再到現在慣用的MVC,深深覺得”關注點分離”這的確是一件很重要的事,目前開發習慣,即使專案在小,也會整理出自己的三層架構起手式,如果是更大型專案,就會再更細分。

架構圖:

_thumb3

各分層介紹:

  • DAL(Data Access Layer) : 有關SQL語法、EntityFream資料庫溝通,都會在此層。
  • BLL(Business Login Layer):資料流從DB或從User輸入後,一定會有一些邏輯判斷,該商業邏輯流程都會寫在此層
  • UI(User Interface):有關Web專案、Web API(Web Service)、Apps 都會在此層
  • Domain Entity : 裡面會有定義ViewModel Class,用來貫穿三個分層
  • Resources:用來放一些資源檔 … e.g 多國語系檔
  • Utility : 用來放置一些共用函示庫 … 如加解密

整個專案建立完如下圖:

1_thumb4

       

[應用] SSD 4K對齊

在Windows安裝前,先按下Shift+F10進入Command模式,並輸入diskpart即可開始進行分割磁區!

 

  1. 列出硬碟清單,找出要操作的編號
  2. 選擇硬碟
  3. 清除硬碟
  4. 初始化磁區
  5. 列出磁區,找出要操作的編號
  6. 選擇磁區
  7. 啟用磁區
  8. 格式化
  9. 完成!

 

 

       

[Regex] 知道這20個規則運算式,能讓你少寫1,000行代碼(2017/04/22)

轉載:知道这20个正则表达式,能让你少写1,000行代码

 

規則運算式,一個十分古老而又強大的文本處理工具,僅僅用一段非常簡短的運算式語句,便能夠快速實現一個非常複雜的業務邏輯。熟練地掌握規則運算式的話,能夠使你的開發效率得到極大的提升。

規則運算式經常被用於欄位或任意字串的校驗,如下面這段校驗基本日期格式的JavaScript代碼:

下面是技匠整理的,在前端開發中經常使用到的20個規則運算式。

 

  1. 校驗密碼強度
    密碼的強度必須是包含大小寫字母和數位的組合,不能使用特殊字元,長度在8-10之間。
  2. 校驗中文
    字串僅能是中文。
  3. 由數位、26個英文字母或底線組成的字串
  4. 校驗E-Mail 地址
    同密碼一樣,下面是E-mail地址合規性的正則檢查語句。
  5. 校驗身份證號碼
    下麵是身份證號碼的正則校驗。15 或 18位。

    • 15位
    • 18位
  6. 校驗日期
    “yyyy-mm-dd“ 格式的日期校驗,已考慮平閏年。
  7. 校驗金額
    金額校驗,精確到2位小數。
  8. 校驗手機號下麵是國內 13、15、18開頭的手機號規則運算式。(可根據目前國內收集號擴展前兩位開頭號碼)
  9. 判斷IE的版本IE目前還沒被完全取代,很多頁面還是需要做版本相容,下面是IE版本檢查的運算式。

     
  10. 校驗IP-v4地址IP4 正則語句。

     
  11. 校驗IP-v6地址IP6 正則語句。

     
  12. 檢查URL的首碼應用開發中很多時候需要區分請求是HTTPS還是HTTP,通過下面的運算式可以取出一個url的首碼然後再邏輯判斷。

     
  13. 提取URL連結下面的這個運算式可以篩選出一段文本中的URL。

     
  14. 檔路徑及副檔名校驗驗證windows下檔路徑和副檔名(下面的例子中為.txt文件)

     
  15. 提取Color Hex Codes有時需要抽取網頁中的顏色代碼,可以使用下面的運算式。

     
  16. 提取網頁圖片假若你想提取網頁中所有圖片資訊,可以利用下面的運算式。

     
  17. 提取頁面超連結提取html中的超連結。

     
  18. 查找CSS屬性通過下面的運算式,可以搜索到相匹配的CSS屬性。

     
  19. 抽取注釋如果你需要移除HMTL中的注釋,可以使用如下的運算式。

     
  20.  匹配HTML標籤通過下面的運算式可以匹配出HTML中的標籤屬性。

     
  21. 6-20位英數混合字,不可以輸入空白字元、特殊符號。(2017/04/22)