網頁

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.
有任何問題,請聯絡我

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

2013年10月30日 星期三

【HRH】ios系統app避免HRH(HTTP Request Hijacking)的方法

【環境:iOS】

http://www.skycure.com/blog/http-request-hijacking/

這是一種http request的攔截技術,這門技術不算最新,只是ios app在redirect http時,因為無法看到你將被重新導向的網址,而被重新挖出來探討的技術。

這邊提出的修改方法為
1,將你的http改成https,但,若開發人員,沒有針對https坐憑證認證的話,其實沒多大用處。

2.另一種為使用該團隊用的方法。
ps:看了一下該方針,應該是避免當用戶的URI,再度被轉向時,就返回。
if (301 == [(NSHTTPURLResponse *)cachedResponse.response statusCode]) {
return;
}
但此方法,若你的轉址過於複雜,或者打個比方講,你本來就有在用轉址的服務,那就是自找麻煩吧@@

的確越來越多的科技服務,就會衍生出新的問題,打個比方:
若我打算攻擊某個網站,或者提供什麼特別訊息,或者竊取沒有加密的資料,或者導引到某個自己做的假的信用卡網站,讓用戶填寫下資料......。



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

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

2013年10月16日 星期三

【others】json 與 xml 比較

【環境:mac,python,xml,json】

json 與 xml ,在還沒細部瞭解前,其實我會認為這兩種應該是差不多的東西,雖然儘管在使用上,的確可能差不多,對我而言,大部份都用在於web間的資料交換,或者移動裝置上。

json (javascript Object Notation),屬於『輕量級』的文字格式語法,屬於javascript的一個子集,屬於獨立的『文字格式』,有些NoSQL的資料庫,選擇其格式作為儲存的方式,如:MongoDB.....
隨著javascript的普及,加上各大瀏覽器上 html5 的支援性,使用行為較為普遍。

與xml最大的差別在於,xml是一個完整性的標記語言,但卻俱有較佳的延展性,而json讓資料傳輸上,更加的輕巧,以及現在普遍的解析支援。
  • 解析速度快
  • 佔用空間少
補上其他blog的優缺分析


『最重要的當然是測試的方式』
建立xml與json的文字格式,中間剔除掉多餘字元,如:空白
然後透過python,本機執行解析100萬次,避免掉apache與web網路的傳輸問題。

python處理xml有兩種方式:我選擇用dom的方式。
1.SAX ( Simple Api for XML ):一次讀一部分
2.DOM ( Document Object Model ):一次整個讀取

python處理json:比較直接,直接讀取該文字格式。

每次處理,並將結果印於cmd上,寫入一次時間到time.txt當中,共執行100萬次。
取得最後的時間差異。




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

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

2013年10月15日 星期二

【SEO】Google SEO 最佳化指南

【環境:2013中文版】

載點:Download
注意:這份指南不會告訴您怎樣做才可以自動使網站排在 Google 查詢結
果的第一位 ( 抱歉 !) , 但是遵循下文介紹的最佳實作典範 , 可以使
搜尋引擎更容易檢索您的內容並建立索引。
網站SEO各家不同,就更不用說各家須遵守的規範。
雖然有些商務性質的喇叭嘴,無疑就是要用戶購買廣告點數。
但其實照著基本的html規範的寫法,就可以替你的網站做到很棒的seo化,尤其在你的網站一開始建立之初,在搜尋目的上,就非常的獨特,這裡面也有介紹。


順便補上參考資料:

14 Google Tools You Didn't Know Existed

  1. Google Ngram Viewer :
    搜尋keyword,尋找相關的書籍,並有時間軸可參考趨勢。
  2. Google Correlate :
    利用關鍵字,查詢與該關鍵字相關聯的字詞與時間,比如你要賣臭臭鍋,在台灣,你就可以看到相關資訊。
  3. Google Trends :
    輸入keyword,便可得知該字詞在不同地區的相關趨勢圖,可隨著時間軸變化,並且得知該熱門程度與是否即將要熱門,得到一個分析的趨勢。
  4. Google Think Insights
  5. Google Public Data Explorer.
  6. Full Value of Mobile
  7. Get your business Online
  8. Webmaster Tools
  9. Schemer
  10. Google Fonts
  11. Google Developers
  12. Dart
  13. Google Keep
  14. Google Sky




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

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

