AWS

Ngăn chặn truy cập tới ứng dụng web đặt sau AWS CloudFront theo Client IP

Trong bài viết này mình mô tả một sự cố gần đây xảy ra trong hệ thống mà mình gặp phải khiến RDS Database CPU/Memory luôn gặp phải tình trạng quá tải, ảnh hưởng tới trải nghiệm người dùng. Đồng thời chia sẻ về các giải pháp khả thi mà các thành viên trong đội dự án đã thử triển khai thành công. Thực tế, còn có nhiều giải pháp xịn hơn, nếu bạn đã từng gặp phải vấn đề này, hãy để lại comment chia sẻ nhé 🚀

8 phút để đọc

Một số kiến thức cơ bản mà Cloud Engineer cần nắm được

Trong bài viêt này mình muốn giới thiệu với các bạn các kiến thức cần thiết khi làm việc như một Cloud Engineer hay Solution Architect trong dự án mà mình cảm thấy là cần phải biết và hiểu. Đôi khi chỉ đa phần là kiến thức cơ bản, nhưng nếu không hiểu rõ thì sẽ rất dễ nhầm lẫn và đưa ra quyết định sai khi đứng trước những lựa chọn.

24 phút để đọc
Top ↑

Dart

[Programing] Bắt đầu lập trình với Dart 2

Cách đây 4 năm mình đã từng code thử Dart, và thực sự thấy nó chẳng có gì nổi trội, nên quyết định từ bỏ và ko học. Một thời gian bẵng đi, sau sự kiện Google I/O diễn ra vào tháng 6 năm 2018, khi Google chính thức release bản beta#3 của Flutter thì Dart đã quay trở lại và ăn hại gấp đôi :joy: Thời thế thay đổi, mà dù ngôn ngữ chỉ là công cụ nhưng không học thì không biết nên quyết định đầu tư thời gian học Dart với hi vọng một ngày không xa sẽ build được app cho Android/iOS trên Flutter. :rofl:

8 phút để đọc
Top ↑

Debug

Mở ứng dụng Local trên Internet bằng tính năng VSCode - Local Port Forwarding

Trong quá trình phát triển ứng dụng, web/app chắc hẳn mỗi chúng ta đều đã từng gặp bài toán cần chia sẻ ứng dụng của mình cho một bên khác thông qua internet. Ví dụ:

  • Bạn muốn demo website đang code cho khách hàng truy cập từ xa
  • Bạn cần trỏ mobile app > backend API endpoint tới server trên máy cá nhân cho tiện debug
  • Bạn muốn test tính năng webhook từ một service bên thứ 3 tới endpoint trỏ tới server trên localhost
4 phút để đọc
Top ↑

Swarm

Top ↑

Javascript

[List.js] Thêm mới và xoá bỏ row trong table

Trong lúc dịch tài liệu dự án, mình bắt gặp 1 yêu cầu nhỏ. Cụ thể là ở màn hình create (tạo mới) cần tạo ra một danh sách input động, các row trong table có thể tăng giảm dựa vào button hoặc . Thực tế, đây là bài toán khá quen thuộc và dễ dàng thực hiện với các framework hỗ trợ data-binding như React, Angular hay VueJs. Tuy nhiên do đặc thù là maintaince một tool khá cũ của khách nên cũng không muốn add thêm mấy cái đao to búa lớn quá. :sunglasses:

2 phút để đọc
Top ↑

GCP

Một số kiến thức cơ bản mà Cloud Engineer cần nắm được

Trong bài viêt này mình muốn giới thiệu với các bạn các kiến thức cần thiết khi làm việc như một Cloud Engineer hay Solution Architect trong dự án mà mình cảm thấy là cần phải biết và hiểu. Đôi khi chỉ đa phần là kiến thức cơ bản, nhưng nếu không hiểu rõ thì sẽ rất dễ nhầm lẫn và đưa ra quyết định sai khi đứng trước những lựa chọn.

24 phút để đọc
Top ↑

Vscode

