1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu node js và xây dựng trang web đọc nguồn tin

146 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 146
Dung lượng 16,93 MB

Nội dung

", DO GIAO DUC vA BAo TAO TRUONG BAI HOC NGOAI NGU - TIN HOC TP.HCM KHOA CONG NGH~ THONG TIN , - ~ - KHOA LUAN TOT NGHIEP • • TIM HIEU NODE.JS vA xA Y DuNG • TRANG WEB DOC NGUON TIN • Giang vien htrOng din: ThS Nguy~n PhtrO'e B,i Sinh vien th'1c hi~n: Binh Kim Quac Khai - MSSV: 09DHII031 Ngo Van Kim Khanh - MSSV: 09DHII025 TP HO cHi MINH - 2013 L01 CAM ON Lai cam on d~u tien, chung toi xin phep dugc gui dSn quy th~y co khoa Cong Ngh~ Thong Tin, cling nhu cac th~y co cua truang B;;ti hQc Ngo;;ti NguTin HQc da: truy~n d;;tt rftt nhi~u kiSn thuc va ky nang huu feh su6t qua trinh hQc ~p, ren luy~n t;;titruang D?c bi~t, v6'i long kinh trQng va biSt on sau s~c, chung toi cling xin gui dSn nguai th~y cua chung toi - Th~y Th~y Nguyen Phuac D;;ti lai cam on chan nht86 thu~t ngfr 8U d\lng lu~n van 147 Tai li~u tham khao 150 DANH sAcH cAc BANG BlED vA HINH vi Hinh 1-1 L~p trinh vien Ryan Lienhart DahL 15 Hinh 1-2 s6 luqng website, server trien khai c6ng ngh~ Node.js (Ngu6n: W3Techs.com) 18 Hinh 1-3 Vi tri Clla Node,js so v6i cac nen tang Server khac (Ngu6n: W3Techs.com) 18 Hinh 1-4 Bieu d6 the hi~n s6 l~n Commit tren Github CllaNode.js 19 Hinh 1-5 Brendan Eich, nguai sang t~o nen Javascript 20 Hinh 1-6 Bieu tuqng Google Chrome va Javascript V8 Engine 21 Hinh 1-7 Node.js dva tren V8 Javascript Engine 23 Hinh 1-8 Giao di~n Node.js version 0.8.18 tren Ubuntu 27 Hinh 1-9 Cua s6 "Create a New Workspace" CllaC9.io 29 Hinh 1-10 Giao di~n lam vi~c clla C9.io 30 Hinh 1-11 Ph~n mem WebStorm IDE 30 Hinh 1-12 Blocking I/O 35 Hinh 1-13 Non-blocking I/O 35 Hinh 1-14 M6 hinh MVC 71 Hinh 2-1 Binh Ii CAP 82 Hinh 2-2 Bieu tuqng MongoDB 86 Hinh 3-1 Bieu tuqng RSS tren cac trang co ngu6n tin 95 Hinh 3-2 Nt s6 ket qua sau : Tim hi~u dugc cong ngh~ Node.js, m(>t cong ngh~ phat tri~n ung dVng web b~ng ngon ngfr Javascript va ch/;ly tren V8 Engine cua Google v6n dang dugc phat tri~n r~t m/;lnh va co kha nang Slr dVng r(>ng riii hi~n nay, nAm dugc cach thuc hO/;ltd(>ng, cac d~c di~m ki thu?t va kha nang cua cong ngh~ Node.js Them vao do, qua trinh nghien CUuva tim hi~u v~ Nbde.js, nhom thlJc hi~n cung nAm dugc m(>t s6 cong ngh~, ky thu?t khac lien quan m?t thiet den Javascript va Node.js nhu cO' dfr li~u MongoDB, xay dlJng phfin m~m cho Android b~ng PhoneGap sa B6 sung kinh nghi~m lam vi~c v6'i di~n toan dam may, m(>t d~ tai dang dugc d~ C?P thuOng xuyen va se dfin ph6 bien linh VlJCcong ngh~ thong tin hi~n rna di~n hinh Ia OpenShift, nha biet them dugc v~ c~u truc, cach thuc hO/;ltd(>ng, tri~n khai va tri hO/;ltd(>ng cua m(>t ung dVng web tren di~n toan dam may D~ minh hQa cho vi~c Slr dVng cong ngh~ Node.js, nhom thlJc hi~n dii xay d1Jllg dugc m(>t ung dVng thlJc hi~n vi~c dQc, C?P nh?t, chi a se ngu6n tin tr1Jc tuyen m(>t cach dan gian va nhanh chong, khong chi tren may tinh rna ca thiet bi di d(>ng Qua do, nAm dugc vi~c xay dlJng ung dVng hoan chinh, Slr dVng hoan toan dlJa tren HTML5, CSS3, va Javascript d6ng thai v?n dVng cac kien thuc lien quan den XML, m(>t dinh d/;lng ph6 bien luu trfr, chia se dfr li~u a 5.2/ H~n ch~ M~c dli dii c6 gAng nhung d~ tfli vfin m(>t 56 di~m h/;ln che vi~c tim hi~u cong ngh~ m6'i g~p phai nhi~u kho khan v~ m~t tai li~u va thai gian Vi _I _ 144 ChU011g 5/ T6ng kit v~y, frng dVng cua nhom chi mang tinh minh hQa vi~c sir dVng cong ngh~, k~t hqp kha nang cua cac cong ngh~ v&i m(>t cach d6ng b(> nh~m ~o m(>t ung dVng t6t v&i thai gian rut ng~n so v&i truy~n th6ng M(>t s6 chuc nang vftn chua xay dlJl1gdugc: - Lien k~t, chia se tin mc len cac trang m':lng xa h(>i - Xac thlJc email nguai dung dang ky sir dVng dich - Phan 10':licac tin mc theo muc d(>quan tam - Quan Iy theo nhom cac ngu6n tin V\l 5.3/ HtrO'ng phat tri~n Phat tri€n, b6 sung cac tinh nang giup vi~c truy c~p~ dQc va quan Iy hi~u qua hon, nhftt la nguai dung dang ky s61ugng l&n cac ngu6n tin Tri€n khai rna r(>ng sir dVng Node.js, giup Node.js t~n dVng t6i da kha nang v~ tai nguyen s6 lugng nguai dung tang d(>tbi~n nhu cac trang co s6 lugng truy c~p l&n rna di€n hinh la cac trang m':lng xa h(>i,nh~m dam bao chftt lugng dich V\l, tranh thftt thoM cho nha phat tri€n va lam hai long nguai sir dVng Tim hi€u cac phuong thuc giup b6 sung may chu, giam thi€u kha nang phai khai d(>ng l':li application, dam bao thai gian hO':ltd(>ng khong ng~t quang, ky thu~t can b~ng tai 145 PHVLVC PHV LVC A: Thiet lip oi tnri'mg eho PhoneGap B I: T,o moi tnrimg lw> trlnh teen thiet bi di dQng, ching b~: android Sau tili thu vi~n Phonegap ~ duimg d&t: https:lls3.amazonaws.com/phonegap.download/phonegap-2 IDE cho 7.0 zip v€ may tfnh r6i gjili nen B2: T~ project moo cho Android, nen chQn phien ban Ice Cream Sandwich 4.0 tra len dS duqc bB trq nhi€u tien fcb B3: Tit duemg dfut thu m\lC g6c Clla project, ~ assetslwww hai thu m\lC moo la /libs va B4: Chep file cae file va thu m\lc sau vao duemg dan phil hqp: File cordova-2.0.0.js tit thu m\lC Phonegap da tili vao assets/www File cordova-2.0.0Jar tit thu m\lc Phonegap da tili vao /libs Thu m\lC xml tit thu m\lC Phonegap da tili vao Ires B5: Nhan chuQt phili vao thu m\lC /libs, chQDBuild Paths! > Configure Build Path Trong the Libraries them cordova-2.0.0.jar vao project B6: Trong file rna ngu6n a thu m\lC src: Them tha vi~ bing each gQi import org.apache.cordova *; f>i.i extends Clla lap til A(ftivity DroidGap Thay the dong setContentViewO super.loadUrI("file:1 I/android _assetlwww/index.html"); B7: Vao file AndroidManifest.xml va sdk /> va Dbu sao: 147 y : NQi dung file co th~ thay d6i my theo nhu cAu Clla application cAn t~o D~ don gian IAnt~o ban dAu, co th~ su d\mg nQi dung file c~u hinh LUll nhu tren B8: Them thuQc tinh vao tag activity: android: configChanges=" orientationlkeyboardHiddenlkeyboardlscreenS izellocale" B9: T~o cac file cAn thi~t Clla mQt trang web nhu file index.html Cac file cAn d~t thu mvc assets/www Sau do, build (eng dVng IAndAu tien, phAn m~m gia l~p Clla Android se duqc ch~y va nQi dung trang web se duqc t~o mQt application hoan chinh Sau th\Jc hi~n cac buac tren, ta co th~ b~t dAu vi~t cac trang web theo chu~n HTML5 va CSS3, cac thu mvc khac d~u phai d~t vao thu mvc g6c assets/www, qua trinh l~i se PhoneGap tv' dong goi cac t~p tin cai d~t cho tUng n~n tang PHl) Ll)C B: Ml}t sa thu~t ngfr Stl dl}.ng lu~n van IDE (Integrated Development Environment) : moi truemg phat tri~n giup l~p trinh vien vi~t, thvc thi, sua 16i code nhanh va thu~n ti~n Framework: n~n tang, quy uac va cac thu vi~n chung rna cac (eng dVng khac se phat tri~n, b6 sung tren Event-driven: ly cac S\J Non-blocking: l~p trinh theo huang S\J ki~n, bao g6m khai bao va xu ki~n xay cach l~p trinh d~ vi~c thvc thi code se khong phai gian do~n hay cha k~t qua tu qua trinh truac 148 Scalable: cho phep rna rQng nha b6 sung them cac tai nguyen, may chu Sharding: qua trinh phan tan du li~u ca sa du li~u Replication: qua trinh d~ dam bao ca sa du li~u giua nai duqc d6ng bQ gi6ng API: vith t~t cua Application Programming Interface (giao di~n l~p trinh ung dVng), la giao ti~p ph~n mSm duqc cung c~p va su dvng bai cac ung dVng khac IRC (Internet Relay Chat): mQt d~ng lien l~c c~p t6c qua m~ng Internet, duqc thi~t k~ v&i mvc dich chinh la cho phep cac nhom nguai mQt phong thao lu~n (channel) lien l~c v&i Tuy nhien, IRC cling cho phep hai nguai dung lien l~c rieng n~u hQ thfeh Inheritance: thira huang cac thuQc tinh va hanh vi cua cac lap ngu6n g6c AJAX (Asynchronous JavaScript and XML): mQt nhom cac c6ng ngh~ phcit tri~n web duqc su dVng d~ t~o cac ung dVng web dQng Garbage collection (GC): mQt qua trinh ch~y ng~m d~ giai phong vling nh& duqc c~p phcit cho cac d6i tuqng rna ung dVng kh6ng su dVng cac d6i tuqng nua Process: mQt thl!c th~ diSu khi~n do~n rna l~nh co rieng mQt kh6ng gian dja chi, co ngan x~p (stack) rieng re, co bang chua cac s6 mieu ta file (file descriptor) duqc rna cung ti~n trinh va d~c bi~t la co mQt djnh danh PID (process identifier) nh~t toan bQ h~ th6ng van thai di~m ti~n trinh dang ch~y Socket: mQt c6ng logic rna mQt chuang trinh su dVng d~ k~t n6i v&i mQt chuang trinh khac ch~y tren mQt may tinh khac tren Internet Regular Expression (RegExp): mQt chu6i mieu ta mQt bQ cac chu6i khac, theo nhfrng quy t~c Cll phap nh~t djnh Bi~u thuc chinh quy thuang duqc dung cac trinh bien t~p van ban va cac ti~n feh tim ki~m va xu 19 van ban dl!a tren cac m~u duqc quy djnh 149 URL (Uniform Resource Locator) duqc dung d~ tharn chi~u t6i tai nguyen tren Internet URL mang l~i kha nang sieu lien k~t cho cae trang m~ng WebSocket: rnQtchu~n cho phep cae kenh giao ti~p song soOnghai chi~u, hi~n dii duqc h6 trq nhi~u trinh duy~t (Firefox, Google Chrome va Safari) K~t n6i duqc rna thong qua rnQtHTTP request (yeu c~u HTTP), duqc g9i la lien k~t WebSockets v6i nhfrng header d~c bi~t K~t n6i duqc tri d~ b~n co th~ vi~t va nh~n dii li~u bAng JavaScript nhu b~n dang su d1,1ngrnQt TCP socket don thu~n XSLT: Ngon ngii djnh ki~u rna rQng chuy~n d6i (Extensible Stylesheet Language Transformations - XSLT) cung c~p each chuy~n d6i dii li~u XML ill d~ng sang d~ng khac rnQtcae tlJ dQng 150 T i Ii~u a khio [1] Tom Hughes-Croucher, Mike W'tlson, Node: Up and Running: Scalable Server-Side Code with JavaScript, O'Reilly, 2012 [2] Manuel Kiessling, The Node Beginner Book, leanpub, 2012 [3] Shelley Powers, Learning Node, O'Reilly, 2012 [4] Kristina Chodorow, MongoDB: The Definitive Guide, 2013 [5] Brett McLaughlin, What Is Node?, O'Reilly, 2011 [6] Mike Wilson, Building Node Applications with MongoDB and Backbone, 2012 [7] Eric D Schabell, OpenShift Primer, 2013 [8] Michael McGrath, Understanding PaaS, 2012 [9] Kris Jamsa, Cloud Computing, 2011 [10] http://www.ibm.com!developerworks/cloud/library/cl-nodejscloud/ [11] http://www.ibm.com!developerworks/web/library/jnodejs/index.html?ca=drs[12] http://blog.mixu.net/20 11/02/02/essential-node-js-pattems-and-snippets/ [13] http://horicky.blogspot.com/20 12/04/mongodb-architecture.html [14] http://docs.mongodb.org/manuaVreference/sgl-comparison/ [15] http://www.techrepublic.com/blog/l know-about-nosgl-databases/ O-things/l O-things-you-should- [16] http://bi-bigdata.com/20 12/12/25/nosql-categories-breakdown/ [17] http://horicky.blogspot.com/2009/1l/nosql-pattems.html [18] http://ksat.me/a-plain-english-introduction-to-cap-theorem/ [19] http://www.infog.com/articles/cap-twelve-years-Iater-how-the-ruleshave-changed

Ngày đăng: 01/09/2023, 21:57

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w