2013/09/15

瀏覽器革命統一天下之什麼是Reset.CSS?


Reset CSS就對了!

同一份CSS,換個瀏覽器突然獵奇了?IE傲嬌不聽話欠調教?
個瀏覽器間會產生差異是因為,各家瀏覽器的CSS預設值並不相同
Ex:
瀏覽器A裡面,div的padding預設是6px
瀏覽器B裡面,div的padding預設是4px
這時候如果你寫的CSS對齊的很精準...換個瀏覽器就哭哭了!
所以我們透過重新定義所有元素的預設值,不使用瀏覽器的預設值,就可以讓他們乖乖聽話了!

要注意的地方!

  •  因為margin和padding會被設定成0,所以原本的留白會不見,要自己設定才有美美的網頁喔
  • 當然你也可以自己挑一個預設值,不一定要用0

說好的載點呢?

2013/09/07

一個JavaScript小遊戲:BOXES!

為了好玩和練習而寫的小遊戲 BOXES !

  • 一次消除 2 個方塊 -30 分
  • 一次消除至少 3 個方塊則一個一分
  • 一次消除超過 5 個方塊有額外的分數獎勵 

2013/09/02

[C#]路徑搜索演算法(DFS、BFS)、Flood Fill(Recursive)


點我下載 C# 專案

這裡用到了兩個容器:Stack 和Queue

Stack的操作:Push (推入) / Pop (取出)
Stack的操作特性:有底容器

像是一個有底容器,同一層只能有一個物件存在,先放進去的東西比較晚出來,比較晚放進去的東西先出來


Queue的操作:Enqueue (排入) / Dequeue (取出)
Queue的操作特性:排隊

2013/08/21

【Root Req.】Remove Camera Shutter Sound for Samsung Smartphone / 移除Samsung該死的快門聲

首先你要先Root你的手機,一樣不解釋

 這裡我直接用adb來搞定他

adb wait-for-device
adb shell

接著進入shell之後

su
cd /system/media/audio/ui
ls Shutter*

你就會看到Shutter.ogg這檔案的存在,它就是快門聲
如果是S3以後,支援連續拍照的,還有另一個是連續拍照的聲音
可以刪掉他或是改名就好
剛剛在S3上面砍的時候他不讓我動
原因是因為/system被mount成read-only
解法如下:

mount -o remount,rw /system

把它mount 成read/write就好了

2013/08/18

【新手不適合】高效率移轉Android內的Line對話紀錄

如提,新手不適合此篇文章,因為沒有Step-By-Step的教學

所以請不要問我如何Root之類的問題,我不會回答


地球人都知道,Line的對話紀錄以sqlite3的形式存在
/data/data/jp.naver.line.android/databases/naver_line
  1. 這裡面,傳統的方式是
  2. Backup舊的db
  3. 新手機上註冊完畢,並且把新的db給copy出來
  4. 從舊db中dump出對話紀錄
  5. import到新的db

這方法很直覺很簡單,但是萬一你像我一樣遇到一支手機,裡面的紀錄有上萬筆大概會弄到哭哭!
匯出可能還不是問題,在匯入的時候我等了好久阿 OTZ (筆電太爛不給力

所以我們改變作法,我們從新的db撈出所有非對話紀錄的資料,然後蓋到舊的db上面,再把舊的db蓋回手機

以上是舊db要保留的資料
如圖所示,從新的db中刪除以下資料表

2013/07/21

Notepad++密技 內建自動完成 / 手寫HTML神插件 / HexEditor插件

Notepad++ 官方載點

http://notepad-plus-plus.org/download/

 Auto Complete

很多人可能不知道,Notepad++有內建自動完成和參數提示的功能!
【設定 ( T )】 -> 【使用者自訂...】 -> 【備份 / 字詞自動完成功能】
同時其實他也有提供備份的功能



Zen Coding

有個叫做Zen Coding的好東西,可以把HTML / CSS的開發速度提升到極致
Zen Coding Introduction
連結:https://code.google.com/p/zen-coding/

Hex Editor

Hex Editor Plugin



連結:http://goo.gl/gjkbe

2013/03/26

【已經無法使用】YoutubeDownloader [Web]

【已經無法使用】

Google官方表示不歡迎...所以也不更新了 :P
Preview:

Link Here

2013/03/05

C++動態二維陣列 / Dynmaic 2D Array in C++

#include <cstring> // for memcpy
#define NEW2D(H, W, T) (T **)new2d(H, W, sizeof(T))
#define CPY2D(TAR, SRC, H, W, T) cpy2d((void**)TAR, (void**)SRC, H, W, sizeof(T))
#define DEL2D(P) (delete [] P)

void cpy2d(void** tar, void** src, int h, int w, int size) {
    for (register int i = 0; i < h; i++)
        memcpy(tar[i], src[i], size * w);
}

void* new2d(int h, int w, int size)
{
    register int i;
    void **p;
    p = (void**)new char[h * sizeof(void*) + h * w * size];
    for(i = 0; i < h; i++)
        p[i] = ((char *)(p + h)) + i * w * size;
    return p;
}

Using Demo...

int **map = NEW2D(16, 32, int); // Height, Width, Type
scanf("%d", &map[15][31]);
printf("%d\n", map[15][31] + 1);
int **map2 = NEW2D(16, 32, int); // Another 2D array
CPY2D(map2, map, 16, 32, int); // Copy to another array
printf("%d\n", map2[15][31] + 2);
DEL2D(map); // Free meory
DEL2D(map2);
From... Here (in Chinese)

2013/02/07

iAutoUpdater -- 數據自動更新神器

預覽圖:


載點: