網頁

2013年11月29日 星期五

【mySql】設定系統時間

【環境:mysql】

調整系統時間,除了os time, php設定時區
還有就是mySql

原因就是我用了


時間上差了八個小時,其實我也不懂為啥設定時間,不是設定一個就好
全部參照os time不就得了

解決方法為
cmd中登入mysql
可以看到目前的time_zone = SYSTEM
其實還要加8小時

解決方法為:
SET GLOBAL time_zone = '+8:00';




最後補充,也可針對每個session.time_zone去設定個別的時間。

可用以下查看時間
SELECT @@system_time_zone, @@global.time_zone, @@session.time_zone;

mysql> show variables like '%time_zone%';
mysql> select CURTIME(); 或 mysql> select now();



As always , if you have any question , feel free to contact me.
有任何問題,請聯絡我

歡迎轉載,請註明出處,感謝。

2013年11月18日 星期一

【html】favicon.ico快速產生

【環境:html】

使用下列網站,將你的圖,轉成ico的格式
http://tools.dynamicdrive.com/favicon/#.UomnBWSSBRc

於html中,將下列程式碼去掉註解後,加入head,即可。
 
 <!--link href="/favicon.ico" rel="shortcut icon" type="image/x-icon">

As always , if you have any question , feel free to contact me.
有任何問題,請聯絡我

歡迎轉載,請註明出處,感謝。

【apache】個別目錄下的htaccess啓動overlay

【環境:apache】

由於安全性等的考慮,Apache 預設是 None
如果某些地方需要支援 .htaccess ,可指定目錄支援即可

將 AllowOverride 由None->All

<Directory "路徑">
AllowOverride all
</Directory>



As always , if you have any question , feel free to contact me.
有任何問題,請聯絡我

歡迎轉載,請註明出處,感謝。

【AWS】VSFTP安裝

【環境:aws.ec2.micro】

AWS EC2本身並無ftp的服務,此次安裝vsftp。

安裝及建立user方法如下
 yum install vsftpd
 useradd 用戶名稱
 passwd 用戶名稱//用戶密碼
 cd /etc/vsftpd/
 vim user_list // 在此寫入用戶名稱


接著請執行
 vim vsftpd.conf 

在這邊寫入,修改anonymous_enable=NO
 
 userlist_enable=YES
 userlist_deny=NO
 userlist_file=/etc/vsftpd/user_list

若要將用戶的登入目錄引導到指定位置,一樣在vsftpd.conf 中寫入
 
 user_config_dir=/etc/vsftpd/vsftpd_user_conf

並在該目錄建立『vsftpd_user_conf』,在此目錄中新增『用戶名稱檔案』,並在此添加以下內容
 
 local_root=指定的位置

最後『重新啟動』即可
sudo service vsftpd restart

接著請記得在aws 控制台的防火牆上,添加port:TCP 20~21

As always , if you have any question , feel free to contact me.
有任何問題,請聯絡我

歡迎轉載,請註明出處,感謝。

【AWS】安裝apache+php+mysql+phpMyAdmin

【環境:AWS.linux.micro.free】

有2.3個月沒上AWS,沒想到最近又更新,以往對於系統更新,不專業的我,都會認為怎麼老是更新,這樣對用戶好嗎?現在看到系統業者努力更新,提供新的功能、語言,我都會覺得這個團隊充滿活力,好棒。

改天來分享一下AWS的使用心得,實在太忙,都只能騰出零碎時間去寫blog。

好久沒安裝這些網站基本的服務,最近很多新的語言也到處流行,不過這些就可以滿足大部份的普羅大眾需求。

ssh 登入 aws後,請用管理者權限 sudo su,再在terminal上輸入

 
 yum  -y  install  httpd  php  php-mysql  mysql  mysql-server

接下來系統就會自行安裝,可以看到目前的版本。

要注意的是,你的防火牆設定,請直接到aws ec2控制台,設定你的防火牆機制。

【啓動mySql】
 
 sudo chkconfig mysqld on //設定 MySQL 開機預設啟動
 sudo /etc/init.d/mysqld start      // 執行 mysqld ,第一次會初始化 
為了安全性,設定你的root密碼:
 
 sudo mysql_secure_installation//接下來會有一連串的問答
  
【啓動apache】
 
 sudo  chkconfig httpd on
 sudo /etc/init.d/httpd start

若你要移動『你的根目錄』,可去『vim /etc/httpd/conf/httpd.conf』,修改DocumentRoot

若你想執行https,則請安裝
 
 yum  -y  install  mod_ssl  mod_perl  mod_auth_mysql

