
Chắc hẳn đây không phải lần đầu tiên bạn nghe đến Trello! Trello là app được rất nhiều doanh nghiệp sử dụng để quản lý công việc. Vậy tại sao nó lại được sử dụng phổ biến như vậy? Cùng TopDev tìm hiểu thật chi tiết Trello là gì, những điểm nổi bật của ứng dụng Trello và cách sử dụng Trello để sắp xếp và lên kế hoạch dự án thật hiệu quả. Trello là gì? Đầu tiên, ta cùng tìm hiểu khái niệm Trello là gì? Trello là một ứng dụng, công cụ quản lý dự án, công việc một cách trực quan và logic dựa trên phương pháp Kanban, giúp người dùng sắp xếp và theo dõi các nhiệm vụ một cách dễ dàng. Kanban là phương pháp quản lý công việc có nguồn gốc từ Nhật Bản sử dụng những tấm bảng trắng và dán những tờ giấy màu phía dưới để mô tả và quản lý công [...]
Read more →
Trong kỷ nguyên dữ liệu lớn, hệ quản trị cơ sở dữ liệu đóng vai trò cực kỳ quan trọng trong việc lưu trữ, quản lý và truy xuất thông tin. Một trong những loại DBMS phổ biến nhất là Hệ quản trị cơ sở dữ liệu quan hệ. Trong bài viết này, hãy cùng TopDev tìm hiểu khái niệm RDBMS là gì và chức năng cũng như đi sâu vào thành phần của một hệ quản trị cơ sở dữ liệu quan hệ. RDBMS là gì? RDBMS là viết tắt của từ Relational Database Management System - Hệ quản trị cơ sở dữ liệu quan hệ, là một hệ quản trị cơ sở dữ liệu (DBMS) dựa trên mô hình dữ liệu quan hệ, RDBMS được thiết kế để lưu trữ và quản lý dữ liệu có cấu trúc bằng dạng bảng với các cột ứng với các thuộc tính và các hàng đại diện cho các bản ghi. Dữ liệu trong RDBMS được tổ chức một cách logic và có hệ thống, [...]
Read more →
Nếu bạn là một lập trình viên thích viết clean code, cố gắng viết code một cách ngắn gọn nhất có thể thì việc tối ưu hóa các khối lệnh điều kiện là điều cơ bản quan trọng trong JavaScript. Bằng cách thay đổi điều kiện check, bạn có thể giản lược rất nhiều đoạn code của mình cũng như giúp source code của bạn trở nên rõ ràng hơn. Bài viết dưới đây, mình sẽ chia sẻ một vài kinh nghiệm nhỏ giúp bạn cấu trúc lại những đoạn câu lệnh if/ else trong JavaScript một cách hiệu quả nhé. Không nên sử dụng các điều kiện phủ định Bạn không nên sử dụng điều kiện phủ định (giá trị false) cho các câu lệnh if của mình; điều này đơn giản giúp cho việc đọc lại source code của bạn sẽ trở nên tự nhiên hơn. Thêm vào đó, với các biến [...]
Read more →
Bài viết được sự cho phép của tác giả Tống Xuân Hoài Vấn đề Khi mới tiếp xúc với Node.js và cũng là lần đầu học cách sử dụng Linux, nodemon là một thư viện mà tôi thường hay sử dụng để phát triển ứng dụng, vì chỉ cần lưu mã thì ngay lập tức nó sẽ "nạp" lại mã mới mà không cần phải "kill" đi bật lại ứng dụng một cách thủ công nữa, tính năng này ngày nay còn được gọi là "hot reload". Sau bước phát triển là bước triển khai. Trong lúc thực hành chạy ứng dụng ở trên máy chủ, loay hoay mãi không biết làm sao để chạy được nó. Nếu dùng cách thông thường là gõ "node index.js" hoặc thậm chí dùng cả nodemon thì cứ mỗi khi thoát khỏi terminal, thoát khỏi máy chủ, thì ứng dụng cũng "bay màu" theo mất. Tôi hiểu rằng ứng dụng sẽ bị thoát nếu như khô [...]
Read more →
Bài viết được sự cho phép của tác giả Võ Doãn Thành 1. Kể chuyện nè Có 2 điều mình muốn kể cho bạn nghe. Một là tại sao mình viết topic này. Hai là hoàn cảnh nào mà mình nhận được câu hỏi như topic. Thật ra, ban đầu mình không nghĩ sẽ chia sẽ topic này đâu. Do trước đó mình có viết 1 vài về "Data nên lưu vào database trước rồi mới lưu vào cache hay phải làm ngược lại?". Thì mình có lấy ví dụ để mô tả thì đa số các ví dụ đều dùng Microservice. Và có rất nhiều bạn đặt câu hỏi liên quan tới việc làm sao đảm bảo tính nhất quán (consitent) dữ liệu cho các services với nhau. Lúc đó mình mới nghĩ ra được topic này. Vì nó khá liên quan tới việc quản lý transactions giữa các services. Nguyên văn câu hỏi mà mình nhận được trước đó "How do you handle transactions in Microservice architecture? And if one service fails, what's the [...]
Read more →Ngành công nghệ phát triển dựa trên sự đổi mới, nhưng hành trình từ ý tưởng đến một sản phẩm thành công hiếm khi là tuyến tính. Nó được lát bằng những thách thức, những bước ngoặt và những bài học khó khăn mà cuối cùng không chỉ định hình nên những sản phẩm chúng ta sử dụng mà còn cả những chuyên gia mà chúng ta trở thành. Tony Lê, một chuyên gia UX/UI và Quản lý Sản phẩm dày dạn kinh nghiệm với bề dày lịch sử trong lĩnh vực công nghệ Việt Nam, đã chia sẻ những hiểu biết sâu sắc của mình trong bài thuyết trình “6-Year Journey Lessons Learned” (Bài học kinh nghiệm 6 năm). Trong bài phân tích chuyên sâu này, chúng ta sẽ đi sâu vào những thông điệp cốt lõi từ bài thuyết trình của anh, khám phá những kinh nghiệm và kiến thức anh thu [...]
Read more →
Bài viết được sự cho phép của tác giả Tống Xuân Hoài Vấn đề Ngày xưa đi học không biết có ai thắc mắc tại sao lại phải học môn cấu trúc dữ liệu và giải thuật không? Môn học cho chúng ta biết một số cấu trúc dữ liệu phổ biến như là danh sách liên kết (linked list) đơn - đôi, mảng, queue, stack… Nhưng có vẻ như nó thật nhàm chán cho những ai đã biết và đang lập trình. Chưa kể hầu hết ngôn ngữ lập trình đều tự triển khai hoặc có thư viện hỗ trợ tất cả cấu trúc này, ấy vậy mà thầy cô vẫn yêu cầu chúng ta tự triển khai lại các cấu trúc này một cách thủ công. Có lẽ mục đích thật sự đằng sau đó là muốn chúng ta hiểu về tầm quan trọng của cấu trúc dữ liệu. Thật vậy, rất nhiều ý tưởng, giải pháp được [...]
Read more →
Bài viết được sự cho phép bởi tác giả Vũ Thành Nam Trước đây mình quản lý kubernetes (k8s) qua các các command line như kubectl, sau đó thì dùng kubernetes extension trong visual studio code. Tuy nhiên các công cụ này thường không có giao diện không trực quan hoặc không đầy đủ tính năng cần thiết. Vài năm gần đây khi được các đàn anh giới thiệu thì mình biết đến Lens. Lens là một công cụ cung cấp cho chúng ta khá đầy đủ các tính năng làm việc với kubernetes thông qua giao diện và bạn có thể dễ dàng quản lý cũng như làm những tác vụ với k8s một cách mượt mà hơn. Dưới đây là một vài tính năng mà mình thấy được sau một thời gian sử dụng Lens: Hỗ trợ đầy đủ các môi trường Một điều giúp cho Lens được sử dụng rất nhiều bởi mọi người là do Lens có thể chạy trên hầu hết cá [...]
Read more →
Ngày nay, hơn 80% nhà tuyển dụng đã sử dụng các kênh online để tìm kiếm ứng viên. Do đó, việc tạo một hồ sơ xin việc online ấn tượng sẽ giúp bạn nổi bật giữa hàng ngàn ứng viên khác và tăng cơ hội nhận được lời mời phỏng vấn. Hãy cùng theo dõi bài viết này để tìm hiểu cách tạo hồ sơ xin việc online chuẩn chỉnh và tăng cơ hội lọt vào “mắt xanh” nhà tuyển dụng. Hồ sơ xin việc online là gì? Hồ sơ xin việc online là bộ hồ sơ mà ứng viên gửi qua email hoặc qua hệ thống nhận diện hồ sơ online trên các trang web của công ty mà bạn ứng tuyển hay qua các trang web tuyển dụng. Hồ sơ này có thể được tạo và quản lý trên nhiều nền tảng khác nhau. Những hồ sơ này thường được tìm kiếm và duyệt bởi nhà tuyển dụng khi họ tìm kiếm ứng viên phù [...]
Read more →
Chuỗi con (subString) là một khái niệm quen thuộc trong lập trình Java. Nó giúp chúng ta thao tác và xử lý dữ liệu văn bản một cách linh hoạt và hiệu quả hơn. Trong bài viết này, hãy cùng TopDev tìm hiểu về các phương thức tìm kiếm chuỗi con trong Java, cách sử dụng lớp String và StringBuilder để tạo chuỗi con, cũng như những mẹo tối ưu hóa khi làm việc với subString. Substring trong Java Trong lập trình Java, chuỗi con được định nghĩa là một phần của một chuỗi ban đầu, được xác định bởi vị trí bắt đầu và kết thúc của nó. Ví dụ, trong chuỗi "Xin chào thế giới", chuỗi con "chào" có thể được xác định bởi chỉ mục bắt đầu là 5 và chỉ mục kết thúc là 8. Các phương thức tìm kiếm chuỗi con trong Java cho phép chúng ta trích xuất và thao tác với các phần của chuỗi ban đầu một [...]
Read more →
Hồ sơ xin việc chính là "điểm chạm" đầu tiên giúp bạn ghi điểm trong quá trình tìm kiếm việc làm. Một hồ sơ đầy đủ, chuyên nghiệp sẽ thể hiện năng lực và sự phù hợp của bạn với vị trí ứng tuyển, giúp bạn nổi bật giữa hàng loạt ứng viên khác và tăng cơ hội được gọi đi phỏng vấn. Vậy hồ sơ xin việc gồm những gì? Viết hồ sơ xin việc như thế nào cho đúng? Bài viết này TopDev sẽ cung cấp cho bạn các thông tin chi tiết về các thành phần cần thiết trong hồ sơ xin việc, bao gồm CV, thư xin việc, các thành phần bổ sung và những lưu ý cần thiết. Bắt đầu thôi nào! Hồ sơ xin việc là gì? Tầm quan trọng của hồ sơ xin việc Hồ sơ xin việc là tài liệu tổng hợp thông tin về bản thân của một ứng viên, được sử dụng để nộp [...]
Read more →
Trong thế giới lập trình, dữ liệu là một thành phần thiết yếu. Xử lý dữ liệu hiệu quả là điều cần thiết để xây dựng các ứng dụng hiệu quả và đáp ứng nhu cầu của người dùng. Java 8 Stream đã cách mạng hóa cách chúng ta xử lý dữ liệu bằng cách cung cấp một mô hình lập trình chức năng và hiệu quả cao. Các tính năng của Java 8 Stream Một trong những tính năng nổi bật của Java 8 Stream là tính lười biếng (lazy evaluation). Với tính năng này, các phép toán Stream sẽ không được thực thi cho đến khi cần phải thu thập kết quả. Điều này cho phép các chuỗi xử lý phức tạp được xác định trước mà không thực sự thực thi các phép toán cho đến khi cần thiết, tối ưu hóa hiệu suất và giảm thiểu sử dụng tài nguyên. [irp posts="46341" name="Tìm hiểu cơ chế [...]
Read more →
Trong lập trình, việc quản lý dữ liệu là một phần quan trọng và không thể thiếu. Và trong Java, List là một trong những cấu trúc dữ liệu quan trọng nhất để lưu trữ và quản lý các bộ sưu tập các phần tử cùng kiểu dữ liệu. Trong bài viết này, hãy cùng TopDev tìm hiểu về cách sử dụng List trong Java và các tính năng quan trọng của nó. Cách sử dụng List trong Java List là một trong những cấu trúc dữ liệu phổ biến nhất trong Java và được sử dụng rộng rãi trong các ứng dụng thực tế. Nó cung cấp cho chúng ta một cách tiện lợi để lưu trữ và quản lý các phần tử theo thứ tự và dưới đây là một số cách chúng ta có thể sử dụng List trong Java: Lưu trữ danh sách các sản phẩm trong một cửa hàng trực tuyến. Quản lý danh sách các khách hàng của mộ [...]
Read more →
Bài viết được sự cho phép bởi tác giả Sơn Dương Git là một trong những giải pháp quản lý mã nguồn dự án hiệu quả nhất ở thời điểm hiện tại. Đặc biệt là các dự án lớn, có nhiều thành viên tham gia, Git luôn thể hiện rõ sức mạnh. Tuy nhiên, mình tin là bạn đã từng rất bực mình, chỉ biết ngẩng mặt lên trời mà hét “Trời ơi”. Bản thân mỗi khi bắt đầu một dự án mới, mình luôn phổ biến với các thành viên về quy tắc submit/pull code trên git, để hạn chế tối đa việc bị conflict mỗi khi merge các branch. Tất nhiên, người tính không bằng trời tính, đôi lúc vẫn xảy ra trường hợp bị conflict code. Bạn sẽ giải quyết lỗi git conflict này như thế nào? Dưới đây là một cách mà mình muốn chia sẻ với bạn. Git conflict là gì? Khi nào thì xảy ra [...]
Read more →
Bài viết được sự cho phép của tác giả Mai Đông Giang Cắt hay nối chuỗi trong PHP, kiểm tra từ tồn tại trong một chuỗi trong PHP. Hay như đếm số ký tự trong một chuỗi bằng PHP, độ dài của chuỗi,…. Có rất nhiều thao tác với chuỗi trong PHP chúng ta sẽ gặp thường xuyên trong lập trình. Bài này mình xin được chia sẻ với các bạn về một số hàm xử lý chuỗi thường dùng trong PHP. Trước hết, chúng ta xem qua nguyên tắc dùng chuỗi trong php: Nếu chuỗi được đặt trong dấu nháy kép "" thì các ký tự nháy kép " bên trong chuỗi phải thêm dấu gạch chéo đằng trước nó. Trước hết, chúng ta xem qua nguyên tắc dùng chuỗi trong php: Nếu chuỗi được đặt trong dấu nháy kép "" thì các ký tự nháy kép " bên trong chuỗi phải thêm dấu gạch chéo đằng trước nó. echo "Phân tích câu tụ [...]
Read more →