Hiểu biết cơ bản về Decorator pattern

Đôi khi chúng ta cần mở rộng một phương thức trong đối tượng, và cách thông thường là chúng ta sẽ kế thừa đối tượng đó. Việc này không phải sai, nhưng trong một vài trường hợp sẽ làm cho mã nguồn trở lên phức tạp hơn chúng ta mong muốn. Đó là lý do chính cho việc ra đời của mẫu thiết kế Decorator ...

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

Sử dụng SQLite database trong ứng dụng Android

SQLite là một cơ sở dữ liệu SQL mã nguồn mở, nó lưu trữ dữ liệu vào một tập tin văn bản trên một thiết bị. Nó mặc định đã được tích hợp trên thiết bị Android. Để truy cập dữ liệu này, bạn không cần phải thiết lập bất kỳ loại kết nối nào cho nó như JDBC, ODBC, ... SQLite được Richard Hipp viết ...

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

Apache Spark on Docker

Docker and Spark are two technologies which are very hyped these days. The repository contains a Docker file to build a Docker image with Apache Spark. Log into your Ubuntu installation as a user with sudo privileges. Install wget and wget docker sudo apt-get install wget Get the latest ...

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

Android vector image

Từ Android 5.0, Google đã support native vector iamge cho Android. Không như các định dạng bitmap/raster, ảnh vector có thể co dãn mà không ảnh hưởng đến chất lượng ảnh. Nó cho phép sử dụng chỉ một ảnh cho nhiều kích thước và độ phân giải màn hình. Ảnh Vector Ảnh được định nghĩa bởi vector ...

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

So sánh Gulp và Grunt

Nếu các bạn chưa biết Gulp là cái gì và Grunt là cái chi, các bạn có thể tham khảo hai bài viết dưới đây: Mở đầu với Gulp (đang viết, xin hãy quay lại sau :p) Grunt - Javascript task runner (rất cám ơn young talent naa vì bài viết chất lượng này) Cả hai công cụ trên đều dùng để tự động ...

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

Tìm hiểu về cách thức hoạt động của UIScrollView

UIScrollView là một trong những thành phần được sử dụng hầu hết trong tất cả các ứng dụng iOS. Có bao giờ bạn băn khoăn thực sự UIScrollView làm việc như thế nào không? Hôm nay hãy cùng tôi xem UIScrollView hoạt động như thế nào nhé. Kết thúc chúng ta sẽ có một ví dụ nho nhỏ để các bạn có thể nhìn ...

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

Hướng dẫn làm một app nghe nhạc online và offline đơn giản

Mình xin hướng dẫn các bạn một bài viết về một ứng dụng nghe nhạc online đơn giản . Để làm được ứng dụng này ngoài các vấn đề cơ bản về android ví dụ như layout, listview, gridview ... Bạn cần biết thêm về service , widget, media player, broadcast , notifications . Khi xây dựng một ứng dụng bạn ...

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

[OVH] Network configuration for VMs

Recently, I supported a friend to setup network for his VMs based on a dedicated server which was bought from OVH. At first, I never thought that I had to spent more than 3 days to complete it because I'm not a nerd guy in computer network and system. Howevers, I was struggled with virtual machines ...

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

Amazon Simple Storage Service (S3) Trong Android

Amazon S3 là gì Amazon Simple Storage Service (S3) cung cấp một kho dữ liệu ổn định, bền vững và có khả năng mở rộng cao trên cloud. Sử dụng AWS Moblie SDK,, bạn có thể truy cập trực tiếp vào Amazon S3 từ ứng dụng. Mục đích của tôi khi nghiên cứu bài này là upload một đối tượng (một file) lên ...

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

Hướng dẫn React Native P.1

React Native là một framework được phát triển bởi Facebook giúp bạn xây dựng những ứng dụng iOS và Android native bằng Javascript. Chúng ta đã biết tới những framework như PhoneGap, hỗ trợ xây dựng những ứng dụng di động bằng bao nội dung web vào trong WebView, với phương châm là "Viết một ...

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

