星球
Blog:凍仁的 Ubuntu 筆記
最後更新: 2013/1/29 23:06:00
行事曆 (Calendar) on Drupal 7
2013/1/29 23:06:00 | 凍仁的 Ubuntu 筆記
先前在建置某網站時曾提過要有行事曆,也想過直接嵌入 Google Calendar 的方案,但對某些使用者而言並不友善,所幸該網站凍仁是建置在 Drupal 上的,只需將 Calendar 模組設定好即可,毋需再重新造輪子了。
# 若要使用 Calendar 模組記得要連相依的 Date 及 Views 兩模組也一同補上。
1. 安裝 Calendar 模組。
2. 安裝 Date 模組。
3. 安裝 Date Popup Authored 模組。
4. 啟用 Calendar 模組。
5. 啟用 Date Popup Authored 模組。
若今天是想讓所有的文章 (node) 依造建立的時間點顯示在行事曆上,可以使用「A calendar view of the 'created' field in the 'node' base table.」,完成後會如 2.1.6 一般,此方案適合只需紀錄單一時間點的網站,例如:部落格、新聞、雜誌... 等等。
1. 進入 Views 介面:首頁 » 管理 » 架構 » Views (http://example.tw/admin/structure/views)。
1. 進入區塊介面:首頁 » 管理 » 架構 (http://example.tw/admin/structure/block)。
相信不少伙伴都發現上方的範例都有些小缺陷,那就是週日、一、五及六的日期怪怪的,這時只需自行改翻譯就可解決此問題。
1. 進入翻譯介面:首頁 » 管理 » 設定 » 地區與語言 » 介面翻譯 (http://example.tw/admin/config/regional/translate/translate)。
若今天是想表示某個事件 (Event) 且擁有某範圍的時間點,則可以使用「A calendar view of the 'field_event_date' field in the 'node' base table.」,好比 Google 行事曆般可顯示範圍的事件。
1. 進入內容類型介面:首頁 » 管理 » 架構 » 內容類型 (http://example.tw/admin/structure/types)。
1. 進入內容介面:首頁 » 管理 (http://example.tw/admin/content)。
1. 進入 Views 介面:首頁 » 管理 » 架構 » Views (http://example.tw/admin/structure/views)。
以上是凍仁對於 Calendar 模組較常使用的兩種應用,希望能幫得上大家。
![]() |
套用 Corolla 主題的迷你行事曆 (min-calendar)。 |
# 若要使用 Calendar 模組記得要連相依的 Date 及 Views 兩模組也一同補上。
1. 安裝相關模組
1. 安裝 Calendar 模組。
[ jonny@squeeze ~ ]
$ sudo drush dl calendar [Enter]
Project calendar (7.x-3.4) downloaded to /var/www/drupal/sites/all/modules/calendar.
2. 安裝 Date 模組。
[ jonny@squeeze ~ ]
$ sudo drush dl date [Enter]
Project date (7.x-2.6) downloaded to /var/www/drupal/sites/all/modules/date. [success]
Project date contains 11 modules: date_migrate_example, date_migrate, date_views, date_repeat_field, date_repeat, date_popup, date_api,
date_tools, date_context, date_all_day, date.
3. 安裝 Date Popup Authored 模組。
[ jonny@squeeze ~ ]
$ sudo drush dl date_popup_authored [Enter]
Project date_popup_authored (7.x-1.1) downloaded to /var/www/drupal/sites/all/modules/date_popup_authored.
4. 啟用 Calendar 模組。
[ jonny@squeeze ~ ]
$ sudo drush en calendar [Enter]
5. 啟用 Date Popup Authored 模組。
[ jonny@squeeze ~ ]
$ sudo drush en date_popup_authored [Enter]
The following extensions will be enabled: date_popup_authored, date_popup
Do you really want to continue? (y/n): y
date_popup was enabled successfully.
date_popup_authored was enabled successfully.
2. Calendar 應用
2.1. 新增「以建立日期為基準」的 Calendar View
若今天是想讓所有的文章 (node) 依造建立的時間點顯示在行事曆上,可以使用「A calendar view of the 'created' field in the 'node' base table.」,完成後會如 2.1.6 一般,此方案適合只需紀錄單一時間點的網站,例如:部落格、新聞、雜誌... 等等。
2.1.1. 新增 Calendar
1. 進入 Views 介面:首頁 » 管理 » 架構 » Views (http://example.tw/admin/structure/views)。
![]() |
2. 點選 Add view from template (http://example.tw/admin/structure/views/add-template)。 |
![]() |
3. 點選「A calendar view of the 'created' field in the 'node' base table.」一項的 add 。 |
![]() |
4. 設定 Calendar 名稱。 |
![]() |
5. 點選 儲存 寫入後,再點選 view month 檢視成果。 |
![]() |
6. View: Calendar 新增完成。 |
2.1.2. 新增迷你行事曆 (mini-Calendar) 區塊 (block)
1. 進入區塊介面:首頁 » 管理 » 架構 (http://example.tw/admin/structure/block)。
![]() |
2. 將「View Calendar: Block」設定至首側欄。 |
![]() |
3. View: Calendar: Block 設定完成。 |
2.1.3. 修改星期翻譯
相信不少伙伴都發現上方的範例都有些小缺陷,那就是週日、一、五及六的日期怪怪的,這時只需自行改翻譯就可解決此問題。
- 週曰 → 日
- 週一 → 一
- 週五 → 五
- 週六 → 六
1. 進入翻譯介面:首頁 » 管理 » 設定 » 地區與語言 » 介面翻譯 (http://example.tw/admin/config/regional/translate/translate)。
![]() |
2. 搜尋週五並編輯 Fri。 |
![]() |
3. 手動更換為五。 |
![]() |
4. 修改後的 View: Calendar。 |
![]() |
5. 修改後的 View: Calendar: Block。 |
2.2. 新增「有事件起迄為基準」的 Calendar View
若今天是想表示某個事件 (Event) 且擁有某範圍的時間點,則可以使用「A calendar view of the 'field_event_date' field in the 'node' base table.」,好比 Google 行事曆般可顯示範圍的事件。
2.2.1. 新增內容類型 Event
1. 進入內容類型介面:首頁 » 管理 » 架構 » 內容類型 (http://example.tw/admin/structure/types)。
![]() |
2. 點選 新增內容類型。 |
![]() |
3. 設定 Event 內容類型的名稱 (Title)。 |
![]() |
4. 管理 Event 欄位。 |
![]() |
5. 新增 Event Date 欄位,切忌 機器可讀名稱 (Machine Name) 不可重復。 |
![]() |
6. 進入 Event Date 欄位設定,並將「Collect an end date」一項打勾 。 |
![]() |
7. 更改欄位順序並點選 儲存。 |
2.2.2. 新增 Event 內容類型
1. 進入內容介面:首頁 » 管理 (http://example.tw/admin/content)。
![]() |
2. 新增內容。 |
![]() |
3. 內容類型選擇 Event。 |
![]() |
4. 新增有範圍的 Event。 |
2.2.3. 新增 Calendar Event
1. 進入 Views 介面:首頁 » 管理 » 架構 » Views (http://example.tw/admin/structure/views)。
![]() |
2. 點選 Add view from template (http://example.tw/admin/structure/views/add-template)。 |
![]() |
3. 點選「A calendar view of the 'field_event_date_test' field in the 'node' base table.」一項的 add 。 |
![]() |
4. 設定 Calendar Event 名稱。 |
![]() |
5. 點選 儲存 寫入後,再點選 view month 檢視成果。 |
![]() |
6. View: Calendar Event 新增完成。 |
以上是凍仁對於 Calendar 模組較常使用的兩種應用,希望能幫得上大家。
相關連結:
★Calendar Block | drupal.org
★Pretty Calendar | drupal.org
★Drupal Calendar Setup on Vimeo
★How to Create a Mini Calendar in Drupal | eHow.com
資料來源:
★Drupal + Calendar 讓網站擁有行事曆功能 - 玩物尚誌 by lyhcode
★Build an Event Calendar in Drupal - slideshare
邁向企鵝畫家的第一步
2013/1/22 23:08:00 | 凍仁的 Ubuntu 筆記
近來對 Ubuntu 的熱情漸漸的消了,一來是繼續關注下去似乎賺不太到錢,由其是在南部,二來是沒幾家公司有在用 Ubuntu,作了四年的夢也是該醒了。
「不如先圓其他的夢吧」突如其然的聲音這麼告訴凍仁,是該先圓圓塗鴉的夢了,每日一張,期待有召一日能畫出屬於凍仁的四格漫畫,當然主角會是這隻 Tux-Z 喔!
一路上得感謝 Vivian Chang, Violet 以及 雙關語手玩物的阿奇拉 三位前後繪製凍仁家的企鵝,在下才剛起步,這次不知要花多久,之前 Linux 的部份少說花了三年有呢。
「不如先圓其他的夢吧」突如其然的聲音這麼告訴凍仁,是該先圓圓塗鴉的夢了,每日一張,期待有召一日能畫出屬於凍仁的四格漫畫,當然主角會是這隻 Tux-Z 喔!
![]() |
凍仁的第一張手稿。 |
一路上得感謝 Vivian Chang, Violet 以及 雙關語手玩物的阿奇拉 三位前後繪製凍仁家的企鵝,在下才剛起步,這次不知要花多久,
站內連結:
★關於 Tux-Z
安裝 Toshiba Satellite C850 無線網卡驅動 on Ubuntu 12.04
2013/1/20 2:01:00 | 凍仁的 Ubuntu 筆記
昨日於 Drupal-TW 高雄小聚協助某位伙伴補完 rtl8723e 這張無線網卡 (WLAN, Wireless) 的驅動,在此分享一下,剛裝好 Ubuntu 後似乎會同時發生有線 (eth0)及無線 (wlan0) 網卡都無法使用的情形。
凍仁當時的解法是先使用 Android 手機的「USB 數據連線」上網,若發現 Network manager (右上的網路管理員) 一直轉不停,可以先行停用它,並使用 dhclient usb0 來取得 IP。
1. 開啟終端機 (terminal)。
2. 更新 kernel。
3. 重新開機,若早已使用最新的 kernel 請略過。
4. 安裝編譯相關套件。
5. 下載驅動並解壓縮。
6. 切換目錄。
7. 開始編譯並安裝。
8. 重新掛載 rtl8723e 模組。
9. 開機自動掛載 rtl8723e 模組。
完成! 恭喜您,現在可以開始在 Ubuntu 使用無線網卡了!
凍仁當時的解法是先使用 Android 手機的「USB 數據連線」上網,若發現 Network manager (右上的網路管理員) 一直轉不停,可以先行停用它,並使用 dhclient usb0 來取得 IP。
1. 開啟終端機 (terminal)。
2. 更新 kernel。
[ jonny@precise ~ ]
$ sudo apt-get update; sudo apt-get upgrade linux-image-generic [Enter]
3. 重新開機,若早已使用最新的 kernel 請略過。
[ jonny@precise ~ ]
$ sudo shutdown -r now [Enter]
4. 安裝編譯相關套件。
[ jonny@precise ~ ]
$ sudo apt-get install build-essential linux-headers-generic linux-headers-`uname -r` [Enter]
5. 下載驅動並解壓縮。
[ jonny@precise ~ ]
$ wget -O- http://dl.dropbox.com/u/57056576/DRIVERS/REALTEK/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012.tar.gz | tar -xz [Enter]
6. 切換目錄。
[ jonny@precise ~ ]
$ cd rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012 [Enter]
7. 開始編譯並安裝。
[ jonny@precise ~ ]
$ sudo make && sudo make install [Enter]
8. 重新掛載 rtl8723e 模組。
[ jonny@precise ~ ]
$ sudo modprobe rtl8723e [Enter]
9. 開機自動掛載 rtl8723e 模組。
[ jonny@precise ~ ]
$ sudo su -c "echo rtl8723e >> /etc/modules" [Enter]
完成! 恭喜您,現在可以開始在 Ubuntu 使用無線網卡了!
站內連結:
★Ubuntu 網路設定 - 於 DHCP 環境下重新取得 IP
相關連結:
★[已解決] Toshiba C850 ether network controller 無法使用 [論壇 - Ubuntu硬體支援] | Ubuntu 正體中文站
★[已解決] Toshiba C850 無線網卡驅動 [論壇 - Ubuntu硬體支援] | Ubuntu 正體中文站
資料來源:
★drivers - Wireless card Realtek RTL8723AE-BT is not recognized - Ask Ubuntu #2
PHP: Commands out of sync; you can't run this command now
2013/1/15 15:23:00 | 凍仁的 Ubuntu 筆記
近日凍仁使用 PROCEDURE 及動態 LIMIT 改寫某 PHP 網站的列出最後 10 筆資料功能,套上新程式碼後,再持續送出 query 就會跳「 Commands out of sync; you can't run this command now」的錯誤訊息,其 MySQL 文件的解釋如下:
最後試出來的解法是補個手動關閉連線的函式 mysql_close() 即可解決。
18.2.8 Commands out of sync in client 錯誤
如果你在你的客戶代碼中得到 Commands out of sync; You can't run this command now,你正在以錯誤的次序調用客戶函數!
這可能發生,例如,如果你正在使用 mysql_use_result() 並且在你已經調用了 mysql_free_result() 之前試圖執行新查詢。如果你在 mysql_use_result()或mysql_store_result() 之間試圖執行返回數據的 2 個查詢,它也可能發生。
最後試出來的解法是補個手動關閉連線的函式 mysql_close() 即可解決。
1 <?php
2
3 # = 連結資料庫 =
4 $dbhost = "localhost"; #資料庫網址或IP
5 $dbusername = "db_user"; #資料庫帳號
6 $dbuserpassword = "db_pwd"; #資料庫密碼
7 $default_dbname = "db_name"; #資料庫名稱
8 $connection = mysql_connect($dbhost, $dbusername, $dbuserpassword) or die("無法連結資料庫!");
9 $db = mysql_select_db($default_dbname, $connection) or die("無法選擇資料庫");
10
11 mysql_query("SET NAMES 'UTF8'");
12 mysql_query("SET CHARACTER SET UTF8");
13 mysql_query("SET CHARACTER_SET_RESULTS=UTF8'");
14
15 # = Lab. =
16 $sql_last_10_sort="
17 DROP PROCEDURE IF EXISTS last_10_sort;
18
19 DELIMITER //
20
21 CREATE PROCEDURE last_10_sort()
22 BEGIN
23 DECLARE record_total, record_from int default 0;
24 SET @record_total = (select count(time) from tableA);
25 SET @record_from = (@record_total - 10);
26
27 if @record_total < 10 then
28 select
29 time,
30 round(((`rowsA` + `rowsB`) / (select `rowsC` from tableB where bid = '1') * 100), 2) as 'lab'
31 from tableA order by time limit 10;
32 else
33 prepare stmt_last_10_sort from
34 " . "select `time`, round(((`rowsA` + `rowsB`) / (select rowsC from tableB where bid = '1') * 100), 2) as 'lab' from tableA order by time limit ?, ?" . ";
35 EXECUTE stmt_last_10_sort USING @record_from, @record_total;
36 DEALLOCATE PREPARE stmt_last_10_sort;
37 end if;
38 END //
39 DELIMITER ;";
40 mysql_query($sql_last_10_sort);
41
42 $sql_last_10_sort_value="call last_10_sort();";
43 $result_last_10_sort_value = mysql_query($sql_last_10_sort_value) or die(mysql_error());
44
45 ......
46
47 mysql_close($connection);
48
49 ?>
資料來源:
★18.2.8 Commands out of sync in client錯誤 | MySQL 中文參考手冊
★Commands out of sync; you can't run this command now - What's X- 點部落
★php - Commands out of sync; you can't run this command now - Stack Overflow
★PHP: mysqli::query - Manual
「高雄場-華碩平板系列體驗會」體驗續航,追求極致
2012/12/27 23:26:00 | 凍仁的 Ubuntu 筆記
很榮幸再次得到參加T客邦所舉辦的體驗會活動,這次體驗的機器是三台平板電腦分別是 Google Nexus 7, ASUS Transformer Pad (TF700) 以及 ASUS VivoTab (TF600)。
老實說凍仁這次是衝著 Nexus 7 報名此次的體驗會,身邊已有不少前輩入手它,加上國外已有熱心的伙伴將 Ubuntu 移植至上去,便宜又大碗的它就算哪天玩膩了還可以拿來跑 Ubuntu,說是物超所值也不為過。

由上而下依序為 Nexus 7, TF700, TF600。
雖說本次體驗會的 Session 只比先前 Samsung Galaxy Note 2 體驗會 多一個主題,可硬體部份可是多了兩台,實在是有些消化不良,在繁忙之餘只好使用心智圖軟體來整理這次的筆記。

此心智圖使用 FreeMind 製作,附上 HTML 版連結。
以下為 Nexus 7, TF700, TF600 的規格比較表,建議依造其需求來採購,已達到最高的邊際效益。
資料來源:ASUS (Global / English)。
相信這次體驗會有不少伙伴是為了這台 Nexus 7 而來的,一來是因為夠便宜,二來是規格足以應付日常使用,再加上小巧方便攜帶。
在眾多平板的產品中,Samsung 選擇了觸控筆的路線,而 ASUS 則是往鍵盤發展,這點對凍仁而言是件好事,對一位鍵盤愛好者 常需要輸入指令管理系統的人而言這真的是不可或缺的,如果可以再搭配個有小紅點的機械式鍵盤那該有多好!
體驗過程中,有發現到 TF700 在筆電模式 (Pad + Dock) 時,若 Pad 在上 Dock 在下會有 SD 卡不易取出的情形,這點應與為了人體工學而設計出來的幅度有關,只需闔上即可輕易取出。
在具有生產力 (鍵盤) 的平板上搭載 Windows like 的作業系統似乎是件很棒的事情。平常外出、通勤可以使用平板 動態磚 (Metro) 模式;回到辦公室後可切回 Windows 7 like 模式繼續辦公。比較可惜的是 Windows RT 是專屬 ARM 架構的作業系統,這代表著它不支援 x86 架構 (桌機、筆電) 的應用程式,需使用 ARM 編譯過的版本,這點 Microsoft 已設計出商城 (Store) 系統以便利使用者取得這些特殊的軟體。
可以知道的是,目前 Microsoft 早已推出 ARM 架構的 Office,相信這點可以大大的為 TF600 加分才是。
體驗會當天接觸到的 Nexus 7, TF700, TF600 操作起來的感覺都不錯,在一個追求效能及續航力的現在 NVIDIA Tegra 3 所使用的 4-Plus-1 是個不錯的想法,除了會變頻的四顆核心以外,更增加了一顆低功耗的核心來達到真正的省電。
在影片播放的部份也因為 Tegra 3 支援硬體解碼的緣故,可省下原先看高畫質影片時的高功率輸出,與 Tegra 2 相比更能省下 60% 以上的電力,相信這對愛在平板上看影片的伙伴是一大福音。

最後基於效能、使用者體驗、作業系統、支持國貨 ... 種種原因,凍仁待的單位已將 TF700 列入明年度採購的機器,也就是說再過不久就有機會 可以再次把玩 TF700 了!
同步發佈於 T 客邦 - T17 討論區、Plurk、Facebook、Google+。
老實說凍仁這次是衝著 Nexus 7 報名此次的體驗會,身邊已有不少前輩入手它,加上國外已有熱心的伙伴將 Ubuntu 移植至上去,便宜又大碗的它就算哪天玩膩了還可以拿來跑 Ubuntu,說是物超所值也不為過。

由上而下依序為 Nexus 7, TF700, TF600。
1. 筆記整理
雖說本次體驗會的 Session 只比先前 Samsung Galaxy Note 2 體驗會 多一個主題,可硬體部份可是多了兩台,實在是有些消化不良,在繁忙之餘只好使用心智圖軟體來整理這次的筆記。

此心智圖使用 FreeMind 製作,附上 HTML 版連結。
2. 規格大亂鬥
以下為 Nexus 7, TF700, TF600 的規格比較表,建議依造其需求來採購,已達到最高的邊際效益。
Nexus 7 | TF700T | TF600 | |
Operating System | Android 4.1 / 4.2 | Android 4.0 | Windows RT Office Home & Student 2013 RT Preview* |
Display | 7" WXGA (1280x800) Screen IPS Panel 10 finger multi-touch support | 10.1" WUXGA (1920x1200) Screen Super IPS+ 10 finger multi-touch support | 10.1" WXGA (1366x768) Screen Super IPS+ Multi-touch Support |
CPU | NVIDIA Tegra 3 Quad-Core @1.2Ghz | NVIDIA Tegra 3 @1.6Ghz | NVIDIA Tegra 3 @1.3Ghz) |
Memory | 1 GB | 1 GB | 2 GB |
Storage | 8GB/16GB/32GB *1 | 32GB / 64GB *1 EMMC + 8G life time ASUS Webstorage space *2 | 32GB/64GB eMMC *1 32GB life time ASUS Webstorage Space *2 |
Network Standard | HSPA+ UL:21 Mbps/DL:5.76 Mbps 3G : WCDMA : 850/900/2100 2G : GSM : 850/900/1800/1900, | Not yet | DC-HSPA+ UL:5.76 Mbps/DL:42 Mbps |
Wireless Data Network | WLAN 802.11 b/g/n @2.4GHz, Bluetooth V3.0 | WLAN 802.11 b/g/n@2.4GHz Bluetooth V3.0+EDR | WLAN 802.11 b/g/n @2.4GHz, Bluetooth 4.0 |
Camera | 1.2 MP Front Camera | 2 MP Front Camera 8 MP Rear Camera Auto focus (rear) with Flash BSI Sensor 5-element lens | 2 MP Front Camera 8 MP Rear Camera Auto focus (rear) with Flash |
Audio | unknown | High Quality Speaker High Quality Mic2 MP Front Camera 8 MP Rear Camera Auto focus (rear) with Flash BSI Sensor 5-element lens | Stereo Speakers |
Interface | Headset Jack, 1x micro-USB, 2x Digital microphone,2x High Quality Speakers, 1x Docking PIN | Pad: 1 x 2-in-1 Audio Jack (Headphone / Mic-in) 1 x micro HDMI 1 x Micro SD Card Reader Mobile Dock: 1 x USB2.0 port 1 x SD Card Reader | Pad: 1 x 2-in-1 Audio Jack (Headphone / Mic-in) 1 x micro HDMI 1 x Micro SD Card Reader (SDXC) Mobile Dock: 1 x USB 2.0 port |
Sensor | G-Sensor, Light Sensor, Gyroscope, E-compass, GPS, NFC, Hall Sensor | G-Sensor, Light Sensor, Gyroscope, E-compass, GPS | G-Sensor, Light Sensor, Gyroscope, E-compass, NFC, GPS |
Battery | WiFi:9.5 hours, 4325mAh,*2 16Wh Li-polymer 3G:9 hours, 4325mAh,*3 16Wh Li-polymer | Pad Only: 9.5 hours; 25Wh Li-polymer Battery *3 Pad with Dock: 14 hours pad with dock; 25Wh(pad) + 19.5Wh(dock) Li-polymer Battery*3 | Pad only: 9 hours; 25Wh Li-polymer Battery *3 Pad with Dock: 16 hours ; 25Wh(Pad) + 22Wh(Dock) Li-polymer Battery*3 |
Size | 198.5 x 120 x 10.45 mm | 263 x 180.8 x 8.5 mm | 262.5 x 170.9 x 8.3 mm |
Weight | 340 g | 598 g | 525 g |
Mobile Docking | No | Dock only: Dimensions: 263 x 180.8 x 8~10.4mm Weight: 537g Pad with dock: Dimensions: 263 x 180.8 x 16.5~18.9mm Weight: 1135g | Dock only: Dimensions: 262.5mm(W) x 169.9mm(D) x 10.2(H)mm Weight: 538g Tab with Dock: Dimensions: 262.5mm(W) x 170.9mm(D) x 18.7(H)mm Weight: 1036g |
Price | NT$ 8,990 | NT$ 20,900 | NT$ 21,900 |
3. 活動心得
3.1. Nexus 7
相信這次體驗會有不少伙伴是為了這台 Nexus 7 而來的,一來是因為夠便宜,二來是規格足以應付日常使用,再加上小巧方便攜帶。
- 官方網址:Nexus 7 | Google
3.2. ASUS TF700 - Transformer Pad
在眾多平板的產品中,Samsung 選擇了觸控筆的路線,而 ASUS 則是往鍵盤發展,這點對凍仁而言是件好事,對一位
體驗過程中,有發現到 TF700 在筆電模式 (Pad + Dock) 時,若 Pad 在上 Dock 在下會有 SD 卡不易取出的情形,這點應與為了人體工學而設計出來的幅度有關,只需闔上即可輕易取出。
3.3. ASUS TF600 - VivoTab
在具有生產力 (鍵盤) 的平板上搭載 Windows like 的作業系統似乎是件很棒的事情。平常外出、通勤可以使用
可以知道的是,目前 Microsoft 早已推出 ARM 架構的 Office,相信這點可以大大的為 TF600 加分才是。
- 官方網址:ASUS - 平板電腦- ASUS ASUS VivoTab RT
- 檔案系統:NTFS
3.4. NVIDIA Tegra 3
體驗會當天接觸到的 Nexus 7, TF700, TF600 操作起來的感覺都不錯,在一個追求效能及續航力的現在 NVIDIA Tegra 3 所使用的 4-Plus-1 是個不錯的想法,除了會變頻的四顆核心以外,更增加了一顆低功耗的核心來達到真正的省電。
在影片播放的部份也因為 Tegra 3 支援硬體解碼的緣故,可省下原先看高畫質影片時的高功率輸出,與 Tegra 2 相比更能省下 60% 以上的電力,相信這對愛在平板上看影片的伙伴是一大福音。

最後基於效能、使用者體驗、作業系統、支持國貨 ... 種種原因,凍仁待的單位已將 TF700 列入明年度採購的機器,也就是說再過不久
同步發佈於 T 客邦 - T17 討論區、Plurk、Facebook、Google+。
延伸閱讀:
★分清楚,別買錯了!Windows 8和Windows RT大不同 - Yahoo!奇摩新聞
★Window RT平板啟動 ASUS Vivo Tab RT首發速看 - Mobile01 本站新聞
★Windows 8 切換回舊桌面樣式的小技巧 | 硬是要學
★NVIDIA 次代 Tegra 的 vSMP 架構,宛如應用處理器界的油電混合車 (製程錯誤修正) | 癮科技
相關連結:
★華碩&NVIDIA 變形平板 台中、高雄深度體驗會花絮 | T客邦
★搜尋:華碩平板系列體驗會 | T17 討論區
Drupal 7 – 內容管理系統 (CMS) 開發框架
2012/12/13 10:38:00 | 凍仁的 Ubuntu 筆記
Drupal 是什麼?
Drupal 是一個 PHP based 的內容管理系統 (CMS) 開發框架 (framework,也有人稱它是一種平台),但其實安裝 Drupal 後,只會得到「半成品」CMS,需要管理者「用力的」客製化後才能見到比較漂亮及完整的成品。
因為 Drupal 也算是個 CMS,因此常常被拿來跟 Joomla、WordPress、Plone 等 CMS 相比較,當然 Joomla 及 WordPress 安裝完後也需要 User 客製化一番,只是 Drupal 想要變的把戲比較多,所以比較麻煩一點,所以沒辦法定型的發展成針對某種應用的 CMS,所以大部份新手使用 Drupal 的感覺是 Drupal 很陽春或者很醜,至少不像 Joomla,安裝完就有個漂亮的網站及後台。
原著的理解是,Drupal 應該是給開發者使用的 CMS 框架,但又不那麼 Framework。原著刻板印象覺得真正的 Framework 比較像是 Cake 或 CodeIgniter 這種東西,不過 Drupal 應該也算是比較高階一點的 Framework 吧。從Drupal 5 到 Drupal 6,感覺上跨了一大步,而 Drupal 7 又再一次給人全新的感受...
Drupal 是一個 PHP based 的內容管理系統 (CMS) 開發框架 (framework,也有人稱它是一種平台),但其實安裝 Drupal 後,只會得到「半成品」CMS,需要管理者「用力的」客製化後才能見到比較漂亮及完整的成品。
因為 Drupal 也算是個 CMS,因此常常被拿來跟 Joomla、WordPress、Plone 等 CMS 相比較,當然 Joomla 及 WordPress 安裝完後也需要 User 客製化一番,只是 Drupal 想要變的把戲比較多,所以比較麻煩一點,所以沒辦法定型的發展成針對某種應用的 CMS,所以大部份新手使用 Drupal 的感覺是 Drupal 很陽春或者很醜,至少不像 Joomla,安裝完就有個漂亮的網站及後台。
原著的理解是,Drupal 應該是給開發者使用的 CMS 框架,但又不那麼 Framework。原著刻板印象覺得真正的 Framework 比較像是 Cake 或 CodeIgniter 這種東西,不過 Drupal 應該也算是比較高階一點的 Framework 吧。從Drupal 5 到 Drupal 6,感覺上跨了一大步,而 Drupal 7 又再一次給人全新的感受...
資料來源:
★Drupal 7 – 內容管理系統(CMS)開發框架 @ mr.mu
Defrag - 磁碟重組指令 on W2k8
2012/12/10 10:15:00 | 凍仁的 Ubuntu 筆記
基於維護上的方便凍仁在 Windows 2008 Server 裡會使用工作排程器來進行些例行性的維護工作 (例如:磁碟重組、掃毒...),在 Linux 裡我們可以使用 crontab,不過想使用工作排程器新增排程還是得搭配指令及對應的參數才行,而以下則是 Windows 內建的 Defrag.exe 相關指令。
1. 分析 C:。
2. 強制於 C: 執行磁碟重組。
3. 其他相關語法。
# [1]「De-fragmentation」 (反破碎,縮寫就是 Defrag),英文字義上跟「Re-combination」(重組合) 相同。
1. 分析 C:。
C:\Users\Administrator> C:\Windows\System32\Defrag.exe C: -a [Enter]Microsoft 磁碟重組工具
Copyright (c) 2007 Microsoft Corp.
在 (C:) 啟動 分析...
操作順利完成。
Post Defragmentation Report:
磁碟區資訊:
磁碟區大小 = 59.89 GB
可用空間 = 38.07 GB
分散空間總計 = 0%
最大可用空間大小 = 36.86 GB
注意: 分散程度統計資料中不包含大小超過 64MB 的檔案片段。
您不需重組此磁碟區。
2. 強制於 C: 執行磁碟重組。
C:\Users\Administrator> C:\Windows\System32\Defrag.exe C: -f [Enter]Microsoft 磁碟重組工具
Copyright (c) 2007 Microsoft Corp.
在 (C:) 啟動 磁碟重組...
磁碟重組前報告:
磁碟區資訊:
磁碟區大小 = 59.89 GB
可用空間 = 38.07 GB
分散空間總計 = 0%
最大可用空間大小 = 36.86 GB
注意: 分散程度統計資料中不包含大小超過 64MB 的檔案片段。
3. 其他相關語法。
C:\Users\Administrator> C:\Windows\System32\Defrag.exe /help [Enter]Microsoft 磁碟重組工具
Copyright (c) 2007 Microsoft Corp.
請指定要在其上執行操作的磁碟區。 (0x89000007)
描述:
尋找並合併本機磁碟區上的分散檔案,以
改進系統效能。
語法:
defrag| /C | /E [/H] [/M | [/U] [/V]]
defrag| /C | /E /A [/H] [/M | [/U] [/V]]
defrag| /C | /E /X [/H] [/M | [/U] [/V]]
defrag/T [/H] [/U] [/V]
參數:
值 描述
/A 在指定的磁碟區上執行分析。
/C 在所有磁碟區上執行操作。
/E 在指定磁碟區以外的所有磁碟區上執行操作。
/H 以標準優先順序執行操作 (預設為低)。
/M 在背景以平行方式在每一個磁碟區上執行操作。
/T 追蹤已在指定磁碟區上執行的操作。
/U 在畫面上顯示操作進度。
/V 列印詳細資訊輸出,包含分散程度統計資料。
/X 在指定的磁碟區上執行可用空間合併。
範例:
defrag C: /U /V
defrag C: D: /M
defrag C:\mountpoint /A /U
defrag /C /H /V
# [1]「De-fragmentation」 (反破碎,縮寫就是 Defrag),英文字義上跟「Re-combination」(重組合) 相同。
延伸閱讀:
★你還需要磁碟重組嗎? | T客邦 - 我只推薦好東西
★為什麼硬碟要重組?硬碟重組的好處、注意事項與實作 | T客邦
資料來源:
★Windows Server 2003 磁碟重組工具排程
MySQL 語法匯整
2012/12/4 0:51:00 | 凍仁的 Ubuntu 筆記
接觸 MySQL 多年的凍仁一直以來都沒有好好的指令記完,一般都會使用 phpMyAdmin 這類的 GUI 來操作 MySQL,所以把常用的 select, insert, update, drop 背熟就偷笑了!可只有這些對凍仁而言是不夠的,當 GUI 失靈時還是得依賴指令來完成任務,再還未背熟之前就讓凍仁在自家基地放本小抄囉。
1. 基礎語法
操作功能 | SQL 語法 | 說明 |
---|---|---|
建立資料庫 | create database 資料庫名稱; | |
列出所有資料庫 | show databases; | |
刪除資料庫 | drop database 資料庫名稱; | |
使用資料庫 | use 資料庫名稱; | |
建立資料表 | create table 資料表名稱( sn integer auto_increment primary key, name char(20), mail char(50), home char(50), messages char(50) ); | 常用資料庫資料型態 1. INT (整數) 2. CHAR (1~255字元字串) 3. VARCHAR (不超過255字元不定長度字串) 4. TEXT (不定長度字串最多65535字元) |
列出資料表欄位資訊 | describe 資料表名稱; | |
修改資料表欄位 | alter table 資料表名稱 charange column 原來欄位名稱 新欄位名稱資料型態; | |
新增資料表欄位 | alter table 資料表名稱 add column 欄位名稱 資料型態; | |
刪除資料表欄位 | alter table 資料表名稱 drop column 欄位名稱; | |
刪除資料表 | drop 資料表名稱; | |
插入欄位資料 | insert into 資料表名稱(欄位1,欄位2,欄位3,欄位4, ...... 欄位N) values('值1','值2','值3','值4', ...... '值N'); | |
更新修改欄位資料 | update 資料表名稱 set 欄位1='值1',欄位2='值2',欄位3='值3',... 欄位N='值N' where 條件式 (例如 sn='5' 或 name='塔司尼' ); | |
查詢單一欄位資料 | select 欄位名 from 資料表名稱; | |
查詢多個欄位資料 | select 欄位名, 欄位名, 欄位名 from 資料表名稱; | |
查詢欄位資料的唯一值 | select distinct 欄位名 from 資料表名稱; | 重複值只列一次 |
查詢所有欄位資料 | select * from 資料表名稱; | |
條件式查詢 | select * from 資料表名稱 where 條件式 (例如 sn='5'); | (=, <, >, !=) |
條件式查詢 and | select * from 資料表名稱 where 條件式1 and 條件式2; | |
條件式查詢 or | select * from 資料表名稱 where 條件式1 or 條件式2; | |
查詢某一範圍 between | select * from 資料表名稱 where 欄位名 between 值1 and 值2 | 值為數字 |
查詢空值欄位的資料 | select * from 資料表名稱 where 欄位名 is null | not null |
查詢特定筆數資料 | select * from 資料表名稱 limit 8, 10; | 第9筆開始選取10筆 |
查詢結果遞增排序 | select * from 資料表名稱 order by 欄位名; | |
查詢結果遞減排序 | select * from 資料表名稱 order by 欄位名 desc ; | |
查詢比對字串列出單一欄位 | select 欄位名 from 資料表名稱 where 欄位名 like '%字串%'; | |
查詢比對字串列出所有欄位 | select * from 資料表名稱 where 欄位名 like '%字串%'; | |
刪除條件值資料 | delete from 資料表名稱 where 條件式 (例如 sn='5' 或 id='91001' ); | |
刪除條件值資料 | delete from 資料表名稱 where 條件式1 and 條件式2; | |
刪除條件值資料 | delete from 資料表名稱 where 條件式1 or 條件式2; | |
比對刪除條件值資料 | delete from 資料表名稱 where 欄位名 like '%字串%'; |
2. 進階語法
操作功能 | SQL 語法 | 說明 |
---|---|---|
列出正在執行的行程。 | show processlist; |
站內連結:
★MySQL 大學筆記 on Windows XP
資料來源:
★MySQL 基礎語法手冊 | InspireGate 派克空間
Git: 重新命名分支 (branch)
2012/11/29 9:02:00 | 凍仁的 Ubuntu 筆記
近來凍仁開始使用 Git 來管理些瑣碎的事情,不管是上班會用到的 code 還是自己的環境設定,也曾在前公司約 50 台的 Server 上實作 pull 同步 [1],但在大量使用 branch 的情況就很容易遇見命名衝突的問題。
在 branch 已有 dev 的情況下是無法建立 dev/hello 的。
其本機的 branch 要更名是很簡單的,但 remote (遠端) 的部份就棘手許多,而且與 remote branch 名稱重複時是無法 push 上去的,以下為凍仁實作過可行的解法,其原理就是先行將 remote branch 砍掉再上傳新的 branch。
1. 列出所有的 branch (local & remote)。
2. 重新命名本機 branch 前,記得 checkout 離預更名的 branch,此範例裡就是得 checkout 至 master。
3. 刪除遠端的 branch。
4. 上傳本機的 branch 至遠端的 branch。
5. 完成。
[ jonny@precise ~ ]
$ git branch [Enter]
dev
* master
其本機的 branch 要更名是很簡單的,但 remote (遠端) 的部份就棘手許多,而且與 remote branch 名稱重複時是無法 push 上去的,以下為凍仁實作過可行的解法,其原理就是先行將 remote branch 砍掉再上傳新的 branch。
1. 列出所有的 branch (local & remote)。
[ jonny@precise ~ ]
$ git branch -a [Enter]
dev
* master
origin/HEAD -> origin/master
origin/dev
origin/master
2. 重新命名本機 branch 前,記得 checkout 離預更名的 branch,此範例裡就是得 checkout 至 master。
[ jonny@precise ~ ]
$ git branch -m dev dev/hello [Enter]
3. 刪除遠端的 branch。
[ jonny@precise ~ ]
$ git push origin :dev [Enter]
4. 上傳本機的 branch 至遠端的 branch。
[ jonny@precise ~ ]
$ git push origin dev/hello [Enter]
5. 完成。
[ jonny@precise ~ ]
$ git branch -a [Enter]
dev/hello
* master
origin/HEAD -> origin/master
origin/dev/hello
origin/master
延伸閱讀:
★[1] IBM solidDB 6.3 and IBM solidDB Universal Cache 6.3 Information Center
★[Book] Unix 與 Linux 自動化管理
資料來源:
★Renaming your 'master' branch
FATAL_ERROR with MOC on Ubuntu 12.04
2012/11/20 0:00:00 | 凍仁的 Ubuntu 筆記
一直以來凍仁都是使用 MOC [1] 這套純文字的音樂播放器在聽音樂,沒想到小巧又穩定的它也會 crash,看在此問題不難解決的份上凍仁就繼續安心使用它了。
1. 執行 moc 時出現 FATAL_ERROR 的錯誤訊息,並提供刪除 pid 的解決方案。
2. 刪檔前先查看一下其內容。
3. 刪除 pid。
4. 重新執行 moc。
[1] moc 在 Debian 上的指令為 moc 而 Ubuntu 上則是使用 mocp。
![]() |
MOC 正常執行畫面。 |
1. 執行 moc 時出現 FATAL_ERROR 的錯誤訊息,並提供刪除 pid 的解決方案。
[ jonny@precise ~ ]
$ mocp [Enter]
Running the server...
It seems that the server is already running with pid 3551.
If it is not true, remove the pid file (/home/jonny/.moc/pid) and try again.
FATAL_ERROR: Exiting!
FATAL_ERROR: Server exited!
2. 刪檔前先查看一下其內容。
[ jonny@precise ~ ]
$ cat ~/.moc/cache/pid [Enter]
3551
3. 刪除 pid。
[ jonny@precise ~ ]
$ rm ~/.moc/cache/pid [Enter]
4. 重新執行 moc。
[ jonny@precise ~ ]
$ mocp [Enter]
[1] moc 在 Debian 上的指令為 moc 而 Ubuntu 上則是使用 mocp。
相關連結:
★FATAL_ERROR | MOC - music on console