目前分類:蛙掌 (12)

瀏覽方式: 標題列表 簡短摘要

Coding convention (或者狹義一點的 coding style) 主要是用來作為撰寫程式碼時的指引,涵蓋範圍包括但不限於命名、語法、格式等,其好處是藉由設計過的命名方式降低名稱衝突的發生、以特定的語法規範避免意外產生邏輯錯誤又難以一眼挑出的 bug、讓整份程式碼 (尤其是多人共同開發的情境) 能擁有較一致的撰寫風格、讓程式碼較容易閱讀、... 等。

雖然 coding convention 有這些好處,但實務上要推行也不是那麼容易,因為每個人的寫作習慣與偏好各有不同,coding convention 便是需要團隊中的大家放棄一些自己原本的習慣與喜好。此外,「什麼算是好的寫作風格」對每個人來說可能定義都不同,因此在訂立 coding convention 時,究竟該以誰的意見為準有時也會面臨挑戰,我就曾經被嗆過 XD... 再則,coding convention 應該要規範到多細節?過多的條目細項對大部份程式設計師來說可能根本就記不住,寫個程式如果大部份時間都得花在留意 coding convention 上頭,也可能降低了程式開發的效率與熱情,或是因為沒人記得住所有規則,最後這份 coding convention 落入形同虛設的下場。過去我就曾經經歷團隊裡花了兩三個月時間,從草擬提案、討論細則、開放投票來決定 coding convention,這段時間 project 的程式碼都寫一堆了,最後定案的規範因為規則太細太雜結果也沒什麼人在執行...

以下分享的是目前我在工作上所使用的 C++ coding convention,因為團隊人數少,在溝通上節省了許多時間。還是要再次聲明,coding 風格孰好孰壞十分主觀,這份規範就算適用在我所處的團隊中,不見得就同樣適用在其它地方,若欲參考請再依您所處的環境斟酌調整。:-)


1. Terminology

1.1 All Capitalized

CUSTOM_NAME

 

1.2 All Lowercase

custom_name

 

1.3 Camel Case

A word with the first letter lowercase, and the first letter of each subsequent word-part capitalized.

customName

 

1.4 Hungarian Notation

An identifier naming convention in which the name of a variable indicates its type.

nCount   // prefix n for number
strName  // prefix str for string
pObject  // prefix p for pointer
m_nRound // prefix m_ for class member and n for number

 

1.5 Identifier

文章標籤

青蛙 發表在 痞客邦 留言(0) 人氣()

將 VMWare 的 VM 由 Windows 10 1909 升級至 2004 (或更新版本) 後,
升級完成重新啟動 VM 時,
可能會遇到下面這個當機 (BSOD) 畫面,
指出系統遭遇到 SYSTEM THREAD EXCEPTION NOT HANDLED 的錯誤代碼,
即使重新啟動,依舊只是反覆出現這個 BSOD 畫面,無法進入 VM 裡的 Windows:
VMWare.Win10 2004 BSOD

遇到這個問題,可嘗試在關閉 VMWare 後,找到這個 VM 對應的 .VMX 檔案,
以文字編輯器開啟 VMX 檔案並加入下面這行設定在 VM 中啟用 HPET (The Microsoft High Precision Event Timer):
hpet0.present = "TRUE"
VMWare.Win10 2004 BSOD

再次重新啟動 VM,這次便可正常進入 Windows 系統。

When the guest OS in VMWare is upgraded from Windows 10 1909 to 2004 or later, you may encounter a consistent BSOD with the stop code "SYSTEM THREAD EXCEPTION NOT HANDLED" when Windows is starting.

You could try to fix this problem by adding the following configuration to enable HPET (The Microsoft High Precision Event Timer) into the corresponding .VMX file of your VM:
hpet0.present = "TRUE"

After that, restart your VM and it may be back to normal.

文章標籤

青蛙 發表在 痞客邦 留言(0) 人氣()

由於 SSH 帶來的系統負載較高,
Ptt 官方於日前建議使用者改用 WebSocket 連線上站,
且不排除未來可能停止支援 SSH 連線方式。

簡單來說,目前主流的瀏覽器應該都支援 WebSocket,
使用者只要透過瀏覽器連線至 https://term.ptt.cc/ ,
便能直接在瀏覽器中登入並使用 Ptt 了。

不過用慣了 PuTTY,使用上還是比較希望 Ptt 連線自成一個獨立視窗,
而不是混在一堆網頁頁籤之中,
能在工作列或開始功能表中獨立釘選的話就更好了!
這時,身為邊緣人的 Edge 說:「沒問題!」

以下,就以幾個簡單步驟,介紹如何在 Edge 中將 Ptt 連線安裝為獨立的應用程式,
這裡的 Edge 指的是以 Chromium 為核心的新 Edge 喔~
(Ptt2 亦適用)

1. 連線至 Ptt:
在新 Edge 的網址列輸入 https://term.ptt.cc/ 以連線至 Ptt,

