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

Tổng quan Google I/O 2016

Google vừa kết thúc hội nghị phát triển hàng năm của họ, Google I / O, nơi mà gã khổng lồ công nghệ đã công bố một số sản phẩm mới thú vị và thực hiện một số thông báo lớn. Chúng ta hãy nhìn vào tất cả các tin tức lớn nhất từ Google I / O 2016. 1. Android N Developer Preview 3 Google IO ...

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

Giới thiệu gem CASino

CASino là một ứng dụng Single sign-on server, hỗ trợ CAS protocol và có thể kết hợp với gần như toàn bộ ngôn ngữ lập trình web hiện nay. CAS là hệ thống xác thực đầu tiên được xây dựng bởi trường đại học Yale nhằm mục đích cung cấp một con đường đáng tin cậy để xác thực một người dùng. CAS ...

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

Thuyết trình trước đám đông - bạn dám không?

Phát biểu trước đám đông mang lại cho bạn rất nhiều điều như nâng cao vị thế chuyên môn của bạn, thể hiện những kỹ năng mà bạn có và có thể mang lại cho bạn nhiều cơ hội mới. Tuy nhiên không phải ai cũng có thể tự tin nói ra những điều mình muốn. Bạn đã bao giờ cảm thấy hồi hộp, chảy mồ hôi tay ...

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

TÀI SẢN CỐ ĐỊNH –FIXED ASSETS

Như các bạn đã biết, trong bảng cân đối kế toán: TOTAL ASSETS = TOTAL NON-CURRENT ASSETS + TOTAL CURRENT ASSETS Tức là: Tổng tài sản = Tổng tài sản dài hạn + Tổng tài sản ngắn hạn Thì tài sản cố định - Fixed assets là một loại tài sản chính thuộc phần “Tài sản dài hạn - Non current ...

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

Performance tip trong Android

Lần trước chúng ta đã tìm hiểu sơ qua về Performance và cách quản lý bộ nhớ trong Android. Ở bài lần này chúng ta sẽ đến với các vi tối ưu mà có thể cải thiện performance của toàn bộ app khi kết hợp. Chọn đúng thuật toán và cấu truc dữ liệu luôn là ưu tiên trước hết, nhưng sẽ không được đề cập ở ...

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

Tìm hiểu về ReactJs

1. Khái quát về reactjs React JS là một framework hiển thị view chú ý đến hiệu năng (performance-minded) được tạo ra bởi Facebook. Rất nhiều đối thủ nặng ký về framework MVVM (Model-View-ViewModel) mất một thời gian lớn để hiển thị những lượng data lớn, như trong trường hợp những danh sách ...

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

10 ruby tricks có thể improve code của bạn

Trong bài viết này, tôi muốn giới thiệu cho bạn 10 trick khá hay mà bạn có thể biết hoặc không. Dù sao, nó cũng không tốn nhiều thời gian và cũng khá thú vị. 1.Tạo 1 hash từ danh sách các giá trị Ví dụ Hash [ 'key1' , 'value1' , 'key2' , 'value2' ] = > { "key1" ...

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