2013年12月25日 星期三

[google doc] 樞紐分析

用 Google Doc 計算同項目的總和


如下


[iOS] start for iOS 6 and 7

之前因為 一直有iOS 5 的案子

發現好多新的用法與技術都沒有用到 或知道

正好有一段空閒的時間

趕快把library更新



2013年12月16日 星期一

[iOS] posing class

最近發現好久沒看技術文章了 orz

看到了一個有趣的少用的技術 posing

http://www.tutorialspoint.com/objective_c/objective_c_posing.htm

http://www.cnblogs.com/IT-Chris/archive/2013/03/10/2953176.html


裡面提到

Posing (扮演)和Categories(类目)的区别是:对于子类override父类方法的
情况,Categories 不能再调用父类的被重写的方法了;而Posing 可以通过“
[super 方法];”方式来调用父类被重写的方法。

hmm.... 在某些情況下確實可以用用看

可以很輕鬆的阻斷加入要做的事情@@


2013年12月12日 星期四

[ROR] 後台建立 - 權限建立

這裡使用了 cancan這個有名的library

目標

1. 用 Device註冊帳號的初始帳號都是一般權限

2. 有一個網頁可以修改某個user為 admin的權限

3. 每個user都可以看某個頁面,但是因為權限不同而會不同



2013年12月9日 星期一

[ROR] 後台建立

目標:產生一個後台在 Heroku

讓同事能申請帳號,然後並手動加入admin的tag

在後台開一個admin的資料區塊,可以顯示同事上次替"神~清單"設定的簡易後台。



2013年11月16日 星期六

[iOS] Web api with CoreData

當然 已經有很多好用的api

像是 AFIncrementalStore

但是其實我沒有用過

現在也沒有空去改用

原因是.... 遇到太多的廠商開的api是在亂七八糟....

因此還是得自己針對案子去設計model


不過最近遇到下面的問題

-> 當 api 有 paging的功能,卻設計了一個 infinite scroll view


一般來說我常用的作法是

api -> 接到的data 直接存在 CoreData中

view -> 透過 NSFetchedResultsController  拿 CoreData的資料


但是如果加上了 page呢?

page意味著說每頁的資料在每次拿可能都不一樣

api 是"一頁一頁"的呈現資料

但是 UI 設計的是一個 infinite scroll view

並不會知道轉到了哪一頁(往往後端又想保留每頁可以動態調整資料數量的權力),即便是每個資料都有id

例如cache了10的資料,

   當下次在開啟時,api 應該要更新哪些資料?第一頁?一到十頁?

   似乎都不太對,

因此,試想了一下規則

1. 用一個Global 變數去儲存該api 已經拿到第n的頁數 (假設頁數為連續)

2. 離開app時(或剛進入app時),清除掉所有跟page api 有關的object

3. 如果設計需要,在離開該頁面時,清除掉所有跟page api 有關的object


造成的結果會是

在這次開啟app的狀況下,使用者會看到cache的結果,頁面資料只會拿一次(不會更新資料,因為global 變數去記錄該api已經拿到第幾頁)

在下次開啟該app 則會清除上次看過的資料,然後重新向server拿新資料



這樣應該可以解決大部分的問題吧


[iOS] Core Data 的 思

我的Core Data 的思維模式大致上是從

https://github.com/robbiehanson/XMPPFramework

XMPPFramework / Extensions / CoreDataStorage

中得到想法或靈感

其中比較重要的是
他利用多執行續去執行 core data  (在 apple 的guide line 中其實不建議用多執行續去做)

我將這個方法套用在我現在的專案上

1. model control 動作後,會呼叫 sub thread 上的 NSManagedObjectContent (moc) 做動作

2. VC 上,用的是 Main thread moc 產生的 NSFetchedResultsController 來操縱 View


一開始看起來都還ok

不過最近卻發現一些問題


2013年11月15日 星期五

[other] Mac 重灌筆記

如果不用time machine直接還原的話
  1. 分割磁區
  2. 軟體
    1. Chrome
    2. Xcode
      1. 需要保留 4.6.3 & 5.0 (for iOS 5 模擬器)
      2. 可能在一陣子就不用測試 iOS 5
      3. profiles
      4. p12
      5. color plugin
    3. 輸入法
      1. yahoo輸入法
    4. MacHeist  (Paid)
      1. fantastical
      2. CleanMyMac 2
      3. AirServer
    5. NotesTab