文章標籤

青蛙 發表在 痞客邦 留言(1) 人氣()

前陣子 Ptt 在進行系統更新之後,
原本慣用的連線工具程式 pietty 就再也無法以 SSH 連線了,
會出現「Couldn't agree a key exchange algorithm blah blah...」的訊息,
原因是 Ptt 更新後使用的 SSH 不再支援舊版的加密演算法。

pietty 從許久前就已不再更新,
但作為其基底的 PuTTY 仍持續有在更新,
且使用新版的 PuTTY 是可以成功以 SSH 連線至 Ptt 的。

與 pietty 相較,PuTTY 的介面為英文,
對中文輸入輸出的支援亦須經過一番調校,
但仍不像 pietty 一樣可支援一字雙色 (中文字左右各套用不同色彩組合),
亦不支援直接開啟超連結的功能。

Ptt 本身提供多樣化的連線方式可選擇 (像是其它連線工具或是瀏覽器),
您可以試用看看使用 Edge 建立 PTT 連線應用程式
改用瀏覽器搭配 WebSocket 來連線 Ptt;
如果您還是習慣使用如 pietty 這樣的介面搭配 SSH 連線、

文章標籤

青蛙 發表在 痞客邦 留言(0) 人氣()

對股票投資族來說,
使用 Excel 或類似的試算表工具來記錄、或管理投資明細與計算報酬率,
並不是什麼新鮮的想法,
在 google 上也可以找到許多人分享如何製作自己的股票試算表,
但對習慣 (或者說是偏好) 使用 Excel 的人來說,
最讓人頭痛的部份應該就屬「如何抓取股價資訊」以自動計算庫存損益了。

在過去,
我們可能得透過手動建立自網頁匯入表格的連結功能、
逐筆將個股資訊加入 Excel 中,
或是透過撰寫 VBA 的方式來抓取。
Excel 裡一直缺乏像 google 試算表裡可以直接用內建函式來快速取得股票資訊的功能,
不過這一點在 MS Office 365 中的 Excel (以下簡稱 Excel 365) 內終於有解-
Excel 365 在 2003 (2020 年 3 月版) 更新版本中新增了「股票」與「地理」資料類型,
其中「股票」資料類型便可以讓我們以更優雅的方式取得股價資訊,
雖然因為非即時更新、所以還無法取代其它看盤工具,

文章標籤

青蛙 發表在 痞客邦 留言(13) 人氣()

OneDrive 是微軟提供的雲端空間,
除了個人獨自使用之外,亦可在不同帳戶間分享檔案或資料夾,
例如同學、同事、或朋友間共同編輯檔案。

此外,由於免費版本的 OneDrive 容量有限,
也不是人人都有能力負擔付費版本,
有的人或許會以申請多帳戶的方式來取得更多雲端空間、
或是全家人申請一份付費帳號並共用額外的空間。

問題來啦~
除了直接在網頁上存取或編輯檔案,
是不是可以利用微軟的 OneDrive 同步工具將檔案或資料夾自動抓取到本機、
再利用安裝在電腦上的應用程式存取呢?

假設 A 帳戶為已透過 OneDrive 同步工具連結的主帳戶,
B 帳戶為想要新增至本機 OneDrive 一起進行同步的帳戶。

如下圖,可打開 OneDrive 同步工具的設定,
此時同步工具連結到的是 A 帳戶,

文章標籤

青蛙 發表在 痞客邦 留言(1) 人氣()

在多使用者帳號環境下,更新到 Windows 10 1709 (2017 Fall Creators Update) 後,
當電腦由前一位使用者 E 關機、下次開機改由使用者 C 登入時,會出現如下症狀:

症狀 1.
使用者 C 在關機時會出現如下警告,並要求再次確認是否關機:
「其他人仍在使用此電腦。若現在關機,他們會遺失未儲存的工作。」
Win10.關機已登入警告  

症狀 2.
如果按一下開始工能表中左列的使用者帳號圖像,
則會顯示上一位關機使用者 E 已登入。
Win10.關機已登入警告  

這是由於 Windows 10 中的一項新功能、並在更新至 1709 後預設啟用所引起的,
可參考以下步驟,依序設定所有使用者帳號來解決這個問題。

Step 1.
點選開始功能表左列中的「設定」圖示。
Win10.關機已登入警告  

文章標籤

青蛙 發表在 痞客邦 留言(1) 人氣()

在現今免洗手遊當道的時代,
大宇的仙劍系列與軒轅劍系列遊戲有不少值得回味的作品,
其中軒轅劍外傳-蒼之濤是我心目中的最經典。
只是要在 Windows 10 上重溫這款十幾年前的遊戲,
除了原版的安裝光碟要保存得好之外,
還需要一些額外的步驟。

