2013年5月29日 星期三

line貼圖破解

手機: HTC sensation
版本: android 4.0.3

原本使用:
http://blog.xuite.net/lucas.froums/psp/66332675-%5BAndroid%5D+%E6%9C%80%E6%96%B0+Line+%E8%B2%BC%E5%9C%96%E7%A0%B4%E8%A7%A3%E6%96%B9%E6%B3%95%EF%BC%8C%E4%B8%8D%E7%94%A8%E9%99%8D%E7%89%88%E8%88%87%E8%AE%8A%E6%9B%B4%E5%8D%80%E5%9F%9F%E3%80%81%E9%9C%80+root
...需root方法,因為破解root太麻煩了
http://blog.soft.idv.tw/?p=1221 好像用過此方法

後來看到sensation還要「S-OFF」( http://gphonefans.net/thread-59050-1-1.html )就放棄了

中間不知道照著某篇blog做,電腦被裝delta-search 病毒... 好在後來有移除掉..

後來使用: Android 4.0以上免ROOT權限
http://cloud-xun.com/post/2552/1/1/
照上面步驟做...
執行到 這張圖卡住...

因為電腦沒安裝『Android ADB驅動』
解法:
http://j796160836.pixnet.net/blog/post/29610725-%5Bandroid%5D-google%E5%87%BA%E7%9A%84android%E8%90%AC%E7%94%A8%E9%A9%85%E5%8B%95%EF%BC%8C%E9%A9%85%E5%8B%95%E8%A3%9D%E4%B8%8D%E4%B8%8A (中文版)
http://donandroid.com/how-to-install-adb-interface-drivers-windows-7-xp-vista-623 (我照這篇做的)
大意...
先去 http://developer.android.com/sdk/index.html 下載SDK
解壓縮 adt-bundle-windows-x86-20130514.zip 到D槽 (原文表示:任意方便的地方都行)
執行SDK Manager.exe,安裝
Android SDK Platform-tools (我電腦已安裝)
Google USB Driver
所以只需點 "Install 1 packages"
剩下的就照那篇英文教學圖示...

裝成功後..
NewDevil的console出現 adb push failed
因為我手殘把傳輸線拔起又插上電腦... 手機自動選擇"USB磁碟機模式",將該模式改成充電..
重新啟動NewDevil 就能安裝成功

就是愛貼圖粉絲團:
http://www.facebook.com/GiveMeLineStickers

以為事情就這樣結束了嗎...
下載圖組時出現... line已榜手機帳號  無法下載
附上 移除 LINE 綁定的電話號碼 的方法
http://max-everyday.blogspot.tw/2013/04/line-remove-phone-number.html
就照上面步驟做就好... 只是手機上的聊天紀錄會不見

ps.
在windows的資料夾中按住shift和右鍵,從選單中就能選擇"在此處開啟命令視窗"
ps2.
手機->設定->開發人員選項->保持喚醒(打勾)   ==> 手機充電時螢幕不會自動進入休眠

2013/7/9
在粉絲團看到可以下載熊大特別篇後就想再度抓圖
但發現app和DewDevil都需要更新了
去網路上下載NewDevil 1.4和3.5.9.apk
把手機連線到電腦,過程中出現幾次錯誤
就一直選擇"磁碟機"和"僅充電"來回切換,直到成功開啟app程式

2014/10/28
因為LINE綁定手機號碼不能跨區下載貼圖,這篇的方法是否能成功便不再維護






2013年5月24日 星期五

aptana 安裝emmet出錯

因為一直用zen-coding,最近才去安裝emmet

但安裝時出現下列錯誤


Cannot complete the install because of a conflicting dependency.
  Software being installed: Emmet for Eclipse 1.0.0.201303162055 (io.emmet.eclipse.feature.group 1.0.0.201303162055)
  Software currently installed: Aptana Studio 3 3.0.9.201202141038-14022012104032 (com.aptana.rcp.product 3.0.9.201202141038-14022012104032)
  Only one of the following can be installed at once:
    Expression Language 3.4.300.v20110228 (org.eclipse.core.expressions 3.4.300.v20110228)
    Expression Language 3.4.200.v20100505 (org.eclipse.core.expressions 3.4.200.v20100505)
  Cannot satisfy dependency:
    From: Aptana Studio 3 3.0.9.201202141038-14022012104032 (com.aptana.rcp.product 3.0.9.201202141038-14022012104032)
    To: org.eclipse.core.expressions [3.4.200.v20100505]
  Cannot satisfy dependency:
    From: Emmet for Eclipse 1.0.0.201303162055 (io.emmet.eclipse 1.0.0.201303162055)
    To: bundle org.eclipse.core.expressions 3.4.300
  Cannot satisfy dependency:
    From: Emmet for Eclipse 1.0.0.201303162055 (io.emmet.eclipse.feature.group 1.0.0.201303162055)
    To: io.emmet.eclipse [1.0.0.201303162055]

查詢過程:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=404631
Looks like emmet wants org.eclipse.core.expressions 3.4.300 which is in Indigo and you have Helios.
https://github.com/sergeche/eclipse-zencoding/issues/33
JiRybar: I'll try to update my Eclipse and try to install Emmet again.

解法:
因為aptana一陣子沒更新了
所以點 Help->Check for Update 更新aptana 後重開
照其他網頁教學就能安裝emmet了

附上安裝教學:
http://stackoverflow.com/questions/4906432/emmet-ex-zen-coding-aptana

sublime 安裝emmet
http://blog.caesarchi.com/2013/03/zen-coding-emmet.html
有時候會安裝不成package controll ,隔一天就好了..
就如同 這個安裝教學網站有時候會掛掉一樣...
http://wbond.net/sublime_packages/package_control/installation

emmet跳到相對應的html tag( go to matching pair ):
sublime熱鍵 ctrl+alt+j
aptana 熱鍵 無預設,自己設定



2013年5月23日 星期四

windows perl安裝

NB重灌後因為win7沒有內建perl,所以重新安裝

遇到第一個問題,要安裝ActivePerl 還是Strawberry Perl

http://stackoverflow.com/questions/3365518/should-i-choose-activeperl-or-strawberry-perl-for-windows
雖然這篇最推薦的是ActivePerl,但因為下面那個答案說Strawberry 有CPAN,所以還是安裝了Strawberry


安裝好後在window cmd執行pl檔,發現utf8格式的檔案印中文時會出現亂碼
http://bbs.chinaunix.net/thread-1434560-1-1.html

windows如果要显示中文,编码就是cp936
如果你的文件是以UTF-8编码的话在一个cp936编码的cmd中打印出来就是一个乱码,你需要做的是一个从UTF-8到cp936的转化的,可以使用Encode模块的from_to函数来实现
notepad默认是用cp936编的,跟cmd的编码一样,所以不存在乱码。你可以用gvim打开,set encoding=utf8之后就能看到乱码了,因为编码不一致

解法1:
使用git bash執行pl檔(但原本的中文名稱的資料夾和檔案會亂碼)
解法2:

1、将test.pl文件内容复制粘贴到一个“新建文本文档.txt"中。(用系统自带的记事本打开,原来的test.pl是用gvim编辑的)
2、删除test.pl
3、将"新建文本文档.txt”改名为test.pl
4、執行pl檔



2013年5月22日 星期三

perl 中文字尾亂碼

Question:

http://i.imgur.com/VUHWREJ.jpg

最後一個字被切掉了

我想要把後面的亂碼移掉請問要怎麼做呢?

目前試過下面這方法... 字尾還是有亂碼...

use Encode;

$str # 字串內容為上面那張圖的字串

Encode::from_to($str,'UTF-8','UTF-8');

print $str; #結果還是一樣

Anwser:

先轉成unicode把特殊字元\x{fffd}濾掉,然後再轉回utf8這樣就可以了...

Encode::from_to($str,'UTF-8','unicode');
$str =~ s/\x{fffd}//g; #這邊g的意思是... I added a "g" after the last forward slash. The "g" stands for "global", which tells Perl to replace all matches, and not just the first one.  ( http://www.regular-expressions.info/perl.html )
Encode::from_to($str,'unicode','UTF-8');


其他資料:
http://stackoverflow.com/questions/6234386/how-do-i-sanitize-invalid-utf-8-in-perl
(第二個答案無效)
http://www.fileformat.info/info/unicode/char/fffd/index.htm
(查那個亂碼的unicode)
http://stackoverflow.com/questions/1016910/how-can-i-strip-invalid-xml-characters-from-strings-in-perl
http://www.perlmonks.org/?node_id=931058
(類似解法)

新方法:
http://www.ichiayi.com/wiki/tech/check_utf8



  
#!/usr/bin/perl

sub strip_non_utf8_characters {
    my $text=shift;
    my $utf8_rgx='\A(
     [\x09\x0A\x0D\x20-\x7E]            # ASCII
   | [\xC2-\xDF][\x80-\xBF]             # non-overlong 2-byte
   |  \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs
   | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte
   |  \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates
   |  \xF0[\x90-\xBF][\x80-\xBF]{2}     # planes 1-3
   | [\xF1-\xF3][\x80-\xBF]{3}          # planes 4-15
   |  \xF4[\x80-\x8F][\x80-\xBF]{2}     # plane 16
  )*\z';
  my $tlen=length($text);
  print "\n length:",$tlen;
  for(my $i=0;$i<$tlen;$i++){
    $text=substr($text,0,$tlen-$i);
    return $text if( $text=~ m/$utf8_rgx/x );
  }
  return '';
}

