
Architecture Patterns: MVC, MVP và MVVM
Bài viết này giới thiệu sơ qua về một số architecture patterns quen thuộc: MVC (Model - View - Controller), MVP (Model - View - Presenter) và MVVM (Model - View - ViewModel). Tại sao lại cần những Architecture Patterns này? Tại sao chúng lại được nhắc tới trong bài viết này? Và tại sao chúng ta ...

Machine learning : K-means Clustering
Trong bài trước, chúng ta học thuật toán Hồi qui tuyến tính Linear Regression. Đây là thuật toán đơn giản nhất trong Supervised learning. Bài viết này chúng ta chuyển sang học về một thuật toán cơ bản trong Unsupervised learning - thuật toán K-means clustering (phân nhóm K-means). Đây là là một ...

Excess XSS
Part One: Overview What is XSS? Cross-site scripting (XSS) là cuộc tấn công mã độc cho phép kẻ tấn công thực hiện mã độc JavaScript trong trình duyệt của người dùng khác. Kẻ tấn công không trực tiếp nhắm vào nạn nhân. Thay vào đó sẽ khai thác lỗ hổng bảo mật trong một trang web mà nạn nhân truy ...

3 cách để sử dụng React với Ruby on Rails 5
Có một vài cách khác nhau để sử dụng React trong các ứng dụng Ruby on Rails. Trong bài đăng này, tôi sẽ giới thiệu 3 cách phổ biến nhất. Gem react-rails là cách đơn giản và nhanh nhất để bắt đầu sử dụng React trong ứng dụng Rails của bạn. Nó sử dụng Rails asset mặc định và tự động chuyển JSX ...

Caddy Server - Web server đơn giản và hiện đại (vs. nginx)
Chắc hẳn các bạn không còn lạ lẫm gì với nginx. Một Proxy mạnh mẽ đã được phát triển và hình thành lên webserver. Tuy nhiên hôm nay mình sẽ giới thiệu 1 webserver khác có tên là Caddy. Nó cực kỳ đơn giản, và theo đánh giá của mình và các tài liệu tìm được thì có thể trong tương lai gần nó sẽ là ...

Tổng quan về Apache Spark cho hệ thống Big Data
Apache Spark in-memory clusters đang là sự chú ý của nhiều doanh nghiệp trong việc ứng dụng công nghệ vào phân tích và xử lý dữ liệu nhanh chóng. Bài viết này tôi sẽ trình bày một cách tổng quan nhất về Apache Spark, một trong những giải pháp đòi hỏi phải có khi xử lý Big data. Tổng quan về ...

RFID data security
RFID (radio frequency identification) là một phương pháp định danh đối tượng bằng sóng radio. RFID được nghiên cứu và phát triển từ những năm 20 của thế kỷ trước tại Mỹ nhưng chủ yếu về mặt lý thuyết . Năm 1946, nhà vật lý người Nga Leon Theremin là người đầu tiên chế tạo thiết bị RFID (thu phát ...

Tự tạo 1 mini Dependencies Injection Container với PHP
Có lẽ rất nhiều người trong chúng ta đã rất quen thuộc với khái niệm Dependencies Injection, cũng như hiệu quả của nó mang lại. Vậy DI hoạt động như thế nào trong PHP và các framework của PHP, để hiểu rõ cách tốt nhất là xây dựng 1 mini DI container dựa theo cách các framework triển khai nó. ...

Sử dụng Fragment trong Android
Hello everyone, mình sẽ chia sẻ với các bạn cách sử dụng fragment trong android. Nó là một thành phần quan trọng. Nó khá giống activity . Hôm nay mình đi vào phần 1 static fragment , phần 2 dynamics fragment mình sẽ chia sẻ vào bài viết lần sau. Giờ chúng ta cùng tìm hiểu nhé. 1. Một số khái ...

Google Maps KML Importing Utility
Giới thiệu KML là một phần mở rộng của định dạng dữ liệu XML và đại diện cho dữ liệu địa lý trên một bản đồ. Sử dụng tiện ích này, bạn có thể chuyển đổi các đối tượng KML thành các hình dạng địa lý và biến chúng thành một lớp trên bản đồ. Để thêm và xóa dữ liệu KML của bạn đến và đi từ bản ...

Phỏng vấn Ruby on Rails Developer
Lời mở đầu Xin chào các bác. Bài viết hôm nay được chia sẻ từ https://rubygarage.org/ Nó có thể hữu ích khi bạn cần phỏng vấn RoR developers vào công ty, hoặc giúp cho những ứng viên tham khảo, chuẩn bị trước. Đối với bản thân mình, bài viết này cũng giống như một bài kiểm tra, giúp rà ...

Phần 1/2: Hệ thống PrivacyIDEA giải pháp xác thực 2 bước, chứng thực - quản lý tập trung.
PrivacyIDEA giải pháp xác thực 2 bước, chứng thực-quản lý tập trung. Giới thiệu: - Bạn đã bao giờ thấy Google/Microsoft/Skype gửi cho bạn 1 đoạn mã qua SMS/Email để đăng nhập chưa? . - Bạn đã dùng thiết bị tạo key OTP của 1 số ngân hàng để thanh toán giao dịch chưa? (vd: techcombank) - Bạn đã ...

Cronjob đơn giản trong Laravel 5.4
1. Vấn đề Hiện nay tại công ty, khi làm việc mình thường gặp phải các task như: Đặt lịch mỗi ngày hệ thống đều thống kê số lượng đơn hàng nhập, xuất rồi gửi lại email cho các sếp vào 7h sáng hàng ngày Hệ thống tự động thống kê hoạt động kiểm kho rồi gửi email cho quản lý và nhân viên kho ...

Tản mạn Autoboxing trong java
Với người lập trình viên java thì hẳn không lạ lẫm gì với kỹ thuật autoboxing, các bạn có thể đã gặp kỹ thuật này rất nhiều nhưng để nắm rõ và phân biệt các dạng autoboxing trong java thì nhiều khi các bạn không để ý tới, nay mình xin chia sẻ với các bạn một cách chi tiết về các dạng autoboxing và ...

Các cách để viết Testcases hiệu quả
Testcases rất quan trọng đối với bất kì dự án nào vì đây là bước đầu tiên trong bất cứ chu trình kiểm thử nào, và nếu có sai sót nào trong bước này nó sẽ ảnh hưởng đến suy luận của bạn trong quá trình kiểm thử. Vậy nên biết làm thế nào để tạo được những testcase tốt là điều vô cùng quan trọng với ...

How to build "Compost Helper Alexa Skill"
Using Software apps and online services: Step by step build "Alexa skill" I wanted to build a very simple skill that tells a user if an item can be added to compost. My hope is that a skill like this encourages others to do more composting (and reduce what is added to landfills). The skill is ...

Tổ chức dữ liệu với Swift - Object Storage
Swift trong bài viết nhắc tới, không phải là ngôn ngữ lập trình cho iOS, cũng không phải tên hiệp hội tổ chức liên ngân hàng quốc tế. Đây là tên 1 project của OpenStack (dự án mã nguồn mở để triển khai Cloud Computing ), theo đó OpenStack sẽ gồm rất nhiều project, tùy thuộc vào mục đích xây dựng hệ ...

Lý thuyết xác suất (P2)
1. Góc nhìn trực quan Hai sự kiện độc lập với nhau nếu biết trước một sự kiện sẽ xảy ra không ảnh hưởng tới niềm tin của chúng ta về khả năng sẽ xảy ra sự kiện kia. P(B|A) = P(B) Ví dụ: Hai sự kiện A và B không giao nhau thoạt nhìn có vẻ độc lập. Nhưng nếu biết một sự kiện sẽ xảy ra thì có thể ...

Git và những thuật ngữ cơ bản
Repository Nơi lưu trữ program và file ở trong hệ thống quản lý Version Trên Git chia repository thành 2 loại là Local repository và Remote repository Local repository Repository đang thao tác hiện tại, trong trường hợp thao tác chủ yếu trên máy tính cá nhân hoặc server phát triển gọi ...

Yarn - Một cải tiến đáng kể so với NPM
Trong những năm gần đây, npm được sử dụng rộng rãi và phổ biến như một công cụ quản lý các package. Với một câu lệnh sử dụng npm, bạn đã có thể cài đặt và sử dụng một package (đã được đăng ký trên npm) mà ko cần phải vào trang chủ của package đó download, giải nén, và link chúng đến trang web ...