
[Android Smaller APK] Part2: Minifying code
Trong phần 1, bạn đã đươc tìm hiểu về cấu trúc APK file, và sử dụng zipalign tool để thu gọn file apk, ở phần 2 này, bài viết tiếp tục giới thiệu cách clean mã code, clean các thư viện sử dụng trong project và giới thiệu công cụ để thực hiện việc này. Dex code minification Việc đầu tiên mà bạn ...

INSERT hàng triệu bản ghi vào cơ sở dữ liệu mà không làm treo máy
Khi bạn insert 1000 hoặc 2000 bản ghi vào database thì hệ thống ruby on rails vẫn chạy bình thường. Nhưng đã bao giờ bạn đã thử với việc insert vài triệu bản ghi vào database chưa. Tôi chắc chắn với cách insert thông thường thì 1 triệu bản ghi sẽ làm cho máy bạn bị treo do không đủ bộ nhớ để cấp ...

ActiveRecord refactoring (P1) - Concerns
Mở đầu Trong Ruby, ActiveRecord cung cấp cho ta rất nhiều sức mạnh. VỚi sức mạnh đó thì ta có thể thêm vào các logic để thực hiện những công việc của mình để tạo ra những model lớn. Tuy nhiên, càng ngày với càng nhiều xử logic hơn thì đồng nghĩa với việc model của chúng ta cũng sẽ dần phình to ...

Giới thiệu cơ bản về User Interface
UI là một trong những công cụ xử lý mạnh nhất trong việc sắp xếp các yếu tố UX. Tại sao? Đơn giản, giao diện là phương pháp xúc tác và hiện hữu mà người dùng có thể trải nghiệm được sản phẫm của chúng ta. UI là công cụ bổ trợ. Đây là lời giải thích tốt nhất cho lý do tại sao UI và UX thường xuyên ...

Angular Unit Testing
I.1. Khái niệm Unit Tets là kỹ thuật kiểm nghiệm các hoạt động của của mã code giúp phát hiện sai sót kịp thời. Unit Test còn có thể giúp phát hiện các vấn đề tiềm ẩn và các lỗi thời gian thực ngay cả trước khi QA tìm ra, thậm chí có thể sửa lỗi ngay từ ý tưởng thiết kế. Unit Test là các ...

Let''s Build Rails API
A few day ago when I do a short review on rails 5 new feature. And one of those feature which interested me is rails api, so I take a little time to read about it. Today I am going to share all about what I know on rails and show you how to use it. But, what is web API? 1.What is a web API? ...

Cách viết JavaScript hiện đại: Phần 2: CommonJS module
Nguồn: 旧石器時代のJavaScriptを書いてる各位に告ぐ、現代的なJavaScript超入門 Section2 ~CommonJSモジュールと仲良くなろう~ Bài viết này là phần 2 của loạt bài dịch Cách viết JavaScript hiện đại. Những người muốn theo dõi từ đầu có thể xem phần 1 ở đây: Cách viết JavaScript hiện đại: Phần 1: Tổng hợp các điểm mới có thể thực hành ...

The eternal Lorem Ipsum
Bài viết được dịch từ The Eternal Lorem Ipsum của tác giả Jeff Atwood. Nếu bạn đã từng học về thiết kế, có thể bạn đã gặp đoạn chữ giữ chỗ Lorem Ipsum ở đâu đó. Ở bất cứ chỗ nào có chữ mà ý nghĩa của những chữ đó không qúa quan trọng thì bạn có thể thấy những chữ đó là Lorem Ipsum. Hầu hết ...

Hướng dẫn sử dụng Google Cloud Messaging - Server
GOOGLE CLOUD MESSAGING Đợt này đang chán không có hứng lắm nhưng hôm nay mình vẫn sẽ viết 1 tut về sử dụng Google Cloud Messaging(GCM) . Thực sự thì sử dụng GCM bằng PHP thì có vẻ hơi thừa vì có khá nhiều lib được người khác viết sẵn rồi và mình chỉ việc sử dụng. Nhưng vì cái này cũng ...

AJAX SORTABLE LISTS RAILS 4
Để tạo ra một danh sách và cho chúng hiển thị trong ứng dụng của bạn là một việc rất đơn giản. Nhưng nếu danh sách hiển thị đó lại không hiển thị đúng theo thứ tự như người dùng muốn, vậy phải làm thế nào?? Một giải pháp cho việc này đó là bạn có thể cho phép người dùng thực hiện thao tác kéo và ...

