安裝MongoDB:
http://qqboxy.blogspot.com/2013/08/mongodb-nosql-server-on-windows.html
Node.js安裝Mongoose Addon:
Mongoose手冊:
http://mongoosejs.com/docs/guide.html
學習步驟:
1. 學習SQL、NoSQL的基礎概念。
2. 學習建立MongoDB資料庫。
3. 學習使用Mongoose建立一筆資料。
作業:
1. 使用Mongoose建立CRUD(Create、Read、Update、Delete)的動作。
2014年2月24日 星期一
2014年2月19日 星期三
Advanced JS Chapter 8
THREE.js:
http://threejs.org/
dat-gui:
https://code.google.com/p/dat-gui/
學習步驟:
1. 學習使用THREE.js。
作業:
1. 將THREE.js應用於Webapp。
http://threejs.org/
dat-gui:
https://code.google.com/p/dat-gui/
學習步驟:
1. 學習使用THREE.js。
作業:
1. 將THREE.js應用於Webapp。
2014年2月17日 星期一
Advanced JS Chapter 7
流暢介面寫法:
http://codeboxy.blogspot.com/2013/10/fluent-interface-with-prototype.html
學習步驟:
1. 學習使用流暢介面寫法撰寫程式碼。
作業:
1. 建立網站登入系統及APP操作介面採用流暢介面寫法撰寫。
http://codeboxy.blogspot.com/2013/10/fluent-interface-with-prototype.html
學習步驟:
1. 學習使用流暢介面寫法撰寫程式碼。
作業:
1. 建立網站登入系統及APP操作介面採用流暢介面寫法撰寫。
2014年2月13日 星期四
Advanced JS Chapter 6
Express資料夾權限控制:
http://codeboxy.blogspot.com/2013/10/folder-access-restrictions-in-nodejs.html
學習步驟:
1. 學習使用Session建立網頁權限控制。
作業:
1. 建立網站登入系統及APP操作介面。
http://codeboxy.blogspot.com/2013/10/folder-access-restrictions-in-nodejs.html
學習步驟:
1. 學習使用Session建立網頁權限控制。
作業:
1. 建立網站登入系統及APP操作介面。
2014年2月12日 星期三
Advanced JS Chapter 5
使用JavaScript在目標前後插入或包覆標籤:
http://codeboxy.blogspot.com/2011/10/javascript-insertbefore-insertafter.html
學習步驟:
1. 學習虛擬物件的概念。
2. 虛擬物件的應用。
作業:
1. 使用虛擬物件完善網站。
http://codeboxy.blogspot.com/2011/10/javascript-insertbefore-insertafter.html
學習步驟:
1. 學習虛擬物件的概念。
2. 虛擬物件的應用。
作業:
1. 使用虛擬物件完善網站。
Advanced JS Chapter 4
Mimetype Table
Node.js (extTypes.js):
轉址下載用法
Node.js (main.js):
學習步驟:
1. 檔案網路安全概念。
2. 學習如何將現有下載功能改成轉址方式。
作業:
1. 採用更安全的方式,利用讀檔寫檔設計一個可編輯公告內容的網站。
Node.js (extTypes.js):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | module.exports = { "3gp" : "video/3gpp" , "a" : "application/octet-stream" , "ai" : "application/postscript" , "aif" : "audio/x-aiff" , "aiff" : "audio/x-aiff" , "asc" : "application/pgp-signature" , "asf" : "video/x-ms-asf" , "asm" : "text/x-asm" , "asx" : "video/x-ms-asf" , "atom" : "application/atom+xml" , "au" : "audio/basic" , "avi" : "video/x-msvideo" , "bat" : "application/x-msdownload" , "bin" : "application/octet-stream" , "bmp" : "image/bmp" , "bz2" : "application/x-bzip2" , "c" : "text/x-c" , "cab" : "application/vnd.ms-cab-compressed" , "cc" : "text/x-c" , "chm" : "application/vnd.ms-htmlhelp" , "class" : "application/octet-stream" , "com" : "application/x-msdownload" , "conf" : "text/plain" , "cpp" : "text/x-c" , "crt" : "application/x-x509-ca-cert" , "css" : "text/css" , "csv" : "text/csv" , "cxx" : "text/x-c" , "deb" : "application/x-debian-package" , "der" : "application/x-x509-ca-cert" , "diff" : "text/x-diff" , "djv" : "image/vnd.djvu" , "djvu" : "image/vnd.djvu" , "dll" : "application/x-msdownload" , "dmg" : "application/octet-stream" , "doc" : "application/msword" , "dot" : "application/msword" , "dtd" : "application/xml-dtd" , "dvi" : "application/x-dvi" , "ear" : "application/java-archive" , "eml" : "message/rfc822" , "eps" : "application/postscript" , "exe" : "application/x-msdownload" , "f" : "text/x-fortran" , "f77" : "text/x-fortran" , "f90" : "text/x-fortran" , "flv" : "video/x-flv" , "for" : "text/x-fortran" , "gem" : "application/octet-stream" , "gemspec" : "text/x-script.ruby" , "gif" : "image/gif" , "gz" : "application/x-gzip" , "h" : "text/x-c" , "hh" : "text/x-c" , "htm" : "text/html" , "html" : "text/html" , "ico" : "image/vnd.microsoft.icon" , "ics" : "text/calendar" , "ifb" : "text/calendar" , "iso" : "application/octet-stream" , "jar" : "application/java-archive" , "java" : "text/x-java-source" , "jnlp" : "application/x-java-jnlp-file" , "jpeg" : "image/jpeg" , "jpg" : "image/jpeg" , "js" : "application/javascript" , "json" : "application/json" , "log" : "text/plain" , "m3u" : "audio/x-mpegurl" , "m4v" : "video/mp4" , "man" : "text/troff" , "mathml" : "application/mathml+xml" , "mbox" : "application/mbox" , "mdoc" : "text/troff" , "me" : "text/troff" , "mid" : "audio/midi" , "midi" : "audio/midi" , "mime" : "message/rfc822" , "mml" : "application/mathml+xml" , "mng" : "video/x-mng" , "mov" : "video/quicktime" , "mp3" : "audio/mpeg" , "mp4" : "video/mp4" , "mp4v" : "video/mp4" , "mpeg" : "video/mpeg" , "mpg" : "video/mpeg" , "ms" : "text/troff" , "msi" : "application/x-msdownload" , "odp" : "application/vnd.oasis.opendocument.presentation" , "ods" : "application/vnd.oasis.opendocument.spreadsheet" , "odt" : "application/vnd.oasis.opendocument.text" , "ogg" : "application/ogg" , "p" : "text/x-pascal" , "pas" : "text/x-pascal" , "pbm" : "image/x-portable-bitmap" , "pdf" : "application/pdf" , "pem" : "application/x-x509-ca-cert" , "pgm" : "image/x-portable-graymap" , "pgp" : "application/pgp-encrypted" , "pkg" : "application/octet-stream" , "pl" : "text/x-script.perl" , "pm" : "text/x-script.perl-module" , "png" : "image/png" , "pnm" : "image/x-portable-anymap" , "ppm" : "image/x-portable-pixmap" , "pps" : "application/vnd.ms-powerpoint" , "ppt" : "application/vnd.ms-powerpoint" , "ps" : "application/postscript" , "psd" : "image/vnd.adobe.photoshop" , "py" : "text/x-script.python" , "qt" : "video/quicktime" , "ra" : "audio/x-pn-realaudio" , "rake" : "text/x-script.ruby" , "ram" : "audio/x-pn-realaudio" , "rar" : "application/x-rar-compressed" , "rb" : "text/x-script.ruby" , "rdf" : "application/rdf+xml" , "roff" : "text/troff" , "rpm" : "application/x-redhat-package-manager" , "rss" : "application/rss+xml" , "rtf" : "application/rtf" , "ru" : "text/x-script.ruby" , "s" : "text/x-asm" , "sgm" : "text/sgml" , "sgml" : "text/sgml" , "sh" : "application/x-sh" , "sig" : "application/pgp-signature" , "snd" : "audio/basic" , "so" : "application/octet-stream" , "svg" : "image/svg+xml" , "svgz" : "image/svg+xml" , "swf" : "application/x-shockwave-flash" , "t" : "text/troff" , "tar" : "application/x-tar" , "tbz" : "application/x-bzip-compressed-tar" , "tcl" : "application/x-tcl" , "tex" : "application/x-tex" , "texi" : "application/x-texinfo" , "texinfo" : "application/x-texinfo" , "text" : "text/plain" , "tif" : "image/tiff" , "tiff" : "image/tiff" , "torrent" : "application/x-bittorrent" , "tr" : "text/troff" , "txt" : "text/plain" , "vcf" : "text/x-vcard" , "vcs" : "text/x-vcalendar" , "vrml" : "model/vrml" , "war" : "application/java-archive" , "wav" : "audio/x-wav" , "wma" : "audio/x-ms-wma" , "wmv" : "video/x-ms-wmv" , "wmx" : "video/x-ms-wmx" , "wrl" : "model/vrml" , "wsdl" : "application/wsdl+xml" , "xbm" : "image/x-xbitmap" , "xhtml" : "application/xhtml+xml" , "xls" : "application/vnd.ms-excel" , "xml" : "application/xml" , "xpm" : "image/x-xpixmap" , "xsl" : "application/xml" , "xslt" : "application/xslt+xml" , "yaml" : "text/yaml" , "yml" : "text/yaml" , "zip" : "application/zip" }; |
轉址下載用法
Node.js (main.js):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | var express = require( "./node_modules/express" ), fs = require( "fs" ), extTypes = require( "./extTypes.js" ); var app = express(); var port = 1337; app.listen(port); app.use( '/' , express.static(__dirname + '/html/' )); app.get( "/download" , function (req, res) { var file = "./upload/20140210/ahg056fg01sa40df8sd9" ; var filename = "firefox.png" ; var mimetype = extTypes[ "png" ]; res.setHeader( 'Content-disposition' , 'attachment; filename=' + filename); res.setHeader( 'Content-type' , mimetype); var filestream = fs.createReadStream(file); filestream.pipe(res); }); console.log( "Start express server" ); |
學習步驟:
1. 檔案網路安全概念。
2. 學習如何將現有下載功能改成轉址方式。
作業:
1. 採用更安全的方式,利用讀檔寫檔設計一個可編輯公告內容的網站。
訂閱:
文章 (Atom)