Skip to main content

Posts

Showing posts from December, 2016

[Python] Kiểu dữ liệu boolean

Vì sao 0.1 + 0.1 + 0.1 không bằng 0.3?

Nếu có thể trả lời chính xác câu hỏi sau và giải thích tại sao, bạn có thể bỏ qua bài này: 0.1 + 0.1 + 0.1 == 0.3 Trong Python, biểu thức này trả về đúng (True) hay sai (False)? hay nói cách khác, khi gõ biểu diễn trên máy tính vế trái có bằng vế phải không? Có thể sử dụng bất kỳ ngôn ngữ lập trình nào khác: Python, C, Java, Golang, ... kết quả là không đổi. Câu trả lời ngắn gọn: Kết quả trả về là False, hay vế trái không bằng vế phải. Float là gì? Kiểu dữ liệu float là viết tắt của "real floating-point number" - kiểu "số thực dấu chấm động". float là một cách BIỂU DIỄN XẤP XỈ cho một số thực (real number) bằng cách đánh đổi độ chính xác (precision). Các quy tắc / chuẩn để biểu diễn float được mô tả trong tiêu chuẩn quốc tế IEEE 754 Số thực là tập số gồm: các số hữu tỷ (số biểu diễn được ở dạng phân số: VD: 2, 1/3) và các số vô tỷ (số không biểu diễn được ở dạng phân số: VD: căn bậc 2 của 2) Số vô tỷ

[Pymi.vn] Tính toán cơ bản với Python

Bài viết chi tiết tại: http://pymi.vn/tutorial/python-integer/ Xem bài trước: Python là gì?

[pandas] Truy cập nội dung DataFrame

Bài trước đã hướng dẫn các khái niệm cơ bản và cách tạo một bảng dữ liệu bằng pandas . Bài này sẽ hướng dẫn cách xem bất cứ phần nào ta muốn trong bảng (DataFrame) đã tạo. Tạo bảng mới In [1]: import pandas as pd In [4]: import numpy as np In [5]: dates = pd.date_range('20161212', periods=6) In [6]: df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD')) In [7]:  df Out[7]:                    A         B         C         D 2016-12-12 -0.115304 -0.400382  1.254944  0.702264 2016-12-13  1.436155  0.476939  1.334369  0.223856 2016-12-14 -0.124606 -0.017318  0.824345 -0.432029 2016-12-15 -1.013802  0.266865  1.341752 -0.990876 2016-12-16  0.669347 -1.086764  0.555358 -0.579439 2016-12-17...

[Pymi.vn] Python là gì? Python để làm gì?

Xem bài viết hướng dẫn tại http://pymi.vn/tutorial/python-la-gi/

[Swift] Phân biệt let và var - giữa struct và class - [phần 1]

Để bắt đầu serial Kiến thức phỏng vấn cho lập trình viên iOS, mình xin đề cập đến hai khái niệm let và var trong ngôn ngữ Swift mà các bạn khi phỏng vấn sẽ rất hay hỏi. Mình sẽ dùng phiên bản mới nhất đó là Swift 3 và mới hơ I - Khái niệm: var vs let - sẽ tương ứng với hai khái niệm biến số và hằng số VD: let wife = "Joana" var darling = "Beautiful Girl" Hai dòng code trên có ý nghĩa như sau: "Khai báo một hằng số tên là wife, có giá trị là Joana. Tiếp theo, khai báo một biến số tên là darling và cho nó một giá trị khởi tại là  Beautiful Girl."

[Python] Tạo bảng dữ liệu với pandas

pandas là gì pandas là bộ công cụ để phân tích và chỉnh sửa dữ liệu mạnh nhất thế giới , được sử dụng rộng rãi trong phân tích tài chính, phân tích dữ liệu. Python pandas pandas là một Python package. Cài đặt pandas (trong virtualenv): $ pip install pandas ... Installing collected packages: pandas Successfully installed pandas-0.19.2 NOTE: pandas phụ thuộc vào package numpy,  tức cài xong pandas thì đã có cả pandas lẫn numpy. Muốn phân tích thì phải có dữ liệu và hiển thị nó lên bảng thành hàng cột đã rồi làm gì thì làm. Trong bài đầu tiên của series, ta sẽ sử dụng pandas để tạo một bảng dữ liệu có hàng, cột, giống như Excel hay Google spreadsheet. Kiểu dữ liệu trong pandas pandas có hai kiểu dữ liệu chủ chốt - Series: kiểu dữ liệu một chiều (1D) - chuỗi các giá trị - DataFrame: kiểu dữ liệu hai chiều (2D) - tức sẽ biểu diễn thành bảng , có hàng / cột trên Excel hay Google spreadsheet.

[Debian] Khám phá các tiện ích trong package dpkg

