Skip to main content

Posts

Showing posts from October, 2016

Kiểm tra máy ảo, liệt kê danh sách các device

Kiểm tra xem máy có phải máy ảo không: # dmesg | grep -i virtual [    0.000000] Booting paravirtualized kernel on KVM [    0.092149] KVM setup paravirtual spinlock [    2.065254] input: VirtualPS/2 VMware VMMouse as /devices/platform/i8042/serio1/input/input4 [    2.067808] input: VirtualPS/2 VMware VMMouse as /devices/platform/i8042/serio1/input/input3 Đây là một máy ảo KVM. Còn đây là kết quả khi chạy trong một Docker busybox container: / # dmesg | grep -i virtual CPU MTRRs all blank - virtualized system. Booting paravirtualized kernel on bare hardware ixgbevf: Intel(R) 10 Gigabit PCI Express Virtual Function Network Driver - version 2.12.1-k VMware vmxnet3 virtual NIC driver - version 1.4.5.0-k-NAPI Liệt kê danh sách các block device # lsblk NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda     253:0    0  30G  0 disk ├─vda1  253:1 ...

Hello, Rust!

Mình thích thì mình học thôi. Tài liệu: "The Book”,The Rust Programming Language  Update : tài liệu dễ đọc hơn: http://rust-lang.github.io/book/ Rust thuộc loại ngôn ngữ nào? Rust là một sản phẩm xuất phát từ Mozilla - tổ chức đứng sau Firefox thần thánh. Rust is a systems programming language focused on three goals: safety , speed , and concurrency . Vậy đừng lôi Rust ra làm web rồi chê này kia. Những lĩnh vực mà Rust quảng cáo là phù hợp: embedding in other languages programs with specific space and time requirements and writing low-level code like device drivers and operating systems. Vậy Rust có thể mang ra code những thứ người ta code bằng C hay C++. Cài đăt: https://www.rust-lang.org/en-US/downloads.html Kiểm tra version: $ rustc --version rustc 1.12.1 (d4f39402a 2016-10-19) Những người code Rust được gọi là : Rustaceans File code Rust có đuôi ".rs". Tên dùng dấu ``_`` để phân cách giữa các từ, như hello_world.rs  $ cat main.rs fn ...

Truy cập đến key của một dict trong Jinja

Thay vì phải viết adict['mykey'] ta có thể viết adict.mykey Trích tài liệu của Jinja : You can use a dot ( . ) to access attributes of a variable in addition to the standard Python __getitem__ “subscript” syntax ( [] ). The following lines do the same thing: {{ foo.bar }} {{ foo [ 'bar' ] }} Chú ý rằng 2 syntax này sẽ cho kết quả khác nhau nếu object có attribute trùng tên với key trong dict mà nó chứa. This is important if an object has an item and attribute with the same name. Additionally, the attr() filter only looks up attributes.

[Backup] Ký tự % trong crontab

Một ngày mưa, viết crontab backup dữ liệu về máy, gặp ngay lỗi unexpected EOF while looking for matching ``' Tức tự dưng một ký tự kết thúc file (EOF) xuất hiện trong câu lệnh chứa đoạn scp SOMEWHERE xxx-`date +%Y%m%d_%H%M%S`.tar.gz Với Linux based OSes, ký tự % trong file crontab không có giá trị gì đặc biệt. Theo doc Ubuntu manpage 5 crontab The ``sixth'' field (the rest of the line) specifies the command to be run. The entire command portion of the line will be executed by /bin/sh or by the shell specified in the SHELL variable of the cronfile. Khi gõ man 5 crontab trên Ubuntu 16.04, ta có: The ``sixth'' field (the rest of the line) specifies the command to be run.  The entire command  portion of  the  line,  up to a newline or % character, will be executed by /bin/sh or by the shell specified in the SHELL variable of the crontab file.  Percent-signs (%) in the command, unless escaped with backslash (\), will be changed into newline cha...

On-prem là gì? GA là gì? Ubuntu 16.10

Đọc báo tây về tech sẽ hay thấy mấy từ này, mình không biết thì mình úp đết thôi 😗 On-prem Viết tắt của "on premises" premises /ˈprɛmɪsɪz/   Eng: A house or building, together with its land and outbuildings, occupied by a business or considered in an official context. Vie: Nhà cửa on premises: trong nhà hệ thống "on-prem" software là phần mềm cài, tự chạy trong công ty, không phải là do bên thứ 3 chạy như một dịch vụ (SaaS, cloud, off-premises). Xem thêm trên bách khoa toàn thư https://en.wikipedia.org/wiki/On-premises_software GA: Generally Available E.g: - Docker for Mac and Windows is Now Generally Available - Docker 1.12 Goes GA GA nghĩa là đã chính thức ra lò/ xuất chuồng. Ubuntu 16.10 - Yakkety Yak

