Tìm hiểu về Data Binding trong Android – Phần 1

Nhiều người chuyển từ . Net sang Android đều có một thắc mắc là trong android có Data Binding không? Rất may cho chúng ta là sau khi android M được ra đời thì Data Binding cũng được hỗ trợ. Và giờ chỉ cần định nghĩa nguồn dữ liệu, tự chúng sẽ hiển thị theo data tương ứng. Data Binding là ...

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

Tội phạm máy tính: Xưa và nay

Bài viết dịch từ blog: Computer Crime, Then and Now của tác giả Jeff Atwood. Tôi đã viết về sự chơi bời thời trẻ của mình với mặt bất hợp pháp của máy tính vào cuối những năm 1980. Nhưng đó có phải tội ác? Tôi có thật sự là một tội phạm? Tôi không nghĩ vậy. Hoàn toàn thẳng thắn, tôi chưa đủ tài ...

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

Security Test

Khái niệm Là quá trình nhằm tìm kiếm lỗ hổng trong cơ chế bảo mật của hệ thống thông tin để bảo vệ dữ liệu và duy trì các chức năng như dự định. Security test cũng là một loại non-functional testing Mục đích & các loại Security Test Mục đích của Security Testing Tìm ra các ...

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

So sánh sự khác nhau giữa ObjectiveC và Swift (Phần 2)

Nội dung Giới thiệu Classes and Structures Structures Computed Properties Tổng kết Giới thiệu Qua phần 1 chúng ta đã tìm hiểu về lịch sử phát triển của hệ điều hành iOS cùng các khái niệm cơ bản của Swift - ngôn ngữ mới Apple sử dụng để phát triển hệ điều hành iOS. Ở phần 2 này ...

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

Lập trình hướng giao thức trong swift 2

Giới thiệu Với việc phát hành Swift 2, Apple đã thêm một loạt các tính năng mới và khả năng cho ngôn ngữ lập trình Swift. Một trong những quan trọng nhất, là một phần cải tiến của protocols. Các chức năng được cải thiện có sẵn với Swift protocols cho phép một cách nhìn lập trình mới, ...

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

Active Record scopes

Scope được dùng khá phổ biến trong Rails. Scope khá giống với class methods khiến nhiều bạn nhầm lẫn, vậy scope là gì và sử dụng như thế nào cho đúng? Scope là một phần được support bởi Active Record. Scope thường định nghĩa các query dùng chung và có thể gọi từ association objects hoặc model. Về ...

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

Tìm hiểu về N + 1 Query

Rails có thể nói là một sự lựa chọn phổ biến nhất khi bạn muốn phát triển một sản phẩm có thể sử dụng được ở mức độ vừa phải nhất (Minimum Viable Products). Bạn có thể sử dụng bootstrap, prototype, và phát hành một ứng dụng rất dễ dàng với Rails, và nó cũng là sự lựa chọn của rất nhiều lập trình ...

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

Server Send Event

As for web application grew over the past few years, the need for real time data update has been increased. Web apps we use every day rely on real-time features—the sort of features that let you see new posts magically appearing at the top of your feeds without having to lift a finger. Polling ...

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

Tìm hiểu về Scope và Class method trong Ruby

1. Khái niệm Scopes là cách viết rút gọn của câu truy vấn dữ liệu trong Rails. Chúng được sử dụng thường xuyên khi chúng ta muốn lấy ra các đối tượng dữ liệu từ cơ sở dữ liệu. Ví dụ về scope: scope :published , - > { where ( status : "published" ) } Về bản chất, Rails ...

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

Xây dựng ứng dụng React bằng Redux

Redux là gì? Redux là một thư viện giúp bạn quản lí trạng thái (state) của application. Nó được thiết kế dựa trên Flux, nhưng giảm bớt những đau khổ thường gặp phải khi viết một ứng dụng Flux. Nếu bạn đã từng làm việc với Flux, bạn sẽ dễ dàng nhận ra rằng Redux đã xây dựng sẵn cho bạn rất nhiều ...

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

Sử dụng RequireJS và AMD để module hóa code JavaScript

