6/06/2015

Tiếp cận với NodeJS

Gần đây tôi có học và tìm hiểu về NodeJS, việc tiếp cận với nó tôi cảm thấy có 1 chút khó khăn vì tôi phải đối mặt với 1 công nghệ mới hoàn toàn, khác hẳn so với những project trước kia tôi từng làm. Và những project đó được xây dựng với ASP.net. Việc học 1 công nghệ mới vô cùng khó khăn, nhưng nếu đã có được 1 cái nhìn tổng quan rồi thì có lẽ bạn sẽ mê mẩn với nó cả ngày mà không chán. Tôi cũng vậy, tôi cũng chỉ mới học và cũng dần cảm thấy 1 sự cuốn hút đến kỳ lạ. Trước đây, tôi chưa từng học Javascipt hay nói cách khác là tôi chưa từng viết 1 dòng lệnh nào bằng Javascipt. Không phải vì nó không giúp được cho công việc của tôi khi đó mà là vì tôi chưa biết nó, tôi ngại tìm hiểu và không dám viết ra những dòng lệnh sử dụng Javascript. Còn giờ đây thì tôi phải đối mặt với nó hàng ngày, từng dòng 1 đều được xây dựng bằng javascript. Tôi học mọi thứ, tìm hiểu về những thuật ngữ mới, công nghệ mới.
+ pm2 là gì?
+ sequelize là gì?
+ ORM là gì?
+ Nginx là gi?
+ Redis là gì?
+ Postgres là gì?
+ Sphinx là gì?
+ Nunjucks , AngularJS, Sass,...
+ Mean : Mongodb, Express, AngularJS, Node.JS

Và vô vàn những thứ khác khi tôi bắt tay vào việc học NodeJS, và vấn đề lớn ở đây nữa đó là phải biết về Unix. May mắn thay là trước đây tôi cũng có dùng Ubuntu nên tôi cũng có kiến thức cơ bản khi làm việc với Lubuntu hay MacOS.

Như tôi, trước đây khi làm việc với ASP, tôi không cần quan tâm HTTP có những phương thức nào, trạng thái của nó ra sao rồi mọi thứ quanh nó. Thì giờ đây tôi phải nắm rõ để có thể xây dựng nên hệ thống viết bằng NodeJS, sự khó khăn của tôi bắt đầu từ đây.
Thời gian đầu khi tiếp xúc với NodeJS tôi phải học kiến thức cơ bản về Javascript và sau đó tiến dần đến với các phương thức của HTTP. Hiện tại tôi chỉ mới dừng lại ở 1 vài method cơ bản của HTTP như: post, get, put và delete. Và một số statusCode cần phải nhớ khi làm việc với nó để lấy được trạng thái của truy vấn với HTTP. Ví dụ như statusCode 200, 304, 500, 404, đủ mọi thứ. Học được cơ bản về phần này, tôi tiếp tục tìm hiểu xem cấu trúc của 1 project viết bằng NodeJS thì sẽ như thế nào, làm sao để truyền dữ liệu, kết nối vào Database?? Trước đây tôi thường viết project theo mô hình Ntier, bây giờ thì NodeJS được cấu trúc theo mô hình MVC (nhanh hơn, gọn hơn..). Sau đó tìm hiểu về các module trong Node, và cách sử dụng chúng. Kể đến đây thì tôi lại té ngửa ra với kiến thức hiện có của mình, vì nó quá ít :( Tôi sẽ không liệt kê ra nữa vì nó có thể kiến tôi cảm thấy căng thẳng, tôi sẽ tiếp tục bổ sung thêm những bài viết trong quá trình tìm hiểu và xây dựng ứng dụng trên NodeJS. Và nó sẽ đi trọng tâm vào việc thao tác với đối tượng đó, vai trò và cách sử dụng của nó trong 1 project NodeJS.

Một núi kiến thức đến với tôi. 2 tuần trước tôi không hề biết những thuật ngữ này, và tôi còn 1 tuần để tiếp cận với toàn bộ những thứ này để bắt đầu tham gia vào dự án thực tế. Áp lực nhưng mà vui lắm chứ.

6/02/2015

Test code Cpp

int main(){

int a = 10;

printf("The big bang theory");

return 0;
}
>

function test(){
console.log("The big bang theory");
}

String.prototype.reverse(){
for (i = this.length -1; i >= 0; i--){
    console.log(charAt(i));
}
};

var x = "caothuvolam";
console.log(x.reverse);

Học được gì sau 10 ngày làm Startup

Rất sướng,
Tôi bỏ việc học của mình để tham gia 1 khóa học lập trình bên ngoài, tôi không bằng cấp gì, tôi không chán nản và tôi yêu thích cuộc sống hiện tại của tôi. Không nhà nước, không làm thuê, không đa cấp và cũng không chat chit :(( Sau 10 ngày làm startup với vị trí thực tập sinh tôi không học được gì ngoài thái độ, nhìn vào công việc của mọi người đang làm khiến tôi choáng váng bởi sự tỷ mỹ và chất lượng công việc mà họ tạo ra. Tôi chỉ im lặng nghe và lắng nghe, tôi biết được nhiều công nghệ mới và biết bản thân phải làm gì tiếp theo để có thể đi trên con đường này, khi từ bỏ quãng đời sinh viên thì tôi luôn muốn chen chân vào tìm kiếm 1 công ty gia công phần mềm và chỉ mong đến tháng có 1 khoản chi tiêu để trang trãi cuộc sống của tôi hiện tại. Hôm nay cũng là ngày tôi nhận được 1 cuộc điện thoại của 1 công ty mà trước đó tôi phỏng vấn, họ báo tôi trúng tuyển và nói rằng: "Đợt này chỉ có mình em trúng tuyển". Tôi mừng vì họ điện thoại cho tôi trễ, theo như họ hẹn là 1 tuần sau tôi sẽ biết kết quả. Nhưng quá 1 tuần sau tôi mới nhận được thông báo là passed, trong thời gian đó tôi chán nản và đi tìm 1 con đường khác cho bản thân. Và tôi cảm thấy mình thật sự may mắn khi đang đi trên con đường này, 1 con đường chông gai chứ không bằng phẳng gì.

Người như thế nào thì nên tiếp tục học CNTT

Theo tôi nghĩ đây là 2 yếu tố để bạn có thể quyết định mình có nên đi tiếp trong quá trình học công nghệ thông tin hay không. Tôi không biết bạn là người có đam mê đến mức nào đi nữa.

1. Nếu chưa tự tin với kiến thức toán của bản thân.
2. Nếu chưa tự tin với khả năng ngoại ngữ của bản thân (Hãy thử đọc 1 document của 1 ngôn ngữ lập trình bạn thích thì sẽ rõ).

Tôi đã nằm trong 2 trở ngại này và tôi phải tìm cách vượt qua nếu như tôi muốn đi tiếp, còn về đam mê của tôi với ngành công nghệ thông tin chắc chắn là tôi không bằng bạn rồi.