2022年8月30日 星期二

C# 參數傳遞入門

在函式呼叫的時候,

引數傳遞到參數的方法可用傳值或者傳址方式,

今天就來教大家關於

C# 參數傳遞入門

在函式結束可選擇 return 一個值或者不回傳值,

若今天需要回傳兩個以上值,

就可透過傳址呼叫來達成這個目的。

底下就以三種方式來示範參數傳遞的方式
  • call by value  (傳值呼叫)
  • call by reference (傳址呼叫)
  • Output parameter (傳出呼叫)


傳值呼叫僅需要在函式呼叫的時候,

將變數放置於呼叫的小括號中即可,

在函式中對這個值做任意改變,

都不會影響在原來呼叫環境的原始值,

可參照範例程式執行的結果,


而傳址呼叫在使用的時候,

需要視情況在宣告的時候加上 ref 或者 out 來表示,

前者為 call by reference, 後者為 Output parameter,

使用這兩種方式傳遞參數,

在函式做任何改變都會直接反映在原始呼叫的環境中,

這兩者的差異在於前者需要給予初始值,

而後者的初始值是在傳遞到函式中才宣告


基本型態的參數,例如 int , char , double 等,

若是沒有加上 ref 或者 out 這類保留字宣告,

通常都為傳值呼叫,

而物件型態的參數,例如:陣列等,

預設通常為傳址呼叫,

在函式中變更值都會直接反映在呼叫的環境中,

在呼叫的時候要特別注意。

以上就是今天要介紹的主題

C# 參數傳遞入門

範例程式同樣會放置在 GitHub上面,

有需要的人可在底下留言索取,

記得要訂閱支持本站 YouTube 頻道喔

2022年8月29日 星期一

第一個 C#程式 :文字基本輸入輸出

之前介紹了 Visual Studio 的安裝,

既然安裝的 IDE 工具,

就是要透過它來輔助程式設計,

通常第一個程式就是俗套的 Hello World

今天就來教大家

第一個 C#程式 :文字基本輸入輸出

首先在 Visual Studio 歡迎畫面選擇建立新專案,

並透過篩選器找到主控台應用程式(.NET Framework)



接著設定專案的名稱與儲存位置,
確定之後按下建立就可開始第一個程式設計專案


Visual Studio 會自動建立一個含有 Main 的主控台應用程式,
將程式放在 Main 的兩個大括號中即可


底下是文字基本輸入輸出的範例程式,
透過提示文字讓使用者輸入名字,
再得到名字之後,
與使用者說聲 Hello 


程式執行的畫面有兩個,
第一個畫面用來詢問使用者的名字,


第二個畫面與使用者打招呼,
最後按任意鍵離開


這邊使用了幾個命令行:


Console.Write("Please enter");
Console.Write($"{strx}");

Console.Write() 
可將帶有雙引號的字串直接輸出到螢幕上,
由於此命令輸出文字後不換行,
故在 strx字串中加入跳脫字元  \n 表示換行,
每個語言的跳脫字元表示法不同,
在C#是以 \ 開頭,
字串中若出現了反斜線就要注意是否會造成程式異常,
因為跳脫字元通常具有特別的意義

stry = Console.ReadLine();
則是用來讀取使用者輸入的整行文字,
並給予一個字串變數 stry來儲存,
使用者輸入完畢後須按 enter 來進行下一步

Console.WriteLine(" {0},{1} ", s, stry);
而 Console.WriteLine() 可在輸出字串之後換行,
相當於Console.Write() 加上剛才的跳脫字元 \n ,
輸出字串的格式有許多,可直接以雙引號包覆,
也能以大括號加上順序,之後於逗號之後補上要輸出的字串,
也可在雙引號前加上 $ 字號,
在雙引號中以大括號包住字串的變數名稱

至於 Console.Clear(); 與 Console.ReadKey(); 
則是表示特殊的命令,
前者用來清除螢幕上輸出的訊息,
後者則按下鍵盤就能觸發讀取與顯示,
可用於按任意鍵進行下一步

以上就是今天的主題,

第一個 C#程式 :文字基本輸入輸出

這是一個基礎的範例程式,

同樣有放在 GitHub 上面,

需要的人可在底下留言索取,

