iOS: 3 cách để truyền dữ liệu từ Model đến Controller

Mở đầu Là một iOS developer nói riêng, hoặc một software developer nói chung, chắc chắc chúng ta đều phải giải quyết một bài toán trong mọi project đó là: Làm thế nào để truyền dữ liệu từ Model đến Controller. Giả định là chúng ta đang áp dụng mô hình MVC hoặc MVVM trong project. Sau đây là ba ...

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

Những oan trái khi bạn không login được vào EC2 Instance

Nếu từng dùng ec2 instance. Tôi cá là đa số các bạn đã không ít hơn 1 lần gặp lỗi không thể login vào instance của chính mình. Sau đây là những vấn đề mình đã từng gặp cùng cách xử lý. Hy vọng nó có thể tiết kiệm cho anh em 1 ít chút thời gian để fix những lỗi trên trời rơi xuống này. Permission ...

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

Android: Xử lý ảnh đơn giản và nhanh chóng với RenderScript

Bạn muốn chỉnh sửa ảnh muộn cách nhanh chóng chỉ với vài dòng code đơn giản. Bạn muốn sử dụng sức mạnh tính toán của GPU mà không phải học các câu lệnh phức tạp của OpenCL. Renderscript sẽ giúp bạn thực hiện tất cả các điều trên. Mình đã thực hiện 1 bài so sánh về làm mở ảnh bằng renderscript với ...

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

Tạo thông báo Real-Time với laravel

Initialization project Đầu tiên chúng ta sẽ init một project laravel sau đó sẽ config Database Mysql và thiết lập các biến môi trường cho ứng dụng copy env.example thành .env . cp .env.example .env DB_HOST=localhost DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret .env Bây ...

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

Ví dụ sắp xếp nổi bọt với Java

Bài toán sắp xếp là bài toán rất thường gặp với các bạn mới tiếp xúc với lập trình, bài viết này hướng đến các bạn mới tiếp xúc với java và mong muốn hiểu rõ hơn về sắp xếp. Hiện nay trong các cuộc phỏng vấn thì nhà tuyển dụng vẫn thường đặt câu hỏi về vấn đề này. Có rất nhiều thuật toán sắp xếp, ...

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

Tìm hiểu về Web Fonts

Trong bài viết này, chúng ta sẽ tìm hiểu về các loại font được sử dụng cho web (web fonts), cách sử dụng web fonts sao cho hợp lý và giải quyết một số lỗi liên quan đến việc tích hợp web fonts. 1. Embedded OpenType (EOT): EOT là định dạng được phát triển bởi Microsoft hơn 15 năm về trước. EOT ...

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

Giới thiệu về gem fast_jsonapi trong ruby on rails

Giới thiệu Đây là bài viết cơ bản giới thiệu sơ qua về gem fast_jsonapi JSONAPI là một gem được phát hành và cung cấp tất cả các chức năng chính của Active Model Serializer (AMS), và vượt trội hơn AMS về tốc độ và hiệu suất đến 25 lần. fast_jsonapi được xây dựng dựa trên ý tưởng của AMS, nó được ...

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

[Laravel Cho người mới bắt đầu][Chương 4 - Ngoại truyện] Quậy một vòng với Laravel Tinker

Quậy một vòng với Laravel Tinker Tiếp theo series về Laravel cho người mới bắt đầu chúng ta sẽ tiếp tục tiến đến một công cụ khác rất đặc trưng của Laravel so với các Framework PHP khác đó là artisan. Và một thứ mình cực kì thích là mình có thể tương tác với đoạn code mình vừa viết thông qua ...

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

Phần 5: Working with tableView

