PHP Autoloading, PSR4 and Composer

Giới thiệu Rất nhiều PHP developer hiện nay và kể cả phần lớn các framework đều chọn cách viết code theo mô hình lập trình hướng đối tượng. Một trong những best practice, convention khi viết OOP đó là mỗi class sẽ được viết riêng vào 1 file. Nhưng có một vấn đề đối với practice này đó là chúng ta ...

Tác giả: Hoàng Hải Đăng viết 18:12 ngày 12/08/2018

Tạo Virtual Hosts đơn giản trên Ubuntu

Thay vì phải vào các đường dẫn dài, khó nhớ như "http://localhost/laravel/public/" hay phải thiết lập các cổng mở sẵn để chạy ứng dụng như "http://localhost:8000", bài viết sẽ hướng dẫn các bạn cấu hình một virtual hosts giúp bạn chạy ứng dụng của mình với các domain như thật </p> <div class= Tác giả: Hoàng Hải Đăng viết 18:12 ngày 12/08/2018

Passport trong NodeJS - Authentication

1. Passport là gì? Passport.js một trong những module phổ biến nhất của Nodejs hỗ trợ bạn authentication . Nó được thiết kế là một middleware hết sức linh hoạt cho bạn khả năng tùy biến cao với rất nhiều các kịch bản authentication: bạn có thể sử dụng Twitter, Facebook, Google thậm chí là qua ...

Tác giả: Tạ Quốc Bảo viết 18:12 ngày 12/08/2018

Khác nhau giữa abstract class và interface khi nào dùng chúng

Nhắc đến 2 thằng này bạn hãy nhớ 2 từ này khá clear rồi, Khi sử dụng Interface là bạn Implement còn sử dụng abstract class là bạn extend Interface: Không phải là class. Chỉ chứa những method/properties trống không có thực thi. Nó giống như một khuôn mẫu, một khung để để các lớp ...

Tác giả: Bùi Văn Nam viết 18:12 ngày 12/08/2018

Tổng quan về Artificial Neural Network

Artificial Neural Network (ANN) gồm 3 thành phần chính: Input layer và output layer chỉ gồm 1 layer , hidden layer có thể có 1 hay nhiều layer tùy vào bài toán cụ thể. ANN hoạt động theo hướng mô tả lại cách hoạt động của hệ thần kinh với các neuron được kết ...

Tác giả: Hoàng Hải Đăng viết 18:12 ngày 12/08/2018

Tại sao chúng ta nên xây dựng một ứng dụng Single-page Application

Với sự phát triển của ứng dụng web, các ứng dụng Destop đang dần trở nên lạc hậu. Bây giờ là thời đại của những trang web thân thiên, dễ dùng, dễ dàng bảo trì, không bị phụ thuộc vào bất cứ phần cứng nào. Tuy vậy thị phần người dùng ứng dụng web đang dần chuyển từ trên nền browser sang nền mobile. ...

Tác giả: Bùi Văn Nam viết 18:12 ngày 12/08/2018

Share some array functions in javascript

I. Chunk Chuyển 1 mảng thành 1 mảng chứa các mảng con nhỏ hơn với số lượng element định sẵn Chúng ta sẽ dùng Array.from() để tạo mảng mới có số lượng element khớp với size ta mong muốn. Sử dụng Array.slice() để map các element của array mới thành 1 mảng có length = size const chunk = ...

Tác giả: Bùi Văn Nam viết 18:12 ngày 12/08/2018

Sắp xếp trong Java 8

Trong bài giới thiệu TreeSet và giới thiệu lớp tiện ích Collections, Arrays trong Java, tôi đã giới thiệu với các bạn cách tạo bộ so sánh sử dụng Comparable, Comparator và cách sắp xếp các phần tử trong một Collection, Array. Trong bài này, chúng ta sẽ tổng hợp lại các cách sắp xếp trong Java 7 và ...

Tác giả: Trịnh Tiến Mạnh viết 18:12 ngày 12/08/2018

File generator command

1. Mở đầu Chắc hẳn khi học và làm việc với Laravel chúng ta đều đã nghe và sử dụng đến artisan console mà Laravel cung cấp cho chúng ta để thực thi một công việc thông qua lệnh gõ vào từ command line. Tuy nhiên đã bao giờ bạn hỏi về việc làm thế nào mà các lệnh artisan console như: $ php ...

Tác giả: Hoàng Hải Đăng viết 18:12 ngày 12/08/2018

Android Context là gì? Sử dụng sao cho đúng?

Context là thành phần trong ứng dụng android cung cấp quyền truy cập thông tin về các trạng thái của ứng dụng đó. Nó cung cấp các Activities, Fragments và Services truy cập tới các file tài nguyên, hình ảnh, theme, style và các file nằm ngoài ứng dụng. Nó cũng cho phép truy cập vào các thành phần ...

Tác giả: Hoàng Hải Đăng viết 18:12 ngày 12/08/2018

Tìm hiểu về HTTP Response Status Code

