2011-08-12

[jQuery] 詭異的 jQuery selector bug ! rootjQuery is undefined

版本 jQuery JavaScript Library v1.6.2
瀏覽器 firefox 5

出錯範例:
jQuery('img.bbcode_img')
錯誤訊息
rootjQuery is undefined
解決方案:
jQuery('body').find('img.bbcode_img')
原因不明...

2011-07-16

[jQuery] 在 Greasemonkey 裡面加入 jQuery 的方法

Greasemonky : 是Mozilla Firefox的一個附加元件。它讓使用者安裝一些腳本使大部分HTML為主的網頁於使用者端直接改變得更方便易用。隨著Greasemonkey腳本常駐於瀏覽器,每次隨著目的網頁開啟而自動做修改,使得執行腳本的使用者印象深刻地享受其固定便利性。

Greasemonkey可替網頁加入些新功能、修正網頁錯誤、組合來自不同網頁的資料、或者數繁不及備載的其他功能。寫的好的Greasemonkey腳本甚至可讓其輸出與被修改的頁面整合得天衣無縫,像是原本網頁裡的一部分。

jQuery : 一套 javascript library,用在協助做 HTML DOM element 處理。

2011-07-15

[firefox] 升級 Firefox 5 之後 Greasemonkey 失效 - part.2

最近意外的發現
原來有某些 userscript 是可以正常繼續運作的

於是對目前 userscript 進行除錯
由於錯誤的那些 userscript 不會出現任何訊息

所以採用最傻瓜的方式將代碼全部註解
然後一個一個的解除註解

最後發現是由於變數命名中 使用了 class

