資料來源:https://forums.aws.amazon.com/thread.jspa?threadID=42501
非常有用的一篇文章!!
2011年10月19日 星期三
2011年10月15日 星期六
在 Ubuntu 中使用 Java 連接 MySQL
首先必須要有 java 對 mysql 的連接器,並設定環境變數,安裝方法:
mysql connector 都安裝好了之後,就可以寫點小程式來測試一下啦!
JDBCMySQL.java
參考資料:
https://help.ubuntu.com/community/JDBCAndMySQL
http://caterpillar.onlyfun.net/Gossip/JavaGossip-V2/ConnectDB.htm
sudo apt-get install libmysql-java #取得 mysql java 連接器 CLASSPATH=$CLASSPATH:/user/share/java/mysql.jar #設定自訂變數 CLASSPATH export CLASSPATH #將自定變數 CLASSPATH 設為環境變數
mysql connector 都安裝好了之後,就可以寫點小程式來測試一下啦!
JDBCMySQL.java
import java.sql.*; public class JDBCMySQL { public static void main(String[] args) { String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/phpbb"; String user = "root"; String password = "5.ru8ck6"; try { Class.forName(driver); Connection conn = DriverManager.getConnection(url, user, password); if(conn != null && !conn.isClosed()) { System.out.println("資料庫連線測試成功!"); conn.close(); } } catch(ClassNotFoundException e) { System.out.println("找不到驅動程式類別"); e.printStackTrace(); } catch(SQLException e) { e.printStackTrace(); } } }
參考資料:
https://help.ubuntu.com/community/JDBCAndMySQL
http://caterpillar.onlyfun.net/Gossip/JavaGossip-V2/ConnectDB.htm
Ubuntu 11.10 (Oneiric Ocelot)發佈囉!
跟11.04的桌面有著全新的不同體驗!讚~下載位置:http://www.ubuntu.com/download
#以下轉自 ptt.cc Linux 板:
作者 hayatoman (小小的改變是,成功的開始) 看板 Linux
標題 [分享] Ubuntu 11.10正式發佈
時間 Fri Oct 14 09:59:39 2011
───────────────────────────────────────
Ubuntu 11.10(Oneiric Ocelot)如約正式發佈了,這是Ubuntu的第15個重大版本發佈,
桌面版和服務器版都有18個月的生命週期。Ubuntu 11.10包括以下版本:桌面版、服務器
版、Ubuntu Cloud、Kubuntu、Xubuntu、Lubuntu、Edubuntu、Mythbuntu、Ubuntu
Studio。
Ubuntu 11.10元件:
— Unity 3D界面4.22;
— Unity 2D界面4.12;
— 桌面環境GNOME 3.2.0;
— Linux kernel 3.0.4;
— X.Org 7.6;
— Xorg Server 1.10.4;
— Upstart 1.3;
— GCC 4.6 toolchain;
— Python 2.7.2;
— Compiz Fusion 0.9.6。
Ubuntu 11.10新特性:
— 完善了桌面體驗;
— 3D界面和2D界面兩種登錄方法,均屬Unity界面;
— 全新的LightDM登錄畫面;
— 新的Alt+Tab快捷鍵切換;
— 14張新壁紙;
— 默認的Ambiance主題進行了完善;
— 全新的Ubuntu Software Center軟件中心;
— 默認瀏覽器:Mozilla Firefox 7.0;
— 默認郵件客戶端:Mozilla Thunderbird 7.0;
— 混合CD/USB ISO鏡像:支持將ISO鏡像直接寫入USB;
— 完善了對32位和64位系統的兼容性;
— 服務器版本支持ARM架構;
— 引入了Juju雲端服務;
— 新的音樂播放器連接至Banshee;
— 支持更多腳本語言,包括日語、中文和韓語;
— DVD鏡像更小,包括所有你需要的應用程序。
Ubuntu 11.10官方下載頁面:
http://www.ubuntu.com/
http://cdimage.ubuntu.com/releases/11.10/release/
#以下轉自 ptt.cc Linux 板:
作者 hayatoman (小小的改變是,成功的開始) 看板 Linux
標題 [分享] Ubuntu 11.10正式發佈
時間 Fri Oct 14 09:59:39 2011
───────────────────────────────────────
Ubuntu 11.10(Oneiric Ocelot)如約正式發佈了,這是Ubuntu的第15個重大版本發佈,
桌面版和服務器版都有18個月的生命週期。Ubuntu 11.10包括以下版本:桌面版、服務器
版、Ubuntu Cloud、Kubuntu、Xubuntu、Lubuntu、Edubuntu、Mythbuntu、Ubuntu
Studio。
Ubuntu 11.10元件:
— Unity 3D界面4.22;
— Unity 2D界面4.12;
— 桌面環境GNOME 3.2.0;
— Linux kernel 3.0.4;
— X.Org 7.6;
— Xorg Server 1.10.4;
— Upstart 1.3;
— GCC 4.6 toolchain;
— Python 2.7.2;
— Compiz Fusion 0.9.6。
Ubuntu 11.10新特性:
— 完善了桌面體驗;
— 3D界面和2D界面兩種登錄方法,均屬Unity界面;
— 全新的LightDM登錄畫面;
— 新的Alt+Tab快捷鍵切換;
— 14張新壁紙;
— 默認的Ambiance主題進行了完善;
— 全新的Ubuntu Software Center軟件中心;
— 默認瀏覽器:Mozilla Firefox 7.0;
— 默認郵件客戶端:Mozilla Thunderbird 7.0;
— 混合CD/USB ISO鏡像:支持將ISO鏡像直接寫入USB;
— 完善了對32位和64位系統的兼容性;
— 服務器版本支持ARM架構;
— 引入了Juju雲端服務;
— 新的音樂播放器連接至Banshee;
— 支持更多腳本語言,包括日語、中文和韓語;
— DVD鏡像更小,包括所有你需要的應用程序。
Ubuntu 11.10官方下載頁面:
http://www.ubuntu.com/
http://cdimage.ubuntu.com/releases/11.10/release/
2011年10月14日 星期五
Rework - 工作大解放
前陣子就有聽聞這本書獨到的見解,剛好在退伍前一天,趁著放假的空閒,去書局帶了這本書回來。看完這本書我只能說,真的是大解我多年來的心頭之惑。一直以來都想著該如何創業、如何起手,讀完這本書會一掃我心中思考已久的疑惑。
作者是著名的 37signals 創辦人,述說著他們如何從網頁設計公司轉型成為軟體公司,秉持著與 MBA 大相逕庭的理念,不主張擴張,遵循著解決自己問題的原則來開發產品,與現存大部分的軟體公司,老想著如何解決別人問題、迎合別人來規劃開發新產品的作法,是完全不同。他們不做計畫、不當工作狂、不逞英雄、不訂長遠的目標,因為訂定太大、大遠的目標只是一種猜測,猜測事情的發展會發生無法預料的後果,並教導如何靠著經營客戶來經營自己的品牌,而不是透過廣告行銷,一些大費周章卻得不到成效的白工。書中還講了好多好多很棒的內容,讀完會讓我有種恍然大悟的感覺,很久以前就一直在尋找這類的書籍,沒想到真的出版了!
這本書中許多的專案管理理念和原則,跟我最近在讀的人月神話有許多相似的地方,最近真的是瘋狂愛上了這類的書籍...無法自拔!!
2011年10月13日 星期四
Linux 上 chmod 只修改檔案或是資料夾的權限
資料夾:
find . -type d -exec chmod 775 {} \;
檔案:
find . -type f -exec chmod 664 {} \;
find . -type d -exec chmod 775 {} \;
檔案:
find . -type f -exec chmod 664 {} \;
在 phpBB 上安裝 Share On 模組
Share On 是 phpBB 官方認可的模組,安裝完之後可以在文章上看到大多數社群網站的分享按鈕,安裝的方法非常的簡單,照個官方的指示一步一步做就可以了。
模組名稱:Share On 1.2
官方介紹頁面:http://www.phpbb.com/customise/db/mod/share_on/
安裝完之後,會發現其實有個小 bug 需要修正。未登入的使用者,會看不到 share on 模組的語言字串 SO_SELECT,如這篇所示:
http://www.phpbb.com/customise/db/mod/share_on/support/solved_%7B_so_select_%7D-t_94654
網址內所提的方法是在 viewtopic.php 內加上:
但我認為這並不是正確的修正方式,而是應該在 /phpbb/language/{lang}/common.php 再多加上:
並修改 /phpbb/styles/prosilver/template/viewtopiv_body.html 將:
SO_SELECT 改成 SHARE_ON_SELECT
另外,竹貓星球有提供中文化檔:http://phpbb-tw.net/phpbb/viewtopic.php?t=54283
模組名稱:Share On 1.2
官方介紹頁面:http://www.phpbb.com/customise/db/mod/share_on/
安裝完之後,會發現其實有個小 bug 需要修正。未登入的使用者,會看不到 share on 模組的語言字串 SO_SELECT,如這篇所示:
http://www.phpbb.com/customise/db/mod/share_on/support/solved_%7B_so_select_%7D-t_94654
網址內所提的方法是在 viewtopic.php 內加上:
$user->add_lang('mods/info_acp_shareon');
但我認為這並不是正確的修正方式,而是應該在 /phpbb/language/{lang}/common.php 再多加上:
'SHARE_ON_SELECT' => 'Share on',
並修改 /phpbb/styles/prosilver/template/viewtopiv_body.html 將:
SO_SELECT 改成 SHARE_ON_SELECT
另外,竹貓星球有提供中文化檔:http://phpbb-tw.net/phpbb/viewtopic.php?t=54283
使用 Java 進行 AES 加密
前天投了一家處理資安的公司,沒想到很快就回覆我了,而且還夾帶了一個小小的程式撰寫測驗!
----
請交原始碼、編譯環境相關檔案,可參考或使用現成的加密函式RSA, AES, DES…或者基本的XOR。
評分標準:
基本項目
1. coding style (Source Code)
2. 完成度(exe檔 或 JAR檔)
加分項目
1. 可以的話用不同語言(C++, Java)撰寫
2. 不同作業系統程式 (project or make file)
3. 視窗介面(console, Windows 或 手機)
參考資料:Using AES with Java Technology
----
程式寫作測驗:
請寫一個檔案加密的程式,輸入檔名,讀取內容,加密後輸出成另一加密檔。請交原始碼、編譯環境相關檔案,可參考或使用現成的加密函式RSA, AES, DES…或者基本的XOR。
評分標準:
基本項目
1. coding style (Source Code)
2. 完成度(exe檔 或 JAR檔)
加分項目
1. 可以的話用不同語言(C++, Java)撰寫
2. 不同作業系統程式 (project or make file)
3. 視窗介面(console, Windows 或 手機)
----
加密的東西其實還蠻常用到的,像是 PHP 的使用者密碼都是會經過加密在儲存到資料庫,只是用 Java 到還是頭一遭!稍微做了點功課,發現大家比較推薦的加密演算法是 AES,而且在 Java 的官網就可以找到教學文章 ,所以就寫了一個簡單的 AES 加密、解密器。
核心程式碼如下:
AESEncrypter.java
package joujiahe.encrypt.AES; import java.security.NoSuchAlgorithmException; import javax.crypto.*; import javax.crypto.spec.SecretKeySpec; // AES Encrypt core public class AESEncrypter { private SecretKeySpec skeySpec; private Cipher cipher; public AESEncrypter() throws NoSuchAlgorithmException, NoSuchPaddingException{ // Get the KeyGenerator KeyGenerator kgen = KeyGenerator.getInstance("AES"); kgen.init(128); // 192 and 256 bits may not be available // Generate the secret key specs. SecretKey skey = kgen.generateKey(); byte[] raw = skey.getEncoded(); this.skeySpec = new SecretKeySpec(raw, "AES"); // Instantiate the cipher this.cipher = Cipher.getInstance("AES"); } // output encrypted bytes public byte[] encrypt( byte[] original ) throws Exception{ this.getCipher().init(Cipher.ENCRYPT_MODE, skeySpec); byte[] encrypted = cipher.doFinal(original); return encrypted; } // output decrypted bytes public byte[] decrypt( byte[] original ) throws Exception{ this.getCipher().init(Cipher.DECRYPT_MODE, skeySpec); byte[] decrypted = cipher.doFinal(original); return decrypted; } // getter and setter public SecretKeySpec getSkeySpec() { return skeySpec; } public void setSkeySpec(SecretKeySpec skeySpec) { this.skeySpec = skeySpec; } public Cipher getCipher() { return cipher; } public void setCipher(Cipher cipher) { this.cipher = cipher; } }
參考資料:Using AES with Java Technology
2011年10月7日 星期五
Ubuntu 11.04 安裝 phpMyAdmin
phpMyAdmin 是一套用 php 開發,來管理 MySQL 的軟體。安裝的方法非常簡單:
之後在修改 /etc/apache2/httpd.conf 加上:
sudo apt-get install phpmyadmin
之後在修改 /etc/apache2/httpd.conf 加上:
Include /etc/phpmyadmin/apache2.conf
Ubuntu 11.04 安裝 ImageMagick
剛剛要試著在 Ubuntu 上安裝 ImageMagick 的時候,發現 tw.achive.ubuntu.com 掛掉了!查了一下,好像已經掛了一陣子了。解決的方法也很簡單,只要:
1. Synaptic > 設定 > 套件庫,將"位於臺灣的伺服器"改成"主要伺服器",
或是到 /etc/apt 下,
2. 修改 source.list 裡面的 tw.achive.ubuntu.com 成 achive.ubuntu.com 。
最後,再執行一次指令就安裝完成了!
1. Synaptic > 設定 > 套件庫,將"位於臺灣的伺服器"改成"主要伺服器",
或是到 /etc/apt 下,
2. 修改 source.list 裡面的 tw.achive.ubuntu.com 成 achive.ubuntu.com 。
最後,再執行一次指令就安裝完成了!
sudo apt-get install imagemagick
2011年10月6日 星期四
Ubuntu 11.04 安裝 Epson EPL 6200L
原本以為在 Ubuntu 上安裝印表機會像 Windows 7 一樣簡單、順利,沒想到安裝了之後列印,印表機一動也不動。
感謝廣大的 Ubuntu 社群,讓我 Google 一下就找到解決方法了。只要按照下面的指令作就行了,基本上就是自己抓驅動程式來安裝:
資料來源:http://ubuntuforums.org/showthread.php?t=1558950
感謝廣大的 Ubuntu 社群,讓我 Google 一下就找到解決方法了。只要按照下面的指令作就行了,基本上就是自己抓驅動程式來安裝:
cd /usr/src sudo tar zxvf /download/epsoneplijs-0.4.1.tgz cd epsoneplijs-0.4.1/ sudo ./configure sudo make sudo make install sudo mkdir -p /usr/share/cups/model/foomatic-ppds/Epson/ sudo cp -av ../foomatic_PPDs/Epson-EPL-*-cups.ppd.gz /usr/share/cups/model/foomatic-ppds/Epson/ sudo cp foomatic/driver/epl6200l.xml /usr/share/foomatic/db/source/driver/ sudo cp foomatic/opt/epsonepl-* /usr/share/foomatic/db/source/opt/ sudo cp foomatic/printer/Epson-EPL-6200L.xml /usr/share/foomatic/db/source/printer/ sudo cp ijs_server_epsonepl /usr/bin/ sudo /etc/init.d/cups restart
資料來源:http://ubuntuforums.org/showthread.php?t=1558950
2011年9月29日 星期四
[轉錄] 程式設計師應讀的十本好書
這是由 Stack Overflow 票選出來的前十大好書,慚愧~一本都沒看過!
第一名 Code Complete,1289票,教你怎麼寫乾淨的程式。中文翻譯版連結在此。
第二名 Pragmatic Programmer,1138票,簡體版叫做”程序員修煉之道︰從小工到專家“。
第三名 Structure and Interpretation of Computer Programs,672票,這本有夠貴,要六千多台幣。不過,線上有免費全文版本在這裡可以線上閱讀。
第四名 The C Programming Language,541票,大名鼎鼎的C語言聖經。
第五名 Introduction to Algorithms,463票,StackOverflow上面這麼來簡述各聖經的訂位:Code Complete教你正確地寫程式;人月神話教你怎麼正確管理專案;Design Patterns教你怎麼正確設計;而這本書是教你怎麼想演算法。
第六名 Refactoring: Improving the Design of Existing Code,459票,中文譯本在這裡。
第七名 The Mythical Man-Month 人月神話,418票,中譯本從這裡購買。這是軟體專案管理的經典書籍。
第八名 Design Patterns,415票,中文譯本在這,不過似乎絕版了。
第九名 The Art of Computer Programming,378票,數冊可做參考書。這書簡稱為TAOCP,作者是Stanford大學的Knuth教授,也就是他發明了大名鼎鼎的TeX排版系統。
第十名 Compilers Principles, Techniques, and Tools,346票,可帶你進入compiler的奇幻世界,書的封面可是有一隻噴火龍的。
資料來源:http://www.inside.com.tw/2011/03/03/books-programmer-must-read
[轉錄] PHP - if v.s. switch 誰快?
再 fluffycat 上看到一篇測試 PHP 的 if 和 switch 判斷式哪個執行速度較快,根據作者使用亂數測試的結果是 if 略勝 switch,但差距並不明顯。雖然程式碼亂數只取到 5,但下面有網友幫忙測試了亂數 10、20 和 50,得到的結果還是 if 略勝。
小小的測試,小小的趣味。
原始碼:下載
參考資料:http://www.fluffycat.com/PHP-Design-Patterns/PHP-Performance-Tuning-if-VS-switch/
小小的測試,小小的趣味。
原始碼:下載
//copyright Lawrence Truett and FluffyCat.com 2009, all rights reserved define('BR', '<'.'BR'.'>'); echo 'Performance Testing PHP if / else VS switch with 100,000 iterations'.BR.BR; $ifTime = 0; $switchTime = 0; for ($x = 0; $x < 100000; $x++) { $oneToFive = rand(1,5); if (0 == fmod($x,2)) { $switchTime = $switchTime + testSwitch($oneToFive); $ifTime = $ifTime + testIf($oneToFive); } else { $ifTime = $ifTime + testIf($oneToFive); $switchTime = $switchTime + testSwitch($oneToFive); } } echo 'total if / else time: '.$ifTime.BR; echo 'total case time: '.$switchTime.BR; echo BR; if ($ifTime > $switchTime) { echo 'switch is quicker by '.($ifTime - $switchTime).BR; } else { echo 'if / else is quicker by '.($switchTime - $ifTime).BR; } function testSwitch($oneToFive) { $time_start = microtime(true); switch($oneToFive) { case 1: $z = 1; break; case 2: $z = 2; break; case 3: $z = 3; break; case 4: $z = 4; break; case 5: $z = 5; break; } $time_end = microtime(true); $time = $time_end - $time_start; return $time; } function testIf($oneToFive) { $time_start = microtime(true); if (1 == $oneToFive) { $z = 1; } elseif(2 == $oneToFive) { $z = 2; } elseif(3 == $oneToFive) { $z = 3; } elseif(4 == $oneToFive) { $z = 4; } elseif(5 == $oneToFive) { $z = 5; } $time_end = microtime(true); $time = $time_end - $time_start; return $time; }
參考資料:http://www.fluffycat.com/PHP-Design-Patterns/PHP-Performance-Tuning-if-VS-switch/
2011年9月28日 星期三
PHP 5.4 beta1 發佈
PHP 5.4 beta1 發佈了!!!
增加了一些新功能和移除部分過時的行為,主要做了三項變動:
原文:
參考資料:http://www.php.net/archive/2011.php#id2011-09-27-1
增加了一些新功能和移除部分過時的行為,主要做了三項變動:
- 增加可呼叫的 type hint。
- 移除自動辨識時區演算法,改用 UTC 為預設。
- 使用 mysqlnd 為預設來取代掉 mysql、mysqli 和 pdo_mysql。
原文:
- Added callable typehint.
- Removed the timezone guessing algorithm. "UTC" is now used in case the timezone is not set.
- The mysql, mysqli and pdo_mysql extensions now use mysqlnd by default.
2011年9月27日 星期二
Facebook 新功能 - 翻譯
今天再逛 Facebook 的時候,忽然發現它有翻譯的功能,似乎是不久前才出現的!
如下圖,在留言旁邊出現了"翻譯"的字樣。
按下翻譯之後,僅限塗鴉牆上的文字會被立即翻譯,不包含分享的內容。翻譯字樣則會變成"原文"。
目前還不知道背後是透過什麼來進行翻譯。不過,在實用性上我覺得多多少少對用戶都有些幫助!像是一些韓國偶像團體的粉絲網頁,就可以透過這個功能來直接翻譯原文,不用再額外透過一些翻譯軟體就能得知心愛的偶像的動態喔~
2011年6月6日 星期一
守護程序 I 網路殺神
上次趁著返台的時候買了這本書 守護程序 I 網路殺神,主要是用來打發當兵苦悶的時間。由於平常沒有看小說的習慣,會挑上這本小說完全純屬意外,無意間被書籍介紹所吸引的,到底是什麼樣的書會讓每個電腦使用者無法停手?我的好奇心就驅使了我買下這本書。
訂閱:
文章 (Atom)