跳到主要內容

發表文章

目前顯示的是 7月, 2013的文章

YII PHP Framework 簡介

YII 是一個PHP框架 目前 2012 比較中是第一名 http://www.phpzag.com/top-5-php-frameworks-2012/ 2013年也是第一 http://crunchify.com/the-5-most-relevant-php-frameworks-in-2013/ 當然看數字是無法確定它第一的真實性,根據本人的努力曾導入3+的團隊,除了愛上它,還是愛上它,且在本人的指導下,大約兩週就可以有非常好的產出(其實才上課兩次左右),這非常的不可思議。 官網標示出三個特性 快速:只載入你需要的功能,有cache可以支援,它明確的設計與AJAX互相配合方式。 安全:安全性在框架就加入了,包含輸入驗證、輸出過濾、SQL injection、預防跨站程式攻擊。 專業:幫助你開發清析可重用的程式碼,遵循MVC模式,確保讓邏輯與 資料呈現 清楚的分開。 目前對它的評價都是最輕最快的PHP框架 可以到 http://www.yiiframework.com/ 下載 目前是1.1.13 。 PS:Yii 第2版也在積極的開發,但會與第1版不相容,且官網希望不要等第2版,因為它還有好長一段時間才能達到量產的品質。 下載下來後,通常需要在命令列下指令來產生基本的網站樣版,請將它解壓縮後改名為yii Mac指令:yii/framework/yiic webapp base Win指令:yii\framework\yiic.bat webapp base 雖然這裡提供語法,但本人覺得直接下載產生好的樣版就行了,這段就別學了知道就好。 可以在此下載 https://mega.co.nz/#!EVlwkJyK!ISnwM0c0g4wBXQ_gmKWlkkxY0hZ_2_59Ozg_hvoBMqQ 下載完後,與yii放在同一層資料夾即可,這裡預設你會裝apache+php+mysql 如果沒有這些軟體可以下載 Win: http://www.appservnetwork.com/ Mac: http://www.mamp.info/en/index.html 安裝後,請放入htdocs目錄即可 執行以上動作即可瀏覽 http://localhost/base 你會看到

LEAP MOTION Sensor 開箱

