2012年12月6日

How to hide the Apache version information in http header

edit the /etc/httpd/conf/httpd.conf file ( in Ubuntu server is /etc/apache2/apache2.conf )

and add

ServerTokens ProductOnly
ServerSignature Off

or edit if the option exist.

ServerTokens options and results:


ServerTokens ProductOnly

result:
Server: Apache

ServerTokens Major

result:
Server: Apache/2

ServerTokens Minor

result:
Server: Apache/2.0

ServerTokens Minimal

result:
Server: Apache/2.0.55

ServerTokens OS

result:
Server: Apache/2.0.55 (Debian)

ServerTokens Full (or not specified) default

result:
Server: Apache/2.0.55 (Debian) PHP/5.1.2-1+b1 mod_ssl/2.0.55 OpenSSL/0.9.8b


and hide the php information

edit /etc/php.ini

edit expose_php to Off

( expose_php = Off )

2012年11月16日

Amazon RedHat Instance ssh login


ssh -i /your/pem/path/file.pem root@ec2-xxxxx-1.ap-northeast-1.compute.amazonaws.com

use root...not ec2-user

>_<

2012年5月16日

HTC - 三星 - 蘋果




其實我完全不知道標題該怎麼下...

在此分享一篇文章

鴻海、宏達電  誰對台灣更重要?
http://www.cw.com.tw/article/article.action?id=5032848

我對財經是完全的門外漢
所以無法求證或給大家保證裡面數字都是對的
但商業週刊裡的文章應該不會離譜到哪

如果裡面所言屬實
我們是否該思考一下
買三星、蘋果的手機
會造成什麼樣的後果?

原本我也是半信半疑,愛用國貨有差這麼多嗎?
哪可能因為我一個人不買,明天台灣就垮掉了
但從這些現象看起來
還真的有可能...

撇開政治因素
HTC也為台灣帶來不少好處(這樣講應該對吧?肚子裡沒裝太多專有名詞XDD)
如果繼續助長三星、蘋果的勢氣
那真的只能說
『歡喜做,甘願受』
別怪薪水只有22k,也別怪薪水20年沒漲了....


我也不是在強迫大家要買哪家的產品
相信蘋果、三星這兩家廠商有各自的優點
才會吸引大批"粉絲"擁戴
這絕對是我們該學習的
但是選擇的當下
應該可以有另一種不一樣的思維來看待這件事!

2012年5月4日

為什麼我會買iPhone?



蘋果給大眾的印象就是,封閉、不自由、會被洗腦、盲從
半年前,我也還是一個很討厭Apple這字眼的科技人。

從 iPod 盛行的年代開始,我就一直視蘋果為非必要買進的科技產品
加上發現大部分拿Apple的人都有幾個特色
就是覺得這樣很潮、跟得上流行、買了產品,但卻不知道買來要幹嘛(很多人都喜歡在螢幕上滑來滑去,但其實我永遠不知道他們在滑什麼..........)
並且自從Android出來之後更會大肆批評其他品牌
這現象令人從心底討厭這產品

2011年 Steve Jobs 去世,眾多人為他悼念
當時的我純粹抱著死者為大的心態,祝福他離開這人世間
也慢慢接觸到他的傳記、演講、產品發表會...等等,有關於他的一切
發現他是一個很特別的人,他的人生也經歷各種起伏
他從Apple被趕出來到重新回去的那段,最能鼓舞我的心
也驗證了有失敗,就一定會有成功,這是個相對的世界。

那時,我便開始思考
如果一個產品很爛,有可能會出現這麼多支持者嗎?
難道賈伯斯以前是學催眠的嗎?
到底是什麼吸引了這麼多粉絲?
所謂的粉絲其實也是人,應該說到底是什麼吸引了那麼多人?
這些人還很愛用,聽說用了就不會想再換,很快就會變成忠實客戶

帶著這些好奇,我選擇用 iPhone 進入這神祕的世界
而他帶給我的感受
是使用了三 四年Android的我所無法想像的
的確,這是我們科技人所缺乏的設計感
的確,程式寫多了,腦子裡只剩下if then else的邏輯
一直到了現在,雖然我也有Android手機
但早就把主要使用的手機轉移到了 iPhone 上。


