Facebook Oauth2.0 client side authentication

作為一個開發者,你就是無辦法避開 Facebook 的 API
無論它比屎還爛
或者文檔比死海古卷還殘缺都一樣

還好的是,這次介紹的API Google 都有
所以照抄之下還可以
就是 javascript side 的用戶認證
https://developers.facebook.com/docs/authentication/client-side/#no-jssdk

我介紹的是「不使用 JS SDK」的版本

反正跳進它的 SDK還得花一番工夫
基本使用是
1. 連到一個特定 facebook URL
2. URL 內 facebook 詢問用戶允許使用資料權限 (facebook 全權處理)
3. facebook 跳轉到一個開發者指定 URL, 連同 access_token 作為 hash
4. 使用 JS 分解從 hash 中提取 access token
5. 使用 ajax 連同 access token 使用 Graph API

這是我唯一使用 facebook API 的愉快經驗,
連 Facebook 大力推的 Graph API 也不外是一個巨大的死海古卷中的一節而已

Mid 2012 Intel Eureka Design Challenge - StartJG

新公司的第一個專案是 Intel 嵌入式系統的專案
透過遊戲和互動媒體,鼓勵參協者針對 Intel 的嵌入式平台構思應用
並以 2012 年 San Fran Intel 開發者年會的入場券作為獎勵

使用的技術是 python(Django)+PGSQL
Django 給我的感覺是完整的,功能齊全的CMS
但在 Model 的設定上需要小心
而python 作為一個web app 語言在方便性上比PHP有不足的地方
而且設定 apache 也比較複雜
是值得留意的地方

https://eureka.intel.com/

Snapshot: 

Sentry 4.8.2 + Python2.7 + ubuntu 10.04 + SQLite

Sentry 是 disqus 釋出的一個圖像化 logging 的工具
本身是基於 django 的,安裝等基本就不多說明了
可以參考 http://sentry.readthedocs.org/en/latest/quickstart/index.html#install-se...

而我還到的問題是:

ImportError: cannot import name abbrtask

問題源自 celery 的最新 3.0 版本不相容於 sentry
https://github.com/dcramer/sentry/issues/538

解決方法:
pip install sentry "celery<3.0"

Barcamp HK 2012 summer 後記

先 open source 我的 presentation https://github.com/joetsuihk/barcamp2012

其實我講的 "JS 201, when JS becomes hard to manage"
也不是什麼新的東西
只是將我做小 project 時的經驗講一下
希望訓練自己的演講能力的同時
可以帶到些什麼給其他人

今年我自己覺得學生好像特別多
上一年在大學裏舉行,學生比例偏高是正常
但今年在 HK Cacoon 仍然有不少學生
更有正在做 startup 的

但整體 presenation 的質量仍然舋得每年下降 (我也有份拉低)
期望冬季的 barcamp 能有更精采的演講

Django 可選 checkbox 的正確設定方式


使用 Modelform 的話,建立一個可選的 checkbox 還真要小心
例如 opt-in 類,“Check the box if you do not want to be contacted by us"
Model:

#model.py
class UserProfile(models.Model):
    opt_in = models.BooleanField()

ModelForm:

#model.py
class UserProfileForm( ModelForm ):
    #https://docs.djangoproject.com/en/dev/ref/forms/fields/#booleanfield
    opt_in = forms.BooleanField(
        required=False)

問題是,“required" 令人很容易覺得是 true
因為無論 true false 都不是 null...
但 django 的設定剛好相反

反正很多有 ORM 的 framework 都有這種混亂的情況
例如 cakephp, django
是我的問題還是?

Pages

Google