Bài viết được sự cho phép của tác giả Thanh Lê Why should you read this article? There is a set of criteria when choosing a library for Frontend State Management What is state management? What does state management care about? Have a bunch of reasons to drop Redux Usually, people who find this post gonna be in one of two groups A Frontend engineer is too tired, suffer from redux 😵💫 Are you just starting out in frontend and want to learn more about state management If you're in group 1 then... Great, I'm writing this post with 80% of my energy wanting to get rid of redux 😄. If you belong to group 2, this post will help you have more perspectives on state management, how to act cool with colleagues So what the hell is State management? If you find "what is state management" on Google, there are quite a few definitions, but it can be summarized into two main ideas as follows: ☠️ State is the skeleton of the application 🏃 State management is to manage that skeleton It's fuking simple, right? FAQ The skeleton of the application? Why state management? I don't care about state management when I code jQuery? Does state management only applies to React? Why do I hate Redux If you have any questions, I am more than happy to reply in the comment section So which state management to choose? In this part, I only focus on React, because my current job is [...]
Read more →Bài viết được sự cho phép của tác giả Nguyễn Thành Nam Bài viết này sẽ hướng dẫn bạn deploy project lên Cloudflare Pages một cách đơn giản và miễn phí. Bên cạnh đó, mình sẽ chia sẻ những tính năng nổi bật nhất của Cloudflare. I. Cloudflare là gì? Cloudflare là một nền tảng mạng phân phối nội dung (CDN) và bảo mật web phổ biến, cung cấp nhiều tính năng hữu ích cho các nhà phát triển web. Một trong những tính năng nổi bật của Cloudflare là Pages, cho phép bạn triển khai dự án web tĩnh của mình một cách nhanh chóng và dễ dàng. 1. Giới thiệu Ngoài vai trò là một CDN và dịch vụ bảo mật web, Cloudflare còn cung cấp Cloudflare Pages - một nền tảng JAMstack cho phép bạn triển khai website tĩnh một cách nhanh chóng và dễ dàng. Nền tảng này được tích hợp sẵn nhiều tính năng mạ [...]
Read more →Manager là một chức vụ vô cùng quan trọng trong bất kỳ tổ chức nào. Họ giữ vai trò then chốt trong việc đảm bảo hoạt động suôn sẻ và hiệu quả của doanh nghiệp. Nhưng Manager là gì và vai trò của họ trong công ty ra sao? Hãy cùng TopDev tìm hiểu trong bài viết dưới đây. Manager là gì? Manager, hay quản lý, là người đứng đầu và điều hành một nhóm, một bộ phận hoặc một tổ chức. Với vai trò quản lý, họ có trách nhiệm lãnh đạo, quản lý các hoạt động hàng ngày và đưa ra các chiến lược quan trọng để đạt được mục tiêu của tổ chức. [irp posts="49563" name="IT Manager Là Gì? Những Điều Bạn Cần Biết Về IT Manager"] Vai trò của Manager trong công ty Manager đóng vai trò quan trọng trong việc cân bằng các nguồn lực để phân công công việc một cách hợp lý và đạt hiệu quả cao nhất. Họ là người lên kế hoạch, [...]
Read more →Bài viết trước mình có đề cập đến Lock và các loại Lock để giải quyết những vấn đề liên quan đến Concurrency. Sử dụng lock là một phương pháp đơn giản nhưng rất hữu ích khi mà các tiến trình khác nhau trong nhiều môi trường phải vận hành và chia sẻ các tài nguyên theo cách đồng bộ. Tuy nhiên, quản lý lock như thế nào lại là một bài toán không đơn giản vậy nên có khá là nhiều bên thứ ba nhảy vào để giải quyết cũng như ăn miếng bánh béo bở này từ những vấn đề của mọi hệ thống dữ liệu lớn. Việc quản lý này được gọi là Distributed Lock Manager Trình quản lý khóa phân tán (distributed lock manager – viết tắt DLM) là một thành phần có thể tích hợp để giúp bạn quản lý lock do bên thứ ba cung cấp để hỗ trợ nền tảng (platform) hệ thống của bạn. Trình quản lý khóa [...]
Read more →Bài viết được sự cho phép của tác giả Tống Xuân Hoài Vấn đề Điều khiến bạn cảm thấy "sợ hãi" khi làm việc với Node.js là gì? Đối với tôi, chắc đó là maintain một mã nguồn Node.js/JavaScript đời đầu, hay có nghĩa là một dự án đã được viết từ rất lâu trước đó, đang sử dụng một phiên bản Node rất thấp mới có thể chạy được. Không có gì khó hiểu khi tôi hay thậm chí nhiều bạn đọc cũng có cảm giác tương tự. Có rất nhiều lý do để đưa ra như cú pháp lỗi thời, tổ chức mã không trật tự, thư viện bị ngừng hỗ trợ hoặc thậm chí là không còn tài liệu nữa… thử nghĩ mà xem, một thư viện mà ta chưa từng dùng trước đó bỗng nhiên không còn dấu vết của tài liệu nữa thì biết dựa vào đâu mà viết tiếp đây? Chưa kể khi gặp vấn đề trên một [...]
Read more →Project Management, vị trí quản lý dự án phần mềm sẽ cần biết những gì? Những yếu tố nào trong quá trình quản lý dự án cần quan tâm? Bài viết này cung cấp cái nhìn khách quan về dự án, các bước sẽ làm khi lên plan, lên quotation cho 1 dự án mới. Kiến thức này chỉ là kiến thức chung chung, chi tiết hơn anh em có thể tìm tới từng phần để đọc và hiểu sâu hơn. [caption id="attachment_56489" align="aligncenter" width="500"] Không có gì mệt mỏi nha anh em. Hiểu cho PM, họ cũng mệt lắm.[/caption] Quản lý dự án cũng là công việc nặng hơn về yếu tố kinh nghiệm. Tức là càng trải qua nhiều dự án càng quản lý dự án tốt hơn. Phần đầu tiên này mới chỉ nói tớ 1 vài point trong Project Management Fundamental. Anh em có thể theo dõi tiếp phần 2 ở các bài viết tiếp sau đây. Bắt đầu thôi nào anh em! 1. What's is my project? Đơn giả [...]
Read more →Trong công ty chúng ta thường nghe nhắc đến vai trò của một Project Manager là người quản lý các dự án. Ở những tổ chức có quy mô lớn hay dự án lớn hơn, vị trí Program Manager được xem là người quản lý một tổ hợp nhiều dự án có liên quan đến nhau, hay nói cách khác thì Program Manager được xem là quản lý cấp trên của các Project Manager. Đây là một vị trí đòi hỏi kiến thức, kinh nghiệm và các kỹ năng về quản lý cấp cao, cũng là vai trò mà nhiều anh chị em hướng đến trong sự nghiệp. Bài viết hôm nay chúng ta cùng nhau tìm hiểu xem Project Manager là gì và cần học gì để trở thành một Program Manager nhé. Program Manager là gì? Program Manager hay Quản lý chương trình (có tổ chức sẽ gọi là Giám đốc chương trình) là người chịu trách nhiệm quản lý một nhóm các dự án liên quan; các dự án này được kết hợp với nhau [...]
Read more →Quản lý dự án công nghệ ở Techcombank Khác với các hoạt động thường ngày để đảm bảo công việc vận hành tại Techcombank, “dự án” là một tập hợp các hoạt động được thực hiện trong một khoảng thời gian có hạn, với nguồn lực được giới hạn để đạt được mục tiêu cụ thể và rõ ràng mà tổ chức hướng đến. Nói cách khác, dự án là công cụ để thúc đẩy tổ chức tiến lên phía trước, tạo ra sự khác biệt giúp đạt được các mục tiêu chiến lược trong tương lai. Tại Techcombank, nơi luôn luôn có hàng trăm dự án lớn nhỏ được thực hiện, quản lý dự án trở thành một công việc vô cùng quan trọng. Nằm trong Khối Công Nghệ, bộ phận Portfolio Capability Management (PCM) là nơi tập trung các Project Managers (PM) – những người áp dụng kiến thức, công cụ và kỹ năng để đảm bảo một dự án công nghệ tại Techcombank hoà [...]
Read more →Trong một công ty, tổ chức thì IT Manager là người chịu trách nhiệm quản lý hệ thống công nghệ và toàn bộ thông tin liên quan giúp duy trì sự ổn định và bảo mật của các hoạt động. Với vai trò quan trọng đó thì vị trí IT Manager luôn có nhu cầu tuyển dụng cao với mức đãi ngộ tốt, được nhiều công ty chú trọng. Bài viết hôm nay chúng ta cùng nhau tìm hiểu danh sách những câu hỏi tuyển dụng vị trí IT Manager để có thể chuẩn bị tốt nhất cho buổi phỏng vấn sắp tới nhé. IT Manager là gì? Công việc của một IT Manager IT Manager là những chuyên gia công nghệ thông tin, công việc hàng ngày là lên kế hoạch, chỉ đạo và giám sát các hoạt động liên quan đến máy tính và hệ thống thông tin của công ty. IT Manager cũng là người quản lý bộ phận IT của phòng ban và là ngườ [...]
Read more →Bài viết được sự cho phép của tác giả Tùng Nguyễn Để deploy 1 project Javascript đơn giản lên server (apache hoặc ngnix tuỳ sở thích các bạn) thì thường thường chúng ta phải làm các bước cơ bản như build local, zip file source, copy file zip lên server, unzip và chạy các câu lệnh cần thiết. Nếu lúc nào deploy chúng ta cũng tự làm mấy bước như thế này thì thật sự là khá mệt. Hôm nay tôi sẽ hướng dẫn các bạn cách deploy tự động 1 project Nodejs bằng Shipit. Thế Shipit là gì và sử dụng nó như thế nào,… tôi cũng sẽ giới thiệu luôn trong bài này luôn. Shipit là gì? Nói nôm na các bạn dễ hiểu, Shipit là công cụ tự động hoá các bước deploy dành cho các bạn Javascript developer. 1 dòng lệnh trong Shipit config ta coi như 1 task. Shipit sẽ thực hiện 1 flow tasks dựa trên package orchestrator, login và chạy các lệnh SSH trên server thông qua OpenSSH. Chúng [...]
Read more →Project Manager, nghe thôi đã thấy quyền lực, phỏng vấn Project Manager yêu cầu những kiến thức gì? Dưới đây là top 5 câu hỏi được đánh giá là mới và thường xuyên được sử dụng trong các buổi phỏng vấn vị trí quản lý dự án. Các câu hỏi dưới đây có đề cập thêm một số câu hỏi liên quan, ứng viên có thể chuẩn bị thêm, tạo tiền đề cho buổi phỏng vấn thành công tốt đẹp. Trời ơi, cuối cùng cũng có một requirement từ Project Manager Tuy nhiên, vị trí Project Manager sướng hơn nhiều Bắt đầu ngay thôi nào! 1. Giới thiệu bản thân và các dự án đã quản lý Câu hỏi đầu tiên phỏng vấn Project Manager là câu hỏi giới thiệu bản thân. Đây là câu hỏi phổ biến cho rất rất nhiều các vị trí tuyển dụng. Tuy nhiên đối với vị trí quản lý dự án, việc giới thiệu bản thân là vô cùng [...]
Read more →Bài viết được sự cho phép của tác giả Trần Hữu Cương Trong bài này mình sẽ thực hiện tạo Project Java bằng Gradle trên giao diện dòng lệnh, các bạn có thể thực hiện bằng cmd/powershell trên windows hoặc terminal trên linux. Hướng dẫn tạo Gradle Project Java bằng dòng lệnh cmd Đầu tiên tạo folder chứa Project, ví dụ mình tạo folder GradleHello sau đó di chuyển tới folder vừa tạo Để tạo project gradle ta dùng lệnh gradle init Sau khi chạy lệnh gradle init, nó sẽ hiện ra danh sách các loại project. Để tạo project Java thì các bạn chọn java-application Các câu hỏi sau đó thì các bạn có thể bỏ qua (để nó chọn mặc định – default) bằng cách ấn enter Kết quả project GradleHello được tạo ra như sau: Trong đó: folder gradle dùng để wrapper các file folder src/main/java chứa mã nguồn java folder src/test/java là folder chứa các file test java Tìm Java job lương cao trên TopDev Các file khác: file settings.gradle dù [...]
Read more →Trong một công ty hay một dự án phần mềm có rất nhiều vị trí chức danh tương ứng với vai trò khác nhau. Software Manager hay Quản lý phần mềm là một chức danh mà không phải ở công ty nào cũng có, mặc dù công việc và trách nhiệm của họ rất quan trọng và có nhiều điểm giống với một vài vị trí khác. Trong bài viết hôm nay chúng ta cùng tìm hiểu về công việc của một Software Manager cũng như những kỹ năng cần thiết để trở thành quản lý phần mềm nhé. Software Manager là gì? Người quản lý phần mềm là vị trí trong công ty, tổ chức có nhiệm vụ giám sát sự phát triển, việc cài đặt và bảo trì một phần mềm mới và những phiên bản cập nhật mở rộng (upgraded) của nó. Với tư cách là một Software Manager, bạn sẽ phải phối hợp với các thành viê [...]
Read more →Bài viết được sự cho phép của tác giả Lê Chí Dũng SSL/TLS certificates thì được dùng phổ biến trong hệ thống nhằm tăng cường security. Và việc load balancer, Gateway,… thì cấu hình này khá phức tạp và AWS Certificate Manage (ACM) sẽ giúp cho việc này dễ dàng quản lý hơn. Trong bài này mình sẽ share cách tích hợp Let’s Encrypt Certificates (miễn phí) trên ACM. 1. Cài đặt Certbot của Let’s Encrypt Certificates Tài liệu tham khảo: https://certbot.eff.org/ Nếu dùng MacOS thì cài từ brew cho lẹ https://formulae.brew.sh/formula/certbot brew install certbot 2. Execute certbot và cấu hình DNS để tạo Certificate cho domain dưới local sudo certbot certonly --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns -d 'domain.com' Sau khi execute command ở trên sẽ xuất hiện thông tin set up DNS trên domain. Type: TXT Name: _acme-challenge Value: 3qFPwRcxEd… Sau khi add xong TXT trên DNS thì chờ vài giây hoặc vài phút mới apply. Trong lúc chờ có thể confirm bằng cách access vào URL Toolbox của google check https://toolbox.googleapps.com/ [...]
Read more →Thiếu hụt nhân sự luôn là một bài toán tuyển dụng IT nan giải, dù xu hướng lương và phúc lợi đang tăng mạnh cho ngành này, nhưng nhiều chuyên gia dự báo dự đoán từ năm 2023 - 2025, Việt Nam vẫn sẽ thiếu hụt từ 150.000 đến 200.000 lập trình viên/kỹ sư hàng năm. Thị trường xin việc IT trở thành một "đại dương đỏ" với sự cạnh tranh khốc liệt, việc tìm kiếm và tuyển dụng được các ứng viên đạt đủ yêu cầu trở nên cực kỳ khó khăn, tốn kém và mất nhiều thời gian. Trước sự phát triển nhanh chóng của nhiều xu hướng công nghệ mới trong năm 2022 - 2023 mở ra nhiều cơ hội tốt hơn cho các lập trình viên tại Việt Nam, đây có thể sẽ gây không ít trở ngại cho nhà tuyển dụng nếu không biết tuyển dụng đúng cách. Liệu các nhà tuyển dụng và doanh nghiệp có đ [...]
Read more →