Chào các bạn hôm nay mình lại ngoi lên đây =)) Hôm nay mình sẽ chia sẻ các bạn về những con số thần thánh không phải 1 web developer nào cũng biết đến. Là 1 web developer thường xuyên làm việc với API, code server hoặc nhận response ở client thì chắc đã quá quen với những con số tiêu biểu như200, ...

Tác giả: Tạ Quốc Bảo viết 18:12 ngày 12/08/2018

Lọc những bản ghi có giá trị nhất định trong mảng với Filter trong JS

Có bao giờ bạn phải lọc những bản ghi mà có một field bất kỳ được chỉ định giá trị nào đó. Ví dụ bạn có mảng object gồm các sinh viên: var data = { "class" : { "students" : [ { "id" : "S01" , "name" : "Ly Nhan Tong" , ...

Tác giả: Trịnh Tiến Mạnh viết 18:12 ngày 12/08/2018

ActiveJob Rails

Active Job là một framework tác để khai báo các job chạy ngầm trong hệ thống như dọn dẹp thường xuyên theo lịch trình, export data, gửi mail,... Tạo job Để tạo một background job, chúng ta có thể dùng Rails generator bin/rails generate job guests_cleanup invoke test_unit create ...

Tác giả: Bùi Văn Nam viết 18:12 ngày 12/08/2018

Hello Autosizing TextViews trên Android Oreo

Hẳn là bạn đã từng gặp trường hợp dở khóc, dở cười khi cu Leader của bạn bắt bạn phải custom ra một cái TextView mà thay đổi đc size khi mà cái nội dung hoặc cái layout cha của nó thay đổi kích cỡ, và cái TextView đó của bạn cũng phải support auto-size với các thiết bị có kích thước khác nhau. Ngon ...

Tác giả: Tạ Quốc Bảo viết 18:12 ngày 12/08/2018

Tìm hiểu về single sign-on/SSO (đăng nhập một lần) thông qua Spring boot và chuẩn SAML

SSO/single sign-on(đăng nhập một lần) nói đơn giản là ta không cần bắt người dùng phải tự đăng ký một user trên trang web của mình mà sẽ thông qua một provider(nhà cung cấp) uy tín, mình sẽ tự get thông tin nó cung cấp về và lưu vào db luôn. Giống như một số trang web có chức năng cho người dùng ...

Tác giả: Trịnh Tiến Mạnh viết 18:12 ngày 12/08/2018

Những lợi ích ít ai biết đến khi sử dụng "remote: true" trong rails

Sự kết hợp hiệu quả khi sử dụng thư viện với remote: true Một số thư viện thường dùng kết hợp với remote: true trong dự án rails Ransack là thư viện hổ trợ cho việc tìm kiếm, sắp xếp,... chi tiết: https://github.com/activerecord-hackery/ransack Kaminari là thư viện hổ trợ phân ...

Tác giả: Trịnh Tiến Mạnh viết 18:12 ngày 12/08/2018

Giới thiệu Firebase ML Kit cho Android

Firebase ML Kit là một thư viện cho phép bạn sử dụng dễ dàng và với mã rút gọn, sử dụng một loạt các mô hình linh hoạt, chính xác cao trong các ứng dụng Android. Hầu hết các models mà nó cung cấp đều có thể sử dụng ở cả local lẫn trên Google Cloud. Hiện tại, các mô hình trong Firebase ML Kit chỉ ...

Tác giả: Trịnh Tiến Mạnh viết 18:12 ngày 12/08/2018

Tạo một PickerBlurView custom cho các ứng dụng iOS

Việc sử dụng PickerView trong các dự án có 2 cách thông thường như sau: Add thẳng PickerView vào file XIB, mỗi khi gọi sẽ show/hide PickerView. Với các component cho phép input text như UITextField hay UITextView, chúng ta sẽ gán PickerView là InputView của các component đó. Xem đoạn code sau: ...

Tác giả: Hoàng Hải Đăng viết 18:12 ngày 12/08/2018

Một số biểu thức regex không căn bản (nhưng hữu ích)

Chắc hẳn các bạn không còn xa lạ gì với khái niệm Regular Expression. Việc sử dụng Regular Expression đem lại rất nhiều thuận tiện cũng như hiệu quả trong việc xử lý chuỗi và tách chuỗi, giúp những đoạn code xử lý chuỗi của chúng ta ngắn gon hơn rất nhiều (mặc dù sẽ gây khó hiểu cho những ai không ...

Tác giả: Trịnh Tiến Mạnh viết 18:12 ngày 12/08/2018

Lập trình hướng đối tượng trong PHP - Phần 1

Chắc hẳn mọi người đã quá quen với lập trình hướng đối tượng. Mình đã gặp nhiều khó khăn khi để hiểu và áp dụng nó trong lập trình. Trong bài viết này mình đưa ra một số lý thuyết mà bản thân mình tìm hiểu. Có thể cách hiểu mỗi người 1 khác nhưng mong rằng bài viết của mình không quá khó hiểu hay ...

Tác giả: Bùi Văn Nam viết 18:12 ngày 12/08/2018