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

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

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

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

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ác giả: Tạ Quốc Bảo viết 16:07 ngày 12/08/2018

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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ác giả: Hoàng Hải Đăng viết 16:07 ngày 12/08/2018

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ác giả: Trịnh Tiến Mạnh viết 16:07 ngày 12/08/2018

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

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

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

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

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

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

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

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

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

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