2013年10月1日 星期二

【Link Aggregation 網路聚合技術】

【來源:Thecus

此技術只支援擁有802.3ad技術的switch方可使用。

一般來說某些設備與軟體,如:NAS、linux,可以在設定上去調整是否要支援此功能。

所謂的802.3ad的聚合技術,經過網友測試,必須當你的設備相當忙碌時,你的第二張網卡,才會發揮功效。
http://www.mobile01.com/topicdetail.php?f=494&t=2538492

Link Aggregation,可稱頻寬聚集或網路聚合,是 IEEE 標準規格802.3ad協定中的一部份,802.3ad協定規範是:交換機(Switch)上許多不同的實體連接埠,可以邏輯性的共同結合在一起,進而視為一條實體線;網路聚合功能也有不同稱呼,Intel 叫Link Aggregation,3COM 叫Port Trunking;在 Linux 系統下可利用軟體的方式(Linux Bonding 的技術)結合多張網路卡來增加網路頻寬。(資料來源:Wikipedia)
簡單來說,當我們一張網卡的速度不夠的時候,就可以試著兩張網卡綁在一起來使用。


為什麼要這樣用?當你沒有10 Gigabit網卡時,又經常透過網路存取超過1 Gigabit的影音檔時,利用Link Aggregation的技術就可以擴充區網的頻寬。而在Thecus NAS的提供的Link Aggregation裡,可讓你設定Jumbo Frame (1500~9000 bytes) 和Aggregation Type。



以下將介紹這些設定的意義與配套措施。
Aggregation Type聚合類型:
Load Balance(L/B; 負載平衡):負載平衡在網路聚合中,自動分配工作量以達到最佳資源利用。極大化提高吞吐量,減少響應時間,避免過載。
採用的時機如下:
  • 在網路服務有「不斷線」需求的時候可以使用。
  • 小封包量多時也可考慮使用,例如使用eMule/BT下載時。
  • 掛載NAS 的iSCSI LUN或網路磁碟機,用來存取影像編輯檔案作業時。
  • 需要流量平衡時,不可以用Failover only。
  • 不同速度的網卡可以共用,但不建議。
Failover(容錯切換/故障切換):在網路聚合中,當網路發生故障時,自動切換到冗餘或備用的網路。
802.3ad:802.3ad是IEEE 802.3ad規範的網路聚合模式。可將多個網路埠組成一個共享相同速度與全雙工的網路聚合,以獲得容錯、負載平衡與提高傳輸效率的功效。需要switch 支援802.3ad設定。此設定特別針對同型號網卡時使用。
Balance-XOR:在發送端所有可用網路埠的MAC位址間,將封包流量分散到所有可用網路埠上。這種模式有容許故障失效與流量負載平衡的效果。
Broadcast:廣播的模式,設法把需要傳輸的「每一個封包」,發送給網路聚合中「每一個網路埠」。當其中一個網路埠失效的時候,仍可正常運作。
Balance-TLB (Transmit Load Balance):此模式對於封包的發送與接收作業採不同機制。對於發送埠同時具有自動負載平衡和容錯功能,而接收埠只具有容錯的功能,此模式不需switch 支援及設定
Balance-ALB (Adaptive Load Balance):發送與接收同時具備自動負載平衡與容錯功能, 其中一個網路埠失效時,仍可持續運作;此模式不需 switch 支援及設定
Client端系統的網卡該如何設定?
如果你想要設定Jumbo Frame,必須先確認網路環境上的分享器(router)/集線器(hub)/切換器(switch)的規格,甚至是網路上的各個客戶端裝置(PC、印表機)是否支援Jumbo Frame。例如NAS上設定了9000 bytes Jumbo Frame,但是switch或PC不支援,那麼這個大封包就會卡在這些不支援的設備上,反而造成網路塞車。


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

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

