Monday, 28 August 2017

Thử làm một "lập trình viên Odoo"

Odoo là gì

Ố đù tự mô tả về mình:

Odoo is a suite of web based open source business apps.
The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, Purchase Management, ...Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.


Nó là một bộ các web app phục vụ các công việc trong kinh doanh như quản lý quan hệ khách hàng, quản lý project, tính tiền/ kế tóan, tuyển dụng ... đầy đủ đến mức nó là một giải pháp "ERP" cho doanh nghiệp.


Đó là nhìn từ phía người dùng.
Còn về phía lập trình viên, Odoo là gì?

Friday, 18 August 2017

Làm website với công nghệ serverless

Sau khi Amazon AWS cloud cho ra đời sản phẩm mới: AWS Lambda, thế giới công nghệ lại một lần nữa nổi lên nhiều sóng gió, cụm từ "serverless" trở thành một từ khóa hot, như BlockChain hay Docker những năm trước.

Serverless là gì

Serverless là cái tên dành cho công nghệ chạy code mà người dùng (lập trình viên) không phải lo cài đặt / cấu hình server - họ chỉ cần viết code, còn việc chạy, hãy để nhà cung cấp dịch vụ lo (và tất nhiên người dùng chỉ lo code và trả tiền).

Kiến trúc serverless này, chỉ là "không có server" trong nỗi lo của lập trình viên, chứ code không tự nhiên mà chạy được. Các nhà cung cấp dịch vụ sẽ lo thiết kế, vận hành chạy code của người dùng.
Các dịch vụ có sẵn:
- AWS Lambda
- Google cloud functions
- Azure functions



Và những hệ thống mà các công ty có thể tự cài:

Saturday, 5 August 2017

Chuyện gì xảy ra khi bạn gõ Google.com rồi Enter?

Hay các kiến thức về network cần biết cho sysadmin/devops/ và developer nào biết thì tương lai tươi sáng không ngờ :3

Với những hiểu biết này, bạn không cần bất kỳ loại chứng chỉ về network nào như CCNA ...
trừ khi bạn sẽ là một "network admin"hay có đam mê với bằng cấp.


Chuyện gì xảy ra khi bạn gõ Google.com rồi Enter?

là một câu hỏi phỏng vấn kinh điển (của bọn tư bản dãy chết :v), thường dùng để kiểm tra kiến thức về network của ứng viên, nhưng để trả lời một cách chi tiết cụ thể, thì không hề dễ dàng gì.

Alex Gaynor, cựu director của Python Software Foundation đã tạo 1 GitHub repo chia sẻ câu trả lời chi tiết cho câu hỏi này tại What-happens-when

Nếu bạn cần một bản tài liệu chi tiết hơn về TCP/IP, Microsoft có tài liệu khá cụ thể / thiết thực (thay vì quá nhiều lý thuyết phức tạp như nhiều tài liệu khác), xem tại đây.

Một tài liệu RẤT XỊN khác nhắm tới các lập trình viên xem tại đây.

Wednesday, 2 August 2017

Cắm sạc 90 watts vào laptop dùng sạc 60 watts có cháy không?

Hay các khái niệm cơ bản về điện cần biết - để dùng, không phải để thi.

Mình học vật lý khá tốt. Học phổ thông thì 9-10, mà ở đại học, thi thì qua. Nhưng chỉ là giỏi tính toán, chứ không hiểu gì. Volt, ampere, watt đều biết tính, chỉ ko biết để làm gì thôi 
Hãy quay lại câu hỏi ở đây và đưa ra những khái niệm cần thiết để trả lời.

Sạc HP: Output: 18.5V and 3.5A, 65W.
Laptop Dell latitude:  19.5V and 3.34A / 4.62A.




Cái gì khiến thiết bị điện cháy? Nếu đã từng cắm cái tivi / máy khâu của Nhật vào ổ điện Việt Nam, bạn sẽ thấm thía điều này.  
Ở Nhật Bản, người ta dùng điện thế 110V, còn Việt Nam, Mỹ... là 220V. Cắm thiết bị vào dòng điện có điện thế cao hơn sẽ cháy.

Hiệu điện thế (voltage)

đơn vị Volt - là khái niệm tương tự như áp suất. Nó là áp lực đặt lên các hạt electron. Dễ hiểu khi đặt áp lực lớn lên 1 thứ ko chịu được áp lực ấy sẽ xảy ra vấn đề.
Vì vậy các thiết bị phải có cùng hiệu điện thế - sai số trong 5-10% là vẫn OK.

Wednesday, 26 July 2017

RAM nhanh hơn SSD, HDD bao nhiêu?

RAM nhanh hơn SSD cỡ 1500 lần,
Và hơn HHD cỡ 100.000 lần.

Máy tính ngày nay nên thường set swap với kích thước ~ 20% kích thước RAM.

Page là một mảnh bộ nhớ.
Paging là hành động tạo một bản copy của một page. Vd copy từ RAM vào swap.

Theo

A typical reference to RAM is in the area of 100ns, accessing data on a SSD 150μs (so 1500 times of the RAM) and accessing data on a rotating disk 10ms (so 100.000 times the RAM).

https://www.redhat.com/en/about/blog/do-we-really-need-swap-modern-systems

Hết.
HVN at https://Pymi.vn
Đăng ký học #Python tại Sài Gòn khoá 15 khai giảng 3/8/2017. Xem chi tiết tại https://pymi.vn

Thursday, 6 July 2017

Không sudo pip, hãy virtualenv

- "Mình không cài bằng pip được..."
- "chạy sudo pip ... nhé "

Đó là những câu hỏi và trả lời thường xuất hiện, khi người ta nói về pip. Đây là vấn đề chung với những người dùng không hiểu về phân quyền trên UNIX và thường sẽ làm mọi thứ trở nên rắc rối thêm bằng cách chạy sudo.

## sudo - câu lệnh thần thánh


Một mẩu truyện nhỏ cho thấy sức mạnh của `sudo`, khi ta nói mà đối phương không nghe, thêm `sudo` vào đầu là mọi thứ đều sẽ hoạt động.

### sudo - SUperuser DO

Trên các hệ điều hành *NIX có chia ra nhiều user để nhiều người  dùng chung một máy tính. Trong đó, mọi máy tính luôn có user `root` - user có quyền năng tối thượng, thường được gọi là quyền admin hay superuser, có thể thực hiện bất kỳ thay đổi gì trên máy tính. Do có quyền năng vô hạn như vậy, nên khi thực hiện việc gì cũng ẩn chứa nguy hiểm, một câu lệnh gõ nhầm cũng có thể phá huỷ hệ thống, và nếu như ai cũng là root thì hệ thống sẽ loạn, người dùng không hiểu biết có thể cài đặt các loại virus/malware lên máy tính (hi Windows).

Để giải quyết vấn đền này, người ta sản xuất ra phần mềm tên "sudo", cho phép cấp quyền cho các user nhất định. Với sự tồn tại của sudo, người ta thay đổi cách dùng máy tính: