
Lý thuyết đồ thị thực tế trong Ruby
Có lẽ bạn đã từng nghe qua về cây nhị phân, ví dụ như hình sau: Vấn đề ở đây là cây nhị phân là một phiên bản đặc biệt của đồ thị, vì vậy chúng ta cần phải có kiến thức về cây nhị phân trước khi muốn biết về lý thuyết đồ thị. Hãy bắt đầu tìm hiểu về những lý thuyết cơ bản nhất về đồ thị, ...

Phần 8: HA cho PrivacyIDEA
Phần 8: HA cho PrivacyIDEA Phần 1 : Cài đặt PrivacyIDEA server Phần 2: Login ubuntu sử dụng OTP token key. Phần 3: Quản lý tập trung ssh-key bằng privacyIDEA. Phần 4: Basic Authen Apache sử dụng OTP token key. Phần 5: Sử dụng OTP PrivacyIDEA cho Freeradius. Phần 6: Policy cho ...

Giới thiệu về ReactJS - Phần II (Cài đặt và cấu hình)
Ở bài trước, tôi đã giới thiệu sơ qua về một số khái niệm cơ bản trong react như virtual DOM là gì, cách hoạt động như nào? Các khái niệm về JSX, component, prop, state...các bạn có thể xem lại tại link : https://viblo.asia/p/gioi-thieu-ve-reactjs-phan-i-cac-khai-niem-co-ban-V3m5WzjblO7 Tiếp theo ...

Laravel echo
Mở bài Xin chào các bạn! Chắc hẳn khi sử dụng laravel bạn đã biết đến Broadcasting của laravel (hay có người gọi là laravel-echo). Broadcasting của laravel trong bài viết này mình sẽ dùng laravel-echo ở phía client và mình sẽ giới thiệu 2 cách để tạo server socket: Dùng laravel-echo-server + ...

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 ...