例如
function elem(tag, content, idt, idv, class) {
修改為
function elem(tag, content, idt, idv, vclass) {
由此可見  Greasemonkey 可能將 class 列為關鍵字 不允許被使用在變數命名中

2011-07-05

[jQuery] AdBlock Detection with jQuery - 使用 jQuery 偵測 AdBlock

AdBlock Detection with jQuery
https://github.com/bluelovers/jquery-sco-plugins/tree/develop/jsco.adblock.detect

由於有些 AdBlock 的過濾條件過度寬鬆導致隱藏了很多非廣告的內容

利用這個 jQuery 外掛 可以很簡單方便的偵測網站內的內容
是不是被 AdBlock 插件被錯誤隱藏瞭然後進行提示使用者的相關處理
避免使用者 在不自覺的情況下隱藏了網站內容而以為內容不存在

如果 .inline-ad 被隱藏了會回傳 true
jQuery('.inline-ad').adblocked()
回傳所有被隱藏的物件
jQuery('*').filter_adblocked() 

2011-06-28

[git] Install MSysGit 安裝時的注意事項

MSysGit 安裝程式的下載點
http://code.google.com/p/msysgit/downloads/list
有兩種版本的安裝程式
  1. msysGit-netinstall-1.7.4-preview20110204.exe
  2. msysGit-fullinstall-1.7.4-preview20110204.exe
在實際安裝上發現
假設安裝路徑是 C:\msysgit

使用 netinstal 的狀況下會正確的安裝在 C:\msysgit 目錄下
而使用 fullinstall 的狀況下會錯誤的安裝在 C:\msysgit\msysgit 目錄下

也就是當使用 fullinstall 的時候 想要安裝在 C:\msysgit 的話,必須要將安裝目錄設定為 C:\

另外要注意的是當使用 netinstal 時安裝路徑下必須要是空的不可以有檔案存在
否則安裝過程中再嘗試建立 msysgit 的 .git 庫時會產生錯誤

接下來應該會遇到以下錯誤訊息
fatal: The remote end hung up unexpectedly
* error: Couldn't update submodule doc/git/html (HTML help will not work).

INSTALLATION ABORTEDt repository in D:/msysgit/doc/git/html/.git/
不用太緊張將這個視窗關閉之後
安裝程式會繼續進行並且開始執行 git 的編譯

最後 msysgit 就安裝完成了
使用 netinstal 的好處是可以拿到比安裝程式還新的版本
而且安裝程式會將 msysgit 以 git 庫的形式安裝在系統上
方便可以使用 git 來做更新 msysgit 與 git 的版本
也可以先進入 devel 開發版的分支

[software] Sandboxie 建立新沙盤的注意事項

目前新版本的 Sandboxie 在建立沙盤時 有選項可以複製現有的沙盤設定

建議不要使用複製沙盤設定
因為使用複製設定的沙盤在後續的安裝程式 或者 其他軟體使用上
會產生一些完全無效的錯誤狀況

比如 程式執行後 完全沒反應之類的狀況
懷疑可能是複製時也複製了一些其他沙盤在運作時產生的設定

[git] MsysGit How to remake the installer

參考
https://git.wiki.kernel.org/index.php/MSysGit:InstallMSysGit
當中說到 使用以下指令可以重新編譯安裝程式
/share/msysGit-fullinstall/release.sh VERSION
但是實際上在現在的版本 1.7.x 下這個指令已經不存在
要改為
/share/msysGit/full/release.sh VERSION
其中 VERSION 必須要自己指定編譯出來的版本編號是什麼(例如: 1.7.5.3.msysgit.0)
直接使用 VERSION 的話會產生錯誤

編譯完成後會在使用者資料夾下出現
msysGit-fullinstall-1.7.5.3.msysgit.0.exe

[firefox] Adblock Plus 與 不應該消失的物件

Adblock Plus - 討厭擾人的廣告嗎?害怕被追蹤嗎?痛恨一大片的橫幅廣告嗎?快安裝 Adblock Plus 讓您重拾網路控制權,自己決定想看的內容。
套件安裝網址: https://addons.mozilla.org/zh-TW/firefox/addon/adblock-plus
Adblock Plus 是一套我在大多的電腦上都會安裝的套件
通常我都會去訂閱過濾條件集(除了內建的訂閱以外,再加上額外訂閱的網址)

不過畢竟每個人在編寫過濾條件時考量到的因素與製作的方式不同
有些時候可能有原本因該要顯示的物件卻被隱藏了

如果不是因為原本就認為因該要有東西存在也許就不會發現到

今天在看網頁時 忽然發現一個問題似乎 所有的 imageshack.us 圖都消失了
使用 firebug 去查看時發現這些消失的圖 都多出了特殊的 class

這些特殊的class大多都類似於以下
rqqqnzprfyozzyfluebf {
-moz–binding: url(chrome://global/content/bindings/general.xml#foobarbazdummy) !important;
}
原來 imageshack.us 在我訂閱的眾多過濾條件集裡面有被列為過濾條件
所以才會消失

於是使用 Adblock Plus 的 開啟可阻擋的項目 這個功能
列出了目前網頁上被阻擋的那些

果然就包含了 imageshack.us 的圖於是將那個條件停用
||imageshack.us^$third-party
這個條件的意思是 所有不在 imageshack.us 網站內的 imageshack.us 內容全都隱藏
很明顯的這是一個過度的過濾條件

[www] Domain Unregistered To View, register at: bit.ly/imageshack-domain

很多網站多少都會遇到看到以下的青蛙圖
這是代表這個網站沒有在 imageshack 的允許網域內
(如果是新網站 或者 從一開始就沒什麼人氣的網站 就有可能不會被檢查到)
Domain Unregistered To View, register at: bit.ly/imageshack-domain


今天就實際去了訊息上的網址 bit.ly/imageshack-domain
這個網址會轉向到 http://stream.imageshack.us/content.php?page=register_domain

網頁上會詢問你的名字與email
以及請你提供你的網站網址

提交之後 就要等待他們的審核(運氣好也許可以通過)

[git] Specify a branch 建立可指定分支的 submodule

通常要新增子模組時都是使用以下指令
git submodule add  -- "git@github.com:bluelovers/Scophp.git" "discuzx/upload/extensions/libs/scophp"
不過當想要指定分支時就傷腦筋了
網路上找到的方法大多為
先新增 submodule 之後然後進入子模組資料夾 切換分支之後
回到上層資料夾使用 git commit -a 指令來複寫

但是實在是很麻煩

在使用 tortoisegit 的 Submodule Add 時發現了以下指令
git submodule add  -b branch  -- "git@github.com:bluelovers/Scophp.git" "discuzx/upload/extensions/libs/scophp"
可以很方便很簡單的在第一次增加子模組的時候 就直接指定想要的分支

[git] fatal: Not a git repository (or any of the parent directories): .git - part.2

就在剛剛又發現了一些錯誤
由於我在當機前增加了一個分支 sub/scophp

似乎因為不完整造成 GIT 有些錯亂
於是找了  .git\refs\heads 資料夾下的 sub/scophp 分支資料夾刪除掉


似乎就正常了

[git] fatal: Not a git repository (or any of the parent directories): .git

fatal: Not a git repository (or any of the parent directories): .git
剛剛出現藍白畫面當機後
想說繼續進行 git 庫的編修

結果發現不管怎麼按 tortoisegit 的畫面都出不來
使用 BASH 來看的時候 更嚇一跳

版本庫分支代號 變成 (...)
然後使用任何 git 指令都會出現上面的錯誤訊息
指出現在的資料夾 不是一個 git 庫
這可嚇到我了

本地開了很多分支 也有很多都沒上傳到遠端
就這樣損毀的話 就不知道該怎辦

使用 google 大神也找不到任何類似文章
實驗了 把現在的資料夾 複製一份然後刪除 .git
然後重新 git init 之後 再把原本的 .git 複製回來
也是沒效果

最後就把 .git 內的檔案一個一個開來看
發現 .git/HEAD 這個檔案內的內容全變成 null (用 notepad2 看到的代碼

於是懷疑可能是這個檔案出錯
翻了一下電腦內 其他的 git 庫之後 發現這裡面的內容因該要是
ref: refs/heads/develop
之類的內容(紅字的部分為固定內容)

於是就將 .git/HEAD的內容改成以上的文字
雖然不記得原本是哪個分支了
不過猜想大概是這個

修正之後 git 就正常顯示了
逃過了意外的大劫XD

2011-06-26

[firefox] 升級 Firefox 5 之後 Greasemonkey 失效

雖然 Firefox 5 屬於一種安全性更新
原本以為架構上因該不會差太多

但是實際上更新之後 慢慢地注意到原本的 Greasemonkey 都失效了
就算用了最簡單的 alert('abc'); 這樣也完全不起作用

所以大致上判斷因該是整個都失效了
而不是語法需要更新

目前雖然有 0.9.6板可以嘗鮮下載
但似乎沒有解決掉任何問題Q__Q

[git] TortoiseGIT 與 Dropbox 的 Overlay Icon 衝突處理

Overlay Icon 以 TortoiseSVN 的翻譯來說就是 圖示覆蓋
是一種可以在原有的檔案圖示上追加標記圖示類似於捷徑的小箭頭圖示一樣的意思

由於習慣利用 TortoiseGIT 會在檔案被修改 或者 有不同時會讓原有的檔案圖示上增加紅色的警告標記
可以很方便的辨識出來那些檔案目前正被修改過
在上傳檔案的時候 就可以很方便的只複製那些被修改過的檔案去上傳就好
不用一個一個確認 或者 整個資料夾都上傳

但是在安裝了 Dropbox 後就產生的衝突
雖然 Dropbox 只對 Dropbox 資料夾內的圖示有作用
可是實際上卻會連帶影響造成其他程式 Overlay Icon 可能會失效
例如 TortoiseGIT 的圖示就因此失效

由於對我而言 Dropbox 的圖示作用不重要
所以使用了最簡單的方法來修正這個問題
就是刪除 Dropbox 的 Overlay Icon

作法如下 開啟 regedit  之後 尋找以下機碼
HKEY_LOCAL_MACHINE\software\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
將底下以 dropbox 開頭的子機碼刪除
重新開啟檔案總管之後 就可以正常顯示 TortoiseGIT 的 Overlay Icon

2011-06-23

[IE] 使用 InPrivate 模式來開啟 Internet Explorer

對於我這種 Firefox 使用者而言
Internet Explorer 是能不用就不用 甚至希望能讓它消失

可惜的是 只要使用 windows 的一天就不可能用不到 IE
通常我都會將 IE 的安全性設定 調到最高最高

也設定了 每次使用完之後 就清除資料
但是總覺得還不夠

今天在這篇文章
How to Always start Internet Explorer 8 in Private Mode

內發現了在 IE 的捷徑上增加 -private參數(每一個 IE 捷徑都要去設定一次)
如此一來就可以每次開啟IE時都自動使用 私密瀏覽模式

[windows] 自然人憑證與 Smart Card Service

在使用讀卡機讀取提款卡,自然人憑證時
除了注意讀卡機本身是否支援這些卡片以外

還要注意 windows 的系統服務內是否有啟用 Smart Card Service
(預設都是開啟的 不過有些系統優化時 可能會將這個服務關閉

相關步驟可以參考
https://netbank.esunbank.com.tw/webatm/Q&A_012.htm#10

2011-06-18

[font] 常見字型整理

日系
"MS Pゴシック",Osaka,"ヒラギノ角ゴ Pro W3"

[HTML5] Canvas 與 Firefox 安全性

今天再研究 Canvas 的 toDataURL() 發現不管怎麼做都會產生
Security error" code: "1000
這個錯誤訊息(用firebug查看)
找了好久都找不到任何有效的解決方法

最後想到....難道是因為我直接在本機查看的原因嗎
於是將它上傳到區網內的測試伺服器內

解果就發現.......
問題解決了

XD

原來 firefox 在本地封鎖了一些部分的功能(因為安全性的關係)
至於怎解決這個安全性限制還不知道
但是這就說到......
在測試一些網站用的東西的時候
盡量別懶惰直接點HTML檔來看
最好能夠傳到伺服器去做測試

[jquery] .delay 函數的注意事項及應用

官方介紹 http://api.jquery.com/delay/

雖然官方介紹沒說到
但是實際上 .delay 可以接受 function 參數

另外要特別注意的是
當 function 內使用到 $(this) 時
會有一些特殊狀況產生

假設是集合物件呼叫
$(elem_array),delay(500, function(){
$(this).fadeIn(700);
})
那麼 $(this).fadeIn(700) 將會失效

可參考 https://github.com/bluelovers/Hall-of-Fame/blob/develop/static/js/jquery-core.js
將裡面的代碼小改一下,就能發現當使用 delay 時,如果是陣列就會無法正常運作

2011-06-16

[git] git filter-branch 應用 只保留指定的檔案及記錄

@see 核彈級選項: filter-branch
如果你想用腳本的方式修改大量的提交,還有一個重寫歷史的選項可以用——例如,全局性地修改電子郵件地址或者將一個文件從所有提交中刪除。這個命令是filter-branch,這個會大面積地修改你的歷史,所以你很有可能不該去用它,除非你的項目尚未公開,沒有其他人在你準備修改的提交的基礎上工作。儘管如此,這個可以非常有用。你會學習一些常見用法,借此對它的能力有所認識。
用 google 可以搜尋到一大堆能將 目錄取出來變成乾淨的分支 的資料
但是有時候你只是想取變成為只含有特定檔案的分支來做一些特殊用途

這時候 總不能先把目錄取出後 又一次一次的清除不要的檔案及記錄
那麼就可以試試看以下的用法

以下為指令
藍色部分為 想要留下的檔案 可以用表達式例如 (abc.php|cdf.txt|other.png)
$ git filter-branch --prune-empty -f --index-filter "git-rm-ex Valid.php"
相關需要用到的 git-rm-ex 為
#!/bin/sh

# 不知道為什麼嘗試性的加上 echo 後就正常搭配 git filter-branch 而沒有因為錯誤中斷
# $ git filter-branch --prune-empty -f --index-filter "git-rm-ex Valid.php"

git ls-files --no-empty-directory -- | egrep --invert-match $1 |
xargs git rm --cached --ignore-unmatch -f -- | echo
 以上指令中的 -f 選項 可以自己取捨是否要使用

2011-06-15

[firefox] 每次開啟 firefox 都要重新設定網站權限的解決方法

這問題困擾一陣子
自從升級了 firefox4 之後

就慢慢地感覺到似乎對於控管某些網站的彈出視窗視乎無效
或者 控管是否可以載入圖片等等的權限設定

不過這問題因該跟 firefox 4 無關

因該主要是因為我用了一些比較奇怪的方法來升級 firefox 4

不過回到正題萬一發現每次設定網站權限之後
下次重開firefox 都好像又要重來了

可以刪除 firefox 設定檔資料夾內的 permissions.sqlite
因該就可以解決這個問題

可惜的是以前成功設定的那些也要重來了
不過這部分因該還好

畢竟下次去到那些網站在重新設定就好

而且大多數的人也不需要用到這個功能

2011-06-14

[git] git rebase 的感想

有點懶
總而言之 建議不要使用在已經 PUSH 出去的分支上

最好是獨立開一個分支或者最近沒PUSH過

因為REBASE之後似乎會改變分支的紀錄
這樣的話 可能會產生某些衝突

2011-06-13

[git] git-notes 同步到遠端的小技巧

參考 http://progit.org/2010/08/25/notes.html

以下設定據說可隨著 PUSH , FETCH 來同時做更新 notes 的動作(感覺不出作用)

.git/config
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
   
    fetch = +refs/notes/*:refs/notes/*
    push = +refs/notes/*:refs/notes/*

以下為簡化打包實作 git notes push 的概念(自做的 並且實測過 確實可行)

 msysgit\local\bin\git-notes-push
#!/bin/sh

echo u can use git notes-push or git-notes-push

echo push notes now.......
git push origin refs/notes/*
當 notes 成功 push 遠端 github 後可在 github 上看到 notes 在黃色框內

可惜的是目前仍然不知道如何同步 github 網頁上 commit notes 的方法
變成只能由 git 去做 notes
而在 github 上做的 notes 則必須要在網頁上才能查閱

2011-06-12

[git] git flow hotfix 只允許存在一個 hotfix

假設在已經存在 hotfix crlf_to_lf_only 的情況下

想在建立新的 hotfix 這時候就會出現以下訊息
$ git flow hotfix start test
There is an existing hotfix branch (crlf_to_lf_only). Finish that one first.
 也就是......
 一次只能存在一個 hotfix 不能同時開多個 hotfix 各自修正

也許考慮使用  git flow feature 可能會好一點
可惜就是不能設定自動合併到 master

[discuz] unknown crlf bug in discuz\uc_client\data\cache\settings.php

詳情請看 https://github.com/bluelovers/Discuz/issues/3

版本為 discuz x2 + ucenter 1.6
不過實際上任何舊版本都有可能有這個問題
但是也幾乎都不會有這個問題(好複雜的矛盾)
萬一不小心遇上這種BUG的解決辦法也請看上面的網址

昨天意外的發現不知道為什麼在 discuz/uc_client 下 cache 的 settings.php 內含有分行的資料全變成單行

對於以 分行 做為資料分隔的那些欄位而言 這等於是造成無效化 甚至 不仔細發現都不可能知道問題在哪裡的BUG

主要受影響的有
  • accessemail -掌管允許註冊的email
  • censoremail - 掌管不允許註冊的email
  • censorusername - 掌管不允許註冊的帳號名
這三個都是很重要的註冊控管

雖然不知道為什麼會產生這種BUG
因為產生BUG的 ucenter server 下的 model/note.php 從以前的版本就已經沒變化了
為什麼現在才會出現這種BUG
可能的原因有伺服器環境不同 或者 PHP版本不同

但是在相同環境下的舊 discuz x1.5 卻沒有這個問題
總之是個詭異的BUG

從內容來看的確是個BUG 可是為什麼以前卻不會發生

實在是離奇又離奇

2011-06-11

[git] git cherry-pick 時保有中文訊息

今天在實驗 cherry-pick 時
不意外的發現每個中文訊息都變成亂碼

又在一次的亂槍打鳥隨機搜尋時
發現msysgit 的設定是由 /etc/profile 所控制
然後在檔案最底下發現了這一段代碼
# read user-specific settings, possibly overriding anything above
if [ -e ~/.bashrc ]; then
    . ~/.bashrc
elif [ -e ~/.bash_profile ]; then
    . ~/.bash_profile
elif [ -e /etc/bash_profile ]; then
    . /etc/bash_profile
fi
由以上代碼可知 如果再 windows 使用者資料夾下增加 .bash_profile 這個檔案的話就會被包含進去 msysgit 的環境設定內

 於是我建立了檔案並且內容為
# utf-8 確認可在 cherry-pick 時保有中文訊息
export LESSCHARSET=utf-8
接著又再一次的使用 git cherry-pick 指令
這次就成功的保有中文而沒有變成亂碼了

補充說明以下這三種檔案都可以被認為是 profile 的一部分
但是要注意的是只能有一個起作用
優先順序跟以下的順序相同
  1. ~/.bashrc
  2. ~/.bash_profile
  3. /etc/bash_profile
" ~/ " 代表 WINDOWS的使用者目錄下

Parse error: syntax error, unexpected T_SL in test\ip.php on line 36

關於以下這種代碼不知道該怎稱呼
echo <<<EOL
=============
$filed
=============
$_SERVER[$filed]
gethostbyaddr: $iphost

EOL;
會想PO這篇主要是

本地與遠端都主機都能正常執行
echo <<<EOL

 在本地可以執行 遠端主機會出現錯誤
echo <<<"EOL"

原因不明
總之做個紀錄

[git] 使用 git-flow 後慢慢感受到 git branch 好用的魅力所在了

由於以前是使用 SVN 的
所以在一兩年前接觸GIT時都還是用著SVN的思維來處理

在分支上相對的就比較少開
導致常常有一些沒寫完的程式跟已經寫完的程式在彼此糾纏不清的曖昧關係下
導致開發上的一些阻礙

由於 我是windows 愛好使用者(就算其他作業系統的確試用後感覺不錯但最後還是只用windows)
又加上對GUI介面的過度依賴

所以主要都靠 TortoiseGit 的介面來做處理
但是不知道為何
在合併 或者 git cherry pick 時常常會出錯無回應
也就不太敢使用分支

再用了 git-flow 之後
就方便許多了 許多之前常常會由於不明原因造成錯誤的狀況減少了很多

可惜的是目前 TortoiseGit 與 msysgit 在我的電腦上然仍然有些錯誤狀況會產生
有點可惜

2011-06-08

[git] 在 WIN7 MsysGit 環境下安裝 GitFlow

今天在安裝 git-flow 時遇到了點問題
搜尋時第一個就出現 GIT flow on windows 7 with msysgit
一時之間看了 bin.zip 的內容發現只是多了個 getopt

所以就沒多加注意

一開始照著官方的說法在 MSYSGIT 環境下使使用(MSYSGIT的 BASH 介面)
contrib\msysgit-install.cmd
來做安裝但是顯示錯誤

接著就試著使用
make install
來做安裝

看起來是安裝成功了
但是在實際測試
git flow init
時卻又出現一些錯誤訊息
local\bin/gitflow-shFlags: line 1: shFlags/src/shflags: No such file or directory
local\bin/git-flow: line 78: FLAGS: command not found
接下來考慮到可能是安裝時的隱藏錯誤
所以又重新試了一次
contrib\msysgit-install.cmd
這次使用一般的DOS來執行

出現了新的錯誤訊息
MsysGit installation directory not found.
Try to give the directory name on the command line:
  msysgit-install "C:\Program Files\Git"
 由訊息可知無法正確判斷GIT路徑
於是指定了路徑之後 在試一次
但是又出現以下錯誤訊息
bin\getopt.exe not found.
You have to install this file manually. See the GitFlow README.
於是忽然想到在本文開頭提到的 bin.zip 資料夾內有 getopt.exe 這個檔案
於是將 壓縮黨內的檔案都複製到 bin 內
接著又試了一次安裝
contrib\msysgit-install.cmd "D:\msysgit"
這次就沒有錯誤訊息了
於是在重新試了一次 git flow init 也正確執行了

2011-06-07

[php] 把程式碼註解掉時的注意事項

當要註解的代碼中含有
<? ?>
即使原本的位置位於 "" 字串內,仍然要小心注意
如果直接註解掉,可能導致被判斷為代碼的一部分

遇到可能產生這種況狀時最好能夠用
/*
註解內容
*/
來做處理

[server] 不明名的異常流量IP

連續兩個月來 這些IP的流量都嚴重異常
而且大多來自對岸 (既然是對岸的IP 就封他不手軟)
  • 150.70.172.108
  • 150.70.172.107
  • 150.70.75.30/31
  • 150.70.75.32/32
  • 202.101.104.125
  • 218.94.115.114
  • 219.143.206.249 
要是有好心人知道這些IP 是什麼來源的話也歡迎留言一下^^

[git] 雜七雜八的東東

文案
try change 'upload' is submodule and submodule's branch is 'branch_from_scorpio'
指令
git rm -r ucenter
git submodule add  -b branch_from_scorpio  -- "git@github.com:bluelovers/ucenter.git"  "ucenter"

[git] 將 子目錄(subdirectory) 轉為 submodule 的解決方案

以下完全假設已經將 子目錄 從倉庫內分離獨立出來成為一個新的倉庫
或已經有可以取代現有子目錄的倉庫存在
由於直接刪除子目錄,然後增加子模組會產生錯誤訊息

以往我的解決方法是 先刪除子目錄,然後提交,然後增加子模組,然後再提交一次
但是這樣就變成版本紀錄上很不好看

今天意外的發現有更簡便的方法可以在一次的提交內完成這些動作

假設子目錄名為 subdirectory
#在倉庫內移除子目錄
git rm -r subdirectory

#然後新增子模組
git submodule add  -- "git@github.com:bluelovers/ucenter.git"  "subdirectory"
接下來提交就可以完美解決了

2011-06-06

削芋頭引起手掌發癢,相關解決方案

芋頭需去皮後方可食用,可每每剝芋頭皮的過程,會引起人手接觸部位皮膚奇癢難忍,此後即使用肥皂清洗、用水沖洗似乎也不能見效。

剝芋頭皮時之所以會使人皮膚發癢,是因為芋頭裡含有二種叫作皂角甙(黏液蛋白)的物質,這種物質對人體皮膚具有刺激作用,但這種剌激尚不足以引起人的痛覺,所以便表現出那麼一種令人刺癢難受的感覺。

削完芋頭後,用冷水洗手,只會越洗越癢,連擦肥皂也沒用!止癢可以用加熱和加酸等辦法,而最好的方法是削芋頭前在手上塗點醋
從網路上蒐集到的解決方案
  • 將手放在鹽水中浸泡
  • 用鮮生薑切片擦手
  • 皂角甙(黏液蛋白)受熱即被破壞,只要把手放在火上烤一烤,手就不會癢
  • 檸檬切片,擠汁塗滿雙手,再削芋頭(有效)
  • 用醋浸手,再削芋頭,若發癢時將手泡入醋水中(有效)
  • 削完芋頭後,用熱水洗手(泡一會就不癢了)
純預防的解決方案
  • 保持芋頭與手部乾燥
  • 預先將芋頭連皮用清水沖洗去泥後,倒入沸水鍋中煮一開,然後取出晾涼剝皮,此法不僅可防止皂角甙致手癢,而且還可同時去除芋頭所含的苦澀味
  • 戴橡膠手套削芋頭(不癢,但要小心脫手套時不要沾到芋頭汁)
  • 為了減少與芋頭皮的直接接觸,在剝芋頭皮之前,可用小麻袋(或舊布袋)先將芋頭裝入(不要裝滿,只裝半袋),而後連袋子在地面上輕輕摔打,借助於芋頭彼此間的磨擦.可使芋頭脫皮。
  • 預先在手上拭上一些食油.以阻止對皂角甙的接觸

[firefox] 使用 Menu Editor 時對於子選單的錯位如何處理

Menu Editor 是個好套件(自訂程式選單:重新編排或刪除各式選單項目。(如:右鍵快捷選單、檔案、編輯、檢視等。))

可是在使用上大家可能遇到移動後子選單錯位失效的問題

以前我遇到這類問題都是 先把那些要顯示子選單的套件設定好之後
重置 Menu Editor 的選單設定(或者先停用等改好設定之後再重置)
之後再重新調整 通常這樣處理之後像 ScrapBook 這類套件就會正常了

但是像 FlashGot 就不行了
不管重置或者停用 移除之後再重裝都子選單都會錯誤(除非在第一次安裝  Menu Editor 之前就先設定好了)

那這種時候怎麼處理呢(大概只能放棄子選單裝死)

今天不小心在 [Fx][TB] Menu Editor 相關討論 發現了 Menu Editor 的設定檔原來是 menuedit.rdf 這個檔案

也發現了一些移除後的選單仍然在這裏面
那麼就把這個檔案刪除掉

重開 Firefox 之後
重新調整 Menu Editor 選單設定

很感動地發現子選單完全正常了
也還能順便幫  Menu Editor 清理了一些過期的垃圾資料

不知道這個檔案在哪裡的人 可以在檔案總管輸入
%AppData%\Mozilla\Firefox\Profiles
然後找 類似 %AppData%\Mozilla\Firefox\Profiles\[user_profiles.xxxxxx]\menuedit.rdf 的檔案就可以了

2011-06-05

[blogger] 解決使用 jquery 時的相容性問題

 一般使用 jquery 時,只要放以下代碼就可以了
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript" charset="UTF-8"></script>
但是在  blogger 時,這樣卻會與blogger原本的JS不相容產生部分錯誤
比如不仔細看還沒發現的快速編輯按鈕沒顯示

這時候就要靠 jquery 提供的相容性函數 來做整合
 <script type="text/javascript" charset="UTF-8">
$$ = jQuery.noConflict(true);
</script>
這樣就可以安心的使用 jquery 而不會對 blogger 造成影響

[git] 重新命名分支

今天再重新整理 GIT 的時候 需要更改原本的分支名稱變得更容易辨認
於是在 Rename a git branch 找到了解決方法
git branch -m old_branch new_branch
如此一來就能成功更改分支的名稱

[firefox] 詭異的書籤BUG

今天好不容易將 Firefox 成功轉為 firefox 4 (之前由於直接升級有嚴重性的不相容錯誤)
所以這次利用了 免安裝版的先來進行資料轉移

然後最後覺得好像都OK了 所以建了一個新的Profile
然後將免安裝版的Profile 全部複製過去

接下來安裝了 Firefox 4
一開始感覺都很正常

意外的發現 無法新增任何書籤
試著停用 相容性解除的套件 之後 似乎又恢復正常= =||

之後 把套件啟用也沒發生錯誤...
太詭異了

Tree


多年前拍下的照片 當初不懂得如何保存最佳的掃瞄照片
經過簡易的PS處理之後 雖然已經稱不上是照片了

不過卻仍然保有當初我所想拍下的那種感覺

2011-06-04

test 2

210_mantis.png

test

聖境傳說 強化拍圖品質

大家都知道在遊戲內按下 PRINTSCREEN 可以拍圖

但是內建的拍圖 在細節 或者 文字上雖然可以辨認但是品質並不是很好

如果想要精細的拍圖往往就非得需要額外的抓圖軟體

不過只要更改內建的設定就可以輕鬆獲得高品質的拍圖

修改方法為找 程式資料夾\X-Legend\FNOnlin 內的 client.ini

然後用記事本打開  找 SaveTga=0 把它改成 SaveTga=1

以後拍圖 就可以得到高品質的嚕

想做圖或者 紀錄遊戲內的美景就不用在擔心討厭的小細節被模糊掉了