【Jumbo Frame】

【來源:Thecus blog

什麼是巨型訊框/巨型封包(Jumbo Frame)
Jumbo Frame是網卡與集線器上支援的功能,是專門為Gigabyte 乙太網路設計的業界標準,一種超長封包格式。採用Jumbo Frame可以發揮Gigabit乙太網路的效能,讓數據傳輸效率提高50%-100%。過去乙太網路的標準為1518 bytes,MTU預設在1500,也就是每個封包1500 bytes大小,傳送資料的時候,要切割很多封包。Jumbo Frame就是把封包大小改大,以節省傳送封包的次數。



建議採用Jumbo Frame的時機:
  • 只適用於「大檔案」、「長時間」傳輸。
  • Database backup
  • HD Audio/Video streaming
  • Video/Image Editing Environment
何時不適用Jumbo Frame
  • 當網路環境有大/小封包共存或小封包數量多時,Jumbo Frame反而會拖垮效能。
  • BT/ eMule這類的檔案傳軟體,不適用Jumbo Frame,因為來源非固定(IP address/MAC address)且傳給你的資料是分割過的小檔案時。




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

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

2013年8月20日 星期二

【node.js】安裝+測試

【環境:linux】
說明:
首先須先確認你的環境是否已經安裝
1.g++ GNU C++
2.git
 
git clone https://github.com/joyent/node.git
cd node
git checkout v0.6.7
./configure
make
sudo make install 

接著在terminal上直接編輯一個檔案為node.js
在檔案內新增一行console.log( 'Hey you' );

vim node.js
console.log( 'Hey you' );

離開編輯環境,輸入 node node.js

驗正版本的話,請輸入node --version

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

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

2013年8月19日 星期一

【android 學習】建立你的ADT

【環境:ADT Build: v22.0.5-757759】

時間:20130819

說明:

對新手來說,為什麼不是安裝eclipse就好了嗎?什麼東西是ADT??
eclipse是編輯環境,而ADT,從名字上來看就是android developer tools。
其實是google對於開發者的一點貼心,一開始我以為這只是一些讓developer開發方便的plugIn。
但其實你只需要安裝ADT,裡面就幫你安裝好eclipse,並幫你整建好大部份的環境設定。

1.
這是官方的 教學文件 ,對於一個android的入門者,整建自己的編輯環境是相當重要的一件事情,這份文件教你下載ADT,並教你安裝一些必須的工具,官方的文件,相對於市面上許多的安裝套件教法,相對的安心許多。

2.
建立,你的android SDK manager。

3.
建立 android virtual device manager。
此跟xcode不同的是,你必須建立你要模擬的模擬器環境。
xcode是,只要你安裝下載後,運用的模擬器的資源,都是跟你的電腦相同。
eclipse的好處是,你可以限定你的環境資源,讓你的模擬器,更加貼近你未來要安裝此app的環境。


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

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

【eclipse】hot key

【環境:eclipse ADT  v22.0.5-757759】

工欲善其事,必先利其器。
以下為eclipse常用的快速鍵:

Command + Shift + L:快速鍵小幫手
再按一次會進入編輯快速鍵的模式。

Command + O:顯示大綱
Command + 1:快速修復
Command + D:刪除當前行

Command + /:注釋當前行,再按則取消注釋

Command + Shift + Z:向後一個編輯動作
Command + Z:向前一個編輯動作

Command + Option + ↓:複製當前行到下一行
Command + Option + ↑:複製當前行到上一行
Option + ↓:當前行和下面一行交互位置
Option + ↑:當前行和上面一行交互位置
Option + ←:前一個編輯的頁面
Option + →:下一個編輯的頁面

Option + /:代碼提示

Option + Return:顯示當前選擇資源的屬性