Mở ứng dụng Local trên Internet bằng tính năng VSCode - Local Port Forwarding

Trong quá trình phát triển ứng dụng, web/app chắc hẳn mỗi chúng ta đều đã từng gặp bài toán cần chia sẻ ứng dụng của mình cho một bên khác thông qua internet. Ví dụ:

  • Bạn muốn demo website đang code cho khách hàng truy cập từ xa
  • Bạn cần trỏ mobile app > backend API endpoint tới server trên máy cá nhân cho tiện debug
  • Bạn muốn test tính năng webhook từ một service bên thứ 3 tới endpoint trỏ tới server trên localhost
4 phút để đọc
Top ↑

Port Forwarding

Mở ứng dụng Local trên Internet bằng tính năng VSCode - Local Port Forwarding

Trong quá trình phát triển ứng dụng, web/app chắc hẳn mỗi chúng ta đều đã từng gặp bài toán cần chia sẻ ứng dụng của mình cho một bên khác thông qua internet. Ví dụ:

  • Bạn muốn demo website đang code cho khách hàng truy cập từ xa
  • Bạn cần trỏ mobile app > backend API endpoint tới server trên máy cá nhân cho tiện debug
  • Bạn muốn test tính năng webhook từ một service bên thứ 3 tới endpoint trỏ tới server trên localhost
4 phút để đọc
Top ↑

Blog

Cùi Bắp’s blog

Từ hôm nay mình sẽ viết lại những gì mình học được trong một ngày vào đây.

~1 phút để đọc
Top ↑

Note

Cùi Bắp’s blog

Từ hôm nay mình sẽ viết lại những gì mình học được trong một ngày vào đây.

~1 phút để đọc
Top ↑

Nodes

Top ↑

Services

Top ↑

Office work

[List.js] Thêm mới và xoá bỏ row trong table

Trong lúc dịch tài liệu dự án, mình bắt gặp 1 yêu cầu nhỏ. Cụ thể là ở màn hình create (tạo mới) cần tạo ra một danh sách input động, các row trong table có thể tăng giảm dựa vào button hoặc . Thực tế, đây là bài toán khá quen thuộc và dễ dàng thực hiện với các framework hỗ trợ data-binding như React, Angular hay VueJs. Tuy nhiên do đặc thù là maintaince một tool khá cũ của khách nên cũng không muốn add thêm mấy cái đao to búa lớn quá. :sunglasses:

2 phút để đọc
Top ↑

LPIC-2

[Capacity Planning] Đo lường và khắc phục sự cố sử dụng tài nguyên

Có rất nhiều thành phần trong một hệ điều hành Linux có thể gây ảnh hưởng tới hiệu năng của hệ thống. Việc chủ động giám sát các (monitoring) components, sẽ là cách duy nhất để bảo vệ hệ thống của bạn. Bài viết này tôi sẽ đề cập tới các công cụ và tiện ích giúp bạn có thể giám sát hệ thống dễ dàng.

29 phút để đọc
Top ↑

Monitoring

[Capacity Planning] Đo lường và khắc phục sự cố sử dụng tài nguyên

Có rất nhiều thành phần trong một hệ điều hành Linux có thể gây ảnh hưởng tới hiệu năng của hệ thống. Việc chủ động giám sát các (monitoring) components, sẽ là cách duy nhất để bảo vệ hệ thống của bạn. Bài viết này tôi sẽ đề cập tới các công cụ và tiện ích giúp bạn có thể giám sát hệ thống dễ dàng.

29 phút để đọc
Top ↑

.ipa

Top ↑

App Store

Top ↑

Download

Top ↑

Snapshot

Top ↑

Backup

Top ↑

Restore

Top ↑

Reindex

Top ↑

Laravel

Top ↑

Life

Làm việc để trưởng thành