2013年11月4日 星期一

[ROR] rbenv and init initial env

看了一下

原本用 RVM 想說用一下 rbenv看看

緣由 因為原本自學的時是使用的是 2.0.0 + ROR 4.0
但是上次的一個前輩的建議 使用 1.9.3 + ROR 3.2.15 會比較多資源

因為想說之後也有可能會遇到多版本的問題
舊先學習看看

http://edapx.com/2013/05/23/switching-from-rvm-to-rbenv/

https://github.com/sstephenson/rbenv



2013年10月6日 星期日

[iOS] Xcode 5 new project for iOS 5.x

我也不想

不過之前還沒執行的案子有說要支援 5.x

那就只好設定了

Sega xcodeproj Main storyboard and PEGA VISION App Flow V2

 

我也不確定實機上會有不有問題

不過如果是模擬器上面

english 沒有勾選,似乎會讓setting找不到 Main.storyboardc

我猜可能是Base.proj 的關係(似乎 iOS6 or 7 有把storyboard的多語系改成  一個 storyboard 配合多 string file的模式,恩 這樣感覺也比較合理)

過度時期,先這樣做吧

2013年9月29日 星期日

[ROR] Turbolink, ajax, jQuery, coffeescript, Asset Pipeline

X  …. 怎麼那一次混雜那麼多東西orz
緣由:
想在ROR 4上面寫ajax
我先依照的教學寫了一下,
http://ihower.tw/rails3/assets-and-ajax.html
不過他是for ROR 3.x
所以惡夢就開始了...

2013年9月22日 星期日

[ROR] heroku change postgress

 

如果要清掉heroku上面的DB

好像沒辦法用 rake db:drop

我是直接用它的web介面刪掉db

在建立一個新的

不過

使用 git push heroku時

db帳號密碼就會不對

 

我後來找到  

heroku config

可以看到

DATABASE_URL:  xxxxx

HEROKU_POSTGRESQL_AQUA_URL:   yyyyyy

就用

heroku config:set DATABASE_URL=yyyyyy

換成正確的postgres db的位置就好了

 

[iOS] 5.x 6.x view controller life

https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/ViewLoadingandUnloading/ViewLoadingandUnloading.html

應該快用不到了...

不過還是先記錄一下

把trello 上面的雜項清理清理

2013年9月21日 星期六

[ROR] heroku, postgres,

有在嘗試的 Paas

heroku and openshift

原本在試驗openshift ,不過在上傳啟動server的部份遇到的困難,我就轉去heroku看看

 

基本上我照著他的教學跑了一次

有遇到幾個問題

1. 網頁上app 的名稱

似乎給了一串預設的編碼

如果改了

就要記得執行  

git config -e

把裡面的 git remote的位置改變

 

2. postgres 

他們官方是建議使用postgres 

我也在local端裝了

不過如過在 development 下 使用 postgres

會導致我必需把local 的username 給傳到git 上面

有點不想.... 實驗了很久,如果再mac 上在開一個使用者

好像還是有權限的問題

最後....我想說在development下用  sqlite就好了

Gemfile 寫下

 

# Use postgresql as the database for Active Record
group :production, :test do
gem 'pg'
end

group :development do
gem 'sqlite3'
end

 

 

然後

database.yml 就用

development:
adapter: sqlite3
database: db/development.sqlite3
pool: 5
timeout: 5000

 

 

 

==================

ROR 能做的設定參考:http://ihower.tw/rails3/environments-and-bundler.html

http://robdodson.me/blog/2012/04/27/how-to-setup-postgresql-for-rails-and-heroku/

http://www.fullybaked.co.uk/articles/getting-postgresql-running-on-osx-mountain-lion

http://www.moncefbelyamani.com/how-to-install-postgresql-on-a-mac-with-homebrew-and-lunchy/

 

2013年9月15日 星期日

[雜] 有趣的網址

https://skydrive.live.com/?cid=90dadd2e56b02895&id=90DADD2E56B02895%21109

軟體文件的範例....

不過有趣的是最後一張圖XD

2013年9月12日 星期四