
Đôi điều về Laravel Model
Skip Model Event Giả sử bạn có định nghĩa một event trong model User như sau: public static function boot() { self::updated(function() { Log::info('User updated'); }); } Tức là mỗi khi bạn gọi update một đối tượng user như sau User::find($id)->update ...

Hướng dẫn tạo khoảng cách giữa các item cách đều nhau trong recycler view
Hôm nay mình sẽ hướng dẫn mọi người cách tạo khoảng cách đều giữa các item trong recycler view trong android. Thông thường khi tạo list các item, khoảng cách sẽ như sau Như các bạn thấy thì khoảng cách bên trên, bên phải, bên trái của item đầu tiên thì bằng nhau nhưng khoảng cách của item đó với ...

Design Patterns - Singleton pattern
Mẫu thiết kế Singleton đảm bảo rằng một lớp chỉ có một thể hiện (instance) duy nhất. Do thể hiện này có tiềm năng sử dụng trong suốt chương trình, nên mẫu thiết kế Singleton cũng cung cấp một điểm truy cập toàn cục đến nó. Cài đặt Mẫu thiết kế Singleton đơn giản và dễ áp dụng, chỉ cần bổ ...

Tải file mp3 từ Youtube bằng 1 câu lệnh Linux
Đôi lúc bạn không muốn nghe nhạc hay xem các video trực tuyến nữa mà muốn tải chúng về điện thoại để nghe offline bằng file mp3, thông thường bạn tìm đến Google và search ra một đống website chuyên convert từ Youtube video sang mp3, nhưng mình dạo 1 vòng thì thấy đầy quảng cáo khó chịu và rất nhức ...

5 extensions google chrome cho nhà phát triển web
Ai trong chúng ta cũng đã quá quen với Chrome! Đây là một trình duyệt nhẹ nhàng và nhanh chóng, một phần mềm gần như là bắt buộc phải có thời đại thông tin số, mọi thứ tập trung về nền web như hiện nay. Kể từ lúc ra đời và được phổ biến vào năm 2006 đến nay, Chrome đã phát triển mạnh mẽ từ một ...

Part 1: HOW TO RUN PERFORMANCE TESTS USING JMETER ON MOBILE APPS
Introduction: In this tutorial, we will look like overview of how to install and start Jmeter 3.2 and we will also learn about the basic Jmeter and how to run performance tests on mobile apps. What is Jmeter? JMeter is a 100% Java application, open source software, designed to load test for ...

Trình biên dịch Javascript JIT (Just-in-time)
Javascript khi mới ra mắt thì khá là chậm chạp, nhưng sau đó đã trở nên nhanh hơn nhờ vào một cái gì đó gọi là JIT. Vậy JIT là gì và làm thế nào để JIT làm việc? Chúng ta sẽ cùng đi tìm hiểu trong bài này. Làm thế nào Javascript được chạy trong trình duyệt Khi bạn thêm Javascript vào trang web ...

What is a URL?
Khi bạn cần định vị nhà của ai đó, bạn cần phải có địa chỉ nhà. Nếu bạn muốn gọi cho bạn chưa bạn, bạn cần có số điện thoại của bạn của bạn. Nếu không có thông tin đó, thì việc tìm nhà hoặc gọi điện thoại cho bạn của bạn là không thể. Hơn nữa, nếu bạn cũng cấp địa chỉ hoặc số điện thoại, bạn có thể ...

Quick example of Node.js, Express and MySQL
Regarding node, it illustrates the JS execution environment to install various nomads to use at the front at npm, but I tried to make it because it is possible to create a web server as well. Front end engineer node, npm are available for front-end use Little knowledge of infrastructure and ...

ECMAScript proposal: Pattern Matching
Currently, there's an ECMAScript proposal for pattern matching in JavaScript. The proposal's authors are Brian Terlson, who is also the author of the async/await feature, and Sebastian Markbåge. In this article, let's take a look at its current specs and syntax. The proposal is still at stage 0 ...

Xây dựng API với grape và grape swagger
Thêm vào trong Gemfile gem "grape" gem "grape-swagger" Để sử dụng gem, bạn cần một root API chính để mount các resouces khác Cấu trúc thư mục thì bạn bên để api/api.rb class API < Grape::API VERSION = name.downcase version VERSION, using: :path mount Users ...

