跳到主要內容

發表文章

目前顯示的是 2月, 2020的文章

找出某行程式碼的Commit Id: find in which commit a particular code was added

前言 在多人協作開發的情況下, 若想要追查某行程式碼是由哪位工程師在哪個commit下交付的相關資訊, 那我們可以使用以下兩種方法來找出來 git log  git blame 舉例來說: 若想找出./lib/growls.js 當中 exports.isCapable = () 是被交付在哪個commit下 方法一: 使用git log $ git log -S "Code" "<file_path>" 結果如下 exports.isCapable() 這一行程式碼是在Commit Id 360656d.. 裡被Christopher加進來的 方法二: 使用git blame $ git blame "<file_path>" 結果如下 這個方法可以秀出特定檔案中每一行程式碼的交付訊息

快速學習Go Lang - Learn Go Lang In 10 Minutes

前言 Go 是一個靜態強型別語言, 起源自Google一項內部專案, 為了解決某些大型系統的編譯時間太長而被發明出來的 除此之外, 當時Google還面臨另一個問題, 就是Google的產品中同時用到C++, Python, 以及Java等語言來開發, 而這種情況造成維護成本提升, 所以Google當初才會去設計一個全新的程式語言Go, 同時具有接近C的執行效率, 又有如動態語言Python般的簡潔語法來取代以上提到的語言, 進而解決多語言混用的情況 特色 規定Coding Style Go 的編譯器會自動檢查程式碼是否符合規範, 若沒有的話就會報錯 不允許程式中含有沒被使用的套件以及變數 編譯器會自動檢查, 若含有未被使用的套件以及變數的話會報錯, 所以Go編譯出來的binary檔不會有垃圾在裡面,因此size可以很小部屬的時候可以很快 變數宣告 var x string var x 變數初始化 var x string = "12345" var x = "12345" x := "12345" 陣列 var arr = []string {} Map var m1 map[string]int m1 = make(map[string]int) m1["andy"] = 100 var m2 = map[string]int{} m2["tom"] = 88 m3 := map[string]int{} m3["cidy"] = 99 流程控制 if x > 0 { // do something } else { // do something } 迴圈 // foreach var arr []int= []int {12 ,2 ,3} for i,x := range arr { fmt.Printf("idx=%v,val=%v \n", i, x) } // for loop for i:=0; i< len(arr); i++ { fmt.Printl

Azure Function 從0到1 新手教學, 快速實作REST Api: How to create your first REST Api by Azure Function in Node.Js

前言 Azure Function 是微軟提供的無伺服器服務(類似於AWS上的Lambda) 使開發人員無需花太多心力去維護伺服, 器部屬時也不用特別考慮環境如OS, Driver, Hotfix 等等, 只須專心於商用邏輯的設計 環境 Runtime使用Node.js 前置作業 安裝VS Code Azure Function Extension 建立開發環境 首先, 使用Azure Function Extension開一個專案,  VS Code 會根據選擇的開發語言來設置開發環境 這邊示範使用JavaScript來建立專案 選擇HTTP Trigger的範例來開發 選擇Authorization Level, 若想要完全開放給所有人使用可以選擇Anonymous 替Function命名 最後, 若選則Javascript當作開發語言的話, 工作目錄會長這樣 如何更改Authorization Level來保護API? 基本上目前支援以下三種方式: Anonymous Function Admin 若不想開放給所有人用的話, 可以將function.json裡的authLevel修改為 function   { "bindings" : [ { "authLevel" : "function" , "type" : "httpTrigger" , "direction" : "in" , "name" : "req" , "methods" : [ "get" , "post" ], "route" : &q

無法執行PowerShell腳本

前言 如果在執行PowerShell的時候遇到以下的錯誤訊息的話  ps1 is not digitally signed. You cannot run this script on the current system. 不妨試試以下的指令, 告訴系統暫時先放過這個腳本 powershell.exe -executionpolicy bypass -file .\Script.ps1

如何移植實體機上的Windows 10到 Hyper-V VM - Move Windows 10 From PC to Hyper-V VM

前言 自Windows 7之後多了一個有趣備份的功能, 可以將目前的環境壓成一個VHD檔保存, 將來可以用它來作還原 除此之外這份VHD檔還可以被Hyper-V 的虛擬機器掛載起來使用(達到移植的目的) 以下就示範如何使用這個技術來將實體機上的環境遷移到虛擬機器上跑... Step 1. 首先把目前環境壓成VHD wbAdmin start backup -backupTarget:F: -include:C: -allCritical -quiet 結束之後目的地會多一個資料夾WindowsImageBackup -----------------------------------開始移植--------------------------------------- Step 2. Create a Virtual Machine 使用PowerShell來建立VM New-VM -Name Win10VM -MemoryStartupBytes 8GB -BootDevice VHD -Path .\VMData -Generation 2 Step 3. Attach OS Image 這個步驟中我們需要掛載Windows作業系統的安裝光碟, 待會需要在安裝環境下建立開機檔案 用以下的指令來掛載 Add-VMDvdDrive -VMName Win10VM -Path "D:\OSCD_W10 RS2 Professional_64_EN [for DriverCD].iso" Step 4. Attach our backed VHD 在.\WindowsImageBackup\<PC名稱>\Backup 的目錄底下可以找到Step 1.備份出來的VHD檔(.vhdx) 把VHD掛到VM上 Add-VMHardDiskDrive -VMName Win10VM -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 1 -Path "D:\backup\WindowsImageBackup\ANDY-PC