Các bài viết ngắn phần 7

Trực quan hóa khi chạy mã chương trình

Giả sử bạn đang giả một bài toán nhưng gặp bug, thì bạn sẽ làm gì?

Giới thiệu đến bạn một công cụ Visualize Code Running có tên là pythontutor.com giúp bạn xem được từng bước được mô tả một cách trực quan. Dù là pythontutor nhưng công cụ này hỗ trợ nhiều loại ngôn ngữ như Python, JavaScript, C, C++, and Java.

Bạn vào trang pythontutor.com sau đó chọn Start writing and visualizing code now và chọn ngôn ngữ muốn viết.

Sau khi đã nhập (paste) đoạn code cần debug vào, nhấn nút Visualize Executionđể bắt đầu xem code thực thi ra sao. Bấm Next để di chuyển đến bước tiếp theo.

Nửa màn hình bên trái chứa code, các nút bấm để di chuyển đến bước tiếp theo Next, bước trước đó Prev, bước cuối cùng Last và bước đầu tiên First

– Mũi tên xanh lá câu nhạt chỉ dòng vừa mới thực thi

– Mũi tên đỏ chỉ dòng sẽ thực thi tiếp theo

Mời bạn ghé đọc bài viết này là một ví dụ cụ thể về cách bạn có thể sử dụng pythontutor để debug một đoạn logic của bài leetcode 35. Search Insert Position và xem từng bước chạy như thế nào. 

Thay vì đi console.log mọi nơi thì cách này xịn xò hơn hẳn phải không?

npkill

Mỗi khi chạy một dự án(có file package.json) với npm install hay yarn install sẽ có một thư mực node_modules được tự động khởi tạo với rất nhiều thư mục con là nội dung các gói(package).

Vì thế, sau khi chạy nhiều dự án, sẽ có rất nhiều thư mục node_modules này vẫn tồn tại trong máy tính, và tốn rất nhiều bộ nhớ.

Vì nhiều lý do bạn vẫn muốn giữ source code của những dự án này, nhưng giữ thư mục node_modules thì không cần thiết.

Giới thiệu đến bạn npkill giúp có thể săn tìm những thư mục node_modules và tiến hành xoá bỏ chúng.

CLI npkill sẽ tìm kiếm trong máy tính bạn những nơi có thư mục node_modules và liệt kê ra. Sau đó bạn có thể duyệt qua từng thư mục và chọn xoá với phím SPACE.

Công cụ này có thể cài đặt với lệnh npm install -i npkill
và sau đó run npx npkill để đi săn.
Bạn cũng có thể sử dụng lựa chọn(option) như:
–sort hay -s để sắp xếp theo size.
–target hay -t để chọn mục tiêu tìm kiếm, có thể là một folder nào đó khác node_modules
–directory hay -d để chọn thư mục cần tìm

Chúc bạn có thể sớm làm sạch máy tính của mình nhé!

Đọc thêm ở bài viết này

CRUD là gì?

Thuật ngữ CRUD, hay CRUD Operation được sử dụng khá phổ biến, đó không phải là một từ mà là viết tắt của Create – Read – Update – Delete, đại diện cho 4 hoạt động chính của một ứng dụng

Ví dụ bạn tạo một app các công việc cần làm (todo list), thì sẽ cần người dùng nhập các công việc cần làm (create), xem được danh sách các công việc (read), thay đổi nội dung công việc (update) hoặc xoá công việc khi không cần làm nữa (delete).

Một ứng dụng CRUD sẽ bao gồm 3 phần chính: server (API) : truyền dữ liệu database : lưu dữ liệu client app (UI) : hiển thị dữ liệu, nơi người dùng nhập dữ liệu

CRUD cũng tương ứng với các phương thức HTTP cụ thể: Create tương ứng với POST Read tương ứng với GET Update tương ứng với PUT/PATCH. PUT là update toàn phần, PATCH là update một phần Delete tương ứng với DELETE

Bạn có thể đọc thêm về các ví dụ ở link sau.

npm query

Nếu muốn hiện các dependences trong một một dự án quản lý bởi npm(Node Package Manager), câu lệnh “npm list” hoặc “npm ls”. Nếu muốn tìm kiếm có thể sử dụng “npm search [search term]”

