2010年4月30日 星期五

[整理]鍵盤keycode


字母和數字鍵(keyCode)
按鍵
KeyCode
按鍵
KeyCode
按鍵
KeyCode
按鍵
KeyCode
A
65
J
74
S
83
1
49
B
66
K
75
T
84
2
50
C
67
L
76
U
85
3
51
D
68
M
77
V
86
4
52
E
69
N
78
W
87
5
53
F
70
O
79
X
88
6
54
G
71
P
80
Y
89
7
55
H
72
Q
81
Z
90
8
56
I
73
R
82
0
48
9
57

右邊數字鍵盤 (keyCode) 功能鍵(keyCode)
按鍵
KeyCode
按鍵
KeyCode
按鍵
KeyCode
按鍵
KeyCode
0
96
8
104
F1
112
F7
118
1
97
9
105
F2
113
F8
119
2
98
*
106
F3
114
F9
120
3
99
+
107
F4
115
F10
121
4
100
Enter
108
F5
116
F11
122
5
101
-
109
F6
117
F12
123
6
102
.
110
7
103
/
111

控制键 (keyCode)
按 鍵
KeyCode
按 鍵
KeyCode
按 鍵
KeyCode
按 鍵
KeyCode
BackSpace
8
Esc
27
Right-Arrow
39
-_
189
Tab
9
Spacebar
32
Dw-Arrow
40
.>
190
Clear
12
Page-Up
33
Insert
45
/?
191
Enter
13
Page-Down
34
Delete
46
`~
192
Shift
16
End
35
Num-Lock
144
[{
219
Control
17
Home
36
;:
186
\|
220
Alt
18
Left-Arrow
37
=+
187
]}
221
Cape-Lock
20
Up-Arrow
38
,<
188
'"
222

keycode 0 =
keycode 1 =
keycode 2 =
keycode 3 =
keycode 4 =
keycode 5 =
keycode 6 =
keycode 7 =
keycode 8 = BackSpace
keycode 9 = Tab
keycode 10 =
keycode 11 =
keycode 12 = Clear
keycode 13 = Enter
keycode 14 =
keycode 15 =
keycode 16 = Shift_L
keycode 17 = Control_L
keycode 18 = Alt_L
keycode 19 = Pause
keycode 20 = Caps_Lock
keycode 21 =
keycode 22 =
keycode 23 =
keycode 24 =
keycode 25 =
keycode 26 =
keycode 27 = Esc Escape
keycode 28 =
keycode 29 =
keycode 30 =
keycode 31 =
keycode 32 = Space
keycode 33 = Page Up
keycode 34 = Page Down
keycode 35 = End
keycode 36 = Home
keycode 37 = Left Arrow
keycode 38 = Up Arrow
keycode 39 = Right Arrow
keycode 40 = Down Arrow
keycode 41 = Select
keycode 42 = Print
keycode 43 = Execute
keycode 44 =
keycode 45 = Insert
keycode 46 = Delete
keycode 47 = Help
keycode 48 = 0 )
keycode 49 = 1 !
keycode 50 = 2 @
keycode 51 = 3 #
keycode 52 = 4 $
keycode 53 = 5 %
keycode 54 = 6 ^
keycode 55 = 7 &
keycode 56 = 8 *
keycode 57 = 9 (
keycode 58 =
keycode 59 =
keycode 60 =
keycode 61 =
keycode 62 =
keycode 63 =
keycode 64 =
keycode 65 = a A
keycode 66 = b B
keycode 67 = c C
keycode 68 = d D
keycode 69 = e E
keycode 70 = f F
keycode 71 = g G
keycode 72 = h H
keycode 73 = i I
keycode 74 = j J
keycode 75 = k K
keycode 76 = l L
keycode 77 = m M
keycode 78 = n N
keycode 79 = o O
keycode 80 = p P
keycode 81 = q Q
keycode 82 = r R
keycode 83 = s S
keycode 84 = t T
keycode 85 = u U
keycode 86 = v V
keycode 87 = w W
keycode 88 = x X
keycode 89 = y Y
keycode 90 = z Z
keycode 91 =
keycode 92 =
keycode 93 =
keycode 94 =
keycode 95 =
keycode 96 = KP_0
keycode 97 = KP_1
keycode 98 = KP_2
keycode 99 = KP_3
keycode 100 = KP_4
keycode 101 = KP_5
keycode 102 = KP_6
keycode 103 = KP_7
keycode 104 = KP_8
keycode 105 = KP_9
keycode 106 = KP_* KP_Multiply
keycode 107 = KP_+ KP_Add
keycode 108 = KP_Enter KP_Separator
keycode 109 = KP_- KP_Subtract
keycode 110 = KP_. KP_Decimal
keycode 111 = KP_/ KP_Divide
keycode 112 = F1
keycode 113 = F2
keycode 114 = F3
keycode 115 = F4
keycode 116 = F5
keycode 117 = F6
keycode 118 = F7
keycode 119 = F8
keycode 120 = F9
keycode 121 = F10
keycode 122 = F11
keycode 123 = F12
keycode 124 = F13
keycode 125 = F14
keycode 126 = F15
keycode 127 = F16
keycode 128 = F17
keycode 129 = F18
keycode 130 = F19
keycode 131 = F20
keycode 132 = F21
keycode 133 = F22
keycode 134 = F23
keycode 135 = F24
keycode 136 = Num_Lock
keycode 137 = Scroll_Lock
keycode 138 =
keycode 139 =
keycode 140 =
keycode 141 =
keycode 142 =
keycode 143 =
keycode 144 =
keycode 145 =
keycode 146 =
keycode 147 =
keycode 148 =
keycode 149 =
keycode 150 =
keycode 151 =
keycode 152 =
keycode 153 =
keycode 154 =
keycode 155 =
keycode 156 =
keycode 157 =
keycode 158 =
keycode 159 =
keycode 160 =
keycode 161 =
keycode 162 =
keycode 163 =
keycode 164 =
keycode 165 =
keycode 166 =
keycode 167 =
keycode 168 =
keycode 169 =
keycode 170 =
keycode 171 =
keycode 172 =
keycode 173 =
keycode 174 =
keycode 175 =
keycode 176 =
keycode 177 =
keycode 178 =
keycode 179 =
keycode 180 =
keycode 181 =
keycode 182 =
keycode 183 =
keycode 184 =
keycode 185 =
keycode 186 =
keycode 187 = =+
keycode 188 = ,< keycode 189 = -_ keycode 190 = .>
keycode 191 = /?
keycode 192 = `~
keycode 193 =
keycode 194 =
keycode 195 =
keycode 196 =
keycode 197 =
keycode 198 =
keycode 199 =
keycode 200 =
keycode 201 =
keycode 202 =
keycode 203 =
keycode 204 =
keycode 205 =
keycode 206 =
keycode 207 =
keycode 208 =
keycode 209 =
keycode 210 = plusminus hyphen macron
keycode 211 =
keycode 212 = copyright registered
keycode 213 = guillemotleft guillemotright
keycode 214 = masculine ordfeminine
keycode 215 = ae AE
keycode 216 = cent yen
keycode 217 = questiondown exclamdown
keycode 218 = onequarter onehalf threequarters
keycode 219 = [{
keycode 220 = \|
keycode 221 = ]}
keycode 222 = '"
keycode 223 =
keycode 224 =
keycode 225 =
keycode 226 =
keycode 227 = multiply division
keycode 228 = acircumflex Acircumflex
keycode 229 = ecircumflex Ecircumflex
keycode 230 = icircumflex Icircumflex
keycode 231 = ocircumflex Ocircumflex
keycode 232 = ucircumflex Ucircumflex
keycode 233 = ntilde Ntilde
keycode 234 = yacute Yacute
keycode 235 = oslash Ooblique
keycode 236 = aring Aring
keycode 237 = ccedilla Ccedilla
keycode 238 = thorn THORN
keycode 239 = eth ETH
keycode 240 = diaeresis cedilla currency
keycode 241 = agrave Agrave atilde Atilde
keycode 242 = egrave Egrave
keycode 243 = igrave Igrave
keycode 244 = ograve Ograve otilde Otilde
keycode 245 = ugrave Ugrave
keycode 246 = adiaeresis Adiaeresis
keycode 247 = ediaeresis Ediaeresis
keycode 248 = idiaeresis Idiaeresis
keycode 249 = odiaeresis Odiaeresis
keycode 250 = udiaeresis Udiaeresis
keycode 251 = ssharp question backslash
keycode 252 = asciicircum degree
keycode 253 = 3 sterling
keycode 254 = Mode_switch
自:http://memorybbs.com/cgi-bin/topic.cgi?forum=238&topic=107

