July
23rd,
2014
六月底上架之後,雖然一開始是用收費的方式,主要還是發給一些親朋好友測試而已.
收集了各方意見我也增加了新的功能之後,在今天就要上架更新的版本.
https://itunes.apple.com/tw/app/fen-si-xiang-bu/id839324997?l=zh&mt=8
1.1 版本的新內容
新增了網友推薦的功能,你可以分享其他網友
新增評分功能,可以表示你喜歡這個粉絲頁面
新增訊息通知,可以讓你知道更多受人喜愛的粉絲頁面
有任何問題,請到這邊去反映: https://github.com/kkdai/iOS-APP-FBAlbums
以下是是比較技術方面的更新心得與筆記:
把網路資料從Google Doc改到Parse,並且支援push message
支援網友上傳喜愛的粉絲頁面到主機上面讓大家去看並且評分(目前只支援”加分”)
iAD 增加並且把售價將到免費,之後再考慮有沒有付費機制(AIP 其實不好搞)
CoreData 的migration 也搞了很久~其實有考慮要不要拿掉CoreData~
上架之後,想不到iAD要另外的審核~看來又得等待了….
接下來下一次的更新應該會著重在穩定度跟網路讀取的改進,這邊也是我現在比較不了解的地方
繼續閱讀
July
19th,
2014
前言: 十秒就搶完的票,號稱工程師界的秒殺票卷.當天其實是來不及搶到票.感謝Patrick 願意把他搶到的票讓我去看. 整個會場看到一堆年輕人,真的讓我非常的開心.也很替現在的年輕人開心, 你們不是沒機會~我們以前社團要搞這些活動的時候資源少到不行又沒人願意參加. 現在技術種類又多又有趣,年輕人個個有出頭的機會. 台灣又有這麼多做OpenSource的前輩在前面幫你們開路~ 年輕人別再抱怨房價跟薪水了,認真學習好好跟這些前輩效法才是未來真正的出路~~ 一些令人覺得經驗的亮點: 有人搬卓機來研討會 https://twitter.com/superbil/status/490319430434312192/photo/1 思源黑體和小叮噹會幫我完成所有的願望 https://twitter.com/zhusee2/status/490429614951387136 g0v 政府對政府關係 https://twitter.com/ijliao/status/490437005575061506 愛因斯坦說過如果要花一個小時要解決問題,必須要花五十五分鐘好好思考問題是什麼,然後花五分鐘來解決它. https://twitter.com/onReflect/status/490413297812783105 HackFolder http://hackfoldr.org/coscup2014/ 09:10 - 10:00[R0]全場地聯播Maker 《自造世代》 潛水機器人採取開源的方式並且要求[CC](要使用的人也得開源) 等待專利時間永遠跟不上創新的速度 不怕抄襲- 抄襲的人永遠跟不上創新的發明 Real-time Streaming Classification with Storm – The Pinball system 心得: 利用steaming classification( 不斷的分類與判別)來判斷yahoo買家並且給予最好的購買建議與推薦. 類似於Hadoop Map-Reduce Job 但是屬於streaming ( Hadoop 是 batch processing) 購買欲望 (Buy Intention) 與 PageView 有關.瀏覽頁面越多,購買欲望越高. 速記: Challenges Batch processing can react latest update data. Solution: Pinball Pinball 使用者透過不斷的classification來判別preference Real-time classifier using Storm on apache Storm -> is potential buyer ? -> promotion Hadoop map-reduce job is batch processing but storm is streaming. Buy intention 同一購買類別瀏覽次數越多,購買欲望越高 How to combine Storm and Buy Intention Navigation Spout Buy: User buy history -> learning bolt -> classifier (record page view) View: User history bolt -> classifier -> Qualifier Match -> promotion Batch processing is source of truth, realtime processing using it as reference. Lambda Architecture Batch Layer Pig Hadoop Spark Summingbird (scala) Life Lessons From the Cloud:...
繼續閱讀
July
17th,
2014
Android
https://code.google.com/p/spydroid-ipcamera/
可以讓你Android手機當IP cam streaming 到其他地方..
相關文章http://blog.csdn.net/xiaoliouc/article/details/8443195
https://github.com/yixia/VitamioBundle/tree/v3.0
Android 上面的多媒體播放SDK~是要收費的不過似乎很完整方案.
https://github.com/pocorall/scaloid
最近學了Scala就很好奇,Android上面能不能拿來開發.這裡是很好的專案.
http://arnab.ch/blog/2013/08/asynchronous-http-requests-in-android-using-volley/
一堆http 的toolset提供許多RESTful request的APIs
https://github.com/shakalaca/learning_gradle_android
關於gradle的一些tutorial與相關的教學
iOS
https://github.com/fullstackio/FlappySwift
想知道Swift 能多快開發~剛發表的隔天~ Flappy Bird on Swift 就開發出來….
https://github.com/TakoBear/ffmpeg-iOS-7-Install-Script-Xcode-5.1
想要找尋iOS上面如何使用ffmpeg? 這裡有最快的script 搭配著iOS7.0 與 xcode 5.1.成功的時候會從網路電台抓audio來解開播放….
https://github.com/lajos/iFrameExtractor
想要ffmpeg 在iPhone上面可以多一些範例? 這裡有個可以把影片解開一張張frame的範例….
https://github.com/coolthor/TainanSport
簡單的介面,show出附近可以提供運動活動的地點。 輔之以導航。特色的話,用一隻手就能完成所有動作。作為MapKit,還有利用NSString對字串的Parse的練習範例。 還有部分Sqlite 3的應用。
http://www.swifttoolbox.io/
許多關於swift的toolkit 列表,相信一定找的到好用的.
https://github.com/magicalpanda/MagicalRecord
Magical Record算是超級知名的tool kit 管理Core Data一定要使用,相當的容易使用.我好像也寫過一篇使用的文章.
https://github.com/constantineSafronov/SFAlbumApp
也是利用到UICollection View 的相簿軟體
https://github.com/Inferis/ViewDeck
類似FB上方的左右切換toolkit
https://github.com/ECSlidingViewController/ECSlidingViewController
類似ViewDeck不過有支援storyboard
Service:
https://www.uservoice.com/
可以幫你建立一個使用者回報的系統 (iOS/Android)的server.以下介紹來自 http://blog.xuite.net/coke750101/networkprogramming/56770815
Uservoice 是一個非常重要的服務,我們從開站以來,我們幾乎每天都會透過 Uservoice 收到來自我們訪客的建議與問題回報,Uservoice 透過簡單的介面讓訪客可以輕鬆的發信告訴我們他的想法。我們透過 Uservoic 來掌握使用者對於我們網站產品的看法,也藉此可以更加深入的了解我們社群。我們可以透過後台清楚的看到目前所有尚未回應的問題,或是誰已經回應了哪些問題,甚至可以建立罐頭訊息,還有積分的設計,客服人員每當回答了問題,就會得到額外的積分。(不過其實我們目前是共用帳號、共享積分XD)
繼續閱讀
July
11th,
2014
https://www.youtube.com/watch?v=kKQLhGZVN4A
每次剛學一個新的程式語言,自己的心裡總是會想著“這個新的語言特點是什麼?他究竟能夠為了產品或是你工作的事情上帶來哪些幫助?”
學習Golang的時候,我也是會這樣想.剛好找到了這一段影片,把它的一些內容做個整理,如下:
Juju - Ubuntu (Canonical)
語言轉換:
Python -> Golang
這是什麼?
Juju 是ubuntu上面管理軟體的一個工具,這裡有詳細的解釋.
Golang帶給Juju的好處:
Juju原本是使用Python來寫的,會換到Golang上面其實有相當多的理由,稍微整理一下:
Error Handle: 這大概是基本上Golang最強大的功能.
Concurrency: 這也是Golang被人喜愛的主要原因,目前我也還在努力地摸索.
他其實有更多沒有提到的,我稍微截個圖讓大家看一下
Heroku
語言轉換:
Ruby -> Golang
這是什麼?
Heroku 算是現在幾個知名的PaSS (Platform as a Service)之一,主要就是讓人host你的網路相關的service.
這裡有更詳細的解釋.
Golang帶給Heroku的好處:
Heroku 主要有一個Routing Table Service 來記錄超過 190萬個App的操作.這樣的service主要就是透過REST API然後與後方的PostgreSQL資料庫.原本是使用Ruby來撰寫一個部分的控制.詳細的流程圖我截取下來如下:
問題來了,bootstrapping new instance由於要產生一些資料所以是不夠快的,根據講者的說法,這跟Ruby產生initial JSON dump有關.
所以他們使用Golang在幾個小時內完成Streaming update部分的原型並且測試上線, 結果帶來以下的結果:
速度增加十倍以上(?)
產生新的資料在Golang上面再也不會成為整個流程的瓶頸,網路處理速度也變快.
目前他們也在思考把其他的部分開始改成Golang
StatHat
語言轉換:
一開始似乎就是用Go打造(99%)有部分也從RoR轉換到Go
這是什麼?
StatHat是一個記錄資料的服務,他提供多個語言的支援(接近15個).可以提供給其他網路服務公司做一些資料的追蹤, 可以顯示各種的圖形與方式.
Golang帶給StatHat的好處:
提了幾個優點
Fast:
速度比較上,Golang在網路處理上算是真的相當快速的.
Resource Friendly
他指的比較偏向社群資源多
Easy to deploy
Go binaries are self-contained
No shared libraries, no gem and dependency
Fun
這邊有他們Open Source出來跟他們產品有關的code,可以參考.
Iron.io
語言轉換:
Ruby -> Golang
這是什麼?
Iron.io 是一個網路服務提供商,主要分成以下幾個產品:
ironWorker 平行的工作平台,本來用RoR寫但是有點慢,用Go改寫後就變快很多.
ironMQ 訊息序列傳送廠商,是一個可以擴充的服務
Golang帶給Iron.io 的好處?
在ironWorker裡面很大一部份的工作是需要分配工作與平行處理架構,這是Golang主要能提升的部分,而他們會使用Golang的原因如下:
速度快
執行快而且編譯也快
Still reasonably express
Rich standard library
也就是因為build-in 標準函示庫是足夠使用的,所以容易散佈跟編譯.
Not tie to VM
指的是編譯好之後可以直接執行,不用綁太多環境.
Awesome
寫起來很開心(我目前也是感覺相當有趣…)
Q&A: (標記的公司為回答的代表)
[Heroku] 如何決定哪些產品要轉換到Golang?
[StatHat] 比起Go而言,Ruby 有著龐大的資源與社群那為什麼要轉換到Go呢?
要用Go重寫其實是不難的(指的是他們用到的部分)
[Heroku][Juju] 你最喜歡的Go library
不用懷疑~當然是Go fmt . (我也覺得Go fmt幾乎把所有功能都用到了~)
[StatHat][Juju] 你們覺得學習Golang 要多久呢?
[StatHat] 我們大概學了幾個禮拜
[Juju] 我認為我從來不曾停止學習,能上手是很快但是要能真正了解其中含義,就要不斷學習.(這讓我想到這篇文章)
[StatHat] 你有任何推薦的Go書籍嗎?
Golang.org? 其實我並沒有讀任何的Golang 的書籍.
其他關於Golang 與其他語言的比較
http://www.slideshare.net/weijr/coscup2013 [COSCUP2013] Python, F#, Golang and Friends
繼續閱讀
July
9th,
2014
心得: 這次來聽Google Map GDE Homing Tam講解關於Google Map的簡介,由於時間的因素主要都是在講解Google Map相關延生的產品.不過內容上相當的有趣.也有新舊版本上的使用差異,從眾多的Google Map所衍生出來的產品也更容易了解Google Map API與Google Map如何使用的想法. 會後其實也花了一些時間好好地觀看了一下Google IO帶回來的三星Android Wear實體機.也知道了台灣除了Colin Su之外又多了一個GDE David Chen (不過台灣現在都是Google Cloud 的Expert). 速記: Google Maps Feature update introducing the Google Maps product families https://www.google.com/maps/about/partners/businessview/ Google business view (business photo) http://maps.google.com/gallery/ Google map with data in gallery https://www.google.com/mars/ Google Mars Map https://www.google.com/moon/ Google Moon Map https://www.google.com/sky/ Google Sky View https://www.google.com.tw/mapmaker Google Map Marker (自定修改地圖) https://mapsengine.google.com/map/ Google Map Engine 有分Lite,Pro與Mobile版本. http://www.google.com/enterprise/mapsearth/products/coordinate.html Google Map Coordinate 可以追蹤人用的,安裝之後手機GPS會強制打開. Google Earth 安全台灣 利用Google Earth Enterprise 自己建立local Google Map Client https://support.google.com/fusiontables/answer/2571232 Google Fusion Table 地理資訊資料庫,不過有漸漸被淘汰的趨勢 indoor map != indoor street view yellow point -> business view certificated agency to take photo and upload to google map. indoor map is a flat map indoor map User upload. indoor street view is using street car to take photo Provide by Google 範例: 雪山隧道人行步道 舊版地圖與新版地圖的差異 舊版地圖可以分享 (參考) 原因是因為新版地圖的網址是不固定的,所以無法分享.也有IFrame的整合. Google Map API Currently it use v3.13 v2 already out of date since 2013/09 Why use version 3 差異 (Google Map vs Google Map API...
繼續閱讀
July
7th,
2014
週三又有GTUG的活動,這次是Google Map SDK的講解,於是剛好把iOS 內建的MapKit與Google Map SDK都玩了一次.
順便記錄一下簡單的心得與可能容易遇到的問題,如下:
iOS MapKit
心得:
先不論功能上與GoogleMapSDK的比較,iOS內建的MapKit真的容易使用多了.也不需許多麻煩的東西(等等會提到)
教學可以參考:
http://www.raywenderlich.com/21365/introduction-to-mapkit-in-ios-6-tutorial
http://www.raywenderlich.com/13160/using-the-google-places-api-with-mapkit
其他:
比較需要知道的可能就是如何把地址字串直接找到位置而不是使用經緯度.這篇可以參考.
Google Map SDK
心得:
看起來功能似乎很多,但是使用上有許多的地方要注意.
教學可以參考:
https://developers.google.com/maps/documentation/ios/start?hl=zh-TW
可能遇到問題:
Crash when use Google SDK API
Add “-ObjC” in “Build Setting”->”Other Linker Flag”
UIView 與 GMSMapView的使用問題
參考這篇,裡面提到的三種方式都很清楚.
其他:
也是可以從字串定點,不過需要透過Google Map API來查然後去讀取JSON回復,這裡有整理好的code https://gist.github.com/kkdai/7e7cb6d626794829771b
最後放一篇關於 Google Map SDK與MapKit 更深入研究的一篇文章 http://www.fastcolabs.com/3006725/open-company/depth-comparison-between-ios-map-frameworks-apple-mapkit-vs-google-maps-sdk
繼續閱讀