【安裝phpMyAdmin】
請去『phpMyAdmin下載』,移動到你的DocumemtRoot下,解壓縮後就可登入。
登入的帳號:root,密碼:你剛剛設定的密碼

我執行時出現的問題:
The mbstring extension is missing. Please check your PHP configuration.』,請安裝
 yum -y install php-mbstring

若出現缺少『mcrypt』,請安裝
 yum -y install mcrypt


As always , if you have any question , feel free to contact me.
有任何問題,請聯絡我

歡迎轉載,請註明出處,感謝。

2013年11月15日 星期五

【文章】十則來自 Google、Pinterest 工程師的金玉良言

【來源:Inside】

1、慎重選擇第 1 門語言

程式語言各有不同,不過區別不大。但用語言的人區別就大了。選擇了一門語言你就選擇了一個族群。
– Sam Kaufman,自由職業者,iOS 開發者,10x management
如果你想快速建立原型(尤其對於希望對產品進行 iterate 升級的創辦人來說),那就用 Ruby 或者 Javascript。
– Erin Parker,Spitfire Athlete 創辦人兼首席開發者

2、你不是隻「程式猿」(code monkey)!

偉大的開發者能夠建構並開發應用程式。驚豔的開發者能夠在關注業務的同時做這件事。業務端的人大都不懂程式,但是肯定能夠理解特定功能背後的動機。
別人說什麼開發者就做什麼,沒有去理解為什麼要這麼做,導致雙方均錯失了機會,這樣的事情太常見了。
– John Coggeshall,自由職業者,web 開發者,10x Management,PHP 核心貢獻者
精通程式是一個崇高的職業目標。一旦實現了這個目標,別忘了考慮一下你自己。不要成為任何公司的奴隸或者在毫無價值的東西上浪費你的時間。
— Greg Sadetsky, Python 及Javascript 專家,10x Managemen;協同辦公空間Abri.co 創辦人
要想按期完成,得在開始技術工作之前事先進行專案溝通(哪怕這並非先決條件),因為其他人的響應速度千變萬化。
– Andrew Wilcox ,web 應用開發者,Meteor 核心貢獻者,10x Management

3、保持敏捷,不斷交付

早發表,不斷發表,以唱 rap 的節奏發表。
– Max Nanis ,自由職業者,web 開發者,生物訊息學專家,10x Management
不斷測試。好的測試包如保單和煤礦裡的金絲雀之結合。它能幫助你在生產週期中更早地找出錯誤,而錯誤越早發現越容易解決。
– Jeremy Green,自由職業者,web 開發者,專長Ruby on Rails,10x Management
快速失敗。寫程式(及生活)時我希望儘早知道什麼地方不能工作,而不是放任不管讓它增殖擴散。全面放開,快速失敗,修補缺陷,不斷繼續。
– Stephanie Volftsun,Kno​​tch 聯合創辦人兼CTO
為所有程式編寫自動測試!盡可能踐行測試驅動的開發。
– Zoran Kacic-Alesic,Industrial Light & Magic 研發主管

4、保持對測試流程的控制

許多專案深受多測試週期之苦。這會拖累專案,導致組織整體出現高層次的問題。
工程師應該專注於對自己的程式進行單元測試及半回歸測試。他們比其他任何人更了解程式庫,也知道自己會影響到哪些變更。有時此類變更會由於 QA 測試範圍有限而缺失,因此導致生產環節出現重大問題。
– Sanjib Sahoo,tradeMONSTER CTO
要想在力所能及的情況下盡快開發出無缺陷程式,永遠永遠也不要把寫測試放到後面。我們更清楚這一點。要檢查一下測試的覆蓋率,確保100% 無死角。
– Seth Purcell,Signpost 工程副總裁

5、如果你是自由職業者,要學會說不,哪怕面對的是金錢

要對時間和成本有一個合理的評估,然後把它加倍。如果有人說「這應該很簡單」,那,快逃吧。
– Ryan Waggoner ,自由職業者,web 及行動 app 開發者,10x Management

6、榮譽屬於過去—理論是一回事,但實踐更重要

改進軟體開發品質的最佳方式就是去開發軟體。許多雄心勃勃的剛入門的工程師花了很多的業務時間去讀書,關於最新工具的、關於開放流程的,諸如此類的東西。
很多人都是這麼消磨自己的閒暇時間的,但這樣很容易就把你給耽擱了。別這樣,通過盡可能用腦來強化大腦負責開發軟體的那部分。
–James Cropcho,General Assembly 的 Ruby on Rails 專家及講師
不斷探索。我見過的許多工程師手上都有幾個在進行的業務專案。做業務專案迫使你要探索新技術然後學習創建 app 的各方面。你可能需要做前端的 HTML/CSS,後端的 API 集成,數據庫優化,做行動 app,還得設置自己的伺服器。
– Andrew Waage,Retention Science CTO 及聯合創辦人