2010年4月27日 星期二

CSS簡寫指南

CSS简写指南 | CSS | 前端观察

高效的css寫法中的一條就是使用簡寫。通過簡寫可以讓你的CSS文件更小,更易讀。而瞭解CSS屬性簡寫也是前端開發工程師的基本功之一。今天我 們系統地總結一下CSS屬性的縮寫。

色彩縮寫

色 彩的縮寫最簡單,在色彩值用16進制的時候,如果每種顏色的值相同,就可以寫成一個:
1
color#113366
可 以簡寫為
1
color#136
所 有用到16進制色彩值的地方都可以使用簡寫,比如background-color、border-color、text-shadow、box- shadow等。

盒子大小

這裡主要用於兩個屬性:margin和padding,我們以margin為 例,padding與之相同。盒子有上下左右四個方向,每個方向都有個外邊距:
1
2
3
4
margin-top:1px;
margin-right:1px;
margin-botton:1px;
margin-left:1px;
這 四個值可以縮寫到一起:
1
margin:1px 1px 1px 1px;
縮 寫的順序是上->右->下->左。順時針的方向。相對的邊的值相同,則可以省掉:
1
2
3
4
margin:1px;//四個方向的邊距相同,等同於margin:1px 1px 1px 1px;
margin:1px 2px;//上下邊距都為1px,左右邊距均為2px,等同於margin:1px 2px 1px 2px
margin:1px 2px 3px;//右邊距和左邊距相同,等同於margin:1px 2px 3px 2px;
margin:1px 2px 1px 3px;//注意,這裡雖然上下邊距都為1px,但是這裡不能縮寫。

