
Xây dựng blog đơn giản bằng Laravel + Vue.js (part 2)
Tiếp tục quay trở lại với bài viết lần trước của mình "Xây dựng blog đơn giản sử dụng Laravel và Vue.js". Trong bài viết lần này, chúng ta sẽ bắt tay vào xây dựng database cho blog. Sau một thời gian dài bận rộn, từ hôm nay mình sẽ quay trở lại để hoàn thiện nốt phần còn lại của series này. Hy vọng ...

Chia sẻ một số validator hữu dụng trong Rails
Validate là một bước hết sức quan trọng để kiểm tra tính hợp lệ của dữ liệu trước khi được lưu xuống database. Có rất nhiều cách để validate dữ liệu trước khi nó được lưu vào database của bạn, bao gồm cả việc ràng buộc dữ liệu ở model, validate ở phía client và validate ở tầng controller. Đối với ...

Hoạt động của App trong Doze Mode and App Standby
Trong Android 6.0 Marshmallow, Google đã tích hợp một công nghệ mang tên Doze để giúp kéo dài thời gian dùng pin của smartphone và tablet khi chạy phiên bản OS này. Về cơ bản, Doze sẽ hạn chế hoạt động của các ứng dụng, hạn chế việc truy cập mạng trong những lúc bạn để máy nằm yên một chỗ không xài ...

Proper tree-shaking with Webpack 2
Tree-shaking trong bundle JavaScript xuất hiện lần đầu tiên trong Rollup, một module bundler giống như Webpack. Nó có nghĩa là chỉ những đoạn code cần thiết để chạy trong app của bạn thì mới được thêm vào trong bundle. Nhờ vậy, kích thước của bundle có thể được giảm đi đáng kể. Tính năng này mới ...

Maintenance page on production
1. Mở đầu Maintenance page là gì? Khi dự án đã đưa vào hoạt động, chắc hẳn sẽ có những lúc cần tạm thời chặn các guest đang sử dụng hệ thống, thông báo bảo trì để cập nhật phiên bản, chạy job .... Lúc đó, chúng ta cần thông báo maintenace. Bài viết này mình muốn hướng dẫn cách tạo maintenace ...

Giới thiệu các Storage Engine trong MySQL
Bài viết áp dụng cho MySQL 5.7 InnoDB Đây là Storage Engine mặc định trong MySQL 5.7. InnoDB là một Storage Engine transaction-safe (tuân thủ ACID) cho MySQL có các commit, rollback và khả năng khôi phục lỗi để bảo vệ dữ liệu người dùng. Row-level locking của InnoDB và kiểu nonlocking ...

Auto Deploy project Laravel lên Heroku
Khi lập trình một website chắc hẳn ai cũng biết đến khái niệm Deploy. Có thể hiểu đơn giản đó là việc triển khai một website lên máy chủ (server) mà mọi người có thể truy cập được trang web đó từ bên ngoài thông qua internet. Như vậy nhiều bạn sẽ nghĩ ngay rằng, việc deploy này chỉ thực hiện khi ...

Gem Deface
Deface là một thư viện cho phép bạn chèn hoặc ghi đè vào các file HTML( erb, haml, slim) trong ứng dụng Rails của mình mà không cần phải sửa đổi trực tiếp trên file đó. Cách sử dụng Có 2 cách để sử dụng Deface: - Sử dụng Deface::Override : sử dụng lớp Deface::Override để chèn hoặc ghi đè những ...

Hướng dẫn làm VR với Unity
Chào các bạn , hôm nay mình sẽ giới thiệu với các bạn một công nghê khá là mới và thú vị đó là VR . Trước tiên ta tìm hiểu VR là cái gì thì nó là viết tắt của từ Virtual Reality có nghĩa là thực tế ảo có nghĩa là khi trải nghiệm nó ta sẽ nhìn thấy một thế giới ảo do những lập trình viên tạo ra . Để ...

Hiểu hơn về self và static trong PHP
Như ở phần cuối của bài static và final trong PHP mình có nói là giữa static và self nó có khác nhau ở trong một số trường hợp. Và để chứng minh cho điều đó thì bài hôm nay mình sẽ giới thiệu với mọi người những sự khác nhau đó. 1, Tổng quan. Nhìn chung thì cả self và static đều dùng để gọi các ...

