Bạn muốn học Docker, tham khảo LearnDocker.online

Docker là một phần quan trọng trong web development hiện tại và nếu bạn muốn trở thành một senior về web development (hoặc cao hơn nữa) thì đây đúng là một mảnh ghép bạn cần.

Trước tiên, với các bạn chưa biết Docker thực sự là gì, hoặc chưa hiểu tại sao phải dùng nó, bạn có thể tham khảo tại đây.

https://aws.amazon.com/vi/docker/

Bản thân mình cũng từng phải dùng Docker khi mà chưa hiểu nó là gì, cấu tạo như nào, mục đích ra sao, vì đơn giản công việc cần nó. Lúc đó cài xong cũng chỉ hiểu nó giống như XAMPP (lol).

Nhưng càng về sau, kiến thức về nó càng cần nhiều và mình muốn học để làm chủ nó hơn là coi nó chỉ là một công cụ dev.

Và mình biết đến LearnDocker.online của @jufahr. Đây thực sự là một công cụ tuyệt vời để tiếp cận và dần làm chủ Docker. Nó bổ sung một loạt các bài giảng online bằng video rất trực quan, kết hợp với một số quiz nho nhỏ có độ khó từ dễ tới khó. Và tuyệt vời hơn nữa, nó hoàn toàn miễn phí.

Tất nhiên, để có thể theo học, bạn nên có kỹ năng nghe và hiểu tiếng Anh ở mức căn bản. Nhưng Jufahr nói khá chậm và dễ nghe nên mình nghĩ không khó để theo kịp tiến độ bài học.

Have fun!

Kế hoạch tự do tài chính cho gia đình ở tuổi 30

Gần đây, tự do tài chính là một từ khoá rất được quan tâm và bản thân mình cũng vậy. Vậy tự do tài chính được hiểu như thế nào?

Tự do tài chính là một trạng thái cuộc sống khi mà bản thân mình không còn mối lo ngại về tài chính để có thể sống hết phần đời còn lại.

Và để có được trạng thái đó, chúng ta nên lập một kế hoạch (nên vẽ đường cho hươu chạy).

Nhưng vẽ như thế nào, có những thông số gì, cách tính toán như thế nào, thì không hẳn là ai cũng biết.

Vì vậy, mình sẽ chia sẻ một file Excel đã có sẵn các phép tính toán. Việc còn lại của các bạn chỉ là thay đổi các thông số trong file và biết được mình nên có kế hoạch chi tiêu, tiết kiệm cũng như đầu tư như thế nào trong tương lai để có thể đạt được tự do tài chính.

Đọc tiếp “Kế hoạch tự do tài chính cho gia đình ở tuổi 30”

Các chỉ số chính xác định cổ phiếu trong dài hạn

  1. Tỷ suất lợi nhuận trên vốn đầu tư (ROIC – Returning on Invest Capital).
    ROIC = Lợi nhuận sau thuế/(Vốn chủ sở hữu + Nợ dài hạn)
  2. Tỷ lệ tăng trưởng doanh thu.
  3. Tỷ lệ tăng trưởng của lợi nhuận trên mỗi cổ phiếu (EPS – Earning Per Share).
    EPS = (Lợi nhuận sau thuếCổ tức)/Tổng số CP lưu hành
    Tỉ lệ tăng trưởng (%) = (EPS1-EPS0)/EPS0
  4. Tỷ lệ tăng trưởng giá trị sổ sách trên mỗi cổ phiếu (BVPS – Book Value per Share)
    BVPS = (Vốn chủ sở hữuTài sản vô hình)/Tổng số CP lưu hành
    Tỉ lệ tăng trưởng (%) = (BVPS1-BVPS0)/BVPS0
  5. Tỷ lệ tăng trưởng tiền mặt (Tiền và các tài sản tương đương tiền)
  6. Tỷ lệ tăng trưởng dòng tiền tự do (FCF – Free Cash Flow)
    FCF = Lưu chuyển tiền từ HĐKD – (Chi phí mua sắm xây dựng tài sản cố định, tài sản dài hạn khác)

Tức là cần tối thiểu các thông số sau từ Báo cáo tài chính và Báo cáo lưu chuyển tiền tệ:

  1. Lợi nhuận sau thuế
  2. Vốn chủ sở hữu
  3. Nợ dài hạn
  4. Doanh thu
  5. Giá trị cổ tức
  6. Tổng số CP lưu hành
  7. Tiền và các tài sản tương đương tiền
  8. Lưu chuyển tiền từ hoạt động kinh doanh
  9. Chi phí mua sắm, xây dựng tài sản cố định + dài hạn khác

Quy tắc 4M

Meaning: Bạn có hiểu được công ty này không, công ty này có ý nghĩa gì với bạn không?

Moat: Công ty có lợi thế cạnh tranh tốt không?

Management: Quản trị công ty có tốt không?

Margin of Safety: Giá trị CP công ty có an toàn không?

Ghi chép về SOLID

Một trong những nguyên tắc nền tảng của coder – SOLID.