邊 框(border)

border是個比較靈活的屬性,它有border-width、border-style、border- color三個子屬性。
1
2
3
border-width:數字+單位;
border-style: none || hidden || dashed || dotted || double || groove || inset || outset || ridge || solid ;
border-color: 顏色 ;
它 可以按照width、style和color的順序簡寫:
1
border:5px solid #369;
有 的時候,border可以寫的更簡單些,有些值可以省掉,但是請注意哪些是必須的,你也可以測試一下:
1
2
3
4
5
border:groove red;  //大家猜猜這個邊框的寬度是多少?
border:solid;  //這會是什麼樣子?
border:5px;  //這樣可以嗎?
border:5px red; //這樣可以嗎??
border:red; //這樣可以嗎???
通 過上面的代碼可以瞭解到,border默認的寬度是3px,默認的色彩是black——黑色。border的縮寫中border- style是必須的
同時,還可以對每條邊採用縮寫:
1
2
3
4
border-top:4px solid #333;
border-right:3px solid #666;
border-bottom:3px solid #666;
border-left:4px solid #333;
還 可以對每個屬性採用縮寫:
1
2
3
border-width1px 2px 3px; //最多可用四個值,縮寫規則類似盒子大小的縮寫,下同
border-stylesolid dashed dotted groove;
border-color:red blue white black;

outline

outline 類似border,不同的是border會影響盒模型,而outline不會。
1
2
3
outline-width:數字+單位;
outline-style: none || dashed || dotted || double || groove || inset || outset || ridge || solid ;
outline-color: 顏色 ;
可 以縮寫為:
1
outline:1px solid red;
同 樣,outline的簡寫中,outline-style也是必須的,另外兩個值則可選,默認值和border相同。

背景 (background)

background是最常用的簡寫之一,它包含以下屬性:
1
2
3
4
5
background-color: color || #hex || RGB(% || 0-255) || RGBa;
background-image:url();
background-repeat: repeat || repeat-x || repeat-y || no-repeat;
background-position: X Y || (top||bottom||center) (left||right||center);
background-attachment: scroll || fixed;
background 的簡寫可以大大的提高css的效率:
1
background:#fff url(img.png) no-repeat 0 0;
background 的簡寫也有些默認值:
1
background:transparent none repeat scroll top left ;
background 屬性的值不會繼承,你可以只聲明其中的一個,其它的值會被應用默認的。

font

font簡寫也是使用最多的一個,它也是 書寫高效的CSS的方法之一。
font包含以下屬性:
1
2
3
4
5
6
font-style: normal || italic || oblique;
font-variant:normal || small-caps;
font-weight: normal || bold || bolder || || lighter || (100-900);
font-size: (number+unit) || (xx-small - xx-large);
line-height: normal || (number+unit);
font-family:name,"more names";
font 的各個屬性也都有默認值,記住這些默認值相對來說比較重要
1
2
3
4
5
6
font-style: normal;
font-variant:normal;
font-weight: normal;
font-size: inherit;
line-height: normal;
font-family:inherit;
事 實上,font的簡寫是這些簡寫中最需要小心的一個,稍有疏忽就會造成一些意想不到的後果,所以,很多人並不贊成使用font縮寫
不 過這裡正好有個小手冊,相信會讓你更好的理解font的簡寫:
font缩写

列 表樣式

可能大家用的最多的一條關於列表的屬性就是:
1
list-style:none
它 會清除所有默認的列表樣式,比如數字或者圓點。
list-style也有三個屬性:
1
2
3
list-style-type:none || disc || circle || square || decimal || lower-alpha || upper-alpha || lower-roman || upper-roman
list-style-position:  inside || outside || inherit
list-style-image:  (url) || none || inherit
list- style的默認屬性如下:
1
list-style:disc outside none
需 要注意的是,如果list-tyle中定義了圖片,那麼圖片的優先級要比list-style-type高,比如:
list-style:circle inside url(../img.gif)
這 個例子中,如果img.gif存在,則不會顯示前面設置的circle符號。
PS:其實list-style-type有很多種很有用的樣 式,感興趣的同學可以參考一下:https://developer.mozilla.org/en/CSS/list-style-type

border- radius(圓角半徑)

border-radius是css3中新加入的屬性,用來實現圓角邊框。這個屬性目前不好的一點兒是,各個瀏 覽器對它的支持不同,IE尚不支持,Gecko(firefox)和webkit(safari/chrome)等需分別使用私有前綴-moz-和 -webkit-。更讓人糾結的是,如果單個角的border-radius屬性的寫法在這兩個瀏覽器的差異更大,你要書寫大量的私有屬性:
1
2
3
4
5
6
7
8
9
-moz-border-radius-bottomleft:6px;
-moz-border-radius-topleft:6px;
-moz-border-radius-topright:6px;
-webkit-border-bottom-left-radius:6px;
-webkit-border-top-left-radius:6px;
-webkit-border-top-right-radius:6px;
border-bottom-left-radius:6px;
border-top-left-radius:6px;
border-top-right-radius:6px;
呃, 是不是你已經看的眼花了?這只是要實現左上角不是圓角,其它三個角都是圓角的情況。所以對於border-radius,神飛強烈建議使用縮寫:
1
2
3
-moz-border-radius:0 6px 6px;
-webkit-border-radius:0 6px 6px;
border-radius:0 6px 6px;
這 樣就簡單了很多。PS:不幸的是,最新的Safari(4.0.5)還不支持這種縮寫… (thanks @fireyy)

PostgreSQL 的自動備份策略

ChiaHu's Blog » PostgreSQL 的自動備份策略

如果 PostgreSQL 的連線設定需要使用密碼,那麼在利用 crontab 排程自動執行備份指令時,也會遇到需要輸入密碼而無法自動執行的情況。
如果你需要多台資料庫並行運作,共用負擔資料的操作動作,而且資料內容異動頻繁。那麼你需要採用 WAL 的方式。另一種採用 WAL 的場合在大型資料庫系統。當你的資料庫空間成長到數百MB或GB的單位時,你也需要考慮改用 WAL 。因為 WAL 採用 log 同步機制,每次備份時只需要傳輸上次備份時間到目前時間的異動資訊,而不會傳輸整個資料庫的內容。關於 WAL 的操作,不在本文的說明中。
PostgreSQL 在 8 版之後可以使用「.pgpass」來為使用者設定自動認證。
以下介紹詳細步驟
1. 假如我們要連線的資料庫位置為「localhost」(表示本機端)、連接埠為「5432」(PostgreSQL預設連接埠)、資料庫名稱為 「database」、資料庫帳號為「username」、密碼為「password」。注意,username 不一定要跟你執行 crontab 的帳號相同。
2. 切換到執行 crontab 的實體帳號,假如是「postgres」,則利用su指令切換:
[postgres@pgdb:/root/]# su postgres
3. 在該帳號的家目錄新增檔案「.pgpass」
[postgres@pgdb:/home/postgres/]# vi ~/.pgpass
4. 利用vi編輯器輸入以下資料:(格式為: hostname:port:database:username:password )
localhost:5432:database:username:password
完成之後儲存離開。
5. 修改 .pgpass 的權限為 600
[postgres@pgdb:/home/postgres/]# chmod 600 ~/.pgpass
6. 測試看看,利用 pg_dump 匯出資料庫到「/backups/dbbak.sql」
[postgres@pgdb:/]# pg_dump -U username database > /backups/dbbak.sql
7. 如果「/backups/dbbak.sql」有檔案,並且內文為正確的 SQL 檔,則表示認證成功。反之,如果系統要求你輸入密碼,那可能是哪個步驟做錯了,請回頭一一確認。
8.當確認可以自動通過認證,以指令執行 PostgreSQL 匯出的之後,就可以把這些指令撰寫於 backupdb.sh,將它放置在 /home/postgres 底下,backupdb.sh 參考內容如下:
#!/bin/sh

day=`date +%Y-%m-%d`
pg_dump -U username database > /backups/dbbak_$day.sql
說明:也就是將 database 資料庫備份到 /backups/ 底下,檔名則依 dbbak_年月日.sql 格式命名
9. 加入 crontab 排程內,每天凌晨3:30做備份。
30 3 * * * postgres /home/postgres/backupdb.sh