Gần đây mình chơi redisearch thay thế cho elasticsearch. Vì đọc nhiều dự án thương mại sử dụng redisearch, và cũng tham khảo nhiều chỗ, chính vì vậy viết lại cho anh em cách sử dụng redisearch.
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.
Xử lý chuỗi trong javascript là một kỹ năng cơ bản cho những bạn mới bắt đầu học javascript. Vì String, Object, Array được sử dụng rất nhiều trong một ứng dụng javascript. Trong bài viết này, tôi sẽ liệt kệ ra nhiều method dành cho String. Hy vọng sẽ giúp bạn hiểu hơn về String javascript.
Trong bài viết này, chúng tôi đã tổng hợp lại các handbook về học javascript từ cơ bản đến nâng cao. Nhằm giúp cho các bạn đang và sẽ bước trên con đường javascript. Chúc các bạn thành công!
Lập trình javascript là quá trình học và hiểu. Hiểu ở đây, không phải là để code chạy đúng là xong, còn nhanh chậm hay code khó đọc cho những người khác thì không quan tâm. Đó là sai lầm lớn nhất trong nghề lập trình. Trong code của bạn, điều quan trọng nhất có ba yếu tố đó là.
Chắc chắn chúng ta sẽ phải thêm một tuyến phòng thủ tiếp theo để bảo về Redis, tôi nói. Vậy cái gì có performance tốt hơn Redis cache nữa... Bỗng thằng em INTERN cất tiếng nói, Anh em thấy thế này, giọng nó khá trong trẻo..
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.
Array trong javascript là một khía cạnh mà thú thật là tips javascript rất thích làm việc với nó. Từ back-end cho tới Front-end đi đâu cũng thấy người ta sử dụng nó song song với Object để giải quyết và lưu trữ dữ liệu. Chính vì vậy trong javascript đã có một sự ưu tiên không hề nhẹ khi liên tiếp bổ sung những method cho array kể từ khi javascript ra đời.
Reduce javascript là gì? Nói đến javascript reduce array có thể nhiều bạn hình dung mới chỉ được một phần, hoặc các bạn ít sử dụng đến chúng. Trong bài viết này mình sẽ đề cập nhiều hơn về chức năng hoạt động rất rộng của reduce trong javascript.
Việc sử dụng shorthand coding đương nhiên là được trú trọng nhiều trong mỗi lập trình viên, vì nó giúp chúng ta tiết kiệm được nhiều thời gian gõ code, tất nhiên là việc debug cũng dễ dàng hơn. Bài viết này sẽ giới thiệu 10 kỹ thuật viết code nhanh và gọn được sử dụng nhiều đối với tôi.
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.
Lượng dữ liệu mới được thêm vào trong một bảng duy nhất đạt 250.000 mỗi ngày! Số lượng yêu cầu mỗi giây trong thời kỳ cao điểm lên tới 10.000! Con số thật là ấn tượng. Shopee có thể đã vượt qua con số đó tại thời điểm tôi đang viết bài này.
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.
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?
Sau khi bạn setup được vấn đề hạn chế truy cập Mongodb với ip, thì tiếp đến chúng ta sẽ đi tới thực hiện bước tiếp theo với hai khái niệm thân quen trong lập trình đó là Authentication và Authorization.Để nói sơ qua về 2 khái niệm này thì tôi lấy một ví dụ thực tế.
Lương lập trình viên cao, cho tôi hỏi cao là bao nhiêu? Như thế nào để một ứng viên lập trình có một mức lương như mong muốn? Bạn phải cần chuẩn bị những gì cho ngày mai đi phỏng vấn? Hay chỉ đọc trên internet mấy bài viết tào lao bí đao? Câu trả lời nằm đây.
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.
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?
Khi bạn học đến ES6 thì việc sử dụng Filter và Find thường xuyên hơn, nhưng khi nào nên sử dụng filter và khi nào nên sử dụng Find thì trong bài viết này, chúng ta sẽ xem xét một số ví dụ, hy vọng qua những ví dụ này chúng ta sẽ hiểu hơn và có thể cải thiện được performance code của chính bạn.
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ể.
Dù năm mới đã trôi qua được vài tháng nhưng năm 2020 vẫn chưa phải là một kết cục có thể nói trước được, ngành lập trình luôn thay đổi và dự báo chưa bao giờ dừng lại. Đồng thời, là một nhà phát triển phần mềm, việc tồn tại không hề dễ dàng. Chính vì vậy hay xem mình định hướng thế nào trong năm 2021
Với một developer javascript (devjs) trong một thời gian làm việc thì sẽ biết được rằng object trong JavaScript là mutable. Bất kể bạn đã định nghĩa và khai báo chúng với const, nhưng điều đó không có nghĩa rằng object đó là immutable. Trước đây, chúng tôi có trình bày một tipjs đó là "Unison const và Object.freeze()"
MongoDB hay được gọi là Mongo, là một cơ sở dữ liệu lưu trữ thông tin được sử dụng trong nhiều ứng dụng web hiện đại tính đến thời điểm bây giờ. Giống như Mysql, hay Oracle thì việc sử dụng Mongo phải tuân thủ các phương pháp bảo mật tốt nhất và Series về việc bảo mật sẽ giúp bạn tự tin hơn.
Webpack là một module bundler cho phép bạn viết bất kỳ định dạng module nào (cũng có thể kết hợp), sau đó biên dịch cho trình duyệt. Webpack phân tách mã dựa trên cách nó được sử dụng trong ứng dụng của bạn và với phân tích trách nhiệm theo module này, việc quản lý, gỡ lỗi, xác minh và kiểm tra mã của bạn trở nên dễ dàng hơn nhiều.
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.
Full Stack là gì? Có thể nói cụm từ "Full Stack" là một cao thủ trong giới võ lâm - đã từng té xuống bao nhiêu vực và được học nhiều bí kíp, như Front End, Back End, API, Server, Security, Testing, Database. Là một cao thủ nên anh ta có thể luyện võ công (working) ở bất cứ hang động nào (ở tầng nào của một ứng dụng).
Như tiêu đề hôm nay tôi sẽ hiến kế cho các bạn làm sao thành thạo javascript thông qua dành nhiều thời gian chơi game hoặc lướt facebook trong ngày.Có nhiều bạn và thậm chí cụm từ làm thế nào để trở thành một lập trình viên giỏi. Câu trả lời là quá dễ dàng khi bạn đọc bài viết này. Trước tiên
Trước tiên tôi muốn đưa ra một con số thống kê rất thú vị cho các bạn (dev) đó là ngày nay có hơn 1 tỷ trang web và blog trên thế giới và khoảng 409 triệu người xem 23,6 tỷ trang trên WordPress mỗi tháng. Và theo nghiên cứu, có rất nhiều lập trình viên chia sẻ chuyên môn của họ thông qua blog. Xem các số liệu thống kê sau
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.
Javascript pagination là một thủ thuật không mới, có ưu điểm rõ nhất là làm mượt mà ứng dụng vì dữ liệu lấy lên được chia ra nhiều đoạn khác nhau.
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.
Ứng dụng đôi khi lưu trữ các biến môi trường (environment) dưới dạng constant trong code của team. Điều đó dễ hiểu vì sao .env phải nghiêm ngặt về sự tách biệt giữa code và environment.
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.
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.
For in javascript. Loop là một tips không thể tránh khỏi khi lập trình chức năng. Nhưng có khi nào bạn đã từng phạm phải những sai lầm mà tipjs chuẩn bị nói dưới đây, và cách khắc phục những vấn để đó như thế nào đây.
Đăng nhập là chức năng thường được sử dụng trong mọi trang web hay những app hiện nay. Không khó để nhận ra vấn đề này đang được quan tâm nhất bởi vì lướt qua những page về lập trình như tips javascript, hay javascript Việt Nam đều thấy nhiều câu hỏi ở đó. Thật sự bạn có biết khi enter thì cơ chế nó hoạt động như thế nào không? Và hiện nay, những ứng dụng lớn họ triển khai login như thế nào? Hôm nay chúng tôi sẽ giới thiệu một số phương pháp đăng nhập phổ biến nhất
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.
Hướng dẫn backup MongoDB chỉ trong vòng 1 phút, có thể chạy tự động cho dù chúng ta đang ngủ đi chăng nữa. Nhưng điều quan trọng là backup rồi, lưu database đó ở đâu?
isNaN và Number.isNaN trong javascript gây nhiều nhầm lẫn cho các devjs mới thậm chí là những devjs có nhiều kinh nghiệm. Nếu bạn trả lời câu hỏi này một các rành mạch thì không cần đọc bài viết này nữa, ngược lại thì bạn nên dành thời gian tìm hiểu isNaN trong javascript là gì?
Các lập trình viên bình thường thì viết code chồng lên code, LTV cao hơn viết code một cách thanh lịch và đơn giản code. Nhìn vào hiểu ngay.
Functional Programming là cách tiếp cận mới trong việc phát triển một chương trình ứng dụng. Nếu ngày xưa có OOP (Object-Oriented Programming) hay còn gọi là lập trình hướng đối tượng thì ngày này chúng ta lại có FP (Functional Programming). Bài viết là là đủ cho bạn...
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.
Lộ trình Backend không hề đơn giản nhưng không phải vì thế mà bỏ cuộc, chính vì vậy bài viết này đưa ra 7 hình ảnh các bạn có thể hiểu được các hệ thống lớn triển khai như thế nào? Một bài viết giúp các bạn rút ngắn thời gian học backend
performance javascript - Bài toán này mình sẽ chỉ ra có hai loại lập trình viên điển hình. Bây giờ, hãy tập trung bài viết này vào Javascript, vì Javascript đang mắc phải căn bệnh giống như mọi ngôn ngữ khác ngoài kia và một số mẹo nhỏ sẽ giúp bạn viết mã Javascript hiệu quả hơn. Hầu hết những lời khuyên này chỉ là lẽ thường, nhưng điều đó tạo ra sự khác biệt rất lớn khi xử lý hàng ngàn hoặc hàng trăm ngàn record.
Đa số nhiều trường hợp xảy ra giống nhau là đưa địa chỉ email thiếu hay thừa khiến người gửi mail send một cách mù quáng, và nội dung mail sẽ không bao giờ đến. Bạn có thể nghĩ đó là việc nhỏ, nhưng trong hệ thống sendMail nó là một vấn đề lớn.
const, let, var trong javascript. Một bài viết so sánh nhanh nếu bạn nào lười đọc về ý nghĩa sâu xa của những khái niệm đó. Còn nếu muốn tìm hiểu thật sâu để biết rằng vì sao có var rồi, lại thêm const và let nữa thì xin mời theo tôi.
Học nodejs. Hãy tưởng tượng một công ty giống như Twitter có thể gọi là ông lớn trong việc sử dụng công nghệ, tính năng chủ yếu của Twitter là phải nhận các tweet của hàng triệu người dùng khắp thế giới và ghi chúng vào cơ sở dữ liệu mỗi ngày.
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.
Node js là gì? Ngày càng có nhiều ứng dụng ra đời có sự đóng góp của Node. Ngày càng có nhiều lập trình viên tìm hiểu về Nodejs. Và ngày càng có nhiều bài viết phân tích về Node.js. Nhưng thật sự nodejs để làm gì? Và tại sao lại dụng thì có thể bạn chưa biết, và nếu có biết thì cũng chỉ một vài phần mà thôi. Hãy xem bài phân tích dưới đây, lúc đó bạn sẽ biết bạn ở đâu?
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.
Xử lý hình ảnh với Node giờ đây dễ dàng hơn bao giờ hết. Có rất nhiều thư viện hỗ trợ chúng ta như sharp, cloudinary... Nhưng trong bài biết này, tôi sẽ giới thiệu cho bạn một thư viện mới, cung cấp mạnh mẽ những API như Resizing, Crop...
Tối ưu tốc độ website là một điều rất quan trọng cho nên nhiều lập trình viên cứ nghĩ rằng đó là việc của backend hay việc này của những team khác, vì thế mình là mới ít kinh nghiệm nên chưa cần hoặc chưa cần biết về việc cải thiện hiệu suất của hệ thống. Đúng nhưng bài viết này cũng giúp bạn không phải có kinh nhiệm nhiều nhưng cũng nắm bắt được những điều quan trọng sau đây.
Tình cờ lướt qua Leonardo Maldonado một chuyên gia về Full Stack và kết quả đạt được ngoài mong đợi. Ngoài 33 concept của lão làng này thì còn nhiều bài viết của ông về javascript. Nay mình giới thiệu cho các bạn về 33 concept javascript...
JavaScript Reduce. Đây chính là một method không phức tạp nhưng thật sự là khó hiểu và không biết áp dụng khi nào trong ứng dụng của developers. Kể cả ngay những coder giỏi đôi khi cũng cảm thấy thực sự bối rối khi sử dụng reduce javascript method.
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 đề.
Refresh token là gì? Ở bài trước tôi đã hướng dẫn các bạn cách xác thực REST API với JWT(JSON Web Token) thông qua một Access Token, và hôm nay chúng ta tiếp tục tìm hiểu về Refresh Token. Tại sao lại có thêm Refresh Token? Và Refresh Token dùng để làm gì?
console.log là gì? Một câu hỏi hài hước vì ở bất kỳ đâu trong javascript các lập trình viên cũng quen thuộc với console.log. Nhưng tôi cá đôi lúc nó cũng khiến chúng ta rơi vào cảnh hỗn loạn khi print tất cả các record đều giống nhau. Tôi cũng vậy, trong khi viết code tôi cảm thấy bất tiện và tôi cảm thấy sự cần thiết khi out ra với các color mà tôi chỉ định. Bài viết này tôi sẽ thảo luận với các bạn về vấn đề này.
Có một điều đương nhiên là mọi developer js đều có thể làm việc với mọi môi trường khi sử dụng javascript, và đã làm quen với những điều tuyệt diệu và Javascript có thể làm cho bạn. Nhưng khác ở chỗ, performance mỗi người lại khác nhau, và từ đó level ngày càng tách biệt nhau. 8 mẹo tối ưu hóa hiệu suất JavaScript này sẽ giúp bạn thực hiện công việc của mình chuyên nghiệp hơn nữa...
Hướng dẫn GIT cho người mới bắt đầu. Hướng dẫn sử dụng git - Các lệnh cơ bản của GIT - được gói gọn trong Ebooks này. Các bạn có thể download free tại đây!
Đang ngồi làm việc thì một bạn qua hỏi, Anh ơi có API nào mà kiểm tra được người dùng có tương tác trên web của mình trong thời gian mình đặt không Anh?
Tài liệu học JavaScript từ Fresher cho đến Junior. Tài liệu có 106 chapter. Một cuốn sách học JavaScript hiệu quả, đó là một khoá học hoàn chỉnh.
Lập trình đồng bộ hay bất đồng bộ không đơn giản như những gì được viết trong nhiều blog, đó chỉ là lý thuyết, vậy làm sao chúng ta biết được hiệu suất của nó thế nào đây?
Mục đích của bài này giúp các bạn có thể hiểu được về **Stratery parttern js là gì?**, sử dụng trong những tình huống nào? Và dùng **Stratery parttern** như thế nào?
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
Hiểu rõ về git có lẽ giờ đây là điều bắt buộc đối với các developers hiện nay. Nhưng hình như đa số anh em chỉ biết mỗi push, pull, merge, rebase và một số thao tác cơ bản khác. Đến khi gặp những tình huống dưới đây mới cảm thấy thiếu hụt về kinh nghiệm sử dụng git.
HTML5 không phải là một điều gì quá mới đối với developers. Chúng tôi đã sử dụng một số tính năng của nó kể từ lần phát hành đầu tiên (tháng 1 năm 2008). Như một phần sáng kiến cảu dự án #100DaysOfCode, tôi đã xem xét kỹ lại danh sách tính năng HTML5. Xem những gì tôi tìm thấy? Tôi đã không thực sự sử dụng chúng cho đến bây giờ!
Không ai mong đợi điều này, nhưng JavaScript đã trở thành ngôn ngữ lập trình quan trọng nhất thế giới. - Douglas Crockford, JavaScript Architect at PayPal
<p>Đề bài: Hãy tìm họ tên F1, F2, F3 của chiếc SH 125i của anh A . Giải thích: Là bài toán tìm các đời chủ của chiếc xe của anh A. Nghe có vẻ đơn giản nhưng nó đơn giản thật, quan trọng của thuật toán này là tối ưu và performace thôi. Và tôi sẽ cho các bạn thấy Promise lợi hại thế nào? Cách 1 : chúng ta sử dụng async/await để giải quyết bài toán sau:</p>
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.
Là một lập trình viên mới tham gia vào một công ty mới, thì việc code không bàn tới, nhưng cách làm việc nhóm trên git cũng là một điều quan trọng không hề kém. Nếu như bạn không hiểu câu chuyện về sử dụng Git Flow trong một Team
Axios vs Fetch - Nếu như bạn đã từng làm việt với HTTP calls trong javascript hay nodejs thì bạn cũng đã từng sử dụng 1 trong 2 thằng này. Axios là một module mạnh mẽ và phổ biến trong javascript, và tương tự Fetch được phát hành 2015 cho đến nay
JSON (JavaScript Object Notation) được sử dụng rộng rãi trong việc chia sẻ dữ liệu với nhiều ngôn ngữ khác nhau. Nhờ tính đồng nhất và đơn giản trong việc xử lý dữ liệu.
Convert object to array javascript - Một câu hỏi tuy đơn giản nhưng đây là một câu hỏi với số lượng search trên google tại Việt Nam lên đến gần 300 lượt mỗi tháng. Điều đó có nghĩa là nhu cầu sử dụng array trong javascript rất nhiều. Vì thế, tipjs sẽ giới thiệu một số cách chuyển từ object sang array javascript.
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.
Lộ trình học javascript - Các bạn không cần học một khoá học nào cả? Nhấn mạnh rằng không cần theo một khoá học nào hết? Các bạn chỉ cần đi theo lộ trình và những gì không hiểu thì hãy tham khảo tại các blog của các chuyên gia, họ sẽ giải thích cặn kẽ cho bạn. Như
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.
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.
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 đó.
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.
reduce js hay còn gọi là hàm reduce trong Javascript là một hàm có sẵn trong thư viện của Javascript, cho phép bạn áp dụng một hàm lên một mảng và giảm nó xuống thành một giá trị duy nhất. Hàm reduce có cú pháp như sau
<p>Có thể series này dành cho những bạn mới bắt đầu hoặc còn lơ mơ với ngôn ngữ Javascript. Cho nên tôi hy vọng rằng Series này là một trong những chìa khoá giúp bạn hiểu sâu hơn về những khái niệm trong javascript.</p>
<p>Vậy câu hỏi đặt ra ở đây nhé: Nếu có async/await rồi thì Promise có còn lỗi thời? không cần thiết dùng đến hay không? Ở bài tiếp theo tôi sẽ cho các bạn câu trả lời mà hầu hết các LTV đều có thể chưa có câu trả lời rõ ràng hoặc chưa phân biệt được khi nào sử dụng hai loại đó. Và quan trọng hơn là lúc nào sử dụng async/await hay promise để đạt hiệu suất tối ưu.</p>
Build một project sử dụng nodejs, expressjs, mongodb, firebase. Gần đây chúng tôi nhận được nhiều ý kiến đóng góp cũng như muốn xây dựng một project thực tế. Chính vì thế, Tipjs sẽ quyết định xây dựng một project từng bước từ A tới Z dành cho các bạn. Đây cũng là lời cảm ơn dành cho các bạn đã theo dõi và ủng hộ page Tipjs Việt Nam trong thời gian qua.
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.
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.
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.
Sau khi ở part 2, devjs cũng đã hiểu vì sao chúng ta lại chọn buil a project with nodejs, expressjs, mongodb rồi. Và để tiếp tục Series này thì ở phần 3 này, chúng ta sẽ setup một project theo một quy chuẩn và rất phổ biến.
Giá như lúc mới học Array mà biết được bài viết sử dụng Emojis để hiểu về JavaScript Array Methods thì quá tuyệt vời. Còn gì bằng.
Nullish coalescing Operator chính là toán tử ?? được giới thiệu trong ES2020 cách đây không lâu. Nhưng sự hiện diện của ?? làm cho toán tử || đặt ra nhiều nghi vấn. Và có nhiều lập trình viên cho rằng đáng lẽ ra chức năng này phải ra sớm hơn chứ không phải chờ đến ES2020.
Chính vì JavaScript được dự đoán là chiếm lĩnh nhiều nhất trong các dự án, vì vậy các tính năng được đề xuất liên tục nhất là về các operators, syntax constructions, expressions...
Notes: none-blocking IO một cụm từ nhiều người nghe rồi, nhưng không hiểu nhiều vì mỗi người một giải thích. Cho nên nhân tiện mình xin giải thích dễ hiểu là thế này. Chúng ta sắp xếp công việc thứ tự là đọc sách, ăn cơm, chơi game (đó là IO), xong rồi mới đến đánh răng (blocking). Trong lập trình thì chúng ta có thể đánh răng trước chơi game, đó là (non-Blocking IO)
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.
Object.is() có nhiệm vụ so sánh hai đối tượng có bằng nhau hay không? Trước đây thì có toán tử == và ===, hầu hết lập trình viện thời nay đều quen thuộc với toán tử ===
Giải phóng RAM trên Linux, Lệnh check RAM Linux, Kiểm tra CPU Linux. Tất cả những câu trả lời đó sẽ có trong bài viết này. Một hướng dẫn rất cụ thể và hay dành cho các bạn làm quản trị hệ thống linux hay đi sâu hơn nữa đó là back-end.
jquery trước đây nó là một trong những yếu tố giúp anh em thành công trong việc deal lương với công ty các kiểu. Giờ càng ngày, những lập trình viên javascript họ đã ít xài rồi.
Array like object javascript. Bạn có bao giờ gặp phải lỗi "Uncaught TypeError: arrays.filter is not a function" khi sử dụng một array chưa? Và nếu gặp tình huống như vậy bạn đã xử lý như thế nào? Và bạn biết vì sao lại gây lỗi như vậy?
Học lập trình web, hay học lập trình bất cứ một ngôn ngữ nào như C, php, python… cũng phải có những lộ trình, nhưng nếu bạn đi sai ngay từ đầu thì có thể để quay lại cũng không ít thời gian. Với bài viết được đăng lên geeksforgeeks.org thì mọi chuyện sẽ dễ dàng hơn với các bạn.
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?
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...)
Trước tiên khi bạn đến với React Native thì bạn là: + Mới học về javascript? + Đã quá quen thuộc với javascript và thường xuyên sử dụng các tính năng ES6 / ES2015. Vậy thì có thể bài này đã lấy đi chút ít thời gian lãng phí của bạn và bạn có thể bỏ qua bài viết này. Có nhiều cú pháp có thể có vẻ kỳ lạ, khó hiểu hoặc đôi khi bạn không biết những gì cần tìm. Cho nên mình đã tham khảo và đã liệt kê một danh sách ngắn gọn các tính năng ES6 + phổ biến nhất mà mình thấy trong các ứng dụng và hướng dẫn của React Native. Có thể các liệt kê không hoàn toàn hoàn hảo nhưng mình nghĩ nó sẽ ít nhất giúp các bạn khi bắt đầu với React.
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.
Đâ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?
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
Performance JavaScript - Đây là một thử nghiệm của hackernoon.com nhưng để lại nhiều tranh cãi, và mỗi người một ý kiến. Và đây là ý kiến trong mọi ý kiến. Còn bạn thế nào?
Chặn quảng cáo trên chrome hay đại loại là loại bỏ tất cả những quảng cáo của website mình đang xem. Bởi vì chúng quá phiền toái, và nó khiến bạn sẽ hết hứng thú với nội dung của chính trang web mình đang xem. Tôi thật hiểu điều đó, nhưng bạn nên nhớ rằng tất cả mọi thứ trên internet đều là miễn phí.
Regular và Arrow Functions thường xuyên được sử dụng trong mỗi module của bất kỳ developer nào. Nhưng có khi nào devjs thật sự để ý rằng giữa Regular function và Arrow Functions khác nhau những gì và tại sao phải sử dụng 2 loại function như vậy không?
Javascript object array - hai khái niệm rất thân quen trong bất cứ một ngôn ngữ lập trình trong đó javascript. Nếu bạn không có thời gian thì hãy nhớ rằng: Javascript object array. Những trường hợp sử dụng array đó là khi bạn cần phụ thuộc vào thứ tự của các phần tử trong một collection, và khi thứ tự không quan trọng, hãy sử dụng các Object.
Và khi đến giờ G thì trang của chúng tôi không thể load. Sự việc khiến team của chúng tôi cảm thấy thất vọng, nhưng ngay sau đó My team bắt tay vào việc tối ưu hoá hệ thống này. Và sau 3 ngày
Convert value to String in javascript. Quan trọng trong tipjs này, chúng ta sẽ tìm ra một phương pháp đúng đắn để chuyển một giá trị sang chuỗi sử dụng javascript. Và thật bất ngờ đó không phải là value.toString().
Reddit, diễn đàn lớn nhất ở Mỹ và Thế Giới, gần đây đã có một bài đăng nóng. Một lập trình viên nói rằng anh ta đang say xỉn, một kỹ sư phần mềm đã có kinh nghiệm được 10 năm, và anh ta có rất nhiều điều để nói...
Spread Syntax là gì? Tiêu đề bài viết này là từ một câu hỏi của một bạn trên Group "Thảo luận về Javascript, ReactJS, VueJS, AngularJS Việt Nam". Và trong bài viết này chúng ta sẽ đi sâu về câu hỏi này?, Chúng ta sẽ nỗ lực giải thích (...) làm gì trong JavaScript. Hy vọng, điều này sẽ loại bỏ sự mập mờ trong khái niệm này cho các bạn, và cho những developer sẽ tìm thấy bài viết này trong tương lai và có cùng câu hỏi.
Ở 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.
Deep copy Object, Array, Function Javascript - Sau bài viết về "Sự khác nhau giữa Shallow copy và Deep copy javascript" thì có nhiều bạn đã hiểu hơn và có những bàn luận sâu sắc về chủ đề này. Và có nhiều bạn đã hỏi nếu dùng JSON.parse() thì sẽ bị miss những params như là NaN, function hay Symbol... Vậy có cách nào deep copy object, Array, Function Javascript một cách nhanh chóng và hiệu quả hay không?
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.
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.
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
Sử dụng FFmpeg trong nodejs. Trong thời đại mà video ngắn phổ biến như tiktok, facebook hay trên Piepme, là một lập trình viên, bạn phải hiểu: các nguyên tắc và kỹ thuật đằng sau việc chỉnh sửa video. Bài viết này mô tả ngắn gọn thành phần của các nguyên tắc của video và các công cụ chỉnh sửa video phổ biến, cũng như cách sử dụng FFmpeg trong NodeJS.
Memory leak trong javascript. Một đề tài mà không phải ai cũng muốn quan tâm, và có muốn quan tâm thì cũng không dễ có thể hiểu được về bộ nhớ javascript. Nhưng nếu như bạn hay theo dõi những bài viết trước thì nó quả là dễ dàng.
Bạn đã sử dụng Async / await như thế nào kể từ khi được giới thiệu bới ES7? Hay là code chạy thành công là xem như là thoả mãn? Chúng ta cũng đi một vài ví dụ để thấy có thể bạn đã mắc sai lầm trong khi sử dụng Async / await trong code của bạ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.
Scope in javascript. Đó là một khái niệm mà tôi không nghĩ những lập trình viên mới làm quen thì phạm vi trong javascript không hề dễ một chút nào? Và trước khi học những khái niệm như closure thì vì sao bạn phải học về scope trong javascript. Bài viết này sẽ cố gắng hết sức để giải thích phạm vi và chuỗi phạm vi một cách đơn giản nhất. Tips javascript hy vọng bạn có thể tiếp thu được cái gì đó trong những ví dụ cụ thể này.
OAuth 2.0 là gì? OAuth 2.0 là một giao thức tiêu chuẩn mở cho phép các ứng dụng truy cập vào dữ liệu được người thông qua những ứng dụng khác. Ví dụ: một trò chơi có thể lấy thông tin người dùng trong Facebook hoặc app theo dõi location có thể lấy thông tin người dùng trong Foursquare.
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"
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.
Filter javascript được sử dụng khi nào? Và cú pháp ra sao? Tất cả những câu hỏi này sẽ được tipjs khám phá trong bài post này. Việc tìm kiếm với những điều kiện trong Array() sẽ luôn là điều thú vị khi lập trình. Và việc sử dụng Filter() ES6 còn thú vị hơn nhiều.
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.
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ể.
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.
Thông qua một câu hỏi của một bạn dấu mặt, và đọc xong những câu trả lời của các lập trình viên trên Tips Javascript thì tốt nhất chúng ta nên thảo luận và tìm hiểu lại cách hoạt động của ... operator.
Array trong JavaScript. Ở bài viết trước chúng ta đã biết sử dụng array khi nào? và những method của array mà mỗi developer javascript phải biết. Thì hôm nay tôi sẽ recommented cho bạn một số cách có thể giúp bạn xử lý tốt hơn trước kia.
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
Var, let, const trong javascript - Những khái niệm đó không xa lại gì nữa kể từ khi ES6 định nghĩa thêm let và const. Nhưng liệu có bạn nào tự hỏi rằng? Chuyện gì xảy ra với var? Và tại sao có var rồi lại sinh ra thêm const và let?
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.
Đôi khi chúng ta muốn sử dụng một điều kiện nào đó để tìm xem có phần tử nào trong mảng thỏa mãn điều kiện thay đổi hay không, rồi trả về phần tử hoặc giá trị chỉ số của phần tử. Javascript cung cấp cho chúng ta nhiều phương thức khác nhau, chủ yếu được chia thành tìm kiếm theo giá trị và tìm kiếm theo điều kiện nhất định. Bài viết này giới thiệu các phương pháp này.
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.
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 .
Lỗi javascript trong khi đang triển khai thì đơn giản những anh em developers sẽ bật console lên và xử lý, nhưng khi bàn giao rồi, thì việc track javascript errors thì như thế nào?
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.
Task queue and event loop - Khi JavaScript đang chạy, ngoài một luồng chính đang chạy, engine cũng cung cấp một hàng đợi tác vụ, chứa các tác vụ không đồng bộ khác nhau cần được xử lý bởi chương trình hiện tại.
ELK Stack là một hệ sinh thái, được hình thành từ Elasticsearch, Logstash và Kibana. 3 chữ cái ghép lại là ELK. Kibana là lớp trực quan hóa của ELK Stack - nền tảng phân tích nhật ký phổ biến nhất thế giới hiện nay.
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.
Ở những bài trước chúng ta đã nói nhiều về JWT là gì? Vì sao phải sử dụng JWT, trong suốt quá trình sử dụng JWT chúng tôi có nhận được nhiều phản hồi về chủ đề JWT. Trong đó có một vấn đề mà có nhiều bạn chưa hiểu đó là 'Refresh token là gì'. Nếu bạn có chung một câu hỏi như vậy thì bài viết này sẽ dành cho bạn.
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?
Sau khi bài viết sử dụng Cookie và Session để hoàn tất xác minh đăng nhập, và chúng ta đã phát hiện ra một số vấn đề ở cơ chế đăng nhập này. Thì bầy giờ chúng ta tiếp tục theo dõi và tìm hiểu cơ chế login khi sử dụng token và đây là một phương pháp đang được các dev quan tâm nhất hiện nay.
Tối ưu hoá hình ảnh là một thủ thuật làm cho ứng dụng nhanh hơn, giúp cho người dùng có một cách trải nghiệm mượt mà và ít tốn dung lượng 4G hay 5G nhất có thể. Và khái niệm tối ưu hoá hình ảnh cũng nằm trong 24 đề xuất tối ưu hoá hệ thống được các chuyên gia Front-End đưa ra. Và bài viết này, với 6 cách được đưa ra, hy vọng bạn sẽ có một cách làm cho riêng mình.
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.
Rest parameter vs Speard operator - Thông qua một câu hỏi của một bạn dấu mặt, và đọc xong những câu trả lời của các lập trình viên trên Tips Javascript thì tốt nhất chúng ta nên thảo luận và tìm hiểu lại cách hoạt động của ... operator.
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".
Higher Order Function JavaScript - Không như những bài viết khác chỉ giải thích đại khái như là Higher-Order Functions là gì? Thì thay vào đó chúng ta sẽ đi vào ví dụ cụ thể để xem Higher-Order Functions hoạt động như thế nào? Nếu thông qua ví dụ mà bạn vẫn chưa hiểu thì chúng ta sẽ đi vào giải thích sâu hơn.
PM2 là một trình quản lý quy trình daemon sẽ giúp bạn quản lý và giữ cho ứng dụng node.js trong tầm kiểm soát của hệ thống. Và đây là PM2 Cheat Sheet giúp bạn có thể nắm nhanh những thao tác mà không cần phải đi tìm hiểu lại.
Nhiều công ty và tổ chức đã tổ chức các hướng dẫn về phong cách của họ. Nội dung sau đây chủ yếu đề cập đến các hướng dẫn về phong cách JavaScript của Airbnb.
reduce javascript, filter javascript, map javascript - Trong javascript rất có nhiều phương thức giúp chúng ta xử lý trong dự án của mỗi cá nhân như reduce javascript, filter javascript, map javascript. Nhưng tôi chắc rằng có nhiều bạn thật sự chưa biết or chưa hiểu về cách sử dụng cũng như áp dụng làm sao cho triệt để những phương thức của javascript.
javascript operator in được sử dụng để làm gì? Khi nào? Và thay thế cho phương thức cũ nào? Cùng tìm hiểu qua bài viết 1000 từ.
Javascript foreach object. Có thể các bạn đã quen với việc loop in an array nhưng với object thì có muôn vàn vấn đề như javascript foreach object property hay javascript foreach object entries.
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.
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ì.
Sau khi bạn đã biết 1 phần hoạt động của một Ứng Dụng Thương Mại Điện Tử (TMĐT) phải xử lý như thế nào về quy trình giảm tải khi đặt hàng từ 9 giây xuống còn gần 1 giây, sau đó hạn chế gian lận khi cho phép mỗi người một phiếu giảm giá.
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ư...
RediSearch là một công cụ full-text search, có nghĩa là bạn có thể sử dụng thay cho elasticsearch nếu muốn, bài viết này giúp bạn hiểu sâu hơn về cách thực hiện tìm kiếm trong database và những ưu điểm khi sử dụng redisearch.
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?
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ĩ.
Trong javascript có nhiều cách javascript remove element from array. Có nhiều cách ta đã biết từ lâu, nhưng cũng nên học thêm những cách khác như, remove item in array javascript es6, hay remove object in array javascript, hoặc có thể remove element from array by index or value. Nếu chúng ta biết trước index or value.
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.
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.
Event loop là gì? Tôi dám chắc nhiều developer có nhiều kinh nghiệm làm việc cũng không dám vỗ ngực đứng lên và nói rằng có thể hiểu sâu về Event Loop trong javascript. Ngay cả chính bản thân người viết vẫn còn mơ hồ về điều này mặc dù đã đọc rất nhiều bài viết về Event Loop.
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.
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ì
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.
Currying javascript là một khái niệm quan trọng là trung tâm của bất kỳ ngôn ngữ lập trình chức năng nào. Vì vậy, trong bài viết này chúng ta hãy xem nó là gì và tại sao nên sử dụng nó trong ngôn ngữ lập trình JavaScript.Có bao giờ developers đã nghe về khái niệm này chưa? Hoặc bao lâu rồi devjs chưa nghe về Currying In JavaScript. Vậy hôm nay sau bao nhiêu năm, chúng ta sẽ thảo luận khái niệm này một lần nữa. Mình tin rằng khi đọc bài này xong, devjs cũng lên một trình mới.
Nodejs Series đã qua được 3 bài viết, và bài viết này giải đáp thắc mắc vì sao Nodejs có thể cải tiến hiệu suất cao đến như vậy. Đọc từ từ sẽ rõ.
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.
Domcontentloaded là gì? Với một ví dụ với 100.000 dữ liệu cần hiện thị trên web thì bạn sẽ phân biệt và hiểu Domcontentloaded Event, đừng lo lắng.
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.
Một lập trình viên nên có kinh nghiệm thì điều đó không cần phải bàn cãi. Nhưng ở đây tôi không có kinh nghiệm thì làm sao? Phải cho tôi cơ hội chú? Đó là trường hợp mà hầu như ai trong chúng ta cũng phải đặt câu hỏi? Nếu bạn là trường hợp đó, xin đừng bỏ qua bài viết này.
Thông thường thì Array.prototype.map sẽ hỗ trợ Array, vậy nếu là một object thì sẽ sử dụng map như thế nào?
Bài này nói về First-class function là gì? Nó liên quan đến bài trước nói về Immutability JS, là một trong năm đặc điểm của lập trình hàm (Functional Programming).
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.
Không cần phải thêm những ví dụ nào nữa để thấy rằng việc sử dụng destructuring và spread operator trong javascript là điều cần thiết. Nhưng thật sự nó rất mạnh mẽ và tỷ luôn được sử dụng cao. Những con số đã chứng minh điều đó.
Một lỗi thường thấy ở các bạn mới học javascript hay những bạn bắt đầu làm việc với js mà thường gặp đó là sử dụng name function không đúng cách. Ví dụ như sau
Trong một function, bạn có thể sử dụng arguments thay cho các tham số truyền vào hàm. arguments giống một Array nhưng không thực sự là một Array.
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.
Hầu hết các coder của tất cả các ngôn ngữ chứ không riêng gì javascript đều hiểu về khái niệm này. Và trong bài này tôi sẽ tổng hợp các cheatsheet để các bạn đọc mới học về async/await dễ hình dung và áp dụng vào thực tế.
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.
JavaScript cung cấp ba methods object sau đây để đáp ứng tất cả các trường hợp này một cách dễ dàng, và trong bài viết này chúng ta sẽ giải thích qua ví dụ cụ thể. Đó là 3 phương thức Object.freeze(), Object.preventExtension() và Object.seal()
Encode decode JavaScript là một trong những cách thường được sử dụng để tránh các cuộc tấn công tập lệnh trên nhiều trang web (XSS) bằng cách mã hóa các ký tự đặc biệt trong một URL. Bài viết này cung cấp cách triển khai cũng như giải thích rõ ràng hơn.
Install rabbitmq docker - Để hoàn thiện phần demo rabbitmq vs Node.js thì đây là một bài hướng dẫn làm thế nào để cài đặt rabbitmq trên docker CE.
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ó.
OWASP là viết tắt của Open Web Application Security Project, là một cộng đồng trực tuyến cung cấp các bài viết, phương pháp, tài liệu, công cụ và công nghệ trong lĩnh vực bảo mật ứng dụng Web.
Toán tử trong javascript chủ yếu được sử dụng để thực hiện các hoạt động trong ứng dụng. Có rất nhiều javascript operators như toán tử số học, gán, chuỗi ...
Install Mongodb Ubuntu. Sau phần 1, chúng ta đã giới thiệu sơ qua về Mongdb là gì? Và tại sao Mongodb lại được phổ biến nhiều đến như vậy. Thì như đã hứa bài trước thì bài này chúng ta sẽ thử install mongodb trên Ubuntu, và cũng tương tự trên macOs. remove mongodb ubuntu
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.
Những yếu tố để trở thành lập trình viên ngoài chọn trường, lớp ngành nghề thì cơ bản chúng ta phải tìm kiếm được những lộ trình thích hợp và nhanh chóng. Nếu chọn đúng thì bạn đi rất nhanh, ngược lại nếu bạn chọn sai thì quay đầu cũng không muộn nếu bạn chọn theo lộ trình trở thành Lập trình viên như những hướng dẫn dưới đây.
Có nên sử dụng lodash hay không? Lodash là một thư viện tiện ích JavaScript nhất quán, các modules có hiệu suất cao, chính vì GITHUB, Lodash có đến gần 50K stars. Nhưng với tôi, tôi có suy nghĩ khác..
JSON NodeJS (JavaScript Object Notation) được sử dụng rộng rãi trong việc chia sẻ dữ liệu với nhiều ngôn ngữ khác nhau. Nhờ tính đồng nhất và đơn giản dữ liệu, do đó trong các ứng dụng Nodejs cũng được thường xuyên sử dụng.
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()
Trong ECMAScript 2015 hay còn gọi là ES6 default function parameters đã được giới thiệu trọng ngôn ngữ lập trình JavaScript. Cho phép những developers khởi tạo function có những default value nếu như chúng được định nghĩa sai. Đồng nghĩa với việc, khi sử dụng chức năng này thì giúp những function của chúng ta dễ control và ít error hơn.
Connection pool trong nodejs là rất quan trọng, nó là một kỹ thuật rất quan trọng cho việc tương tác bất kỳ resource như Mysql, PostgreSQL, Redis or MongoDB.
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.
Unit testing là một trong ba cách test của một ứng dụng. Ngoài kiểm thử thích hợp ứng dụng, và giao diện người dùng thì điều quan trọng là phải có giai đoạn Unit test.
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ử.
Sử dụng pm2 triển khai với node.js không quá mới, nhưng có những kỹ năng có thể bạn chưa biết, nếu bạn biết thì tôi xin lỗi vì bạn là nhân viên cao cấp.
Ở phía backend thì ngoài tối ưu hóa việc triển khai code là ưu tiên hàng đầu, tiếp theo là về SQL, và sau đó chính là bộ nhớ đệm hay gọi là cache. Cache cũng có hai loại đó là Bộ nhớ cache cục bộ và Dịch vụ bộ nhớ đệm.
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.
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.
Thứ 7 dạo qua một vòng trên reddit thì thấy có một bài post "Multiple condition checking JavaScript" có rất nhiều lập trình viên quan tâm chủ để này, mình đưa lên đây xem anh em có ý kiến gì không?
JSONP là gì? JSONP (json with padding) là một phương pháp hay còn gọi là phương tiện giao tiếp giải quyết vấn đề truy cập dữ liệu giữa các domain khác nhau. Do chính sách cùng nguồn gốc chính vì vậy các trang web có thể lấy dữ liệu JSON được tạo động từ các nguồn khác và chế độ sử dụng này được gọi là JSONP. Dữ liệu được thu thập bằng JSONP không phải là JSON, mà là JavaScript tùy ý, được trình thông dịch JavaScript thực thi thay vì được phân tích cú pháp bởi trình phân tích cú pháp JSON.
Việc sử dụng query trong javascript cũng giống như Vue hay React phát triển rộng rãi bởi vì họ sẵn sàng phát triển tạo điều kiện cho front-end có nhiều function để query những dữ liệu ngay tại đó. Điều đó có nghĩa là khi một data được phía back-end trả về cho giao diện người dùng, thì việc query ngay tại front-end rất có lợi bởi vì giúp cho back-end giảm số lượng xử lý từ phía server. Do đó cải thiện hiệu suất làm việc ở tầng dưới.
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.
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.
Lexical scope là gì? Vì sao chúng tôi lại đặt tiêu đề như vậy, thử hỏi "Quê mi ở mô?", "Choa có chộ mô mồ". Đố thằng miền Nam mà hiểu đó. Đố luôn đó. Bài viết này lấy một ví dụ thực tế để giúp các bạn làm quen với javascript để hiểu hơn về khái niệm scope trong javascript.
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 ý
Độ phức tạp của thuật toán cấu trúc dữ liệu và giải thuật thì chúng ta chỉ cần tập trung vào hai khía cạnh cụ thể đó là thời gian và không gian. Càng về cuối thì càng khó, chính vì như vậy số ít chỉ ở lại và tiếp tục con đường chinh phục cấu trúc dữ liệu và giải thuật.
Sau một thời gian sử dụng javascript thì tôi biết có nhiều bạn vẫn đang đi tìm câu hỏi này giống như mà tôi đã đi tim cách đây nhiều năm khi mới học về javascript.
Kinh nghiệm lập trình javascript không phải hoàn toàn là làm lâu hay nhiều năm trong lĩnh vực lập trình. Mà còn có thể học qua những bài viết về những mẹo nhỏ để tối ưu hoá một đoạn code mà tương lai chúng ta sẽ rơi vào trường hợp đó. Do vậy, chúng ta sẽ có nhiều trường hợp chưa gặp đến nhưng chúng ta đã đọc thấy nó. Và đây là một bài viết về những thói quen có thể bạn đã từng gặp, có thể bạn đạng gặp và có thể bạn sẽ từng gặp trong tương lai.
Token là gì? Authentication là gì? Session, cookies, SessionId... Nó là gì? Những khái niệm này tưởng chừng như ai cũng biết. Nhưng không hẳn như vậy, khi được hỏi thì trả lời một cách mông lung kiểu như mã hoá dữ liệu vậy. Đây, các bạn có thể tham khảo thêm định nghĩa ở bài post này.
Sau khi nhiều người dùng phàn nàn rằng họ cảm thấy hệ thống đặt hàng quá chậm trên hệ thống thì tôi có thể chuẩn bị thất nghiệp và tôi đã lật ngược thế cờ như thế nào?
Firebase là gì? Firebase Analytics là gì? Firebase là gì? Firebase là một Backend-as-a-Service - BaaS. Firebase theo nghĩa rộng là nền tảng phát triển ứng dụng trên thiết bị di động và web. Firebase giải phóng các developer để tập trung tạo ra trải nghiệm cho người dùng sử dụng sản phẩm một cách tuyệt vời. Bạn không cần quản lý máy chủ. Bạn không cần viết API. Firebase là máy chủ, API và kho dữ liệu của bạn, tất cả đều được viết một cách tổng quát đến mức bạn có thể sửa đổi nó cho phù hợp với hầu hết nhu cầu. Vâng, đôi khi bạn sẽ cần phải sử dụng các dịch vụ khác của Google Cloud cho các ứng dụng nâng cao của mình.
SSO là gì? Tên tiếng Anh đầy đủ của SSO là Single SignOn, hay còn gọi là cơ chế đăng nhập một lần nhưng có thể sử dụng khắp mọi nơi. SSO có trong nhiều hệ thống ứng dụng. Người dùng chỉ cần đăng nhập một lần để truy cập vào tất cả các hệ thống ứng dụng đáng tin cậy lẫn nhau. Nó bao gồm một cơ chế có thể ánh xạ thông tin đăng nhập chính này với các ứng dụng khác để đăng nhập cùng một người dùng. Nó là một trong những giải pháp phổ biến nhất được sử dụng rộng rãi hiện nay. Và nếu bạn là một lập trình viên thì bạn cần nên hiểu nó.
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...
<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>
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ẹ.
Promise allSettled sau được đề cử thì ES2020 đã chính thức phát hành để sử dụng chúng. Những developer nào đã từng promise.allsettled is not a function giờ đây sẽ không cần tìm kiếm câu trả lời nữa đâu. Và bài post này sẽ giới thiệu ngắn gọn về method Promise.allSettled()
Check object empty js. Một bài viết trình bày 6 cách để kiểm tra object rỗng trong JavaScript dành cho những bạn mới tập làm quen lập trình với JavaScript thông qua object. Ở bài viết này thì bạn sẽ được giới thiệu về object trong JavaScript thông qua những cách làm sử dụng es5 và es6.
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.
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...
fix bug là gì? Fix lỗi javascript trong lập trình là một việc làm kiếm ra tiền cho chúng ta. Thử hỏi nếu một ứng dụng trơn tru quá thì khó mà kiếm tiền từ việc bảo trì. Nhưng việc bảo trì nhanh hay chậm cũng liên quan đến việc fix bug như thế nào? Với hai thủ thuật đơn giản nghĩ là không cần nhưng nó rất cần thiết đối với nhiều developers.
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?
UUID đã giúp đối thủ kinh doanh biết bí mật doanh thu của chúng tôi. Trong bài viết này, bạn sẽ nghe một mẩu chuyện có thật và hiểu hơn về UUID với Nodejs như thế nào?
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.
Splice javascript? In this post, we see the difference between slice(), splice(), split() and how to use it?
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.
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.
Redis benchmark là một kỹ thuật giúp những lập trình viên có thể có thể sử dụng để mô phỏng một số lượng khách hàng tùy ý kết nối cùng một lúc và thực hiện các hành động trên máy chủ, xác định được thời gian hoàn thành các nhiệm vụ.
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.
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 là gì? Query array trong mongodb? Thì trong bài này, tôi sẽ giới thiệu một số kỹ thuật truy vấn khi document có chứa một số field được lưu trữ có dạng array. ở đây có rất nhiều cách trình bày, nhưng nó luôn được tối ưu nhất, giúp cho devjs sử dụng mongodb truy vấn một cách nhanh nhất.
FindIndex javascript được giới thiệu kể từ khi ES6 ra đời. Còn indexOf() đã được giới thiệu trước đó ở ES5. Nhưng thử so sánh xem , hai method này giống và khác nhau như thế nào? Hãy cùng khám phá trong bài viết nhẹ nhàng này.
Golang cho người mới bắt đầu sẽ được thiết kế dành cho những sinh viên chưa có hoặc chỉ có kinh nghiệm lập trình cơ bản. Trong topic này, bạn sẽ học những kiến thức cơ bản về ngôn ngữ lập trình go backend
Socket.IO là một thư viện cho phép giao tiếp theo thời gian thực, hai chiều và dựa trên sự kiện giữa trình duyệt và máy chủ. Nó bao gồm một Node.js server và một thư viện javascript cho browser.
Điều gì khiến JWT phổ biến. Lý do mà khiến `JWT` trở nên phổ biến trong những năm gần đây chính xác là 2014 là chúng có thể chứa được nhiều kiểu dữ liệu như `JSON`, và nó có nhiều lợi ích so với các kiểu truyền thống...
Bearer token là gì? Đây là một câu hỏi rất hay, ngay bản thân tôi cũng không hiểu tại sao tôi lại cắm đầu vào code mà không hiểu vì sao người ta lại quy định Bearer trước token trong việc Authorization trên header.
Việc backup hay restore Mongodb trên unbuntu là một việc thiết yếu, giống như việc ta ăn cơm hàng ngày. Nó quan trọng đến mức, quyết định nhiều vấn đề. Giả sử bạn một ngày bạn nhận được một lời nhắn "READ_ME_TO_RECOVER_YOUR_DATA"...
Design patterns là gì? Design patterns chính là một gã khổng lồ, nếu bạn đứng được trên vai thì bạn sẽ nhìn xa hơn. Làm sao bạn đứng được trên vai hãy theo cách của bài viết này, từ CUỘC SỐNG đến PHẦN MỀM.
Lazy load hoá ra đã được support trên các browsers mà giờ thằng em nói mới biết. Chu choa có lẽ già mất tiêu rồi. Hôm nay thử nghiệm và có đôi lời ngắn gọn.
Anh ta có phải là một lập trình viên tốt không? Đây là một câu hỏi có thể nói là rất quan trọng của những người quản lý hay còn gọi là PM. Hoặc có thể người đóng vai trò trong phỏng vấn nếu có nhiều thời gian.
Trong phần này chúng ta sẽ nói tới Ternary operators javascript một trong những conditions javascript mà bất cứ developer js nào cũng cần phải biết và nắm rõ.
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.
Kiến trúc microservice là gì? Khi thiết kế kiến trúc một hệ thống, kiến trúc logic được thực hiện đầu tiên, sau đó là kiến trúc vật lý. Sau khi bạn nhận được các yêu cầu, sau khi ước tính số lượng người dùng và tính đồng thời, hãy tính xem một máy chủ ứng dụng duy nhất có thể đáp ứng các yêu cầu hay không.
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.
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?
Repaint reflow là một khái niệm liên quan đến high-performance javascipt. Cũng chính vì điều này mà các thư viện như Vue, React và Reef đều triển khai theo các làm như vậy.
Thấy chưa không xài addEventListener giờ sao mà làm chung đây. Bỏ thói quen xài Event Handlers đi ông ơi...
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.
Bài viết này sẽ tiếp theo cho phần một là thảo luận 2 giải pháp thiết kế hệ thống tin nhắn phổ biến nhất hiện nay. Ở bài này không phải là một giải pháp áp dụng chung cho một khuôn mẫu hay đánh giá chất lượng một kiến trúc nào đó. Mà chỉ hướng đến một giải pháp cho mỗi doanh nghiệp.
Trong phần mở bài tôi sẽ nói luôn, vì tôi sợ mất thời gian của các bạn khi click vào để đọc bài viết. Việc xác xác thực thông qua custom token là ở trường hợp hệ thống của của không xác thực qua những hình thức third party như (facebook, github, google mail...). Nếu bạn không thuộc trường hợp này stop tại đây và bạn đọc thêm về những lợi ích khi sử dụng firebase như hosting, notification, app index, storage, authentication, cloud mesenger, test lab
Cấu trúc dữ liệu là gì? Như tôi đã mô tả một cách ví von, hãy hiểu cấu trúc dữ liệu như là một nguyên lý của hộp số khi bạn đi xe Tay Ga hay Xe Số. Với Tay Ga bạn có thể đi từ A đến B không cần quan tâm đến hộp số làm việc như thế nào? Nhưng nếu hiểu về nguyên lý hoạt động thì bạn sẽ giải quyết được khi hộp số bị trục trặc.
Thật ra trong thế giới developer có nhiều dạng hay thể loại khác nhau, loại ngáo đá, loại bất chấp, loại an toàn... Nhưng trong bài viết này chúng ta chỉ tập trung hai dạng đặc biết đó là...
Expressjs giờ đây không còn quá xa lạ với những anh em làm web hay sử dụng expressjs rest api với môi trường node nữa rồi. Nhưng hẳn nhiều trường hợp trong khi làm rest api khi check data thì chỉ có anh em làm nhiều mới biết, null, length, underfined...
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.
ES2020 javascript đã cung cấp cho developers thêm nhiều chức năng như Optional Chaining, Nullish coalescing Operator... Và trong đó có một tính năng tuyệt vời đó là Dynamic Imports. Và do đó, trong bài viết này, tipjs sẽ giúp bạn hiểu và khi nào sử dụng về Dynamic import trong javascript.
Thật ra tôi đã đọc bài viết cách đây nhiều năm nhưng bẵng một thời gian tôi không còn nhớ nữa. Nhưng hôm nay có một câu hỏi làm tôi bất ngờ, và sự thẳng thắn của bạn ấy
Nghe tiêu đề bạn cũng như tôi đều giật mình nếu như bạn là một người luôn đọc về tin tức của các nhà lập trình. Đây không phải vấn đề của Redis mà là người bắt đầu dự án Redis hơn mười năm trước. Và vào ngày 01/07/2020 Salvatore Sanfilippo đã nói lời chào tạm biệt tới Redis cũng giống như cách mà Ryan Dahl đã rời bỏ Node để xây dựng Deno. Nhưng Salvatore Sanfilippo hành động như thế nào khi rời Redis?
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.
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
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.
Để hiểu về 3 sự cố khi sử dụng cache đó là sự cố tuyết lở trong Cache (cache avalanche), sự cố sụp đổ (cache breakdown), sự cố thâm nhập cache (cache penetration).
Loạt bài nhập môn Node.js sẽ là tập hợp các bài hướng dẫn tham khảo, bắt đầu từ phần này, chúng ta chính thức gia nhập bộ môn Nodejs. Tôi không dám khẳng định rằng khi học xong những bài viết về Nodejs của chúng tôi bạn sẽ được tăng lương nhưng chúng tôi cam đoan với các bạn rẳng. Bạn sẽ tự tin hơn trước rất nhiều... Vì sao?
Hệ thống web hay ứng dụng của bạn có thực sự an toàn không? Mỗi ngày có gần 2K users vào trang tips javascript. Ở đây đa số là hiện tại là những lập trình viên và cũng có thể là những developers tương lai. Nhưng có một điểm chung như thế này đó là việc ai cũng mong muốn viết code làm sao cho xong ứng dụng của mình mà quên đi việc nó có an toàn về bảo mật cho hệ thống mình hay chưa?
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.
End-to-end là gì? Thông tin là sức mạnh. Và những gì chúng ta trao đổi hằng ngày qua những ứng dụng như Piepme, zalo, facebook... đều có những giá trị to lớn, cho dù đó chỉ là những dòng chat của mỗi cá nhân. Nhưng nếu bạn là một doanh nghiệp thì đó lại là vấn đề lớn để quan tâm đến việc bảo mật nội dung tin nhắn hay dữ liệu tổ chức or cá nhân.
504 Gateway Timeout - 504 Gateway Timeout is a status a proxy might emit, when it’s acting as a proxy and not getting a response from an upstream server.
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
Redis là một giải pháp tuyệt vời để tạo các dịch vụ cơ sở hạ tầng như message queue và event stores, nhưng có một số điều bạn cần tính đến khi sử dụng kiến trúc microservices để tạo hệ thống phân tán.
Tôi biết trở thành developer giỏi không liên quan gì mấy đến các câu hỏi thế này, nhưng đa số nó đến từ các bài test phỏng vấn của các công ty nước ngoài mà đa số là những câu hỏi kỳ lạ.
Những chức năng giải quyết bài toán javascript một cách nhanh nhất.
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 đó.
Để convert một array thành một String thì có nhiều cách, nhưng dưới đây có những trường hợp đặc biệt mà hôm nay tôi đã gặp, và cũng muốn chia sẻ cùng anh em. Và quan trọng là notes lại cho chính bản thân mình, lỡ sau này có gặp thì copy cho nhanh.
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.
nodejs arg là một trong những tính năng rất hay cho việc test. Trong bài viết này bạn sẽ học được cách lấy những Arguments trong Node.js và cách sử dụng chúng như thế nào?
Khi sử dụng FCM (Firebase) với sendMulticast thì theo tài liệu chỉ có thể gửi một lúc giới hạn 500 tokens hay hiểu là 500 thiết bị một lúc. Mẹo nhỏ trong bài viết này hướng dẫn bạn có thể làm được nhiều hơn với 500 tokens.
JavaScript string methods giúp lập trình viên có thể thao tác với String nhanh hơn, giúp tiết kiệm thời gian, và quan trọng giúp code sạch sẽ hơn. Ví dụ nếu bạn muốn ' Chèn ký tự vào chuỗi trong JavaScript' nhưng cách nào nhanh gọn hơn không? Xin mời...
Async error handling với 4 cách xử lý này cho dù bạn là ai, level nào đi chăng nữa thì cũng dùng một trong những cách Async-Await, promises, javascript callback hay tipescript callback
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 rand. Đúng là JavaScript, cái gì cũng có. Hôm qua làm một task dính đến việc random để lấy robo ra tương tác, nên tiện thể ghi lại cho anh em mấy mẹo làm random trong JavaScript. Trong đó sẽ có những method lưu ý sau, Math.random(), Math.floor(), Math.ceil(), Math.round().
Cannot call write after a stream was destroyed. Đang trong kỳ nghỉ vui vẻ đột nhiên tôi nhận được thông báo của một khách hàng phàn nàn rằng hệ thống đơn hàng của họ không hoạt động. Vứt bỏ lon bia trên tay, tôi chạy ngay ra xe thì
Làm thế nào để chuyển đổi một Address sang Longitude và Latitude. 2 ví dụ sau đây có thể giúp bạn xử lý nhanh chóng.
<p>Tiếp theo phần này chúng ta sẽ đi tìm những tính năng của Map, khi giải quyết những vấn đề mà hầu như Dev nào cũng trải qua hằng ngày, đặc biệt Nodejs...</p>
Convert String to Array JavaScript? Trong bài viết này, chúng ta sẽ cùng thảo luận về cách chuyển đổi từ String to Array javascript. Ở hướng dẫn này, chúng tôi cố gắng tìm hiểu rất nhiều ví dụ để cho các bạn một cách nhìn rõ ràng và tổng thể nhất.
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!
Process và thread. Nếu không tin hạn hãy search cụm từ đó trên google, nhan nhản các bài viết giải thích các kiểu mang tính khoa học trừ tượng, đố mà hiểu được, thậm chí tôi cam đoan luôn là chính những người viết đó còn không hiểu được, huống hồ gì tôi và bạn.
Connect server MongoDB từ xa hay từ một server khác đó là một mô hình bình thường hiện nay. Bài viết này sẽ hướng dẫn cho người mới làm quen với mongodb có thể làm được điều mà chỉ có những chuyên về admin mới làm được.
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
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.
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ì?
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
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.
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.
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.
Pagination A ReactJS component to render a pagination. React components for sorting, filtering and pagination of data.
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.
array.at(index) - Array là một cấu trúc dữ liệu được sử dụng rộng rãi trong rất nhiều ngôn ngữ trong đó có Javascript. Chưa hết, việc sử dụng những method của Array cũng giúp cho các lập trình viên js tiếp cận dến kết qủa cuối cùng nhanh nhất có thể. Và chúng ta sẽ tiếp cận thêm một method mới đó là array.at(index).
Async và Defer. Bài này mình nói nhanh qua về một thủ thuật nhỏ nhưng hiệu quả. Và tôi mong rằng bài viết này không mới đối với các bạn. Nếu nó mới với bạn thì bạn đã hổng kiến thức rất nhiều.
<p>Mẫu form đăng ký và đăng nhập đơn giản sử dụng css và javascript. Chỉ với những dòng code css và javascript đã tạo nên một form đăng ký và đăng nhập vô cùng độc đáo và tôi nghĩ các bạn cũng nên tham khảo và biết đâu một ngày gần đây các bạn lại sử dụng chúng...</p>
Cache và database nghe qua thì rất đơn giản chỉ cần theo mô hình Cache Aside Pattern là ổn. Nhưng nếu bạn muốn gia nhập những dự án thương mại lớn như tiki hay shopee thì bạn nên phải hiểu nhiều nhiều hơn nữa. Bài viết này sẽ nói đến nhiều vấn đề của tính nhất quán dữ liệu.
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...
Đầu tiên chúng ta thống nhất với nhau là hiểu khái niệm Full text search là gì? này trước rồi mới tới việc thực hành. Full text search đơn giản chỉ là một hình thức nâng cao việc tìm kiếm dữ liệu trong database mà thôi.
Cấu trúc dữ liệu và thuật toán ở bài trước chúng ta đã hiểu được ý nghĩa thực sự của "cấu trúc dữ liệu" và "thuật toán". Và bài này nhiệm vụ của chúng ta sẽ phải hiểu được tầm quan trọng của dữ liệu và thuật toán, đồng thời muốn học thì mỗi cá nhân chuẩn bị học như thế nào?
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.
Vì sao lại 32% mà không phải con số khác. Cuối bài viết sẽ nói về điều này, cho nên bạn đừng đặt câu hỏi về con số này trong lúc đọc bài viết này. Thật ra ngay tại thời điểm này, Node.js không phải là mới.
Ngoài sức tưởng tượng của tôi khi bài viết "Redis – 3 vấn đề LỚN có thể mất việc khi sử dụng cache" có lượt tương tác hơn tôi nghĩ đến x3 lần.
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.
ES2020 là phiên bản của ECMAScript tương ứng đến năm 2020. Phiên bản này không chứa nhiều tính năng mới như ES6 (ES2015). Nhưng nhiều tính năng thú vị và hữu ích cũng đã được thêm vào. Bài viết này giới thiệu các tính năng mới của ES2020 kèm theo các ví dụ để minh hoạ. Bằng cách này, bạn có thể nhanh chóng hiểu các tính năng mới này mà không yêu cầu giải thích phức tạp.
Vanilla javascript được nhắc đến với nhiều ưu điểm đó là việc từ sự đơn giản nhưng lại đánh giá rất cao. Như câu nói của ĐEN VÂU "Những thứ anh làm thường đơn giản, nên không hay được đánh giá cao"
Sử dụng git là điều bây giờ rất quan trọng trong quá trình làm nhóm, đã có một số ebook nói về sử dụng git cơ bản. Nhưng trong bài hướng dẫn này là đúc kết tất cả những hướng dẫn quan trọng và thưởng sử dụng nhất. Có thể hướng dẫn này cho những bạn mới bắt đầu.
Nên lưu token ở đâu trong ba phương pháp phổ biến như cookie, localStorage, sessionStorage. Sau những bài viết về JSON Web Token(JWT) đa số các bạn cũng đã hiểu và đã apply cho các ứng dụng của mình. Các luồng đi của việc created và verify một token xem như đã xong, nhưng có có một vấn đề quan trọng mà các bạn bỏ qua.
Hôm bài viết này tôi và các bạn đi tìm hiều về NodeJS Session. Và Node.JS Session sẽ được viết và demo trong Express JS. Cụ thể hơn đó chính là sử dụng Express-session một middleware trong ExpressJs.
Push Notifications - Hôm nay để tôi kể cho các bạn nghe một câu chuyện, câu chuyện rất giá trị cho mỗi lập trình viên và cao hơn nữa đó là vị trí mảng tìm kiếm dữ liệu.
Upload files using multer in nodejs. Ở bài trước tôi đã show một demo nho về bài viết upload files với formidable trong nodejs và express. Và hôm nay để tiếp tục giúp các bạn giải quyết về vấn đề upload file thì tôi sẽ demo cho các bạn một cách nữa đó là upload file với multer. Một trong những thư viện giúp handling multipart/form-data rất phổ biế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.
Moment.js đã chính thức đưa ra thông báo ngừng phát triển và đi vào trạng thái bảo trì. Moment.js là một thư viên ngày và giờ lớn và đầy đủ tính năng nhất, tạo điều kiện rất nhiều cho nhiều dự án tính toán ngày và giờ trong JavaScript. Nó có hơn 12 triệu lượt tải xuống mỗi tuần và đã được sử dụng thành công trong hàng triệu dự án.
map và forEach là một trong số hàm phổ biến và được sử dụng nhiều nhất trong JavaScript kể từ khi ES6 ra đời. Trong bài viết này, chúng ta sẽ thảo luận về sự khác biệt chính giữa chúng và lần lượt đi qua một số ví dụ về cách sử dụng map và forEach.
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.
Pagination là một trong những thủ thuật để tối ưu hóa dữ liệu hàng đầu hiện nay. Facebook, reddit đã làm chúng ta mê mẩn đắm chìm trong thế giới của họ, mỗi lần lướt là một quá trình phân trang được thiết kế hoàn hảo. Trong bài này chúng ta sẽ tìm hiểu những thủ thuật đó trong Mongodb.
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ó.
JWT là gì? JSON Web Token. Ở phần trước chúng ta đang nói đến việc xác thực firebase với custom token. Nhưng nhiều bạn quay sang hỏi về việc xác thực JWT (JSON Web Token). Chắc do các bạn sử dụng JWT nhiều hơn, cho nên hôm nay, trong bài viết này tôi sẽ viết một module nhỏ để giúp các bạn nào chưa hiểu thì có thể hiểu thêm.
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.
Một chuỗi ký tự cũng được liệt kê vào là một chuỗi. Đây là một trong những kiểu cơ bản được tìm thấy trong hầu hết các ngôn ngữ lập trình hiện nay và mỗi năm những nhà phát triển lại cố gắng xây dựng những phương pháp mới để xử lý tốt hơn và đây là 10 thủ thuật có thể bạn chưa biết.
"Hi các bạn, làm thế nào để được đề xuất lên làm leader trong team ? Thanks" Một câu hỏi đáng suy ngẫm cho những bạn có ý chí tiến thủ... Để trả lời câu hỏi này thì nghiên cứu 5 cấp đối với nghề lập trình viên
Serverless nghĩa đen là không có dịch vụ hoặc có thể định nghĩa là một kiến trúc không máy chủ (server), là một cách tiếp cận kiến trúc mới. Nó cũng là một công nghệ rất phổ biến hiện nay và nhiều công ty lớn đang làm việc hướng tới Serverless. Vậy thật sự là Serverless là một kiến trúc không có máy chủ? Đừng hiểu lầm như những người nói như vậy, hãy xem câu trả lời của các chuyên gia.
Hôm nay nói về tương lai với một câu hỏi đó là lương back-end hay front-end ai trả cao hơn? Tiếp theo, là bàn về back end hay front end là người quyết định giá trị cốt lõi của công ty trong phạm vi kỹ thuật. Nhâm nhi ly coffee để nói lên suy nghĩ của mình.
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.
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.
Ở 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.
Nếu khách hàng của bạn mất thời gian khi phải mở facebook rồi post, xong rồi lại mở reddit rồi post, tiếp theo mở pinterest rồi post. Nó thật phiền phức và mất thời gian. Bạn là một người lập trình và bạn có thể giúp gì?
<p>Với 6 cuốn sách này, nếu bạn chịu khó đọc những lúc rảnh rỗi thì bạn sẽ thấy những kỹ năng của bạn làm tức trước tới nay có khác hay không và khác thế nào? Với các cụm từ đang hot như Vue js, Express, Nodejs, React , es5 ... có thể làm các bạn điên đảo.</p>
Trên diễn đàn reddit đang bàn tán xôn xao một bài viết "Node.js 14 is over 20x faster than Python3.8 for fib(n)" thật ngạc nhiên rằng Node.js đã vươn mình mạnh mẽ.
Với đại dịch covid19 thì hầu như nền giáo dục đã chuyển đổi qua thi Online trên nhiều nền tảng đặc biệt là website. Nhưng còn có nhiều lỗ hổng để các thí sinh lợi dụng như switch tab để tra cứu bài thi, thì những lập trình viên sẽ giải quyết như thế nào?
rong javascript thì có nhiều cách khác nhau để tạo một function nhớ không nhầm thì có 8 cách tạo một function. Và trong số đó có ** function declaration và function expression**, vậy nó khác nhau điểm gì.
Hiện nay trong hầu hết các trang web hiện tại đều có sử dụng popup. Do sự tiện lợi của popup nên các developer js đều sử dụng các thư viện như bootstrap. Nhưng do có nhiều dự án bắt buộc không sử dụng một thư viện thứ ba cho nên nhiều devjs đã tạo nên những dòng code thuần nhưng vẫn toạ ra các giá trị đặc biệt. Và đây là một minh chứng.
exponential operator javascript hay còn gọi là toán tử luỹ thừa được giới thiệu có một chi tiết cực kỳ dễ nhầm lẫn. Anh em cũng xem xét một chút.
Một ví dụ cho bạn thấy đúng là JavaScript có nhiều tính năng mà chúng ta chưa phát hiện và sử dụng hằng ngày. Nó có thể rất mới những người bắt đầu học javascript nhưng tôi nghĩ cũng khá nhiều anh em không biết tính năng này trong đó có mình.
Vậy tại sao lại dùng IIFE? Bởi vì IIFE như là một các hộp đóng gói code của chính nó. Do đó, những biến trong hộp này là private, bên ngoài(global) không thể truy xuất hay thay đổi được. Và nếu vô tình bạn đặt tên biến giống với global thì cũng không bị ảnh hưởng bên ngoài.
Bài viết này chúng ta tập trung cho những bạn mới bắt đầu đi bước vào ngôn ngữ javascript. Đôi khi họ đã sử dụng Operator này để so sánh trong code nhưng sự thật đằng sau nó các developer javascipt vẫn còn chưa biết. Vì vậy chúng ta sẽ nói kỹ về vấn đề này và cùng thảo luận.
Qua bài viết phần 2 này. Mình chưa kết luận hết tất cả những gì mà react và es6 làm việc. Nhưng điều tuyệt vời nhất là React không làm quá khó hay không thêm một foreign abstraction layer nào lên để phát triển ứng dụng. Do đó React trở nên ngày càng mạnh mẽ và phổ biến đối với các developer js. Nó chỉ đơn giản là sử dụng JavaScript tốt nhất để xây dựng giao diện người dùng dễ dàng hơn và có thể duy trì. Cảm ơn các bạn đã đọc và chúng tôi hy vọng bạn đã học được một số điều mới trong bước đường tiến vào react native.
Nói đến for loop hay array.forEach thì hầu như trong developers javascript nào cũng biết và đã sủ dụng biết bao nhiêu vô kể trong code của mình. Nhưng có một ngày nào bạn nhìn lại và suy nghĩ nó khác gì, và tại sao có for rồi tại sao sinh ra array.forEach không?
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.
Một biến hoặc một object có giá trị Undefined khi không có giá trị nào được gán trước khi sử dụng nó, hay rõ hơn là Undefined chính là thiếu giá trị hoặc giá trị đó không xác định.
Text-overflow trong css. Có lúc nào bạn như tôi đi tìm giải pháp cho giới hạn số dòng text với css. Thật ra không cần sử dụng Text-overflow, tôi cũng như các bạn, việc hiển thị (...) trong css, nó tương đối dễ, nhưng việc sử dụng ít nên không bao giờ nhớ được.
Getters và setters tồn tại trong hầu hết các ngôn ngữ lập trình hướng đối tượng, bao gồm cả JavaScript. Chúng là code constructs giúp các developer truy cập vào các thuộc tính của các objects một cách an toàn. Với getters, bạn có thể truy cập ('get') các giá trị của các thuộc tính từ mã bên ngoài, trong khi setters cho phép bạn thay đổi ('set') giá trị của chúng.
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ữ.
Có nhiều bạn hỏi mình về hai cái này khi các bạn đó học loopback. Loopback là gì? Thì các bạn tìm hiểu sau nhé. Trong loopback hỗ trợ rất nhiều về dynamic model. Và có tích hợp luôn authentication & authorization. Bài này mình sẽ giúp các bạn hiểu hai khái niệm này thông qua một bài viết của của developer... levantuan
Là một developer JavaScript, bạn thường sẽ thường xuyên gặp trường hợp này, và thay vì search trên google cách chuyển một object thành một query string parameters, thì trong bài này chúng ta sẽ đi lướt qua những cách nhanh và hiệu quả nhất.
File sqlc và goose dành cho các Lập trình viên Go Member có thể lấy tại đây, Section Go 35: Code + SQL - Build Service Two Factor Authentication - Interface vs SQLC
Firework effect website - Tết nhất đến rồi, các thành phố lớn như Hà Nội hay TP Hồ Chí Minh đều bắn pháo hoa chào mừng tết cổ truyền. Với một lập trình viên thì tạo ra những sự kiện này thì không quá khó. Thử viết một sự kiện với javascript để bắn pháo hoa trên bất kỳ website nào mong muốn.
API là gì? Đọc đầy đủ là (Application Programming Interface) một khái niệm hầu như developers nào cũng phải hiểu, nhưng để giải thích thì chỉ cần ngắn gọn, không rườm rà, vì để dành thời gian cho những khái niệm phức tạp hơn.
Replay attack là tấn công api theo kiểu gửi lại nguyên vẹn endpoint đã thực hiện trước đó bao gồm hacker và chính người dùng. Spoofing attack chính là tạo ra chữ ký để đánh lừa endpoint trong api.
Tải video trên facebook bây giờ trở thành xu thế cho mọi người. Còn cách tải video trên facebook như thế nào thì đa số mọi người còn chưa biết. Nhưng với những developer thì chuyện đó quá đơn giản. Bài post này sẽ hướng dẫn cho devjs cách get link video facebook như thế nào.
Có nhiều tình huống bắt buộc chúng ta phải Merge arrays javascript. Và khi merge arrays thì sẽ có hai loại, một là Mutable arrays, hai là Immutable arrays.
Git pull về đi em ơi... À khoan git fetch đi em? Cẩn thận chắc cú hơn. Giọng ông anh dõng dạc và lớn tiếng hơn mọi hôm, làm tôi cũng e dè và sợ hãi. Mé có chuyện gì đây...
Error là một phần cốt lõi của việc học và sử dụng bất kỳ ngôn ngữ lập trình nào. Đây là top 10 error khi lập trình được thống kê và fix nhiều nhất. Thông báo của một error giúp bạn hiểu điều gì đã sai ở đâu đó trong code của chúng ta.
Thật ra một developer javascript hay ngôn ngữ nào đi chăng nữa thì cũng cố gắng biết một chút css, html. Chứ đừng như mình, không biết chút gì ngoài đi nhìn người ta làm ...
Sitemap là một tập tin nhiệm vụ chính là cung cấp tất tần tật thông tin về website. Sitemap trong website có nhiệm vụ rất quan trọng bởi vì Google tìm đến nó để để thu thập dữ liệu trang web của bạn một cách thông minh hơn.
Với 5 phút kèm video bạn sẽ biết cách Install mongodb docker một cách nhanh chóng, không cần phải lo lắng về cách đóng gói các sản phẩm của mình...
Để học reactjs một cách nhanh nhất thì việc đầu tiên thay vì ngồi đọc thì chúng ta có thể bắt tay vào phát triển một dự án ngay từ bây giờ.
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?
Request entity too large nodejs, vâng chính là lỗi đó Anh. Chúng ta bị chơi rồi, nhưng Bạn A cũng đã khắc phục xong nhanh chóng, sao nó đơn giản mà chúng ta lại bị bỏ qua nhỉ?
Tooltip là một công cụ nhỏ chứa những thông tin hữu ích khi người dùng hover qua những phần tử nhất định trên một trang web. Chúng là một thành phần giao diện người dùng hữu ích để cung cấp thông tin bổ sung cho người dùng mà không cần phải làm lộn xộn giao diện
vent bubbling là một cụm từ trong lập trình có thể bạn chưa biết. Đối với bạn nào mà chuyên sâu về javascript thì event listener là một event không thể thiếu trong code của mỗi developer javascript (devjs). Ở bài này tôi cũng show cho devjs nào chưa biết or mới chỉ biết được một cách đó là "Làm thế nào để đăng ký multiple elements với event listener trong javascript.
Dù sao đi nữa tôi nghĩ tương lại react sẽ lại phổ biến và lúc đó những kiến thức như thế này mạng lại lợi ích khác biệt cho các bạn bước vào một phần của react native. Trong hướng dẫn này, chúng ta đã đi tìm hiểu về sự tương đồng và khác biệt giữa constructor function JavaScript và class trong ES6. Cả hai lớp và các hàm tạo đều bắt chước một mô hình thừa kế hướng đối tượng thành JavaScript, đây là ngôn ngữ kế thừa dựa trên nguyên mẫu. Hiểu kế thừa nguyên mẫu là tối quan trọng để trở thành một nhà phát triển JavaScript hiệu quả. Làm quen với các lớp là vô cùng hữu ích, vì các thư viện JavaScript phổ biến như React sử dụng cú pháp lớp thường xuyên.
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.
Chúng ta đều biết rằng firebase database làm rất tốt khi có Firebase Realtime database. Nhưng bạn có biết rằng Firebase cũng tuyệt vời để uploading data và files lên Firebase Storage riêng của ứng dụng của bạn MIỄN PHÍ không? Trong bài viết tiếp theo này chúng ta sẽ đi và vấn đề upload file miễn phí dùng Firebase Realtime database.
Get parameter from url JS, thật nó đơn giản nhưng mỗi lần sử dụng lại google nên làm một bài tìm cho nhanh, hy vọng không những mình mà sẽ giúp những lập trình viên đạt được hiệu quả nhanh chóng.
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.
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.
Role permission NodeJS - Phân quyền trong nodejs là một chức năng cần phải có trong bất kỳ ứng dụng nào kể cả reddit hay một hệ thống dù là nhỏ nhất.
Tree shaking là gì? Tree shaking là khái niệm tối ưu hóa hiệu suất bắt buộc phải có khi bundling JavaScript. Trong bài viết này, chúng ta đi sâu hơn về cách hoạt động của Tree shaking javascript.
Sử dụng JavaScript truy cập camera sau, trước và chụp màn mình thiết bị di động. Trong bài viết này, tôi sẽ chỉ cho bạn cách truy cập camera của thiết bị trên một trang web thông qua JavaScript và hỗ trợ nhiều trình duyệt mà không cần đến các thư viện bên ngoài.
Polyfill là một đoạn mã (thường là JavaScript trên Web) được sử dụng để cung cấp chức năng hiện đại trên các trình duyệt cũ hơn vốn không hỗ trợ nó.
Kubernetes là gì? Kubernetes và Docker. Đừng quan tâm tới nó, khi bạn cần sẽ tự tìm đến. Câu chuyện dưới đây sẽ cho bạn biết rõ hơn. Giả sử bạn là một nhà phát triển và bạn đã làm việc thực sự chăm chỉ và phát triển ra một ứng dụng trò chuyện trực tuyến.
<p>Bài viết này sẽ cung cấp một ví dụ. Trong thực tế cùng nhiều kết quả nhưng lại có nhiều phương pháp giải quyết khác nhau. Nhưng vấn đề ở chỗ ai được trả lương cao hơn, và vì sao họ luôn luôn được lựa chọn cho sự tin tuỏng. Và đây là một bài viết về tính hiệu quả của các devjs lõi làng.</p>
Đầu tiên khi sử dụng await() thì đó chính là việc bạn đang sử dụng chức năng synchronous. Còn khi bạn sử dụng async keyword thì điều đó không đồng nghĩa với việc bạn đang sử dụng chức năng async. Nó chỉ cho phép bạn sử dụng await() trong một chức năng được sử dụng bằng async().
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.
Chúng ta đều biết rằng Redis cung cấp vô số kiểu dữ liệu, có 5 kiểu phổ biến là String (chuỗi), Hash (băm), List (danh sách), Set (tập hợp), Zset (tập hợp có thứ tự). Với việc cập nhật phiên bản Redis mỗi ngày tinh vi hơn, thì có 4 kiểu dữ liệu được hỗ trợ thêm đó là
Việc theo dõi người dùng thì Google Analytics nó là vua rồi. Nhưng chúng ta cũng phải add một url của nó vào sites chúng ta. Mà đã add thì ắt có chặn. Vậy thử hỏi, một trình duyệt mà off hết javascript thì lấy gì mà tracking đây? Sử dụng css thử xem?
Async await Error Handling in Express - Mấy hôm trở lại đây, chúng ta đã thảo luận khá nhiều về Promise và Async/await. Đây là một đề tài khá thú vị, vì có nhiều cách triển khai gây tranh cãi về performance khi sử dụng cái này cái kia. Nhưng trong bài học này chúng ta tập trung vào việc xử lý lỗi ở Express.
Tìm kiếm google cũng là một trong những skills được liệt kê là rất quan trọng cho nhiều ngành nghề chứ không riêng gì về nghề phát triển phần mềm, và sau đây 8 đề xuất tìm kiếm trên google
Lập trình viên đề cập đến hệ thống ai cũng nghĩ về kiến trúc với 3 điều sau. Một tính sẵn sàng cao, hai đồng thời cao, và ba là hiệu suất cao. 3 yếu tố này bắt buộc phải hiểu nếu bạn là một Backend phải xem xét trong quá trình làm việc với dự án. Trong bài viết này, chúng ta sẽ nói những điều này cũng là điều mà chúng ta thường gọi là tính ổn định của hệ thống.
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.
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.
WiredTiger là công cụ lưu trữ giá trị khóa, hiệu suất cao, là công cụ lưu trữ mặc định trong MongoDB 3.2 và mới hơn.
Lập trình tuổi 35 - họ nói độ tuổi này ít công ty tuyển, tôi nghĩ không phải, chả phải có nhiều công ty sẵn sằng chi trả mức lương 8K để tuyển 10 năm kinh nghiệm đó sao? Chả phải nhìn xung quanh, bạn tôi vẫn còn hăng say hay sao?
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?
DevOps là gì? DevOps là một cách để các nhóm R&D (Research vs Development ) chia sẻ niềm vui và nỗi buồn, những khó khăn và cùng nhau vượt qua những thăng trầm.
Java cho người mới bắt đầu sẽ được thiết kế dành cho những sinh viên chưa có hoặc chỉ có kinh nghiệm lập trình cơ bản. Trong topic này, bạn sẽ học những kiến thức cơ bản về ngôn ngữ lập trình Java
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?
Một trong những quy tắc chung khi lập mô hình dữ liệu trong MongoDB là dữ liệu được truy cập cùng nhau phải được lưu trữ cùng nhau. Đó là điều quan tâm đầu tiên khi lập trình database.
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.
Import và Export Modules trong JavaScript là một trong những tính năng tuyệt vời với JavaScript, tính năng này lại giúp chúng trông có vẻ như Java vậy. Nhưng lạ một chỗ là Tipjs lại chưa hề đề cập hay nói cách khác là Tipjs chưa có một bài viết nào về Import và Export ES6 này. Và ngay đây, thì tipjs sẽ trình bày về tính năng này trong bài post này.
NPM là gì? NPM là viết tắt của Node Package Manager, nếu bạn là một lập trình viên phát triển web hay node.js thì sẽ trông thấy rất quen thuộc. Hay cách khác là npm là một kho lưu trữ trực tuyến để xuất bản các dự án Node.js mã nguồn mở.
Ryan Dahl người đã tạo ra Node.js đã chính thức phát hành Deno vào tháng 5 năm 2018. Node là một trình chạy JavaScript phía máy chủ tuyệt vời theo đúng nghĩa của nó nhưng vẫn còn thiếu một số tính năng mà ông cho rằng Deno ra đời nhằm khắc phục những vấn đề đó.
Ở 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.
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.
Cách đảm bảo dữ liệu không bị trùng lặp trong các tình huống đồng thời cao. Trước tiên hãy xem câu hỏi và sau đó mỗi chúng ta tự hỏi: "Minhd đã từng gặp phải những tình huống này chưa? Hoặc có thể tương lai sẽ gặp thì mình sẽ thực hiện như thế nào?"
DESIGNING AN E-COMMERCE WEBSITE - Ở bài trước chúng ta đã gửi OTP cho mỗi khách hàng đăng ký thành viên trong ứng dụng aliconcon. Giờ đây chúng ta sẽ phân tích về thiết kế cho Products, Orders và Inventories.
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. ..
Metadata là gì? Phân tích url từ nodejs chúng ta có thể lấy Title, Description, Keywords và Images từ một url. Một tips nodejs đơn giản nhưng hiệu quả dành cho dev mới. Giờ đây khi sử dụng node thì có rất nhiều module hỗ trợ từ npm, cho nên rất dễ dàng.
Thứ hai, đó là chúng ta phải biết năng lực hiện này của các lập trình viên backend java đều khác nhau, cho nên tốt nhất chúng tôi sẽ chia ra nhiều level khác nhau.
Caching in Node.js using Redis - Đã có nhiều bài viết nói về sự lợi hại của cache. Nhưng để chứng minh điều đó, thì họ lại không nói. Các bài viết thiên về SEO hơn chúng ta nghĩ. Và đây là bài viết của dân kỹ thuật, tôi sẽ chứng minh sức mạng của việc sử dụng cache.
Đây là một trong những bài toán kinh điển để xây dựng một hệ thống thương mại điện tử chính thống như Shopee.
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
Khi tác giả nói vào cách kiếm tiền như vậy tôi không hề tin, nhưng khi đọc cách giải bài toán trên thì tôi đã hoàn toàn tin tưởng. Nhìn lại công ty mình đang làm tôi thấy, chúng tôi đang đi săn hươu. Điều đó quá tuyệt vời.
Firebase là Backend-as-a-Service - BaaS. Firebase theo nghĩa rộng là nền tảng phát triển ứng dụng trên thiết bị di động và web. Firebase giải phóng các developer để tập trung tạo ra trải nghiệm cho người dùng sử dụng sản phẩm một cách tuyệt vời.
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.
Try catch xuất hiện hầu hết tất cả những ngôn ngữ lập trình, chứ không riêng gì javascript. Một lập trình viên giỏi không có nghĩa là code không có lỗi, mà giỏi ở đây đó chính là, anh ta biết quản lý lỗi một cách xuất sắc nhất, một bug hay error có thể giết chết một process của một ứng dụng. Trong bài post này, chúng ta sẽ đi xem try...catch làm được gì?
Chủ đề này đã có người từng hỏi tips javascript, cụ thể là "Anh ơi! Mình thay thế jwt cho session được không?". Với tôi thật sự mà nói là không nên. Nhưng chưa có cơ hội để viết một bài cho rõ ràng.
Đệ quy và lặp lại đó là hai thuật toán mà có thể nói trong vòng đời của một developer hay programer cũng sẽ gặp ít nhất một lần trong đời. Sử dụng đệ quy và vòng lặp như thế nào thì tuỳ vào mỗi trưởng hợp hay mỗi cá nhân lập trình.
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.
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.
Trong khi sử dụng ECMAScript hầu hết mỗi lập trình viên đều không quan tâm đến phiên bản, một số ít quan tâm mà có nhận ra rằng chỉ có ECMAScript 3 và 5 trở lên nhưng sao không bao giờ thấy ECMAScript 4. Tại sao lại như vậy?
Cookie parser là một thằng trung gian hay gọi là middleware trong Expressjs được sử dụng để phân tích cú pháp cookie và cũng là một phần mềm trung gian phổ biến khi những lập trình viên khởi tạo dự án sử dụng nodejs và expressjs. Liệu chúng giúp gì cho chúng ta? Hãy xem một chút về code và lắng nghe lời giải thích.
HTTP là gì? HTTPS là gì? Sự khác biệt giữa HTTPS và HTTP đó là những gì trong bài viết mà tips javascript muốn truyền đạt lại cho những bạn chưa hiểu được những khái niệm trên. Và qua đó giúp các bạn đánh giá được tầm quan trọng như thế nào trong việc sử dụng SSL hay TSL cho ứng dụng hay api của bạn.
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.
Lương lập trình viên mới ra trường bao nhiêu vậy anh? Em kinh nghiệm 2 năm thì phỏng vấn yêu cầu bao nhiêu Anh? Lương của kỹ sư phần mềm và lập trình viên khác không Anh?
Proxy server là một khái niệm hot từ những năm gần đây, vì nếu server của bạn có những thông tin nhạy cảm như ngân hàng thì việc thiết lập một máy chủ proxy bên ngoài tường lứa là điều cần thiết nhất. Bởi vì khi một ai đó muốn truy cập vào Server này thì nhiệm vụ của nó phải qua mặt proxy server.
Thư viện JavaScript bao gồm rất rất nhiều, nhưng để lựa chọn phù hợp nhằm rút ngắn thời gian học và tìm hiểu thì tipjs đã tổng hợp và chia ra từng phần cho các bạn dễ hình dung hơn.
Lúc này hệ thống đã lên tới `6000 request/second`, điều đó có nghĩa là hệ thống bán vé tàu của chúng tôi phát huy sức mạnh với nhiều người quan tâm. Ngáp một hơi lấy tinh thân đi ngủ thôi... Cuộc đời lập trình viên đẹp đến thế là cùng... NHƯNG
Lập trình viên cũng là một nghành nghề, mà đã ngành nghề thì không tránh khỏi có những sai lầm, dù lớn hay nhỏ. Nhưng cái quan trọng bạn có rút ra được những bài học sau những sai lầm ấy không? Hay vẫn như vậy, nếu bạn thuộc vế thừ hai thì có thể bài viết này dành cho bạn. Hãy xem người trong cuộc họ nói gì về những sai lầm của một Lập trình viên.
Nodejs best practice là một phát hiện thú vị mà tôi tham khảo trong thời gian DỊCH BÊNH COVID diễn ra. Thật sự mà nói, rất nể phục những gì mà tác giả và cộng tác viên của họ đã đăng tải trên trang GITHUB.
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.
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ế.
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.
Load balancer là gì? Load balancer mang đến lợi ích gì? Cụm từ này quá nổi tiếng đến mức những bạn năm nhất cũng đã từng nghe tới chứ đừng nói những lập trình viện như bạn. Tôi biết không ít những bạn trong công ty tôi vẫn không biết chút gì về Load balancer (LB) cho nên hy vọng rằng qua bài viết này những bạn chưa hề biết thì bây giờ mạnh dạn tự tin trả lời là biết, sau khi đọc bài viết này.
Nếu bạn là một người luôn thích đọc tin tức lập trình mỗi buổi sáng thì tôi cam đoan bạn sẽ không hề quên bài viết trước đây đó là "HTTP là gì? HTTPS là gì? Sự khác biệt giữa HTTPS và HTTP". Ở đó giúp bạn nắm bắt chi tiết hơn về khái niệm đó. Nói một cách đơn giản, https là http + ssl, mã hóa nội dung của giao tiếp http, là phiên bản bảo mật của HTTP và là giao thức HTTP được mã hóa bằng TLS / SSL
CDN là gì? Vì sao chúng ta lại sử dụng CDN? Những lợi ích khi sử dụng CDN. Hôm nay tipjs vô tình làm về một khía cạnh livestream cho nên đang suy nghĩ về việc sử dụng CDN của nhà cung cấp nào, và vô tình phát hiện được một bài viết rất rất hay cho nên share lại cho anh em, và cũng cho bản thân mình để hiểu rõ hơn về lịch sử hình thành CDN.
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.