[iOS] 粉絲相簿更新到 1.1 支援網友分享與評分

六月底上架之後,雖然一開始是用收費的方式,主要還是發給一些親朋好友測試而已.
收集了各方意見我也增加了新的功能之後,在今天就要上架更新的版本.

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要另外的審核~看來又得等待了….

接下來下一次的更新應該會著重在穩定度跟網路讀取的改進,這邊也是我現在比較不了解的地方

[COSCUP2014]開源人年會2014心得與速記

前言:

十秒就搶完的票,號稱工程師界的秒殺票卷.當天其實是來不及搶到票.感謝Patrick 願意把他搶到的票讓我去看.
整個會場看到一堆年輕人,真的讓我非常的開心.也很替現在的年輕人開心,
你們不是沒機會~我們以前社團要搞這些活動的時候資源少到不行又沒人願意參加. 
現在技術種類又多又有趣,年輕人個個有出頭的機會. 台灣又有這麼多做OpenSource的前輩在前面幫你們開路~
年輕人別再抱怨房價跟薪水了,認真學習好好跟這些前輩效法才是未來真正的出路~~ 

 

一些令人覺得經驗的亮點:

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: My Career as a Technology Evangelist

心得:

  • 傳道者路線

    • 不斷的尋找你的興趣

    • 找到以後,增進你的技術並且變成專家

    • 不斷地談論它

    • 把你的文字散佈到世界

    • 建立你的聽眾

    • 建立你的聲譽

 

How to Make A Scanning Drone

心得:

  • 日本講者用中文來講,真的是辛苦他了.主要的內容就是分享一些製作Drone上面會遇到的問題

  • 個人覺得可以用英文來講會更好.

速記:

  • Drone

    • Hardware

    • Drone

    • IR Cam

    • Application processor (ODROID-X)

  • Software

    • RTOS
  • Drone 製品重點: 

    • 買現成的改韌體增加空制度
  • 現成Drone:

    • AR. Drone 2.0 

      • 地下街可以買到
    • IRIS (選擇這種)

      • 組裝品(三萬塊)

      • OpenSource 

        • RTOS
      • Open Hardware

        • 可以改造
    • DJI Phantom 2 vision

      • 製成品: 四萬塊 

      • No open source, no open hardware

      • 穩定度高

  • 研發歷程:

    • IRIS

      • 買來東西有一些被扣關
    • AR Drone

      • 發動機太弱,缺乏穩定性

      • 電力要12V6A

      • 螺旋槳威力太大,可以切斷手指

  • 深度相機

    • Light coding

    • Time of flight

    • 視差(RGB)

  • ORDOID-U (選擇原因)

    • 體積夠小

    • Quad-core

    • Two USB

Raspberry Pi最新動向和發佈兩年的體驗

心得:

  • 因為強大社群而成長,Broadcom 本身看起來很支持.

  • 不論是 model A用在比較省電的領域或是多媒體的model B都是受人歡迎

速記:

實現在行動裝置的影像處理和智慧型辨識系統,建立流浪狗協尋及地圖分佈服務

心得:

  1. 強大的影像辨識與分類演算法
1. 分類特徵化


2. 資料搜尋
  1. 使用者習慣
1. 避免個人資料曝光


2. 資料輸入方式


3. 界面~不好看的界面不會有人使用.
  1. 攜帶式晶片掃描器是一個很大的市場 

