Quantcast
Channel: 簡睿隨筆
Viewing all 897 articles
Browse latest View live

Windows+Linux雙系統救回grub選單的步驟

$
0
0

我家裡的桌機是Windows 8.1+Linux Mint 16雙系統,平常主要是使用Linux上上網、看看影片,有天晚上以Windows開機要做點公事,不知為何IE 11發生異常,無法正常啟動,用光碟片開機修復也還是異常,最後只好重設系統,因而也將Linux的grub開機程式給覆蓋掉。最後使用下列步驟重新讓grub開機選單再度出現:

  1. 先用fdisk -l查看硬碟資訊,如果先裝Windows、再安裝Linux的話,Linux一般會在/dev/sda5
  sudo fdisk -l
  

2.將Linux分區掛載起來

  sudo mount /dev/sda5 /mnt
  

3.安裝grub到/dev/sda5

  sudo grub-install /dev/sda --root-directory=/mnt
  

系統可能回應如下:

  grub probe: error: failed to get canonical path of /cow
  Installation finished. No error reported.
  

4.重開Linux

  sudo reboot
  

5.重新進入Linux後執行下列命令將Windows選項加入grub功能表裡

  sudo update-grub
  

操作過程中若有Windows系統碟消失狀況時,以光碟開機再開啟命令提示字元(DOS視窗)以下列指令回復:

bootrec /fixmbr

參考:

您可能也會有興趣的類似文章

The post Windows+Linux雙系統救回grub選單的步驟 appeared first on 簡睿隨筆.


獨立的YouTube播放器應用程式,適用於Windows、Mac與Ubuntu

$
0
0

覺得youtube.com網站廣告太多、頁面令人眼花繚亂嗎?或是想要跟Android或iOS等行動設備一樣,在桌面也能有獨立的YouTube播放軟體嗎?Minitube(袖珍電視機?)提供了這個功能,能在Windows、Mac與Ubuntu上執行可惜Windows與Mac版需要費用(17.99歐元)並且能試用30天,幸好Ubuntu版本則能免費使用。

搜尋功能

Minitube的操作很簡單,基本上就是分成搜尋、瀏覽與下載等幾大功能,由上方的頁籤能切換搜尋或瀏覽,下載則由功能表【Video】→【Download】操作。在搜尋頁面輸入關鍵字並按Watch就能列出符合關鍵字的影片。可惜中文輸入似乎有點問題,只好在別的編輯器裡輸入好再由剪貼簿複製過來。
enter image description here

瀏覽功能

瀏覽會分門別類好讓我們點擊最熱門、最多分享等分類,點擊再由清單找到要看的影片後雙擊播放。第一次執行時是以全球為範圍來過濾的,點擊右下角的Wordwide後就能挑選Taiwan,以台灣地區為處理範圍。
enter image description here

下載功能

Minitube能讓我們很簡單的把要看的影片下載到本機硬碟,按〔Ctrl+S〕或由功能表【Video】→【Download】就能下載影片的MP4檔案。
enter image description here

下載後的影片能在Downloads頁面裡看到,使用〔Change location…〕就能變更存放位置。 enter image description here

相關資訊

##

您可能也會有興趣的類似文章

The post 獨立的YouTube播放器應用程式,適用於Windows、Mac與Ubuntu appeared first on 簡睿隨筆.

Toodledo官方版Android App終於推出了

$
0
0

Toodledo是個很多人用的GTD工作法的免費網路服務,終於在1月27日推出了官方的Android App了。

Toodledo 1 Toodledo 2 Toodledo 3

有興趣的朋友們找個時間下載來用看看是否比DGT GTD Toodledo好用。

Toodledo App資訊

##

您可能也會有興趣的類似文章

The post Toodledo官方版Android App終於推出了 appeared first on 簡睿隨筆.

Android手機雲端備份實戰

$
0
0

在現今的時代潮流中,人手一機的趨勢已然成形,隨著人們對手機的依賴與日俱增的同時,手機中重要資料的妥善保存,其重要性也相對的提高,為避免手機中重要資料的遺失,當今APP市場上油然開發出一些APP備份軟體,除了備份在手機外也提供一些異地備援的機制,進而加強資料備份的完整性,我們在此介紹資料備份跟同步有關的軟體給各位參考。

01:超級備份(Super Backup)

「超級備份」提供Android手機用戶將手機中的應用、通訊錄、簡訊、通話記錄、書籤、日曆等資料備份至儲存卡或者寄送到Gmail存放,以減少手機重要資料遺失時的影響,並能迅速將資料還原。 此為繁體中文介面的免費軟體,可逕由Google Play下載,而Android 最低版本需求僅2.0.1 以上即可。 下圖是開啟超級備份後的主畫面,我們將會在之後的文章中依序以畫面介紹其功能。
@圖1-1

01:程式備份

下圖為「程式備份」功能選項所列之程式清單(馬賽克部分為廣告),曾經備份過的APP會出現「已備份」三個字,你可單獨勾選欲備份的APP應用程式,也可勾選〔備份〕鈕旁的勾選項目進行全部勾選(如圖1-2紅圈部分)。 〔備份(1)〕按鈕中的數字代表已勾選之應用程式數目,當確認無誤時即可直接點擊〔備份〕按鈕進行備份。

@圖1-2

程式備份中,備份後的apk檔案存放在/mnt/sdcard/SmsContactsBackup/apks目錄下。

圖1-3

02:手機簡訊備份

下圖為「簡訊備份」功能選項之主畫面。

@圖1-4
圖1-4

點擊「備份全部簡訊」後出現下圖畫面,預設目錄為/mnt/sdcard/SmsContactsBackup/sms而預設檔名由「sms_+西元年+月+日+分+秒」為檔名所組成的XML檔案,你可自行修改備份檔名。

@圖1-5

點擊圖1-4中的「備份會話串」功能後會出現下圖簡訊會話之清單供勾選,你也可以勾選備份鈕旁邊的打勾選項進行全部勾選,確認無誤後點擊〔備份〕按鈕進行備份。

@圖1-6

上圖勾選後點擊〔備份〕出現下圖畫面,預設的檔名由「西元年+月+日+分+秒」為檔名所組成的XML檔案,你可自行修改備份檔名。

@圖1-7

如下圖,備份後系統會詢問是否要發送到 Email備份,你可點擊〔發送〕將備份檔寄送到指定的電子郵件。

@圖1-8

點擊圖1-4中的「還原簡訊」功能後會出現先前備份之XML檔案清單供勾選,只要點選檔案名稱系統就會開始還原該備份檔。

@圖1-9

下圖為備份完畢後之畫面,你可以點選〔產看簡訊〕(筆者認為此為筆誤,原意應為「查看簡訊」)按鈕檢視還原後的簡訊紀錄。

@圖1-10

如下圖,點擊圖1-4中的「查看備份」功能後會列出先前備份之XML檔案清單。

@圖1-11

上圖點選檔案名稱後,系統會將簡訊列出如下圖

@圖1-12

點擊圖1-4中的「備份到郵箱」功能後,系統會出現下圖畫面,並列出備份檔案清單讓你選擇要備份到郵箱的XML檔案。

@圖1-13

如下圖,當你選擇一個備份檔後系統會詢問要備份到的郵箱總類。

@圖1-14

當選擇郵箱總類(如Gmail)後出現下圖畫面,備份檔案會以附件方式夾帶於信件中,點擊圖中紅圈處的 按鈕可存成草稿,當郵件寫完後點擊圖中紅框處的 按鈕直接傳送郵件。

@圖1-15

點擊圖1-4中的「刪除備份」功能後,系統會出現下圖畫面,並列出備份檔案清單讓你選擇要刪除的備份檔案,勾選後點擊〔刪除〕按鈕即可刪除。

@圖1-16

當備份檔案刪除完畢後會出現下圖「備份檔案刪除成功」之訊息畫面

@圖1-17

點擊圖1-4中的「刪除手機簡訊」功能後,系統會出現如下畫面,你如果點擊〔確認〕按鈕則系統會將手機中的所有簡訊刪除。

@圖1-18

03:聯絡人備份

圖1-1點擊〔備份聯絡人〕後進入以下子功能選項畫面。

@圖1-19

圖1-19

圖1-19點擊〔備份聯絡人〕後進入下圖畫面,備份資料夾為/mnt/sdcard/SmsContactsBackup/contacts而預設備份檔名為「contacts_+西元年+月+日+時+分+秒」之vcf檔案,你可以自行修改備份的檔名,確認檔名後點擊〔確定〕按鈕開始備份。

@圖1-20

備份完畢後系統會詢問是否將備份檔寄送到E-MAIL,若你點擊〔發送〕按鈕可將備份檔寄送到指定的Mail內。

@圖1-21

點擊圖1-19的〔還原聯絡人〕按鈕進入下圖畫面,選擇備份的檔案後還原聯絡人。