SOLID – Viết tắt từ các chữ cái đầu tiên của các nguyên tắc nền tảng cho thiết kế hướng đối tượng (OOP), bao gồm:

  • Single Responsibility Principle
  • Open – Closed Principle
  • Liskov Substitution Principle
  • Interface Segregation Principle
  • Dependency Inversion Principle

Áp dụng các nguyên tắc này giúp code dễ đọc hiểu, dễ maintain. Và nếu ai tham gia dự án đều hiểu về SOLID thì sẽ dễ dàng transfer hơn.

Mình sẽ đi sâu vào từng nguyên tắc để giải thích kỹ càng hơn.

1. Single Responsibility Principle

Mỗi một class chỉ nên tập trung vào giữ MỘT nhiệm vụ duy nhất

Nghe có vẻ như một “điều hiển nhiên” đúng không? Mỗi class sẽ tập trung vào một trách nhiệm/nhiệm vụ duy nhất sẽ khiến cho mọi thứ trở nên rõ ràng hơn.

Tuy nhiên đây lại là nguyên tắc mà các developer hay mắc phải nhất. Khi sửa đổi một class, thường thì chúng ta hay viết thêm các method hoặc property thêm để thoả mãn tính năng và thường làm cho class rắc rối thêm.

Trong trường hợp này, nếu các chức năng cần tạo có nhiệm vụ khác thì ta nên tạo class mới. Tuy có nhiều class hơn, nhưng mỗi class sẽ ngắn và tập trung vào 1 nhiệm vụ cụ thể, dẫn tới việc code và debug sẽ dễ dàng hơn, khả năng sinh bug ít hơn.

2. Open – Closed Principle

Có thể thoải mái mở rộng (extend) một class, nhưng không được sửa đổi nội dung của nó.

Nguyên tắc này bổ sung cho nguyên tắc số 1 ở trên.

Việc sửa đổi, thêm mới tính năng vào một chương trình đang chạy là điều rất dễ xảy ra. Nhưng để làm việc đó, chúng ta nên mở rộng class thay vì sửa đổi nội dung của nó. Việc làm này sẽ giúp code nhìn rõ ràng và dễ chỉnh sửa hơn.

3. Liskov Substitution Principle

Trong một chương trình, có thể thay thế class cha bằng class con mà không làm thay đổi tính đúng đắn của chương trình

4. Interface Segregation Principle

Nên tách các interface nhỏ và liên quan với chức năng thay vì viết một interface lớn.

Việc tách nhỏ các interface sẽ giúp sử dụng các interface hiệu quả hơn. Thay vì có 1 interface với 100 method thì ta nên tách thành nhiều interface hơn. Nó sẽ giúp code có khả năng dùng lại các interface được định nghĩa tốt hơn, dễ dàng quản lý và sử dụng.

5. Dependency Inversion Principle

Các module cấp cao không phụ thuộc vào module cấp thấp, cả hai nên phụ thuộc vào interface (abstraction).
Các class giao tiếp với nhau thông qua interface, chứ không thông qua implementation.

Khi các module giao tiếp với nhau thông qua interface, chúng ta có thể dễ dàng thay đổi các implementation mà không bị thay đổi tính đúng đắn của chương trình.

Ví dụ, để kết nối database, hệ thống sẽ phụ thuộc vào interface DatabaseConnection với các method connect/get/save… Khi cần thay đổi database từ mysql sang mongodb hoặc bất kỳ một CSDL nào khác, miễn là implementation kết nối tới CSDL mới được implement từ interface DatabaseConnection thì tính đúng đắn của chương trình sẽ được đảm bảo

BẠN ĐÃ KỊP NÓI LỜI TẠM BIỆT VỚI GIẤC MƠ THUỞ ẤU THƠ?

Bản quyền bài viết thuộc về team Monster Box

Chi phí để trở thành bác sĩ nay đã đắt hơn, hơn rất nhiều lần.

Mỗi sinh viên y khoa sẽ cần khoảng 1 tỷ để có thể ra trường với tấm bằng chuyên môn vừa đủ. Mất 6 năm và một khoản nợ 10 chữ số, bác sĩ trong tương lai sẽ yêu cầu được xã hội bù đắp tương xứng với chi phí cơ hội họ đã bỏ ra. Nếu mọi thứ diễn ra theo đúng tiến trình, các ngân hàng sẽ sớm tung ra những gói vay ưu đãi cho sinh viên, mức lương cơ bản của bác sĩ sẽ được cân chỉnh và kéo theo sự gia tăng viện phí.

Có thể chúng ta sẽ sớm không còn tư cách đùa cợt về hệ thống y tế đắt đỏ của Mỹ được nữa, hay xa hơn là không còn bĩu môi chê tư bản giãy chết vì ta đang đi con đường giống y vậy – chỉ khác rằng chưa biết kết quả có được như họ không.

Đọc tiếp “BẠN ĐÃ KỊP NÓI LỜI TẠM BIỆT VỚI GIẤC MƠ THUỞ ẤU THƠ?”