sub t{
  my $text=shift;
  for(my $i=0;$i< length($text) ;$i+=2){
    printf( "split length=%d response:%s\n",
      $i,
      &strip_non_utf8_characters(substr($text,0,$i))
    );
  }
}
$string = "歡迎來到全世界最大的網站";
#&t($string);
print "\n",substr($string,0,10),"\n";
print length $string;
print "\n",&strip_non_utf8_characters(substr($string,0,999)); #結果

  

2013年5月9日 星期四

正規式搜尋應用

git log 中
搜尋除了tom.cn和mary.cn這兩個人以外的大陸開發者

$ git log
/\s.*[^(tom|mary)]\.cn\s
=> 結果可能有問題

疑問:
git grep出來的東西很長怎麼複製?
都要按->才會跑後面的內容那樣
現在都分段複製..
Rellik解法:
$ git grep "xxx" > grep.log
但我git設定關係在行尾會多藍色的^M ( http://sealmemory.blogspot.tw/2012/11/vim-m.html =>測試結果是\r\n非\n\r )
移除 ^M :%s/^M//g
 ^M 怎麼打出來的=> 先導斜線(\)->ctrl+v(按著ctrl)後按m 就能搜到藍色的^M(Windows中的換行)

Qilly: 不等於空跟5 要怎麼寫呀
http://stackoverflow.com/questions/3333461/regular-expression-which-matches-a-pattern-or-is-an-empty-string
^$|pattern
Ans: !~ /^(5|)$/
ex. $ perl -e "print 'true' if ('test_entries' =~ /^(5|)$/);"

搜尋不包含特定字串的一行
http://vim.wikia.com/wiki/Search_for_lines_not_containing_pattern#Using_the_:v_command
/^\(\(The_Regular_Expression\)\@!.\)*$
ex. 在 svn log 中搜尋有哪些檔案被修改,但不包含jpg檔
/^Index:\(\(jpg\)\@!.\)*$
http://stackoverflow.com/questions/96826/vim-how-do-i-exclude-an-entire-word-from-my-search
Question: 搜尋任何一句片語開頭為"abc "後面可以接任何東西,除了"defg" ( negative look-ahead assertion )
Answer:
/abc \(defg\)\@!
用 :help \\@! 查 {not in Vi} 如同Perl的 "(?!pattern)"

http://stackoverflow.com/questions/406230/regular-expression-to-match-string-not-containing-a-word
Question:
Hoho
Hihi
Haha
hede
要搜尋 hede以外的東西
Answer: (vim不適用,sublime可以)
^((?!hede).)*$ => the solution to does not contain “hede”
注意:不能用 ^(?!hede).*$ 因為這個解法 does not start with “hede”

上面兩個解法的差別:
vim: 用\@!放在裡面括號外後面且括號要跳脫
/^\(\(jpg\)\@!.\)*$
sublime: 用?!放在括號內前面,括號不用跳脫
^((?!hede).)*$

在字串中找最後一個符號(ex. 找路徑下的檔名)
http://stackoverflow.com/questions/3331970/regex-how-to-match-the-last-dot-in-a-string
([^\/]*)$  或 [^\/]*$

判斷大於零的整數
preg_match("/^[1-9][0-9]*$/",$id)