因為上傳了檔案提供給大家下載,不寫個教學文章好像也說不過去,下面就開始教學吧!
2014年12月8日 星期一
2014年11月23日 星期日
[筆記] 變更預設使用 Xcode server/wiki/網站 的順序
主要因為 Apple Support 的說明有說明等於沒說,所以只好再拜 Google 大神了!
其實 Apple 也不是沒有留設定給使用者變更預設順序,可以按照下列的步驟更改:
1. 開啟 Server.app
2. 選擇「網站」
3. 點擊兩下「伺服器網站」
4.點選索引的「編輯」按鈕
5.可以看到目前索引的順序如下:
6. 把「default.html」拖至「/xcode/」上面
7. 完成
這時候再用瀏覽器開啟網站就可以發現預設的網站已經不是 Xcode server 了!
2015/10/16 補充:
這裡做的修改已經失效了!如果你的伺服器已經更新至 5.0.4 版,請參考我最新的文章
[筆記] 變更預設使用 Xcode server/wiki/網站 的順序 Part 2
來修正這個問題!
其實 Apple 也不是沒有留設定給使用者變更預設順序,可以按照下列的步驟更改:
1. 開啟 Server.app
2. 選擇「網站」
3. 點擊兩下「伺服器網站」
4.點選索引的「編輯」按鈕
5.可以看到目前索引的順序如下:
6. 把「default.html」拖至「/xcode/」上面
7. 完成
這時候再用瀏覽器開啟網站就可以發現預設的網站已經不是 Xcode server 了!
2015/10/16 補充:
這裡做的修改已經失效了!如果你的伺服器已經更新至 5.0.4 版,請參考我最新的文章
[筆記] 變更預設使用 Xcode server/wiki/網站 的順序 Part 2
來修正這個問題!
2014年10月15日 星期三
[筆記] 五個一定要學來給 Stylish 使用的的 CSS 技巧,實在是太實用了!
使用 Stylish 不外乎就是我們對於某些網站的長相覺得不合用,想要為自己的需求客製化一下,而在自動化的應用裡面,由於很多網站核心引擎是一樣的,但是外觀利用了 CSS 客製化了很多不同的 Skin,這會造成自動化上面的困擾!
有了 Stylish,我們可以很簡單地把核心的要辨識的部分,製作一個固定的格式給不同的網站使用,這樣一來我們的網站辨識核心就可以不用常常會因為要辨識不同的網站而進行更改,或是只要進行少量的更動便可以將新的網站加入我們的辨識系統裡面!
說了這麼多就是要介紹 CSS 的 Selector,它的種類繁多,以下一一對各位做個介紹:
基本的語法:
選擇器其種類大約分成以下幾種:
w3schools 有簡單的介紹和影片可以參考:CSS Selectors:
影片介紹包含了 1 ~ 4 種 selector,但是很不幸的,光是學會這四種並不能解決我們的問題,因為常見的問題是:不同的版面排版的關係,並不是單獨對 Element、ID 或是 Class 作變更就足夠的,因為通常還會與其它的 Element、ID 或是 Class 有一些交互參照關係!
在這種時候就是 6 ~ 12 這 7 種 selector 的使用情境了!而且很不幸的是這種狀況還蠻常發生的,所以使用 Stylish 必學啊!
那沒提到的那一種是怎麼回事?是指 5 嗎? 因為這種與 1 ~ 4 種的 Selector 類似,5是以"*"來套用到所有的 Element、ID 或是 Class ,實務上也用不太到,就先跳過吧!
下面針對 6 ~ 10 種 selector 簡單介紹一下:
6. Attribute selectors:
用來針對有使用特定屬性的 Element 做 CSS 設定。
7. Descendant combinator:
8. Child combinator:
9. Adjacent sibling combinator:
10. General sibling combinator:
11. Pseudo-classes:
12. Pseudo-elements:
這兩種目前沒研究,我實務上還沒遇到要用到這兩種來協助辨識網頁的,暫時先跳過,等以後有用到了再來跟大家一起研究!
有了 Stylish,我們可以很簡單地把核心的要辨識的部分,製作一個固定的格式給不同的網站使用,這樣一來我們的網站辨識核心就可以不用常常會因為要辨識不同的網站而進行更改,或是只要進行少量的更動便可以將新的網站加入我們的辨識系統裡面!
說了這麼多就是要介紹 CSS 的 Selector,它的種類繁多,以下一一對各位做個介紹:
基本的語法:
選擇器 { 屬性:設定值;}對照 w3schools 的語法簡介:
選擇器其種類大約分成以下幾種:
- Element selectors
- ID selectors
- Class selectors
- Grouping Selectors
- Universal selector
- Attribute selectors
- Descendant combinator
- Child combinator
- Adjacent sibling combinator
- General sibling combinator
- Pseudo-classes
- Pseudo-elements
w3schools 有簡單的介紹和影片可以參考:CSS Selectors:
影片介紹包含了 1 ~ 4 種 selector,但是很不幸的,光是學會這四種並不能解決我們的問題,因為常見的問題是:不同的版面排版的關係,並不是單獨對 Element、ID 或是 Class 作變更就足夠的,因為通常還會與其它的 Element、ID 或是 Class 有一些交互參照關係!
在這種時候就是 6 ~ 12 這 7 種 selector 的使用情境了!而且很不幸的是這種狀況還蠻常發生的,所以使用 Stylish 必學啊!
那沒提到的那一種是怎麼回事?是指 5 嗎? 因為這種與 1 ~ 4 種的 Selector 類似,5是以"*"來套用到所有的 Element、ID 或是 Class ,實務上也用不太到,就先跳過吧!
下面針對 6 ~ 10 種 selector 簡單介紹一下:
6. Attribute selectors:
用來針對有使用特定屬性的 Element 做 CSS 設定。
Element[att] //用於含 att 屬性的 Element 標籤 Element[att=val] //用於 att 屬性值為 val 的 Element 標籤 Element[att~=val] //用於 att 屬性值包含 val 的 Element 標籤
7. Descendant combinator:
Element1 Element2 //用空白區隔兩個 Element,表示在 Element1 內的 Element2 才會使用。Element2 同一層關係的前面可以允許有其他 Element 插入!
8. Child combinator:
Element1 > Element2 //用大於來分隔兩個元素,表示在 Element1 內的 Element2 才會使用。但與 7 不同的是 Element1 及 Element2 元素之間不能有其它的 Element 插入喔!表示一種絕對的關係!
9. Adjacent sibling combinator:
Element1 + Element2 //用加號分隔兩個元素,表示在 Element1 同一層關係的相鄰 Element2 才會套用。
10. General sibling combinator:
Element1 ~ Element2 //用蟲蟲符號區隔兩個元素,表示在與 Element1 同一層關係的 Element2 全部都會被套用。
11. Pseudo-classes:
12. Pseudo-elements:
這兩種目前沒研究,我實務上還沒遇到要用到這兩種來協助辨識網頁的,暫時先跳過,等以後有用到了再來跟大家一起研究!
2014年10月1日 星期三
一個 Heap Debug 知道可以用卻沒注意到的小技巧,實在太重要了!
我們都知道微軟提供的 debug 工具包裡面有個 Global Flags 的工具,可以針對一些很特殊的狀況像是 heap、stack 相關的一些問題來與 debugger 配合偵錯,最近我工作處理的軟體就發生了 heap corruption,但因為它實在太肥大了,只要開啟了 Global Flags 之後,執行的速度就會慢到一個不可理喻,甚至原來的功能就不能動作了!
拜 G 大神的壞處是只要關鍵字不對,永遠也找不到想要的解答,這次在陰錯陽差之下,找到了一篇文章,裡面提到了我沒想到的功能啊!
一般狀況下我們會針對想偵錯 heap 的程式執行下列設定:
gflags -p /enable yourapp.exe /full
如果你們家的軟體跟我們家的一樣異常肥大,那就要試試下列這種用法了:
gflags -p /enable yourapp.exe /full /dlls yourdll.dll
用這個方法只會檢查你設定的 dll 所占用的 heap,範圍縮小了,自然程式的效率就好了!
實際測試這方法實在太適合我們家的軟體了,的確幫我找到一些問題點!
希望大家都可以在知道這個小技巧後瞬間提升偵錯的能力啊!哈哈!
2014年9月30日 星期二
5 個不輕易透露的文章產生超強技巧,你一定要看到最後!
為什麼會寫這篇文章,原因是我的一個英文網站的文章有機器人回覆,內容如下:
I read a lot of interesting articles here. Probably you spend a這是一個自動文章產生器軟體的自動廣告文,雖然我沒有讓它通過審核,但也讓我想來搜尋一些自動文章產生器的原理,所以開始拜 G 大神~
lot of time writing, i know how to save you a lot of time, there is an online tool that
creates readable, google friendly articles in seconds, just search in google - laranitas free content
source
這一搜尋還真是不得了阿!原來很多常見的聳動文章標題,是有自動產生器的呀!
內容農場常見之「殺人標題」產生器
這下解決了我不少的疑惑,想說怎麼大家的標題都可以這麼殺!現學現賣,我這篇文章的標題就直接借用了!
該站點還有其他很多的產生器,有時間可以再多看看!不過這裡的產生器是以固定字句分欄隨機產生的,組合起來還可以,但是怎麼跟內容連結,這可能還需要人為小修改!但是已經很好用了!
Text Generator
這個網站只需要輸入所需要的段落數目,它就會自動產生出足夠的英文段落文章!
這個跟前面的網站很像,只是從文字段落變成了文章段落,而且是英文的,意義不大!
MORETEXT
基本上這也是個假文產生器,內容比較混亂,但文章的重複程度比較小!也有提供 API 可以使用,可以花時間研究一下怎麼簡單玩一下!設計上主要可以用來產生假文章來測試排版,但我是對
期刊論文產生器
這個以前好像上過新聞,只要輸入人名,就會自動產生出一篇論文,而且圖文並茂喔!有Open Source,所以有時間也要來研究一下!
雜誌人物專訪產生器
回答大約二十個問題之後,它可以產生出一篇雜誌人物專訪產生的內容質量很不錯!架構上可以拿來參考!作者有分享一些關鍵的設計概念!造神運動的十項基本元素,要找時間想想怎麼拿來應用!
另外有人對小說類的產生器很有興趣,整理了非常好的內容,有興趣的有可以過去看一下!「小說自動產生器」之瘋狂特搜
目前有個想法是結合「內容農場常見之「殺人標題」產生器」與「雜誌人物專訪產生器」的概念,來協助我的某一個網站!改天就來試試!
2014年9月26日 星期五
[筆記] GPUView 在 Windows 8 環境下發生錯誤
工作上常常需要用 GPUView 來對一些 D3D 相關的操作做 Debug,好死不死 OEM 來了一台 Win 8.1 環境的機器,在上面使用 GPUView 的 Log.cmd 的時候,出現了「這個時候不應有 4000。」的錯誤訊息,而且這個錯誤就一直出現!真是困擾!
今天在大神的幫助下找到了一個解決方法,原來這個問題是因為在 Windows 8 上面缺少了環境變數 TRACE_LOGGING_MEMORY,然後在執行 Log.cmd 的時候就會去使用 systeminfo.exe 並利用它的結果来查看記憶體的容量,根據文章的解釋是因為中文系統下面的 systeminfo.exe 所輸出的資訊與 Log.cmd 預期的不符合,所以它無法辨識出正確的記憶體資訊!此時只要利用下面的方式即可解決:
設定 4096 的原因是為了讓 GPUView 使用大的記憶體緩衝區,必須設定大於 4000 才會使用大的記憶體緩衝區,如果小於 4000 大於 2000,則會使用中等的記憶體緩衝區,小於 2000 的話會使用小的記憶體緩衝區!這個可以視狀況調整!
另外根據 GPUView.chm 裡面「Enabling Logging of DirectX Video Acceleration Version 2 and Direct3D Version 9 Events」,想要追蹤 DXVA2 或是 D3D9 Events 的話,必須在註冊表裡加入:
即可正常取得 Event!
經過實際測試,可以把問題解決囉!
基本上 Log.cmd 有問題是可以理解的,畢竟其實我的問題是在日文機上面覆現的,所以大概只要系統預設 CodePage 是這類特殊格式的機器,大概都會遇到一樣的問題吧! 另一種解決法可以使用 CHCP 指令,這個指令可以指定所要使用的 CodePage,因為 Log.cmd 當初設計的環境應該是英文語系的國家,所以才會直接在使用 systeminfo.exe 之後直接搜尋"Total Physical Memory"字串,建議可以在命令模式下輸入下列指令:
將 CodePage 切換至 UTF-8,這樣 systeminfo.exe 就會輸出英文字串"Total Physical Memory",原來的 Log.cmd 就可以正常運作了!
2015/06/22 新增:
將 CodePage 切換至 OEM - United States 也可以正常運作!這裡再記錄一下!
今天在大神的幫助下找到了一個解決方法,原來這個問題是因為在 Windows 8 上面缺少了環境變數 TRACE_LOGGING_MEMORY,然後在執行 Log.cmd 的時候就會去使用 systeminfo.exe 並利用它的結果来查看記憶體的容量,根據文章的解釋是因為中文系統下面的 systeminfo.exe 所輸出的資訊與 Log.cmd 預期的不符合,所以它無法辨識出正確的記憶體資訊!此時只要利用下面的方式即可解決:
> set TRACE_LOGGING_MEMORY=4096 > log.cmd
設定 4096 的原因是為了讓 GPUView 使用大的記憶體緩衝區,必須設定大於 4000 才會使用大的記憶體緩衝區,如果小於 4000 大於 2000,則會使用中等的記憶體緩衝區,小於 2000 的話會使用小的記憶體緩衝區!這個可以視狀況調整!
另外根據 GPUView.chm 裡面「Enabling Logging of DirectX Video Acceleration Version 2 and Direct3D Version 9 Events」,想要追蹤 DXVA2 或是 D3D9 Events 的話,必須在註冊表裡加入:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Media Foundation] "WmiInstrumentation"=dword:00000001
即可正常取得 Event!
經過實際測試,可以把問題解決囉!
基本上 Log.cmd 有問題是可以理解的,畢竟其實我的問題是在日文機上面覆現的,所以大概只要系統預設 CodePage 是這類特殊格式的機器,大概都會遇到一樣的問題吧! 另一種解決法可以使用 CHCP 指令,這個指令可以指定所要使用的 CodePage,因為 Log.cmd 當初設計的環境應該是英文語系的國家,所以才會直接在使用 systeminfo.exe 之後直接搜尋"Total Physical Memory"字串,建議可以在命令模式下輸入下列指令:
> CHCP 65001
將 CodePage 切換至 UTF-8,這樣 systeminfo.exe 就會輸出英文字串"Total Physical Memory",原來的 Log.cmd 就可以正常運作了!
2015/06/22 新增:
> CHCP 437
將 CodePage 切換至 OEM - United States 也可以正常運作!這裡再記錄一下!
2014年9月19日 星期五
[筆記] Mac 無法使用系統延伸功能
已經有好一陣子 Mac Book 每次在更新 iTune 之後,都跳出"無法使用系統延伸功能"這個視窗,如下:
這個錯誤造成無法使用 iPhone 或是 iPad 的 USB 連線分享網路,因為不是太嚴重的問題,所以一拖大概也半年去了!
前幾天發表會後更新 iTune 後又跳出來了一次,這次上網找了下,在 Mobile01 找到一個討論串,其中 10 樓提到的解法似乎可以解決我的問題,就來試看看並記錄一下!
論壇上步驟如下:
感謝網路上的大壩們能無私的奉獻啦!
同理,相信如果是其他系統延伸功能出問題,只要能找到安裝程式,只要把出問題的系統延伸功能砍掉,再安裝一次程式,然後載入該系統延伸功能,相信也可以解決喔!
這個錯誤造成無法使用 iPhone 或是 iPad 的 USB 連線分享網路,因為不是太嚴重的問題,所以一拖大概也半年去了!
前幾天發表會後更新 iTune 後又跳出來了一次,這次上網找了下,在 Mobile01 找到一個討論串,其中 10 樓提到的解法似乎可以解決我的問題,就來試看看並記錄一下!
論壇上步驟如下:
1. 下載新版 iTunes 〈可以在官網取得〉基本上經過這些步驟後,iPhone USB 網路分享用起來是正常的!
2. 打開終端機輸入以下指令: $ sudo rm -Rf /System/Library/Extensions/AppleUSBEthernetHost.kext 〈會出現警告,可以忽略它!會要求使用者輸入使用者密碼〉
3. 安裝iTunes(會覆蓋原本的 iTunes)
4. 於終端機輸入: $ sudo kextload /System/Library/Extensions/AppleUSBEthernetHost.kext (重新連結AppleUSBEthernetHost.kext)
5. 將 iPhone 重開機,接上mac,這時候應該會重新出現iPhone usb的選項
感謝網路上的大壩們能無私的奉獻啦!
同理,相信如果是其他系統延伸功能出問題,只要能找到安裝程式,只要把出問題的系統延伸功能砍掉,再安裝一次程式,然後載入該系統延伸功能,相信也可以解決喔!
2014年9月16日 星期二
[短評] Apple Watch 成功?失敗?
前幾天 Apple 發表會上發布了自家第一款穿戴式產品 Apple Watch,其 Jonathan Ive 還誇下豪語預測 Apple Watch 將會顛覆瑞士手錶工業,但其實我個人在看完發表會之後,有一下兩點看法:
1. 手錶發展至今最大的功用依舊是幫助人們觀看時間,但由於手機的興起,漸漸的人們開始不太愛戴手錶了!因為最常拿起來看的裝置變成了手機!尤其是後期 iPhone 對智慧手機革新後的日子就更加的明顯了!
早期我戴的是便宜的機械錶,後來因為機械錶壞掉了,那時候剛好又有政府發行的消費卷,但消費卷買不起好的機械錶,所以自從改戴石英錶後就一直戴到現在了!但當我看到 Apple Watch 上依舊想要顯示時間的時候,第一個想問自己的是...我會想要把手上的石英錶換成它嗎?不會!在續航力可能只有一天的狀況下,我不太想更換,但如果充電一次能夠使用三到四天甚至一個禮拜,那它的吸引力就大得多了!你想想現在我們每天晚上要充電的裝置有多少?隨著你用的電子裝置越多,每晚要充電的裝置也越多,我實在不想再買一個裝置加入晚上充電的戰局!
2. 兩百年來的演進,造就了手錶成為一種藝術品,常常也代表了某種身分地位,我想這也是為什麼你可以在 Apple Watch 系列裡面看到 18K 金打造外殼和爆多的錶帶可以選擇!
回頭看看現下流行的錶款,查詢一下相同價位左右的手錶種類,有一種主打的大概是在某些特殊環境下可以提供特定資訊的手錶!例如登山、潛水等等...另一種就是打復古或是特殊造型吸引消費者購買的錶款!那...從四四方方的 Apple Watch 我看到了什麼?
在造型方面我個人不得不說 Apple 打了安全牌,基本上這種四四方方的造型的錶款還真不少,表示消費者接受度也還在一定的範圍,就顯示特殊資訊方面,將手機上與手錶上的資訊整合在一起,根據目前鐘錶業界的應用,是非常符合預期的,只是不知道 Watch Kit 能協助開發者將手錶介面客製化到甚麼程度,我覺得這將會是影響它後續發展的一個關鍵要素!
綜合來說,穿戴式裝置與一般電子裝置不同,我想大部分的人應該都不想為穿戴式裝置持續充電,我個人覺得最好的穿戴式設計,應該是延伸感應器的應用,例如保留 Apple Watch 心率感應器、加速感應器、氣壓感應器、NFC,再加入一些其他的感應器,做為一個延伸感應的裝置,由 iPhone 整合這些全部的資訊在其螢幕上顯示出來!因為已經有了手機這麼好的顯示螢幕,誰還會需要一個 1.5/1.6 吋的螢幕戴在手上呢?
回顧最早的手錶演進,它是為了讓空不出手拿懷錶的機師,可以很快速地了解現在的時間是幾點,同理,智慧手錶在設計的時候,我覺得就不應該將觸控作為主要的操作方式,取而代之的應該是一些手勢動作或是其他的創意操作才會是比較實用的應用方式!但目前看起來似乎沒有智慧手錶往這裡發展!相當可惜!
以上純屬我個人的意見,與大家交流一下!
[筆記] 用 TestDisk 救回誤刪的磁碟區
幹!腦殘!在安裝新版的作業系統的時候居然把最重要的資料碟手順的砍掉了!
當下馬上把電腦關機並把硬碟拿出來,避免其他程式或是意外寫入動作發生!並馬上用另外一台電腦上網 Google 誤刪磁碟區的拯救方法!
城邦集團 PCuSER 上找到一篇 2009 年發表的文章:「小巧精悍的磁碟分割區搶救專家」
介紹的軟體是 TestDisk ,看完整篇文章後覺得應該就是它了!馬上上他的官網下載最新版本!而且它是免費的!
TestDisk 官方下載位置
大致上與舊版程式無異,只是修復的時候跟舊版有一點點小小的差異,在我的問題與環境下,並不會出現 Backup 的選項,而只有 Quick Search,在 Quick Search 結束後馬上就列出了我砍掉的磁碟區,這時候只要按 Enter 繼續,然後選取 Write 寫入分割區資訊至硬碟中,它就會顯示下次重新開機後就可以看到救回來的磁區!
由於我是用快捷線把拔下來的硬碟接到另一部電腦上的,做完安全移除再重新插上電腦,果然分割區已經救回來了!資料都可以存取,這真是太萬幸了!
切記在硬碟發生慘劇時一定要馬上將硬碟離線,不要讓硬碟再被任何程式修改或存取,不然資料"非常"有可能救不回來的!
我保證,下次刪磁區的時候我會三思而後行的!
當下馬上把電腦關機並把硬碟拿出來,避免其他程式或是意外寫入動作發生!並馬上用另外一台電腦上網 Google 誤刪磁碟區的拯救方法!
城邦集團 PCuSER 上找到一篇 2009 年發表的文章:「小巧精悍的磁碟分割區搶救專家」
介紹的軟體是 TestDisk ,看完整篇文章後覺得應該就是它了!馬上上他的官網下載最新版本!而且它是免費的!
TestDisk 官方下載位置
大致上與舊版程式無異,只是修復的時候跟舊版有一點點小小的差異,在我的問題與環境下,並不會出現 Backup 的選項,而只有 Quick Search,在 Quick Search 結束後馬上就列出了我砍掉的磁碟區,這時候只要按 Enter 繼續,然後選取 Write 寫入分割區資訊至硬碟中,它就會顯示下次重新開機後就可以看到救回來的磁區!
由於我是用快捷線把拔下來的硬碟接到另一部電腦上的,做完安全移除再重新插上電腦,果然分割區已經救回來了!資料都可以存取,這真是太萬幸了!
切記在硬碟發生慘劇時一定要馬上將硬碟離線,不要讓硬碟再被任何程式修改或存取,不然資料"非常"有可能救不回來的!
我保證,下次刪磁區的時候我會三思而後行的!
2014年9月10日 星期三
[心得] 運用 Sikuli 將 PDF 表格轉換為可匯入至其他文件的文字檔
最近老婆為了將一個非常多筆資料的 PDF 表格匯入到 OpenOffice 裡面使用而傷透了腦筋,最耗問我有沒有辦法幫她做這個轉換,詢問了一下她的表格格式與特徵並自己實際看了一下,基本上除了欄位有時有值有時空白比較有問題,資料大部分都是中文、日期數字,而且都以相同的三碼編號開頭,根據最後的線索,覺得可以簡單用 Sikuli 寫一個 Parser,畢竟可以利用這相同的編號來當關鍵起點!
所以計畫是這樣,先用 Sikuli 找到三碼相同的編號,因為它是每個欄位的起始點,之後只要計算每個欄位的間隔、判斷欄位資料型別與是否為空白,應該可以很好轉換成存文字文件,加上只要用 Tab 或是固定的符號隔開欄位,OpenOffice 應該都可以匯入才是,所以最後就先決定用 Tab 來隔開欄位了~
但 Sikuli 比較討厭的是在 Windows 平台上在切換應用程式上比較不方便,會需要用到完整的視窗標題,不像 Mac 上面只要應用程式的名稱就可以很方便的切換了!所以在這裡去找谷哥大神花了點功夫,再來就是日期和中文,不像數字字串和英文字串,滑鼠點兩下就可以全選,日期需要點頭點尾來選取,中文的部分在測試後發現滑鼠點三下可以全選,這個也在谷哥上找到詳解,另外就是空白資料的判讀,目前先以辨識在欄位上是否存在某個長度的空白當作判別依據!至此準備工作完成!
前後約花了二至三小時完成了這個 Script,主要時間都花在查資料,寫 Code 的部分說真的要抱怨一下 Sikuli 的文字編輯器時實在是不夠強,希望作者或是接手團隊能加強一下!
之後因為資料實在太多,我也懶得查 Sikuli 加速的方法,放了一天半把資料轉完後寄給老婆,幫她完成了這個人工可能也要不眠不休花一天半才能轉換出來的工作!想想你工作一天半的時間換算成你的時薪,你可以賺多少錢了呢?三小時換一天半,我想還是非常划算的!而且之後就不用再做太多功夫了!只剩下計算不同欄位偏移量而已!
圖形辨識未來將會主宰很多應用,我相信我現在用的不過是冰山一角而已,但也算是學以致用啦!
2014年9月5日 星期五
[密技] 在 semalt.com 試用期中看見其分析的資料
今天發現一個叫 semalt.com 的網站,它是一個感覺還不錯的網站分析工具,但有一個禮拜的試用期限,試用期限間它也是會很認真幫你做網站分析,只是數據看不到!它介面會像下面這張圖一樣:
由於我隱約可以看到下面的數據,覺得表示它應該是有資料的!
於是這時候如果是用 Chrome,請將開發人員工具打開〈Ctrl+Shift+I〉,點選一下放大鏡:
這時候再將滑鼠移到SUBCRIBE NOW,按一下滑鼠左鍵!
馬上看看下方的網頁原始碼會跳到如下圖類似的位置:
這時候再將滑鼠移到該行上面按右鍵,選 Delete node,你就會看到原來擋住的區塊不見了!可以看到下方的數據囉!
如果你手邊有網站不妨試試,看看有那些東西需要再改進的呢?
全部移除後可以用列印將網頁印成PDF之後慢慢看!
FireFox 也有類似的功能,大家可以試試喔!
當然,如果覺得好用還是建議大家付錢啦!
2014年9月4日 星期四
神魔之塔遊戲自動化
最近比較沒心力玩神魔之塔,原因是最近一些瑣碎的小事很多,時間都被打散了,連玩玩的時間都變少了,想想應該會有人寫出自動化的程式吧!搜尋一下果然超多的啊!但iOS上面的要JB,只好放棄!
但有人把原始程式碼釋放出來嗎?有!
網站:遊戲自動化
這個人把他寫的程式放到網路上分享出來,雖然我有下載也編譯過了,但是沒時間仔細看看它的演算法是怎麼跑的!另外就是我也不會用啊!
自己想想如果是自己會怎麼寫這個程式,想了半天居然沒甚麼想法,感覺難度頗高的啊!
這才覺得對方真是厲害,可以寫出個可以用的演算法!實在太強大了!
看來寫程式的底子不夠深厚,連玩遊戲的問題都沒法有辦法解決!要再多練練功了!
2014年8月9日 星期六
Mac OSX 10.9 Mavericks/10.10 Yosemite 安裝奇摩輸入法
之前聽說在更新 10.9/10.10 之後安裝奇摩輸入法會找不到輸入法,自己試了一下,用了最後一版的安裝DMG,在安裝完成後的確預設是不會出現在輸入法的選單裡!如下圖:
但是其實也沒那麼有問題,點選一下左下角的+號,新增輸入法,如下圖:
奇摩輸入法不就在那裡嗎?點選輸入法後按「加入」自動回到上一個視窗!如下圖:
之後就可以爽爽地用啦~
2014/12/8 有鑑於這篇文章每天瀏覽人數都不少,新增奇摩輸入法備份連結服務大家:
站點A:uploadable.ch
下載說明可以參考:Uploadable 下載說明
2015/05/25
Uploadable.ch檔案已經被砍,新增 MEGA 下載位址
MEGA 下載位址:下載連結
但是其實也沒那麼有問題,點選一下左下角的+號,新增輸入法,如下圖:
奇摩輸入法不就在那裡嗎?點選輸入法後按「加入」自動回到上一個視窗!如下圖:
之後就可以爽爽地用啦~
2014/12/8 有鑑於這篇文章每天瀏覽人數都不少,新增奇摩輸入法備份連結服務大家:
站點A:uploadable.ch
下載說明可以參考:Uploadable 下載說明
2015/05/25
Uploadable.ch檔案已經被砍,新增 MEGA 下載位址
MEGA 下載位址:下載連結
2014年8月1日 星期五
[筆記] 使用 Google Code Prettify + CSS Block 在網頁中嵌入顯示程式碼
上次雖然想貼程式碼做筆記,但是無奈Blogger本身看起來不支援,拜讀一下 Google 找到有人介紹一系列貼 Code 的教學!
這裡就用該網站的程式碼來測試一下:
上面是採用 Google Code Prettify + CSS Block 的範例,看起來不錯吧!
看完該網站介紹的文章,原來這招有個地方需要注意,它需要將 < 改成 < 和 > 改成 > ,沒有修改符號會被視為要執行的指令,該網站建議可以使用 HTML Encoder 來協助轉換!
感恩阿!大家有空也可以多去這個網站看看,有介紹很多好康資訊喔!
參考網站:符碼記憶
2014/10/15 更新: 由於常忘記 CSS Block 的長相,這裡貼一下讓我可以快速回復記憶阿:
這裡就用該網站的程式碼來測試一下:
public class HelloWorld { public static void main (String[] args) { System.out.println("Hello, world!"); } }
上面是採用 Google Code Prettify + CSS Block 的範例,看起來不錯吧!
看完該網站介紹的文章,原來這招有個地方需要注意,它需要將 < 改成 < 和 > 改成 > ,沒有修改符號會被視為要執行的指令,該網站建議可以使用 HTML Encoder 來協助轉換!
感恩阿!大家有空也可以多去這個網站看看,有介紹很多好康資訊喔!
參考網站:符碼記憶
2014/10/15 更新: 由於常忘記 CSS Block 的長相,這裡貼一下讓我可以快速回復記憶阿:
<pre class="codeblock prettyprint"></pre>很簡單,但是也很容易忘記!暈!
2014年7月31日 星期四
隨自己高興用 Stylish 來改變網站外觀
2014年7月22日 星期二
2014年7月17日 星期四
預約愛情
最近開始看"預約愛情"這齣韓劇,老婆看我每天都要看一下不禁問我:「喔!原來你喜歡這種笨笨的女生啊?」
「是阿!我就是喜歡這種笨笨的女生啊!」
其實我不覺得她是笨!而是一種很單純的性情,喜歡活在當下,不去設想未來可能會發生的事情其實很對我的味!而且她願意默默的為總理付出,一方面照顧好他的三個孩子,慢慢帶領總理去理解了解孩子的想法,一方面在總理遇到挫折的時候,用其獨特的傻勁拉總理一把,這方面劇情的設計上很掌握住很微妙的細節!我很喜歡!
綜合來說這部韓劇不會太長,就算直接追完也不會太累,值得花一點時間看完它!
2014年3月20日 星期四
利用 AutoIT 自動點擊撥號按鈕
我在家裡的筆電上面跑了很多虛擬機器,而且在虛擬機器裡面用了 Sandboxie 這套沙箱程式,為了讓每部虛擬機器都取得真實 IP,所以它們都是用撥接上網,但是時間久了發現,Sandboxie 會卡一個撥號視窗,而且會把沙箱內的程式上網暫時停住,所以我每天要找個時間連線回家看看是否需要我自己手動把這個視窗點掉,但每天都要做這件事實在太累了!這不弄個自動程式幫忙怎麼可以!
我用 AutioIt 寫了一個小程式幫助我自動點擊撥號對話視窗上的連線按鈕,實際的程式如下:
完成這個小程式我做了幾件事:
AutioIt 程式寫好後還可以編譯成執行檔,超方便的!因此就可以讓每部虛擬機器在不安裝 AutoIt 狀況下也可以享用寫好的程式!讚啦!
我用 AutioIt 寫了一個小程式幫助我自動點擊撥號對話視窗上的連線按鈕,實際的程式如下:
While WinExists("[CLASS:#32770]")很簡單的三行程式碼就解決了我每天要檢查的事情,是不是很簡單呢?
ControlClick("撥號連線", "", "[ID:1026]")
Sleep(1800000) ; 每半小時檢查一次
WEnd
完成這個小程式我做了幾件事:
- 利用 AutioIt Window Info 這個工具先把撥號視窗的一些資訊查詢出來
- 搜尋 AutioIt 自動點擊按鈕的範例程式
- 搜尋一下 AutioIt While 語法
- 修改範例程式成自己需要的樣式
AutioIt 程式寫好後還可以編譯成執行檔,超方便的!因此就可以讓每部虛擬機器在不安裝 AutoIt 狀況下也可以享用寫好的程式!讚啦!
訂閱:
文章 (Atom)