@圖1-22

點擊圖1-19的〔查看備份〕按鈕進入下圖畫面,選擇備份的檔案後可查看備份檔內的聯絡人。

@圖1-23

點擊圖1-19的〔備份到郵箱〕按鈕進入下圖畫面,選擇備份檔案後則可將該檔案寄送到指定的電子郵件內。

@圖1-24

點擊圖1-19的〔刪除備份檔案〕按鈕進入下圖畫面,勾選備份檔案後點擊〔刪除〕按鈕開始刪除備份檔。

@圖1-25

備份檔刪除後程式會出現下圖中之對話框,點擊〔確定〕後返回前畫面。

@圖1-26

點擊圖1-19的〔刪除手機聯絡人〕按鈕進入下圖畫面,點擊〔確定〕按鈕後會將手機內的聯絡人全部刪除。

@圖1-27

04:通話紀錄備份

下圖為「通話紀錄備份」功能選項之主畫面。

@圖1-28
圖1-28

圖1-28點擊〔備份通話紀錄〕按鈕後進入下圖畫面,預設備份檔案的路徑為「/mnt/SmsContactsBackup/logs」目錄下,預設檔名為「calllogs_+西元年+月+日+時+分+秒」的XML檔案,你可以自行修改備份檔名。

@圖1-29

備份通話紀錄完畢後程式會詢問是否將備份檔案寄送到指定的電子郵箱備存,點擊〔發送〕後即可寄送備份檔案。

@圖1-30

點擊圖1-28中的〔還原通話紀錄〕後出現下圖畫面,點選所要還原的備份檔後程式會自動進行還原。

@圖1-31

通話紀錄還原後出現下圖畫面,點擊〔查看通話紀錄〕可看到手機的通話紀錄。

@圖1-32

點擊1-28圖中的〔查看備份〕進入下圖畫面,點選備份檔可直接查看通話紀錄。

@圖1-33

點擊圖1-28中的〔備份到郵箱〕按鈕後進入下圖畫面,點選備份的檔案後開始寄送。

@圖1-34

點擊圖1-28中的〔刪除備份檔案〕按鈕後進入下圖畫面,勾選欲刪除的備份檔案後點擊〔刪除〕按鈕進行刪除。

@圖1-35

點擊圖1-28中的〔刪除手機通話紀錄〕按鈕進入下圖,點選〔確定〕鈕後程式會刪除手機中所有的通話紀錄。

@圖1-36

05:日曆活動備份

下圖為〔日歷活動備份〕的所有功能選項。

@圖1-37
圖1-37

圖1-37點擊〔備份日曆活動〕按鈕後進入下圖畫面,預設備份檔案的路徑為/mnt/SmsContactsBackup/calendars/目錄下,預設檔名為「cal_+西元年+月+日+時+分+秒」的XML檔案,你可以自行修改備份檔名。

@圖1-38

備份日曆活動紀錄完畢後程式會詢問是否將備份檔案寄送到指定的電子郵箱備存,點擊〔發送〕後即可寄送備份檔案。

@圖1-39

點擊圖1-37中的〔還原日曆活動〕後出現下圖畫面,點選所要還原的備份檔後程式會自動進行還原。

@圖1-40

日曆活動紀錄還原後出現下圖畫面,點擊〔查看日曆活動〕按鈕則會開啟日曆程式查看日曆活動。

@圖1-41

點擊圖1-37中的〔備份到郵箱〕按鈕後進入下圖畫面,點選備份的檔案後開始寄送。

@圖1-42

點擊圖1-37中的〔刪除備份檔案〕按鈕後進入下圖畫面,勾選欲刪除的備份檔案後點擊〔刪除〕按鈕進行刪除。

@圖1-43

點擊圖1-37的〔刪除手機日曆活動〕按鈕進入下圖畫面,點擊〔確定〕按鈕後會將手機內的聯絡人全部刪除。

@圖1-44

06:網址書籤備份

下圖為〔網址書籤備份〕的所有功能選項。

@圖1-45
圖1-45

圖1-45點擊〔備份網址書籤〕按鈕後進入下圖畫面,預設備份檔案的路徑為SmsContactsBackup/bookmarks/目錄下,預設檔名為「boolmarks_+西元年+月+日+時+分+秒」的XML檔案,並可以自行修改備份檔名。

@圖1-46

備份網址書籤完畢後程式會詢問是否將備份檔案寄送到指定的電子郵箱備存,點擊〔發送〕後即可以附件方式寄送備份檔案。

@圖1-47

點擊圖1-45 中的〔還原網址書籤〕後出現下圖畫面,點選所要還原的備份檔後程式會自動進行還原。

@圖1-48

網址書籤紀錄還原後出現下圖畫面,點擊〔查看網址書籤〕按鈕則會開啟預設的瀏覽器供檢視書籤。

@圖1-49

點擊圖1-45中的〔查看備份〕按鈕後進入下圖畫面,點選備份的檔案進行查看。

@圖1-50

下圖為書籤網址備份檔內所紀錄的書籤網址。

@圖1-51

點擊圖1-45中的〔備份到郵箱〕按鈕後進入下圖畫面,點選備份的檔案後開始寄送。

@圖1-52

點擊圖1-45中的〔刪除備份檔案〕按鈕後進入下圖畫面,勾選欲刪除的備份檔案後點擊〔刪除〕按鈕進行刪除

@圖1-53

點擊圖1-45的〔刪除手機網址書籤〕按鈕進入下圖畫面,點擊〔確定〕按鈕後會將手機內的網址書籤全部刪除。

@圖1-54

02:DropSync Dropbox同步軟體

DropSync是一款提供手機透過Dropbox帳戶與電腦檔案同步的APP軟體,其最低Android版本需求為2.0 以上即可安裝,可透過Google Play下載免費的版本,若需要購買Pro版本亦可到Google Play網站購買PRO KEY,而我們在此將要介紹的是專業版本。

01:DropSync的安裝

當第一次進行安裝時會出現下圖畫面,請點擊〔與Dropbox連結〕開始建立Dropbox的帳號連結。

@圖2-1

連上Dropbox的時候需提供Dropbox帳號與密碼以便日後手機依此帳密進行檔案的同步。

@圖2-2

如下圖,輸入完Dropbox帳密登入後,接著會要求允許存取Dropbox內的檔案權限,此時點擊〔允許〕進入下步驟。

@圖2-3

如下圖,當第一次安裝時會出現一些注意事項,閱讀後請點〔下一步〕繼續。

@圖2-4

如下圖,請選擇手機內日後用來同步到Dropbox的資料夾,你可以點擊〔新增資料夾〕建立一個新的資料夾,若確定資料夾後可點擊〔選擇〕按鈕進行最後的選擇確認。

@圖2-5

如下圖,我們在sdcard中選擇了dropbox這個資料夾作為同步的資料夾。

@圖2-6

接下需選擇一個要同步的DropBox資料夾,我們選擇一個/Android/phone資料夾來作範例,日後手機的資料夾會與此資料夾進行同步。

