
18+ kĩ thuật rút gọn code Javascript của bạn
1. Toán tử 3 ngôi (Ternary Operator) Sử dụng khi cần rút ngắn đoạn if..else thành 1 dòng. Thay vì const x = 100; let result; if (x < 1000) { result = "nhỏ hơn 1000"; } else { result = "lớn hơn hoặc bằng 1000"; } thì const x = 100; const result = (x < 1000) ? "nhỏ hơn 1000" : ...

Hướng dẫn tạo ứng dụng chat trong React kết hợp với Firebase - Phần 1
Như các bạn đã biết, hiện nay trên các mạng xã hội hay bất cứ đâu thì ứng dụng chat là điều không thể thiếu, bất cứ ngôn ngữ nào cũng đều có thể viết ra được một ứng dụng chat đơn giản, nhưng hôm nay mình xin hướng dẫn viết bằng React. Do mới học React đang còn non kém nên có gì sai sót mong mọi ...

Giới thiệu về Scope và Directive trong AngularJs
Bài viết này mình sẽ giới thiệu về Scope và directive trong Angular mà mình đã có ứng dụng và hiểu được trong thời gian qua. Scopes là gì? Scopes là một đối tượng đề cập đến mô hình ứng dụng. Đó là một bối cảnh thực hiện cho các biểu thức. Scopes được sắp xếp theo cấu trúc phân cấp bắt chước ...

Phần 7: Quản lý user client trong PrivacyIDEA (sqlrealm/dbrealm/ldap/Activedirectory)
Phần 7: Quản lý user client trong PrivacyIDEA (sqlrealm/dbrealm/ldap/Activedirectory) 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 ...

Tự động deploy rails application lên môi trường product (P1)
Chuẩn bị Server ubuntu. Có nhiều nhà cung cấp, nhưng hiện tại mình chọn Amazon Web Service Máy tính có cài đầy đủ môi trường, tool để code rails Đăng ký EC2 Bạn phải có 1 thẻ tín dụng quốc tế, và còn khoảng 2$$để nó check, miễn phí 12 tháng nên yên tâm là nó không charge đâu. Sau khi hoàn ...

Customize UIAlertController
Trong iOS, UIAlertView được dùng rất nhiều để hiển thị một message dialog hoặc confirm dialog... Tuy nhiên, từ iOS 8.0 trở đi, UIAlertView đã bị deprecated và thay thế bởi UIAlertController . Giao diện mặc định của UIAlertController nhìn đơn giản nhưng khá đơn điệu, nhiều khi không đáp ứng ...

Form trong AngularJS
AngularJS bổ sung cho form các tính năng về filling và validation. Bạn có thể dùng ng-click directive để xử lý sự kiện click chuột trên nút và sử dụng các cờ hiệu dirty và invalid để làm cho nó có hiệu lực. Sử dụng novalidate với khai báo form để vô hiệu hóa tính năng valicate của form. Phần điều ...

Tản mạn về Testing
Bài viết này được viết từ những ngày nắng 40 độ C, dẫn nguồn từ blog của mình, với mong muốn chia sẻ một góc nhìn cá nhân. Đây chắc là lần đầu tiên mình viết blog, sẽ có nhiều thiếu sót, rất mong nhận được sự góp ý và phản biện của các bạn: Tôi đang làm việc cho một công ty có định hướng là một ...

Các pattern của bộ tứ (Gang of Four) trong Kotlin
Kotlin ngày càng trở nên phổ biến và thích hợp để thay thế Java. Vậy, các mẫu Design Pattern phổ biến được implement trong Kotlin như thế nào? Bài viết này, chúng ta sẽ cùng nhau implement một số mẫu Design Pattern nổi tiếng nhất trong Kotlin. Mục đích không đơn giản chỉ là implement các pattern. ...

Authenticate multi model with devise
1. Devise là gì? Devise là một gem cho phép các ứng dụng rails có thể thực hiện công việc xác thực thông tin cá nhân, nó được xây dựng dựa trên base của gem warden . Khác với warden rất thô sơ đòi hỏi coder cần có 1 nền tảng khá vững về rails để có thể bắt đầu và xây dụng lên 1 ứng dụng đầy đủ ...

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