Control + Q:定位到最後編輯的地方
Control + M:最大化當前的Edit或View(再按則最小化)
Command + T:快速顯示當前類的繼承結構
Command + W:關閉當前Editer
Command + K:參照當前選中的Word快速定位到下一個
Command + E:快速顯示當前Editer的下拉列表(如果當前頁面沒有顯示的用黑體表示)

Command + Shift + E:顯示管理當前打開的所有的View的管理器

Command + Shift + W:關閉所有打開的Editer
Command + Shift + X:把當前選中的文本全部變為大寫
Command + Shift + Y:把當前選中的文本全部變為小寫
Command + Shift + F:格式化當前代碼
Command + Shift + P:定位到對於的匹配符(譬如{})(從前面定位後面時,光標要在匹配符裡面,後面到前面,則反之)


Option + Shift + M:抽取方法(這是重構裡面最常用的方法之一了,尤其是對一大堆泥團代碼有用)
Option + Command + C:修改函數結構(有N個函數調用了這個方法,修改一次就搞定)
Option + Command + L:抽取本地變量(可以直接把一些魔法數字和字符串抽取成一個變量,尤其是多處調用的時候)
Option + Shift + F:把Class中的Local變量變為Field變量



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

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

2013年8月16日 星期五

【數據】2013年第二季 台灣行動市場數據報告

【環境:智慧型手機、平板,特殊節日分析】

此數據為vpon 2013/8/12 的數據報告,僅作參考


目前台灣用戶
android:76.1%
iphone:20.1%


Android數據
目前android主流一樣為 samsung
htc緊追在後

Android 4.x 版本已達 77%。
4.1 版本已成為主流。
4.0 Ice Cream Sandwich 較上,一季減少 10%
持有大螢幕的android的人數上升速度將近7%
平板用戶增加7%
android大螢幕的策略,對於喜愛用大螢幕遊戲的年輕人、眼睛不好的中高年齡層,繼續保有其優勢。




iOS數據
可以看到,主流果然是iphone5,4s,4
比較特別的事 ipad mini 、 ipad4 沒達到預期的效果,還是以ipad2為主流
頻果的硬體和軟體幾乎都是更新後,用戶也會持續跟進,跟android陣營差別最大的地方

而89%的用戶已經更新到ios6
剩下的ios5的用戶,大多應該是還在用iphone3gs or iphone4等用戶


台灣人行為分析
3g行動上網高達51.8%
但若之後的 4g 吃到飽取消後,不曉得是否會下降,值得觀察
如:東南亞用戶其實不流行3g等服務,加上中華電信的定點wifi服務。
但若降低了3g用戶數量,會否對 EC平台 or 一般通訊軟體的使用量會否降低,回歸成 簡訊 等行為模式,也是值得參考。


週末用戶行為分析
代表現在台灣人在週末從早上11點到晚上九點,還是以3g為主

從Android最常使用的app行為來看
社交類的還是佔大多數41%
其他類別如
使用影音、教育、娛樂、生活和新聞 App 有 55%

iphone最長使用的app行為
查詢旅遊、瀏覽影音、生活資訊和新聞媒體 App 有 63%

綜合以上兩者數據,可以發現,除了我們可以預知的『社交』類,還是佔大宗外。
其實『新聞』、『生活』、『影音』等,還是繼續佔有其他應用類別的項目。
但現在卻還未有一個最好的新聞app,畢竟各地方、個人的生活形態不太相同。
所以在建立這些app的同時,或許標準明確的區隔目標對象,如商務人士、高科技業務、一班人、設計師等...或許可以在『資訊』類,得到較大的效果。

特殊節日

數據使用量會上升,可以期待的是,現今大多app開發商,都未有依照節日給予特定的活動,跟客戶聯結,目前版主看到的只有line還有一些美食團購等app。




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

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

2013年8月7日 星期三

【新聞】Mashable 公佈 2013 年第二季最多人使用的 App

【來源:Mashable

