Skip to main content

Posts

Showing posts from September, 2016

Luật bất thành văn của sysadmin

Vì không thành văn nên mỗi ông viết một kiểu 🙄 Kể ra thì nhiều nhưng list ra đây vài cái cơ bản, về cơ bản là cho bớt đau thương, chứ không phải là vì mình thích thì mình làm thôi. Luật sysadmin - Không deploy (vietsub: thay đổi hệ thống/ cài đặt phiên bản mới) vào thứ 6. Với các sysadmin thì ngày thứ 6 thường được coi là ngày "reading" hay "research". Lý do rất dễ hiểu, nếu có gì không thuận buồm xuôi gió là mất toi "Friday night", thậm chí mất luôn cả cuối tuần. (Tất nhiên luật này không áp dụng nếu sysadmin ấy định làm việc vào cuối tuần)  - Luật trên áp dụng tương tự cho 2 tiếng trước khi hết giờ làm việc - cũng trừ luôn trường hợp nếu định làm quá giờ.

[CLI] tail -F, F hoa F***

Là *NIX user, hẳn phải biết dùng lệnh tail để theo dõi một file (thường là file log). Mỗi khi có dòng mới ghi vào file, ta sẽ thấy được dòng đó: tail -f /var/log/syslog (Trên Ubuntu, có thể gõ "logger FAMILUG" để ghi một dòng vào syslog). Log ghi ra file mãi liệu có chán mà dừng lại? Chán thì không chán, nhưng các nhà viết phần mềm sẽ không ghi hàng GB log vào 1 file rồi để nó dùng hết ổ cứng trên máy rồi làm chương trình chết vì hết ổ cứng. Từ đó khai niệm "log rotate" ra đời. Mỗi file log cũ sẽ được đi chuyển, đổi tên mới (thường là thêm đuôi .1 .2 .3 ... vd: /var/log/syslog.1  và sau đó nếu cũ quá thì được nén lại bằng gzip cho tiết kiệm ổ cứng), chuyện này thường được làm hàng ngày hay hàng tuần. File log mới được tạo ra, cùng tên với file log cũ, nhưng giờ trống trơn. Xem thêm chương trình logrotate để biết thêm chi tiết. Nếu ai đã thử dùng -f để theo dõi file log, rồi may mắn hơn nữa, file log đó được rotate, từ ấy trờ đi, không thấy lệnh tail output ...

[Python] Happy programmer day!

Hôm qua (13/9) là ngày thứ 256 của năm, với các lập trình viên, 256 là một con số rất đặc biệt. Từ thời xa xưa, khi những chiếc máy tính chỉ lắp RAM 256, USB chỉ có 256 MB... ngày ấy đã xa, nhưng 256 luôn ở đó vì nó đặt biệt: 256 = 2 ^ 8 Chúc mừng ngày lập trình viên, những người đẻ ra bug 🕷🐞 🍺🍻🍻🍺 In [12]: import datetime In [13]: (datetime.datetime.now() - datetime.datetime(2016, 1, 1)).days - 1 == 2 ** 8 Out[13]: True

[Golang] fix Go 1.7 panic

Nếu như mới build lại Go bản 1.7 và chạy một lệnh chuẩn nào đó mà bị panic (như go vet chẳng hạn): go vet ./... panic : inconsistent import :      var os . Stderr * os . File previously imported as :      var Stderr * os . File [ recovered ]      panic : inconsistent import :      var os . Stderr * os . File previously imported as :      var Stderr * os . File goroutine 1 [ running ]: panic ( 0x2734a0 , 0xc42028a540 )      / Users / hvn / FOSS / golang / src / runtime / panic . go : 500 + 0x1a1 go / types .(* Checker ). handleBailout ( 0xc4200d21c0 , 0xc42004d8d8 )      / Users / hvn / FOSS / golang / src / go / types / check . go : 213 + 0xae panic ( 0x2734a0 , 0xc42028a540 )      / Users / hvn / FOSS / golang / src / runtime / panic . go : 458 + 0x243 Đừng khóc, vì lúc khóc trông rất ng...

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