Android NDK: Giới thiệu và hướng dẫn sử dụng Kotlin với C/C++
Chào mọi người, bài viết này mình sẽ chia sẻ cách để Kotlin làm việc cùng với Android NDK dành cho những bạn mới bắt đầu. Hãy cùng tìm hiểu nhé! Native Development Kit (NDK) là một bộ công cụ giúp ta sử dụng code C/C++ trong Android, cung cấp các thư viện giúp chúng ta có thể sử dụng để quản lý ...

Play Framework và cách truy cập SQL database
Cấu hình JDBC connection Play cung cấp một plugin cho việc quản lý JDBC connection. Bạn có thể cấu hình bất kì database nào bạn cần. Để enable database plugin, hãy add javaJdbc vào build dependencies: libraryDependencies += javaJdbc Sau đó bạn phải cấu hình một connection pool trong file ...

How to Create a Facebook Messenger Bot with Ruby on Rails
Chắc hẳn trong chúng ta, ít nhiều mỗi người đều đã nghe đến con Bot rồi, nhưng không phải ai cũng hiểu cơ chế hoạt động của nó. Ở bài viết này mình sẽ giới thiệu hướng dẫn cách tạo một con Bot bằng Rails. Tôi nghĩ làm việc với Rails rất tốt bởi vì nó đã support tất cả những thứ cần thiết để tạo ...

Tìm hiểu về Node.js CLI và các comand line options hỗ trợ debug
Node.js hỗ trợ khá nhiều các options CLI cho phép chúng ta sử dụng những công cụ built-in trong node.js để debug. Ngoài ra còn có một số options cho phép chúng ta tùy chỉnh V8 engine phù hợp với nhu cầu debug của mình. Trong bài này chúng ta sẽ cùng tìm hiểu một số options quan trọng giúp chúng ta ...

Tối ưu hoá UI của ứng dụng có thực sự cần thiết - Android Performance [Part2]
Chúng ta đang cùng nhau tối ưu hoá hiệu năng ứng dụng Android ( Android Performance ), chắc hẳn qua bài viết trước Part1 ít nhiều các bạn đã rút ra được một số lưu ý quan trọng khi phát triển ứng dụng rồi phải không nào ? Mong muốn không chỉ dừng ở đó mà cần phải làm tốt hơn nữa, mượt thêm một chút ...

Hướng dẫn tạo ứng dụng web Python đơn giản trên Google App Engine
Bài hướng dẫn này mình sử dụng microframework Flask làm web app. Những framework khác của Python như Django, Pyramid, Tornado ... có thể làm tương tự. Máy tính client để mình code chạy trên Ubuntu 16.04 cùng với Python 2.7.12. Trước khi chạy và deploy ứng dụng Python web, bạn cần phải chuẩn bị ...

Những thay đổi đáng chú ý nhất của iOS 11 mà bạn không nên bỏ qua
Nội dung Giới thiệu Design Changes Control Center The Files App Siri Keyboard Message Camera Screen Recording Notes Kết Luận Giới thiệu Được giới thiệu vào ngày 5 tháng 6 năm 2017 tại WWDC, iOS 11 là phiên bản thế hệ tiếp theo của iOS. Theo Tim Cook - Giám đốc điều hành ...

Thao tác cơ bản với File và Directory trong Ruby
Trong bài viết này sẽ gồm những cách thao tác với các file và các thư mục. Ruby cung cấp một số cơ chế để đọc và viết các file, liệt kê danh sách các thư mục, vv... Trong bai viết này sẽ có thêm vài thứ cơ bản. Hãy theo dõi từng mục. Liệt kê các files Chúng ta có thể nhanh chóng và dễ dàng ...

CoordinatorLayout in Android
Tại sự kiện Google I/O 2015 thì Google đã ra mắt support library mới được tích hợp sẵn các tính năng liên quan đến Material Design. Trong những thành phần đó thì bạn có thể nhìn thấy các ViewGroup mới như là CoordinatorLayout, AppbarLayout và CollapsingToolbarLayout. Giống như tên gọi của nó, ...