Trong package dpkg có gì?  Bạn hỏi, dpkg trả lời: $ dpkg -L dpkg | grep bin/ /sbin/start-stop-daemon /usr/bin/dpkg-split /usr/bin/dpkg-statoverride /usr/bin/dpkg /usr/bin/dpkg-divert /usr/bin/dpkg-query /usr/bin/dpkg-maintscript-helper /usr/bin/dpkg-deb /usr/bin/update-alternatives /usr/bin/dpkg-trigger Các câu lệnh dpkg này làm gì? Whatis : $ for binary in $(dpkg -L dpkg | grep bin/); do whatis $(basename $binary); done start-stop-daemon (8) - start and stop system daemon programs dpkg-split (1)       - Debian package archive split/join tool dpkg-statoverride (8) - override ownership and mode of files dpkg (1)             - package manager for Debian dpkg-divert (8)      - override a package's version of a file dpkg-query (1)       - a tool to query the dpkg database dpkg-maintscript-helper (1) - works around...

[Python] thôi dùng subprocess.check_output

Function tiện tay subprocess.check_output rất hấp dẫn khiến người ta khó có thể từ chối dùng nó. Để kiểm tra output một câu lệnh, chỉ cần: In [1]: import subprocess as spr In [2]: output = spr.check_output(['ls', '/etc/hosts']) In [3]: print(output) b'/etc/hosts\n' Chuyện này không có gì sai cho đến khi có gì đó sai sai xảy ra. Nếu có lỗi xảy ra, ta chỉ nhận được một exception chứ không thu được phần lỗi của câu lệnh (stderr):

Làm quen với Ansible - viết playbook đơn giản

Sau khi đã cài đặt Ansible và chạy được ad-hoc command , bài viết này sẽ hướng dẫn viết các file playbook để thực hiện hàng loạt task thay vì chỉ chạy từng câu lệnh một. Các file Playbook này thường cho vào một git repo để tiện quản lý. Ansible playbook Một Ansible Playbook là môt file ở định dạng YAML (.yml), nó ở dạng list và chứa một hoặc nhiều "play". Play Mỗi "play" dùng để kết nối (map) một nhóm các "host" với một vài "role". Roles trong playbook được gọi là "tasks". Role và task Một task thực hiện gọi đến một Ansible module nào đó. Ví dụ một playbook tên là vim.yml, chỉ chứa 1 play map tất cả các hosts với role cài vim: $ cat vim.yml --- - hosts: all   remote_user: root   tasks:     - name: Install vim       apt: name=vim state=present

Làm quen với Ansible - module, ad-hoc command

Mình dùng SaltStack để quản lý cấu hình và tự động hoá hệ thống. Mình muốn thử dùng Ansible để xem có gì hay ho, vì nhiều người bị ho và cứ hỏi là SaltStack hơn Ansible cái gì, nên mình đọc doc . Mình không hiểu nổi tại sao có cái document to đùng và xinh đẹp ở đấy thì mọi người chả đọc, cứ đi tìm cái đâu đâu, kỳ 😶 Cài đặt Ansible Nếu biết pip là gì thì dùng pip là nhanh gọn nhất,  vì Ansible viết bằng Python , cài bằng pip là điều hiển nhiên không cần bàn cãi. Chạy lệnh sau: $ pip install ansible ... Successfully installed ansible-2.1.0.0 Nếu thấy dòng trên sau khi chạy lệnh pip tức là đã thành công. Nhận xét: - Ansible khuyến khích người dùng cài từ bản develop checkout từ Ansible repo trên GitHub - Nếu không được thì cài từ pip - Nếu vẫn không được thì cài bằng các package manager của hệ thống như apt, yum... - Phần hướng dẫn thì ít mà chú ý thì nhiều.

[Rust] Học Rust để tính toán

Việc học không có mục đích sẽ khó đi đến đích, dễ lạc lối và hoang mang. Bài này giới thiệu đủ các khái niệm của Rust để tính toán cơ bản, cụ thể là làm vài bài ProjectEuler.net Nếu ai hỏi học Rust làm gì, có ai thuê đâu? thì câu trả lời là mình học cho đỡ vui 🤑 Các khái niệm cần thiết gồm có: - Đặt biến để chứa giá trị - Thực hiện các phép toán cơ bản: cộng trừ nhân chia, chia lấy dư - Các câu lệnh điều khiển: if/else if/else - Các vòng lặp: while, for - In ra màn hình: println! Tạo project bằng câu lệnh: cargo new --bin rustmath Bấm vào đây để xem thêm về cách tạo Rust project và dùng cargo . Sửa file rustmath/src/main.rs Đoạn code sau để kiểm tra số x có phải số chẵn không, in ra màn hình. fn main() {     let x = 42;     if x % 2 == 0 {         println!("{} is even", x);     } else {         println!("{} is odd", x);     } } ...

[Ebook] Tài liệu học lập trình miễn phí

 Tiêu chí: - Miễn phí - Chất - Nhóm theo ngôn ngữ. Bash 🤓 - LinuxCommand - ABS (Advanced Bash Scripting) Python 😘 - hướng dẫn Python Tiếng Việt - Tutorial - Dive into Python - The Hitchhiker’s Guide to Python! - Automate the Boring Stuff with Python - Invent Your Own Computer Games with Python - Hacking Secret Ciphers with Python - How to Think Like a Computer Scientist - SICP Python version - Learn Python the hard way - More ebooks:  http://pythonbooks.org/free-books/ Ruby 🙄 - Poignant Ruby - Learn Ruby the hard way   Haskell 😏 - Learn You a Haskell - Real world Haskell   C - Modern C

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