跳到主要內容

發表文章

T-SQL Join 的筆記

 雖然這不是什麼困難的事情,網路上也有很多的資源,但偶而還是會搞混,因此想要好好的搞清楚。 Join 應該都會用兩個圈圈的圖片來代表兩張資料表,然後看是怎樣的 Join 就會塗上資料範圍的顏色 (如下圖)。 但是碰到蠻多人會說 Cross Join 或是 Outer Join。其中 Cross 我是真的不知道。但是 Outer Join 是存在的。因為除了 Inner Join 之外的應該都屬於 Outer Join。像是 Left Outer Join, Right Outer Join 以及 Full Outer Join。 而 Inner Join 的語法也可以簡化成 Join 就好。 最後補上其實還有 Self Join,語法如下,連 Join 都不用寫 SELECT a.custid , b.custid FROM customer a, customer b 對了! 在 MySQL 只有 Inner Join, Left Join, Right Join 而已。

Docker 簡單指令筆記

 最近剛看一個影片在講 Cloud Run, 心血來潮的來試用看看。結果碰到一點小問題,要透過本機端先建立 container 來試跑才能節省時間。因而發現,之前太常使用 k8s 以至於 docker 的指令反而沒那麼熟悉了,特別筆記一下常用的指令。 docker build 建置 docker image by Dockerfile with tag docker build -t {imageName} . docker run 執行 docker container with port mapping local 5566 to docker container 8080 docker run -p 5566:8080 {imageName} docker stop 暫時停止 docker 的執行 docker stop {containerName} docker container start 把停止執行的 container 啟動 docker container start {containerName} docker ps 列出所有 docker container docker ps -a 列出目前執行中的 containner docker ps  docker rm docker rm {containerName} 以上幾個指令就可以在本機環境完整的跑 container 起來測試瞜

ReSharper For VS C# 常用功能概觀介紹

因為目前任職的公司有幫員工購買 ReSharper (R#) 的授權,所以才第一次接觸到這個工具。一開始卡卡的,但是目前已經使用了快三年,覺得如果沒有這個工具就好像電動牙刷沒有電一樣 XD。所以本著好東西要跟別人分享的心態來寫一下目前使用的心得。 ReSharper 的主要功能如下 程式碼檢查,自動重構,快速導航和編碼協助等等的功能。 個人認為 ReSharper 最重要的功能就是提供編碼協助的功能,透過 Alt +  Enter 就可以快速一步一步的把程式碼"生"出來。這也是主要加速開發的主要原因,透過從使用端來 Generate 出產品程式碼,把關注點放在需求上面而非程式碼上。 再來就是自動重構的功能,例如 Extract Method, Introduce Field, Inline Variable. 等等的功能,讓你重構的時候很可以安心重構不用擔心改壞程式碼原本的行為。且很簡單使用,增加重構程式碼的意願。且還有 Ctrl + Shift + R 這個萬解的快捷鍵,可輕鬆入門。 程式碼檢查功能算是那種好像不是最重要的功能,但是少了他又不方便的功能。它可以幫你找出那些程式碼並沒有被用過,哪種寫法可以更好,拼字錯誤,命名大小寫錯誤之類的。 快速導航功能在追 Code 的時候非常好用,Ctrl + T 可以全專案找尋所有的型別、成員,快速定位,快捷鍵 Alt + \ 可以快速定位到目前檔案的成員上面,Ctrl + , 找最近檔案,Shift + Ctrl + , 可以找最近編輯檔案,快又有效且都有搜尋過濾功能。 其他還有很多沒有提到的功能例如 Live template, Code Cleanup 之類的功能也是很好用,之後有時間再慢慢介紹瞜~ 附上一些連結讓大家參考看看 官方介紹影片 VS C# 熱鍵對應表 ReSharper的好處(開發者,產品經理,商業) ReSharper的主要特性

ReSharper C# Shortcut series [ReSharper_EnableDaemon]

  今天在查詢怎麼讓 Resharper 效能提升一點,查到了一個熱鍵很適合在超大型專案上使用,馬上筆記下來。因為在修改公司的老專案時的某些檔案時真的會讓 Resharper 很卡很卡,這時候可以暫時針對這個檔案停止分析,停止分析也不會影響使用 ReSharper 的熱鍵的。這個熱鍵名稱是 [ReSharper_EnableDaemon],預設的 shortcut 是 Ctrl + Shift + Alt + 8。 有需要的朋友可以參考一下。

C# 小坑 [MemoryStream] 無法正確輸出檔案下載

今天在寫一個將資料下載成 Excel 的檔案的 API 時,遇到怎麼下載檔案大小都是 0,且無法開啟的問題。後來發現是因為使用了 MemoryStream 來寫資料,寫完之後它的位置在最後面。因此後來傳給 HttpMessageResponse 的 HttpContent 時,從最後面讀取,因此檔案大小都是 0. 所以加上了一段,把 position 設定回 0 的邏輯才解決這個問題。           public Stream GetReportStream(Report report) { var memoryStream = new MemoryStream(); using (var workbook = new XLWorkbook()) { workbook.AddWorksheet(report.Details, "Details"); workbook.AddWorksheet(report.Summary, "Summary"); workbook.SaveAs(memoryStream); memoryStream.Position = 0; } return memoryStream; }           private static HttpResponseMessage HttpExcelFile(Stream excel, string fileName) { var result = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StreamContent(excel) }; result.Con...

[Resharper] fix "if" template

Resharper 2018.2.3 hsa a bug for "if" template will not found the basic expression such as field and local variable. how to fix it? ctrl + Q -> find "template explorer" -> find "c#" -> find "if" and change the "expr" change the expr form smart completion to basic completion

[tips] how to hide vs2017 build progress window

Due to I coding through my mbp laptop. the screen is small, and I don't pin test & solution explorer. when I run all test, I need to popup the test explorer to see test status. but I found the test explorer will dismiss automatically. This bother me a lot. After I survey for a while, I found two setting will affect this. 1. tools -> options - > projects and solutions, uncheck "show output window when build start" 2. codemaid -> options-> progressing, uncheck "show build progress window when a build starts" done. finally I could check test status easily and press <ESC> to dismiss test explorer window.