記得先訂閱支持 YouTube 再來喔

Microsoft Viva Insights 簡介

作為  Microsoft Viva Insights的訂閱者,

在授權之後的四周內會收到介紹服務的歡迎訊息,

提醒使用者注意待辦事項,也可前往儀表板查詢時間花費的細節,

並提醒要記得更新設定值來取得最佳的個人體驗


另外,每周有兩次會從 Outlook 收到Viva 摘要電子郵件,

信件中會包含一些工作模式的深入解析:

專注、身心健康、人際網路、共同作業等,

包含建議與協助瞭解工作模式,

並改善個人的身心健康與生產力。



在儀表板的首頁,

使用者能夠觀看過去一個月內工作模式的統計資料,

包括專注和共同作業時間,可以斷開工作的天數,

以及與同事之間的往來效率。



專注

在專注頁面中,

能協助使用者每天保留一段不受干擾的深度工作時間,

在這段期間會將來自 Teams 和商務用 Skype 中的交談會處於靜音狀態,

讓使用者有足夠時間專心於優先度較高的工作上


 身心健康

使用者可在身心健康的頁面中觀察,在過去的一個月中自己是否能夠中斷工作並養精蓄銳,

人際網路

使用者可在人際網路頁面中,

了解過去一個月中與自己聊天、傳送電子郵件,開過會等這些人,

並可以從名單中將部分人員設定為重要,

幫助管理重要成員詳細資料,

也可提供改善與重要連絡人交流的建議

 


 共同作業

在共同作業的頁面中,可了解在會議、電子郵件、聊天和通話中花費時間的效率


也提供統計圖表幫助了解自己在過去一個月中透過電子郵件、聊天和通話來與其他人聯繫



 

在設定頁面中,

使用者也能調整自己工作周的時間,

保護的時間,每日簡報電子郵件等;

幫助確認工作排程、安排專注計畫、協助掌握行事曆並準備一整天


Microsoft Viva Insights 可以從 Outlook 的增益集中,

快速取得相關的連結,協助規劃個人時間,

藉由適當的時程規劃來安排工作時間,達到提升生產力的效果




2022年8月26日 星期五

透過 pyinstaller 將 python程式包裝成執行檔

透過程式設計可依需求撰寫應用程式,

但是要將這個應用程式分享給別人,

使用者若沒安裝 Python 環境是無法執行的

今天就提供一種方式讓其他人也能順利執行

透過 pyinstaller 將 python程式包裝成執行檔

眾所皆知在系統中檔案分為許多類型,

而副檔名 .exe 的檔案在 windows系統中表示可執行,

故 python 程式只要包裝成執行檔,

即便使用者沒有 Python 環境也能夠執行程式。

首先第一件事要安裝套件

pip install pyinstaller

pyinstaller 生成的執行檔與當時的作業系統是相依的,

也就是在 windows環境下產生的執行檔就只能在 windows環境下執行,

官方宣稱支援 windows 8 以上的環境,

安裝完畢想確認是否安裝成功可查詢下版號

pyinstaller --version


要將 Python 程式包裝成執行檔的方式也很簡單,

僅須執行 

pyinstaller -F 目標.py

若程式有許多檔案,就得先執行

pyi-makespec main.py

系統會產生 main.spec (可檢查下是否將所有檔案或組件放置在此檔案中)

再執行

pyinstaller main.spec 

就可產生多文件的執行檔案


若是想在這個執行檔中加入版本資訊,

可先找到一個有版本資訊的執行檔產生範例

pyi-grab_version "python.exe" "version_info.txt"

如底下範例是直接以 python.exe作為範例產生版本的範例檔案


基本上此檔案的內容如下,

將各個欄位的值修改為想顯示的資訊即可


接著以參數 --version-file 將此範例資訊檔 加入 pyinstaller 即可

pyinstaller --version-file= version_info.txt -F company_check.py

以此命令產生的執行檔就可在詳細資料頁面中找到修改的資訊


若要為這個應用程式加上圖示,

可使用  -i test.ico  將其加入上方的命令即可,

若想為已經是執行檔的程式加入版本,可執行:

pyi-set_version version_info.txt myapp.exe

就可以將版本號碼加入 myapp.exe中

以上就是今天的主題

