Hướng dẫn viết unit test React với Jest và Enzyme (P1) 1. Front-end unit test * Dạo quanh 1 vòng blog của công ty thì ta thấy các vấn đề chủ yếu xoay quanh về coding là chính, unit testing đã ít, front-end unit testing còn ít hơn. * Hôm nay cùng tìm hiểu về unit testing - cụ thể là áp dụng
JavaScript Một vài cách xử lí hay dùng với array và array object trong JS (Phần 1) Vâng, không lan man quá nhiều, với một người code JS được một thời gian nhưng đôi khi vẫn hay quên và phải lên mạng mò code như mình thì sau đây là những trường hợp mình thấy hay gặp, hay dùng khi xử lí Array hoặc Array Object trong
tutorial Hướng dẫn cấu hình Basic Authentication trên Nginx Khi cài đặt một web server, sẽ có những tình huống đặc biệt khi mà bạn muốn giới hạn việc truy cập của người dùng. Có thể bạn không biết, web server bản thân cũng có cách xác thực người dùng bằng username và password. Bài viết này sẽ chỉ
ios Hướng dẫn inspect element trên safari iOS Khi phát triển các website, chúng ta cần kiểm thử trên nhiều thiết bị trong đó không thể không nhắc đến các thiết bị được sử dụng phổ biến nhất trên thế giới: iOS - iphone. Bài viết này, tôi sẽ đưa ra các bước để inspect element của website
React Hooks: UseCallback, UseMemo 1. Lời nói đầu * Đang ngồi chém gió với đồng nghiệp phát thì phát hiện rằng mặc dù dùng react hook lâu nhưng anh em vẫn thấy bỡ ngỡ khi đến 1 số hook như useCallback. Nên mình quyết định làm 1 bài blog để tổng hợp lại kiến thức.
NodeJs PM2 — Cluster Mode and Zero-Downtime Restarts 1. Mở đầu * Dùng PM2 đã lâu nhưng có thể bạn chưa biết rõ điều này Zero-Downtime Restart với PM2. * Khi đọc bài viết này mình mặc định là mọi người đều đã thành thạo về những lệnh cơ bản của PM2 * Trước tiên mình sẽ nói qua về cluster
JavaScript Giải thích về Spread Syntax và Rest Parameters trong javascript 1. Lời nói đầu * Nhân lúc đang ngồi học ES12 thì quay lại đọc tí ES6 thì phát hiện ra rằng mình cũng chưa hiểu và sử dụng hết những chức năng + cũng hỏi qua có nhiều anh em chưa biết nên ngồi viết cái blog về 2 tính năng
ionic Override sự kiện back sử dụng ion-back-button trong Ionic Trong phần này tôi sẽ sử dụng IonBackButtonDelegate để override sự kiến back to history route trong Ionic. Cách bố trí component trong bài này là sử dụng 1 componet con là HeaderComponent và component cha sử dụng HeaderComponent là ParentComponent. Tại header tôi sử dụng IonBackButtonDelegate: // HTML code <
React Native Ignite - The React Native boilerplate. Mở đầu React Native là 1 framework tốt để bắt đầu 1 dự án dành cho mobile, có 2 cách đơn giản để tạo 1 dự án với React Native như sau: * Sử dụng expo-cli [https://github.com/expo/create-react-native-app]: Với người chưa từng lập trình di động và chưa
giao tiếp Quy tắc một chạm trong giao tiếp Quy tắc một chạm trong giao tiếp đơn giản là: > Khi ai đó nhờ bạn làm một việc gì đó hãy đưa cho họ một kết quả để họ có thể sử dụng được ngay. Một quy tắc đơn giản, nếu bạn luôn tâm niệm và thực hành được
git Hướng dẫn đổi Git commit author Vấn đề Khi làm việc với nhiều dự án khác nhau, chúng ta cần set commit author khác nhau, tương ứng với từng khách hàng. Giải quyết Case 1: Chưa commit code Ở đây xử lý khá đơn giản. * Set config git user cho project: $ git config user.name "
flutter Những ngày đầu tiếp cận Flutter 2.0, có gì khác với React Native Bối cảnh Sau 1 quãng thời gian 2 năm với React Native, cũng có làm được 1 số ứng dụng lên appstore. Nhưng có 1 số lý do việc sử dụng React Native vẫn không được thoải mái cho lắm * Vẫn là bản beta. Có những thư viện ngày xưa
Lỗi MySQL trên Windows tự động convert table name sang lowercase Gần đây khi dự án chuẩn bị release dự án, thì có 1 lỗi xảy ra mà chỉ khi upload lên test server của Khách hàng thì mới phát hiện ra được, gây ảnh hưởng đến tiến độ dự án. Hiện tượng Codebase của KH từ khá lâu rồi, khi
Unit Testing Tutorial Part I: Mock Objects, Stub Methods and Dependency Injection Lời nói đầu Sau một khoảng thời gian làm việc thực tế thì cá nhân mình thấy rằng việc code làm sao cho chạy đúng yêu cầu và chuẩn conventions thôi là chưa đủ, code chạy trên local rồi mà không pass test thì còn lâu mới được merge :)). Dự
flutter Cài đặt Flutter trên MacOS Flutter là một bộ toolkit giúp bạn có thể xây dựng ứng dụng Web, mobile và desktop app từ 1 codebase đứng sau bởi Google. Theo quảng cáo thì Flutter code được dịch thành native ARM machine code sử dụng Dart's native compilers nên có hiệu năng như
Front-End TailwindCSS - Utility-first Framework (P1) 1. Tại sao lại chọn TailwindCSS 1.1 Tại sao lại đi tìm 1 framework mới * Sau 1 thời gian dài dùng Antd mình thấy 1 số vấn đề: * Đau đầu với việc phải override quá nhiều, sợ ảnh hưởng đến đoạn code chỗ khác * Ảnh hưởng đến việc maintain
MacOS Homebrew trình quản lý gói tiện dụng trên MacOS Dùng HomeBrew đã lâu, nay nhân dịp bị cướp mất cái máy Mac, đành phải kiếm máy khác mà có cơ hội cài lại máy và ngồi thảnh thơi viết giới thiệu về Homebrew. Về cơ bản HomeBrew là trình quản lý các gói trên MacOS, hiểu 1 cách đơn
React Native Redux và MobX-State-Tree trong React Native Chúng ta có 2 vấn đề với state của ứng dụng trong lập trình di động: * 1 component muốn chia sẻ state với 1 component khác. * 1 component muốn thay đổi state của 1 component khác. Ứng dụng nhỏ thì cách giải quyết đơn giản là truyền state qua lại
React Native React Native: Tạo Native Module trên android I. Mở đầu: Trong quá trình phát triển ứng dụng với React Native, đôi khi chúng ta gặp phải các chức năng mà ứng dụng cần quyền truy cập vào một API Platform mà React Native chưa có module tương ứng. Có thể bạn muốn sử dụng lại một số
JavaScript Higher-Order Functions trong javascript Higher Order Function là gì? Nếu bạn đang làm việc với JavaScript, chắc hẳn bạn đã bắt gặp thuật ngữ Higher-order functions. Mặc dù nghe có vẻ phức tạp nhưng thực tế không phải vậy. Điều làm cho JavaScript phù hợp với lập trình chức năng là nó chấp nhận
React Sử dụng React useMemo Giới thiệu Khi làm việc với React, chúng ta đã quá quen thuộc với cơ chế rerender của component. Khi một màn hình chứa nhiều component, nếu không kiểm soát được việc rerender của các component sẽ ảnh hướng đến hiệu suất của ứng dụng dẫn tới việc trải nghiệm
JavaScript console.log thế nào cho hiệu quả Xin chào, lại là mình đây. Bạn nào từng code Javascript (và những người bạn của nó) thì không lạ gì sử dụng console.log() để debug. Mình xin giới thiệu cho các bạn một số chiêu mình tìm được để console.log thú vị hơn. console.log() các Object
composer Custom lại package trong laravel sử dụng composer Hello mọi người, Đôi khi các bạn muốn custom lại 1 thư viên mã nguồn mở nào đó mà các bạn đang dùng trong project của mình. Đó có thể là 1 bản sữa lỗi, hay 1 bản sửa đổi để phù hợp với dự án. Sau đây mình xin
git Điểm nổi bật của Git 2.28 Giới thiệu init.defaultBranch Khi khởi tạo một Git repository mới bằng git init, Git luôn tạo một nhánh khởi tạo là nhánh master. Trong Git 2.28, sử dụng tùy chọn init.defaultBranch khi config có thể ghi đè cài đặt mặc định này. Git 2.28 luôn đọc
php8 Những thay đổi trong PHP 8 PHP 8 dự kiến chính thức ra mắt vào 26/11/2020 với nhiều thay đổi khi có thêm nhiều chức năng mới, cũng như có những cải thiện về hiệu năng. Cùng điểm qua một số thay đổi trong PHP 8 1. Union types * Union types là tập hợp