這份數據,並無特別針對ios or android,但由此可看到,世界上最火紅的果然還是那些,當突破者企圖殺出重圍,或許工欲善其事,必先利其器,從該公司的氣氛,領導人的風格..等,或許可以看出些端倪,單純從app著手,看 UI 如何的特別,或許只是皮毛,雖然學了皮毛,要取得專案的結束,是相當方便,但著重在核心的殺出重圍,沒有突破,卻永遠只是結束一個專案而已。





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

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

2013年8月6日 星期二

【推介】bootstrap 3

【環境:mac】
說明:

之前做網站時,接觸到這類型快速的套版系統,對設計上僅有皮毛的程式設計師,幫助相當大也相當快速,功能也相當齊全,當然除此之外還有許多很棒的前端版型,希望以後都可以一一接觸到。


Bootstrap 3

目前已經是第三代,我從第二代用起,第三代相對的符合潮流的扁平化設計....

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

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

2013年8月5日 星期一

【數據】八月份android用戶數據分析

【環境:android , 來源:developer.android

說明:

這些數據是每個月透過google play 所收集而成,此為android訪問google play時,所採集的數據,數據不斷成長,未來的數據當然會更為準確。

Platform Versions




Screen Sizes and Densities




Open GL Version







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

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

2013年8月1日 星期四

【新聞】google play下載量首度超越apple store

【來源:Apple inside , 2013/08/01】

Google Play takes top spot in downloads, but Apple's App Store still tops revenue


根據App Annie Blog所述,google play目前的下載量,已經超過apple store,但可從圖表上看出,目前app store在營收這塊,還是佔據有利的地位,或許版圖的分布,跟硬體手機的分布有異曲同工之妙。

而值得注意的是google play下載量較大的地方,分佈在Russia, China, Brazil, and India. 等地區。






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

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

2013年7月31日 星期三

【AWS】EC2 後台串接建立 介紹

【環境:AWS】

說明:

在架設aws後,通常我們會很貪心的想要把server的建立變成自動化,也就是說透過自己的web site自行利用AMI的方法,自動擴增我們的backEnd環境,雖然AWS本身有auto Scaling、Load balancing和cloud Watch 的 alarm 可使用,但若能夠在alarm下,後台管理者,自動的得知系統不論是記憶體or硬碟容量快要滿載下,及時開立一個新的EC2 or EBS
注意建立的數量有上限,若需更多的虛擬設備,可寄信跟他們的管理員通知,當然AWS也不是省油的燈,說明在底下:

http://awsdocs.s3.amazonaws.com/EC2/latest/ec2-gsg.pdf

能夠讓你即時上手,AWS的好處就是用多少,花多少,甚至可開micro,每個月有免費的額度,讓測試者盡情測試,你只需stop你的ec2,就不會增加額外的負擔,但只要terminate即可卸載。


相當好用,推薦。

補充:
安裝ec2-api-tools

1.下載工具
2.安裝
3.設定home


java_home  :  export JAVA_HOME=$(/usr/libexec/java_home)





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

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

【跨server結合】心得

【環境:AWS、linux】

說明:

在學習建立大型系統專案架構前

世界上有很多很棒的模仿對象

站在他們的角度上去思考,這就是解決的好方法

架設普通流量的網站,很簡單,但最不容易的就是瞬間大量資訊的流通

所以在此想推薦使用的是AWS

關於AWS的優點,網路上很多

在此介紹我曾用過的方式

建構大型專案,通常我們會把很多細微的部分切割開來,譬如說sql的運算,frontEnd入口網站的分流,backEnd的分流匹配…等等

在不同伺服器間互相的溝通,達到在big data速度上的最大匹配效益

當然我們可以無上限的衝高我們單一主機的硬體設備,但遲早會有崩頂的一天

我看過一句話,『絕對無法想像google的伺服器是用大量的次等,甚至更低階的伺服器串聯而成,透過程式的運算,若系統卡住,立即透過其他的backEnd產生支援』

其實我對於linux or 大型系統沒有什麼概念,憑著這句話,就開始著手規劃心中的藍圖。