透過 pyinstaller 將 python程式包裝成執行檔



2022年8月25日 星期四

協助將資料轉為圖形化報表: Polymer

在資訊發達的年代,

所有的資料都需要透過整理與分析,

才能作為一份有價值的報表,

而今天就來教大家快速的方法

協助將資料轉為圖形化報表: Polymer

從瀏覽紀錄、購買習慣、甚至財務資料等,

這些資料經過整理與分析都能成為一份有用的報表,

進而發掘其中的商機或者向老闆們報告,

Polymer 可幫助使用者快速建立圖形化的報表。


首先必須先將資料上傳到官方網站
 
支援的檔案格式有:CSV/XLS、Google Sheets、Google硬碟、Dropbox等

 
上傳完畢後,會自動將這些欄位加上一個序號後做為一筆資料,

使用者能依照需求自行更動資料的排列方式


觀看資料的同時可依欄位的資料選擇排列方式



 
原始資料本身並沒有價值,要經過整理之後整理成視覺化的報表,

才算是一份有價值的資料,

Polymer提供使用者以區塊方式將這些圖形加入報表,

除了圓餅圖、長條圖等多種圖形之外,

也可使用富文本以圖文或者影片等其他輔助資料來詳細介紹此份報表


除了自行增加每個區塊要顯示的資料,也能透過 Polymer 提供的快速工具建立相關的圖表

將這份報表做好之後,

可使用上方工具列的 View將其存成一個網頁式的報表供其他人觀看


或者點選右上方的 Share 直接將這份報表分享給其他人使用,

Polymer 除了能分享報表的連結之外,

也提供簡單的權限設定來決定是否公開這份報表,

也能以 iframe方式嵌入其他的網站或者文件中,

或者直接將這份報表以信件方式寄給其他人觀看


Polymer 為頁面提供兩種顯示方式:Grid與Gallery,

不知道是否因為使用免費版的緣故,

此功能無法正常運作

費用的部分採月費與年費兩種,

年費提供了額外的 15%折扣,底下為年費制的每月成本


以上就是今天要介紹的關於

協助將資料轉為圖形化報表: Polymer

資料須經過整理與分析之後,

才能作為一份有用的報表,

不管是作為簡報或者市場趨向等,

圖形化的報表相對的比起密密麻麻的文字,

相對更容易了解相關的資訊,

有興趣的人可點此前往官方網站申請帳號試用


2022年8月21日 星期日

苗栗明德水庫:日新島

假日除了家中附近的公園之外,

要消耗小朋友的精力就得帶他們到外面走動,

今天要來介紹一處公園類的景點

旁邊還有太陽能停車場

苗栗明德水庫:日新島

位於苗栗頭屋鄉明德水庫附近有三個著名景點,

分別為日新島、鴛鴦島、海棠島,

日新島僅能透過兩座吊橋進入,

門票 100 元可抵消費,

苗栗當地民眾可免費入場


日新島四面環湖,

進入全靠兩座吊橋,

兩旁均有設置護欄安全上沒多大問題,

橋上可順便欣賞下湖景


島上唯一的水榭樓台咖啡館提供簡餐與冰品,

此處消費可使用門票折抵,

但並非所有餐點都能使用,

結帳前可先問問服務人員


島上部分的小動物是會出來到處走動的,

從小雞到孔雀,

都可讓遊客近距離拍照,

牠們似乎也都很習慣


漫步在島上有些許造景,

也提供了椅子讓遊客休息下,


原本應該要有個魚池,

不過似乎正在整理中,

或許改天弄好可再去瞧瞧


除了小型禽類動物之外,

小羊會栓在園區樹邊,

性情還算溫馴,

也可以體驗下餵食小羊


小朋友如果喜歡小動物的話,

日新島是個不錯的選擇,

不過這邊不大,

很快就能逛完一圈


日新島這邊有小黑蚊,

來此處的話要做好防蚊準備,

另外島上也沒有小朋友的遊樂器材,

算是幾個遺憾之處,

營業的時間為:

AM 9:00 ~ PM 6:00

除了明德水庫周邊幾個島之外,

附近也有雅聞七里香玫瑰森林,

還有時間的話都能夠順便繞上一圈




2022年8月20日 星期六