由於這款遊戲最初是為 Windows XP 設計的,
一開始我想說裝個 XP 的 VM 也許就能輕鬆搞定了,
差不多時期的仙劍三沒什麼問題、還蠻順暢的,
但換成蒼之濤就問題一堆...
除了遊戲一開始主角車芸身上的貼圖會不見之外,
出了車芸房間更是悲劇-
我對這個遊戲的故事情節再怎麼有愛,
也沒辦法耐住性子忍受太空漫步再減速撥放。
系統選單與天書世界裡的嚴重卡頓亦是。

文章標籤

青蛙 發表在 痞客邦 留言(3) 人氣()

去年 (2015) 年底,我的 hotmail 信箱收到微軟通知,
說他們計劃在接下來幾週對電子郵件服務進行變更,
我將無法透過 Windows Live Mail 2012 接收 Hotmail 電子郵件。
儘管微軟同時提供了對應更新,
但安裝後 Windows Live Mail 就不太正常,
於是只好捨棄它、轉向 Outlook 2007 + Outlook Connector 的懷抱。

一切看似美好、持續了半年多的光景,
這星期開始,我的 Outlook 2007 + Outlook Connector 毫無預警地開始罷工,
原來是微軟開始更進一步將 Hotmail 郵件帳戶陸續升級至 Office365 平台上,
改用 Exchange Server 架構。

Win8 與 Win10 內建的郵件 App 已支援這項變更,
Office 2007 與後續版本內的 Outlook 亦支援 Exchange Server,
但須手動重建 Hotmail 帳戶。
若是 Office 2003 或其它不支援 Exchange Server 架構的 email 程式,
則可以考慮改用其它軟體、或是使用原軟體的 POP/IMAP 協定。

文章標籤

青蛙 發表在 痞客邦 留言(0) 人氣()

雖然現在許多 ISP 提供的小烏龜內建 IP 分享器的功能,
使得電腦接上網路線後不需設定就可直接連線,
但如果像我一樣還是習慣在每台電腦手動設定連線的話,
在安裝了 Win10 後,會發現原本 Win7 的開機自動連線方式已失效。
原因在於透過系統建立的連線設定中,
少了「提示名稱、密碼、憑證等」的撥號選項可取消勾選,
造成每次以 rasphone 連線都會跳出密碼確認視窗,非得按下確定按鈕才會連線,
間接造成以工作排程或其它方式觸發的開機自動連線會卡在確認步驟。

在 google 裡搜尋到的解決方法,
多是改用 rasdial 來製作使用者登入 Windows 時自動連線的功能,
設定程序上相對簡單,
缺點是連線時的密碼必須毫無遮攔地存放在 rasdial 指令參數中,
而不能直接透過設定連線時輸入並儲存在系統中的密碼來進行連線驗證。

若您在 Win10 中還是想要透過傳統的 rasphone 來設定開機自動連線,
或者更精確地說應是使用者登入時自動連線,

文章標籤

青蛙 發表在 痞客邦 留言(32) 人氣()

許多人一直丟不掉每個字都需要選字的ㄅ半舊注音,
我也是其中之一。
然而,微軟在 Windows 8 以後,
就把原本系統內建的ㄅ半給拿掉了,
即使是號稱史上最強的 Windows 10 也是如此...
少掉了ㄅ半輸入法,其它功能再強、再方便也沒用啊~

其實在 Windows 10 裡還是有ㄅ半,只是預設不開啟,
必須要透過修改機碼 (Windows registry) 的方式讓它起死回生。
以下便說明如何啟用 Win10 內的ㄅ半 (舊注音) 輸入法。

Step 1.
下載機碼設定安裝檔
解開後,應有「安裝ㄅ半.reg」、「移除ㄅ半.reg」、與「重裝ㄅ半.reg」三個檔案,
其中「安裝ㄅ半.reg」的內容如下,
執行後會在 Windows registry 中新增啟用舊注音所需的對應機碼設定。
若您是在 Windows 10 自動更新大版本後無法使用原來已設定好的舊注音,

文章標籤

青蛙 發表在 痞客邦 留言(65) 人氣()

公司的電腦在藍當幾次後,
我的 MSN 就不會自動登入了。
檢查相關設定後,確定帳號密碼都有記憶,自動登入選項也都有勾選,
但它就是不會自動登入。
Google 的結果多是安裝了 yahoo 奇摩工具列,
但我並沒裝這個東東,
且症狀也不太一樣 (安裝工具列的症狀是無法記憶密碼等等)。

突然靈機一動,想說會不會把 msn 帳號在本機電腦上的暫存資料清一清就好了,
一試之下,果然解決了這個問題!
(另一個同事也為此苦惱很久,試了一堆偏方都沒用,同樣也因此解決了 XD)

以下以 Windows Live Messenger 2009 為例:
1 開啟 msn 主視窗,回到登入畫面 (已經登入的話就登出);
2 在帳號密碼輸入框下方的登入狀態右邊,按向下的按鈕展開進階選項;

青蛙 發表在 痞客邦 留言(1) 人氣()

Close

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

reload

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