Time of Update: 2017-01-18
安裝mongodb我覺得還是用mannual install靠譜一點兒:http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/啟動mongodb$ mongod串連mogodb$ mongomongo> use monk-appmongo> db.products.insert({"name":"apple juice", "description":"good"})WriteResult({
Time of Update: 2017-01-18
讀寫檔案的模式:複製代碼 代碼如下:r - 讀模數式w - 寫入模式(覆蓋現有內容) a - 附加模式(附加在現有內容之後) b - 二進位模式 r+ - 讀取更新模式(現有資料保留) w+ - 寫入更新模式(現有資料擦除) a+ - 附加更新模式(現有資料保留,只在檔案末尾附加) do --read data from file function readFile() local fileHandle =
Time of Update: 2017-01-18
一,node.js介紹 這些網上一大堆資訊,我只精簡 1,什麼是node.js從核心上說:Node.js是個事件驅動的伺服器端javascript環境,也就是說,我們可以像使用PHP,Ruby和Python語言那樣,使用javascript建立伺服器端的應用程式。對於網路以及建立與網路互動的軟體,它尤為專註。2,使用Node.js能做什麼它既可以建立對檔案系統進行操作的小段指令碼,也可以建立大規模的Web應用程式來運行整個業務。由於Node.js的獨特設計,他非常適合於多人遊
Time of Update: 2017-01-18
在此之前先介紹一個逐行讀取檔案內容NPM:https://github.com/nickewing/line-reader,需要的朋友可以看看。直接上代碼:function readLines(input, func) { var remaining = ''; input.on('data', function(data) { remaining += data; var index = remaining.indexOf('\n'); while (index >
Time of Update: 2017-01-18
使用Nodejs是如此簡單的實現了一個簡單的聊天伺服器實現代碼如下:var net = require('net'); var chatServer = net.createServer(),clientList = []; chatServer.on("connection",function(client){ client.name = client.remoteAddress + ":" + client.remotePort; client.write("Hi!
Time of Update: 2017-01-18
一、Lua 判斷是字元還是數字複製代碼 代碼如下:-- 如果待判斷的是一個變數local t = type(x);if t == "number" then -- 是數字else if t == "string" then -- 是字串end-- 如果帶判斷是一個字串,要判斷是否可以轉成數字, 則local n = tonumber(x);if n then -- n就是得到數字else -- 轉數字失敗,不是數字, 這時n ==
Time of Update: 2017-01-18
分頁類,我放在 plugin/Paginate.js複製代碼 代碼如下:/** * 分頁外掛程式類(缺少每頁的顯示數,listrows明天寫) * @param page {Number} 當前頁 * @param pagesize {Number} 每頁記錄數 * @param total {Number} 總記錄數 * @constructor */function Paginate(page, pagesize, total){&
Time of Update: 2017-01-18
有如下步驟:1.建立項目Bejs2.建立檔案package.json3.建立檔案Gruntfile.js4.命令列執行grunt任務 一、建立項目Bejs源碼放在src下,該目錄有兩個子目錄asset和js。js下放selector.js和ajax.js,這在上一篇已經講了如何合并壓縮它們。這篇只關注asset目錄,asset目錄下放了一些圖片和css檔案。一會會把兩個css資源reset.css和style.css合并,壓縮到dest/asset目錄。一個合并版本all.css,一個
Time of Update: 2017-01-18
正如我們在前言裡所說,最佳化是一個技巧性很強的工作,從程式是否需要最佳化開始,有若干個方面的內容需要考量。如果程式真的有效能問題,那麼我們應該將精力集中於最佳化哪裡和如何最佳化。我們在這裡討論的技巧既不是唯一的,也不是最重要的方面。我們在這裡專註於討論專門針對Lua的最佳化方式,因為有很多其他的方式可以瞭解通用的程式最佳化技巧。在本文結束之前,我還想介紹兩種從更大的尺度上最佳化Lua程式效能的方式,但是它們都牽涉到Lua代碼之外的修改。第一個是使用LuaJIT[1],一個Lua的即時編譯器,由M
Time of Update: 2017-01-18
這是一個令人興奮的小結,因為在這個小結中你終於能夠看到你的第一個Demo的運行效果。1.使用Egret工具運行遊戲運行Egret項目,我們需要一個已啟動並執行HTTP伺服器。在前面安裝Egret的教程中,我們已經為大家推薦了一款HTTP伺服器。現在我們來看一下如何使用我們egret提供的最簡單的HTTP伺服器來運行我們的項目。和前面的教程一樣,我們首相在終端中定位我們的項目,使用cd命令。然後我們執行一個簡單的命令來啟動Egret的HTTP伺服器,命令如下:egret startserver
Time of Update: 2017-01-18
一、LUA擷取utf8字串長度複製代碼 代碼如下:--- 擷取utf8編碼字串正確長度的方法-- @param str-- @return numberfunction utfstrlen(str)local len = #str;local left = len;local cnt = 0;local arr={0,0xc0,0xe0,0xf0,0xf8,0xfc};while left ~= 0 dolocal tmp=string.byte(str,-left);local i=#arr;
Time of Update: 2017-01-18
lua裡的檔案讀寫模型來自C語言,分為完整模型(和C一樣)、簡單模型。1、簡單模型io.input([file]) 設定預設的輸入檔案,file為檔案名稱(此時會以文本讀入)或檔案控制代碼(可以理解為把柄,有了把柄就可以找到檔案),返迴文件控制代碼。io.output([file]) 設定預設的輸出檔案,參數意義同上。io.close([file]) 關閉檔案,不帶參數關閉預設的檔案io.read(formats) 讀入預設檔案,formats取值為"*a"(讀入全部)、
Time of Update: 2017-01-18
Node.js 受益於它的事件驅動和非同步特徵,已經很快了。但是,在現代網路中只是快是不行的。如果你打算用 Node.js 開發你的下一個Web 應用程式的話,那麼你就應該無所不用其極,讓你的應用更快,異常的快。本文將介紹 10 條,經過檢驗得知可大大提高 Node 應用的技巧。廢話不多說,讓我們逐條來看看。1. 並行建立 Web 應用程式的時候,你可能要多次調用內部 API 來擷取各種資料。比如說,假設在 Dashboard 頁面上,你要執行下面這幾個調用:使用者資訊
Time of Update: 2017-01-18
Node.js在利用JavaScript編寫後端方面效果拔群,值得我們多加嘗試。不過如果大家需要一些無法直接使用的功能甚至是根本無從實現的模組使用,那麼能否從C/C++庫當中引入此類成果呢?答案是肯定的,大家要做的就是編寫一款外掛程式,並藉此在自己的JavaScript代碼中使用其它程式碼程式庫的資源。下面我們就一同開始今天的探詢之旅。介紹正如Node.js在官方說明文檔中所言,外掛程式是以動態方式進行連結的共用式對象,能夠將JavaScript代碼與C/C++庫接駁起來。這意味著我們可以引用任
Time of Update: 2017-01-18
Hapi.js 是一個用來構建基於 Node.js 的應用和服務的富架構,使得開發人員把重點放在便攜可重用的應用邏輯而不是構建架構。內建輸入驗證、緩衝、認證和其他 Web 應用程式開發常用的功能。範例程式碼:var Hapi = require('hapi');// Create a server with a host and portvar server = new Hapi.Server('localhost', 8000);// Add the routeserver.route({
Time of Update: 2017-01-18
table的大小是動態變化的。看如下代碼:複製代碼 代碼如下:tb = {1,2,3} --數組大小4,hash表大小1(不管hash表有沒有存資料,它的大小最小為1) tb[5] = 5 tb[100] = 100 --數組大小4,hash表大小2 因為後插入的兩個數的key過於離散,所以它們被儲存到hash表中。最終tb的大小為4+2=6。這時我們對table進行刪除操作:複製代碼 代碼如下:tb[1] = nil tb[2] =
Time of Update: 2017-01-18
複製代碼 代碼如下:a = 'aadsdf\"' print(string.format("%q",a)) %d十進位整數%o八進位整數%x十六進位整數,大寫的話為 %X%f浮點型 格式 [-]nnnn.nnnn%e科學標記法 格式 [-]n.nnnn e [+|-]nnn, 大寫的話為 %E%gfloating-point as %e if exp. < -4 or >= precision, else as %f ; uppercase if %G
Time of Update: 2017-01-18
複製代碼 代碼如下:--example: local temp_table ={ 10, 1, Index1 = "hello", Index2 = "world", Index3 = "lua", &
Time of Update: 2017-01-18
setmetatable (table, metatable)Lua 中的每個值都可以用一個 metatable。 這個 metatable 就是一個原始的 Lua table , 它用來定義原始值在特定操作下的行為。 你可以通過在 metatable 中的特定域設一些值來改變擁有這個 metatable 的值 的指定操作之行為。 舉例來說,當一個非數位值作加法操作的時候, Lua 會檢查它的 metatable 中 "__add" 域中的是否有一個函數。 如果有這麼一個函數的話,Lua
Time of Update: 2017-01-18
以前項目裡有這個方法,最近在客戶那裡出問題了,同事說,這個方法從來就沒管用過,SO,用了一天時間把這個方法給搞出來了(覺得花費的時間長了點),分享之。代碼及測試案例:var http = require('http');var path = require('path');var fs = require('fs');function postFile(fileKeyValue, req) { var boundaryKey = Math.random().toString(16);