今早還在看LEAP MOTION( http://www.inside.com.tw/2013/07/24/look-before-you-leap-motion ) 沒想到下午就出現在我面前  包裝很像Apple品牌的Style,內容物也像啦  簡單的說明,叫你上網下載安裝,約80mb 再次提醒 上網安裝 有附usb線  長短兩條喔  下載網頁有Windows跟Mac 試玩了一下,感應算是靈敏,但有時後也會感應不到 只有他Store裡的軟體支援,一般作業環境,不會動… 目前為止,還是當作玩具(丟)。XD 五點後發現 BTT有支援,酷喔!!

PHP ignore-user-abort 永遠執行 保證執行完成

官網連結 http://php.net/manual/en/function.ignore-user-abort.php // 忽略使用者網頁的離開 , 並 允許程式永遠執行 下去, //只要在程式中加入這兩段,在程式最前面。 ignore_user_abort ( true ); set_time_limit ( 0 ); 但要小心不要亂寫無盡回圈,會導致資源不足或當機。 

Race condition 競爭危害

通常在課本裡常舉例存錢並匯款 帳戶裡有80元 如果我同時匯款20,存款20 會有什麼狀況呢 正常來說帳戶裡應該還是80元, 因為自然人無法同時存款及匯款。 你可以叫你的朋友幫忙,你去存款時,同分同秒同微秒看會不會發生什麼事 XD 而電腦是怎麼看待這件事的呢 如果在同一時間下 1我要匯款會先取讀我現在有多少錢,並扣款變60,再匯出。 2問題來了,我同時存款20,我應該要讀到60元才是正確的,但因為同時間做,所以電腦讀到了80元,再存20,即100元。 如果這世界都這樣,大家都變有錢人了。 如同小刀所說:你的錢就是我的錢,我的錢就是你的錢,發財啦! 這就是一個競時的問題 在微軟的網站上有提出11點競爭問題 http://support.microsoft.com/kb/317723/zh-tw 這裡我只提Database 我們可以使用select … for update的語法來保護自己的交易 START TRANSACTION; SELECT quantity FROM product WHERE product_id = 5 FOR UPDATE; UPDATE product SET quantity = quantity - 1 WHERE product_id = 5; COMMIT; 這裡舉的例子是,每當在交易時,會查尋數量,後再-1更新(實際上的語法會更多,例 大於零才扣庫存等…) 在MYSQL資料庫,只有Storage Engine 是 InnoDB 的情形下才有作用,且需要等查詢連線COMMIT後才可以做其他動作。 而 PostgreSQL 似乎其他連線還可以執行SELECT查詢。 以上是悲觀鎖定 以前做過樂觀鎖定,但現在CPU Thread 愈來愈多的情形下(不知道是不是這樣,但好像是),好像都無法太樂觀… 常觀測到的結果,都還剩一個品項結果還是多賣了一個。 我們預想的是 如果兩個人同時買一張票或一張票(房)且cpu還是會有處理上的差異(微秒之間) 正常來說 a買一張 b買一張 還剩一張 a先買 扣完 b查不到後,售完。 但往往是這樣 a先買 扣完 b還是查到一張,b再買,因為寫入剩於數質都是0 所以 ab 都買成了… 所以之後會

Sphinx

可以讓Python 來製作一些文件,及圖檔像 數學函式(http://matplotlib.org/users/mathtext.html)、餅圖(http://matplotlib.org/sampledoc/extensions.html)等… http://sphinx-doc.org/

MAC SVN GIT

如果在MAC OS上需要SVN、GIT 最簡單的就是先安裝 XCode,再到Preferences->Downloads->Command Line Tools -> install

Android Console(Cmd line) Compile 指令編譯 sign

官網參考在此 http://developer.android.com/tools/projects/projects-cmdline.html 雖然是官網 但好像無法直接work 在此要多加一行命令 及 安裝一些套件 (目前我在mac環境,可能有很多都設定好了,像android sdk的路徑,windows使用者需要在path裡增加才能下此指令喔) 打開 cmd line 鍵入 andorid &  安裝好build-tools //先讓project 可以當成ant project android update project -p 專案路徑 //如果要指定版本 android update project -p ./ -t android-8 cd 專案路徑 //用ant編譯成 release版本,也可以下debug ant release adb install 檔案名稱 . apk       如果曾經裝過 需要再加上 -r adb install -r 檔案名稱 . apk   如果要編譯時加入簽署應用程式 sign APK 可以建立    ant.properties   在裡面加入    key . store = path / to / my . keystore key . alias = mykeystore key.store.password=12345678 key.alias.password=12345678 如果要編譯時加入 混搖器 開啟project.properties 加入以下內容   proguard.config=proguard-project.txt   

squirrel-lang 輕量級語言

http://www.squirrel-lang.org/ 是一個輕量級的物件導向語言,記憶體小,即時性,有GC(垃圾回收機制),文件可執行大小約 100KB-150KB ,可當其它語言的仲介,適合用於遊戲上。 Open Source MIT licence 目前知道emo game framework使用此技術在IOS、Android上 http://code.google.com/p/emo-framework/

OpenCV

http://docs.opencv.org/doc/tutorials/imgproc/histograms/template_matching/template_matching.html 是一個跨平台的視覺函式庫,以BSD許可證授權發行,可以在商業和研究領域中免費使用。 OpenCV可用於解決如下領域的問題: 人機互動 物體識別 圖像分割 人臉識別 動作識別 運動跟蹤 機器人 取得方式 git clone git://github.com/Itseez/opencv.git

在NetBeans開發Android

http://www.nbandroid.org/p/installation.html 在netbeans 7.3+ 裡加入  http://nbandroid.org/release72/updates/updates.xml   search android 就安裝 android 就好,另一個需要unit test 似乎不work 接下來按  Tools => Android SDK Manager 選擇好SDK路徑即可 比較可惜的是 一樣沒有圖形介面可以編輯畫面 可以sign apk檔,可以run 佈署在機器上,按build 可以產生r檔,有source code 按command(ctrl)+滑鼠左鍵 可以trace到source code