Gần đây, npm v8.16.0 đã mắt thêm một câu lệnh “npm query” cho phép tìm kiếm theo Dependences Selector, có cú pháp tương tự như CSS Selectors, một ngôn ngữ mà hầu như lập trình viên nào cũng biết.

Ví dụ thay vì “npm list –all” thì nay có thể thay bằng npm query “*” Hoặc muốn tìm kiếm những phiên bản của react thì có thể kiếm bằng: npm query “#react” Tìm những phiên bản react mà không phải là peer dependences: npm query “#react:not(.peer)” Tìm tất cả dependences loại git: npm query “:type(git)” Tìm tất cả dependences có license là MIT: npm query “license=MIT”

Bạn ghé đọc bài viết này để bỏ túi thêm vài típ sử dụng khác nha.

Giới thiệu về mã nguồn

Trong thế giới phần mềm, bạn sẽ hay gặp câu hỏi: “Phần mềm này là loại mã nguồn mở (open source) hay mã nguồn đóng (closed source)?”

Vậy thì mã nguồn là gì? mã nguồn mở hay mã nguồn đóng nghĩa là sao?

Mã nguồn (source code) là phần code của ứng dụng. Ví dụ đơn giản nhất là chương trình hello world, in ra một dòng “Hello Linux!”

print("Hello Linux")

nội dung trên chính là mã nguồn của chương trình viết bằng Python.

Mã nguồn đóng(closed source) là những phần mềm độc quyền với mục đích bảo vệ mã nguồn để tránh cạnh tranh, sao chép, … (Windows, MacOS, …)

Mã nguồn mở(open source) là chương trình có mã nguồn được cung cấp sẵn (Linux, Firefox, Git, …). Open source có thể hiểu là khả năng truy cập vào mã nguồn.

Ngoài ra còn có free source, là những phần mềm được tự do copy hay có thể thay đổi của chương trình, chứ không liên quan đến giá cả.

Open source có rất nhiều lợi ích như được sự đóng góp của cộng đồng, source code tốt hơn và giảm thời gian phát triển phần mềm. Và cũng vì được mở nên sẽ tiếp cận được nhiều người hơn.

Linux thường hay được biết đến là hệ điều hành mã nguồn mở phổ biến. Tuy nhiên thực tế Linux chỉ là một phần mềm nhân (kernel). Mời bạn đọc thêm về các loại mã nguồn và giới thiệu về Linux ở đây.

Nội dung này thuộc BeautyOnCode’s short posts là các bài viết ngắn tóm tắt nội dung và ý kiến cá nhân từ các nguồn như các slack channels (công ty, cộng đồng), các new letters, …

Các bài viết này cũng được đăng ở:

👉 BeautyOnCode trên Careerly (lời hứa với Careerly) Trên đây có gần 900 người theo dõi, và là trang tin công nghệ khá hay, bạn có thể tải app rồi theo dõi mình nhé.

👉 Blog BeautyOnCode, chuyên mục “Short Posts”

👉 Fanpage BeautyOnCode

👉Trang notion này tổng kết các bài viết

Nếu bạn thích đọc hàng ngày thì hãy follow các trang trên nhé. Chúc bạn đọc vui ^^

Nếu bạn nghĩ những nội dung này là hữu ích, bạn có thể khích lệ mình bằng cách:

Mời mình ☕️ cafe qua Ko-fi hay Momo

Theo dõi 👀 để nhận các bài viết mới trên: Careerly, fanpage, linkedin

Subscribe channel Youtube BeautyOnCode giúp mình với! 

🤘 Nhắn mình nhé 🤘

Hẹn gặp mọi người một ngày nào đó!

RELATED POST

Web Developer Learning Resources

Developer Roadmap roadmap.sh is a community effort to create roadmaps, guides and other educational content to help guide developers in…

Các bài viết ngắn phần 31

Blog từ tiết kiệm đến miễn phí Chia sẻ kinh nghiệm viết blog từ tiết kiệm đến miễn phí Khi…

Các bài viết ngắn phần 30

9 lỗi người mới học React thường mắc phải <font color="#333333" face="Open Sans, -apple-system, system-ui, system-ui, Roboto, Helvetica Neue, Segoe…

Giới thiệu 50 dịch vụ AWS

AWS được ra mắt vào năm 2006 với 3 dịch vụ chính: Storage, Compute, Messaging Hiện nay AWS cung cấp…