Tính tới thời điểm hiện tại, mình cũng đi làm được gần 5 năm, chuyển qua 3 công ty. Sự nghiệp làm dev đó nói ngắn thì ngắn mà dài thì cũng chẳng dài, biết bao nhiêu chuyện, bao nhiêu bài học quý giá mà công việc đã dạy cho mình. Hôm nay, một ngày đẹp trời mình xin phép chia sẻ một suy nghĩ của cá nhân mình, đó là “công việc là nơi giúp bản thân tự trưởng thành”. Làm việc không chỉ để kiếm tiền mà còn giúp bản thân trưởng thành hơn. Trưởng thành ở đây không chỉ là học thêm kỹ năng mới mà còn là sự lớn lên về nhận thức và nhân cách (mặc dù kỹ năng vẫn là điều quan trọng).

9 phút để đọc
Top ↑

IntelliJ IDEA

Top ↑

多重起動

[Go] Tránh start một program đang chạy với Flock

Hiện tại mình đang làm một dự án thực hiện xử lý bên dưới server (background processing). Hệ thống được viết toàn bộ bằng Go để tận dụng hết tốc độ cũng như sức mạnh của xử lý bất đồng bộ Goroutines. Cách đây gần một năm mình cũng từng code một dự án Go cho khách để xử lý cỡ ~100Gb dữ liệu, nhưng mà thời gian trôi qua “Nước đổ lá khoai” kiến thức trôi về nơi xa vắng hết.

13 phút để đọc
Top ↑

Flock

[Go] Tránh start một program đang chạy với Flock

Hiện tại mình đang làm một dự án thực hiện xử lý bên dưới server (background processing). Hệ thống được viết toàn bộ bằng Go để tận dụng hết tốc độ cũng như sức mạnh của xử lý bất đồng bộ Goroutines. Cách đây gần một năm mình cũng từng code một dự án Go cho khách để xử lý cỡ ~100Gb dữ liệu, nhưng mà thời gian trôi qua “Nước đổ lá khoai” kiến thức trôi về nơi xa vắng hết.

13 phút để đọc
Top ↑

Keep Dreaming

Top ↑

Progressive Web App

Top ↑

Service worker

Top ↑

Self SSL

Top ↑

Chrome

Top ↑

Active record

Top ↑

Kubernetes

Vietnam Kubernetes Community - First meetup

Trong những năm gần đây meetup giữa những người làm công nghệ ngày càng trở nên phổ biến. Rất nhiều hoạt động meetup của cộng đồng các kỹ sư thuộc các mảng công nghệ được tổ chức.

8 phút để đọc
Top ↑

PHP

Top ↑

DNS

Top ↑

HLS

Làm thế nào để tải video từ các trang web sử dụng giao thứ HLS với m3u8 file

Trước hết, HLS là viết tắt của chữ HTTP Live Streaming, là một giao thức streaming bitrate được phát triển bởi Apple. Không giống như các kỹ thuật thông thường, HLS sử dụng cách chia tệp tin video ra làm nhiều file nhỏ, các file này thường có đuôi .ts và được stream tuần tự về phía player của người dùng.

5 phút để đọc
Top ↑

App scripts

Top ↑

Daily working

Top ↑

RDP

Điều khiển từ xa máy tính Ubuntu qua máy Mac

Hiện tại do nhu cầu công việc nên mình bắt buộc phải dùng 2 máy tính có 2 hệ điều hành khác nhau là Ubuntu 16.04 / Linux và MacOS High Sierra. Do máy Mac là máy làm việc chính nên khi phát sinh nhu cầu cần làm việc trên máy Ubuntu để tiết kiệm thời gian di chuyển chỗ ngồi 😏 mình thường xuyên sử dụng phần mềm remote giúp truy cập sang máy Ubuntu từ máy Mac một cách gọn lẹ 🤗

2 phút để đọc
Top ↑

VNC

Điều khiển từ xa máy tính Ubuntu qua máy Mac

Hiện tại do nhu cầu công việc nên mình bắt buộc phải dùng 2 máy tính có 2 hệ điều hành khác nhau là Ubuntu 16.04 / Linux và MacOS High Sierra. Do máy Mac là máy làm việc chính nên khi phát sinh nhu cầu cần làm việc trên máy Ubuntu để tiết kiệm thời gian di chuyển chỗ ngồi 😏 mình thường xuyên sử dụng phần mềm remote giúp truy cập sang máy Ubuntu từ máy Mac một cách gọn lẹ 🤗