Trong quá trình phát triển Web, chắc chắn bạn sẽ phải làm việc với JavaScript. Theo thời gian, cùng với sự phát triển của dự án, code JavaScript cũng càng ngày càng phức tạp. Bài viết này sẽ trình bày một thư viện sẽ giúp chúng ta module hóa code JavaScript để giúp nó dễ bảo trì hơn, đó là sử ...

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

Memory leaks trong Javascript Pt2

Bài viết này là phần tiếp theo của Memory Leaks trong Javascript Garbage Collectors (bộ dọn rác) Mặc dù GCs giúp chúng ta không phải quản lý bộ nhớ bằng tay nữa, tuy nhiên ta cũng sẽ phải đánh đổi lại một vài thứ. Một trong số đó là việc các GCs hoạt động theo một cách khó đoán biết. Thông ...

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

Áp dụng Gantt Chart trong quản lí thời gian hiệu quả

Hãy suy nghĩ về một thách thức: Bạn phải sắp xếp một chục quả bóng cùng một lúc. Bạn sẽ phải để mắt đến tất cả quả bóng, và phải biết khi nào bắt được quả nào. Nếu bạn bị nhầm lẫn dù là chỉ một, có thể sẽ làm hỏng toàn bộ hiệu suất của bạn. Quản lí một dự án cũng giống như vậy. Để hoàn ...

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

Firebase Tutorial: Real-time Chat part 1

Để tạo ra 1 chat tool thì cũng không hẳn là dễ dàng. Hiện tại ko có 1 native UIKit controls nào được thiết kế đặc biệt cho chat, và bạn cũng sẽ cần 1 server để điểu phối các tin nhắn và cuộc trò chuyện giữa các users. Trong tutorial này chúng ta sẽ build 1 app chat nặc danh (kiểu chat với người lạ ...

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

Tạo bảng trong Redshift

Bài cuối cùng trong series về Redshift của mình. Trong 2 bài trước, một bài mình giới thiệu cấu trúc của AWS Redshift và một bài so sánh về performance giữa Redshift và MongoDB. Trong bài viết này mình sẽ giới thiệu về cách tạo bảng trong Redshift, set những options gì để tối ưu hóa performance, ...

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

[Fundamental] Inside Ruby Hash

Previously, I have written a post talking about Ruby Class and Object and today I would like to present another basic component of Ruby, Hash table. Hash tables are widely used in programming due to its benefits during implementation. Basically, Hash tables group values into places or bins ...

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

Xử lý tiếng nói: Các thành của tiếng việt trong xử lý tiếng nói

Abstract : Tổng hợp tiếng nói trên thế giới đã phát triển từ rất lâu. Và Tiếng Việt mới phát triển được trong vòng 20 năm gầy đầy. Để tổng hợp tiếng nói chuẩn xác, ta cần phải tìm được các đặc điểm về ngữ điệu của ngôn ngữ đó. Và mục đích của bài viết này để giới thiệu về các đặc điểm của Tiếng ...

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

Bạn sử dụng phần mềm nào để quản lý ghi chú?

Khi làm việc, sẽ có rất nhiều lúc bạn cần ghi lại những nội dung quan trọng, như lịch hẹn gặp mặt khách hàng, họp với team, công việc cần hoàn thành gấp...Tuy nhiên nếu bạn thường xuyên làm việc với máy tính thì thay vì giấy nhớ (sticky note), sao bạn lại không sử dụng các phần mềm quản lý ghi chú? ...

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

Ruby Metaprogramming Is Even Cooler Than It Sounds (1/2)

Bạn có thể thường nghe rằng metaprogramming là những thứ chỉ có "Ruby ninjas" sử dụng, và không đơn giản đối với những người mới bắt đầu với ruby. Nhưng sự thật thì metaprogramming không phải là thứ đáng sợ đến như vậy. Bài viết này sẽ thay đổi suy nghĩ đó để khoảng cách giữa metaprogramming và số ...

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

Rails and Slim

I first encounter slim in my current project when I fixed a bug. It looks wierd and cryptic like a plain text to me without formatting whatsoever. But as I start to dig into it, it start to look more and more attractive. What is Slim? Slim is a template language whose goal is reduce the syntax ...

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