發表文章

目前顯示的是 2014的文章

使用regular expression來match中括號(square bracket)

沒想到在C#中也算玩過一陣子的正規表示式(Regular Expression),來到了Linux C/C++中竟然時常碰壁。 現在只是想要找一個用中括號([])包起來的字串,竟然沒有想的那麼簡單。 假設我要找的目標為 [1234],在以前C#的時候的寫法會是\[(?<num>(\d*)\]。來到了Linux C/C++時,也是用原本的概念組了一串這樣的比對格式: \[([0-9]*\] 沒想到一使用std::regex_match()後就掛了。在編譯(或說指定)這個比對格式給std::regex時就出現Exception了。 這個問題查了一些google上的文章,大家都說遇到正規表示中有的字元的話就是前面加上跳脫字元\就可以啦。沒想到結果會是失敗。 後來看到有人指示要比對中括號的話,需要將它放在中括號中 !! 就是用這樣的方式: [\[]([0-9]*)[\]] 指定要比對於中括號中給定的字元,也就是中括號的左右兩邊的符號。 最後終於是正常編譯過關,且可以正常比對成功了。 而且要注意的是,當將上面這段比對格式放到C/C++的程式碼中,針對\不用再重覆一次,也就是不要寫成 "[\\[]([0-9]*)[\\]]" 這樣比對的結果也是失敗的喔。

2014 8月書單

圖片
今天正好有空閒時間,由台北的娘家步行約兩公里、花了20分鐘經過植物園、總統府,來到了重慶南路上的天瓏書局,看看這陣子有沒有出些什麼有趣或是工作上有用到的書。逛了大約半小時,大致上找到了三本想要買的書。 你也可以和大師這麼接近 - 用C++開發頂級多執行緒網路函數庫Muduo 這本書主要是要介紹使用Open Source的Muduo來開發有關網路相關應用程式時,處理多執行緒相關的書。前面第一章大致上介紹了在多執行緒上開發應用程式會遇到且會花上許多時間除錯的經驗。 看了一下內容,還蠻想買的。而且正好有提到一個我目前遇到但還無法解決的問題。就是你定義一個自已的類別的const函式時,如果裏面有需要用到mutex來同步多執行緒的存取的話,因為會改變到mutex的狀態,所以你的函式變成也無法修飾成const。書中是說可以用mutable這個修飾字來處理。實際的狀況就等買了書再仔細看囉。 不過天瓏的繁體版一本只能打85折。只好回家再到網路上找看看有沒有79折的了。博客來目前是9折,金石堂、灰熊愛讀書都是79折,只是有訂購的話才會進貨。 後來google了一下,作者的部落格中也有Muduo的相關PPT及 教學影片 可供參考。另外也看到 原作者陳碩的部落格 有介紹可以到amazon.cn買電子版的。雖然是簡體版的,但電子版正合我意。因為家裏的空間真的不大,買了很多書後來過年大掃除時,都只能論斤賣了。很可惜。 不過要買amazon.cn的電子書,還真的讓我花了一些時間。原本以為只要上網註冊一個帳號就可以買了,沒想到一註冊完要買時,它說我是非中國的帳戶不能買電子版的。 原本要請在大陸的親友代為用我的帳戶登入去購買的,以為他是看上網的地區。沒想到也是不行。後來只好去有關帳戶設定那邊看一下,原來可以更改所在地。就用親友的大陸地址改了一下。 還真的可以改地區耶,接著就是去試看看能否購買囉。 再回到原來的網址,果然出現kindle電子版的購買選項了。接著就是用網頁上的購買流程付費後,馬上到我的iPad中開啟Kindle for iPad,同步一下就可以看到剛剛買的書了。下載後就可以觀看了。 Specification by Example 中文版:團隊如何交付正確的軟體 博碩出版社最近開始一系列地出一些比較高層次的書籍,提

DDWRT中的埠轉發(映射)跟UPnP

圖片
自從某次更新了iPad OS版本後,造成我家的Wifi分享器ASUS 520GU變得時常當機要進行重啟。原本想換台新的,後來想想還是省下了,先把它刷機一下,看看有沒有救好了。 查了一下網路上有關Wifi分享器的刷機建議,好像只有兩套軟體是比較有人在使用的。一套就是 Tomato ,另一套就是 DDWRT 。後來就選了DDWRT這套來刷我的ASUS 520GU。在參考不少文章後,終於成功地更新了DDWRT,從此它跟iPAD就相安無事了。 只是DDWRT上的功能看來還蠻多的,一時間也沒空去研究它。只要能用就好了。 不巧,最近又開始弄了一台NAS Synology DS213j。本來只是想說能備份照片就好了。後來又看到它裏面還有不少套件,有時有多餘的時間時就手癢給它裝了幾個來玩玩。 Wordpress是算蠻有名的部落格軟體,以前也有試著申請過一些免費的網路空間來試玩。沒想到DS213j裏也有這個套件,一樣手癢給它點下去安裝完了。 DS213j真的是很適合完全不需任何知識,只要會點滑鼠的人就可以使用的。沒幾下又裝好了Wordpress了。 在自已家裏可以連到這個網站看到Wordpress首頁也算不錯了。只是又看到DS213j有個功能就是能透過一些設定,讓你由外部的網路就可以連回家裏NAS上的網站。這…當然也要試用一下啦。 不過在設定「外部存取」的功能時,是有點需要技巧的。最方便的方式就是先去開啟你的Wifi分享器的UPnP伺服器功能,再透過DS213j的「外部存取」功能中的路由器設定功能來設定,這樣也是只要會點滑鼠就可以設定好了。 設定好外部存取後,也就這樣放著了。反正可以用就好了,管它是如何設好的。 最近不小心又到網路上查了一下到底UPnP是什麼好用的東西,這麼方便就可以設好網路的轉址。沒想到不查還好,一查就查到一些負面的消息。 很多人都建議要將這項功能給關閉才比較安全 。 天啊,那當然要來關閉它囉。只是看了一下UPnP裏的設定值,這不是跟「埠轉發(映射)」很類似嗎? 所以就先手動在「埠轉發(映射)」裏設定一些在UPnP中有設定的Port。只是一開始的協定是設為「兩者」也就是TCP/UDP兩個都設定。接著就到UPnP這頁將UPnP伺服器給關閉。關閉後,再透過其它網路進行測試,看看是否還可以由外部的網路來