7、互相切磋是你的秘密武器

兩人一組寫程式非常必要。兩個工程師共同開發同一個模組可以相互檢查對方的程式。開發團隊每周也要召開程式審查會議,讓每一個開發者給其他人的程式提供回饋或意見,解釋如何改進程式。這能夠形成一種協作文化。把開發者的自負拋開!
– Sanjib Sahoo

8、像躲瘟疫一樣避免過早優化

只有在問題和解決方案都出現在你面前時才進行重構(refactor)—過早重構是時間上的巨大浪費。不要投入半年後可能被扔掉的任何東西的完善上。過早優化是罪惡之源。
–Seth Purcell
不要過早優化!我不斷看到工程師在使用者還沒有到1000 的時候一再對擴充到100 萬的使用者規模擔心。
– Mariya Yao,Xanadu Mobile 創辦人兼創意總監,移動開發者及設計師

9、你的程式只寫一次,可別人會讀它千萬遍

你寫的程式機器會解析執行,可其他人卻需要讀你的程式,理解它、擺弄它。你必須明白,你的程式會有未來的觀眾。程式也是一種書寫形式的溝通。
– Tracy Chou,Pinterest 軟體工程師
聽起來很奇怪,但是你永遠都得替自己的未來著想。問問自己:如果你有健忘症的話,你還能不能理解自己寫過的程式?
– Wai Ching Jessica Lam,Sugarbox 共同創辦人兼 CTO
通讀你的文件。設計改變很多,有時候程式更新的時候註釋不一定會跟進。保持檔案的更新,未來的人(包括你自己)理解起來就更容易。我說不清有多少次我看回自己程式時總在想:「我到底在幹什麼?」只要我寫出了好的註釋,未來頭疼的狀況就少很多。
– Kitt Vanderwater,Google 軟體工程師

10、這是一個崇高的職業。把你的技能用到好的地方。

幫助他人是深層次的人類需求。想辦法用你的工作來改善人類,你就會有成功的把握。
– Greg Sadetsky

As always , if you have any question , feel free to contact me.
有任何問題,請聯絡我

歡迎轉載,請註明出處,感謝。

2013年11月14日 星期四

【iOS】安裝.ipa的各種方法

【環境:xCode5】
第一種:
直接將ipa給用戶,利用itunes安裝.

第二種:
 等編輯工具,直接安裝在手機上.

第三種:
利用OTA的方法,用戶用『手機』開啟.ipa下載頁面,直接安裝在手機中.

第四種:
利用mobile device management (MDM) server,利用push notification動作管理受控制的裝置,進行安裝或刪除等動作.
MDM介紹:http://www.apple.com/iphone/business/it/management.html

使用MDM的服務,需購買osx server的app在你的mac上。(osx 支援)
os x server的功能強大,這只是其中一個功能,購買安裝後,建構該osx server的憑證,上傳到此『Apple Push Notification service申請』。

注意:你必須登入你的app id,並非開發者中心,而是你在apple官網上的註冊帳號(可以用你開發者帳號去登入),該mail必須驗證過且設定一組驗證問題才可啟用。

MDM的服務,要$$$,設定相對也麻煩,但對於企業佈局,或者你有大量測試裝置上,相當有用,可以針對已對該MDM server註冊的裝置,進行更新app的行為,或者刪除。

描述檔管理程式輔助說明
部署MDM說明


=======官方資料 =======
部署應用程式有四種方式:
  • 使用 iTunes 將應用程式分配給您的使用者進行安裝。
  • 讓 IT 管理者使用“iPhone 設定工具程式”或 Apple Configurator 在裝置上安裝應用程式。
  • 將應用程式發佈到安全的網路伺服器;使用者可透過無線方式連線和執行安裝。
  • 使用 MDM 伺服器指示受管理的裝置來安裝供內部使用(若您的 MDM 伺服器支援此功能)。

As always , if you have any question , feel free to contact me.
有任何問題,請聯絡我

歡迎轉載,請註明出處,感謝。

2013年11月13日 星期三

【UDID】ios7 取得udid for win

【環境:ios7, win, iphone4s】

【UDID】ios 7 下 for mac

如題,就不再詳述,請參閱另一篇文章

方法一:iTunes