2 phút để đọc
Top ↑

Remote

Điều khiển từ xa máy tính Ubuntu qua máy Mac

Hiện tại do nhu cầu công việc nên mình bắt buộc phải dùng 2 máy tính có 2 hệ điều hành khác nhau là Ubuntu 16.04 / Linux và MacOS High Sierra. Do máy Mac là máy làm việc chính nên khi phát sinh nhu cầu cần làm việc trên máy Ubuntu để tiết kiệm thời gian di chuyển chỗ ngồi 😏 mình thường xuyên sử dụng phần mềm remote giúp truy cập sang máy Ubuntu từ máy Mac một cách gọn lẹ 🤗

2 phút để đọc
Top ↑

Virus

Mô tả trực quan về virus Corona ở Vũ Hán - Trung Quốc

(Cập nhật: 30/01/2020) Hôm nay là mùng 4 Tết, vậy là chỉ còn 2 ngày nữa là mọi người sẽ đều trở lại với công việc bộn bề hàng ngày, mặc dù là những ngày nghỉ nhưng thông tin về bệnh dịch viêm phổi lạ, do virus Corona được cho là xuất phát từ thành phố Vũ Hán (thành phố đông dân nhất ở miền Trung Trung Quốc) gây ra liên tục xuất hiện trên báo chí, TV, … Ban đầu cá nhân mình cũng không để ý nhiều, nhưng khi con số người bị nhiễm và số ca tử vong tăng theo cấp số nhân thì tâm lý lo lắng bắt đầu xuất hiện. 😥

10 phút để đọc
Top ↑

Corona

Mô tả trực quan về virus Corona ở Vũ Hán - Trung Quốc

(Cập nhật: 30/01/2020) Hôm nay là mùng 4 Tết, vậy là chỉ còn 2 ngày nữa là mọi người sẽ đều trở lại với công việc bộn bề hàng ngày, mặc dù là những ngày nghỉ nhưng thông tin về bệnh dịch viêm phổi lạ, do virus Corona được cho là xuất phát từ thành phố Vũ Hán (thành phố đông dân nhất ở miền Trung Trung Quốc) gây ra liên tục xuất hiện trên báo chí, TV, … Ban đầu cá nhân mình cũng không để ý nhiều, nhưng khi con số người bị nhiễm và số ca tử vong tăng theo cấp số nhân thì tâm lý lo lắng bắt đầu xuất hiện. 😥

10 phút để đọc
Top ↑

Wuhan

Mô tả trực quan về virus Corona ở Vũ Hán - Trung Quốc

(Cập nhật: 30/01/2020) Hôm nay là mùng 4 Tết, vậy là chỉ còn 2 ngày nữa là mọi người sẽ đều trở lại với công việc bộn bề hàng ngày, mặc dù là những ngày nghỉ nhưng thông tin về bệnh dịch viêm phổi lạ, do virus Corona được cho là xuất phát từ thành phố Vũ Hán (thành phố đông dân nhất ở miền Trung Trung Quốc) gây ra liên tục xuất hiện trên báo chí, TV, … Ban đầu cá nhân mình cũng không để ý nhiều, nhưng khi con số người bị nhiễm và số ca tử vong tăng theo cấp số nhân thì tâm lý lo lắng bắt đầu xuất hiện. 😥

10 phút để đọc
Top ↑

Design patterns

Áp dụng design patterns với Go

Design Pattern (Mẫu thiết kế) giúp chúng ta giải quyết vấn đề một cách tối ưu nhất, có thể coi nó như là kim chỉ nam giúp các lập trình viên giải quyết vấn đề thay vì tự tìm kiếm giải pháp cho một vấn đề đã được chứng minh. Design patterns không phải là ngôn ngữ cụ thể nào cả, và có thể thực hiện được ở phần lớn các ngôn ngữ lập trình. Nhưng thường gặp nó nhất trong lập trình OOP, mà đại diện chính là Java (Một ngôn ngữ OOP quốc dân).