安裝CentOS 7.0.4 Server版

跟 RedHat 體系最相近的要算是Fedora了,但可惜的是 Fedora 並沒有提供單純安裝成Linux Server版本的功能。Ubuntu雖然有提供Server的版本,但跟RedHat又有點差異。目前看來只有 CentOS 跟RedHat最為相近且又支援單純安裝Linux Server版本的功能。 要將CentOS安裝成Linux Server版本的話有兩種方式,一種是使用他的Minimal版本,另一種是使用一般的DVD版本,只是在一開始啟動時,就按下Tab鍵,這時會出現一行指令,在指令後輸入 text後,就可以用文字模式來進行安裝了。 設定網路 變更成固定網址 設定gcc開發環境 執行 sudo yum install gcc gcc-c++ make gdb autoconf automake 就可以建立一個可用來進行c/c++開發程式的環境了

MSSQL 2008/2012 Management Studio安裝後無法設定及使用「已註冊伺服器群組」

最近正好更新電腦,重新安裝了MSSQL Server 2008/2012的Management Studio。安裝後開啟程式就先將原本在舊電腦中的伺服器註冊資訊匯出並匯入到新的電腦中。匯入時發生了錯誤,造成無法正常匯入。 後來重新開啟MSSQL Server Management Studio後就無法正常使用「已註冊伺服器群組」了。有試過移除後再重新安裝,可是只要一開啟程式時,就會出現錯誤。雖然可以忽略這個錯誤訊息,但一進入主程式,就無法使用「已註冊伺服器群組」。 花了點時間查了一下,發現可能是原本匯入失敗的設定資料造成無法使用「已註冊伺服器群組」。 有人建議就先去刪除這些註冊資訊 ,註冊的資訊位於: %APPDATA%\Microsoft\Microsoft SQL Server\100\Tools\Shell\ 只要將RegSvr.xml這個檔案刪除後,再重啟SSMS就可以正常使用了。

ACER 3820TG 舊筆電重灌Window 7 x64

發現目前使用的舊筆電ACER 3820TG上面執行的Windows 7已經越來越慢了。有時給他休眠一下還起不來呢。一定要強制重開機才行。看來又到了重灌作業系統的時機了。 沒想到,有這個想法後,惡夢就開始了。 想說重灌不就是接上光碟機,放入Windows 7 DVD就可以重灌了嗎?誰知ACER 3802TG就不是這樣。 當我接上光碟機,放入安裝光碟,並進入BIOS設定由光碟機先開機後,是有出現開始用光碟機開機的資訊,但Windows 7 DVD安裝光碟讀取到一半,就給我出現藍底白字的畫面了。 試了很多次都沒辦法。 後來想說那就來重建一下MBR好了,可能是哪裏有問題造成無法正常開機。可MBR要重建要如何重建呢? 查了一下,有些救援的工具,例如 Hiren's bootCD ,就是一份可以用來製作開機光碟,裏面已有數種免費的工具的整合包。要下載的話,可到這個 網頁下載 。 有了工具就開始先進行MBR的修複吧。但沒想到偏偏選了其中一個只能修複Windows XP以前的MBR的工具,這一修理下,就更慘了。造成原本的Windows 7作業系統也無法開機了。因為Windows 7 的MBR比較特別。 接著想說再用Hiren's bootCD再來選一次其它工具修複成Windows 7可接受的MBR,沒想到就無法再順利開機了。 最後的辦法就是折掉硬碟,接上外接盒,到另一台筆電中,在那台筆電中執行EaseUS Partion Tool,用這個工具裏的Rebuild MBR方式,才讓ACER 3820TG使用的硬碟可以正常安裝作業系統。 可以順利安裝後,接下就是重灌完Windows 7 OS後,要如何重裝ACER 3820TG的驅動程式了。 我的安裝方式為: 驅動程式 是否重開機 Note VGA_ATI_8.713.3.3000_W7x86x64_AS3820T NO WLAN_Atheros_9.0.0.202_Win7x86x64 NO 無線網卡驅動程式,可以上網用 防毒軟體(Avast) NO 可以上網了,先防毒一下 LAN_Atheros_1.0.0.23_Win7x86x64 NO 網卡驅動程式 Card Reader_Alcor_1.0.12.50_Win