方法二:看圖應該就不陌生在哪裡找了(裝置管理員),也可以透過憑證管理去查看。




方法三:
iPhone Configuration Utility 3.6.2 for Windows



As always , if you have any question , feel free to contact me.
有任何問題,請聯絡我

歡迎轉載,請註明出處,感謝。

【UDID】ios 7 下 for mac

【環境:osx 10.9,ios 7,iphone4s】

在ios7底下,apple developer center已經正式廢除直接查出udid的方法,使用udid的好處如下(據我所知):

1.透過取得udid,可迅速加入developer center 的開發device,如此即可OTA安裝測試app,無需接線,就可將該device,加入開發裝置環境中。

2.因udid有保持唯一性,故可拿來當做device的唯一性,搭配phone number,較好追蹤該用戶的使用行為,猜測如某些溝通軟體 or 限制使用裝置數量的情況下。

3.拿來當做同步資訊的key。

(相信還有更多有用的用途)

developer center 在ios7底下,用uuid去取代udid,原因如他文件中所述『安全性問題』,據說可透過udid取得用戶的資訊,包含所有透過該手機所以透過網路可傳遞出去的資訊,均可被攔截到,據說是被FBI的幹員破解。

uuid無法讓device,變成開發機,只是如字面上所示,為該device安裝的app對開發商『唯一識別碼』。

Anyway,目前,能透過『電腦裝置』,去取得udid,也就是說『必須將你的手機』透過usb的方式,才能取得udid。(個人是認為,既然有管道可以取得,那就代表可以透過usb截取到你想或許的資源,甚至既然device有給予電腦此number,也代表一定有管道可直接用app取得udid,只是可能必須看很久的文件吧~~)

目前可得知UDID的簡易方法為:(mac , win)

方法一:透過itunes,網路上很多講解。
但,but,人生就是這個but,利用itunes,你必須讓你的電腦裝置,去允許此iphone,ipad或許權限,也就是做個備份,相當麻煩,可能又怕同步到什麼資源,讓兩檯以上的iphone,備份資源互相亂來亂去,所以除了私人的手機,基本上我不太喜歡這種方式。



方法二:device 透過 usb , 取得udid的序號資源,如下圖操作。





方法三:安裝官方提供的『iPhone Configuration Utility』(mac,win均有此工具)
此工具可參閱官方說明。




As always , if you have any question , feel free to contact me.
有任何問題,請聯絡我

歡迎轉載,請註明出處,感謝。

2013年11月11日 星期一

【Xcode 5】更新檢查你的 Provisioning

【環境:xCode5】

更新到xcode5的用戶,在發現Organizer消失了一些選項,如:
『憑證』....

以往透過Oranizer,我們可以整理我們自己的憑證,去進行刪除 或 重新下載,並且得知現在的憑證日期,也方便我們去篩選。


但更新到xcode5,一切都變了,無法透過Organizer去整理自己的憑證。

但 apple developer center 給了我們另一種處理方法:

1.去 ios developer center ,新增/更新/刪除你要處理的憑證,無需下載。
ps:若你重複下載,則在你的Provisioning profiles裡面會有兩個相同的名稱(除非你的dis cer日期不同),我並不確定這兩個東西是不是一樣。


2.進入xcode,選擇 左上方的 xcode->Preferences->Accounts,如以下操作:
選擇你的team,按下『View Details』

3.點擊重新整理,如下圖:
ps:此時重新整理,可能會刪除原本的provisioning profile,此時再去重新下載即可,或者透過Target中的『Team』去同步。






As always , if you have any question , feel free to contact me.
有任何問題,請聯絡我

歡迎轉載,請註明出處,感謝。

2013年11月6日 星期三

【Leanplum】數據追蹤,快速更新資源

【環境:Leanplum架設,適用ios,android,html5】

來源:Leanplum

此工具,是原google的測試工程師開發,可快速變更你的html,app的版型,並做數據追蹤,原意是要能在app上,快速地執行 A/B TEST 。

新聞來源:Inside



透過安裝script,利用script去更換app中,所有你設定的物件的屬性,包含圖片。
利用script將app的元件,放在雲端,透過雲端去跟script去做更新的動作。

【免費的部分】(支援付費用戶)
支援100個每日活躍的用戶數
支援1個app
線上支援

【功能】
1.追蹤設定的變數,並可及時修改該變數
2.分析app執行的報告,活躍率,並可知該用戶目前使用版本與系統,取得特定地區,特定系統地分析表,如:台灣,ios5。並可知該地區到底有無人安裝。
3.可及時實驗,並決定優化方式,了解該地區的人對於in-app purchase價格是否對味。
4.快速地發佈你的新設定。