@圖2-7](https://lh6.googleusercontent.com/-p83K3wLiLrY/UuiciCWd3gI/AAAAAAAB2L0/K-3lgGVt61Y/s320/DropSync2-7.png)

如下圖,同步的資料夾選擇完畢後,預設為「雙向同步」,妳可以點擊向右的箭頭選擇同步方式。

@圖2-8

如下圖,程式提供了一些同步的方式,除了畫面上顯示之外,往下拉還有「下載後刪除」、「鏡像下載」這兩個選項,選擇完畢後下方都會有該同步方式的運作方式解說,可自行參考說明。

@圖2-9

安裝完畢後程式會出現下圖畫面,列出本地端與Dropbox端同步的資料夾以及同步方式,點擊〔完成〕即可完成安裝。

@圖2-10

安裝完成後程式會用你指定的同步方式進行第一次的檔案同步。

@圖2-11

接下來我們來作一點小測試,如下圖,我們把一個叫「遊戲點子.txt」的檔案拷貝到之前安裝時指定會與手機同步的Dropbox資料夾/Android/phone。

@圖2-12

此時我們再回到手機,開啟DropSync程再次執行同步,系統會下載剛剛我們存放在Dropbox資料夾中的檔案。

@圖2-13

接下來用檔案瀏覽器查看一下/sdcard/dropbox資料夾,確實有下載了檔案。

@圖2-14

02:DropSync的同步歷程與設定

進入Dropsync主畫面後點擊手機上【選單】按鈕(通常是首頁左邊的那個按鈕)會出現下圖中「同步歷程」與「設定」兩個選項按鈕。

@圖2-15

點擊圖2-15中的【同步歷程】按鈕後,會顯示同步的方式、開始時間及完成時間等資料供參考

@圖2-16

若於圖2-15中點擊【設定】按鈕後,則會出現「檔案和資料夾」、「自動同步」、「使用者介面」、 「同步歷程」、「Dropbox帳號」、「安全性」、「備份/還原設定」等分類設定,下圖為「檔案和同步資料夾」的設定畫面,接下來我們只針對一些有特殊畫面作介紹,其餘選項可自行參考字面意義勾選 ,其中「智慧型變更偵測」為專業版才可勾選之項目。

@圖2-17

點擊圖2-17中的【同步的資料夾】出現下圖畫面,會先將目前已排程同步的資料夾列出 ,你可透過勾選畫面上的選項切換「停用」或「啟用」 該資料夾同步功能,圖中【加入同步的資料夾】為專業版才有提供之功能。

@圖2-18

點擊同步的資料夾後程式會出現下圖畫面

  • 【編輯】:可重新選擇同步的本地資料夾與Dropbox資料夾。
  • 【停用】:則暫時停止同步此資料夾,功能同圖2-18中勾選攻能。
  • 【刪除】:完全刪除此同步資料夾的設定。

@圖2-19

下圖是透過圖2-18中【加入同步的資料夾】另外加入一個同步資料夾後的結果。

@圖2-20

點擊圖2-18中的【名稱排除規則】進入下圖畫面,此功能可以套上一些規則用來排除不想同步的檔案,規則撰寫方式請自行參考說明。

@圖2-21

上圖點擊【加入規則】後進入下圖畫面,可輸入規則樣式,我們這些先打入較簡單的「**/.bak」樣式過濾掉.BAK

@圖2-22

名稱排除規則確定後進入下圖畫面,畫面中會顯示剛加入的規則。

@圖2-23

上圖中點擊「**/*.bak」排出規則後會出現下圖畫面,你可以重新編輯規則或刪除此規則。

@圖2-24

接下來我們到Dropbox同步的資料夾Android/phone中新增一個「遊戲點子.bak」的檔案,符合名稱排除的規則。

@圖2-25

如下圖,我們再用檔案瀏覽器檢查手機/sdcard/dropbox資料夾,並沒有下載「遊戲點子.bak」這個檔案,因為已經被名稱排除規則排除。

@圖2-26

點擊圖2-17中的【上傳檔案大小限制】後出現下圖,預設「<8MB」,最小可以到1.5MB,專業版最大則可以大到「無限制」。

@圖2-27

點擊圖2-17中的【下傳檔案大小限制】後出現下圖,預設為「無限制」,可自行選擇大小,最小可以到1.5MB的限制。

@圖2-28

下圖為「自動同步」類別之所有設定項目,接下來我們只針對一些有特殊畫面作介紹,其餘選項可自行參考字面意義勾選即可。

@圖2-29
圖2-29

點擊圖2-29中的【自動同步間隔】後進入下圖畫面,預設是1小時,最短為5分鐘,最長為24小時。

@圖2-30

點擊圖2-29中的【重試間隔】後進入下圖畫面,預設是10分鐘,最短為2分鐘,最長為24小時。

@圖2-31

點擊圖2-29中的【電力來源】後進入下圖畫面,預設為「充電器/USB/電池」,亦即當插上充電器或插上USB或是用手機電池時,可正常進行同步運作。

@圖2-32

點擊圖2-29中的【使用電池時只在此電量條】後進入下圖畫面,預設為「>50%」,亦即當使用手機電池時若目前電量大於50%方可正常同步運作,最高為「>85%」最低為「>0%直到電池沒電」。

@圖2-33

點擊圖2-29中的【使用電池時只在此電量條】後進入下圖畫面,預設為「僅限Wi-Fi」,亦即當使用Wi-Fi連線時行方可正常同步運作。

@圖2-34

點擊圖2-29中的【允許的WiFi網路】輸入Wi-Fi的SSID,當使用該Wi-Fi連線時方可正常同步運作,若有多個SSID則以空格或逗號分開。

@圖2-35

點擊圖2-29中的【允許的WiFi網路】輸入Wi-Fi的SSID,當使用該Wi-Fi連線時不進行同步運作,若有多個SSID則以空格或逗號分開。

@圖2-36

下圖為「使用者介面 」類別之所有設定項目,接下來我們只針對一些有特殊畫面作介紹,其餘選項可自行參考字面意義勾選即可。

@圖2-37

點擊圖2-37內的【佈景主題顏色】選項後進入下圖畫面,預設為「亮色風格」。

@圖2-38

點擊圖2-37內的【語言】選項後進入下圖畫面,預設為「系統語言」。

@圖2-39

下圖為設定中的【同步歷程最大時限】與【Dropbox帳號】分類選項。

@圖2-40

當點擊圖2-40中【同步歷程最大時限】按鈕後進入下圖,此為同步歷程保留之時限,大於此期限的歷程紀錄會被刪除,預設為4天,最小為1天最大則為7天。

@圖2-41

當點擊圖2-40中【Dropbox帳號】會出現下圖畫面,當點擊【是】按鈕後會取消目前所設定的Dropbox帳號。

@圖2-42

下圖為「安全性」類別之所有設定項目,【設定密碼】及【密碼逾時】選項功能,需有設定密碼時才可以進行設定。

@圖2-43

點擊圖2-43【保護設定】選項後進入下圖,請輸入密碼後按下確定,日後要進入設定畫面時程式會要求輸入在此所設定的密碼。

@圖2-44

如下圖,當第一次輸入密碼後系統會再要求輸入一次密碼進行確認。

@圖2-45

點擊圖2-43【密碼逾時】選項後進入下圖,此設定當手機待機若超過多少時間再回到設定畫面時,需重新輸入密碼,預設為15秒,最久為10分鐘。

@圖2-46

下圖為「備份/還原設定」類別之所有設定項目。

@圖2-47

圖2-47中點擊【備份設定】後,程式會將目前的設定存於「/mnt/sdcard/DropSync/backup/DropsyncSettings.bkp」檔案中。

@圖2-48

圖2-47中點擊【還原設定】後,程式會將定存於

@圖2-49

下圖設定中【關於】分類內的所有選項,內含版本資訊與其他相關支援,可自行點入觀看說明。

@圖2-50

原文發表於密技偷偷報第70期《Android手機雲端備份實戰》一文,詳見此期雜誌。

##

您可能也會有興趣的類似文章

The post Android手機雲端備份實戰 appeared first on 簡睿隨筆.

[Ubuntu] 使用youtube-dl下載YouTube.com的影片

$
0
0

使用minitube準備下載對岸的2014年春晚來看看,沒想到下載了一下minitube就掛了,無法順利下載,找了一下其他YouTube的下載方法,最後用命令行的youtube-dl下載成功了。以下是安裝與操作的步驟。

  1. 用下列指令安裝youtube-dl
    sudo apt-get install youtube-dl
  
  1. 用瀏覽器瀏覽http://youtube.com,搜尋到需要的影片後複製其網址
  2. 輸入下列指令先找出能下載的影片格式,我打算下載成1080p的高清格式,因此格式代碼是137(後記:137、136下載的檔案都無法播放,改用22就可以…):
    youtube-dl -F http://www.youtube.com/watch?v=7pKHsPcQot4
  

youtube-dl 1 4. 以-f 137下載成1080p的格式:

    youtube-dl -f 137 http://www.youtube.com/watch?v=7pKHsPcQot4
  

youtube-dl 2

youtube-dl真是簡單又方便。

##

您可能也會有興趣的類似文章

The post [Ubuntu] 使用youtube-dl下載YouTube.com的影片 appeared first on 簡睿隨筆.

使用Ant-Renamer批次重新命名照片檔與影片檔

$
0
0

最近朋友聚餐、親友拜年等活動頻繁,由各處分享來的照片檔與影片檔也變得很多,在整理由親朋好友分享出來的檔案時發現似乎很多人都直接用原始檔名在保存照片檔,要在一大堆的IMG_或DSC開頭的檔案裡找到檔案實在很困難,其實在分享前應該使用批次命名工具,將原始檔名替換成較有意義的名稱,這樣不只方便分類歸檔,也更容易辨識。當我們用手機拍攝的照片或影片透過Dropbox或Google Drive自動上傳時,檔名都會變成「日期 時間」的易讀格式。以下是我使用Ant-Renamer來複製SONY NEX-3相機檔案的操作步驟。

  1. 接上相機後按【新增資料夾…】,由檔案總管找到相機的磁碟機後再選DCIM(照片檔)或MP_ROOT(影片檔),按〔確認〕後,選取資料夾裡的檔案會列於視窗裡。 1

  2. 點擊功能表上的【動作】,接著再由左側選用檔名的格式,照片檔可以選【Use EXIF info】,影片檔可以選【匯入日期】。

    • USe EXIF info的格式會是「%datetime%%ext%」,例如2014-02-06 12-30-45.JPG,如果想換樣式可以按右邊中央的Help連結查看能用的格式字元
    • 匯入日期的預設格式是「yyyy'-'mm'-'dde」,我們可以將它變更為「yyyy'-'mm'-'dd' 'hh'-'nn'-'sse」把時分秒也加到檔名裡
      2
  3. 選擇好改名格式後,切換回【檔案】頁面,按〔F5〕以新格式在【預覽】欄位重新顯示新檔名,確認沒問題後按功能表→【執行】執行重新命名處理。 3

簡單幾個步驟就能帶來諸多便利,何樂不為呢?檔名格式裡當然能加上更有意義的文字,只要用單引號夾住就可以,例如「%datetime%'-春節旅遊'%ext%」。

Ant-Renamer相關資訊

##

您可能也會有興趣的類似文章

The post 使用Ant-Renamer批次重新命名照片檔與影片檔 appeared first on 簡睿隨筆.

另一個解決Windows 8檔案總管開啟緩慢的方法

$
0
0

我在解決Windows 8資料夾開啟遲延的步驟裡介紹解決Windows 8檔案總管開啟緩慢的方法,但如果依照文中設定處理過後,卻仍然偶有開啟緩慢狀況時,可以使用下列方法再試看看。

  1. 由DriveCleanup網上下載DriveCleanUp小工具,只有25K的命令列工具
  2. 分別到Win32或x86執行32位元或64位元的DriveCleanup.exe
    • 先用DriveCleanup -T 測試,會列出要移除的有問題登錄
    • 確認要執行時則不傳任何參數即可

相關資訊

##

您可能也會有興趣的類似文章

The post 另一個解決Windows 8檔案總管開啟緩慢的方法 appeared first on 簡睿隨筆.

用IntelliJ IDEA的GUI Designer開發Swing程式

$
0
0

原來IntelliJ IDEA的GUI Designer已經進步到非常方便了,透過簡單的拖拉就能快速的建立Swing視窗。以下是使用IDEA 13的簡要操作紀錄,目標是建立一個資料庫連線設定對話窗。

GUI Form表單建立

  1. 在置放原始程式的資料夾按右鍵→【New】→【GUI Form】即能建立圖形介面表單。
    form1

  2. 接著在New GUI Form對話窗輸入表單名稱與類別名稱,【Create bound class】必須勾選,IDEA會依名稱建立.java與.form的檔案,前者是Java原始檔,後者存放圖形元件。
    form2

  3. 進入GUI Designer畫面,左上方是表單的元件清單,其下方是元件特性設定區,中間是圖形畫面,右方是所有元件的調色盤,在調色板按了某個元件後,將游標移入中間就能將之放入,放入時要決定對齊的方式。GUI Form預設會新增一個JPanel容器元件。
    form3

  4. 我們要在底部放兩個按鈕,先放上一個JPanel面板,再把按鈕放在這個面板之上。先由調色盤點選JPanel,再將游標移到底部直到出現藍框並標示為【(bottom)】為止再放開。
    form4

  5. 再點選JButton在底部靠左放入第一個按鈕。
    form5

  6. 再放入第二個按鈕,蓋框要涵蓋面板剩餘空間。
    form6

  7. 兩個按鈕都放置好後會自動調整位置,變成更個均等的按鈕,佔滿整個底部面板。
    form7

  8. 再來對按鈕做細部設定。先點擊左邊按鈕,再修改【field name】與【text】特性。
    form8

  9. 再於最頂端新增JLabel當做功能說明字串。
    form9

  10. 在第一個JLabel下方再插入一個JLabel。對齊藍線在其正下方。
    form10

  11. 在第一個JLabel下方再放一個JLabel,再於其右方欄位裡放入輸入用的JTextField。
    form11

  12. 重覆上述操作共放入5個JLabel、5個JTextField。
    form12

  13. 編輯【text】與【field name】特性,最後畫面如下。
    form13

  14. 點選任意一個元件後按〔F4〕(Jump to source)跳至Java原始碼該元件宣告處。將游標移到最後面按〔Alt+Insert〕以自動產生程式碼,此時使用【Form main()】來產生顯示此GUI表單的main()。
    main1

  15. 然而此時系統卻會彈出無法繫結到根元件的錯誤訊息。只要回GUI Designer,點擊第一個JPanel元件,並且在【field name】輸入一個名稱(如Panel1)就可以正常產生main()程式碼。
    main2

    public static void main(String[] args) {
      JFrame frame = new JFrame("SetupForm");
      frame.setContentPane(new SetupForm().Panel1);
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.pack();
      frame.setVisible(true);
    }
  

16.產生出main()就能編譯並執行了,執行畫面如下: main3

17.其實還有一段GUI啟始的程式碼被直接寫到編譯後的.class檔裡,如果想要把額外增加的啟始程式也在.java裡出現的話,開啟設定視窗→【GUI Designer】→將【Generate GUI into】換成【Java source code】即可,內容大致如下:
setting1

    public static void main(String[] args) {
      JFrame frame = new JFrame("SetupForm");
      frame.setContentPane(new TestForm().Panel1);
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.pack();
      frame.setVisible(true);
    }

    {
  // GUI initializer generated by IntelliJ IDEA GUI Designer
  // >>> IMPORTANT!! <<<
  // DO NOT EDIT OR ADD ANY CODE HERE!
      $$$setupUI$$$();
    }

    /**
     * Method generated by IntelliJ IDEA GUI Designer
     * >>> IMPORTANT!! <<<
     * DO NOT edit this method OR call it in your code!
     *
     * @noinspection ALL
     */
    private void $$$setupUI$$$() {
      Panel1 = new JPanel();
      Panel1.setLayout(new com.intellij.uiDesigner.core.GridLayoutManager(6, 2, new Insets(0, 0, 0, 0), -1, -1));
      final JPanel panel1 = new JPanel();
      panel1.setLayout(new com.intellij.uiDesigner.core.GridLayoutManager(1, 2, new Insets(0, 0, 0, 0), -1, -1));
      Panel1.add(panel1, new com.intellij.uiDesigner.core.GridConstraints(5, 0, 1, 2, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_BOTH, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
      button1 = new JButton();
  

Create Listener

畫面大致完成,接著再添加處理邏輯。

  1. 點擊第一個JButton按鈕,由右鍵功能表裡點擊【Create Listener】。
    action1

  2. 再由【Create Listener】選單裡選要使用的動作Listener,我們先選用【ActionListener】。
    action2

  3. 再選用可以使用的methods,ActionListener只需要實作actionPerformed()。 action3

  4. 按OK後會跳回原始碼分頁,並且該method的樣板已經自動產生好,我們只要再加入程式碼就可以了。 action4

參考資訊

  • IDEA的GUI Designer Reference
  • 在IDEA外部執行產生好的class時會有找不到類別定義的錯誤,此時只要把IDEA/lib/forms_rt.jar加到classpath裡就會正確執行。

##

您可能也會有興趣的類似文章

The post 用IntelliJ IDEA的GUI Designer開發Swing程式 appeared first on 簡睿隨筆.


快速建立IntelliJ IDEA的Live Template的步驟

$
0
0

IntelliJ IDEA的Live Template功能強大,能很迅速的插入常用的程式碼片段,例如輸入sop再按〔Tab〕就能擴展成System.out.println("");,還能讓游標自動移入雙引號內。本文介紹快速建立Live Template的步驟。

  1. 先選取好要製作成Live Template的程式片段,再點擊功能表【Tools】→【Save as Live Template…】
    IDEA Live Template 1

  2. IDEA會自動將新的Template放到user群組裡,首先在【Abbriviation】欄位給縮寫名稱,在【Description】欄位輸入說明,再修改【Template text】裡的擴展後內容,我們可以將變動的部份以任意命名的變數取代,變數名前後以 $ 夾住,如圖片中的$ID$$NAME$等都是自訂變數。以圖片裡的設定為例,在編輯器裡輸入inpt再按空白,則inpt會擴展成<input id="" name="" maxlength="" size=""/>,游標會移入第一個變數位置讓我們輸入該變數內容,輸入完畢後按〔Tab〕移動到第二個變數位置處,以此類推。
    IDEA Live Template 2

  3. 建立Live Template對話窗下方的【Applicable in HTML: HTML Text; HTML, JSP】指定這個Live Template在那種類型的檔案裡才能生效,我們可以用【Change】來設定。

  4. 在建立Live Templatet對話窗按下〔Edit variables〕就能進入變數設定視窗:

    • 視窗右側的上下箭頭可以調整變數的輸入順序
    • Expression欄位可選用變數的預設值。例如選用date()則該變數擴展後會帶入系統日期(可惜無法指定日期格式),enum("1", "2", "3")會出現下拉選單等
    • Default value:預設值
    • Skip if defined:若欄位已經有值是否還要編輯此變數
      IDEA Live Template 3
  5. IDEA內建兩個預設變數$END$與$SELECTION$,$END$是擴展並輸入後的游標最後停駐位置,$SELECTION$則是標示選取的內容。

  6. IDEA內建的Live Template已經有很多了,研讀一下迴圈相關(iterate)的寫法,可以更有效學習。有那麼多縮寫一開始是沒辦法都記得的,此時就能善用〔Ctrl+J〕來搭配,例如輸入 it 再按〔Ctrl+J〕就能列出 it 開頭的Live Template下拉選單,選好要用的按〔Enter〕就能擴展。

備份與複製共用的Live Template

Live Template的設定檔是存放在 c:\users\使用者\.intellij版本\config\templates\user.xml(Windows)或/home/使用者/.IntellijIdea版本/config/templates/user.xml(Linux),將檔案複製到別台電腦的相同目錄就能共用設定。

##

您可能也會有興趣的類似文章

The post 快速建立IntelliJ IDEA的Live Template的步驟 appeared first on 簡睿隨筆.

使用ImageMagick幫照片加上拍照時間浮水印

$
0
0

最近挑選了一些小朋友的照片要沖洗出來給老人家翻看,為了方便辨識拍照的時間,因此想把拍照日期以浮水印的方式加到照片上,搜尋了好一陣子,沒想到免費的加浮水印的圖形工具、還要能加上檔名或拍照時間的還真難找。Windows最終找到一個功能頗齊全的ImBatch,在Linux裡則發現ImageMagick功能超強,而且還有Windows、Mac OS X、iOS等版本,最後就使用ImageMagick來處理了。

ImageMagick功能介紹

ImageMagick是在命令行操作的工具集,由多個執行檔組成,主要功能就是轉換、編輯與組成圖形(Convert, Edit, And Compose Images)。浮水印要使用的是convert;命令格式是:

convert 你的圖片檔名.jpg -font Arial -pointsize 72 -fill yellow -gravity SouthEast -annotate +100+100  %t 轉換後的圖片檔名.jpg

參數說明

  • -font: 指定使用的字形,在Linux會找不到,可以不指定
  • -pointsize: 使用72點的字體大小
  • -fill: 文字的前景顏色
  • -gravity: 文字的輸出位置,東南方就是底端右側
  • -annotate: 要輸出的文字內容屬性,+100+100是邊界位移的畫素點數,%t是沒有副檔名的圖片檔名,也可使用圖片的日期資訊:%[exif:datetime]、%[exif:dateTimeOriginal]等,能使用的字元參數值可以參考ImageMagick: Format and Print Image Properties

批次處理

convert *.jpg -pointsize 72 -gravity SouthEast -fill yellow -annotate +100+100 %[exif:datetime] converted_%d.jpg

輸出檔名裡的%d會變成由 0 遞增的數值,如converted_0.jpg、converted_1.jpg、converted_2.jpg等。

輸出成品範例

converted

參考

##

您可能也會有興趣的類似文章

The post 使用ImageMagick幫照片加上拍照時間浮水印 appeared first on 簡睿隨筆.

使用EmEditor以特定編碼開檔的方法

$
0
0

需要將某個文字檔以特定編碼開啟時,EmEditor要如何操作呢?原來EmEditor有提供 /cp 參數,能用來指定開檔的編碼。

下列命令是用GB18030編碼開啟user.txt(54936就是GB18030編碼,《EmEditor如何新增檔案編碼?》有介紹如何在EmEditor新增編碼的方法):

"c:\program files\EmEditor\emeditor.exe" D:\Dropbox\UTIL\yong-terry\.yong\user.txt /cp 54936

我在AutoHotkey裡也增加了 左鈕+y 來開啟user.txt:

~LButton & y::
  Run c:\program files\EmEditor\emeditor.exe D:\Dropbox\UTIL\yong-terry\.yong\user.txt /cp 54936
  return

參考

##

您可能也會有興趣的類似文章

The post 使用EmEditor以特定編碼開檔的方法 appeared first on 簡睿隨筆.

使用Inno Setup包裝安裝程式的備忘

$
0
0

最近使用Inno Setup來包裝一個Web系統,提供給使用者以執行安裝檔的簡單步驟就能把整個運行環境建置起來,以下是使用Inno Setup的一些備忘。

一開始是使用Inno Setup的Wizard來建立基本架構,再著手添加額外功能。

  1. Inno Setup是使用Delphi撰寫的,它的包裝檔是個標準的ini格式,擴充的[code]就是Delphi語法。

  2. [Files]寫要加到安裝檔裡的檔案,例如:

  [Files]
  Source: "E:\install\jdk-7u51-windows-i586.exe"; DestDir: "c:\NEW\JDK1.7"; Flags: ignoreversion; Check: IsNotJDKInstalled 
  Source: "E:\install\install\*"; DestDir: "C:\NEW\install\"; Flags: ignoreversion recursesubdirs createallsubdirs
  

第一個來源檔是JDK 1.7u51,最後面的 Check 參數可以指定檢查用的procedure,當沒有JDK存在時才需要安裝。擴充的程式碼都要寫在[code]裡。

  [code]
  function IsNotJDKInstalled: Boolean;
  begin
    if IsWin64() then begin
      Result := RegKeyExists(HKLM64, 'SOFTWARE\JavaSoft\Java Runtime Environment');
      //if Result then MsgBox('JDK YES', mbError, MB_OK)
      //else MsgBox('JDK NO', mbError, MB_OK);

      if not Result then begin
        Result := RegKeyExists(HKLM32, 'SOFTWARE\JavaSoft\Java Runtime Environment');
      end;
    end else begin
      Result := RegKeyExists(HKLM32, 'SOFTWARE\JavaSoft\Java Runtime Environment');
    end;
    //if Result then MsgBox('JDK YES', mbError, MB_OK)
    //else MsgBox('JDK NO', mbError, MB_OK);

    Result := not Result;
  end;
  
  1. 安裝程式解壓縮並建立目的檔後要額外執行的操作可以寫在[Run]裡,以下是結束安裝前執行JDK的安裝程式jdk-7u51-windows-i586.exe。Flags參數裡的shellexec指定用ShellExec的方式執行檔案,waituntilterminated讓JDK安裝完成後才會繼續Inno Setup的安裝程式:
  [Run]
  Filename: "C:\NEW\JDK1.7\jdk-7u51-windows-i586.exe"; Description: "Install JDK"; StatusMsg: "Installing JDK..."; Flags: shellexec waituntilterminated; Check:   IsNotJDKInstalled
  Filename: "C:\NEW\install\after-install.bat"; Parameters: ""
  
  1. 我們可以寫一個InitializeSetup()函數,在安裝程式開始解壓縮前做一些前期檢查,例如檢查SQL Server是否已安裝?是否有JAVA_HOME環境變數等。
  [code]
  function GetJREVersion64(): String;
  begin
    Result := '';
  
    RegQueryStringValue( HKLM64, 'SOFTWARE\JavaSoft\Java Runtime Environment', 'CurrentVersion', Result );
  end;
  
  function GetJREVersion32(): String;
  begin
    Result := '';
  
    RegQueryStringValue( HKLM32, 'SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment', 'CurrentVersion', Result );
  end;

  function InitializeSetup(): Boolean;
  var
   ErrorCode: Integer;
   JavaInstalled : Boolean;
   Result1 : Boolean;
   JREversion: String;
  begin
    if not RegGetSubkeyNames(HKLM, 'SOFTWARE\Microsoft\Microsoft SQL Server', Versions) then begin
      Result1 := MsgBox('This tool requires Microsoft SQL Server. Please download and install it and run this setup again. Do you want to download it now?',
        mbConfirmation, MB_YESNO) = idYes;
    if Result1 = false then begin
      Result:=false;
    end else begin
      Result:=false;
      ShellExec('open',
        'http://www.microsoft.com/en-us/download/details.aspx?id=29062',
        '','',SW_SHOWNORMAL,ewNoWait,ErrorCode);
    end;
    exit;
   end;
  
    // 如果作業系統是64-bit, 則先找64-bit的JRE,找不到時再找32-bit (Wow6432node/JavaSoft) 的JRE
    if IsWin64() then begin
      JREversion := GetJREVersion64();
      //MsgBox('Ver=' + JREversion, mbError, MB_OK);
      if (JREversion = '') or (JREVersion < '1.6') then begin
        JREversion := GetJREVersion32();
      end;
    end else begin
      JREversion := GetJREVersion32();
    end;
    //MsgBox('Ver2=' + JREversion, mbError, MB_OK);
    Result := true;
  
    if (JREversion = '') or (JREVersion < '1.6') then begin
      Result1 := MsgBox('This tool requires JDK 1.6 or newer to run. Please download and install the JRE and run this setup again. '#13#10
          'Do you want to download it now?' #13#10#13#10 ' (You can answer NO to install the bundled 32-bit JDK 1.7u51)',
          mbConfirmation, MB_YESNO) = idYes;
      if Result1 then begin
        Result := false;
      end else begin
        // No download JDK
      end;
    end else begin
      if (getenv('JAVA_HOME')='') then begin
        MsgBox('Please set JAVA_HOME environment variable first.' #13#13, mbInformation, MB_OK);
        result:=false ;
        exit;
      end;
    end;
  end;

##

The post 使用Inno Setup包裝安裝程式的備忘 appeared first on 簡睿隨筆.

以Evernote2Onenote無痛轉換Evernote記事本到OneNote 2013

$
0
0

最近微軟免費開放了OneNote 2013,包括桌面版和Web版都能免費使用。我雖然沒有用過OneNote,又一直使用Evernote,但既然免費又和Office有較高的相容性,功能似乎又不錯,就興起試試的念頭。但第一個要克服的就是把Evernote的記事資料轉入OneNote。搜尋到了兩個工具:Ever2One Converter與Evernote2Onenote。

Ever2One Converter

Ever2One converter試了會但一直有問題,不知道是Windows8或是OneNote2013的問題。Ever2One需要提供給Evernote帳號並且授權同意Ever2One取存,但因為一直Run不起來,試了一下就放棄了,使用Windows 7的朋友們或許可以試看看。

▼在Windows 8裡執行三個按鈕都只剩一條線… Ever2One-1

▼需要登入Evernote,再去授權 Ever2One

▼授權讓Ever2One Converter讀取Evernote Ever2One-autorize

Evernote2Onenote

另一個轉換工具Evernote2Onenote則順利些,它直接讀取本地端的Evernote資料再匯入到OneNote裡,不須經過網路。Evernote2Onenote一次只能選擇一個記事本,但糟糕的是中文的記事本名稱會變成亂碼,在記事本選單裡會很難辨識正確的名稱。匯入OneNote的內容則一切正常,都能看到正確的中文。

▼由下拉選單選用要匯出的記事本,匯出後會在OneNote建立同名的筆記本 evernote2onenote-1

以下是測試後的一些心得:

  • 記事本轉到OneNote會變成筆記本,記事變成頁面,如果記事有設定標籤的話,標籤會變成節,一個記事有兩個標籤,則會形成兩個節,每個節裡都有相同的記事

▼這是OneNote的記事結構,筆記本→節→頁面 OneNote-1

  • 如果OneNote在開啟狀態則Evernote2Onenote經常會執行失敗
  • 有時筆記本會轉換失敗,記事本裡的記事會跑到第一本筆記本的快速筆記節裡。
  • 記事裡有圖片時,有時圖片變會變成空白的物件,再由Evernote複製貼上才會正常呈現
  • 匯入過程中偶爾會出現XML錯誤,按繼續可繼續執行

雖然Evernote2Onenote還無法完美的執行轉換,但大體上已能把Evernote裡的資料較簡單的轉到OneNote裡,已堪基本使用。想要嘗試OneNote的Evernote使用者們也來試用看看吧。

▼轉換後的範例 OneNote-2

參考

##

您可能也會有興趣的類似文章

The post 以Evernote2Onenote無痛轉換Evernote記事本到OneNote 2013 appeared first on 簡睿隨筆.

使用IntelliJ IDEA快速設定svn:keywords的方法

$
0
0

為了方便辨識程式檔案的版本,通常我們會在開頭的註解區加上版本控管軟體的關鍵字代碼,如同Subversion: Keywords擴展設定說明一般:

/*
 * $Id$
 */



最近幾天在操作IntelliJ IDEA 13時發現不知在IDEA那個版本開始,已經簡化了添加svn:keywords=Id的設定步驟,只要用勾選就能很輕鬆的加此特性。

1. 首先,如果有安裝SVN Bar外掛的話,按Show SVN Properties按鈕;沒有安裝SVN Bar則由功能表【VCS】→【Subversion】→【Edit Properties】顯示出SVN Properties Tool Window。另提一點,SVN Bar的這個快捷鍵〔CtrlAltZ〕→〔P〕按出的已經是正確的SVN Properties視窗了。
SVN Properties

  1. 點擊SVN PRoperties左側第四個按鈕:【Edit Keywords】。
    Tool windows

  2. 在SVN Keywords對話窗勾選要設定的svn:keywords關鍵字。
    check keywords

IDEA又簡化了這個常用的Subversion操作。

參考

##

您可能也會有興趣的類似文章

The post 使用IntelliJ IDEA快速設定svn:keywords的方法 appeared first on 簡睿隨筆.

Todoist:與Gmail完美整合的待辦事項應用

$
0
0

待辦清單(Todo list)或任務管理(Task management)類型的網站或App多如過江之鯽,例如Remember The MilkToodledoAny.do、Google Tasks等算是較具知名度的應用之一,但因為平日工作時有許多任務會由電子郵件而來,我使用過的工具很可惜的都和郵件的整合度不甚理想,要由任務管理工具找回當時列為任務的郵件都很麻煩。所幸最近使用的Todoist新版很簡潔的把郵件和任務整合得很完美,和我有一樣需求的朋友們不妨一試。

Todoist在許多平台上都有應用,如Web、瀏覽器、Windows、Mac OS、Android、iOS等都有,幾乎一模一樣的操作介面(我猜是因為使用HTML5的關係),我在我的電腦裡安裝了Windows的Todoist執行檔、Google Chrome瀏覽器安裝了應用程式擴充功能,擴充安裝後,在Gmail的網頁裡會出現Todoist連結,隨時能叫出需要的待辦清單,當清單出現後就能按「新增電郵為任務」將目前的郵件加到Todoist裡,日後點擊該任務就會自動開啟原始郵件。

add mail

除了Gmail外,Outlook和Thunderbird等電郵軟體也都能整合使用。

Todoist的另一個優點是介面清楚簡潔,設計優美,在使用後的10分鐘內大致就能掌握基本流程了。但可惜提醒功能必須付費升級才能使用(每年美金29元)。

參考

##

您可能也會有興趣的類似文章

The post Todoist:與Gmail完美整合的待辦事項應用 appeared first on 簡睿隨筆.


與Evernote整合的線上Markdown編輯器:馬克飛象(Maxiang)

$
0
0

Evernote是很方便的筆記服務,能由雲端或本機的應用程式來取存,但它的編輯功能屢遭詬病,在我的使用經驗裡,游標突然消失的問題似乎經常會發生,再者我經常需要存放程式碼,Evernote並沒有好的機制來協助程式開發人員來處理程式碼的呈現。其實只要Evernote能支援Markdown的話,問題就能解決一大半,可惜為了使用大眾的便利,能直接編輯Markdown的功能似乎是遙遙無期。馬克飛象是一個線上編輯器,由Dillinger分支而來,除了能在瀏覽器裡以Markdown的格式來撰寫文件之外,在綁定Evernote帳號後就能將HTML內容儲存到Evernote的特定筆記本裡,目前只能做到單向的存入,修改Evernote裡的HTML內容是無法同步回馬克飛象的。

功能簡介

▼ 我們可以由Google Chrome安裝馬克飛象應用程式,點擊後會以獨立的全螢幕、雙面板的形式開啟,左方是編輯區,右方是預覽區。
Maxiang screen

▼ 馬克飛象有多種主題樣式可以選擇。
Maxiang theme

▼ 不熟悉Markdown語法和快捷鍵可以按最上方的問號以顯示說明。
Help

與Evernote整合

要將文章存入指定的筆記本只要在內容裡加上下列格式即可:
@(筆記本名稱)[標籤1|標籤2]

@與左括號一輸入後,會自動彈出綁定帳號的Evernote筆記本清單供你選用。

有了上列格式後按右上角第一個按鈕或按Ctrl+S鍵就能將文章同步到指定筆記本裡,並附加指定的標籤。

Evernote同步後就能在指定的筆記本裡找到轉換為HTML格式的文章,右上角還有一個紅色的標籤圖示,點擊後會自動開啟馬克飛象並載入該篇Markdown文章。
整合

很可惜馬克飛象沒有支援多分頁的功能,因此在不同文件間切換都會有些許遲延,希望將來能再增強此功能。

##
您可能也會有興趣的類似文章

The post 與Evernote整合的線上Markdown編輯器:馬克飛象(Maxiang) appeared first on 簡睿隨筆.

使用多平台的Markdown編輯器Haroopad,從此不用再把文件放到雲端

$
0
0

Haroopad號稱:「The Next Document processor based on Markdown」,能在多個平台上運行,包括Windows、Linux、Max OS等,如果你不想使用線上編輯器而只想把檔案放在自己電腦裡的話,Haroopad值得一試。Haroopad是韓國人的作品,Haroo則是韓語裡一整天(whole of day)的意思。

簡潔的使用者介面

Haroopad的使用介面和常見的Markdown線上編輯器一樣簡潔,以左方編輯區、右方預覽區的雙面板樣式呈現,若對Markdown語法還不熟悉,可以按右下角的設定顯示出最左側的語法面板。快捷鍵可用功能表→【幫助】→【Haroopad快捷鍵幫助】開啟。
Haroopad UI

偏好設置

編輯區與預覽區的主題樣式都能在功能表→【文件】→【偏好設置…】 裡調整。
Haroopad preference

Linux的問題修正

我在Linux Mint 16上安裝32位元的.deb檔後,執行時會出現下列錯誤:

/usr/share/haroopad/haroopad: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory

使用下列命令即能解決:
sudo ln -sf /lib/i386-linux-gnu/libudev.so.1 /lib/i386-linux-gnu/libudev.so.0

我在試用的過程中操作都很穩定、順暢(本篇即是使用Haroopad編寫的),唯一要習慣的是快捷鍵並顯未在功能表裡,也缺少了工具列,感覺有些不習慣。不過,Haroopad的多平台實為一大亮點。

Evernote整合

Haroopad可以指定將Markdown或HTML內容寄出,因此就能將文件內容寄給Evernote存入預設的筆記本了。Evernote的電郵可以由帳戶設定裡查看到。

相關網址

##
您可能也會有興趣的類似文章

The post 使用多平台的Markdown編輯器Haroopad,從此不用再把文件放到雲端 appeared first on 簡睿隨筆.

clink:擴充cmd.exe成為Bash readline命令行的強大編輯功能

$
0
0

如果你跟我一樣很習慣在console狀態下工作的話,又覺得cmd.exe功能不足而想擴充的話,clink很完美的把Linux的bash命令行功能移植到Windows的環境裡,簡而言之,clink就是「Powerful Bash-style command line editing for cmd.exe」。如果又必須同時使用Linux與Windows,透過clink就能在兩個作業系統裡都使用的命令行編輯功能了。

將clink注入cmd.exe

要使用clink最好的方式當然是在啟動cmd.exe時一起把clink也自動運行起來,clink使用了掛釣(hook)的方法,讓我們將之注入(inject)cmd.exe:

rem 安裝自動執行功能到cmd.exe
clink.bat autorun -i

rem 解除安裝
clink.bat autorun -u

rem 顯示使用方法
clink.bat autorun --help

成功安裝後,日後啟動cmd.exe就會出現clink的版本訊息:
clink message

clink (bash) 常用快捷鍵彙總

以下是常用的快捷鍵彙總。完整的快捷鍵可以按〔Alt+H〕列出。

功能 按鍵 動作說明
移動游標位置
←或Ctrl+b 移動游標到上一字元
→或Ctrl+f 移動游標到下一字元
Ctrl+←或Alt+b 移動游標到上一單字(Word)
Ctrl+→或Alt+f 移動游標到下一單字
Ctrl+a 移動游標到本行最開頭
Ctrl+e 移動游標到本行最尾端
Ctrl+] 移動游標到輸入的字元位置
刪除與複製
Backspace 刪除游標左方一個字元
Delete 刪除游標右方一個字元
Ctrl+w 往左刪除到空白字元為止
Alt+d 刪除右方一個單字
Ctrl+u 刪除游標位置左方所有字元
Ctrl+k 刪除游標位置右方所有字元
Ctrl+y 貼上先前刪除的內容
Ctrl+c, Ctrl+v 剪貼簿複製與貼上
命令歷史
↑或Ctrl+p 顯示上一命令
↓或Ctrl+n 顯示下一命令
Alt+. 貼上前一行命令的最後一個單字,等同!$命令
Ctrl+Alt+y 前一命令的第一個參數
Ctrl+r 往前搜尋命令
Ctrl+s 往後搜尋命令
還原
Alt+r 還原本行所有修改
Ctrl+l 清空螢幕,第一行顯示最後命令
Ctrl+-或
Ctrl+x Ctrl+u(複合鍵)
或Ctrl+z
還原本行最後編輯的變更
自動完成
Tab 檔名自動完成,再按一次列出符合輸入的檔名
Alt+? 列出符合輸入的檔名
Alt+* 附加所有符合檔名到游標位置
交換位置與變更文字
Ctrl+t 游標位置處的字元與其左方字元互換位置
Alt+t 游標位置處的單字與其左方單字互換位置
Alt+u 把游標位置單字變更為大寫
Alt+l 把游標位置單字變更為小寫
其他
Ctrl+Alt+u 切換到上層目錄
Atrl+Alt+i 插入一個Tab鍵
Alt+數字鍵 執行次數。例如按Alt+3,再按Delete,則刪除游標後方3個字元

autojump無法正常運作

其實最早會想用clink是因為想使用autojump的智慧切換目錄功能,先安裝Python 2.6後,執行autojump內的install.py,則日後cd命令會被記錄起來,我們就能用下列方式快速切換目錄:

cd c:\windows\system32

rem 切換到有sys的資料夾
j sys

rem 用檔案總管開啟有sys的資料夾
jo sys

rem 切換到子目錄boot
jc boot

但不知那裡有問題,在我的Windows 8.1和Windows Server 2012 R2裡都無法正確運行。如果有人測試成功的話請留言告知細節。

autojump在Linux裡也有對應的功能,而另一個切換目錄的指令是fasd

相關連結

##
您可能也會有興趣的類似文章

The post clink:擴充cmd.exe成為Bash readline命令行的強大編輯功能 appeared first on 簡睿隨筆.

快速切換資料夾的DOS指令:go-tool

$
0
0

如同我在上一篇《clink:擴充cmd.exe成為Bash readline命令行的強大編輯功能》篇末提到的無法正確執行autojump,因而找到另一個也能在Windows DOS視窗(命令提示字元)裡快速切換目錄的工具 go-toola command-line tool for quick directory switching。go-tool是以建立關鍵字(它稱做shortcut)的方式來操作,建好代表某個資料夾的shortcut後,日後就能以此關鍵字切換到特定目錄。

安裝go-tool

go-tool和autojump一樣都是使用Python開發,但不能安裝標準的Python系統,否則在使用檔案總管開啟資料夾時會出現‘ImportError: No module named win32api‘錯誤,因為標準的Python系統不含Win32Api模組;我安裝的是含有Win32Api模組的ActivePython 2.7.6,將Python安裝目錄設定到PATH環境變數後,再使用下列步驟完成安裝:

  1. 由官方網站下載go-tool最新版
  2. 將下載的zip檔解壓縮,再切換到該目錄。
  3. 開啟DOS視窗,執行python setup.py install
  4. 再執行python -m go以建立整合用的批次檔,當出現建立go.bat的提示時輸入 1 再按〔Enter〕。

操作go-tool

go -h就能顯示出使用說明,也可以到網站的Getting Started網頁查看。

c:\Users\Jerry\AppData\Local\clink>go -h

    Quick directory changing.

    Usage:
        go <shortcut>[/sub/dir/path]    # change directories
                                        # same as "go -c ..."
        go -c|-o|-a|-d|-s ...           # cd, open, add, delete, set
        go --list [<pattern>]           # list matching shortcuts

    Options:
        -h, --help                      print this help and exit
        -V, --version                   print verion info and exit

        -c, --cd <path>                 cd to shortcut path in shell
        -s, --set <shortcut> <dir>      set a shortcut to <dir>
        -a, --add-current <shortcut>    add shortcut to current directory
        -d, --delete <shortcut>         delete the named shortcut
        -o, --open <path>               open the given shortcut path in
                                        explorer (Windows only)
        -l, --list [<pattern>]          list current shortcuts

    Generally you have a set of directories that you commonly visit.
    Typing these paths in full can be a pain. This script allows one to
    define a set of directory shortcuts to be able to quickly change to
    them. For example, I could define 'ko' to represent
    "D:\trentm\main\Apps\Komodo-devel", then
        C:\> go ko
        D:\trentm\main\Apps\Komodo-devel>
    and
        C:\> go ko/test
        D:\trentm\main\Apps\Komodo-devel\test>

    As well, you can always use some standard shortcuts, such as '~'
    (home) and '...' (up two dirs).

    See <http://code.google.com/p/go-tool/> for more information.

添加shortcut與快速切換目錄

先切換到經常使用的資料夾後,輸入go -a shortcut命令就能將資料夾加入shortcut清單裡:

c:
cd \Users\Jerry\AppData\Local
go -a apdata

go -l就能列出現有的shortcut清單,用go shortcut就能立即切換目錄到shortcut代表的目錄。

go apdata

rem 切換到上二層目錄
go ...

go -o shortcut則會將shortcut代表的資料夾在檔案總管裡顯示。

結語

以功能的簡易性來說,autojump的智慧切換目錄是比較理想的,但在找到autojump能正常運行之前,go-tool也能簡化一些切換目錄的操作。

##
您可能也會有興趣的類似文章

The post 快速切換資料夾的DOS指令:go-tool appeared first on 簡睿隨筆.

使用組態檔(ConfigurationFile)一鍵安裝SQL Server 2012

$
0
0

最近需要製作一個安裝程式,要能自動安裝SQL Server 2012 Express,包含預設的設定,嘗試一會後終於找到解決方法:使用組態檔(Configuration file)來安裝。可惜網路找到的步驟有些許語焉不詳,幾經測試才告成功。

以組態檔安裝

我由微軟網站下載到SQL Server 2012 Express的檔名是:SQLEXPRWT_x86_ENU.exe,以「/ConfigurationFile=組態檔名」當參數執行安裝即能一路安裝到結束,中間不需人力介入,有大量安裝需求時,此種方式也能達到安裝的標準化。組態檔名必須含完整的路徑,在執行時才能被正確讀取到。

  SQLEXPRWT_x86_ENU.exe /ConfigurationFile=c:\temp\SQLEXPRESS.ini

產生組態檔

組態檔是在SQL Server的安裝過程中會產生出來的檔案,安裝完畢後就會自動被刪除,因此必須在執行到倒數第三個步驟「**Ready to Install」時按取消,才能在C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\Log\日期_時間\裡找到,組態檔名稱固定為ConfigurationFile.ini,找到ini檔後我將之更名為SQLEXPRESS.ini,並編輯其內容。

這個ConfigurationFile.ini無法在Express版裡產生,在安裝Express版時Ready to Install會被自動跳過而無法被保存到,我後來再下載並安裝標準版才能按取消找到檔案。
SQL Ready to install
SQL setup

修改組態檔內容

以下是修改了的部份,其餘保留原來的值:

; Setup will display progress only, without any user interaction. 
; 原來是False,修改為True
QUIETSIMPLE="True"

; BIDS=Business Intelligent Dev Studio
; CONN=connectivity components.
; IS=Integration Services
; BC=Client Tools Backward Compatibility
; SSMS=SQL Server Management Studio
; SNAC_SDK=SQL Client Connectivity SDK
; 要安裝的組件,依需求選用
FEATURES=SQLENGINE,CONN,IS,BC,SSMS,ADV_SSMS,SNAC_SDK

;; 執行個體名稱為SQLEXPRESS
INSTANCENAME="SQLEXPRESS"
INSTANCEID="SQLEXPRESS"

; Account for SQL Server service: Domain\User or system account. 
; 啟動服務時的帳號
SQLSVCACCOUNT="NT AUTHORITY\SYSTEM"
; Windows account(s) to provision as SQL Server system administrators. 
SQLSYSADMINACCOUNTS="Administrator"

; The default is Windows Authentication. Use "SQL" for Mixed Mode Authentication. 
SECURITYMODE="SQL"

; Startup type for Browser Service. Express版的SQL Browser必須自動啟動
BROWSERSVCSTARTUPTYPE="Automatic"

;; 下列兩個參數是額外加入的
; 帳號 sa 的密碼
SAPWD="密碼"
; 接受SQL Server的授權條件
IAcceptSQLServerLicenseTerms="True"

完整的SQLEXPRESS.ini如下:

;SQL Server 2012 Configuration File
[OPTIONS]

; Specifies a Setup work flow, like INSTALL, UNINSTALL, or UPGRADE. This is a required parameter. 
ACTION="Install"

; Detailed help for command line argument ENU has not been defined yet. 
ENU="True"

; Parameter that controls the user interface behavior. Valid values are Normal for the full UI,AutoAdvance for a simplied UI, and EnableUIOnServerCore for bypassing Server Core setup GUI block. 

;;UIMODE="Normal"

; Setup will not display any user interface. 
QUIET="False"

; Setup will display progress only, without any user interaction. 
QUIETSIMPLE="True"

; Specify whether SQL Server Setup should discover and include product updates. The valid values are True and False or 1 and 0. By default SQL Server Setup will include updates that are found. 
UpdateEnabled="False"

; Specifies features to install, uninstall, or upgrade. The list of top-level features include SQL, AS, RS, IS, MDS, and Tools.
; The SQL feature will install the Database Engine, Replication, Full-Text, and Data Quality Services (DQS) server. 
; The Tools feature will install Management Tools, Books online components, SQL Server Data Tools, and other shared components. 
; BIDS=Business Intelligent Dev Studio
; CONN=connectivity components.
; IS=Integration Services
; BC=Client Tools Backward Compatibility
; SSMS=SQL Server Management Studio
; SNAC_SDK=SQL Client Connectivity SDK
FEATURES=SQLENGINE,CONN,IS,BC,SSMS,ADV_SSMS,SNAC_SDK

; Specify the location where SQL Server Setup will obtain product updates. The valid values are "MU" to search Microsoft Update, a valid folder path, a relative path such as .\MyUpdates or a UNC share. By default SQL Server Setup will search Microsoft Update or a Windows Update service through the Window Server Update Services. 
UpdateSource="MU"

; Displays the command line parameters usage 
HELP="False"

; Specifies that the detailed Setup log should be piped to the console. 
INDICATEPROGRESS="True"

; Specifies that Setup should install into WOW64. This command line argument is not supported on an IA64 or a 32-bit system. 
X86="True"

; Specify the root installation directory for shared components.  This directory remains unchanged after shared components are already installed. 
INSTALLSHAREDDIR="C:\Program Files\Microsoft SQL Server"

; Specify a default or named instance. MSSQLSERVER is the default instance for non-Express editions and SQLExpress for Express editions. This parameter is required when installing the SQL Server Database Engine (SQL), Analysis Services (AS), or Reporting Services (RS). 
INSTANCENAME="SQLEXPRESS"

; Specify the Instance ID for the SQL Server features you have specified. SQL Server directory structure, registry structure, and service names will incorporate the instance ID of the SQL Server instance. 
INSTANCEID="SQLEXPRESS"

; Specify that SQL Server feature usage data can be collected and sent to Microsoft. Specify 1 or True to enable and 0 or False to disable this feature. 
SQMREPORTING="False"

; Specify if errors can be reported to Microsoft to improve future SQL Server releases. Specify 1 or True to enable and 0 or False to disable this feature. 
ERRORREPORTING="False"

; Specify the installation directory. 
INSTANCEDIR="C:\Program Files (x86)\Microsoft SQL Server"

; Agent account name 
AGTSVCACCOUNT="NT Service\SQLAgent$SQLEXPRESS"

; Auto-start service after installation.  
AGTSVCSTARTUPTYPE="Manual"

; Startup type for Integration Services. 
ISSVCSTARTUPTYPE="Automatic"

; Account for Integration Services: Domain\User or system account. 
ISSVCACCOUNT="NT Service\MsDtsServer110"

; CM brick TCP communication port 
COMMFABRICPORT="0"

; How matrix will use private networks 
COMMFABRICNETWORKLEVEL="0"

; How inter brick communication will be protected 
COMMFABRICENCRYPTION="0"

; TCP port used by the CM brick 
MATRIXCMBRICKCOMMPORT="0"

; Startup type for the SQL Server service. 
SQLSVCSTARTUPTYPE="Automatic"

; Level to enable FILESTREAM feature at (0, 1, 2 or 3). 
FILESTREAMLEVEL="0"

; Set to "1" to enable RANU for SQL Server Express. 
ENABLERANU="False"

; Specifies a Windows collation or an SQL collation to use for the Database Engine. 
SQLCOLLATION="Chinese_Taiwan_Stroke_CI_AS"

; Account for SQL Server service: Domain\User or system account. 
SQLSVCACCOUNT="NT AUTHORITY\SYSTEM"

; Windows account(s) to provision as SQL Server system administrators. 
SQLSYSADMINACCOUNTS="Administrator"

; The default is Windows Authentication. Use "SQL" for Mixed Mode Authentication. 
SECURITYMODE="SQL"

; Provision current user as a Database Engine system administrator for SQL Server 2012 Express. 
ADDCURRENTUSERASSQLADMIN="False"

; Specify 0 to disable or 1 to enable the TCP/IP protocol. 
TCPENABLED="1"

; Specify 0 to disable or 1 to enable the Named Pipes protocol. 
NPENABLED="0"

; Startup type for Browser Service. 
BROWSERSVCSTARTUPTYPE="Automatic"

;;;;;;;;;
SAPWD="密碼"
IAcceptSQLServerLicenseTerms="True"

##


您可能也會有興趣的類似文章

The post 使用組態檔(ConfigurationFile)一鍵安裝SQL Server 2012 appeared first on 簡睿隨筆.

Viewing all 897 articles
Browse latest View live