Decorator in short

qxf2-gun-decorator1
Decorator là một tính năng thú vị và mạnh mẽ trong Python. Nó cho phép ta tuỳ ý chỉnh sửa, thêm chức năng của một hàm có sẵn mà không cần sửa code của hàm, giúp cho việc maintain và scale tốt hơn. Vậy cụ thể decorator là gì và làm gì?

Tiếp tục đọc “Decorator in short”

Tự xây dựng một hệ thống Blockchain đơn giản

Nói đến Bitcoin có lẽ ai cũng biết, nhưng không phải ai cũng biết đến Blockchain, công nghệ sử dụng để xây dựng đồng tiền ảo mạnh nhất thế giới đến thời điểm hiện tại. Theo cafef:

Blockchain là công nghệ lưu trữ và truyền tải thông tin bằng các khối được liên kết với nhau và mở rộng theo thời gian do đó được gọi là chuỗi khối (blockchain). Mỗi khối chứa đựng các thông tin về thời gian khởi tạo và được liên kết với các khối trước đó. Blockchain được thiết kế để chống lại sự thay đổi dữ liệu. Thông tin trong blockchain không thể bị thay đổi và chỉ được bổ sung thêm khi có sự đồng thuận của tất cả các nút trong hệ thống. Ngay cả khi nếu một phần của hệ thống blockchain sụp đổ, những máy tính và nút khác sẽ tiếp tục hoạt động để bảo vệ thông tin.

Bạn có thể tìm hiểu thêm về Blockchain và Bitcoin từ nhiều nguồn trên internet, cả tiếng Anh và tiếng Việt, ví dụ như từ bài viết này trên genk hoặc video này từ Diễn đàn kinh tế thế giới (World Economic Forum). Trong phạm vi bài viết này, mình sẽ tiến hành xây dựng một hệ thống Blockchain đơn giản, Tiếp tục đọc “Tự xây dựng một hệ thống Blockchain đơn giản”

Bắt đầu học Machine Learning như thế nào

 

Machine Learning hay Học máy đã không còn là một từ khoá xa lạ đối với dân CNTT nói chung và dân ở các ngành nghề khác nói riêng. Sự phát triển của công nghệ những năm gần đây đã khiến Machine Learning trở nên hot hơn bao giờ hết. Vậy làm thế nào để bắt đầu với Machine Learning? Trong bài viết này, mình sẽ không giải thích ML là gì mà giả sử rằng bạn đã biết sơ qua về ML.  Thay vào đó mình sẽ đưa ra một số kinh nghiệm bản thân trong việc chọn tài liệu học ML và một số gợi ý của mình với người bắt đầu. Tiếp tục đọc “Bắt đầu học Machine Learning như thế nào”

Khám phá bộ óc đằng sau Google Brain – Andrew Ng: Cuộc đời, sự sáng tạo và cả những thất bại

Nhân sự kiện Andrew Ng chính thức chia tay Baidu, nơi ông làm Chief Scientist cho bộ phận nghiên cứu Baidu Research, chúng ta hãy cùng tìm hiểu thêm về ông qua bản dịch của bài viết “Inside The Mind That Built Google Brain: On Life, Creativity, And Failure” từ The Huffington Post được thực tiện bởi Tâm Hoàng. Tâm là một người bạn rất thân và rất giỏi của tôi, hiện đang là Scala Developer tại công ty Septeni. Các bạn có thể xem bài viết gốc của Tâm qua địa chỉ sau:

http://labs.septeni-technology.jp/machine-learning/kham-pha-bo-oc-dang-sau-google-brain-andrew-ng-cuoc-doi-su-sang-tao-va-ca-nhung-that-bai/ 

Nói về ngành khoa học máy tính, khó có thể phủ nhận rằng Carnegie Mellon, MIT, UC Berkeley, và Stanford thuộc top các trường có chương trình đào tạo tốt nhất trên thế giới. Và đó cũng là những trường Andrew Ng đã theo học suốt 12 năm, là nơi ông nhận bằng Cử nhân, Thạc sĩ và Tiến sĩ.

Tiếp tục đọc “Khám phá bộ óc đằng sau Google Brain – Andrew Ng: Cuộc đời, sự sáng tạo và cả những thất bại”

Cấu trúc dữ liệu và giải thuật cơ bản cho người mới bắt đầu (Phần 1)

Phần 1: Cấu trúc dữ liệu và giải thuật là gì?

Trong loạt bài viết này, tôi sẽ trình bày một số cấu trúc dữ liệu và giải thuật cơ bản nhất, dành cho những bạn mới làm quen với công nghệ thông tin và lập trình, cả những bạn mà ngành học không phải CNTT nhưng mong muốn tìm hiểu thêm về lĩnh vực này theo ý hiểu của tôi , một cách đơn giản nhất. Những bạn đã học lâu về CNTT nếu có các góp ý mình cũng xin trân trọng đón nhận để bài viết có thể hoàn thiện hơn. Bài viết có tham khảo từ khóa học Cấu trúc dữ liệu và giải thuật, được giảng dạy bởi T.S Lê Sỹ Vinh tại trường ĐH Công nghệ – ĐHQGHN Tiếp tục đọc “Cấu trúc dữ liệu và giải thuật cơ bản cho người mới bắt đầu (Phần 1)”