這世界很大
如果我們用拒絕的心看某一件事或某個角落
那我們就少接觸了另一種感觸
眼界就變得相對渺小了
不要小看這世界任何一個產品
就像Dropbox剛出來時我也覺得這沒什麼
只要寫過程式的人都會有類似的東西
但它的思維和我們寫程式的人不一樣
他就是要做給不會寫程式的人用的
所以不只在程式上下功夫
更是用心打造、包裝"產品"
如果我們早點學會開放自己的心
我們就能早點在這些發光發熱的產品上學習
而不是一直活在自己的世界

btw, 其實很多人討厭蘋果,都跟我一樣討厭的是"人",如果是這樣,那我會誠心的建議你去體驗一下蘋果的產品,但記住別變成自己曾經討厭的"人"。

2012年4月29日

創業的目的



http://mrjamie.cc/2012/04/30/phil-libin/

這篇文章真的寫得太好了
也讓我之前的疑惑有了解答

雖然文章裡說台灣為了錢創業的現象還好
但我身邊的人很多想創業都是為了錢

舉例來說
有參加過直銷說明會的人應該都知道
他們一貫的說法就是
這裡不是直銷,是在經營一個自己的事業!!
賺不賺錢,純看你的努力!!
有人可以月入十幾萬!!你一定也可以!!
結果就因為那句月入十幾萬就當了別人的下線
還沒月入十萬就先花了十幾萬幫人衝業績

這是一個很畸形的例子
因為這根本不是一個創業的行為
這就只是讓你跳進慾望的坑洞裡
讓妳為了錢賣命
最後一無所獲
甚至只會怪自己不夠努力才沒有收穫


如果是為了錢,Please DON'T do it.
好好當員工,領月薪,學會理財
可能還會賺得更多。

2012年4月26日

【JavaScript】Closure in for loop



我們通常會遇到以下情況

假設有個簡單網頁,所包含的元件如下

<ul>
    <li>123</li>
    <li>456</li>
</ul>

我們要給每個 li 加上一個 onclick 事件

滑鼠點擊後會 alert 順序的編號

為了讓程式聰明點

我們通常會使用 getElementsByTagName

和 foor loop 來 add event

例如:


var list = document.getElementsByTagName("li");
for( var i=0; i<list.length; i++){
list[i].onclick = function(){
alert(i);
}
}

但是這樣會發現一個嚴重的問題

每個 li alert的數字都一樣是2

為什麼?

因為當滑鼠按下時,做的動作是: alert(i);

而當時的 i 早就跑完迴圈變成 2 了

所以應該要這樣寫:


var list = document.getElementsByTagName("li");
for( var i=0; i<list.length; i++){
list[i].onclick = (function(index){
return function(){
alert(index);
}
})(i);
}

把重要的那部分拿出來研究一下:


        (function(index){
return function(){
alert(index);
}
})(i)

最外面的 ()(i) 的意思是執行裡面的 anonymous function

而裡面的 anonymous function 又 return 一個 function

return 的 function 做的事情是 alert(index)

index 又是  anonymous function 的 parameter

就是一個不被外部干擾的 Local variable

所以可以保證 alert 是我們想要的數字


一個看似成功的"手機"平台:Android


隱約記得,在我大三那年
我們學長就在玩著一堆Bug的Android
我還拿著我的Sony Ericsson K810i
只有試玩過那時候破爛破爛的windows mobile
當時對智慧型手機的看法就是:爛

一直到了去年
Android 修掉了大部分的Bug
把使用者感覺的到的問題都修正了
一切看起來很美好
到了Android 4.0 更是對UI做了大幅度的改進
但是Android隱藏的怪物
卻始終在那

不過說是怪物
不如說Android就是靠這賺錢的
如果這篇文章在2010或2011初的時候寫
我還可以大肆批評Android架構如何爛如何差(但其實我並不善於批評XD)
而且可能只有我或少數人能認同
(其實去年我在跟我身邊朋友討論時,多數人都不相信我說的)
到了2012年,我終於敢寫這篇文章了

因為這世界上,不再只有我這樣想
先來引述幾篇文章