微軟的 IDE 工具 Visual Studio 2022

一般程式設計都會選用 IDE 工具來幫助開發,

因為這些 IDE 工具通常都整合了許多實用的工具,

甚至提供快捷方式呼叫物件的屬性或者方法來取用,

當然自動完成也是必備的一個輔助工具,

今天就簡單介紹下

微軟的 IDE 工具 Visual Studio 2022 

Visual Studio 是非常老牌的一個 IDE ,

從最早發行的 Visual Studio 97 至今已經有 20多年了,

隨著時代演進,

程式語言也並非僅有 C/C++ 而已,

所以 Visual Studio 也支援了許多種不同的程式語言,

微軟提供了三種版本的 Visual Studio 供使用者選擇,

此處選擇 community 版 ,

也就是俗稱的 "社群版" 或者 "推廣版"等

首先要到官方網站選擇版本後下載


在 Visual Studio 中的程式碼自動完成功能稱為 IntelliCode,

從變數名稱、函式、物件、屬性、方法等,

這些程式設計會使用到的程式碼,

都能自動偵測並協助迅速完成


在 Visual Studio 2022 新版的功能中,

提供了熱重載的功能,

讓程式碼變更的呈現更加即時,

幫助更快速開發應用程式


既然從事程式設計,

肯定也需要為程式碼偵錯並修復,

Visual Studio 2022 也提供了許多實用的工具幫助偵錯,

可使用智慧中斷點來暫停與管理執行,

或是監看目前應用程式在系統中占用的資源,

這些都是為應用程式偵錯的實用工具

除了整合了與程式設計相關的輔助工具之外,

Visual Studio 也提供了數種主題供使用者切換,

不僅好用也要好看


在官方下載安裝程式之後,

還提供了許多線上的免費資源,

幫助初學者認識自己所使用的程式語言,

最後附上安裝的教學影片,

還沒有訂閱的朋友記得點選影片右下角的訂閱來支持本站 YouTube 頻道


2022年8月19日 星期五

Ubuntu20.04 GitLab 安裝教學

透過 Git 作為版控是目前程式設計的熱門,

GitLab提供了 CE(社群版) 與 EE(企業版) 兩種版本可使用,

可使用服務有 Git版本控制、CI/CD 自動部署、Wiki、Issue Tracking等等,

是一個基於Git的強大軟體開發平台,

今天就來教大家

Ubuntu20.04 GitLab 安裝教學

既然要架設GitLab伺服器,

準備一台 Ubuntu20.04 電腦或者VM是必備的,

進入之後首先要安裝需要的元件

sudo apt-get install curl openssh-server ca-certificates postfix tzdata perl

若僅要架設在內網不需要寄信功能可不安裝 postfix 


安裝完畢之後,

接著下載安裝的 Shell 腳本 

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

執行底下命令開始安裝

sudo apt-get install gitlab-ce


安裝完畢後會顯示底下的訊息,

在此之前,

先編輯相關的設定

sudo vi /etc/gitlab/gitlab.rb

找到 external_url 並更改為實際的伺服器位址

external_url 'http://伺服器位址'


最後執行底下命令,套用變更啟用 GitLab 服務

sudo gitlab-ctl reconfigure

最後可查詢 root 密碼

sudo cat /etc/gitlab/initial_root_password

在伺服器輸入 localhost 或者剛才輸入的伺服器位址並以 root 登入即可

新增使用者設定好預設的權限,

首次登入需要重設密碼,

並且要輸入 SSH Keys 才能正常上傳下載原始碼。

可直接執行 

ssh-keygen -t rsa -C "username"


接著到 public key 的資料夾找到 ../.ssh/id_rsa.pub,

用記事本打開將內容複製到

User Settings中的 SSH Keys


至此一個基本的 GitLab伺服器就架設完畢,

其他功能的話,

有機會使用到再分享出來。

底下為幾個常用命令供大家做個參考:

重新啟動:
sudo gitlab-ctl restart

重設 user1 密碼:
sudo gitlab-rake "gitlab:password:reset[user1]"

目前的狀態:
sudo gitlab-ctl status

若有修改設定檔
sudo vi /etc/gitlab/gitlab.rb  
套用執行:
sudo gitlab-ctl reconfigure