QuesXpert No.01: For Ruby Developers

Các thủ thuật tăng performance cho việc import data. Có nên import hàng loạt và bỏ qua validation không? Answer: Tính đến thời điểm hiện tại, Ruby cũng như Rails đã có nhiều gem hỗ trợ cho việc import, export data dễ dàng hơn trước. Có thể sử dụng những gem này để giúp cho việc import ...

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

Vim basic knowledge

1. Giới thiệu 1.1. Vim Là Gì Vim là chương trình soạn thảo văn bản (text editor) mạnh mẽ và được sử dụng phổ biến hiện nay. Vim được phát triển dành cho các bản phân phối của Linux (Linux distro) và sau đó mở rộng cho Windows. Trên hệ điều hành Ubuntu chạy trên Desktop, Vim được cài đặt mặc ...

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

QuesXpert No.02: For Mobile Developers

Synchronized trên Swift thì làm như thế nào? Nếu dùng synchonized với nhiều luồng trong app thì app rất dễ bị “đơ”, vậy làm thế nào để tránh được điều đó? Answer: Trong Swift đã không còn sử dụng từ khóa “Synchronized” nữa. Để thực hiện đồng bộ giữa các thread thì bạn ...

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

Elasticsearch Analyzers

I. Introduction Có lẽ khi làm việc với elasticsearch chúng ta đều đã ít nhiều từng nghe về analyzer, đây có thể được hiểu như là một công cụ của elasticsearch trong việc bẻ từ và cấu trúc dữ liệu giúp cho việc tìm kiếm text, khi chúng ta làm việc với text dưới các ngôn ngữ các khau. ...

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

Tìm hiểu về biến trong css

Những website lớn thường sẽ sử dụng rất nhiều CSS với lượng lớn giá trị bị lặp lại. Giả sử khi bạn muốn sửa màu chủ đạo của website thì rất có khả năng bạn sẽ phải sửa ở rất nhiều vị trí ví dụ như button, navbar, title,.... Điều này gây ra rất nhiều khó khăn khi code cũng như khi bảo dưỡng và duy ...

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

Kiến trúc web hiện đại

Trước đây một website đơn giản được tạo ra chỉ người dùng truy cập và sẽ trả về một trang html gồm text và hình ảnh cho người dùng, sau đó sẽ được hiển thị lên web browser. Những website này đơn giản chỉ cần một web application được lưu trữ trên một server, cùng với đó là một địa chỉ ip để người ...

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

Một vài vấn đề khi import csv phần 2