Project 11: Pull to refesh tableView Khởi tạo project và giao diện cho app Add UIRefreshControl cho tableView Khai báo và khởi tạo var refreshControll = UIRefreshControl() Thêm các thuộc tính refreshControll.attributedTitle = NSAttributedString(string: "Pull to ...

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

Sidekiq: Best Practices

Dưới đây là một số lời khuyên giúp bạn làm việc với Sidekiq hiệu quả hơn. Đối với ai chưa biết thì Sidekiq là một framework dùng để xử lý các background job trong ruby. Nó nhắm đến mục tiêu đơn giản để tích hợp vào bất kể ứng dụng Rails hiện đại nào, đồng thời đưa tới hiệu năng cao hơn so với những ...

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

[Swift] Xây dựng những API đầu tiên sử dụng Vapor framwork

Chào các bạn, trong bài viết trước Bắt đầu với Vapor tôi đã giới thiệu đến các bạn web framwork Vapor cực kì mạnh mẽ trên nền tảng ngôn ngữ swift. Phần tiếp theo trong phần giới thiệu về Vapor framwork này tôi sẽ giới thiệu đến các bạn cách xây dựng API sử dụng nó. App demo, xây dựng các API: ...

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

Taking Advantage of Kotlin part 2

Hôm nay mình sẽ tiếp tục nói về một số Kotlin tip dành cho người mới, các bạn có thể tham khảo phần 1 tại đây Add sorting and reduce boilerplate with standard extension functions Một trong những điểm nổi bật của Kotlin language đó chính là extensions hay khả năng thêm function cho bất kỳ một ...

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

Xây dựng môt API cơ bản với grape và grape-entity

Chào các bạn, trong các dự án gần đây, hầu hết mình làm việc với API trong rails chứ không còn là rails thuần như hồi mới làm nữa. Bởi vậy việc hiểu về grape và grape-entity, 2 gem được sử dụng ở khá nhiều project rails API là rất quan trọng. Trong bài viết này mình sẽ hướng dẫn các bạn cách sử ...

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

Xử lí text đa ngôn ngữ trong Android

Thông thường ta hay xử lí việc thiết kế (styling) các text trong Android thông qua Span, nhưng nó chỉ khả thi đối với các đoạn text đã được "hard code" bởi ta biết được index để có thể apply span. Tuy nhiên đối với text đa ngôn ngữ, vị trí của các từ sẽ không cố định, việc mò tìm index sẽ vô cùng ...

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

A thing or two about redis

Redis is a fast in-memory store that design to work with rapid read or write operation that makes it a perfect tool to work with temporary data. Like most thing there are always down sides to it so today lets look at the things that we should avoid when using redis. Fast But Not Fast Enough It ...

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

Refinements Trong Ruby

Như chúng ta đã biết, không giống như những ngôn ngữ lập trình khác, với Ruby chúng ta hoàn toàn có thể mở lại một class hay module đã được định nghĩa từ trước để thêm vào những method cần thiết. Việc này thực sự khiến mọi thứ trở nên rất linh hoạt nhưng cũng chính vì thế mà nó trở thành con dao ...

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

Is ArrayList thread-safe ?

ArrayList là một loại list khá là thông dụng và thường được nghĩ tới đầu tiên khi cần lưu trữ dữ liệu dạng List mà không có yêu cầu gì đặc biệt. Tuy nhiên nó có thể sử dụng tốt trong môi trường multi-thread không ? Xem xét đoạn code dưới đây ArrayList<Integer> arrayList = new ...

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

Repository and troubles

Repository pattern là gì Repository partern là pattern design để ẩn persistence, cũng hơi giống với pattern DAO(DataAccessObject) nhưng ở mức trừu tượng cao hơn, ẩn hoàn toàn storage persistence của hiện thực từ thao tác của entity. Ví dụ như path của connection và storage bị ẩn từ interface ...

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

Tìm hiểu GraphQL (Phần 4): GraphQL with Nodejs

Trở lại với GraphQL nào Trong bài viết này, mình sẽ trình bày cách xây dựng một máy chủ GraphQL với graphql-yoga graphql-yoga Máy chủ GraphQL đầy đủ tính năng với trọng tâm là thiết lập dễ dàng, hiệu suất và nâng cao trải nghiệm. Graphql-yoga được xây dựng trên một loạt các gói khác, ...

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

Sever Side with Vapor (Start)

Vapor là web framework dùng cho ngôn ngữ Swift chạy được trên macOS, Ubuntu và tất cả các packages mà Vapor hỗ trợ. Vapor là web framework được sử dụng nhiều cho swift, bao gồm giao diện đơn giản và dễ sử dụng cho website hoặc API. Phát triển app sử dụng Vapor là một trải nghiệm độc đáo. ...

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