Bài viết được sự cho phép của tác giả Nguyễn Hoàng Phú Thịnh Bản thân mình thời gian đầu dùng Use Case cũng gặp rất nhiều khó khăn. Một mớ bồng bông câu hỏi cứ lởn quởn trong đầu: bản chất của Use Case là gì, dùng cho mục đích nào, vẽ vậy đúng hay chưa, có chi tiết quá không, hoặc thậm chí vẽ Use Case xong cũng chẳng biết để làm gì??? Do đó bài này mình sẽ note về những thứ mình học được, làm được và dĩ nhiên quan trọng nhất là những sai lầm mà mình từng mắc phải khi làm Use Case. 1. Use Case là gì? Đầu tiên Use Case là một technique của công việc Business Analyst. Use Case là kỹ thuật dùng để mô tả sự tương tác giữa người dùng và hệ thống với nhau, trong một môi trường cụ thể và vì một mục đích cụ thể. Sự tương tác ở đây có thể là: Người dùng tương tác với [...]
Read more →RPA là gì? Trong bối cảnh cuộc cách mạng công nghiệp 4.0 đang diễn ra mạnh mẽ, RPA đã nổi lên như một công cụ quan trọng giúp các tổ chức tối ưu hóa quy trình làm việc, giảm thiểu sai sót và tăng cường năng suất làm việc. Trong bài viết này, chúng ta sẽ cùng khám phá sâu hơn về RPA, từ cách hoạt động cho đến những ứng dụng thực tiễn của RPA trong từng ngành nghề. Tổng quan về RPA RPA là gì? RPA (Robotic Process Automation) là một công nghệ tự động hóa quy trình làm việc bằng cách sử dụng phần mềm để thực hiện các tác vụ và hoạt động theo cách mà con người thường thực hiện. Mục tiêu chính của RPA là giảm bớt công việc thủ công, lặp đi lặp lại và tốn thời gian bằng cách chuyển phần lớn các quy trình do con người thực hiện sang [...]
Read more →Bài viết được sự cho phép của tác giả Sơn Dương useEffect là một trong những hook quan trọng và hay sử dụng nhất trong các dự án React. Do useEffect được sử dụng rất nhiều, nên nếu bạn viết code trong hook này không tốt, sẽ khiến cho dự án rất khó đọc và dễ gây ra những lỗi tiềm tàng. Bài viết này mình sẽ chia sẻ một số nguyên tắc để làm việc với useEffect tốt hơn, dễ quản lý hơn. 1. Viết ít effect hơn Về cơ bản, để mã nguồn dễ quản lý hơn, tránh những lỗi không đáng có, bạn hạn chế tối đa sử dụng các effects khi làm việc với state. Với useEffect cũng vậy, nếu hạn chế được thì cứ hạn chế, hoặc tìm giải pháp khác thay thế. Tuy nhiên, có những trường hợp bắt buộc bạn phải dùng tới useEffect hook, ví dụ như phải lấy dữ liệu ban đầu mỗi khi khởi tạ [...]
Read more →RPA là một xu hướng mới và đang hot trong giới công nghệ thời gian gần đây, được xem là một trong những giải pháp chủ chốt của Digital Business Automation triển khai cho các khách hàng doanh nghiệp. Chính vì thế mà nhu cầu tuyển dụng kỹ sư xây dựng phần mềm tự động hóa RPA Engineer hiện tại đang khá cao trên thị trường. Bài viết hôm nay chúng ta cùng nhau tìm hiểu top những câu hỏi phỏng vấn vị trí RPA Engineer thường gặp nhé. Sự khác biệt giữa AI và RPA là gì? AI (Artificial Intelligence) là công nghệ mô phỏng lại bộ não của con người về việc lấy một lượng lớn dữ liệu, tự cập nhật cho phù hợp để có thể học hỏi, tiếp thu sau đó xử lý các dữ liệu mới hay đưa ra các dự đoán và phản hồi tương ứng. Đối với RPA, mục đích là xử lý tốt các công việc lặp đi lặp lại dự [...]
Read more →Tổng quan về RPA RPA là gì? RPA là từ viết tắt của Robotic Process Automation, nghĩa là tự động hoá quy trình bằng robot. Đây là công nghệ phần mềm được tạo ra để bắt chước hành động của con người, thực hiện các tác vụ lặp đi lặp lại nhằm tăng hiệu quả công việc. [caption id="attachment_9142" align="aligncenter" width="512"] Tổng quan về RPA[/caption] Cách thức hoạt động: RPA hoạt động trên tầng giao diện của trình duyệt, phần mềm… Hiểu một cách đơn giản, con người sẽ “dạy” cho robot ảo các quy trình làm việc với nhiều bước, trên nhiều ứng dụng khác nhau như: nhận form, gửi tin nhắn xác nhận, sắp xếp form vào folder, nhập dữ liệu trên form.. RPA thường được ứng dụng cho những tác vụ thủ công lặp đi lặp lại có tính quy luật, thao tác trên những dữ liệu đã được cấu trúc hoá. Triển vọng của công nghệ [...]
Read more →Tác giả: Phạm Minh Khoa React cung cấp cho chúng ta 2 hooks là useMemo và useCallback, chúng rất hữu ích khi bạn xử lý với những hoạt động phức tạp, tốn nhiều thời gian và tài nguyên của ứng dụng. Nếu trong React component của bạn có chứa những hoạt động tốn tài nguyên (expensive operation), mỗi lần component được renders lại thì những tasks đó cũng sẽ được chạy lại khiến cho ứng dụng của bạn trở nên chậm chạp hơn. 2 hooks trên sẽ giúp tối ưu (optimize) ứng dụng của bạn bằng cách chạy những hoạt động tốn tài nguyên đó và lưu trữ kết quả (store result) của chúng lại trong cache. Khi component render lại trong lần tiếp theo thì chúng sẽ được chạy lại các hoạt động đó mà thay vào đó sẽ trả về luôn kết quả từ trong cache. useMemo hoạt động thế nào? Giả sử rằng chúng ta có 1 đoạn code xử lý hoạt động tốn thời gian và tài nguyên trong [...]
Read more →Bài viết được sự cho phép của BQT Kinh nghiệm lập trình Dấu hiệu lỗi Không thể sử dụng các phương thức HTTP DELETE, PUT hoặc PATCH với các tệp .php hoặc API Web. Thông báo lỗi sau xuất hiện trong trình duyệt: 405 - HTTP verb used to access this page is not allowed. The page you are looking for cannot be displayed because an invalid method (HTTP verb) was used to attempt access Nguyên nhân Khai báo các phương thức của PHP chưa được xác định, chúng ta cần khai báo lại. Trong bài viết này mình sẽ hướng dẫn fix trên IIS Server. [irp posts="38966" name="Fix Lỗi RDP Authentication Error Has Occurred – The Function Requested Is Not Supported""] [irp posts="39718" name="Fix Lỗi FTP Client Windows Server Current Security Settings Do Not Allow This File To Be Downloaded""] Phương án xử lý Remote vào server sử dụng Remote Desktop Connection Chọn Internet Information Services (IIS) Manager at Windows Start > All Programs > Windows Administrative Tools. Trong IIS Manager, chọn vào SERVERNAME > Sites >Click đúp vào site của bạn. Trong màn hình chính, Chọ [...]
Read more →Bài viết được sự cho phép của tác giả Kiên Nguyễn Ngày nay, xử lý dữ liệu lớn đã trở thành bài toán tiếp xúc hằng ngày đối với Kỹ sư phần mềm, Distributed Data Processing dựa trên MapReduce mà một kỹ thuật được sử dụng để giải quyết những bài toán đó. Thông qua kiến trúc và cách xử lý của MapReduce. Dữ liệu lên tới hàng Petabyte cũng có thể xử lý linh hoạt và nhanh chóng. [irp posts="11945" name="26 công cụ và kỹ thuật trong Big Data có thể bạn chưa biết"] [irp posts="33039" name="Bài toán đồng thuận trong Distributed Systems"] Còn chần chừ gì nữa mà không tìm hiểu xem ta có thể thực hiện như thế nào?. Bắt dầu thôi! 1. Distributed Data Processing Processing đối với data được đề cập trong bài viết này là đề cập tới dữ liệu lớn (large data). Con số lên tới petabytes. Ngoài ra, process cũng bao gồm các vấn đề khó nhắn như: Search LIKE, trả về tất cả dữ liệu có [...]
Read more →Khi dùng React, hầu hết chúng không bận tâm đến việc tối ưu code vì bản thân nó đã khá nhanh. Trong bài viết hôm nay, chúng ta sẽ cùng xem qua cách sử dụng useMemo trong React để tối ưu tốc độ chương trình, hiểu và biết cách sử dụng useMemo sẽ giúp ích cho bạn trong sự nghiệp developer của mình đấy! useMemo là gì? useMemo là một hook trong React được sử dụng để ghi nhớ kết quả của một phép tính tốn kém (expensive calculation) và chỉ thực hiện lại phép tính đó khi các dependencies thay đổi. Hook này giúp tối ưu hóa hiệu suất bằng cách tránh việc thực hiện lại các phép tính không cần thiết mỗi khi component re-render. Cú pháp sử dụng useMemo const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]); Trong đó: computeExpensiveValue: Hàm tính toán mà bạn muốn ghi nhớ kết quả. [a, b]: Danh sách các dependencies. Kết quả được ghi nhớ sẽ chỉ được tính lại khi một trong các dependencies [...]
Read more →Bài viết được sự cho phép của tác giả Lưu Bình An Câu nói chào hàng của useState vẫn thường được nghe: thêm state vào trong function component. [irp posts="19992" name="Làm animate siêu đơn giản với hook khi react component mount và unmount"] [irp posts="21116" name="React hook là gì và lợi ích mà React hook đem lại"] const [value, setValue] = React.useState("init value"); Giả dụ tình huống là thế này, bạn làm gì đó mà nó ko liên quan đến UI, không cần re-render, nhưng vẫn muốn giá trị này cố định giữa các lần render? useState có thể cố định giá trị, nhưng ngặt nỗi nó sẽ trigger re-render nếu bị thay đổi function usePersistentValue(initValue) { return React.useState({ current: initialValue, })[0]; } Vì chúng ta không muốn trigger re-render, nên chỉ trả về giá trị của state (phần tử đầu tiên trong mảng), không trả về hàm để cập nhập nó. Vẫn còn chưa rõ ràng lắm nhỉ, thí dụ trong trong ứng dụng chúng ta muốn có một giá trị counter tăng lên 1 từng giây, một button đế stop việc đó. function [...]
Read more →Bài viết được sự cho phép của tác giả Lưu Bình An Đây là một bài viết tương đối dài dòng về useEffect, bạn cần biết và đã đọc qua tài liệu về useEffect trên trang chính thức của React trước, và nếu chỉ thực sự cần biết sử dụng useEffect ra sao, bạn không cần đọc bài viết phân tách mổ xẻ sâu kiểu này. Mỗi lần render là một giá trị Prop và State độc lập Trước khi bắt đầu nói về useEffect chúng ta cần nhắc lại quá trình render function Counter() { const [count, setCount] = useState(0); return ( <div> <p>You clicked {count} times</p> ... <button onClick={() => setCount(count + 1)}></button> </div> ); } Khác với Vue, nó không phải là một dạng data binding, watcher, proxy, nó chỉ là một giá trị thông thường. const count = 42; <p> {count} </p>; Đầu tiên giá trị khởi tạo của count sẽ =0. Khi chúng ta gọi setCount(1), React sẽ gọi lại component một lần nữa, với giá [...]
Read more →Thông thường chúng ta sẽ dùng một nhà kho để chứa dữ liệu state như Redux, một component container bọc ở nút đầu tiên trong app, các component con bên trong có thể truy xuất và cập nhập các dữ liệu một cách dễ dàng Với các API mới được React bổ sung là useState, createContext, useContext chúng ta có thêm một lựa chọn để làm nhà kho mà ko cần dùng đến Redux Ví dụ chúng ta có 3 dữ liệu như bên dưới const teamMembersNames = ["John", "Mary", "Jason", "David"]; const [sharing, setSharing] = React.useState([]); const [help, setHelp] = React.useState([]); const [pairing, setPairing] = React.useState(teamMembersNames); Câu hỏi là làm sao chúng ta đưa dữ liệu vào nhà kho. Chúng ta sẽ dùng API createContext (tạo em cái kho) Khi sử dụng React.createContext chúng ta sẽ nhận về 2 component là Provider (anh tung) và Consumer (em hứng). // ./src/utils/store.js export const StoreContext = React.createContext(null); export default ({ children }) => { // các em đã vào nhà kho const teamMembersNames = ["John", "Mary", "Jason", "David"]; const [sharing, setSharing] = React.useState([]); const [help, setHelp] = React.useState([]); const [pairing, setPairing] = React.useState(teamMembersNames); const store = { sharing: [sharing, setSharing], help: [help, setHelp], pairing: [pairing, setPairing] }; return ( & [...]
Read more →