Cách tweet bằng SLComposeViewController。

Cách tweet bằng SLComposeViewController。 Đầu tiên cần import Social trong ViewController.swift 。 Sau đó chúng ta thêm button(có thể đặt tên theo code bên dưới là tweet,Actionname:tweetAction) và thêm method dưới vào ViewController.swift @IBAction func tweetAction(sender: AnyObject) { // ...

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

How to add schedule auto run rake task to rails

I. Introduction Sometimes, we must to run some task with schedule. Rails support us to do this by gem "whenerver" and rake task. Rake task will make somethings you want to do and it repeat manytimes, so you must to run rake task instead of rewrite your code. Gem "whenever" will make ...

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

RingZer0 SqlInjection Writeup

Lang thang trên mấy diễn đàn tình cờ biết được trang này là nơi để training về các vấn đề tấn công và bảo mật.Các bài tập ở đây đều không có lời giải mà người chơi phải tự mày mò để làm được,chỉ có đề bài và cũng không có hướng dẫn nào cả @@. Sau vài ngày lần mò trong category SqlInjection mình ...

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

Tìm hiểu ViewStub trong Android

ViewStub là một View invisible, có kích thước là ""zero-size" và "can be used to lazily inflate layout resources at runtime" - nôm na hiểu là khi nào cần thì 1 view nào đó sẽ được tạo. Khi ViewStub được set là "visible" hoặc khi phương thức inflate() được gọi đến thì một View nào đó mong muốn sẽ ...

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

Tìm hiểu về phusion passenger và sử dụng nó để deploy một rails application

I. Passenger là gì? Phusion passenger được hiểu như một webserver và một ứng dụng server cho web apps của bạn. Nếu bạn có 1 web applications, và một vps, bạn muốn deploy lên vps chạy với websever như nginx or apache, khi đó passenger sẽ giúp bạn tự động kết nối giữa web apps và webserver. ...

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

min() and max() trong CSS3

Xin chào các bạn,lần trước mình đã giới thiệu qua một tính năng mạnh mẽ của CSS3 là calc() function, hôm nay mình sẽ đưa đến một tính năng khác cũng đơn giản nhưng không kém phần thú vị, đó là min() và max(). Mình nghĩ, nếu bạn biết qua calc() thì chắc bạn cũng sẽ không thể làm ngơ với min() ...

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

Web Design Trend for 2016 : The Good, The Bad and The Ugly ( Part 2: The Bad and The Ugly)

Bài viêt trước là những trend là The Good cho Web Design 2016, tôi sẽ giới thiệu tiếp cho các bạn phần 2: The bad and the ugly- những trend nên tránh sử dụng hoặc sử dụng một cách thận trọng. Scroll hijacking " Long scoll", "Scroll Hijacking " là những xu hướng hot nổi lên từ năm 2014 ...

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

xây dựng Customer Relationship Management sử dụng Graph API và REST

Bài trước, ta đã tìm hiểu nhũng khái niệm cơ bản và cách cài đặt xây dựng 1 mối quan hệ đơn giản thông qua Neo4j - Graph database. Bài này ta sẽ đi sâu hơn để giải quyết những vấn đề phức tạp hơn bằng việc xây dựng 1 hệ thống CRM (Customer Relationship Management). Trước khi bắt đầu ta cần hiểu ...

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

Regular Expressions

Regular expressions là mô hình được sử dụng để phù hợp với kết hợp kí tự trong chuỗi. Trong JavaScript, biểu thức thông thường cũng là đối tượng. Những mô hình được sử dụng với các phương thức exec và test của Regex và cùng với các phương thức math, replace, search và split của String. Chương này ...

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

Test your Nodejs code using Mochajs

Mocha - simple, flexible, fun A simple introduction on Mochajs homepage Mocha is a feature-rich JavaScript test framework running on Node.js and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping ...

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