Tiếp nối phần trước (https://viblo.asia/p/import-csv-data-va-mot-vai-cau-chuyen-thuong-gap-phai-L4x5xNXYZBM), trong bài viết này, mình sẽ đề cập đến 2 vấn đề gặp phải khi thực hiện chức năng import csv. Bài toán ở đây là, với mỗi row, cần phải import vào 1 bảng chính (vd bảng User) và vài bảng ...

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

Putting Together a Golang App Part I

Introduction Being fast and simple gives Golang a very appealing attraction to developers. But being simple means that every decision must be made by developer; from organizing directory structure to database configuration to choosing application architecture ...etc. There are many debates as ...

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

Cách sử dụng Swagger để kiểm tra API (Laravel) (Phần 1)

Swagger là một framework giúp bạn có thể mô tả lại api của bạn bằng cách sử dụng chung một loại ngôn ngữ giúp cho cả developer và tester đều có thể dễ dàng đọc hiểu, thậm chí học không vững về kiến thức source code. Bạn có thể tưởng tượng nó như việc lên kế hoạch để xây một ngôi nhà. Bạn có thể ...

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

Understanding MySQL binary and non-binary string data types

Có hai loại dữ liệu chuỗi được MySql support và hiểu các đặc điểm của chúng một cách chính xác sẽ cho phép bạn chọn loại dữ liệu thích hợp để phù hợp với các yêu cầu của ứng dụng. Sau khi xem xét các cấu trúc bảng khác nhau được thiết kế bởi những người khác nhau, tôi đã đi đến kết luận rằng ...

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

Event Bus with Vue.js

Đã bao giờ bạn hay gặp phải vấn đề giao tiếp, xử lý callback giữa các component, container mà không phải là cha con, bà cháu hay chỉ là anh em cùng cha khác ông nội chưa? Event Bus hay còn là publish - subscribe pattern, mặc dù có một vài điểm chưa tốt, nhưng đây vẫn là một pattern tuyệt vời để ...

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

I never understood JavaScript closures - Until someone explained it to me like this …

Dịch từ bài gốc https://medium.com/dailyjs/i-never-understood-javascript-closures-9663703368e8 Như tiêu đề, JavaScrip closure luôn có chút huyền bí đối với tôi. Tôi đã đọc rất nhiều bài viết, sử dụng closure trong công việc, và đôi khi tôi còn không nhận ra là mình đang dùng nó. Gần đây tôi có ...

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

React Sketchapp workflow

Chúng ta đã tìm hiểu nguyên do và ý tưởng đằng sau React Sketchapp . Một package sẽ khiến người làm design cũng như một Frontend bắt đầu suy nghĩ từ gốc rễ Design System thay vì hàng tá những màn hình không có một sự liên kết với nhau ngoại trừ việc copy-paste. Kì này chúng ta sẽ bắt đầu ...

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

Build a Realtime Chat Server With Go and WebSockets

Các ứng dụng web hiện đại ngày càng trở nên phức tạp. Người dùng thường được chào đón bằng những trải nghiệm hấp dẫn. Cập nhật trang trong thời gian thực mà không cần người dùng phải gọi đến máy chủ hoặc làm mới trình duyệt của họ. Trong những ngày đầu, các nhà phát triển dựa vào các yêu cầu AJAX ...

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

Clean architecture with RxSwift

Introduction Trong bài viết iOS Clean Architecture(P1) Tôi đã giới thiệu với các bạn về Clean Architecture, hôm nay tôi xin giới thiệu với các bạn về việc kết hợp Clean architecture sử dụng RxSwift - Một thư viện nổi tiếng về Reactive Programming trong Swift Chúng ta cùng tìm hiểu nhé! Tổng ...

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

Solving problems with Swift - [Very] simple data compression

Tiết kiệm không gian lưu trữ luôn luôn là một việc nên làm. Nếu bạn ở một mình, nhưng lại thuê một căn phòng quá lớn, bạn nên chọn chuyển sang một căn phòng nhỏ hơn với một chi phí gần như chắc chắn sẽ rẻ hơn. Nếu bạn sử dụng những dịch vụ lưu trữ trực tuyến tính tiền theo dung lượng, bạn sẽ muốn ...

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

Phần 6: TableView

Project 14: Section TableView Tạo mới 1 project và kéo 1 table vào file storyboard, kéo outlet cho tableView này ta xây dựng dữ liệu để hiển thị lưu ý: ta kéo 1 UITableViewCell vào và đặt identifier là cell class AnimalSection: NSObject { var title: String! var animalsInSection: ...

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

Hướng dẫn kết nối thiết bị Mixed Reality với Unity.

Chào các bạn, hôm rồi mình có cơ hội được làm việc với thiết bị Mixed Reality(MR) và thấy có đôi chút bỡ ngỡ, khác biệt và phức tạp so với hồi dùng oculus. Vì vậy bài hôm nay mình xin chia sẻ kinh nghiệm để kết nối MR với Unity, giúp anh em mới tiếp cận có thể setup nhanh gọn không mất thời ...

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

Private Class Methods trong Ruby

Một tip nhỏ để tạo nhanh class method như private method.Bây giờ chúng ta sẽ định nghĩa nhanh private instance method trong ruby. class Dog def poop "Going outside, and will poop" end private def bark puts "woof woof" end end Như ta thấy ...

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

Tại sao cần xây dựng form với Redux Form ?

Bài viết được dịch từ bài Why build your forms with Redux Form của tác giả Guilherme Gonçalves Để đọc bài viết này, bạn cần có một chút kiến thức căn bản về ReactJs Tiếp đó bạn cần tìm hiểu cơ bản về Redux Form, có thể tham khảo tại: Bắt đầu với Reactjs- Phần 5, Tìm hiểu về ...

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