Refactoring fat models in Rails
Mở đầu Khi tiếp xúc với framework Rails, chắc hẳn ai cũng đã quen với thuật ngữ Fat Model, Thin(skinny) Controller. Tuy nhiên chúng ta cũng nhận thấy rằng khi mà ứng dụng ngày càng được mở rộng, Model cũng ngày một phình to ra đến một ngày khi nhìn lại model đó, khoảng 500 -1000 dòng codes với ...

JavaScript Hoisting Explained
1. What is Hoisting javascript 2. Hoisting with variable 3. Sumup Trả lời : 1. What is Hoisting javascript Như chúng ta đã biết Javascript (JS) là một ngôn ngữ "Interpreter" tương tự Ruby, Khi chưa đọc về khái niệm "hoisted" và cũng chỉ là 1 dev nghiệp dư về JS em luôn nghĩ rằng ...

Dịp nghỉ lễ 30/4 - 1/5 này bạn đi đâu?
Chắc hẳn trong mỗi chúng ta ai cũng đã dự định cho mình những kế hoạch cho kỳ nghỉ lễ dài ngày sắp tới, có thể là về quê thăm gia đình, có thể chỉ ở nhà và tận hưởng những giờ phút nghỉ ngơi thư giãn. Còn tôi muốn gợi ý cho các bạn nên chọn cho mình một chuyến khám phá một vùng đất mới lạ mà bạn ...

10 Qualities that Can Make You a Good Tester
Điều gì khiến bạn nghĩ rằng bạn là một tester giỏi? Để trở thành một tester giỏi bạn cần có rất nhiều kỹ năng mềm và cứng, nó không chỉ là có hiểu biết tốt về cách test một sản phẩm mà nó còn có các yếu tố khác để tạo ra một người thành công trong vai trò tester. Dưới đây là một số yếu tố một ...

Symfony form (P4)
Symfony Form (P4) Phần 3 bạn có thể đọc tại đây https://viblo.asia/posts/aKYMNBbEM83E Embed 1 form vào 1 form khác Trong phần trước bảng ExtendedJobInformation đã được thêm vào database. Và database đã được quản lý bằng migration. Mục tiêu của bảng ExtendedJobInformation là ...

Viết Rspec.. sau khi code
Xin chào mọi người, hôm nay mình muốn chia sẻ một kinh nghiệm nhỏ của mình khi viết Rspec sau khi code Trịnh Tiến Mạnh viết 13:18 ngày 12/08/2018

PostCSS
1. Mở đầu Nếu công việc của bạn liên quan tới front end, thì hẳn bạn đã dùng hoặc chí ít cũng nghe nói tới các CSS preprocesor như Sass hay Less. Thế nhưng số người biết đến và sử dụng post-processing tool như PostCSS lại còn rất hạn chế. Trong bài viết này, mình sẽ giới thiệu PostCSS là gì, và ...

Tìm hiểu về một số cách tấn công mạng
Trong những năm gần đây, với sự phát triển mạnh mẽ của công nghệ thông tin, truyền thông cùng với nhiều ngành công nghệ cao khác đã và đang làm biến đổi sâu sắc đời sống kinh tế, chính trị, văn hoá, xã hội của đất nước. Việc ứng dụng và phát triển công nghệ thông tin, truyền thông ...

Ruby Ecosystem
Ruby không chỉ đơn thuần là một ngôn ngữ. Nó có cả ngàn công cụ và quy trình hỗ trợ để tạo ra các phần mềm phức tạp. Điều này làm cho người mới khó tiếp cận, vậy nên việc viết ra bài này sẽ làm cho mọi thứ rõ ràng hơn. 1. Version Management Giả sử bạn có 2 dự án có sử dụng cùng 1 gem, nhưng ...

Dựng biểu đồ bằng Angular
Trong bài trước tớ giới thiệu cách dựng biểu đồ từ Google sheet và js. Bài này tớ lại tiếp tục giới thiệu cách dựng biểu đồ bằng Angular và FusionCharts. Bài viết rất đơn giản và không có gì cao siêu thâm thúy cả Hoàng Hải Đăng viết 13:18 ngày 12/08/2018