Cải thiện hiệu năng truy vấn database

Trải qua một vài dự án sử dụng rails, tôi nhận ra một vài điều không tốt trong rails project. Ví dụ như việc sử dụng Active record, nó thật sự không phải là cách hay trong nhiều trường hợp. Tôi thường sử dụng thời gia rảnh để tìm cách cả thiện tốc độ cho các câu truy vấn. Và tôi nhận ra một vài ...

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

XCode Live Rendering from Nib

Giới thiệu Tính năng Live Rendering được Apple giới thiệu ở WWDC14 cùng với Xcode 6. Trước đây khi ta kéo thả một custom view lên trên storyboard để design thì xcode chỉ có thể hiển thị 1 view trắng thay vì hiển thị giao diện của customview đó, giao diện custom view này chỉ được hiển thị khi run ...

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

Một số câu query hay sử dụng trong SQL

Truy vấn cơ sở dữ liệu là việc chúng ta thường xuyên thực hiện khi lập trình, tuy nhiên, đối với việc lập trình framework như Rails chẳng hạn, nó đã hỗ trợ chúng ta rất nhiều trong việc viết câu lệnh truy vấn.Sau đây mình xin trình bày một số kiểu query hay được sử dụng bằng SQL query thuần. 1. ...

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

Machine Learning: Logistic Regression

First off, let's make some things clear. We, some of the Framgiers of Bangladesh branch, are going to storm Viblo with a series of blogs on machine learning in the upcoming days and here goes the first one by me. You can read some other relevant posts on the same topic here, here and here. I would ...

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

Những điều kỳ lạ về Ruby mà bạn nên biết

Ruby là một ngôn ngữ tuyệt vời với rất nhiều điều thú vị mà bạn chưa từng gặp trước đó. Trong bài viết này mình sẽ giới thiệu cho các bạn một vài điểm thú vị đó. 1. Heredoc + Method Nếu bạn muốn nhúng data vào chương trình của bạn hãy sử dụng heredoc. Ví dụ: input = < < - IN ULL ...

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

Tải và upload video tự động lên youtube với youtube-dl và youtube-api - Bài 2 : Upload video với Yt - The reliable YouTube API Ruby client

Ở bài trước https://viblo.asia/nhs3108/posts/gEmzOxEAGpv, chúng ta đã cùng tìm hiểu về youtube-dl - một chương trình dòng lệnh sử dụng để download video từ YouTube và khá nhiều trang nổi tiếng khác như Instagram , MTV, Soundcloud và Redtube, thậm chí là Facebook .v.v, đồng thời chúng ta cũng cùng ...

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

Accessibility Testing Checklist - checklist cho việc test tiếp cận trên Android_Phần 2

Trong phần 1 tôi đã giới thiệu với các bạn về mục tiêu, yêu cầu khi test tiếp cận, cũng như gợi ý các trường hợp nên test khi test tiếp cận. Dưới đây là phần nội dung tiếp theo cần lưu ý khi test tiếp cận. Bài viết được dịch từ link https://stuff.mit.edu/afs/sipb/project/android/docs/tools/testing/ ...

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

Tìm hiểu kỹ hơn về mô hình phát triển ứng dụng IOS

Hiện tại có rất nhiều mô hình để phát triển một ứng dụng IOS như MVC, MVP, MVVM, VIPER và chắc hăn có rất nhiều lập trình viên đã quá quen thuộc với MVC. Mình cũng không phải là một ngoại lệ. Thế nhưng hiểu sâu hơn về nó thì chưa mấy ai làm việc này, đơn giản là sử dụng và thấy nó ổn. Vậy với bài ...

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

Tìm hiểu thế giới web từ con số 0 (Part II)- Web service

Trong bài viết trước chúng ta đã tìm hiểu những khái niệm về web server, truy cập vào trang web cũng như cách thức hoạt động cơ bản của nó như thế nào. Trong phần tiếp theo của serial này, chúng ta sẽ tìm hiểu tiếp về thế giới web với những hiểu biết từ google về web service. Web service là gì? ...

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

Parcelable và Serializable trong Android

