2015年8月17日 星期一

MongoDB exception: connect failed錯誤修復過程

檢查port 27017是否有開啟。
檢查mongo的log訊息。
解決方法:
檢查是否有mongod.lock
==>執行ls -l /data/db/mongod.lock。
==>有的話執行rm -fr /data/db/mongod.lock(刪除mongod.lock)。
==>mongodb重啟。




2015年8月14日 星期五

Lambda expressions

 http://www.codedata.com.tw/java/understanding-lambda-closure-1-from-javascript-function-1

http://www.i-programmer.info/programming/javascript/1031-javascript-jems-lambda-expressions.html

2015年8月4日 星期二

Android blueprint

  1. layout
  2. fragment
  3. Dialog/Toast
  4. Animation
  5. 2D/3D
  6. Activity
  7. Service
  8. Content Provider
  9. Broadcast Receiver
  10. Service
  11. App Widget
  12. Application
    1. GoogleMap
    2. Media
    3. Camera
    4. Web View
    5. GCM
    6. NFC
    7. Android Wear 

2015年7月30日 星期四

Closures

http://blog.taian.su/2012-10-17-explaining-javascript-scope-and-closures-by-robert-nyman/#note

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures#Emulating_private_methods_with_closures

2015年7月27日 星期一

Cookie


什麼是 Cookie?

Cookie 是網站在您瀏覽網頁時儲存在您的電腦上的資料。

在某些瀏覽器,每個 Cookie 都是一個小檔案,但是 Firefox 的 Cookie 全數存成一個檔案放在 Firefox使用者設定檔資料夾。

通常儲存瀏覽該網站時的各種偏好設定,例如您的偏好語言與位置。日後再瀏覽該網站時 Firefox 會回傳屬於該網站的 Cookie 資訊,這樣網站就可以提供符合您需求的資訊。

Cookie 可用於儲存各種資訊,包含個人識別資訊(例如姓名、電子信箱、家中與公司電話住址……等等)。不過網站所能儲存使用的資料,也只有您確實輸入過的內容。網站無法自行取得您沒有提供過的資料,也不能任意存取您電腦內的檔案。

預設設定時,Cookie 的儲存與傳送是自動進行的,您也不會察覺。但您也可以設定 Firefox 去允許或拒絕 Cookie 儲存、或者在離開 Firefox 時自動清除所有的 Cookie……等。

support.mozilla

wikipedia

2015年7月23日 星期四

webSocket通訊協定與簡介

polling/long-poling/Streaming/webSocket比較 

Ajax vs WebSocket

Android-Icons



根據 Android 的規定,程式的圖示是放在 res 目錄內,因此每一個開發的程式中都預設有 drawable-hdpi, drawable-ldpi, 以及 drawable-mdpi 這三個目錄。
根據 Android Developers 文件 的說明,hdpi, mdpi, 和 ldpi 是分別存放高密度(high density)螢幕、中密度螢幕、以及低密度螢幕的程式圖示;但是要如何判斷你的手機是高、中、還是低密度呢?文件中說明對於手機而言,解析度是 480x800 的手機是高密度,320x480 是中密度,而 240x320 是低密度。至於實際的情形,還必須依據該手機製造商對於該手機的設定而定,而 Android 系統會依據最佳比對,選出最佳的結果。(註:未來如果持續投入開發,這一塊需要進一步了解,尤其是開發的程式如何讓它在平板中也能漂亮的呈現)

瞭解了螢幕的密度之後,再來就是說明程式圖示在不同螢幕密度下的大小。根據 Icon Design Guidelines 的說明,hdpi, mdpi, 以及 ldpi 螢幕的建議圖示大小分別是 72x72px, 48x48px, 和 36x36px。在該網頁中,它也提到一個製作圖示的工具,名稱是 Android Icon Templates Pack。


變更Android Studio 應用程式圖示教學

相關資料:icon/resources

2015年7月22日 星期三

2015年7月16日 星期四

JavaScript 語言-閉包(Closure)

