Thảo luận về javascript



  • Hi 500 anh em.
    Nói về làm web thì chắc ai cũng biết về javascript.
    Trước mình cũng ghẻ lạnh nó lắm(lúc đó chỉ có kiến thức basic).
    Nhưng từ khi nodejs nổi lên. Mình có tìm hiểu thì biết đượ một số khái niệm về call back function, rồi bất đồng bộ. Tìm hiểu sâu hơn một chút thì mình bắt đầu yêu ngôn ngữ này bởi sự hoa mỹ của nó. Đặc biết với syntax ES6 thì mình thấy nó bắt chước các tinh hoa của các ngôn ngữ khác thì phải. Ví dụ như array matching, object mactching.
    Ví dụ như :
    var arr = [3, 4];
    var [a, b] = arr;
    //ta có a=3, b=4
    var obj = {name: 'Hoang', inf: {age: 23}}
    var {name: {name}, inf: {age: age}}
    //ta có 2 biến name='Hoang' và age=23
    hay arrow function, defaul param, rest param
    .................
    Và cả angular, react cũng là fw và lib javascript, 2 ông trùm front-end
    Và cuối cùng, MongoDB. Một loại db hướng đối tượng(ORM). Trong khi mọi cơ sở dữ liệu quan hệ đều cố ánh xạ sang object thì mongoDB không cần, và thậm chí bạn có thể sử dụng syntax js trong shell mongo.. rất hay. Và nó là trùm về tốc độ phía db
    Chưa kể mọi thứ hay ho của bất cứ fw nào của php hay ruby thì không lâu sau đó bạn sẽ thấy bên js có module tương tự.

    Khi các doanh nghiệp VN ngày càng chú ý đến các fullstack dev thì javascript là lựa chọn số một, vì bạn học 1 thứ và chiến được tất cả. Rút ngắn thời gian trở thành Fullstack Dev.

    Để không bị tụt hậu, hãy học javascript!



  • @Nguyen-Van-Hoang Không có cái chuyện học javascript mà chiến đc tất cả đâu bạn nhé. Mình đảm bảo với bạn đấy.
    Mongo vẫn thua Redis về tốc độ. Mình không hiểu cố ánh xạ sang Object của bạn là gì, không biết bạn đã từng làm việc với NoSQL khác như CouchDB, Cassandra chưa mà lại có thể khẳng định thế.
    Full Stack Dev là cái từ xa xỉ. Có nên rõ ràng ra Full Stack trong Web Developer hay Software Developer.?



  • Ủng hộ mọi người nghiên cứu NodeJS. Nếu bạn nào có sẵn kiến thức làm font-end (javascript) thì sẽ dễ tiếp cận với NodeJS hơn. Có thể nhanh chóng làm đc cả font-end và back-end trong mô hình client-server. Chưa kể có nhiều công nghệ mọc ra cho phép ta lập trình desktop app, mobile app, ... bằng những ngôn ngữ thường dùng trong ứng dụng web (html, csss, javascript).
    Đấy là những thuận lợi nhất định. Mình thì chưa có nhiều kinh nghiệm nhưng chắc chắn rằng ngôn ngữ nào cũng sẽ có những hạn chế. Tùy từng bài toán trong thực thế người ta sẽ có những lựa chọn ngôn ngữ phù hợp. NodeJS xử lý đơn luồn, tức là cpu của bạn có 8 nhân thì NodeJS chỉ xử lý trên 1 nhân. Hy vọng trong tương lai sẽ khắc phục được nhược điểm này. NodeJS hiện đang là ngôi sao sáng trong việc xây dựng webserver, webservice.
    Còn về CSDL mà quan tâm nhiều hiện nay là csdl NoSQL thì có mấy loại. Mình chỉ nhớ được 2 loại là loại Document và Graph (Ngoài ra có loại Memory vời Family nữa thì phải, ko chắc lắm). Đại diện cho loại Document có thể nói là MongoDB. Về Graph thì mình có làm việc với OrientDB và hiện tại là Neo4j. Loại Document thì mình nghĩ rất phù hợp cho việc lưu trữ dữ liệu kiểu như các trang mạng xã hội, blog, báo, ... Còn đụng đến những loại ứng có mô hình quan quan hệ phức tạp chồng chéo nhau thì mình nghĩ nên hướng sang sử dụng Graph, hoặc vẫn sử dụng SQL thường. Giải quyết về big Data sẽ sử dụng những kĩ thuật mà DBMS cung cấp như là kĩ thuật phân tán.



  • @vahaha Nodejs hỗ trợ cluster để giải quyết cái nhược điểm (nhưng theo mình đây ko thể là nhược điểm) đó lâu rồi bạn ơi.



  • @hidemanvn Thanks bạn, mình sẽ tìm hiểu thêm về cái này.


Log in to reply