2012-02-07
七種跡象表明,Android將被強勢的iOS拽出疾速增長的軌道
http://www.36kr.com/p/81192.html

這篇文章可能是我所看到的第一篇,敢跳出來戰Android的文章
當時下面的回覆可是熱鬧非凡(不過改版後回復都不見了?)
我當然也有跳進去湊熱鬧XD
在今年2月的時候
仍然有大多數人看好Android,不斷吐槽寫這篇文章的人

不過在短短兩個月內!!
是的,就是今年四月
2012-04-22
實時研究表明:相比於Android,iOS設備用戶活躍度佔絕對主導地位
http://www.36kr.com/p/102211.html

這結果我並不意外
比較讓我意外的是下面的回覆
竟然大多數人都贊同這篇文章的研究結果!

自此之後,不利於Android文章越來越多

2008年以來Google通過Android只撈到5.5億美元,通過iPhone收入達數十億
http://www.36kr.com/p/95345.html
Android:什麼情況?
http://www.36kr.com/p/103038.html
單個應用上每用戶貢獻平均收入,Amazon 大於iTunes,並遠超Google Play
http://www.36kr.com/p/103380.html
212-04-27
左有蘋果的 iPhone,右有 Amazon 的 Kindle Fire,Google 的 Andr​​oid 將走向何方
http://techorange.com/2012/04/27/where-should-google-go-with-android/

到底是什麼原因造成現在的局面?

就我所觀察
比較嚴重的有兩點(但都跟Android架構無關XDD)
1. 版本分裂,導致開發者開發Android App時難度增加
我想最常聽見的就是,要為了每種不同解析度的螢幕優化
實在快累死人~~
不過這種情況在Android 4.0被稍稍改善
但由於4.0市占率不高,加上有消息稱5.0就快發布了
我想這問題還會持續好一陣子。

2. Android App太容易複製、傳播
這應該就是嚴重影響,Google Play 上使用者付費意願的主要原因
大家應該都知道SPB Mobile Shell,一個很華麗的桌面應用程式
Google Play上定價快500台幣
在Android 世界裡,算是賣得不錯
但很不幸的,只要在google搜尋欄位輸入"spb mobile shell 5.0 破解"
還真的就找到免費完整版了...
更不用說其他軟體了

不過有人會說 iPhone 越獄後不也一樣嗎?
根據個人使用經驗
我用過Hero, Desire(都是老牌的了XD),一隻iPhone 3GS
Android刷機是一定要的,iPhone越獄也是必然的
就我體驗的結果是
我的iPhone雖然越獄了
但Cydia的搜尋功能真是爛的可以...
而且除非我知道我要哪個軟體
要不然我也只能對著搜尋欄位發呆XD
而Android 我也不知道為什麼
總是可以下載到最新最好用的東西
軟體、遊戲什麼都不缺~~
真是窮人的好手機啊!!!!!!!!!!!讚!!!!
(不過我現在都用iPhone居多....)

當然還有很多安全性議題的文章,在此沒有列出
因為其實越獄後的iPhone只比root 過的 Android安全一點點(在此呼籲有越獄的朋友們,一定要把SSH關掉或改密碼!!!)
(但沒越獄的iPhone可能就比Android安全許多)
主要還是因為apk太容易被拆開再組合回去
這動作看似沒有意義,但最大的意義就在於拆開和組合中間的過程
拆開後可以修改內遷廣告的ID(讓收益變自己的)
也有可能加入隱藏的回傳資訊程式碼(原本就需要GPS和網路的App來說,裡面加進一小段回傳資訊的程式碼也是很難被發現的)
再包回apk,任意散播至各大論壇

說了這麼多
Android 真的無法再進步了嗎?
其實他還是在成長的XD
而且Linux kernel 擁有高移植性
所以對其他裝置來說,仍然有很大發展性(如:電視、智慧家庭....等等)

就手機而言目前除了Apple以外已經沒有其他選擇了
我以前也是個Apple hater,但實在受不了Android 只好跳槽當自己所討厭的人XDD
所以我仍然在期待年底的Windows Phone !!
原因? 下次再說吧....累了XDD


--------------
2012-04-27
再補一篇
Android平台上的盜版概況
http://www.inside.com.tw/2010/08/30/the-piracy-in-android