Đặt tên trong Python

Nếu cứ thấy số 6 gọi là số 6, thấy số 9 gọi là số 9, thì tổng của hai số hẳn là 9 + 6 và sinh ra kết quả là một số 15. Vạn vật sinh ra đều có cho mình một cái tên, một cái tên dù hay hay dở cũng là một cái tên. Python được đặt tên là Python, và người ta gọi nó bằng Python, chứ không gọi nó là "một bộ cú pháp, quy định lập trình với câu lệnh ..." Remember the name Python Vậy hãy đặt cho những con số, giá trị đúng sai những cái tên, để ta được gọi nó, để ta có thể hét tên nó lên hay chửi thầm một cái tên vì nó làm chương trình không chạy. Cú pháp name = value Ví dụ: >>> my_age = 6 >>> your_age = 9 >>> our_ages = my_age + your_age >>> print ( our_ages ) 15 Một khi tên đã được đặt, ta có thể dùng tên thay cho giá trị mà tên đó đã đặt cho. Ở đây, ta có tên, và vật được đặt tên (giá trị). Tên (name) Tên không phải đặt thế nào cũng được. Ở Việt Nam không thể đặt tên là anh "Trần Văn @;" ...

Đúng và sai - kiểu Boolean trong Python

Thế giới không chỉ có trắng và đen, thế giới còn có tím mộng mơ , hồng ngây thơ , đỏ mãnh liệt và xanh hoà bình nữa. Nhưng sự thật chỉ có đúng hoặc sai, và Python thì có True hoặc False . Boolean Boolean đọc là /ˈbuːlɪən/ - không phải là "bu lin" mà là "bu-li-ờn". Kiểu boolean chỉ có 2 giá trị; True (đúng) hoặc False (sai), chú ý chữ T và chữ F viết hoa. True đọc là /truː/ False đọc là /fɔːls/ Đúng tức là không sai, và sai nghĩa là không đúng: >>> not True False >>> not False True Dùng toán tử not để đảo ngược giá trị của biểu thức. Dùng is để kiểm tra xem CÁI NÀY có là CÁI KIA không >>> True is not False # tương đương với True is True True >>> False is not True # tương đương với False is False True Và tất nhiên, một là một, còn hai là hai: >>> 1 is 1 and 2 is 2 True

Tính toán bằng Python - phần 2

Bài trước đã giới thiệu về các phép tính tiểu học (cộng trừ nhân chia), bài này sẽ giới thiệu các phép tính phổ thông có vẻ cao cấp hơn như phép luỹ thừa, chia lấy dư, tính toán số phức. Phép luỹ thừa Phép toán luỹ thừa, hay mũ, tiếng Anh gọi là "power". 2 mũ 3 trong tiếng Anh là "2 to the power of 3". Phép mũ trong Python sử dụng ký hiệu ** , KHÔNG PHẢI ký hiệu ^ . >>> 2 ** 7 128 >>> 2 ** 8 256 >>> 10 ** 7 10000000 >>> 2 ** 1000 10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376 Với Python, độ lớn của số là tuỳ ý, không có giới hạn. Nếu bạn còn chưa quên toán, thì sẽ biết rằng phép căn bậc 2 (square root) thực chất là mũ 1/2, căn bậc 3 (cube root) là m...

Tính toán bằng Python - phần 1

Dễ nhất là toán lớp 1, toán lớp 1 học 1 + 1 = 2. Con đường học Python cũng nên bắt đầu từ ấy. Bài này sẽ thực hiện các phép toán cơ bản ở phổ thông sử dụng Python. Các kiểu dữ liệu số trong Python Integer Đọc là /ˈɪntɪdʒə/ (vietsub: in-ti-zơ) kiểu số nguyên, Float Đọc là /fləʊt/ (vietsub: phờ-lơu-t) kiểu số thực. Nghe đọc phát âm tại từ điển Cambridge Các phép toán trong Python Mở python lên - chú ý loạt bài viết này dùng Python3 nên nếu bạn sử dụng Python2, kết quả có thể khác. $ python3 Python 3.5 . 1 ( default , Apr 21 2016 , 17 : 24 : 52 ) [ GCC 4.2 . 1 Compatible Apple LLVM 5.1 ( clang - 503.0 . 40 )] on darwin Type "help" , "copyright" , "credits" or "license" for more information . >>> Phép cộng Dùng dấu + , trong tiếng Anh là "plus": >>> 1 + 1 # đây là dòng mình gõ vào 2 # đây là dòng kết quả sẽ thấy sau khi gõ enter >>> 2 + 3 + ...

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