Tạo mã Code Signing trên Windows 10

Chạy đoạn mã dưới đây trên Powershell

New-SelfSignedCertificate -CertStoreLocation Cert:\CurrentUser\My `
>> -Subject "CN=<App Name>" `
>> -KeyAlgorithm RSA `
>> -KeyLength 2048 `
>> -Provider "Microsoft Enhanced RSA and AES Cryptographic Provider" `
>> -KeyExportPolicy Exportable `
>> -KeyUsage DigitalSignature `
>> -Type CodeSigningCert

Thị trường chứng khoán bất ngờ sập sàn, 14 tỷ USD bốc hơi trong… 2 ngày

Tiếp nối ngày hôm qua 05/02/2018, thị trường hôm nay tiếp tục chứng kiến việc giảm giá hàng loạt CP, kể cả các Bluechips. Chỉ trong 2 ngày, toàn thị trường bốc hơi 14 tỷ USD, chỉ số VNINDEX và HNX-Index giảm khoảng 10%, toàn thị trường tràn ngập trong sắc đỏ và lam.

Đây được đánh giá là một đợt điều chỉnh sâu, nhưng cá nhân thấy việc này xảy ra như một điều tất yếu…

  • Cận ngày Tết, khả năng các nhà đầu tư (đa phần là nhỏ lẻ) tìm cách chốt lời, giảm áp lực margin và ăn Tết vui vẻ hơn. Đa số đã có được khoản lãi tương đối khi thị trường tăng nóng trong khoảng thời gian 3 tháng qua.
  • Thị trường VN bị ảnh hưởng từ các thị trường lớn khác (Mỹ, Nhật, Trung…) và có khả năng bị ảnh hưởng nhiều từ thị trường tiền ảo. Các thị trường này trên toàn cầu đều đang ghi nhận một đợt điều chỉnh mạnh.
  • Dòng vốn nước ngoài đã giảm so với đầu năm.
  • Các yếu tố kỹ thuật khác như công ty chứng khoán tiến hành siết margin theo quy định mới của UBCK.

Đợt điều chỉnh này khiến cả ngàn tỷ đồng mắc kẹt ở trên đỉnh. Tuy vậy, cá nhân suy nghĩ việc điều chỉnh này sẽ đem lại cơ hội nhiều hơn khi mà giúp các nhà đầu tư cơ cấu lại danh mục và mua được các CP tốt hơn ở giá trị thực (hoặc thấp hơn giá trị thực) của nó.

Thời gian tới mình vẫn sẽ tiếp tục nằm quan sát thị trường (do thiếu vốn =)))

Chứng khoán ngày 05/12/2017 – Máu chảy thành sông

Chứng trường ngày 05/12/2017 chứng kiến một vụ “thảm sát” quy mô lớn, khi có tới 318 mã giảm điểm và chỉ có 165 mã tăng điểm. Sau nhiều phiên tăng liên tiếp với những đợt chỉnh nhẹ, thị trường đã có 1 phiên điều chỉnh quá mạnh khiến “máu chảy thành sông”.

VN-index vượt mốc 900 điểm mà không điều chỉnh, chứng tỏ thị trường đang rất hào hứng với mốc 1000 điểm và lực cầu mạnh những tuần vừa qua đã chứng tỏ điều đó khi tiến sát mốc 1000 điểm chóng vánh.

Hãy tham lam khi người khác sợ hãisợ hãi khi người khác tham lam – Warrent Buffet

Chính vì sự hào hứng cao độ này khiến tôi chùn bước. Ngay khi thị trường băng băng vượt mốc 900, tôi đã lên kế hoạch chốt lời HAI + NLG và “đứng trên bờ” theo dõi thị trường. Cho dù hơi tiếc khi cả 2 mã đều tăng thêm một chút (HAI CE tiếp vào hôm sau, NLG thì tăng nhẹ ~0.5% rồi tụt xuống) thì quyết định đứng ngoài cuộc của tôi đem lại kết quả khá đúng đắn…

Tuy hôm nay thị trường chỉnh sâu, nhưng theo đánh giá cá nhân, thị trường vẫn còn rất mong chờ vào đợt chỉnh này và coi đây như một món hời khi có thể vào thêm hàng giá rẻ. Đa số người chơi cho rằng thị trường sẽ hồi phục lại vào các ngày tới…

Và mọi người vẫn đang tiếp tục nuôi hy vọng…

Nhận định cá nhân: Thị trường sẽ tiếp tục điều chỉnh sâu. Hôm nay VNi giảm tiệm cận đường up trend và khả năng cao sẽ break up trend trong ngày mai. Khả năng test lại mốc 940. Nếu tiếp tục giảm quá mốc này sẽ tiếp tục giảm sâu, tuy khả năng này là không cao. Tuy vậy, vẫn có khả năng tăng trở lại vào ngày mai khi lực cầu bắt đáy mạnh.

Hành động: Tiếp tục đứng ngoài theo dõi thị trường