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?
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.
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.
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.
Triển khai quy trình đăng ký người dùng trong dự án Shopdev, bao gồm kiểm tra email hoặc số điện thoại, mã hóa dữ liệu, gửi OTP qua Kafka và AWS, và lưu trữ dữ liệu bảo mật.
Debezium là một công cụ mạnh mẽ cho phép chúng ta theo dõi các thay đổi trong cơ sở dữ liệu MySQL và phát những thay đổi đó dưới dạng các sự kiện vào Kafka.
Các lập trình viên nhìn chung có niềm đam mê lớn với công nghệ nên họ sẽ chắc chắn dành nhiều tâm sức cho việc học kỹ thuật lâpk trình trong suốt sự nghiệp của mình. Hơn nữa, các lập trình viên không chỉ cần thành thạo ngôn ngữ phát triển trong công việc mà còn phải thành thạo hàng loạt middleware mà các công nghệ đang triển khai. Ví dụ: Nếu bạn là kỹ sư phát triển back-end, bạn không chỉ cần thành thạo 1-2 ngôn ngữ back-end mà còn cả database, cache, message queue, sync..
Tôi bắt đầu lập trình bằng javascript cách đây 6 tháng và đây là ngôn ngữ duy nhất tôi biết cho đến nay. Tôi không thực sự hứng thú với frontend và tôi đã quen thuộc với các công nghệ được sử dụng để phát triển phía backend. Tôi muốn ngôn ngữ tiếp theo của mình là ngôn ngữ được sử dụng rộng rãi cho phát triển backend chủ thuần túy trong ngành và tôi không thể quyết định giữa JAVA, Go, C#, PHP, python. Ngôn ngữ nào có thể mang lại cho tôi nhiều cơ hội nhất để bắt đầu hành trình của mình trong những năm tiếp theo của lập trình viên.
Nam là một chiến binh PHP dũng mãnh, có thể xử lý bất kỳ thách thức nào với chiếc "gươm" cú pháp của mình. Nhưng rồi một ngày, Nam nhận ra mình bị lạc vào một khu rừng mã code, nơi có những thứ mà PHP không thể cứu vãn được.
Tại sao lại học Go? Và lộ trình trở thành backend với Golang như thế nào? Cần có kiến thức gì để có thể học các ngôn ngữ nhanh chóng có thể? Không có cách nào khác ngoài sự kiên nhẫn và chọn đúng hướng đi...
Bám sát vào câu hỏi. "Nếu accessToken bị đánh cắp thì sẽ xử lý như thế nào cũng như làm sao để phát hiện điều đó?". Suy nghĩ. Tại sao nhà tuyển dụng lại hỏi vào thẳng câu đó, hay là từ câu đó nếu mà bạn trả lời được thì sẽ dẫn dắt một câu chuyện khác?
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.
Đối với Lập Trình Viên Backend lâu năm không cần phải giải thích tính quan trọng của cache (redis, memcached) nó được sử dụng rộng rãi trong các dự án do tính đồng thời cao và hiệu suất cao không phải bàn cãi, nhưng nó có nhược điểm đó là tính nhất quán.
Redis và Memcached vốn dĩ rất thân thuộc với nhiều lập trình viên backend, chúng đều là cơ sở dữ liệu dựa trên bộ nhớ và thường được sử dụng làm bộ nhớ đệm (cache) trong ứng dụng hiện nay, và cũng có nhiều kịch bản để áp dụng.
"Khóa phân tán" là một phương pháp phổ biến được sử dụng để giải quyết "xung đột đồng thời" trong các ứng dụng phân tán hiện nay. Ở đây chúng ta sẽ phân tích các kịch bản và cách triển khai về phương pháp này.
Redis String là một trong những cấu trúc dữ liệu cơ bản nhất trong Redis, nó có thể lưu trữ bất kỳ loại dữ liệu nào, bao gồm number, text, object được tuần tự hóa, v.v. String trong Redis có thể lưu trữ tới 512MB dữ liệu.
Khi chúng ta nói về tính nhất quán nhất là các hệ thống phân tán, thì sách vở chỉ có phân hai loại, nhất quán yếu và nhất quán mạnh. Nhưng thực tế thì phải có 3 loại tính nhất quán.
Stream trong Node.js được sử dụng khi xử lý các tình huống với các File lớn hoặc phát trực tiếp liveStream một ứng dụng nào đó. Thật sự nếu kỹ năng chưa đủ thì có lẽ sẽ làm một thảm họa, ví dụ sau đây làm bằng chứng...
Đa luồng là một công nghệ quan trọng trong phát triển phần mềm hiện đại nhằm nâng cao hiệu suất và khả năng phản hồi của ứng dụng. Tuy nhiên, do tính chất đơn luồng của JavaScript nên điều này không phổ biến trên web.
Hiện tại giao tiếp không đồng bộ với máy chủ là một yêu cầu phổ biến. Tuy nhiên, khi cần gửi nhiều yêu cầu cùng lúc, nếu không được kiểm soát có thể khiến máy chủ tải quá mức và ảnh hưởng đến hiệu suất ứng dụng.
Git hiện là công cụ kiểm soát phiên bản phổ biến nhất và điều quan trọng đối với các lập trình viên là bắt buộc phải thành thạo các lệnh Git. Đây là những thao tác có tần suất sử dụng nhiều nhất cho nên tôi tổng hợp lại cho các Anh Chị.
Phỏng vấn backend node.js trước tiên bạn muốn tự tin thì chỉ có cách hãy làm chủ được công nghệ hay tốt nhất là hiểu sâu về ngăn xếp công nghệ của node.js. Đây là một bài viết giới thiệu về ba level khác nhau về các câu hỏi phỏng vấn lập trình Node.js.
Vị trí Fullstack (FS) lập trình viên có hai cuộc đời, một là sướng chết cha, hai là khổ chết bà. Sướng và khổ ở đây chưa nói đến lương bổng nha AC. Vì sao để tôi phân tích thêm về vấn đề này.
Ứ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.
Một quy trình đặt hàng đơn giản bao gồm xác minh sản phẩm, định giá đơn hàng, khấu trừ hàng tồn kho và lưu đơn hàng. Trong số đó, vấn đề đồng thời khấu trừ hàng tồn kho là mắt xích rắc rối và phức tạp nhất trong toàn bộ quá trình, tôi giải quyết thế này.
Cấu trúc dữ liệu và giải thuật được xem là một tiền đề trong ngành lập trình viên. Tôi nhớ hồi còn đi học, mỗi lần thầy giảng về cấu trúc dữ liệu và giải thuật là cả đống người lăn ra ngủ..
Tại sao chúng ta cần Elasticsearch (ES) khi chúng ta có MySQL? Nếu cần thì việc đồng bộ giữa MySQL và ES như thế nào? Tôi hỏi đây là cách tốt nhất hay không?
Khi bạn sử dụng file `.gitignore` trong thư mục dự án, điều đó không cho phép những files or folders của bạn push lên hệ thống Git. Nhưng cũng có nhiều trường hợp
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...
Please commit your changes or stash them before you merge, nếu bạn gặp một thông báo như thế này trong khi làm việc với Git thì chỉ hai thao tác sau là ok liền.
Sử dụng Connection pool để làm việc dưới ứng dụng thì tôi đã làm rất nhiều, và đương nhiên nói về hiệu suất thì nó được cải thiện rõ ràng, tôi có một video chứng minh điều đó
Tôi cảm thấy rằng việc sử dụng redis trong dự án chủ yếu được xem xét từ hai khía cạnh đó là hiệu suất và đồng thời. Tất nhiên, redis cũng có các chức năng khác như khóa phân tán
ES6 được đề xuất vào năm 2015. Theo logic này thì , ES2023 hay ECMAScript 2023 nên được gọi là ES14 cho nó chuẩn. Tháng 6 năm 2023 sẽ chính thức phát hành những tính năng mà đáng ra nó phải cho ra lâu rồi mới đúng.
Hầu hết mọi người không chuẩn bị nhiều cho tương lai, nhưng kết quả của việc chuẩn bị và không chuẩn bị sẽ rất khác nhau. Tin tôi đi... Bời vì khi 40 tuổi tôi mới nhận ra mình đã mất thời gian để mài VŨ KHÍ như thế nào?
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.
Remove Null or Undefined Values from Object in Javascript - Đôi lúc ta muốn xóa dữ liệu bẩn bao gồm null or undefined trong dữ liệu trả về thì có thể sử dụng Object.keys() để xử lý đơn giản như sau.
Chat GPT-3 đã qua. Giờ chúng ta tập trung cho GPT-4. Tôi biết giờ dây đăng ký GPT3 đã khó huống hồ gì GPT-4. Chính vì vậy bài viết này dành cho những bạn nào đang có những lý do sau đây.
Đăng nhập một hệ thống có thể dựa vào nhiều bên thứ ba như Facebook và Google ưu điểm nhanh gọn, thông tin chính xác nhưng tích hợp thế nào khi chúng ta đang sử dụng Node.js
Eventloop là một phần quan trọng của hệ thống runtime của Node.js, nó liên quan đến callback, thread nhưng để hiểu khái niệm này không đơn giản. Bài viết này phân tích rất kỹ về vấn đề này.
Fixed window là một thuật toán được sử dụng để hạn chế số lần gọi một hàm hoặc thủ tục trong một khoảng thời gian cố định. Điều này có thể được sử dụng để tránh tình trạng quá tải hệ thống hoặc giảm bớt số lần gọi hàm hoặc thủ tục không cần thiết.