【sdk】
iOS,android,html5

【ios安裝方式】
1.自動安裝,直接把檔案抓下來放在同一目錄即可,輸入你的mail驗證

2.手動安裝(必須登入才可看到),就是一個static lib的教學

其他的就請去體驗看看吧,安裝方式容易,也利於追蹤,如果你購買無上限的話。

As always , if you have any question , feel free to contact me.
有任何問題,請聯絡我

歡迎轉載,請註明出處,感謝。

2013年11月5日 星期二

【安全防護】檢查惡意登入與屏蔽ip方法


【環境:linux,apache,php】

監控linux的log資訊,/var/log/......


這邊可以監控各種log資訊,但前提是有些必須自己安裝和設定,請參閱鳥哥

透過log,我們可以監控到,有哪些陌生人登入主機的apache,ssh連線資訊,ssl的溝通訊息,登錄檔的分析....等等。

針對登錄檔,可以取得多種訊息,如不安全的資訊,透過分析,可以選擇是否要ban掉此ip。

以下為幾種我知道的方法,相信還有很多更棒的方法:

(ㄧ)php
使用 $_SERVER["REMOTE_ADDR"]
取得連線進來的用戶ip,限制可存取或者不可存取

(二)
 apache的設定檔 htaccess 屏蔽該ip

(三)
透過防火牆iptable設定

(四)【限制連接上linux的ip】
須檢查是否有安裝tcp_wrappers 套件
並針對 /etc/hosts.allow 與 /etc/hosts.deny 設定

系統通常會先檢查hosts.allow 再檢查hosts.deny

(五)利用router的內建功能
執行類似的設定,如限制mac address(但此種方法容易被破解),限制ip,或者設定私密性較高的vpn,設定防火牆,限制port....等。


去防止有心人士潛入的狀況。


ex:
網友寫的
自動擋掉利用ssh登入的hacker
http://www.andowson.com/posts/list/33.page


As always , if you have any question , feel free to contact me.
有任何問題,請聯絡我

歡迎轉載,請註明出處,感謝。

【安全防護】htaccess針對browser屏蔽由browser展示資料夾目錄

【環境:linux,apache】

這設定檔,有很多有趣的地方,一般很菜的web開發者,如我,應該會比較少注意到,畢竟現在apache已經有很多自動安裝的檔案,不再像以前一樣,需慢慢安裝,然後了解每個設定的用處,但上手後,這些設定檔,似乎也理所當然的不覺得很難學習,在這邊做個記錄。

比較令人難以理解的是,『aws』,似乎不太需要,htaccess檔案,自然而然就可以屏蔽目錄資源,這不曉得是否為aws的關係。


(節錄自百度)
htaccess文件是Apache服務器中的一個配置文件,它負責相關目錄下的網頁配置。通過htaccess文件,可以幫我們實現:網頁301重定向、自定義404錯誤頁面、改變文件擴展名、允許/阻止特定的用戶或者目錄的訪問、禁止目錄列表、配置默認文檔等功能。
UnixLinux系統或者是任何版本的Apache Web服務器都是支持.htaccess的,但是有的主機服務商可能不允許你自定義自己的.htaccess文件。
啓用.htaccess,需要修改httpd.conf,啓用AllowOverride,並可以用AllowOverride限制特定命令的使用。如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令來改變。例如,需要使用.config ,則可以在服務器配置文件中按以下方法配置:AccessFileName .config
籠統地說,.htaccess可以幫我們實現包括:文件夾密碼保護、用戶自動重定向、自定義錯誤頁面、改變你的文件擴展名、封禁特定IP地址的用戶、只允許特定IP地址的用戶、禁止目錄列表,以及使用其他文件作為index文件等一些功能。
(此段參考:http://baike.baidu.com/view/91163.htm)


基本上htaccess,對於apache,基本的控制,一般來說,就是當你的瀏覽器,讀取網址時,browser判讀該位置下,並無可解析的副檔名(擴展名、Filename Extension)時,就會將該目錄底下的資源,由browser,暴露在用戶面前,如圖。



熟悉架構者,應該也可經由觀看系統架構,去取得他想要獲取的相關資訊。


當你的htaccess啟動設定屏蔽目錄資源時,產生的效果如圖。







當然你只需要在htaccess上,加入下面此行
 
Options -Indexes






當然還可以參考:鳥哥

As always , if you have any question , feel free to contact me.
有任何問題,請聯絡我

歡迎轉載,請註明出處,感謝。