8 phút để đọc
Top ↑

MacOS

Top ↑

Slack

Top ↑

Chatwork

Top ↑

Karabiner

Top ↑

Japanese

Tổng hợp các mẫu tin nhắn xin nghỉ thông dụng gửi cho khách hàng Nhật

Trong khoảng thời gian làm việc với khác hàng là người Nhật Bản, việc đứng ở vị trí trung gian giữa đội phát triển và khách hàng nên mình phải sử dụng tiếng Nhật hằng ngày để truyền tải thông tin. Do có khác biệt về nền văn hoá và phong tục tập quán giữa hai bên nên ngày nghỉ phép, nghỉ lễ giữa phía đội Việt Nam và Nhật Bản cũng khác nhau.

4 phút để đọc
Top ↑

Timezone

Top ↑

Real Life

Top ↑

RDS

Top ↑

CloudFront

Ngăn chặn truy cập tới ứng dụng web đặt sau AWS CloudFront theo Client IP

Trong bài viết này mình mô tả một sự cố gần đây xảy ra trong hệ thống mà mình gặp phải khiến RDS Database CPU/Memory luôn gặp phải tình trạng quá tải, ảnh hưởng tới trải nghiệm người dùng. Đồng thời chia sẻ về các giải pháp khả thi mà các thành viên trong đội dự án đã thử triển khai thành công. Thực tế, còn có nhiều giải pháp xịn hơn, nếu bạn đã từng gặp phải vấn đề này, hãy để lại comment chia sẻ nhé 🚀

8 phút để đọc
Top ↑

WAF

Ngăn chặn truy cập tới ứng dụng web đặt sau AWS CloudFront theo Client IP

Trong bài viết này mình mô tả một sự cố gần đây xảy ra trong hệ thống mà mình gặp phải khiến RDS Database CPU/Memory luôn gặp phải tình trạng quá tải, ảnh hưởng tới trải nghiệm người dùng. Đồng thời chia sẻ về các giải pháp khả thi mà các thành viên trong đội dự án đã thử triển khai thành công. Thực tế, còn có nhiều giải pháp xịn hơn, nếu bạn đã từng gặp phải vấn đề này, hãy để lại comment chia sẻ nhé 🚀

8 phút để đọc
Top ↑

Nginx

Ngăn chặn truy cập tới ứng dụng web đặt sau AWS CloudFront theo Client IP

Trong bài viết này mình mô tả một sự cố gần đây xảy ra trong hệ thống mà mình gặp phải khiến RDS Database CPU/Memory luôn gặp phải tình trạng quá tải, ảnh hưởng tới trải nghiệm người dùng. Đồng thời chia sẻ về các giải pháp khả thi mà các thành viên trong đội dự án đã thử triển khai thành công. Thực tế, còn có nhiều giải pháp xịn hơn, nếu bạn đã từng gặp phải vấn đề này, hãy để lại comment chia sẻ nhé 🚀

8 phút để đọc
Top ↑

DDos

Ngăn chặn truy cập tới ứng dụng web đặt sau AWS CloudFront theo Client IP

Trong bài viết này mình mô tả một sự cố gần đây xảy ra trong hệ thống mà mình gặp phải khiến RDS Database CPU/Memory luôn gặp phải tình trạng quá tải, ảnh hưởng tới trải nghiệm người dùng. Đồng thời chia sẻ về các giải pháp khả thi mà các thành viên trong đội dự án đã thử triển khai thành công. Thực tế, còn có nhiều giải pháp xịn hơn, nếu bạn đã từng gặp phải vấn đề này, hãy để lại comment chia sẻ nhé 🚀

8 phút để đọc
Top ↑

Kinesis Data Streams

Top ↑

Data Pipeline

Top ↑

Snowflake

Top ↑