交互過程client<-->proxy<-->stub<-->service-->-->-->
stub和proxy是為了方便client/service交互而生成出來的代碼,這樣client/service的代碼就會比較乾淨,不會嵌入很多很難懂的與業務無關的代碼
reference:
http://www.devdiv.com/forum.php?mod=viewthread&tid=41482
2014年9月23日 星期二
2014年9月16日 星期二
iBeacon技術
iBeacon是由 Apple 公司開發,是個基於低功耗藍牙技術(Bluetooth Low Energy,也就是Bluetooth 4.0)的室內定位系統
2013 年年底,Apple 在全美 200 多家 Apple Store 建置 iBeacon 基地台,提供店內的無線通訊系統。當使用者拿著iOS7的手機或平版電腦進入商店時,便會收到店家傳送商品或折扣等促銷訊息。Google 在 Android 4.5 更新中新增的 「Nearby」,功能也和 iBeacon 很像,Google 將 iBeacon 視為競爭對手的動作很明顯。與 GPS 定位技術不同,iBeacon 可應用於各種不具 GPS 訊號的室內。
這是一種新的微定位技術(microlocation), 他提供了新的行銷模式
讓消費者在進到特定的區域的時候,會透過APP推播訊息到手機,讓消費者得知店家的促銷訊息及產品推薦
並可以為消費者在店內導航,他的精準度極高,誤差小於1cm
reference:
http://www.smartm.com.tw/Article/313835cea3
http://www.bnext.com.tw/article/view/id/32652
http://share.inside.com.tw/posts/3442
2013 年年底,Apple 在全美 200 多家 Apple Store 建置 iBeacon 基地台,提供店內的無線通訊系統。當使用者拿著iOS7的手機或平版電腦進入商店時,便會收到店家傳送商品或折扣等促銷訊息。Google 在 Android 4.5 更新中新增的 「Nearby」,功能也和 iBeacon 很像,Google 將 iBeacon 視為競爭對手的動作很明顯。與 GPS 定位技術不同,iBeacon 可應用於各種不具 GPS 訊號的室內。
這是一種新的微定位技術(microlocation), 他提供了新的行銷模式
讓消費者在進到特定的區域的時候,會透過APP推播訊息到手機,讓消費者得知店家的促銷訊息及產品推薦
並可以為消費者在店內導航,他的精準度極高,誤差小於1cm
iBeacon 推播怎麼用呢?金融行銷公司 Financial Brand 分析了幾個在金融機構的應用,這些應用也很適合用在零售業,例如:
- 歡迎訊息:消費者進到店裡就會收到個人化的歡迎訊息與店內服務簡介,例如產品類別區域與促銷活動。
- 顧客識別:當舊顧客進到店裡,店員能立刻識別顧客身分,並獲得該顧客先前的購物明細,以便提供適合顧客的銷售資訊。這個應用能提升服務品質和顧客的忠誠度。
- 預約:對於提供預約服務的零售店,顧客可以透過 iBeacon 技術知道特定服務人員的空檔,並透過手機預約。
- 顧客教育:在顧客等候期間傳送產品或服務的使用資訊,讓他們利用這段時間閱讀。如果是需要線上註冊的服務,也可以利用這個時候傳送連結,讓顧客填寫。
- 問卷調查:在顧客進門或離開時,請顧客回饋意見和評價。
- 分店資料分析:如果業者有數家分店,iBeacon 技術所蒐集到的資料可以幫助業者分析各店狀況,例如各店的費者資料、尖峰時段、消費者待在店內的時間以及交易內容。透過這些資料,業者能提供更好的店內購體驗,甚至追蹤不同通路的銷售狀況。
reference:
http://www.smartm.com.tw/Article/313835cea3
http://www.bnext.com.tw/article/view/id/32652
http://share.inside.com.tw/posts/3442
2014年6月9日 星期一
2014年5月26日 星期一
[Travel][東京]2014自由行攻略採購整理
挑好出發日期2014年(5/9~5/13)
透過雄獅旅遊的航空自由行
訂好機(全日空)+酒(銀座首都飯店新館 Ginza Capital Annex Hotel)之後
就要來開始準備這次的行程了
如果買的東西太多有可能會超重或是多帶一件行李的話,要參考全日空的收費方式
這次的目的很明確,就是要完成我老婆的夢想,去一趟東京迪士尼
以及大採購我們家小人冬冬的嬰兒用品
迪士尼要作的功課很多
1. 了解我們進去的那天有哪些設施在維修,以及那天有沒有煙火秀(幸福滿夜空)
2. 確認當天開園和閉園的時間表,我們是5/12,8:30~22:00,有少數日子只開到18:30喔!
3. 線上購買迪士尼門票
4. 預估當天入園人數的網站
用VISA信用卡可以享有的優惠店家
例如BIC CAMERA可以有95折+退稅+禮品
PREMIUM OUTLET可以有35~75折+禮品
另外還有免費一日Wi-Fi方案
[買電器]
可以上以下網站查詢價錢 ()內的是價格.COM顯示的名字
BIC CAMERA (ビックカメラ.com)
Amazon JP (Amazon.co.jp)
Yodobashi (ヨドバシ.com)
BICQLO
PC Bomber (PCボンバー)
[水波爐]
可以搜尋"過熱水蒸気オーブンレンジ",搭配日本日立官網水波爐型號表
日立日本原裝烘烤微波爐 MRO-MBK3000T
[熱水瓶]
可以搜尋"VE電気まほうびん",搭配日本象印官網的熱水瓶型號表
TIGER PIA-A300(3.0L)
[電子鍋]
如果要象印的話,可以搜尋"極め炊き",搭配日本象印官網的電子鍋型號表
象印電子鍋 NP-NY18-XJ, 從日本買回來的電器,最好接個降壓器,這篇推薦明昌變壓器
TOSHIBA壓力IH電子鍋RC-10VXG強力推薦
[咖啡機]
Nespresso U型 C50, 在ヨドバシ.com賣日幣10980
NesCafe MD9742FS-RM紅色 BIC Camera賣日幣11360
雀巢的日文: ネスカフェ
咖啡壺的日文: コーヒーメーカー
[冰箱]
HITACHI 2014年新款機型 型號為R-SF9800D (日本型號R-M6700D)
670L 容量的六門機種,去年首次出現琉璃鏡面設計
[吹風機]
eh sw51
Panasonic NA95
另外2014年10月1日開始, 日本會降低免稅門檻(從一萬日幣降成五千日幣),
並擴大免稅的種類,食品,藥妝等「全品目」都加入免稅.可以看一下這邊
http://www.mypacetravel.com/?p=12504
透過雄獅旅遊的航空自由行
訂好機(全日空)+酒(銀座首都飯店新館 Ginza Capital Annex Hotel)之後
就要來開始準備這次的行程了
如果買的東西太多有可能會超重或是多帶一件行李的話,要參考全日空的收費方式
這次的目的很明確,就是要完成我老婆的夢想,去一趟東京迪士尼
以及大採購我們家小人冬冬的嬰兒用品
迪士尼要作的功課很多
1. 了解我們進去的那天有哪些設施在維修,以及那天有沒有煙火秀(幸福滿夜空)
2. 確認當天開園和閉園的時間表,我們是5/12,8:30~22:00,有少數日子只開到18:30喔!
3. 線上購買迪士尼門票
4. 預估當天入園人數的網站
用VISA信用卡可以享有的優惠店家
例如BIC CAMERA可以有95折+退稅+禮品
PREMIUM OUTLET可以有35~75折+禮品
另外還有免費一日Wi-Fi方案
[買電器]
可以上以下網站查詢價錢 ()內的是價格.COM顯示的名字
BIC CAMERA (ビックカメラ.com)
Amazon JP (Amazon.co.jp)
Yodobashi (ヨドバシ.com)
BICQLO
PC Bomber (PCボンバー)
可以透過價格.COM來比價
用信用卡購買後送到飯店或機場
[水波爐]
可以搜尋"過熱水蒸気オーブンレンジ",搭配日本日立官網水波爐型號表
日立日本原裝烘烤微波爐 MRO-MBK3000T
[熱水瓶]
可以搜尋"VE電気まほうびん",搭配日本象印官網的熱水瓶型號表
TIGER PIA-A300(3.0L)
[電子鍋]
如果要象印的話,可以搜尋"極め炊き",搭配日本象印官網的電子鍋型號表
象印電子鍋 NP-NY18-XJ, 從日本買回來的電器,最好接個降壓器,這篇推薦明昌變壓器
TOSHIBA壓力IH電子鍋RC-10VXG強力推薦
[咖啡機]
Nespresso U型 C50, 在ヨドバシ.com賣日幣10980
NesCafe MD9742FS-RM紅色 BIC Camera賣日幣11360
雀巢的日文: ネスカフェ
咖啡壺的日文: コーヒーメーカー
[冰箱]
HITACHI 2014年新款機型 型號為R-SF9800D (日本型號R-M6700D)
670L 容量的六門機種,去年首次出現琉璃鏡面設計
[吹風機]
eh sw51
Panasonic NA95
另外2014年10月1日開始, 日本會降低免稅門檻(從一萬日幣降成五千日幣),
並擴大免稅的種類,食品,藥妝等「全品目」都加入免稅.可以看一下這邊
http://www.mypacetravel.com/?p=12504
[Android] delay sleep
在Android JAVA code裡面,如果你要使用sleep
請先 import java.lane.*;
然後使用 Thread.sleep();
但是你不能單單呼叫
Thread.sleep();
你必須寫成如下
try {
Thread.sleep(500);
} catch (InterruptedException e) {
Log.d("error");
}
請先 import java.lane.*;
然後使用 Thread.sleep();
但是你不能單單呼叫
Thread.sleep();
你必須寫成如下
try {
Thread.sleep(500);
} catch (InterruptedException e) {
Log.d("error");
}
2014年4月21日 星期一
[Linux][git] 如何知道一個檔案裡被誰修改過
git blame frameworks/base/core/res/res/values/strings.xml
它就會秀出人名,時間,改過的地方...
它就會秀出人名,時間,改過的地方...
2014年4月18日 星期五
[Linux][git] 在repo sync遇到git相關問題
如果出現如下文字
If no other git process is currently running, this probably means
a git process crashed in this repository earlier. Make sure no other
git process is running and remove the file manually to continue.
找到.git/index.lock刪除即可
If no other git process is currently running, this probably means
a git process crashed in this repository earlier. Make sure no other
git process is running and remove the file manually to continue.
找到.git/index.lock刪除即可
2014年4月17日 星期四
[Android] 遇到 remount failed: Operation not permitted 如何處理
如果需要把 .so檔案 push到 /system/lib 底下
在輸入adb remount的時候出現Operation not permitted
請做以下步驟
$ adb shell
$ su
# mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
# chmod 777 /system
# chmod 777 /system/lib
# exit
$ exit
$ adb remount 應該就可以了
在輸入adb remount的時候出現Operation not permitted
請做以下步驟
$ adb shell
$ su
# mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
# chmod 777 /system
# chmod 777 /system/lib
# exit
$ exit
$ adb remount 應該就可以了
2014年4月10日 星期四
[Android]在res資料夾下各國語言對照
語言 | 國家 | Country | 代碼 | folder |
阿拉伯文 | 埃及 | Egypt | EG | values-ar-rEG |
阿拉伯文 | 以色列 | Israel | IL | values-ar-rIL |
保加利亞文 | 保加利亞 | Bulgaria | BG | values-bg-rBG |
加泰羅尼亞文 | 加泰隆尼亞 西班牙的自治區之一 |
ES | values-ca-rES | |
捷克文 | 捷克 | Czech | CZ | values-cs-rCZ |
丹麥文 | 丹麥 | Denmark | DK | values-da-rDK |
德文 | 奧地利 | Austria | AT | values-de-rAT |
德文 | 瑞士 | Switzerland | CH | values-de-rCH |
德文 | 德國 | Germany | DE | values-de-rDE |
德文 | 列支敦斯登侯國 | Principality of Liechtenstein | LI | values-de-rLI |
希臘文 | 希臘 | Greece | GR | values-el-rGR |
英文 | 澳大利亞 | Australia | AU | values-en-rAU |
英文 | 加拿大 | Canada | CA | values-en-rCA |
英文 | 英國 | United Kingdom of Great Britain And Northern Ireland |
UK | values-en-rGB |
英文 | 愛爾蘭 | Ireland | IE | values-en-rIE |
英文 | 印度 | India | IN | values-en-rIN |
英文 | 新西蘭/紐西蘭 | New Zealand | NZ | values-en-rNZ |
英文 | 新加坡 | Singapore | SG | values-en-rSG |
英文 | 美國 | United States of America | US | values-en-rUS |
英文 | 南非 | South Africa | ZA | values-en-rZA |
西班牙文 | 西班牙 | Spain | ES | values-es-rES |
西班牙文 | 美國 | United States of America | US | values-es-rUS |
芬蘭文 | 芬蘭 | Finland | FI | values-fi-rFI |
法文 | 比利時 | Belgium | BE | values-fr-rBE |
法文 | 加拿大 | Canada | CA | values-fr-rCA |
法文 | 瑞士 | Switzerland | CH | values-fr-rCH |
法文 | 法國 | France | FR | values-fr-rFR |
印地文 | 印度 | India | IN | values-hi-rIN |
克羅里亞文 | 克羅埃西亞 | Croatia | HR | values-hr-rHR |
匈牙利文 | 匈牙利 | Hungary | HU | values-hu-rHU |
印度尼西亞文 | 印尼 | Indonesia | ID | values-in-rID |
義大利文 | 瑞士 | Switzerland | CH | values-it-rCH |
義大利文 | 義大利 | Italy | IT | values-it-rIT |
希伯來文 | 以色列 | Israel | IL | values-iw-rIL |
日文 | 日本 | Japan | JP | values-ja-rJP |
韓文 | 韓國 | Korea | KR | values-ko-rKR |
立陶宛文 | 立陶宛 | Republic of Lithuania | LT | values-lt-rLT |
拉脫維亞文 | 拉脫維亞 | Latvia | LV | values-lv-rLV |
挪威博克馬爾文 | 挪威 | Norway | NO | values-nb-rNO |
荷蘭文 | 比利時 | Belgium | BE | values-nl-BE |
荷蘭文 | 荷蘭 | Netherlands | NL | values-nl-rNL |
波蘭文 | 波蘭 | Poland | PL | values-pl-rPL |
葡萄牙文 | 巴西 | Brazil | BR | values-pt-rBR |
葡萄牙文 | 葡萄牙 | Portugal | PT | values-pt-rPT |
羅馬尼亞文 | 羅馬尼亞 | Romania | RO | values-ro-rRO |
俄文 | 俄羅斯 | Russian Federation | RU | values-ru-rRU |
斯洛伐克文 | 斯洛伐克 | Slovakia | SK | values-sk-rSK |
斯洛維尼亞文 | 斯洛維尼亞 | Slovenia | SI | values-sl-rSI |
塞爾維亞文 | 塞爾維亞 | Republic of Serbia | RS | values-sr-rRS |
瑞典文 | 瑞典 | Sweden | SE | values-sv-rSE |
泰文 | 泰國 | Thailand | TH | values-th-rTH |
塔加洛語 | 菲律賓 | Philippines | PH | values-tl-rPH |
土耳其文 | 土耳其 | Turkey | TR | values-tr-rTR |
烏克蘭文 | 烏克蘭 | Ukraine | UA | values-uk-rUA |
越南文 | 越南 | Vietnam | VN | values-vi-rVN |
中文 | 中國 | China | CN | values-zh-rCN |
中文 | 香港 | Hong Kong | HK | values-zh-rHK |
中文 | 台灣 | Taiwan | TW | values-zh-rTW |
2014年3月19日 星期三
[Android] 利用Wi-Fi下adb command
1 先接上連上 wifi,接上USB,下adb shell netcfg看手機ip
2 adb tcpip 5555
3 拔掉USB
4 adb connect 手機ip:5555
5 adb shell 就能使用
如果要斷線的話,可以下
adb disconnect 手機ip:5555
要再透過USB連上adb,下
adb usb
2 adb tcpip 5555
3 拔掉USB
4 adb connect 手機ip:5555
5 adb shell 就能使用
如果要斷線的話,可以下
adb disconnect 手機ip:5555
要再透過USB連上adb,下
adb usb
2014年1月28日 星期二
[C/C++]如何在網頁上顯示程式碼及在Ubuntu上編譯C語言
在google的blog左側邊欄找到 "範本" 點進去
找到 "編輯HTML" 點進去
然後會看到一堆HTML的code
找到</head>
在</head>之前插入以下的程式碼
<!-- begin syntax hightlight -->
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/>
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeEmacs.css' rel='stylesheet' type='text/css'/>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushBash.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCpp.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCSharp.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushDelphi.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushDiff.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushGroovy.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPlain.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushRuby.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushScala.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushVb.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js"></script>
<script src='http://www.undermyhat.org/blog/wp-content/uploads/2009/09/shBrushMatlabSimple.js' type='text/javascript'></script>
<script language='javascript'>
SyntaxHighlighter.config.bloggerMode = false;
SyntaxHighlighter.config.stripBrs = true;
SyntaxHighlighter.defaults['wrap-lines'] = false;
SyntaxHighlighter.config.clipboardSwf = 'http://alexgorbatchev.com/pub/sh/current/scripts/clipboard.swf';
SyntaxHighlighter.all();
</script>
<!-- end syntax hightlight -->
改好以後儲存
之後再利用這個網頁
http://www.opinionatedgeek.com/DotNet/Tools/HTMLEncode/Encode.aspx
把你想要的程式碼透過這個網頁去encode
再貼回自己的blog
再切到HTML編輯模式
把<pre class="brush:c">放在最前面
把<\pre>放在最後面
就OK了
如果想要測試自己的C code寫的對不對,可以利用Ubuntu去編譯
只要有安裝gcc
在指令列輸入如下
gcc -o test test.c
就可以產生test執行檔去看輸出結果了
reference:
http://blog.lupopi.com/2013/02/blogger-source-code-syntax-highlight.html
找到 "編輯HTML" 點進去
然後會看到一堆HTML的code
找到</head>
在</head>之前插入以下的程式碼
<!-- begin syntax hightlight -->
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/>
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeEmacs.css' rel='stylesheet' type='text/css'/>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushBash.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCpp.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCSharp.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushDelphi.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushDiff.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushGroovy.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPlain.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushRuby.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushScala.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushVb.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js"></script>
<script src='http://www.undermyhat.org/blog/wp-content/uploads/2009/09/shBrushMatlabSimple.js' type='text/javascript'></script>
<script language='javascript'>
SyntaxHighlighter.config.bloggerMode = false;
SyntaxHighlighter.config.stripBrs = true;
SyntaxHighlighter.defaults['wrap-lines'] = false;
SyntaxHighlighter.config.clipboardSwf = 'http://alexgorbatchev.com/pub/sh/current/scripts/clipboard.swf';
SyntaxHighlighter.all();
</script>
<!-- end syntax hightlight -->
改好以後儲存
之後再利用這個網頁
http://www.opinionatedgeek.com/DotNet/Tools/HTMLEncode/Encode.aspx
把你想要的程式碼透過這個網頁去encode
再貼回自己的blog
再切到HTML編輯模式
把<pre class="brush:c">放在最前面
把<\pre>放在最後面
就OK了
如果想要測試自己的C code寫的對不對,可以利用Ubuntu去編譯
只要有安裝gcc
在指令列輸入如下
gcc -o test test.c
就可以產生test執行檔去看輸出結果了
reference:
http://blog.lupopi.com/2013/02/blogger-source-code-syntax-highlight.html
訂閱:
文章 (Atom)