Góp ý phát triển Forum

Plugin upload hình của forum nodejs.vn là gi vậy mọi người ơi

read more
Cho em hỏi tạo chat bằng websocket user-user

@nganguyen anh có thể cho em 1 cái ví dụ được không ạ , em không hiểu lắm , với lại nó có chạy được trên php không ạ . em thay bằng đuôi php thì khi chạy nó cứ tải cái tệp tên là (tải xuống)

read more
Send mail with mongolia language is not working

Hi all member of nodejs forum! I send mail with mongolia language is not working, please help me resolve this problem.

I send mail with mongolia language is not working. I don't receive email though reponse is OK.

send mail input:
{
"from" : "nguyenquynhan18@gmail.com",
"to": ["nguyenquynhan18@gmail.com"],
"subject": "Refer from your friend - nguyenquynhan18@gmail.com",
"text": "Simple email test",
"html": "Credit App танилцуулж байна\n\t\t\t\t\n\t\t\t\t\tCredit App таны хүрээний хүмүүсийн зорилго хэрэгцээнд тусгайлан зориулан хийсэн. Таны ойр орчмын дэлгүүрийн тусгай урамшуулал, хүргэлтийн үйлчилгээ, үйл явдлын мэдээлэл, холбоо харилцаа болон бусад зүйлсийг танд санал болгож байна"
}

send mail reponse:
{
accepted: [ 'nguyenquynhan18@gmail.com' ],
rejected: [],
response: '250 OK id=1YEvY9-00065e-Ix',
envelope:
{
from: 'noreply-deliva@nrh-group.com',
to: [ 'nguyenquynhan18@gmail.com' ]
},
messageId: '1422086068814-e00ef409-bfb162fb-8f90664d@nrh-group.com'
}

but I change body as below that OK, always receive email.
{
"from" : "nguyenquynhan18@gmail.com",
"to": ["nguyenquynhan18@gmail.com"],
"subject": "Refer from your friend - nguyenquynhan18@gmail.com",
"text": "Simple email test",
"html": "Credit App танилцуулж байна"
}

I use nodemailer 1.3.0, run on linux. Please help me resolve this problem.
Thanks you for yuor help.

read more
Error MSB3428 - Lỗi khi cài đặt npm install socket.io trên Win7

MSBUILD : error MSB3428: Could not load the Visual C++ component "VCBuild.exe".
To fix this, 1) install the .NET Framework 2.0 SDK, 2) install Microsoft Visua
l Studio 2005 or 3) add the location of the component to the system path if it
is installed elsewhere. [C:\Users\vietnv\node_modules\socket.io\node_modules\e
ngine.io\node_modules\ws\build\binding.sln]
MSBUILD : error MSB3428: Could not load the Visual C++ component "VCBuild.exe".
To fix this, 1) install the .NET Framework 2.0 SDK, 2) install Microsoft Visua
l Studio 2005 or 3) add the location of the component to the system path if it
is installed elsewhere. [C:\Users\vietnv\node_modules\socket.io\node_modules\e
ngine.io\node_modules\ws\build\binding.sln]

Nhờ chỉ giúp - cảm ơn

read more
Sắp xếp và lọc một bảng sử dụng Angular

sort-and-filter-angular-tables.jpg

Sort and Filter một bảng sử dụng Angular

Xin chào các bạn,
Cũng lâu rồi mới có bài viết mới về Angular, hi vọng các bạn vẫn chưa lãng quên nó. Để không làm mất thời gian của các bạn, tôi sẽ bắt đầu vào bài luôn.

Khi chúng ta xây dựng một ứng dụng với Angular, một trong những directive mà chúng ta sẽ sử dụng là ng-repeat. Hiển thị dữ liệu là một cái gì đó mà chúng ta sẽ làm giống như khi chúng ta muốn hiển thị một bảng users hay bất cứ dữ liệu nào khác mà chúng ta cần hiển thị.

Ngày hôm nay, chúng ta sẽ tìm hiểu về cách sắp xếp (sort) và lọc(filter) dữ liệu trong một bảng.
Đây là một tính năng phổ biến mà luôn luôn hữu ích cho các ứng dụng của chúng ta. Dưới đây là một demo nhanh:

Sample Application

