Skip to main content

Posts

Showing posts from 2019

zombie - những xác chết biết đi mà không thể kill

top  top là câu lệnh để hiển thị các process đang chạy trên một máy tính *NIX. Trên Windows sử dụng chương trình "Task Manager" để làm nhiệm vụ tương tự. top rất dễ dùng, gõ `top` rồi ngồi nhìn màn hình update thông tin mỗi 3s, và bấm q để kết thúc. Thế nhưng top cũng là một chương trình chứa rất nhiều thông tin, mà hỏi ra mỗi dòng có nghĩa là gì, cũng đủ để viết vài bài thật dài ... htop là một lệnh tương tự top , nhưng có giao diện dòng lệnh thân thiện hơn, màu mè hơn. htop không được cài sẵn trên mọi máy tính giống như top , người dùng phải tự cài thêm. $ whatis top top (1)              - display Linux processes

kill - signal trên OS: SIGINT vs SIGTERM vs SIGKILL vs SIGHUP

kill Lệnh kill không lạ gì với người dùng Linux/MacOS. Ngay từ những ngày đầu học dùng dòng lệnh trên các hệ điều hành này, người dùng đã biết dùng kill để "giết" một chương trình đang chạy (một process). Câu lệnh này quá cơ bản, dẫn đến dễ bị bỏ qua việc tìm hiểu nó kỹ càng. Để kill 1 chương trình đang chay, người dùng sẽ tìm PID (process ID - một số nguyên dương được hệ điều hành cấp cho chương trình lúc bắt đầu chạy) bằng lệnh: ps xau | grep tên_chương_trình Ví dụ: $ ps xau | grep -i firefox hvn      12537  8.9  4.4 3202268 358612 ?      Sl   23:17   0:47 /home/hvn/Downloads/firefox/firefox-bin 12537 chính là số PID. Sau đó gõ lệnh: kill 12537 và nếu chương trình vẫn chạy, thì dùng biện pháp mạnh: kill -9 12537  sẽ đảm bảo nhanh, gọn, sạch sẽ, xong. Nhưng bên dưới là cả một chủ đề không quá đơn giản đến vậy.

Để trở thành DevOps Engineer

DevOps là một từ khóa công nghệ cực hot trong khoảng 2015-2018, đánh dấu sự thay đổi về quy trình phát triển phần mềm trên toàn Trái Đất. Tại thời điểm viết bài (2019-05), vị trí này đã có mặt ở hầu hết các công ty công nghệ tại Việt Nam. Bài viết này giải thích các khái niệm liên quan tới DevOps, đưa ra một giáo trình để trở thành DevOps Engineer. ## DevOps là gì DevOps không có định nghĩa chính thức, cũng không có định nghĩa rõ ràng, nó là một khái niệm mới tự dưng xuất hiện, chưa từng có trước đây. Cách hiểu phổ biến nhất, đây là một "cách/quy trình phát triển và vận hành phần mềm". Được sinh ra từ việc khắc nhập 2 chữ: DEV elopment (phát triển) - OP eration S (vận hành). ### Quy trình phát triển phần mềm truyền thống Lập trình viên code, code xong chuyển qua cho SysAdmin cài đặt (deploy), QA sẽ tham gia kiểm tra chất lượng, nếu OK, SysAdmins sẽ mang đi deploy trên hệ thống chạy thật, nếu gặp lỗi / report bởi người dùng, SysAdmin sẽ chuyển lại cho devel...

Tăng tốc Django API Service tới 90% với cacheops

1. Code chạy đúng là được rồi mà? Code chạy đúng thôi là chưa đủ, luôn phải tối ưu thêm về mặt tốc độ. Bạn có thể viết code đẹp như tranh, nhưng nếu một request của khách mất đến 10s để xử lý, thì 99% là khách hàng của bạn sẽ bỏ đi ngay lập tức (trừ khi bạn là trang .gov hoặc khi bạn cần đăng ký tín chỉ). Ok, bạn tiếp tục "outsource" những phần xử lý nặng nề cho Celery hoặc RQ để khách đỡ phải nhìn màn hình trắng. Nhưng kể cả vậy thì nó cũng không làm vấn đề biến mất. Nó chỉ giúp khách của bạn biết rằng ở bên dưới bạn vẫn đang vật lộn xử lý chứ không "chết hẳn". Thay vì màn hình trắng thì giờ là hình xoay xoay. Và lúc đó, bạn cần phải "tối ưu" lại code của mình rồi. Và sau khi vò đầu bứt tai ngồi đoán, imort pdb; pdb.set_trace() loạn xạ, thêm các kiểu đo đếm thời gian, bạn bó tay. Vì đó không phải cách bạn nên làm để tối ưu code. 2. Analysis

Popular posts from this blog

Tài liệu và hướng dẫn học Python

Để tiết kiệm thời gian, tốt nhất là đi học PyMI Updated: 130617 Sau đây là các tài liệu khuyên dùng: Vì nhiều lý do, nên học python2.7 tại thời điểm hiện tại (giờ là tháng 6/2013 - muốn biết tại sao thì tự tìm hiểu) python 3.5+ (giờ là tháng 2/2017) Chuẩn bị: 1. biết bật tắt máy 2. biết cài python 3. tập gõ 10 ngón - gõ 2 ngón hay 1 ngón cũng không sao, nhưng 10 ngón là cách dễ nhất để gõ nhanh nhất. Tài liệu - Nên dùng tài liệu tại trang chủ của Python làm chính, tham khảo thêm các tài liệu khác tại http://www.familug.org/2016/12/free-ebook.html Căn bản, mới học 1.1 Python PyMI.vn https://pymi.vn/tutorial/ 1.2. Python offical tutorial kết hợp làm bài tập trên HackerRank  (đề bài bằng tiếng Anh, nhưng Google translate 1 lúc cũng ra vì có nhiều ví dụ mẫu đi kèm). Học viên của Pymi.vn có rất nhiều học viên đã tự học với Learn Python the hard way nhưng chưa thấy ai thành công cả. Hai link dưới nên đọc sau khi đã nắm được những phần cơ bản của ngôn ngữ pytho...

The PyMiers

New FAMILUG