方式是用戶透過frontEnd去跟backEnd詢問,達到分工的效果,當然我們也可以把sql拆開來獨立成一個自主的系統,但目前運算量尚為達到最大,所以目前將sql與frontEnd作結合。

至於關鍵點的server間的溝通,可以利用區域網路透過socket去結合兩者。

frontEnd的基礎架構:
linux、apache、 sql:

backEnd的基礎架構:
linux

補充:
通常我們在sql,存入大量big data後,有時會遇到一個問題,就是index的擴增太快,排序錯亂,若超出item設定的格式上限,容易造成資料庫錯誤,所以隔一段時間就要優化你的data index,這部分的解決方法還沒想到:
故暫時的想法為重新整理資料表的index排序
SET @newid=0;

update imageRelation set id = (SELECT @newid:=@newid+ 1);

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

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

【xCode】static lib與專案結合

【環境:xCode4.6.7 , ios6.1 , USE ARC】
說明:在使用static lib時,據我所知,通常最常用的方法有
1.
將lib compiler後,實機和測試均compiler一次,再用 "lipo" 指令,進行結合。

2.
建立work space,加入所有你需要用的lib,並設定,lib與你將要產出的target project作結合。(此次要介紹的)

3.
將所有的static lib包成framework,在需要使用時,再放入你的專案中。

可能還有其他更好的方法,以上是我所知。

==
第一步:

用Xcode建立一個workspace,並同時建立一個static lib(name:staticLib2)與一個用來套用此lib的project(name:your app)。



第二步:setting your static lib
注意以下幾個地方:


2-1.
設定lib.a的安裝路徑
安裝的路徑取決於xcode的偏好設置:Locations.


但我要把他指定到target的路徑位置。

為了使得在各種情況下都一樣,需要把lib編譯設定裡的"Installation Directory"設置為"$(BUILT_PRODUCTS_DIR)"

以防萬一,我們也順便檢查一下“Skip Install”項,此目錄預設應為yes,避免此lib被裝載到mac目錄下的“/usr/local/lib”位置中,檢查是否為 yes。 


2-2.設置static.h文件的路徑
在Build Settings中,將“Public Headers Folder Path”設為"$(TARGET_NAME)"

如此,.h文件的路徑就為:$(BUILT_PRODUCTS_DIR)/TARGET_NAME/xx.h




第三步:Now setting your app

3-1.點擊該工程的target,在Build Phases 項的“Link Binary With Libraries”添加.彈出個框大概如下:選我們的workspace裡面這個lib.(已加入的lib不會再次顯示)


3-2.添加.h路徑.
Build Settings/User Header Search Paths, 添加$(BUILT_PRODUCTS_DIR),記得選擇"recursive"


此時注意,全部路徑添加完畢後,請先執行一次your app,並且關閉整個work space,並且重開

此時在your app中,Xcode就可自動找到static2.h的頭文件。


補充:

When using a static library which includes categories we will also have to add the “-ObjC” flag to the “Other Linker Flags” build setting. This will force the linker to load all objective-c classes and categories from the library. If the library contains only categories “-all_load” or “-force_load” may be needed as well. See Technical Q&A QA1490 for a more detailed explanation of these settings. 

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

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

2013年2月4日 星期一

【iAd】(二)WWDC2011 iAd的介紹 和 安裝

【環境:ios4 above】
相關聯結:PDF
說明:
此份文件主要說明基本規則:
包含:
1.如何透過iAd去推銷你的app。
2.文件中錯誤的地方為64分帳,現已改為73分帳。
3.iAd的設定,coding。ps:可參考此篇iTunes connect設定
4.iAd的各類尺寸描述,for ipad可有不同的規格(framework: ADInterstitialAd)。
5.iAd的framework有兩個:

  • ADBannerView
  • ADInterstitialAd


文件中亦包含兩者的建立方法。

你亦可以去此地方下載sample