Ứng dụng của chúng ta sẽ cho phép:

Hiển thị dữ liệu của một bảng (sử dụng ng-repeat) Sắp xếp theo chiều tăng dần hoặc giảm dần (orderBy) Lọc bằng việc tìm kiếm một trường (filter)

Chúng ta có 3 chức năng phổ biến trong bất kì ứng dụng nào và Angular cho phép chúng ta thực hiện những chức năng đó vô cùng đơn giản. Hãy thiết lập những tệp tin HTML mẫu, những thành phần của Angular và sau đó, chúng ta có thể thực hiện sắp xếp (sort) và lọc (filter).

Setting Up

Chúng ta sẽ sử dụng BootstrapFont Awesome để style cho ứng dụng của mình. Chúng ta sẽ chỉ cần một module đơn giản với một controller nơi mà chúng ta sẽ định nghĩa một vài biến và một danh sách các dữ liệu mà chúng ta sẽ show cho người dùng. Những file mà chúng ta cần sẽ là:

index.html app.js

Demo của chúng tôi được sử dụng trên CodePen, bạn có thể tạo ra 2 file trên (index.html và app.js) và chỉ làm việc bên trong CodePen của bạn. Đây là đoạn mã cho file app.js:

app.js

angular.module('sortApp', []) .controller('mainController', function($scope) { $scope.sortType = 'name'; // set the default sort type $scope.sortReverse = false; // set the default sort order $scope.searchFish = ''; // set the default search/filter term // create the list of sushi rolls $scope.sushi = [ { name: 'Cali Roll', fish: 'Crab', tastiness: 2 }, { name: 'Philly', fish: 'Tuna', tastiness: 4 }, { name: 'Tiger', fish: 'Eel', tastiness: 7 }, { name: 'Rainbow', fish: 'Variety', tastiness: 6 } ]; });

Chúng ta sẽ thiết lập 3 biến và một danh sách. Bây giờ chúng ta sẽ sử dụng module này trong HTML của chúng ta. Đây là nội dung file HTML mà chúng ta sẽ cần:

index.html

<!-- index.html --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Angular Sort and Filter</title> <!-- CSS --> <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootswatch/3.2.0/sandstone/bootstrap.min.css"> <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css"> <style> body { padding-top:50px; } </style> <!-- JS --> <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <script src="app.js"></script> </head> <body> <div class="container" ng-app="sortApp" ng-controller="mainController"> <div class="alert alert-info"> <p>Sort Type: {{ sortType }}</p> <p>Sort Reverse: {{ sortReverse }}</p> <p>Search Query: {{ searchFish }}</p> </div> <table class="table table-bordered table-striped"> <thead> <tr> <td> Sushi Roll </td> <td> Fish Type </td> <td> Taste Level </td> </tr> </thead> <tbody> <tr ng-repeat="roll in sushi"> <td>{{ roll.name }}</td> <td>{{ roll.fish }}</td> <td>{{ roll.tastiness }}</td> </tr> </tbody> </table> </div> </body> </html>

Chúng ta sẽ load Bootstrap, Font Awesome và Angular. Chúng ta cũng sẽ áp dụng module tên là sortApp và một Angular controller là mainController trong thẻ <body>. Chúng ta cũng sử dụng vòng lặp ngRepeat để lặp thông qua mảng sushi mà chúng ta đã khởi tạo trong Angular module. Ứng dụng của chúng ta đến giờ sẽ trông như sau:

angular-sort-table.jpg

Tuyệt. Chúng ta đã có một danh sách các dữ liệu được hiển thị một cho người dùng. Bây giờ chúng ta sẽ thực hiện một số chức năng với bảng dữ liệu trên.

Sắp xếp dữ liệu của bảng

Chúng ta sẽ thực hiện việc sắp xếp bằng việc sử dụng 2 biến mà chúng ta đã khai báo trước đó ($scope.sortType and $scope.sortReverse). Chúng ta cũng sử dụng tính năng orderBy của Angular filter. Về cơ bản, chúng ta sẽ áp dụng một sự kết hợp giữa các biến sortType và sortReverse với mệnh đề (clause) orderBy trong directive ng-repeat của chúng ta. Đây là dòng mà chúng ta sẽ có trong file index.html:

<!-- index.html --> ... <tr ng-repeat="roll in sushi | orderBy:sortType:sortReverse"> ...

Đó là tất cả những gì mà chúng ta cần để thay đổi thứ tự trong ng-repeat của chúng ta. Nếu bạn refresh lại trang, bạn sẽ nhìn thấy danh sách của mình được sắp xếp theo name (do chúng ta gán mặc định sortType=”name” trong file app.js).

Để thay đổi thứ tự sắp xếp mặc định, hãy vào module Anguler (trong file app.js của chúng ta) và thay đổi nội dung biến sortType thành $scope.sortType = 'fish' và refresh lại trang. Bạn sẽ nhìn thấy các dữ liệu trong bảng được sắp xếp theo Fish Type. Trong bước tiếp theo, chúng ta sẽ thay đổi tiêu đề (heading) của bảng sao cho chúng sẽ thay đổi biến sortType (khi click vào tiêu đề). Điều này sẽ tự động sắp xếp lại dữ liệu trong bảng của chúng ta mà không cần phải refresh lại trang.

Tạo khả năng click vào tiêu đề của bảng.

Chúng ta sẽ thêm một liên kết vào tiêu đề bảng của chúng ta. Hãy nhìn vào phần thead trong trang của chúng ta và sử dụng ng-click để điều chỉnh biến sortType. Đây là nội dụng phần thead đã được cập nhật bên trong file index.html của chúng ta:

index.html

... <thead> <tr> <td> <a href="#" ng-click="sortType = 'name'"> Sushi Roll <span ng-show="sortType == 'name'" class="fa fa-caret-down"></span> </a> </td> <td> <a href="#" ng-click="sortType = 'fish'"> <span ng-show="sortType == 'fish'" class="fa fa-caret-down"></span> Fish Type </a> </td> <td> <a href="#" ng-click="sortType = 'tastiness'"> <span ng-show="sortType == 'tastiness'" class="fa fa-caret-down"></span> Taste Level </a> </td> </tr> </thead> ...

Bây giờ chúng ta có thể click thông qua tiêu đề của bảng, bạn sẽ nhìn thấy dữ liệu trong bảng được sắp xếp lại khi chúng ta bắt đầu click.

angular-sort-first-sort.jpg

Sắp xếp theo thứ tự (Tăng hoặc giảm dần)

Tiếp theo, chúng ta sẽ thêm cách để thay đổi thứ tự khi sắp xếp để có thể sắp xếp tăng dần hoặc giảm dần. Bộ lọc orderBy có một tham số thứ 3 cho việc reverse. Chúng ta chỉ cần pass qua tham số này là true hoặc false để thay đổi thứ tự sắp xếp.

Hiện tại chúng ta đã thiết lập nó là false, đã được định nghĩa với biến $scope.sortReverse. Cách mà chúng ta sẽ mang tùy chọn cho người dùng để đảo chiều sắp xếp là thêm `sortReverse = !sortReverse vào sự kiện ng-click trong tiêu đề của bảng. Điều này sẽ thay đổi chiều sắp xếp khi người dùng click vào link trong tiêu đề của bảng. Đây là ví dụ:

... <a href="#" ng-click="sortType = 'name'; sortReverse = !sortReverse"> ...

Tiếp theo, để minh họa cho việc tương tác UX ( trải nghiệm người dùng) tốt hơn, chúng ta sẽ thêm những carets (biểu tưởng hình mũi tên) để hiển thị lên và xuống đại diện cho việc sắp xếp của chúng ta hiện tại. Chúng ta sẽ thêm caret up và down ở đây và sử dụng ng-show và ng-hide để ẩn và hiện những caret dựa trên thứ tự sắp xếp hiện tại. Cụ thể được minh họa trong đoạn mã sau:

... <td> <a href="#" ng-click="sortType = 'name'; sortReverse = !sortReverse"> Sushi Roll <span ng-show="sortType == 'name' && !sortReverse" class="fa fa-caret-down"></span> <span ng-show="sortType == 'name' && sortReverse" class="fa fa-caret-up"></span> </a> </td> ...

Bây giờ, mũi tên lên (caret up) sẽ chỉ hiện thị ra khi biến sortType là name và biến sortReverse được thiết lập là true. Phần cuối cùng của tutorial này sẽ đối phó với việc lọc các dữ liệu trong bảng.

Lọc dữ liệu trong bảng

Lọc dữ liệu trong một vòng lặp ng-repeat là khá dễ dàng. Chúng ta chỉ cần làm 2 điều ở đây: Tạo một form và ** áp dụng các biến trong form để lặp**. Đầu tiên, hãy cùng tạo một form:

<form> <div class="form-group"> <div class="input-group"> <div class="input-group-addon"><i class="fa fa-search"></i></div> <input type="text" class="form-control" placeholder="Search da Fish" ng-model="searchFish"> </div> </div> </form>

Có rất nhiều các class của bootstrap ở đây, nhưng dòng chính chúng ta cần tập trung vào là input. Đây là nơi mà chúng ta sử dụng ng-model của mình để điều chỉnh biến searchFish. Bây giờ, chúng ta gõ vào bên trong input box, bạn sẽ nhìn thấy biến đó thay đổi ở box bên trên.

angular-sort-ng-model.jpg

Với biến ràng buộc và đã sẵn sàng, chúng ta sẽ áp dụng nó cho ng-repeat của mình. Đây là đoạn mã mà chúng ta sẽ sử dụng:

<!-- index.html --> ... <tr ng-repeat="roll in sushi | orderBy:sortType:sortReverse | filter:searchFish"> ...

Chỉ cần như vậy, bộ lọc bây giờ sẽ được áp dụng cho bảng dữ liệu của chúng ta. Hãy gõ vào thử vào filter box của bạn và xem sự thay đổi dữ liệu trong bảng.

Kết luận

Việc sử dụng một số công cụ xây dựng sẵn của Angular như ngRepeat, orderBy, filter, ngClick và ngShow, chúng ta đã có thể xây dựng một bảng dữ liệu nhanh và rõ ràng. Các bạn có thể tìm thêm trong thư mục Angular để hiểu thêm về sức mạnh của Angular.

Link gốc tiếng anh: http://goo.gl/yvYybb

read more
[Ho Chi Minh] Senior full-stack Web Engineer / Technical Lead

Job Description
Boomerang (http://boomerang-vn.com/) is the leading Social Monitoring platform in Vietnam.
We serve major brands including P&G, Unilever, Uber, Samsung..
Our platform processes millions or data records everyday, and big-data is in our heart.

We’re looking for a Senior full-stack Web Engineer and/or Technical Lead to help us innovate our system and expand to the Regional market, as well as building next-generation Social data based products.
You will be the core engineer of the new system and potentially become technical lead if you could demonstrate strong leadership skills.

Job Requirement
At least 2 years working with web development, both backend and frontend
Strong OOP and design patterns knowledge
Deep understanding of 3-tier web architecture
Adequate knowledge of networking (OSI, TCP/IP, HTTP, DNS, CDN, ..), OS (preferably Linux), database (preferably MongoDB and/or MySQL), distributed systems, parallel processing, web performance
Familiar with fulltext search systems, either Lucene or Solr or ElasticSearch
Understanding of different caching mechanism, from browser cache to server cache and distributed cache
Familiar with at least one frontend framework such as Backbone, Bootstrap, AngularJS, ReactJS
Ability to design web system that is robust, scalable and extendable.
Strong database design skill; knowledge of NoSQL, Big Data processing is a plus.
Preferred if having prior experience with NodeJS, Facebook API, Twitter API, Google+ API, YouTube API, Instagram API

Contact
Email: recruit@boomerang-vn.com

read more
Giới thiệu về MongoDB

introduction-to-mongodb.png

Giới thiệu về MongoDB

MongoDB đã tuyên bố rằng bản thân nó là dẫn đầu trong các hệ cơ sở dữ liệu không quan hệ (NoSQL) dựa trên số liệu thống kê của họ và khó có thể lập luận rằng mongodb là không phổ biến.

MongoDB đã được sử dụng trong MEAN stack. Lợi ích của việc sử dụng một cơ sở dữ liệu hướng document như MongoDB có nghĩa rằng bạn có thể làm việc với các tài liệu JSON-style trong toàn bộ quá trình phát triển.

Bạn có thể làm việc với JSON ở phía clientside (Angular), phía backend (node.js) và cơ sở dữ liệu (MongoDB).

Để tìm hiểu thêm về lợi ích của MongoDB, hãy đến trang web chính thức của nó. Chúng ta hãy cùng cài đặt và có những trải nghiệm nhanh chóng với MongoDB trong bài hướng dẫn hôm nay nhé.

Cài đặt và chạy MongoDB

Hãy bắt đầu với MongoDB bằng việc cài đặt nó trên máy tính của bạn thông qua một số bước đơn giản sau:

1. Chạy cài đặt MongoDB. 2. Tạo một thư mục vật lý cho việc lưu trữ dữ liệu.

Chỉ cần như vậy, các bạn có thể sử dụng MongoDB trên máy của mình.

Tôi sử dụng linux nên trong bài này tôi sẽ hướng dẫn việc cài đặt trên linux (cụ thể là ubuntu), không phải thiên vị linux hơn mà đơn giản nó khó cài đặt nhất (tôi nghĩ vậy). Ngoài ra các bạn có thể tìm kiếm hướng dẫn cài đặt trên Mac hay Windows.

Trên Ubuntu, MongoDB cung cấp những packages chính thức được xây dựng sẵn trong repo của nó. Repo này cung cấp những bản phân phối MongoDB theo những packages sau:

mongodb-org: Đây là một metapackage. Nó sẽ tự động cài đặt 4 thành phần được liệt kê dưới đây: mongodb-org-server: Đây là packages chứa dịch vụ mongod, các cấu hình liên quan và script khởi động. mongodb-org-mongos: Đây là package chứa dịch vụ mongos mongodb-org-shell: Đây là packages mà chứa mongo shell. mongodb-org-tools: Đây là packages chứa các công cụ (tools) của MongoDB như mongoimport, mongoexport, mongofiles, mongodump .v..v Cài đặt MongoDB

Nhập public key.
Các công cụ quản lý gói của Ubuntu (như dpkg hay apt) đảm bảo tính thống nhất gói và tính xác thực bằng việc yêu cầu các nhà phân phối kí gói với khoá GPG. Câu lệnh sau sẽ import MongoDB public GPG Key:

sudo apt-key adv –keyserver hkp://keyserver.ubuntu:80 –recv 7F0CEB10

Tạo một danh sách file cho MongoDB
Tạo một list file /etc/apt/sources.list.d/mongodb.list sử dụng câu lệnh sau:

$ echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

Reload các packages trong máy

$ sudo apt-get update

Cài đặt MongoDB packages.
Bạn có thể cài đặt hoặc là phiên bản ổn định mới nhất của MongoDB hoặc một phiên bản MongoDB nhất định.

Để cài đặt phiên bản ổn định mới nhất của MongoDB:

$ sudo apt-get install -y mongodb-org

Để cài đặt một phiên bản MongoDB xác định, ví dụ 2.6.1:

$ sudo apt-get install -y mongodb-org=2.6.1 mongodb-org-server=2.6.1 mongodb-org-shell=2.6.1 mongodb-org-mongos=2.6.1 mongodb-org-tools=2.6.1

Okay. Đến đây là bạn đã cài đặt được MongoDB trên máy tính của mình.

Thư mục mặc định khi mongodb được cài đặt là /data/db (các bạn có thể thay đổi đường dẫn này bằng cách chỉnh sửa file cấu hình tại /etc/mongo.conf). Đây là nơi mọi thứ sẽ được lưu trữ và bạn phải chắc chắn rằng bạn có quyền đối với thư mục này để MongoDB có thể ghi lên nó.

Bắt đầu với MongoDB

Có 2 bước để bắt đầu làm việc với MongoDB ở máy local:

1. Chạy dịch vụ (daemon) mongod. 2. Kết nối

Nghe có vẻ đơn giản nhỉ?

Chạy dịch vụ MongoDB

Trước khi chúng ta có thể tạo và lưu tài liệu trong cơ sở dữ liệu của mình, chúng ta phải chạy MongoDB. Sẽ không có bất cứ tài liệu nào được lưu nếu dịch vụ chưa được chạy.
Chỉ một câu lệnh đơn giản để chạy mongodb:

$ sudo service mongod start

Mộtkhi mongoDB được khởi động, nó chạy mặc định ở cổng 27017.

mongo-start.jpg

Kết nối đến MongoDB

Với dịch vụ MongoDB đang được chạy. Chúng ta chỉ việc kết nối đến nó. Trong khi mongod đã bắt đầu, chúng ta có thể kết nối tới nó thông qua mongo shell:

$ mongo

Và bây giờ chúng ta đã kết nối thành công.

mongo-connect.jpg

Ở màn hình bên phải, chúng ta đã kết nối và bên trái kết nối của chúng ta đã được lưu lại.

Những lệnh phổ biến

Dưới đây chúng ta sẽ liệt kê một vài lệnh (command) thường được sử dụng khi thao tác với MongoDB.

Liệt kê tất cả các cơ sở dữ liệu $ show dbs Tạo một cơ sở dữ liệu mới

Đây là một trong những phần khác biệt so với cơ sở dữ liệu quan hệ. Có thể nó sẽ gây bỡ ngỡ cho bạn giống như tôi khi mới tìm hiểu về MongoDB - Làm thế nào để tạo một cơ sở dữ liệu (database) mới?

MongoDB sẽ không tạo cơ sơ dữ liệu trừ khi bạn nhập thông tin vào trong database. Bạn không phải lo lắng về tạo ra một cơ sở dữ liệu một cách rõ ràng. Bạn chỉ cần sử dụng use một cơ sở dữ liệu( nếu nó chưa được tạo), tạo một collection (collection là một khái niệm tương tự như table trong mysql) và các tài liệu, và mọi thứ sẽ tự động được tạo cho bạn.

Chúng ta sẽ xem xét việc tạo một collection và tài liệu trong phần CRUD commands.

Hiển thị cơ sở dữ liệu hiện tại $ db Chọn một cơ sở dữ liệu $ use db_name CRUD Commands

CRUD là viết tắt của Create (Tạo), Retrieve (Lấy), Update (Cập nhật) và Delete(Xóa). Đây là các hành động (operation) cơ bản để thao tác với bất kì một database nào.

Create // Lưu một user $ db.users.save({ name: 'Chris' }); // Lưu nhiều user $ db.users.save({ name: 'Chris'}, { name: 'Holly' });

Bằng việc lưu tài liệu vào users collections của cơ sở dữ liệu mà bạn đang sử dụng, bạn đã tạo thành công cả cơ sở dữ liệu và collection nếu chúng không tồn tại.

Read // show all users $ db.users.find(); // Tìm một user xác định $ db.users.find({ name: 'Holly' }); Update

db.users.update({ name: 'Holly' }, { name: 'Holly Lloyd' });

Delete // xóa tất cả db.users.remove({});

// Xóa một tài liệu

db.users.remove({ name: 'Holly' });

Đây chỉ là một cái nhìn tổng quan về các lệnh mà bạn có thể chạy. Tài liệu về MongoDB là khá toàn diện và cung cấp một lượng lớn các chi tiết cho những người muốn tìm hiểu sâu hơn.

MongoDB cũng cung cấp một hướng dẫn interactive (tương tác qua mongo shell) để bạn có thể trải nghiệm các lệnh ở trên.

Sử dụng trong ứng dụng Nodejs

Sử dụng một thể hiện của MongoDB ở local là một quá trình hết sức đơn giản. Chúng ta sẽ sử dụng mongoosejs - một node package cho việc tương tác với mongodb.

Tất cả những gì bạn phải làm là cấu hình mongoose để kết nối đến một cơ sở dữ liệu local. Đây là một quá trình đơn giản vì chúng ta còn không cần phải tạo cơ sở dữ liệu. Chúng ta chỉ cần chắc chắn rằng MongoDB của bạn đang chạy:

$ mongod

Chúng ta cũng sẽ cung cấp một tên cơ sở dữ liệu để kết nối (nó không cần tạo cơ sở dữ liệu vì mongoose sẽ làm điều đó giúp chúng ta).

Đây là một đoạn mã ví dụ để kết nối đến một cơ sở dữ liệu trong Node.js

// Lấy những package mà chúng ta cần. var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/db_name');

Vậy đó, một khi chúng ta bắt đầu lưu trữ một cái gì đó vào cơ sở dữ liệu của mình, cơ sở dữ liệu tên là db_name sẽ tự động được tạo.

Chúng ta sẽ có một bài chi tiết hơn nói về Mongose trong một ứng dụng Nodejs. GUI Tool: Robomongo

Chúng ta có thể dễ dàng sử dụng command line để truy cập vào cơ sở dữ liệu MongoDB của chúng ta. Bên cạnh đó, chúng ta cũng có một công cụ GUI cung cấp cách thức dễ dàng hơn để tương tác với MongoDB.
Tôi không có cơ hội để sử dụng nhiều nên sẽ không nói sâu hơn. Các bạn có thể vào trang web chính thức của RoboMongo](http://robomongo.org/).

robomongo-connect-local.jpg

Kết luận

MongoDB là một cơ sở dữ liệu không quan hệ (NoSql) mà có thể cấu hình nhanh và sử dụng trong bất kì ứng dụng nào của chúng ta. Đối với ứng dụng node.js, chúng ta có thể thiết lập MongoDB một cách nhanh chóng để chúng ta có thể đi vào những vấn đề thú vị bên trong, xây dựng ứng dụng của mình.

Nếu các bạn gặp vấn đề trong quá trình cài đặt, các bạn có thể để lại comment hoặc contact tôi qua chat của forum cũng như là fan page của nodejs.vn

Link gốc tiếng anh: http://goo.gl/DKgDQm

read more
Cài đặt Redis Server trên CentOS 7 / RHEL 7

Bản cài đặt cho redis 2.8.

Trước khi cài đặt các bạn cần có util "wget" trên centos bằng cách yum install wget
hoặc bạn có thể cài đặt tổng hợp các Tool Develop của Centos yum groupinstall 'Development Tools'

Tiếp đến cài đặt EPEL repo
wget -r --no-parent -A 'epel-release-*.rpm' http://dl.fedoraproject.org/pub/epel/7/x86_64/e/
rpm -Uvh dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-*.rpm
Nó sẽ tạo ra 2 file ở /etc/yum.repos.d:

epel.repo epel-testing.repo Cài đặt Redis yum install redis
Sau khi cài đặt xong bạn sẽ có các file config cho redis ở: /etc/redis.conf /etc/redis-sentinel.conf

Khởi động Redis khi khởi động
systemctl start redis.service

Test Redis
redis-cli ping > PONG

Trong quá trình sử dụng start/stop redis bằng cách
service redis start
service redis stop
service redis restart

read more
Sử Dụng Công Cụ Chrome DevTools

Chào cả nhà, hôm nay đưa 1 bài viết hữu ích cho những bạn rất cần nó. Chắc hẳn chúng ta đều biết Extension DevTools có sẵn Google Chrome (F12).
Nhưng nhiều bạn ở đây chưa dùng hết được khả năng Tools đưa lại. Đặc biệt là trong vấn đề xử lý hiệu năng và debug javascript.

Website : http://discover-devtools.codeschool.com
Giới thiệu : Là sự kết hợp giữa Code School và sự tài trợ Google, chương trình học cách sử dụng công cụ DevTools của Chrome.

Chúng ta sẽ có 7 level như sau :

Level 1: ** Bắt đầu làm quen và cơ bản DOM và Styles **
Level 2: Nâng cao DOM và Styles
Level 3: Làm việc với Console
Level 4: Làm việc JavaScript
Level 5: Nâng cao hiệu suất Network
Level 6: Nâng cao hiệu suất Website
Level 7: Theo dõi Memory

TungNguyen

read more
Shop bán hàng full nodejs vietcoin.com

Một shop bán hàng bình thường thôi, như #1.
Thiết kế phẳng, hiện đại. Dự bán quần áo, mỹ phẩm, nước hoa. Có Coupon giảm giá, gift card, Store Credit system.
Nodejs, setup chạy trên AWS, responsive, build luôn API để sau làm mobi app
Paygate: nganluong, baokim, 123pay.vn, megabank..
Cần nhận hàng trước tháng 6/2015, các pro cho xin cái báo giá: loveparadisetalk@gmail.com

read more