Nhận diện, tạo phụ đề tự động cho video và âm thanh

[Cập nhật] Hướng dẫn cài đặt và sử dụng trên Windows và Mac OS X 

[Cập nhật] Các bạn cài chương trình cho Windows chú ý nếu quá trình chạy bị lỗi hãy thay thế file autosub_app.py như ở bước 4.

[Cập nhật] Một số bạn gặp lỗi khi chạy lệnh python và pip trên cmd bị lỗi (‘pip’ is not recognized as an internal or external command) thì hãy thêm đường dẫn của hai thư mục C:\Python27\ và C:\Python27\Scripts (hoặc tương tự) vào biến môi trường Path nhé.

Các bạn đã bao giờ xem một bộ phim tiếng Anh nhưng chưa có phụ đề. Hay các bạn học theo một tutorial tải ở trên mạng bằng tiếng Anh, cố gắng nghe đi nghe lại nhưng không thể nghe được người ta nói gì chưa? Gần đây nhiều người có một giải pháp đó là upload video đó lên youtube và chờ youtube tạo sẵn phụ đề cho mình. Mặc dù youtube nhận diện khá tốt tuy nhiên đây là một công việc khá mất thời gian khi phải tải video lên youtube, sau đó lại xem trực tuyến trên youtube, đó là còn chưa kể đến các vấn đề về bản quyền nữa. Do đó, trong bài viết này mình sẽ hướng dẫn các bạn sử dụng công cụ Autosub để có thể nhanh chóng tạo phụ đề cho một video tiếng Anh bất kì.

Tiếp tục đọc “Nhận diện, tạo phụ đề tự động cho video và âm thanh”

Đọc quyển sách Transform Your Habits (James Clear)

Gần đây tôi có nhận một challenge của anh Thành, đó là trong năm 2016 đọc 100 cuốn sách. Giải thưởng là 500k còn nếu thua thì phải mời ảnh ăn một bữa (Một cái doner kebab 15k với chai danisa 4k cũng không quá đắt). Lúc mới nghe đến challenge này, tôi khì cười, lý do thì tại sao chẳng biết. Nhưng tôi biết chắc chắn là tôi sẽ không tham gia và có thể chờ review của các participants rồi kiếm một vài cuốn hay ho để đọc :D. Tuy nhiên sau khi hóng comment ở bài challenge của ảnh thấy có comment thế này:

Screenshot (488)

Tiếp tục đọc “Đọc quyển sách Transform Your Habits (James Clear)”

Bắt đầu với Ruby on Rails: Giá mà tôi biết trước

Dưới đây là bài viết của tác giả Kalid Azad từ trang web betterexplained.com, bạn có thể tìm thấy bài gốc tại đây. Hi vọng sau bài viết này các bạn sẽ có một cái nhìn tổng quát hơn về framework Rails trong việc ứng dụng phát triển web. Happy coding.

Ruby on Rails cách thanh lịch, gọn gàng và thú vị trong việc phát triển các ứng dụng web. Tuy nhiên việc tìm hiểu Rails từ đầu đôi khi cũng là một thách thức với các lập trình viên mới. Tôi đã có một số dự án làm việc với framework rails, nên sau đây tôi sẽ chia sẻ cho các bạn một số kinh nghiệm tôi thu được khi mới bắt đầu tìm hiểu về Rails. Tiếp tục đọc “Bắt đầu với Ruby on Rails: Giá mà tôi biết trước”

Tính căn bậc hai của một số như thế nào?

sr

Hôm nay mình mới đăng ký khóa học MITx: 6.00.1x Introduction to Computer Science and Programming Using Python trên edX và biết được thuật toán tìm căn bậc hai của một số khá là hay nên muốn chia sẻ cùng mọi người.
Thuật toán tìm căn bậc hai của một số. Nghe có vẻ hơi ngô nghê vì từ trước đến nay hầu hết chúng ta đều tìm căn bậc hai của một số bằng cách … ấn máy tính. Hay trước khi có máy tính, lúc chúng ta còn nhỏ (không được dùng máy tính) thì chúng ta học thuộc. Ví dụ như bình phương của 13 là 169 hay căn bậc hai của 289 là 17. Mình còn nhớ đứa bạn mình hồi cấp hai bị chép phạt 100 lần vì không thuộc bảng bình phương từ 1 đến 20 :)) Dường như việc tìm căn bậc hai dương của một số là một điều gì đó rất… bí ẩn và không rõ ràng. Chính vì thế nên bài viết này mình sẽ viết về thuật toán để thực hiện công việc đó. Một điều có lẽ nghe rất đơn giản nhưng … bị nhiều người bỏ quên 😀 Hi vọng nó có ích đối với mọi người. Tiếp tục đọc “Tính căn bậc hai của một số như thế nào?”