閉包(Closure):在JavaScript中,函數擁有自己獨立的定義域(Domain),可以宣告自己的變數在函數裡面使用,甚至是忽略外部有相同名稱的變數。
Lexical scoping(詞語範圍):

var x=70;

function closureFunc(){
var x= 100;
return x;
}
console.log(x);//顯示70
console.log(closureFunc())//顯示100



Practical closures

Emulating private methods with closures

Creating closures in loops: A common mistake

Performance considerations

相關資料
MDN

DOM,Document Object Model,文件物件模型

基本概念

2015年7月14日 星期二

Bootstrap 基本教學

相關資料

載點
---------------------------------------------------
使用方式:

  1. Bootstrap CDN
  2. Bower
  3. npm
  4. Composer


  5. @第一種只要URL,一掛掉就無法使用,過去有紀錄過,當時很多網頁同時掛掉。
    @推薦使用二,三種,因為可以用同樣的方法下載到其它套件。
    @使用Bootstrap時,要注意相容性的問題(相關資料),會有特定版本的瀏覽器無法使用,必須在寫的同時考慮到如何克服。

    常用解決方式
    ps.ie老版本最常遇到

Node.js 安裝與版本切換教學 (for MAC)/NVM版本控管

NVM版本控管

mongoDB與MySQL 指令比較

閱讀紀錄
MySQL Program → Mongo Program
  • mysqld  → mongod (啟動DB)
  • mysql    → mongo    (DB連線,進入 Shell操作模式)

MySQL Statement → Mongo Statement
插入 
  • INSERT INTO users VALUES(2,3) →
    db.users.insert({a:2,b:3})

搜尋全部
  • SELECT * FROM users →
    db.users.find()
SELECT0
  • SELECT a,b FROM users →
    db.users.find({},{a:2,b:3})
SELECT1
  • SELECT * FROM users WHERE age=30 →
    db.users.find({age:30})
SELECT2
  • SELECT a,b FROM users WHERE age=30 →
    db.users.find({age:33},{a:2,b:3})


SELECT3
  • SELECT * FROM users WHERE age=30 ORDER BY name → db.users.find({age:33}).sort({name:1})
SELECT4
  • SELECT * FROM users WHERE age>30 →
    db.users.find({'age':{$gt:30}})
SELECT5
  • SELECT * FROM users WHERE age<30 →
    db.users.find({'age':{&lt:30}})
SELECT6
  • SELECT * FROM users ORDER BY name DESC → db.users.find().sort({name:-1})
建立索引
  • CREATE INDEX myindexname ON users(name) → db.users.ensureIndex({name:1})
SELECT命令7
  • SELECT * FROM users WHERE a=1 and b='q' → db.users.find({a:1,b:'q'})
SELECT命令8
  • SELECT * FROM users LIMIT 10 SKIP 20 → db.users.find.limit(10).skip(20)
SELECT命令9
  • SELECT * FROM users LIMIT 1 → db.users.findOne()
SELECT命令10
  • EXPLAIN SELECT * FROM users WHERE z=3 → db.users.find({z:3}).explain()
SELECT命令11
  • SELECT DISTINCT last_name FROM users → db.users.distinct('last_name')
SELECT命令12
  • SELECT COUNT(*y) FROM users → db.users.count()
SELECT命令13
  • SELECT COUNT(*) FROM users where AGE > 30 → db.users.find({age:{'&gt':30}}).count()
SELECT命令14
  • SELECT COUNT(AGE) FROM users → db.users.find({age:{'$exists':true}}).count()
SELECT命令15
  • UPDATE users SET a=1 WHERE b='q' → db.users.update({b:'q'},{$set:{a:1}},false,true)


相關文件

linux chown使用方法

相關整理
  • chgrp :改變檔案所屬群組
  • chown :改變檔案擁有者
  • chmod :改變檔案的權限, SUID, SGID, SBIT等等的特性
  • 改變檔案擁有者, chown


資料來源: 鳥哥linux私房菜