Kinh nghiệm thi chứng chỉ "AWS Certified Solutions Architect - Associate"
Trải qua nhưng lần đào tạo cho member bên fsoft học và thì chứng chỉ AWS Certified Solutions Architect - Associate, mình có 1 số lưu ý chia sẻ cho các ban muốn học và thì chứng chỉ này như sau. Một số lưu ý ôn thi AWS. Kiến thức ôn thi rộng, dàn trải trên nhiều services. Nên xác định ôn thi AWS, ...

Theo dõi log server real-time bằng công cụ Log.io
Log.io là một công cụ được viết bằng Node.js và Socket.io, cho phép chúng ta theo dõi log Linux Server trực tuyến thông qua web. Bài hướng dẫn dưới đây mình sẽ trình bày cách cài đặt và sử dụng công cụ này. Trong bài viết mình sử dụng hệ điều hành ubuntu 16.04. Thực tế trong thời gian cài đặt, mình ...

Understanding Elasticsearch II
In Part I we covered the basic of elasticsearch data structure and also took a quick look at search API. In this part we'll dive more into search API and Query DSL. Search API To perform search in elasticsearch, make GET or POST request to /_search endpoint. You can perform search on one, ...

ExoPlayer: Time to say goodbye MediaPlayer
Đợt vừa rồi mình tham gia một dự án liên quan đến Android TV, mục đích chủ yếu của ứng dụng là trình diễn video từ các khóa học online. Khi nói đến video trên Android mình ngay lập tức nghĩ đến MediaPlayer mặc định vì nó khá đơn giản và với vài dòng code là có thể chơi video; tuy nhiên, sau khi ...

Giới thiệu và cài đặt ReactJS với Rails
Dạo này nghe React đang nổi lên như 1 hiện tượng. Nên mình cũng nhảy vào tìm hiểu và nghiên cứu xem React là j? Và vì sao nó lại hot đến như vậy React.js là gì? là 1 thư viện JavaScript được tạo bởi Facebook. Chưa gì đã thấy hàng xịn rồi. Mục đích React? là tập trung và hướng vào giao ...

The common ways to pass data in the Android applications
In the Android projects, data-passing from here to there (e.g. Activity to Activity, Activity to Fragment, Fragment to Fragment) can be various which is depending on the data-types. There are several ways to do it which is summarizing below: The most common way to send data is using ...

Android Performance: Tránh sử dụng ENUM trên Android
1. What is the ENUM ? Enum trong java là một kiểu dữ liệu chứa các tập hợp các hằng số cố định. Là 1 trong số các kiểu dữ liệu do người lập trình tự định nghĩa. 2. Why we use ENUM ? Trong quá trình lập trình, những kiểu dữ liệu được định nghĩa sẵn trong ngôn ngữ lập trình có thể không mang ...

[Tản mạn] Ảo hóa - Ai cũng biết nhưng cụ thể nó là gì ?
Bài viết chia sẻ cái nhìn chủ quan và hiểu biết của mình - 1 newbie công nghệ về cái công nghệ không mới mà cũng không cũ gọi là " Ảo Hóa" . Vì thế có thể có sai sót hoặc những chỗ hiểu chưa đúng. Vì vậy mong các tiền bối cao nhân nào có trót lỡ đọc qua thì giúp mình bổ sung chỉnh sửa để bài viết ...

Khái quát về nghề BrSE
Cụm từ " Bridge System Engineer (BrSE) - Kỹ sư cầu nối" được nhiều người nói đến như một miêu tả về 1 công việc, nhưng theo ý kiến của cá nhân mình thì nên gọi là nghề BrSE. Tương tự như vậy trong ngành IT sẽ có các nghề như là: nghề developer, nghề PM, nghề tester… Cụ thể thì tìm kiếm khái ...

Nghệ thuật viết code đẹp - Phần III: Đơn giản, dễ đọc hoá biểu thức
Tiếp nối 2 phần Nghệ thuật viết code đẹp trước. Hôm nay mình xin được giới thiệu tới các bạn phần 3 của series với tựa đề Đơn giản, dễ đọc hoá biểu thức. Link 2 phần trước các bạn có thể tham khảo ở đây: Nghệ thuật viết code đẹp - Phần I: Viết flow điều kiện và vòng lặp dễ hiểu Nghệ thuật viết ...