速記:

  •  找狗網 (http://finddog.net)

    • 可以用影像,文字搜尋寵物的網站
  • 傳統找寵物

    • 小訣竅:

      • 十個小時內尋找比較容易找到,貓容易躲陰涼地
    • 方法:

      • 貼廣告

      • 報警

      • 拜拜?

    • 缺點:

      • 人看過寵物都忘

      • 個人資料外洩

  • 現有App缺點

    • 不好用

    • 狗臉辨識(效率低)

    • 文字資料得用人工keyin

  • 辨識技術

    • 在local 使用影像辨識

    • 分類特徵化

  • Architecture (EC2)

  • 晶片掃描器

    • 市售得要三萬塊

    • 研發出只要插在iPhone上就可以使用

    • 並且有連接資料庫的問題

Q&A

  • Q:  影像辨識的部分?

    • A:: 部分參考OpenCV,其他都自己完成.
  • Q:  關於狗臉辨識有論文?

    • A: 本來要做人臉辨認`因為有個資法語肖像權的問題.所以只能做人臉辨識.

 

從立院影城到公民直播的影音串流技術 (yhsiang)

心得:  

做公民直播除了技術與架構之外,什麼樣分享出去適當的資訊以及避免偏袒真的是一個大問題.

速記:

  • 背景:

    • 立法院的影音只能保留半年

    • 格式: mms 

    • 質詢冗長而無聊

  • Yahoo Hack Day

    • 原來想做彈幕

    • 後來改成鞋子跟雞蛋 ~也可以護航

  • 技術

    • 後端轉錄:

      • mms (msdl) -> WebM  (FFserver) -> HLS (nginx-rtmp)
    • 前端技術:

      • Firebase x MediaElement (Brunch)
    • 獲得:

      • 最佳人氣獎

      • 媒體報導

  • 思考:

    • 人們想關心立法院,只是不容易使用並且無趣
  • 直播金字塔:

    • 前端

    • 雲端

    • 硬體

      • Win/Mac Record card BlackMagic
    • 網路

  • 簡易完成SNG

  • 遍地開花

  • 新形態的媒體平台

    • Hackfoldr 

    • Livehouse.in

    • inLiveTW

    • g8v.tv

  • WebRTC

    • Stun/Turn (p2p)

    • Relay

  • 公民導播檯

    • 誰來決定

    • 變成另外一個媒體(獨大?)

Q&A:

RTSP/RTMP/MMS/HLS 差別

  • (?)Adaptive streaming, no buffering.

    • RTSP/RTP 

      • Provide by 
    • MMS

      • Adaptive, no buffering.
  • (?)Buffering streaming

    • RTMP

      • Don’t need http server.

      • using on flash

      • (?)

    • HLS

      • Need http server

      • Apple

      • (?)

 

電腦不只會選土豆,還會幫你選新聞

心得:

  • 別忘了~搞Big Data的人80%時間都在準備輸入資料還有20%是抱怨為何要準備資料. 可見資料有多重要.

  • Python 有許多Data Science 應用上的module

速記:

  • 用Python抓取新聞抓取的新聞篩選系統

  • 愛因斯坦 -

    • 如果有一個小時要解決問題,必須用55分鐘去思考問題而用五分鐘來想解決的方法.
  • 問題定義:

  • 尋找新聞:

    • 傳統方式:

      • 打開瀏覽器

      • 複製新聞

      • 貼上

    • (換成Python)

      • requests  模擬瀏覽器查詢

      • selenium 真正模擬器所有動作

    • 關於 selenium

      • 可以模擬 JS的互動狀態 

      • code:

        • browser =  webdriver.Firefox()  #真的會打開Firefox

        • browser.get(‘http://google.com’)

        • elem = browser.dind_elelment_by_name(‘q’)  #Google 的搜尋框

        • elem.send_keys(‘coscup’)

        • elem.submit  #真正瀏覽器會送出查詢 coscup

    • BeautifulSoup (抓取資料)

    • Readability (抓出網頁主文,並且去除廣告)

      • from readability.readability
    • SAAS 一樣有抓網頁的東西

      • www.kimnolabs.com

      • import.io

  • 存取新聞

    • 存進資料庫 MongoDB

      • PyMongo
    • 有趣資料

      • 最不受歡迎的類別:財經(3.11%)、消費(2.57%)、健康(1.06%)

      • 最受歡迎的類別:生活(38.0%)、新奇(47.74%)、寵物動物(89.24%)

  • 機器學習 (Machine Learning)

    • 斷詞 (jieba

      • imoort jieba

      • jieba.cut(‘分析這段文字’)

    • 找關鍵詞 (jieba)

    • 加自定詞庫 (jieba)

    • Scikit-learn Skelearn (Python Machine Learning module)

      • Classification

        • 文章會不會超過1000 likes
      • Regression

        • 歸納出一條線
      • Clustering

        • 給一堆新聞,分堆
      • Prediction

        • 預測這篇新聞會不會得到 1000 likes
  • 其他工具:

    • 抓網頁 Scrapy

    • 自然語言  NLTK

    • Python Data Analysis Library - Pandas 

    • Open Source Data visualization - Orange 

 Q&A

  • Q:如何訓練找出自己的喜歡的文章

    • A: 必須先要訓練數千篇文章讓你的電腦知道的喜好.

 

Startup Best Practices on AWS

心得:

  • Amazon 不僅僅提供PAAS服務基本上我想所有的服務都有了,是可以找機會研究一下看看有沒有什麼特別的地方.

  • 有提到一些template與快速設置的方面可以查查,Marketplace 也可以看看.

速記:

  • MVP (Minimum Viable Product)

    • Release Quickly

    • Limited** core fathers**

      • Must choose essential features.
    • iterate in production

      • Improve your product by marketing every week, month.
    • Business decisions base on data

  • Application Architecture

  • AWS Marketplace

    • OSSF API

    • NetFlex 

  • Loose Coupling Enable Scale-out and resiliency

    • Use Message Queues

      • If message is stock, SQS (Simple Queue Service) will help to load balance.
    • Use Circuit break

      • It could bypass downgrade service or default service if any failure happen.
  • Statelessness Enables Scale-out

  • Amazon DynamoDB

    • Once create DB you need to provisioned

      • how much loading you need

      • how many bandwidth

    • Once it almost exceed it will send alert to scale it up.

  • Cloud SOA (Service Oriented 

  • Two-pizza teams

    • small, autonomous team

    • full responsibility for service X

    • No handovers 

    • Trust

  • Amazon Web Service

    • If you can program it, you can automate it.
  • 所以相依的服務有樣板可以依樣畫葫蘆建造

    • 有資料庫,CDN或是其他更多的服務

    • 有版本控制

  • Infrastructure in AWS also can have its own version to deploy.

State of the unison: g0v 村情咨文

心得

  • g0v 是一群有理想願意付出自己時間與能力的人,是一種Open Source的最佳表現

  • g0v 的建立讓Gov 得好好的去思考與反省,並且開放更多的資料出來了.

  • 可以找機會看看g0v 的活動有沒有可以幫上忙的

速記

  • 政治獻金數位化

    • 紙本資料 -> 掃描 -> OCR ( Otaku CR) 宅男辨識系統 -> 分析
  • G0V 成為世界上最大的開放政府資料的社群活動

  • 從 g0v 到 gov 

    • 到立法院資訊處演講
  • 跟教育部整合

    • 萌典  

      • 筆順,動畫
  • 從 ngo 到 ng0(zero)

關於[iOS][Android] 許多好用的SDK/toolkit與資源蒐集(2)

[Golang] 影片心得整理- Google IO 2012- Go in Production

https://www.youtube.com/watch?v=kKQLhGZVN4A

每次剛學一個新的程式語言,自己的心裡總是會想著“這個新的語言特點是什麼?他究竟能夠為了產品或是你工作的事情上帶來哪些幫助?”
學習Golang的時候,我也是會這樣想.剛好找到了這一段影片,把它的一些內容做個整理,如下:

  • Juju - Ubuntu (Canonical)

    • 語言轉換:

    • 這是什麼?

    • Golang帶給Juju的好處:

      • Juju原本是使用Python來寫的,會換到Golang上面其實有相當多的理由,稍微整理一下:

        • Error Handle: 這大概是基本上Golang最強大的功能. 

        • Concurrency: 這也是Golang被人喜愛的主要原因,目前我也還在努力地摸索.

        • 他其實有更多沒有提到的,我稍微截個圖讓大家看一下
          JPG juju more

  • Heroku

    • 語言轉換:

    • 這是什麼?

      • Heroku 算是現在幾個知名的PaSS (Platform as a Service)之一,主要就是讓人host你的網路相關的service.

      • 這裡有更詳細的解釋.

    • Golang帶給Heroku的好處:

      • Heroku 主要有一個Routing Table Service  來記錄超過 190萬個App的操作.這樣的service主要就是透過REST API然後與後方的PostgreSQL資料庫.原本是使用Ruby來撰寫一個部分的控制.詳細的流程圖我截取下來如下:
        JPG Heroku 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 與其他語言的比較

[研討會心得] GDG Taipei #9 - Furnish you app with Maps

心得:

這次來聽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 Map 愚人節活動 - PokeMon 有打算開放API嗎?

    • 8bit Map 不可能,但是PokeMon 是可以自己做
  • Google Map有考慮加高度嗎?

    • 其實資料有在裡面的, 參考 Google Elevation API
  • Google Map SDK 為何地址查詢經緯度還需要使用Google Map API?

    • 這是故意的,因為Google 地理資訊是希望綁在 Google Map API 裡面

[iOS]MapKit 與 Google Map SDK的使用筆記

週三又有GTUG的活動,這次是Google Map SDK的講解,於是剛好把iOS 內建的MapKit與Google Map SDK都玩了一次.
順便記錄一下簡單的心得與可能容易遇到的問題,如下: