每次用 autocomplepop 都會覺得右有要移動到方向鍵才能選字實在麻煩。
於是開使加了一些 short keys 讓操作簡單一底,二隻手也可以盡量不宜開主鍵盤區域。
在 .vimrc 中加入 maping,來取帶 arrow 按鍵:
imap <C-J> <Down>
imap <C-K> <Up>
這樣編輯時跳出選字方塊時,變可以使用 Ctrl + J or K 來上下選字。
軟體開發、伺服器和生活瑣事
每次用 autocomplepop 都會覺得右有要移動到方向鍵才能選字實在麻煩。
於是開使加了一些 short keys 讓操作簡單一底,二隻手也可以盡量不宜開主鍵盤區域。
在 .vimrc 中加入 maping,來取帶 arrow 按鍵:
imap <C-J> <Down>
imap <C-K> <Up>
這樣編輯時跳出選字方塊時,變可以使用 Ctrl + J or K 來上下選字。
Post/Redirect/Get (PRG) pattern 是一種處理表單資料的流程,可以防止使用者回上一頁、或是使用重新整理的方式重複送出表單資料。
再拿留言板舉例 (萬年題材 XD),假設在 form.html 填寫完表單,送出到資料到 post.php,而 post.php 處理資料後直接將結果顯示出來 (傳回 HTML),這個時候再瀏覽器按下「重新整理」按鈕,變會看到提示訊息,詢問是否要重送表單內容。
此時若重送表單資料,則會重新送出一模一樣的內容,若 post.php 沒有特別檢查,就會重複處理。很久以前開心農場就是用這種方法洗禮物的。
為了避免瀏覽器可以重新整理頁面,將資料處理的流程稍微做個調整:
post.php 寫法大致如下:
if(saveData($_POST)){
$status = 'ok';
}else{
$status = 'error';
}
header('Location: done.php?status=' . $status);
由於使用 HTTP 3xx 重新導向,瀏覽器不會將 post.php 紀錄到瀏覽紀錄中,按下「上一頁」按鈕也是回到 form.html 而非 post.php,且 done.php 使用 HTTP GET 方式取得內容,所以重新整理頁面也不會重新送出表單內容。此流程按照三個步驟的 HTTP request 方式稱為 Post/Redirect/Get pattern。
PRG pattern 寫起來至少會有三個頁面要實作,也是挺麻煩的。若還要簡單一點的方式,那大概就是改用 AJAX 處理表單了吧。
Reference:
Post/Redirect/Get – Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Post/Redirect/Get
最近手腕舊傷似乎又復發了,距離上一次了大約一年。
去年不明原因手腕腫起來就醫,診斷為肌腱發炎,做了接近一年的復健才康復,而最近又有僵硬、酸痛的症狀發生。
這二次的共通點大致都是工作較忙、打字數較多,最近注意了一下,左手在按組合按鍵時的姿勢特別覺得酸,注意了一下打字的習慣。
平常均使用左手按 Ctrl / Alt / Shift,另外的 key 則是看哪隻手位置比較順。另外也稍微注意一下主要的開發環境,vim 編輯程式時,會用到 Ctrl + w (switch window)、zR / zM (folding)、Ctrl + F (page down) 等,還有一個可能的原因是 PHP 的語法中,所有的變數名稱都是「$」開頭,讓左手的負擔加重。
嘗試了改用右手還按組合鍵,不過習慣難改,工作效率反而一直往下掉。看來就只有晚上多休息,先撐過專案以後,來考慮修改 vim key map,甚至換掉原有的鍵盤排列方式。