其中ADBannerView…就是一般會看到的banner呈現方式
而ADInterstitialAd…是for ipad,無縫式的接合廣告

6.在iOS 4中:千萬不要[self.view addSubview:otherViewController.view]
(詳細請參閱PDF)


7.要注意的還有App store Review Guidelines,了解在app store上架的iAd規則。
本站中譯連結


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

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

【iAd】(一)介紹、iTunes connect上的基本設定

【環境:ios4 above】
20120204
說明:
iAd是一個可以讓開發者經由申請後,可放在自己的app中,當做廣告來源的收入,也可以提供自己製作的iAd上傳到網絡。
可以參考目前已在的app store中的iAd Gallery,下載前請將你的app store轉成us store。



主要參考的頁面:https://developer.apple.com/iad/resources/
ps:參考上面連結即可。


iAd 對 開發者 的好處如下
1.提高你的收入
iAd非常簡單便可實現,百位以上的開發者每季有超過15000美元的產出,因架構于ios上,你不需擔心整合的問題,用少量的code便可將iAd裝載入你的app中,之後剩下的就交給apple的技術人員,技術人員銷售的是廣告,並為廣告商提供服務置入到您的應用程序中,app收集產生的廣告收入的70%會提撥給開發者
ps:以前是只有60%,現在改為70%,所以在一些開發文件中看到60%,那是因為還未改正



2.滿足你app的用戶
iAd提供app無縫的結合,當使用者點擊iAd的banner ad,你的app將會暫停且用戶可直接下載新的app或深入到一種身臨其境的廣告無需離開您的應用程序,當使用者結束iAd時,他們將會回到原有的app頁面,開發者甚至可鎖住競爭對手的的廣告,或者開發者不想出現的廣告在你的app當中,每個廣告傳遞資訊精準,無須從你的app當中使用任何數據資料。
ps:要注意的是,ipad有其特別的iAd尺寸。

3.在你的app中置入世界級的品牌
在iAd的網路中如今包含美國、加拿大、澳大利雅、紐西蘭、日本、法國、德國、義大利、西班牙、英國…等,各個世界頂級且熟悉的品牌設計都在iAd中。

你也可以設計自己的廣告,並將此登錄在iAd的網路中


iTunes connect設定


在啓用iAd到你的app前,你必須加入部分資料到iTunes Connect中。

iAd Network
iAd提供一個自動化和直觀的遭作環境,讓您能夠清酥地將iAd的媒體廣告植入你的ios app,通過iAd網絡,您將有機會經由app用戶點擊而獲得收入,您還可在iTunes connect的主頁上利用iAd模組,監視其效能和跟蹤您的收入。
ps:目前並不支援Mac apps




Setting Up iAd Network
點擊iAd網路的設定按鈕,讓iAd廣告可在您的ios app中啓用。如果您已同意啟用iAd網路合約,此按鈕會顯示您目前的應用程序。




為了使iOS app啟用廣告媒體,點擊設定iAd network按鈕並再之後允許iAd的啟用。
你還需要表明你的主要服務客群是否為未滿17歲的用戶。
當你的app已經上傳itunes connect遞交時,iAd的功能無法被禁用,要移除一個應用程序的廣告,您必須重新提交一個新的『已刪除廣告功能』的二進制文件。



在啓用了至少一個app的iAd廣告,你會在iTunes connect的頁面上看到你的iAd network模組。在這個模組中,你可以設定您的iAd的喜好和跟蹤性能。
重點:在上傳二進制文件前,你必須使你的app啟用iAd的服務。

完成設定後,就會在你的iTunes connect上看到,上圖的icon。


重點提醒:
1.要刪除一個app的iAd,請重新提交你的應用程序。
2.當你選擇你的主要族群為未滿17的用戶時,你將無法更改此設定



在iAd網路中,你可以調整iAd的偏好設定,可判斷何種廣告類型對您的app最有幫助。

更多的詳細訊息,請查看FAQs link(位於iTunes每一頁的底部),然後點擊iAd Network。



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

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