javascript là gì? Javascript có lẽ là một ngôn ngữ lập trình thú vị nhất thế giới hiện nay, nó trải rộng khắp từ frontEnd đến Backend bao gồm cả database. Do đó javascript được cập nhật liên tục về các tính năng, nhằm cải thiện về performance và time cho các developer javascript như tôi và các bạn.
Trong bài viết hướng dẫn sử dụng về map in javascript, thuộc Series - Mẹo javascript này chúng ta sẽ tìm hiểu Maps trong javascript là gì?, cách tạo và sử dụng map như thế nào?
Promise.all, Promise.race, Promise.any và Promise.allSettled. Trong bài viết chúng ta sẽ đi tìm hiểu về các tính năng promise trong javascript.
ES6 Features - Arrow Functions ,Classes ,Enhanced Object Literals ,String interpolation ,Destructuring ,Default ,Spread ,Spread + Object Literals ,Rest ,Let ,Const ,For..of ,Unicode ,Modules & Module Loaders ,Set ,WeakSet ,Map ,WeakMap ,Proxies ,Symbols ,Inheritable Built-ins ,New Library ,Binary and Octal ,Promises ,Reflect ,Tail Call Optimization
Map vs Set ES6. Bạn đã bao giờ chán học về ES6? Bởi vì ES6 đã có quá nhiều lời bàn tán về những tính năng, cách sử dụng... Với tôi, tôi chưa hề chán. Bởi vì tôi biết rằng rằng có rất nhiều API thường được sử dụng trong ES6, không hơn, không kém và chúng chỉ phù hợp để sử dụng trong các dự án.
JavaScript is one of the most popular languages you can learn. As many people say: “If you’re going to learn just one programming language, go for JavaScript.” If this sounds compelling to you, here’s a list of 127 beneficial snippets that you can learn and use immediately.
Promise javascript cung cấp nhiều loại quá anh em ơi. Cách đây 1 mùa tết thì ES2021 có giới thiệu những tính năng mới cho cộng động các nhà phát triển javascript. Trong đó có một tính năng mà lúc đầu tôi nghĩ đó là dư thừa đó là Promise.any()
Những tính năng của javscript kể từ khi ES6 ra đời cho đến chuẩn bị stage 4 của ES11. Và kết thúc năm 2019 thì chúng ta có học được những tính năng gì trong những feature javascript dưới đây.
ES6 (ECMAScript2015) là một bản nâng cấp lớn cho JavaScript. Trong bài viết này, chúng ta sẽ tìm hiểu về class es6 để hiểu sâu hơn những cụm từ hay những khái niệm như class, object, static properties, constructor, inheritance, super và extends trong JavaScript.
Tổng hợp những chức năng được sử dụng nhiều nhất khi sử dụng mongodb và mongoose.
7 best JavaScript Design Patterns You Should Know - Design patterns in JavaScript are reusable solutions applied to commonly occurring problems in writing JavaScript web applications.
Không nói quá chứ bất kỳ chương trình phần mềm nào cũng cần phải có file quản lý log một cách chuyên nghiệp. Chính vì lẽ đó mỗi ngôn ngữ lập trình đều có những module đi kèm như java thì có Log2j, và trong nodejs thì có rất nhiều chẳng hạn như Winston, log4js, Bunyan. Và trong bài viết này thì tôi chỉ đề cập đến Winston vì ở đó có những tất cả mà một người làm backend như tôi đang tìm kiếm.
Promise all là một phương thức không thể thiếu trong lập trình đồng bộ đối với lập trình viên. Vẫn biết rằng Promise được sử dụng rất rộng rãi nhưng vẫn còn đâu đó những developers vẫn chưa biết vì sao Promise all lại được sủ dụng nhiều như vậy. Bài viết này sẽ làm sáng tỏ những tình huống mà bạn nên sử dụng Promise.
Graphical user interfaces are super friendly to computer users. They were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs).
Factory pattern là gì? Trước khi đi vào định nghĩa thì chúng ta đi xem xét một ví dụ thực tế trong đời sống hằng ngày của chúng ta. Đó là việc đi mua xe ô tô của tôi diễn ra như thế nào? Và chúng ta sẽ lấy việc mua ô tô ra làm ví dụ và sử dụng Factory pattern để mô phỏng quá trình này. Và từ đó chúng ta sẽ có một kết luận cho riêng chúng ta. Bắt đầu.
javascript async await được phát triển kể từ khi ES7 ra đời, trước đó có promise ở ES6 và xa hơn nữa là callback. Ở phần này chủ yếu nói về try catch.
So sánh 2 ngày trong javascript, đây là một bài viết nhỏ nhỏ và để tôi kể cho các anh chị nghe một tình huống về một bạn cũng có exp 1 năm rồi, chú ý bài viết chỉ tips khắc phục không có ý định cười. Vì tôi cũng một thời như thế
Fetch api là gì? Trước đây nếu bạn nào đã từng sử dụng XMLHttpRequest để giao tiếp lấy dữ liệu từ server đến client hay ngược lại thì cũng sẽ hiểu nôm na Fetch api javascript cũng vậy. Fetch api cho phép những nhà phát triển lấy resource và thực hiện những yêu cầu thông qua http.
ES6 giờ đây đã được những developer javascript sử dụng chúng thường xuyên trong lập trình js. Và trong bài viết này thì anonystick sẽ giới thiệu cho các bạn về 24 đoạn mã được sử dụng thường xuyên và thực tế nhất của tác giả Madza
Memcached bạn đã từng nghe nói về cụm từ này bao giờ, redis, firebase...? Và nếu nghe rồi bạn đã sử dụng chúng ở đâu cho những ứng dụng của mình? Và bạn dùng công nghệ hay công cụ gì để memcached ? Tất cả những câu hỏi đó, sẽ được trả lời trong bài viết này. Để có cái nhìn tổng quát hơn, chúng ta sẽ đi vào một trường hợp thực tế.
Làm việc với array thì có thể đơn giản, nhưng khi làm việc với Array of Objects thì nó hoàn toàn khác. Khác ở nhiều khía cạnh, tình huống, kỹ năng, kinh nghiệm. Và tôi tóm lượt lại nhiều câu hỏi trong quá trình làm việc và trên stackoverflow và hy vọng bài viết này có thể giúp bạn giải quyết nhanh các tình huống.
Hầu hết mọi người không chuẩn bị nhiều cho tương lai, nhưng kết quả của việc chuẩn bị và không chuẩn bị sẽ rất khác nhau. Tin tôi đi... Bời vì khi 40 tuổi tôi mới nhận ra mình đã mất thời gian để mài VŨ KHÍ như thế nào?
Trong lập trình hướng đối tượng OOP bao gồm rất nhiều nộ dung và khái niệm như class, Prototype, _proto_, prototype chain, constructor, inheritance... Ngoài ra nó cũng liên quan đến pattern như factory pattern, constructor pattern, prototype pattern. Mối quan hệ giữa các khái niệm này là gì?, mối quan hệ giữa các mô hình là gì?, chúng phát triển như thế nào và chúng hoạt động như thế nào? Bản thân người viết cũng chóng cả mặt chứ huống hồ gì những bạn mới học JS.
Promise là gì? Khi nào sử dụng Promise ? Ở phần trước, chúng ta đã nói về callback là gì? Và trong bài viết này, chúng ta sẽ làm rõ vấn đề này thông qua những ví dụ hay xảy ra trong lập trình javascript.
Adapter pattern được sử dụng trong đời sống rất nhiều chứ không phải là chỉ trong các mẫu thiết kết của lập trình. Nó được ứng dụng rộng rãi trong thế giới thực, tôi nghĩ chắc cũng vì lý do đó cho nên nó đã được áp dụng nguyên lý vào trong lập trình javascript nói riêng và các ngôn ngữ khác nói Chung. Tôi sẽ chia sẻ cho các bạn một ví dụ cụ thể để hiểu rõ hơn về Adapter pattern javascript
Mỗi một dự án, mỗi một webservice cũng đều kết nối ít nhất một hay nhiều database. Việc lựa chọn database nào cho dự án phù hợp thì tuỳ thuộc vào bạn. Ở bài viết này, chúng tôi sẽ hướng dẫn cách connect database với nodejs với nhiều database như: Cassandra, Couchbase, CouchDB, LevelDB, MySQL, MongoDB...
ES12 chưa qua thì ES2022/ES13 đã tới, nó quá nhanh và nguy hiểm. Bởi kỹ thuật luôn vậy sự đổi mới diễn ra hằng ngày, là những lập trình viên vẫn ngồi yên tại chỗ, họ không di chuyển đôi chân nhưng đầu óc của họ luôn chuyển động.
Node.js gần đây đã công bố phát hành phiên bản 19. Phiên bản này có các tính năng mà những lập trình viên phải chú ý như sau đó là node --watch, KeepAlive, WebCrypto. Và đây là cách sử dụng.
Modern JavaScript Cheatsheet - Tipjs chia sẻ một bài post rất hữu ích về các tính năng của JavaScript. Bài viết này sẽ có thể được update mỗi ngày, vì tính năng JavaScript vô số kể, cho nên nếu có miss một tính năng nào đó thì tipjs cũng mong có sự đóng góp của các bạn.
Trong bài viết này, chúng ta sẽ xem các trường hợp sử dụng phổ biến nhất cho phương thức Array sort() và cách chúng ta có thể sử dụng tối đa sức mạnh của nó.
Map là gì? Nghe có vẻ đơn giản, vì mỗi lập trình viên đều nghe về "map" rất nhiều. Nhưng để hiểu nó thì cũng không phải đơn giản, vậy trong bài viết này, tipjs sẽ cùng các bạn tìm hiểu về Map và Object là gì? Và khi nào nên sử dụng chúng? Và quan trọng hơn là performance giữa chúng như thế nào?
Bài viết trước chúng ta đã bàn đến việc tại sao lại track javascript error ở khách hàng. Vì sao việc đó lại quan trọng? Khi tôi viết ra thì có nhiều bạn cùng chung một vấn đề.
Javascript là một ngôn ngữ phổ biến trên thế giới, nếu không nhầm thì nó đã hơn 20 năm, và hơn bao giờ hết nó đang phát triển một cách mạnh mẽ từ front-end đến backend và thậm chí là database(mongodb). Do đó việc chúng ta sử dụng javascript hằng ngày là điều hiển nhiên. Và javascript là một gợi ý tuyệt vời khi phát triển một dự án nhỏ, nhanh gọn, tối ưu cao.
Đăng nhập một hệ thống có thể dựa vào nhiều bên thứ ba như Facebook và Google ưu điểm nhanh gọn, thông tin chính xác nhưng tích hợp thế nào khi chúng ta đang sử dụng Node.js
Năm mới qua rồi, nếu ai còn sử dụng cách cũ thì nên thay thế bằng phương pháp mới với những cú pháp đã được giới thiệu ở ES6 rồi đấy.
Async functions là gì? Bạn có thể sử dụng Map, filter và reduce trong Async functions, nhưng có thể bạn mắc sai lầm hay vô tình nào đó trong những trường hợp thế này không? Không phải lúc nào async-await đều chạy như bạn mong muốn.
Object copy vs Array copy javascript nhìn qua rất dễ thực hiện bạn chỉ cần sử dụng clone Object với object.assign() và clone Array với Array.from() là xong. Nhưng đó là không phải cách chính xác, vì sao nó sai? Và làm thế nào cho đúng? Hãy xem ví dụ sau đây.
OAuth với Node.js và Github trong bài viết KÈM SOURCE này thì chúng ta sẽ biết thêm một cách triển khai login với github. Chính vì cơ chế của github rất tiện lợi nên việc viết code cũng không phức tạp như nhiều người từng nghĩ.
I think everyone has encounter a bug in his life - not the natural, but the real one - the code one. Like really, even the most experienced programmers need to watch out for bugs. These are such easy-to-do and nasty things, that you can consider yourself lucky if you haven't ever had one in your code-base.
Kiểu dữ liệu javascript là có 8 kiểu dữ liệu trong đó có 7 kiểu dữ liệu cơ bản hay còn gọi là Kiểu dữ liệu nguyên thủy trong JavaScript, và một kiểu đó là kiểu tham chiếu. Ở đây chúng ta cùng giải thích các kiểu dữ liệu một cách rõ rằng nhất. Và nó là một trong 66 khái niệm mà đã được đưa ra cho quy trình học javascript.
Khái niệm cần hiểu trong lập trình javascript - Cho dù bạn đang ở level nào của một developer thì những khái nhiệm cơ bản cũng đóng vai trò quan trọng. Cho nên dễ hiểu tại sao, những nhà developer js luôn có những hướng dẫn cơ bản về những khái niệm cơ bản.
44 bài toán javascript được đưa vào trong một trang web "JavaScript Puzzlers!". Những câu hỏi này bao gồm một loạt các kiến thức trong javascript , bao gồm các nguyên mẫu JS, function, objects, closure, v.v. và chúng đều là những thứ rất chi tiết.
Convert date to string javascript - Làm việc với Date là một trong những objects mà chúng ta gặp thường xuyên. Bạn biết chúng ta không thể push date time kiểu ISODate lên firebase?
Kể từ khi được giới thiệu bới ES6 thì Set() đã được sử dụng rộng rãi và giúp những developer tiết kiệm được rất nhiều thời gian trong việc xử lý collection, nhưng remove duplicate...
StructuredClone là một tính năng cho phép những lập trình viên có thể sử dụng để deep-copying. Nhằm thay thế cho các phương pháp cũ như sử dụng object spread operator
Trong quá trình làm việc, bạn có trường hợp phải add một file javascript như những thống kê của facebook, goole hay "Adding pixel tracking to a link". Bạn phải làm như thế nào? Hãy tham khảo qua bài viết này, và nếu nó hay thì hãy lưu lại cho lần tới.
This article will help you to check data types in Javascript whether a variable or parameter is a string, number, array, object, function, null & undefined, boolean, regexp, error or date.
JavaScript utilities - Anh em dev nào cũng có một file này, như một bí kíp vậy, được sử dụng từ project này qua project khác. Trong bài post này, hãy để tipjs share thêm một số bí kíp khác giúp chúng ta hoàn thành file utilities js một cách hoàn hảo hơn, chỉ mới một line code!
Nói đến promises và callbacks thì tôi nghĩ bay giờ ai cũng biết về hai khái niệm này rồi. Nhưng khổ một nỗi là sử dụng Promises (or async/await) quen rồi nên khi gặp lại callbacks cảm thấy không sướng chút nào? Vì thật dễ dàng khi sử dụng promises so với callbacks. Nhưng rất tiếc khi các bạn nào làm nhiều ở Node thì đa số các API của Node vẫn còn đang xài callbacks, vậy làm sao chuyển callbacks qua promises. Hôm nay, mình sẽ show cho anh em devjs convert callbacks to promises.
Cũng giống như mọi ngôn ngữ lập trình khác, JavaScript có hàng tá thủ thuật để thực hiện cả các nhiệm vụ dễ và khó. Một số thủ thuật được biết đến rộng rãi trong khi những thủ thuật khác đủ để thổi bay tâm trí của bạn. Trong bài viết này chúng ta sẽ lướt qua 7 thủ thuật javascript mà bạn có thể bắt đầu tập luyện và sử dụng sau khi bạn đọc xong bài viết này.
Facade Pattern giúp các hệ thống vận hành trơn tru và đơn giản hơn ví dụ như Shopee, việc tính toán diễn ra như thế nào chúng ta không cần biết, người mua chỉ biết chọn hàng và xem giá.
Trong bài viết này tôi và devjs tìm hiểu về javascript array concat. Concat javascript là gì? Và sử dụng es6 để merge array javascript. Ngoài ra tìm hiểu thêm làm thế nào để merge 2 arrays of objects javascript.
Hoisting javascript là gì? Đây là một vấn đề mà nhiều developers nói với tôi là họ cảm thấy khó hiểu Hoisting trong javascript. Mặc dù có rất nhiều bài viết về vấn đề này nhưng chưa đủ để họ hiểu và không biết thật sự Hoisting có nên tồn tại trong javascript hay không?
Bài này đơn giản chỉ là giới thiệu cho các devjs về những dòng code thường xuyên sử dụng với developer javascript. Nó đang giúp tôi rất nhiều, và hy vọng bạn cũng vậy.
Speech Recognition API - Trên thực tế có hai loại API trong HTML5 về Web Speech đó là (Speech Recognition) và loại còn lại là (Speech Synthesis). Hai thuật ngữ này nghe có vẻ rất cao siêu, nhưng trên thực tế cả hai api này đề cập đến "lời nói thành văn bản" và "văn bản thành lời nói". Nó chỉ vậy mà thôi.
Observer pattern chính là "super pattern" của design pattern, với pattern này thì nhiều ứng dụng sử dụng có thể thấy khắp nơi từ cuộc sống đến phần mềm, và trong bài viết này chúng ta tiếp tục tìm hiểu về Observer pattern.
Nói về iterate trong javascript có rất nhiều cách để chúng ta có thể làm được điều đó như for, for ... in, for ... of. Thậm chí là reduce()... Nhưng bạn có biết vì sao javascript lại cung cấp nhiều method đến vậy, và nó có sự khác biệt gì. Trong bài viết này, chúng ta sẽ làm rõ những điều mà có thể bạn chưa hề biết.
Thật ra từ khi ES6 ra đời thì tôi càng yêu thích lập trình javascipt hơn bất kỳ các ngôn ngữ nào tôi biết. Nhưng chỉ riêng thiếu một thứ của ES6 đó là việc kế thừa nhiều class. Việc đó khiến các devjs đặt ra câu hỏi rất nhiều trên stackoverflow. Chính vì lẽ đó tôi sẽ giới thiệu cho devjs một cách tuyệt vời để làm được điều đó.
Autocomplete search là một thuật toán rất phức tạp, và đỏi hòi nhiều thuật toán được áp dụng. Nếu bạn đã từng sử dụng Sublime Text để code thì ở đó bạn để ý rằng, đó là một hệ thống tìm kiếm thông minh, khi chúng ta tìm kiếm một vài ký tự thì hệ thống đã gợi ý cho bạn những từ khoá tìm kiếm cụ thể hơn.
Có một bạn gửi câu hỏi về bằng một hình ảnh, và tôi không bất ngờ lắm với tình huống trên. Với một 1 triệu url thì nếu sử dụng for loop như bình thường là không thể. Và tôi đã gặp và có giải pháp nay chia sẻ cho các bạn.
Nodejs - Cách thiết kế hệ thống tặng phiếu giảm giá tăng đột biến. Bài viết mang tính thực tế cao trong giai đoạn thiết kế hệ thống lớn. Và nằm trong Series - Con đường trở thành kỹ sư...
Nghề lập trình ngày nào mà chảng phải kinh qua những cú pháp có điều kiện. Đó là những trường hợp mà chúng ta những devjs thường xuyên gặp phải. Và chính bản thân tôi, tôi cũng thích những tình huống về logic và có điều kiện. Những lúc đó kinh nghiệm sẽ mách bảo ta làm thế nào để bẻ lái cho đàn em đứng sau lưng ta, gật đầu liên tục....
Làm việc với array trong javascript không tránh khỏi những lúc chúng ta phải clone array hay copy array trong code của mỗi lập trình viên javascript. Để sao chép một mảng không phải là khó nhưng việc copy một array gây ra nhiều lỗi nhất, vì nó liên quan đến việc tham chiếu tới array gốc.
Design pattern là gì? Builder pattern là một mẫu thiết kế thuộc "Nhóm khởi tạo" (Creational Pattern). Và là một mẫu thiết kế để cung cấp một giải pháp linh hoạt để tạo các đối tượng. Cụ thể hơn là Builder pattern giúp chúng ta xây dựng một đối tượng phức tạp bằng cách sử dụng các đối tượng đơn giản bằng cách cung cấp cách tiếp cận từng đối tượng đơn giản. Cùng xem một hướng dẫn dưới đây.
ES12 hay ES2021 chuẩn bị sắp phát hành những tính năng mới, cùng với đó là ES11 đã là một phiên bản cũ. Từng đó cũng đủ cho tôi và các bạn cảm thấy những phương thức, cách hoạt động thay đổi và nâng cấp một cách chóng mặt. Nhưng từ đó cũng sẽ đào thải những developers không theo kịp hoặc không tìm hiểu và phát huy những thế mạnh của những tính năng cho năm 2021 này.
Debounce javascript và throttle không phải là hai khái niệm duy nhất trong javascript giúp tối ưu hoá người dùng và cải thiện performance của ứng dụng hay website của chúng ta. Nhưng nếu như bạn là một developer mà không biết hai tính năng này thì có thể bạn đã bỏ lỡ một kiến thức rất quan trọng, và có thể rớt ngay vòng 1 của buổi phỏng vấn.
Bài viết này mô tả cách sử dụng giao thức WebSocket. Sau khi chúng ta đã tìm hiểu về WebSocket ở bài trước, và từ đó chúng ta hiểu được WebSocket là gì? Và vì sao WebSocket lại xuất hiện và mang đến lợi ích gì
Uploading files Cloudinary using Multer including single and multiple files. Sau bài viết "upload files using multer expressJs" và tôi đã hứa là sẽ show cho các bạn một ví dụ về upload images lên cloudinary sử dụng multer. Cloudinary là gì? Tại sao tôi lại chọn hosting này? Và câu trả lời sẽ có trong bài viết này. Trước khi tiếp tục hành trình upload file lên Cloudinary thì tôi muốn các bạn nên xem bài viết trước đó là upload files với Multer. Lúc đó bạn sẽ hiểu hơn và chính tôi cũng đỡ phải giải thích lại về cách sử dụng Multer. Ok bắt đầu thôi.
Bạn có viết có nhiều tính năng để làm việc với Arrays và Objects kể từ khi ES6 ra đời. Có thể kể đến một vài tính năng như Destructuring, Rest Parameters, và Spread Syntax. Những tính năng này giúp bạn làm việc với các cấu trúc dữ liệu nhanh và gọn hơn.
ES6 được biết đến là ECMAScript 2015. Thật sự có rất nhiều tính năng được giới thiệu trong ECMAScript 6, nhưng với tôi thì tôi sẽ chỉ học những tính năng dưới đây mà thôi.
Đây là một trường hợp rất phổ biến nhưng lại ít người quan tâm tới nó. Bởi vì họ là những lập trình viên level 1 hoặc là họ đẵ gặp rồi nhưng không có cách giải quyết. Vì sao?
Async await trong javascript đã có nhiều bài viết nhưng có lẽ đây là bài viết cuối cùng mà tôi muốn viết về Async await. Một lần làm cho rõ còn hơn lằng nhằng.
Destructuring Javascript là gì? ES6 đã giới thiệu cho chúng ta một trong những tính năng trong ngôn ngữ JavaScript được chờ đợi nhất đó chính là: destructuring trong es6. Destructuring khái niệm là gì? Hiểu và sử dụng nó như thế nào? Thì trong bài viết này chúng ta cùng nhau xem xét cụ thể về cú pháp, và vì sao nó lại được các phà phát triển đánh giá cao.
Ở phần 4 này chúng ta sẽ bước sâu hơn trong kiến trúc của mongodb. Chức năng register và login chính là hai chức năng làm tiền đề cho những chức năng tiếp theo của bất cứ dự án nào. Chính vì vậy nó cũng quan trọng không kém những phần sau. Chúng ta cùng theo dõi tiếp phần 4 trong series "Build project using nodejs, expressjs, và mongodb"
Moment.js is a lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates. Moment.js tutorial shows how to work with date and time in JavaScript with Moment.js module.
JSON Web Token (JWT) là một cơ chế bảo vệ tài nguyên có thể nói đến bây giờ nó phổ biến rộng rãi đến mức nhà nhà, người người ai cũng biết đến nó. Nhưng hiện tại qua nhiều diễn đàn, vẫn còn đâu đó những câu hỏi như làm sao lấy lại token mới nếu như hết hạn sử dụng refresh token?
Một số trang web hữu ích cho các lập trình viên. Khi học lập trình hay bất kỳ một ngành nghề nào, đều có một số trang hữu ích bạn phải biết để luôn được thông báo để thực hiện các công nghệ của bạn và học những điều mới. Dưới đây là những danh sách websites mà bạn nên theo dõi, cũng như tôi, hãy dành thời gian mỗi ngày lướt qua. Hy vọng nó mang những điều tích cực cho chúng ta rất nhiều.
Bài viết này cũng đơn giản nhưng cũng giúp các bạn mới học nodejs về cách "Làm thế nào upload files trong nodejs". Các bạn chỉ cần copy/paste là chạy thôi, nhưng cố gắng code lại, mỗi lần code lại bạn sẽ nhớ nhiều hơn là copy.
Top-level await cho phép developers sử dụng await mà không cần phải khai báo async function. Và nó hoạt động như một async function. Nhưng hãy chú ý khi sử dụng top-level await, vì nó đang ở Status: Stage 3.
Với markdown là một khái niệm quá quen thuộc với mỗi Dev. Bởi vì hầu hết những cộng đồng Lập Trình Viên như StackOverFlow đều triển khai comments với cú pháp sử dụng markdown...
Sử dụng Promise thì tất cả chúng ta đều biết Promise không hỗ trợ về Timeouts. Điều đó có nghĩa là nếu như thời gian phản hồi một yêu cầu nào đó chậm, thì người dùng cũng không biết xử lý làm sao?
How to mongodb create database and user command line. Như tiêu đề bài viết, tôi sẽ show cho các bạn về cách create mongodb and user sử dụng command line. what’s mongodb? Thì tôi hy vọng các bạn đã đọc bài trước rồi thì đã hiểu MongoDB được công nhận là cơ sở dữ liệu hàng đầu của NoQuery.
<p>Bài này là một trong những ví dụ cho thấy sự khác biệt giữa việc tạo lớp JavaScript và lớp con trong ES5 và ES6. Hiện tại rất nhiều dự án đang triển khai vẫn còn dử dụng ES5, vậy làm sao chuyển thành ES6 và cấu trúc nó thế nào ???</p>
Single thread Nodejs sẽ được chứng minh với chỉ 30 dòng code. Bạn sẽ không còn hiểu mập mờ về vấn đề này nữa, đó cũng là một câu hỏi mà nhiều bạn cũng đang thắc mắc.
I make multiple projects during the time like Tvflix, GSON, Appy Dev and many other micro projects. So finding these free tools as alternatives for my project has become .
Nodejs limit concurrent requests hay còn hiểu là giới hạn các yêu cầu của người dùng đồng thời. Đó là nhiệm vụ không chỉ ở tầng backend mà còn frontend. Bài viết này giúp những bạn làm backend có thêm một khu vực phỏng thủ rất chi là ok.
Không cần phải giới thiệu về express js là gì? Bài học hôm nay bạn sẽ học được cách theo dõi log của một dự án khi sử dụng nodejs kết hợp với winston. Bạn có thể lấy code trên github về và xem xét áp dụng cho dự án của mình.
Học lập trình javascript, ai đã theo thì cũng hiểu, những tính năng được cập nhật liên tục. Thay vì bạn cứ sử dụng những code cũ đã tồn tại nhiều năm, thì bạn có thể tìm thấy những phương án hay hơn trong bài viết về những mẹo này. Có thể ngay lúc này bạn không cần, nhưng đến lúc bạn cũng sẽ tìm, vì vậy sao không thử xem những mẹo javascript là gì?
Biểu thức chính quy (regular expressions ) là các mẫu dùng để tìm kiếm các bộ kí tự được kết hợp với nhau trong các chuỗi kí tự. Trong JavaScript thì biểu thức chính quy cũng đồng thời là các đối tượng, tức là khi bạn tạo ra một biểu thức chính quy là bạn có một đối tượng tương ứng. Các mẫu này được sử dụng khá nhiều trong JavaScript như phương thức exec và test của RegExp, hay phương thức match, replace, search, và split của String.
Nói về Express session thì trước đây tôi có một bài viết cơ bản dành cho những bạn mới tiếp xúc. Nhưng giờ đây khi đọc lại, tôi cảm thấy nó đã bắt đầu lỗi thời. Vậy lỗi như thế nào?
Slack là gì? Tại sao tôi lại cần sử dụng slack? Slack có tốn phí không? Trên con đường trở thành một kiến trúc sư thật thụ bạn sẽ phải trải qua những câu hỏi như vậy, để rút ngắn thời gian cho bạn, hãy để tôi ghi lại hành trình của tôi.
Settimer js để sử dụng setTimeout hay setInterval thì quá đơn giản, nhưng để hiểu cơ chế hoạt động của setTimeout và setInterval là một điều không hề dễ dàng, cho nên trường hợp dưới đây là một sai lầm do không hiểu hoạt động của hai cơ chế trên.
Mysql nodejs thêm Expressjs là một kết hợp hoàn hảo để chúng ta có thể tạo dựng cho mình một blogs nhanh chóng. Mở rộng hơn về kết hợp này thì những lập trình viên có thể sử dụng những công cụ này để có thể phát triển cơ sở hạ tầng để phát triển một REST ful dành cho nhiều ứng dụng.
Promise javascript ra đời kể từ khi ES6 (ECMAScript 2015) chính thức giới thiệu, nhưng đến bây giờ việc sử dụng Serial Promise hay parallel Promise vẫn còn một số vấn đề mà còn nhiều developers vẫn chưa biết tận dụng hết khả năng của Promise.all(). Vậy trong bài viết này chúng tôi sẽ giới thiệu lại một lần nữa thông qua những ví dụ cụ thể.
Trên thực tế, việc xây dựng bán vé TÀU TẾT về cơ bản là một ứng dụng toàn diện của công nghệ có tính đồng thời cao trong các tình huống cụ thể. Ví dụ như mới tổ chức bán vé vào dịp tết, chuẩn bị bán vé liveshow MỸ TÂM, hoặc bán Iphone 17... Các kịch bản có tính đồng thời cao và khả năng thiết kế kiến trúc có tính tương tranh cao là khả năng then chốt không thể thiếu đối với các nhà phát triển. ..
Dùng Recude, filter hay indexOf trong javascript để giải quyết remove duplicates from an array. Mỗi bạn một cách khác nhau, nhưng hãy xem những cách nào dưới đây mang lại hiệu quả cao trong cách giải quyết ở trường hợp này.
Viết Code không phải khó, dễ đối với những bạn có suy nghĩ chạy là được. Còn việc ai review code hay người sau bảo trì code thì không quan tâm. Tình huống này gặp khá là nhiều. Nhân tiện đây, chúng ta xem qua những đoạn code mà số ít tôi đã xem qua.
Trong bài này chúng ta sẽ nói về Immutable và Mutable trong JS. Và tìm hiểu Object.freeze() và Object.seal() để hiểu rõ hơn về immutable js. Vấn đề này phải hiểu thật sau hơn khi học javascript.
cookieStore là gì? Nó ra đời như một điều tất yếu vì việc sử dụng cookie bây giờ là tương đối phức tạp và chẳng có một API nào tốt và an toàn để cho lập trình viên sử dụng một cách thoải mái. API duy nhất mà mỗi nhà phát triển sử dụng chính là document.cookie. Nhưng kể từ phiên bản Chrome 87 chúng ta sẽ làm quen một API tốt hơn đó là cookieStore
Rất nhiều lần khi chúng tôi có các cuộc phỏng vấn sắp tới, có những trường hợp bạn sẽ được yêu cầu thực hiện một nhiệm vụ kỹ thuật trước người đánh giá bằng ngôn ngữ bạn chọn. Bởi vì giai đoạn này là quan trọng nhất cho sự thành công của bạn, điều quan trọng là phải chuẩn bị và ít nhất là tự tin hơn với các kỹ năng lập trình của bạn. Chính vì vậy, chúng tôi tổng kết cho bạn những câu hỏi phỏng vấn tốt nhất có thể.
Sau khi chúng tôi check về hiệu suất khi sử dụng kết nối với phương thức createPool() mà mysql đã cung cấp thì chúng tôi đã có được những điều mà mình mong đợi khi triển khai một hệ thống lớn về thương mai điện tử.
Ở những bài viết trước, có lần chúng tôi đã nói về scope nhằm giúp các bạn mới bước vào Javascript có cái nhìn rõ ràng về scope thì bài viết này sẽ giúp các bạn hiểu hơn nữa về scope đó là Private và Public method và properties trong javascript.
For ... in vs for ... of trong javascript. Hay bao gồm nhiều chức năng như for loop truyền thống mà hằng ngày chúng ta, những devjs đang sử dụng rất nhiều trong những dòng code của mình. Nhưng liệu có một chức năng nào bạn đã không sử dụng đúng trong trường hợp for ... of.
Axios interceptor la gi? Tại sao lại được quan tâm nhiều đến vậy, hiệu quả của việc sử dụng interceptors trong Axios như thế nào? Và cơ chế lấy lại token khi token hết hạn khi sử dụng interceptors axios kết hợp với refreshToken.
Big data là gì? Database là gì? Thường ngày các bạn đã nghe về cụm từ "Big data". Vậy Big data là gì? Mongodb là gì? và tại sao Big data lại quan trọng và phổ biến đến như vậy, ngoài Oracle.. Thì Mongodb có xử lý được big data hay không thì trong bài viết này, chúng ta sẽ đi tìm hiểu thế nào.
Firebase là gì? Hầu hết bất kỳ ứng dụng trên app hoặc web cũng xác thực người dùng khi muốn sử dụng những chức năng trong ứng dụng. Trong thời buổi hiện nay, ngoài việc tự cho người dùng tạo tài khoản trên server của mình nghĩa là cho user đăng ký trực tiếp trên trang của mình, thì còn có việc hỗ trợ thêm việc sign up / sign in qua các nhà cung cấp authentication khác, chẳng hạn như Google, Facebook hoặc Twitter.
Local Storage la gì? Như chúng ta đã biết, HTTP là một giao thức không trạng thái, máy khách khởi tạo một yêu cầu, máy chủ xử lý yêu cầu từ máy khách và sau đó gửi phản hồi lại cho máy khách. Sau khi quá trình trao đổi dữ liệu giữa máy khách và máy chủ hoàn tất, kết nối giữa máy chủ và máy khách sẽ bị đóng lại, máy chủ hầu như không có thông tin để xác định người dùng nào đã gửi yêu cầu cũng như không thể ghi lại chuỗi yêu cầu của người dùng truy cập mỗi khi dữ liệu được trao đổi Cần thiết lập kết nối mới, sau này có người dùng, website muốn hiểu được nhu cầu của người dùng, tuy nhiên theo hiện trường lúc đó thì rõ ràng là không thể đáp ứng được nhu cầu công việc, chính vì vậy việc lưu trữ cục bộ(Local Storage) ra đời có thể bù đắp phần phần nào trạng thái của giao thức HTTP.
Lập trình là một khái niệm rộng cho tất cả những ai đang đi theo con đường lập trình viên. Tư duy lập trình cũng bao gồm trong đó, bởi thế những nhà tuyển dụng họ thường đánh giá cao khả năng tư duy của các ứng viên.
Object javascript là gì? Thật ra hầu hết mọi thứ trong javascript đều là object. Nhưng ở bài post này thì, chúng ta sẽ tìm hiểu những method object được sử dụng nhiều và rộng rãi nhất, đến nỗi dự án nào cũng phải sử dụng đến.
Project Express và Node.Js - Đây là một trong số câu hỏi tuần này. Một kiến trúc tốt chưa chắc phù hợp với người này, người kia. Nhưng xét về tổng thể thì 10 người 8 người đồng ý
Shallow copying vs Deep copying in Object javascript. Nghe tiêu đề thôi cũng gây war rồi. Nhưng mới đây, trong vụ phỏng vấn dev js thì có hỏi câu hỏi này, dù kết quả có tiến bộ hơn những đợt phỏng vấn cách đây vài tháng nhưng đa số các bạn hiểu về câu hỏi này nhưng vẫn trả lời chưa rõ hoặc không giải thích được.
Array method trong javascript. Ngôn ngữ nào cũng vậy, phải nắm những chức năng quan trọng để giải quyết nhanh hơn chư không riêng gì về javascript. Giờ đây qua bài viết này các bạn lịa co thể trang bị thêm cho mình những bí kíp tuy nhỏ nhưng võ công lại thượng thừa.
Promise Javascript trong bài viết này sẽ nói đến một tình huống rất gần gũi với chúng ta. Thông qua hai việc đó là đi nhậu và dẫn người yêu đi ăn gà KFC là bạn có thể hiểu về lập trình đồng bộ trong Javascript.
Kinh nghiệm lập trình là một cụm từ được mỗi người định nghĩa khác nhau. Nhưng với tôi thì kinh nghiệm lập trình có nhiều yếu tố hình thành nên. Và hầu hết mọi người đều chỉ ra kinh nghiêm lập trình qua thời gian, chưa đủ, và bai viết này tôi sẽ nói lên quan điểm của tôi về vấn đề này.
WebSocket là gì? WebSocket là một giao thức giao tiếp full-duplex (song công hay gọi là hai hướng) trên một kết nối TCP duy nhất. Sự xuất hiện của nó giúp việc trao đổi dữ liệu giữa máy khách và máy chủ dễ dàng hơn. WebSocket thường được sử dụng trong các tình huống có yêu cầu thời gian thực cao, chẳng hạn như dữ liệu sự kiện, cổ phiếu và chứng khoán, trò chuyện trên web và đồ họa trực tuyến.
Là một lập trình viên bạn không thể không biết một trong những tính năng tốt nhất của JavaScript là triển khai các funtions. Không giống như các ngôn ngữ lập trình khác cung cấp các loại hàm khác nhau cho các kịch bản khác nhau, nhưng đối với ngôn ngữ lập trình JavaScript chỉ cung cấp cho chúng ta một loại hàm bao gồm tất cả các kịch bản như (Regular Function, Anonymous Function, Arrow Function...)
Build chat system sử dụng với heroku. Đây là phần thứ 5 trong series "Đề tài: Build một blog + chat sử dụng nodejs, expressjs, mongodb, firebase". Nhiều việc qúa nên hôm nay, mới có thời gian build giao diện chat lên heroku cho các bạn. Bài post này chủ yếu hướng dẫn các bạn push project lên heroku.
Ở phần trước chúng ta đã đến cập đến tuyền phòng thủ đầu tiên trong hệ thống [DDD bán vé tàu TẾT - Đồng thời cao], ở đó có một khái niệm cân được quan tâm đó là `circuitBreaker` và `RateLimiter`. Cốt lõi là `circuitBreaker` nó sẽ phát huy tác dụng trong trường hợp đó chính là quấy bán vé quá tải thì phải lập tức chuyển qua trạng thái OPEN.
Check condition javascript - 90% bài này dành cho các bạn mới vào hoặc chuẩn bị vào một công ty. Thật ra việc làm cho code tường minh (clean code), rõ ràng thực tế không phải cho chương trình bạn viết mà là cho những developers khác, và cho bản thân của bạn ở những ứng dụng tiếp theo và trong tương lai. Bài viết này một phần nào đó để giúp bạn vượt qua những trường hợp đó và để giúp bạn tổ chức các câu lệnh có điều kiện một cách tốt hơn.
Hướng dẫn sử dụng GIT chỉ 1 phút với 25 câu lệnh, bạn có thể hiểu ngay lập tức mà không cần phải đi tìm nhiều bài viết khác nhau.
<p>Trong bài viết này tôi sẽ giúp các bạn hiểu thêm về API Web Speech trong javascript. Như các bạn biết rồi, API Web Speech rất mạnh mẽ trong việc cho phép người dùng ghi lại lời nói của mình, dạng ghi âm vậy đó. Không những như vậy, API Web Speech giúp chúng ta có thể làm điều ngược lại, đó là đọc văn bản online.</p>
Google Drive là một dịch vụ lưu trữ có sẵn cho người dùng Google và cho phép bạn lưu trữ tất cả các loại files. Google api cho phép developers thao tác với API để có thể tạo folders, upload file rất hữu ích như một số trường hợp làm dịch vụ lưu trữ.
Mongoose statics vs methods chắc hẳn những ai bước vào tìm hiểu NoSQL cụ thể là Mongodb thì đã từng nghe qua về hai khái niệm đó. Và hơn nữa đó là virtual và middleware trong mongoose.
RabbitMQ khái niệm không còn xa lạ gì cho anh em làm hệ thống backend, và có một câu hỏi được đặt ra nhiều nhất trên các diễn đàn lớn là làm sao RabbitMQ khởi động lại mà những tin nhắn cũ không bị mất đi, bài viết này giúp bạn nhanh gọn lẹ.
Hello everyone, while i was testing login system of zoom.us i noticed that when you sign-up with facebook , if your facebook account hasn’t have email address it’s asks you to enter a new email address.
Google Analytics, Facebook Login cùng với việc sử dụng 3rd-party thì mang lại nhiều tiện ích thế nhưng có một nhược điểm lớn đó là khiến tải trang chậm hơn so với trước đây.
detect sự kiện 'lắc' điện thoại như momo, zalo - Trong bài viết này chúng ta sẽ làm một ví dụ nho nhỏ để biết sức mạng của javascript có thể làm được những gì so với app. Các bạn biết đấy trong các ứng dụng mobile ví dụ như momo hay zalo thì có những chương trình lắc lì xì qua app. vậy event lắc đó như thế nào trong app thì tôi không quan tâm nhưng với một devjs như tôi thì tôi tin javascript đủ khả năng làm được điều đó.
Việc mongodb query chậm thì nó có nhiều yếu tố như phân bô dữ liệu chưa hợp lý, trong một collection chứa quá nhiều documents hay đại loại là chưa create index trong mongodb. Nhưng ở đây là một vấn đề khác.
Có nhiều bạn vẫn đang thắc mắc hoặc đang đi tìm giải pháp is writing.. or typing khi làm chat (conversations). Và bài này mình sẽ giới thiệu một cách trong nhiều cách, nhưng mình thấy cách này tương đối ngon nên mạo muội chia sẻ đến cho các bạn...
Intl.NumberFormat mặc dù được hỗ trợ trong những brower hiện đại để Javascript format giá tiền nhưng nếu một lúc nào đó devjs muốn viết cho bản thân mình or cho team một chức năng tương tự thì làm như thế nào? Bài dưới đây sẽ có những phương án rất đơn giản mà hiệu quả Javascript format giá tiền.
Extra data from javascript, hay còn gọi là trích xuất dữ liệu là một phương pháp lâu đời giúp lập trình viên có thể chuyển đổi một dữ liệu gốc sang dữ liệu mới với nhiều cách khác nhau. Giống như photocopy vậy.
How to Remove Array Duplicates in ES6. Có những câu hỏi tôi thường thấy trên những diễn đàn như reddit hay stackoverflow vấn đề làm sao để loại bỏ những phần tử trùng nhau trong array một cách nhanh gọn mà không làm code của bạn rối tung lên. Sau đây bài viết sẽ giúp bạn làm được điều đó với 6 cách loại bỏ phần tử trùng lặp.
findOneAndUpdate mongoose là một hàm mà được sử dụng trong nhiều trường hợp. Trong Mongodb có nhiều functions để update một document như updateOne, nhưng đôi lúc chúng ta nên làm việc với một hoạt động mà lượng truy cập đồng thời cao, do đó findOneAndUpdate mongodb là một function nên quan tâm.
Đa luồng là một công nghệ quan trọng trong phát triển phần mềm hiện đại nhằm nâng cao hiệu suất và khả năng phản hồi của ứng dụng. Tuy nhiên, do tính chất đơn luồng của JavaScript nên điều này không phổ biến trên web.
UUID là gì? Hẳn là mỗi developer cũng đã nghe về UUID rồi, nói sơ qua thì UUID là viết tắt của Universally Unique IDentifier, có thể hiểu đó là một định danh duy nhất và không có cái thứ hai. Hay nói cách khác đó là một id duy nhất trong global.
Phần này giúp bạn xây dựng một ứng dụng chat sử dụng express với socket.io. Sau đó sẽ deploy lên heroku. Việc xây dựng từng bước, giúp các bạn hiểu hơn về một phần nào đó về hệ thống realtime.
Tự học javascript - Hẳn là trong mỗi lập trình viên Javascipt đều có cho mình một lib về các func hữu ích, và nó sẽ đi theo mình suốt một dự án hay dài hơn nữa là cả cuộc đời thăng trầm. Và đây tôi sẽ chia sẻ cho các bạn lib của tôi, lúc đầu tôi làm es5 nhưng sau này tôi đã chuyển về es6 để thuận tiện phù hợp cho các dự án tiếp theo. Các bạn nào chưa hiểu về cấu trúc của es5 khác với es6 như thế nào thì tôi khuyên hãy đọc qua bài này.
Mô hình MVC cho đến thời điểm này thì theo tôi vẫn giữ một vị trí đặc biệt, mặc dù đã có những pattern khác ra đời. MVC giúp chúng ta chia nhỏ modules mà dễ dàng quản lý, và socketio sẽ được tích hợp như thế nào?
Flatten an array of arrays - Có nhiều trường hợp chúng ta sẽ gặp những dữ liệu trả về từ API ở một nhà cung cấp nào đó. Có một sự bối rối không hề nhẹ cho những bạn chưa từng sử dụng hay chưa từng biết về khái niệm này. Trong bài viết này, tips javascript sẽ cung cấp cho bạn 4 mẹo đơn giản nhưng vô cùng tiện lợi khi muốn làm phẳng mảng trong javascript.
Elasticsearch không còn xa lại, một công cụ mạnh mẽ truy vấn dữ liệu. Dể hiểu vì sao các công ty tuyển dụng đều thêm điều kiện "Ưu tiên có kinh nghiệm làm việc với Elasticsearch". Tôi cam đoan bạn sẽ không phí tiền đóng NET để đọc bài viết này.
Spread Operator là gì? Spread Operator trong javascript là một syntax rất mạnh mẽ trong javascript cụ thể là ES6. Nhưng thực tế, có rất nhiều devjs vẫn chưa khai thác hết sự hiểu quả của chức năng này. Khi nào sử dụng Spread Operator thì trong bài này chúng ta lướt qua 5 cách sử dụng phổ biến nhất.
Code snippet javascript String. Hôm nay tôi xin chia sẻ một bài viết mà tôi thấy rất rất hay về những snippet javascript có thể giúp developers javascript xử lý những tính năng mà mình cần một cách rất nhanh và gọn. Đó là bài 127 Helpful JavaScript Snippets You Can Learn in 30 Seconds or Less được viết trên medium.com
Không có nghi ngờ gì khi nói rằng JavaScript là một trong những ngôn ngữ lập trình phổ biến nhất trong phát triển ứng dụng hiện đại bao gồm cả Front-end và back-end. Cho dù bạn đang sử dụng React, Vue hay Angular, nó chỉ là JavaScript. JS xoay quanh một hệ sinh thái quan trọng và rộng lớn và cung cấp vô số khuôn khổ và thư viện có thể giúp chúng tôi phát triển ứng dụng nhanh hơn
Mongodb nodejs nếu như bạn đã làm qua rồi thì không thể bỏ qua mongoose, một thư viện ODM cho mongodb và nodejs. Trong ví dụ hôm nay chúng ta sẽ thử tìm hiểu về query mongodb sử dụng Mongoose.
nodejs http request là một chức năng cốt lõi cho các ngôn ngữ hiện đại và là một trong những điều đầu tiên mà nhiều developer nên học nhiều cách để thích nghi với môi trường mới. Khi nói đến Node.js có một số lượng hợp lý các giải pháp cho vấn đề này cả được xây dựng trong ngôn ngữ và bởi cộng đồng. Sau đây mình liệt kê cho các bạn những cách phổ biến nhất mà các dev hay sử dụng nhất... Và cũng tất nhiên bạn nên tìm hiểu xem Http Request là gì trước khi đọc bài này.
Object là thứ làm cho JavaScript trở thành một ngôn ngữ lập trình mạnh mẽ. Các đối tượng cho phép bạn nhóm các kiểu dữ liệu khác nhau. Nếu bạn muốn tìm hiểu bất kỳ khung JavaScript mới nào như React, Vue hoặc Angular, bạn phải biết cách sử dụng các đối tượng và các phương thức của nó.
Cách connect redis này là một cách tạo độ tin cậy và giám sát hệ thống một cách hiệu quả trong kiến trúc microservice, đến nay chúng tôi vẫn sử dụng cách này triển khai cho nhiều dự án.
Khi các chức năng của các ngôn ngữ lập trình hiện nay trở nên hoàn thiện và phức tạp hơn, việc quản lý bộ nhớ rất dễ bị bỏ qua. Bài viết này sẽ thảo luận về rò rỉ bộ nhớ trong JavaScript và cách xử lý chúng, để bạn có thể xử lý tốt hơn các vấn đề do rò rỉ bộ nhớ khi viết mã trong JavaScript
Google Analytics là một công cụ mạnh mẽ giúp cho chúng ta có thể thống kế được nhiều đối tượng trong hệ thống, nhưng Google Analytics vẫn là một trở ngại với hiệu suất của website chúng tôi mỗi khi load.
Xử lý lỗi trong javascript thì có thể nghĩ tới việc thêm try catch finally. Nhưng ở đây có mấy ai hiểu và sử dụng finally để xử lý lỗi hay chưa? Bài này sẽ phân tích tác dụng của finally trong javascript một cách kỹ nhất dành cho mọi level.
Ở bài viết trước, chúng ta đã làm rõ về cách lưu trữ token ở đâu trên Client. Và cách nào an toàn hơn và hạn chế được các XSS attack. Do đó ở bài này chúng ta sẽ triển khai xây dựng một RESTful APIs bảo mật token hạn chế việc đánh cắp khi mà càng ngày hackers luôn luôn rình mò ở quanh ta :D.
Eventloop là một phần quan trọng của hệ thống runtime của Node.js, nó liên quan đến callback, thread nhưng để hiểu khái niệm này không đơn giản. Bài viết này phân tích rất kỹ về vấn đề này.
Học JavaScript từ cơ bản đến nâng cao ai cũng muốn, nhưng học ở đâu, bỏ tiền học khoá online. Vô nghĩa, với 5 trang web học JavaScript này khiến bạn thay đổi một cách kinh ngạc.
Ajax jquery không còn lạ gì với anh em developers nữa, những có nhiều thứ tôi nghĩ sẽ có nhiều bạn còn chưa biết và chưa sử dụng bao giờ như sử dụng ajax with Promises and deferred objects? Làm thể nào gọi Multiple AJAX một cách tốt nhất? Thì trong bài viết này sẽ giới thiệu sâu và kỹ hơn về ajax.
Switch case trong Javascript được tô vẽ nhiều trong những khoá học hay còn trong nhà trường. Nhưng ở thực tế rất ít khi chúng được sử dụng ở những lập trình viên có nhiều năm kinh nghiệm. Không phải vì nó không hay mà chính là vì.
Breadcrumbs là gì? Bạn có biết trong những trang TMĐT lớn như tiki, lazada hay shopee thì breadcrum đóng vai trò quan trọng như thế nào không? Hôm nay tôi mới tìm hiểu về breadcrumbs js để dùng seo website và tôi cũng đã tìm được những gì mình cần, chính vì thế hôm nay tôi sẽ hướng dẫn các bạn sử dụng một thư viện dùng trong jquery breadcrumb.
Loop with async await. Đây là một trường hợp sai lầm phổ biến và đi đâu tôi cũng bắt gặp những câu hỏi như vậy? Tại sao dùng foreach với async lại không cho kết quả đúng. Và có nhiều câu trả lời cho câu hỏi này, nhưng hầu như là đưa ra giải pháp khác chứ chưa giải thích được vì sao async await không nên sử dụng trong foreach.
Unit test NodeJS rất dễ viết và có thể được thực thi mà hầu như không cần cấu hình gì cả chỉ cần install package là ok, vì chúng thường được thực hiện chỉ bằng một lệnh gọi function.
Các vị trí của lập trình viên được bổ nhiệm như thế nào thì theo tuỳ loại môi trường trong công ty. Nhưng ở bài viết này, có một tình huống mà có 4 cách xử lý, thì chúng ta cùng xem xét, mình thuộc level nào?
IntersectionObserver là gì? Dạo gần đây tôi đã phát hiện ra một số tính năng mà tôi chưa chia sẻ cho các bạn trong quá trình viết bài về tips and tricks trong javascript bao gồm (Labeled Statement, parseURL, IntersectionObserver). Có thể những tính năng trong bài viết này sẽ là một trong những ý tưởng tốt để giải quyết một số vấn đề của các bạn.
settimer javascript - Như tiêu đề "Thật nực cười khi nói về setTimeout" bởi vì sao tôi nói về vấn đề này cho các bạn. Bởi vì các bạn quá chủ quan, các bạn cho rằng bạn đã hiểu về javascript. Và đây là một tình huống mới đây thôi, tôi đã gặp. Hãy xem tình huống đó như thế nào và vì sao nó thật nực cười.
Học javascript cơ bản hay nâng cao. Hay bạn là người mới học lập trình hay là lâu năm rồi thì cũng phải hiểu trong bất cứ ngành nghề gì thì cũng có những nguyên tắc nhất định cần phải nắm và học một cách thành thạo. Nếu không bạn biết đấy, quy luật đào thải sẽ cuốn đi những người không nắm được những nguyên tắc trong nghề lập trình viên. Nếu là bạn thì bạn sẽ nghĩ về những nguyên tắc đó như thế nào?
Pluck javascript array - Việc bạn giải quyết vấn đề trong lập trình nhanh hay chậm, dễ hiểu hay phức tạp. Hoặc ở một khía cạnh khác, bạn muốn trình bày vấn đề bạn gặp phải cho một đồng nghiệp nghe và nhờ sự giúp đỡ từ họ, nhưng bạn thực sự không biết phải giải thích thế nào để có thể giải quyết được vấn đề bạn gặp phải. Thì bạn nên xem lại cách đặt câu hỏi của mình?
Chắc hẳn 3 methods này call(), apply() và bind() không còn xa lạ gì đối với những bạn chuyên về javascript (nodejs, mongodb). Và quan trọng là nhiều tài liệu cũng nói về 3 methods này, nhưng trường hợp nào sử dụng và sử dụng chúng có tác dụng gì thì chưa thấy tài liệu nào nói rõ.
Promise và async-await những khái niệm không còn xa lạ gì nữa đối với devjs hiện nay, bởi vì nó quá phổ biến và được sử dụng hằng ngày trong nodejs, reactjs... rất nhiều. Nhưng hầu hết, chúng ta để ý kỹ xem, nếu như dùng promise rồi thì sẽ không dùng async-await và ngược lại. Tại sao?
Transaction là gì? Tôi tin rằng những lập trình viên đã sử dụng cơ sở dữ liệu quan hệ chính thống không quá xa lạ với Transaction. Nhiều hoạt động dữ liệu can thiệp vào nhau và khi xảy ra lỗi trong bất kỳ hàm thực thi nào thì giao dịch sẽ bị hủy bỏ và dữ liệu sẽ được khôi phục, đảm bảo tính nhất quán của dữ liệu khi sửa đổi dữ liệu trong nhiều bảng cùng một lúc đó chính là Transaction.
Firebase push notification. Hay có thể gọi là firebase send notification from server. Bạn hình dung thế này, khi điện thoại của bạn nhận được notification bởi một ứng dụng mà bạn đã install và làm sao bạn lại nhận được notification đó.
Promise.all là gì? Tất cả những gì bạn biết về Promise.all là gì? Bạn đã dùng Promise.all khi nào? Performance khi dùng Promise.all thế nào? Những câu hỏi này, chúng ta sẽ cùng thảo luận trong bài viết này. Hy vọng, bạn có thể làm nhiều thứ hơn khi đọc xong bài viết này
DOM là gì trong HTML? DOM HTML trong Javascript được sử dụng và lập trình như thế nào? Hầu như những người đọc bài viết này, tôi dám chắc là họ đã từng kinh qua nhiều thư viện Javascript, và biết nên sử dụng DOM khi nào? Và tại sao lại cần tìm hiểu về DOM.
verify sms firebase. Cho đến này nay việc login một tài khoản user không hề khó khăn, nhưng việc xác thực và bảo mật của những tài khoản đó vô cùng quan trọng, nếu như các bạn chỉ làm cho các nhận thì thiết nghĩ sẽ không có đủ tiền để trang trải chi phí về việc đó, nhưng kể từ khi verify sms firebase cung cấp miễn phí thì câu chuyện thì rất đơn giản. Trong bài viết này
Singleton là gì? Có lẽ một trong những khái niệm được nhắc tới nhiều nhất trên google. Nhưng tất cả bài viết đó đều mang hơi hướng lý thuyết và không có một ví dụ thực tế nào dể cho chúng ta tìm hiểu. Sự thật đó là khi đọc xong, hầu như tôi hay các bạn đều không hiểu What is singleton? Và trong Series về Design pattern này, tôi cũng nói rõ nhất có thể về Singleton pattern kèm theo đó là một ví dụ thực tế, chắc rằng những lập trình viên có thể đều hiểu sau khi đọc bài viết này.
Web Scraping là gì? Web Scraping là trích xuất dữ liệu từ một bất kỳ website hay còn gọi là "cào" dữ liệu trên một trang web. Không giống như quá trình trích xuất dữ liệu thủ công, Web Scraping sử dụng tự động hóa thông minh để lấy hàng trăm, hàng triệu hoặc thậm chí hàng tỷ dữ liệu trên internet. Học web scraping cũng không khó, nhất là những lập trình viên sử dụng javascript và nodejs.
thủ thuật javascript - Để giúp các bạn mới về javascript thì bài này sẽ giúp các bạn hiểu "Các mẹo hữu ích để viết JavaScript ngắn gọn và hiệu quả hơn".
Reduce javascript - Qua một cuộc khảo sát về độ khó của các method thì 90% câu trả lời đó chính là reduce method. Không quá bất ngờ, bời vì sử dụng reduce gây hiểu nhầm nhất, và cũng gây khó hiểu nhất trong các method. Lý do vì sao? Tôi sẽ nói cho các bạn nghe ngay dưới đây.
Closures là một trong những khái niệm quan trọng nhất, và cũng bị hiểu lầm nhiều nhất trong programming patterns. Vì vậy trong bài viết này chúng ta sẽ lướt qua một vài ví dụ và sẽ hiểu sâu hơn về chúng.
Lộ trình học javascript - Với nhiều năm chinh chiến ở nhiều ngôn ngữ khác nhau như PHP, JAVA, DATABASE, JAVASCRIPT... Đến đây tôi có thể nói cho các bạn một điều rằng, bạn đừng sợ hãi hay bất an chỉ vì lý do mình còn nhiều lỗ hổng trong vấn đề lập trình hay vì mình chưa hiểu hết những thủ thuật trong lập trình.
Lập trình React JS nghe có vẻ cao siêu và tôi chắc chắn rằng sẽ có nhiều cơ hội trong tương lai của bạn. Nhưng để học React JS một cách khôn khéo và nhanh chóng hiểu được những cú pháp trong React JS là không phải ai cũng có thể làm dược trong một thời gian ngắn. Và nếu bạn đọc được bài viết này thì chỉ 3 tháng thôi bạn sẽ có thể vươn lên một bậc rồi.
Tăng hiệu suất của các ứng dụng web ngày càng trở nên quan trọng. Tỷ lệ hoạt động kinh tế trực tuyến tiếp tục tăng và 5% nền kinh tế hiện tại ở các nước phát triển xảy ra trên Internet (kiểm tra số liệu thống kê của các tài nguyên dưới đây). Thời đại chúng ta đang có hiện nay đòi hỏi phải liên tục trực tuyến và kết nối, điều đó có nghĩa là người dùng có kỳ vọng cao hơn về hiệu suất. Nếu trang web không phản hồi kịp thời hoặc nếu có sự chậm trễ đáng chú ý trong ứng dụng, người dùng sẽ sớm tìm đến đối thủ cạnh tranh.