Khi chúng ta bắt đầu làm quen với lập trình ứng dụng Android, chúng ta đã học được rằng không thể chỉ truyền object references giữa các activities hoặc fragments mà phải đặt nó vào trong Intent/Bundle. Nhìn vào API chúng ta nhận ra rằng có 2 lựa chọn hoặc làm cho objects Parcelable hoặc ...

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

Định nghĩa về Load Balancing

Định nghĩa Load balancing là một thành phần quan trọng của cơ sở hạ tầng thường được sử dụng để cải thiện hiệu suất và độ tin cậy của các trang web, các ứng dụng, cơ sở dữ liệu và các dịch vụ khác bằng cách phân phối khối lượng công việc trên nhiều máy chủ. Một cơ sở hạ tầng web không có Load ...

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

Android Bottom Sheet

Google introduced material design was a revolution in the Android design which was announced during the 2014 Google I/O conference. To maintain the official trend, Google brought the Design support library on the 2015 Google I/O conference. This design library has a set of material design ...

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

Tạo và xuất bản một thư viện Android

Để phát triển Android một cách hoàn thiện hơn, các bạn cần phải biết cách tạo và xuất bản một thư viện Android của riêng bạn . Khi đó chúng ta có thể sử dụng thư viện củ chúng ta tạo ra theo ý muốn của mình vào các dự án một cách phù hợp nhất. 1. Tạo một thư viện Android Nếu thư viện của ...

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

Giới thiệu về Doorkeeper và OAuth 2.0

Trong bài viết này, mình sẽ giới thiệu cho các bạn cách tạo một OAuth2 provider và secure API với sự giúp đỡ của Doorkeeper. Chúng ta sẽ làm từ những bước chuẩn bị, integrate Doorkeeper, customize một chút. Ở phần 2 của series chúng ta sẽ cùng thảo luận về những ưu điểm của việc customize views sử ...

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

Làm quen với JIRA Core Server 7.3 (Group User)

1. JIRA Core là gì? JIRA Core là một hệ thống quản lý công việc cho phép bạn thiết lập các quy trình riêng phù hợp với cách bạn làm việc. Trọng tâm của tất cả các hệ thống này là các luồng công việc, di chuyển các gói công việc từ A đến B. JIRA Core cho phép bạn thực hiện công việc của bạn từ ...

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

Advice for Applying Machine Learning

There are various types of algorithm and techniques in machine learning but there is a big difference between someone who knows an algorithm vs. someone less familiar and doesn't understand how to apply them. We always learn how to chose the best avenues to explore the various techniques. In this ...

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

<Selenium 2 Testing Tools> Chương 4: Design Patterns (tiếp)

LoadableComponent Loadablecompanet là một cách để tiếp cận PageObjects . LoadableComponent là một lớp cơ sở mà tất cả các trang đều cần phải extend. Lớp cơ sở sẽ bao gồm những phương thức sau trên giao diện: ‹. get() ‹. isLoaded() ‹. load() Thay vì sử dụng public class PageObject như ...

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

Tìm hiểu về Angular2 Webpack

I. Webpack là gì Ngày nay các ứng dụng sử dụng Javascript ngày càng phổ biến, vì vậy nhu cầu cần có một công cụ để quản lý code client là cần thiết. Webpack được xây dựng nên để giải quyết vấn đề đó. Trích dẫn từ Webpack "webpack is a module loader" that "takes modules with dependencies ...

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

Laravel requests... DEADLY flexible

Request class is very flexible and gives a lot of ways to get the data. It extends Symfony Request class, so it does not only provide Laravel-specific methods. The class is highly flexible, but despite common opinion, very hard to use. And misuse of a single method may cause any kind of issues. ...

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

Phân biệt các loại service trong ứng dụng của bạn

Ở bài viết trước mình đã từng giới thiệu Service Object là gì và cách sử dụng chúng, bài dưới đây sẽ thể hiện tổng quan hơn việc service là gì và các loại service mà chúng ta có. Không chỉ riêng về service object trong rails. Đôi khi trong model bạn đi qua một điều gì đó mà nó không thực sự là ...

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