[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 ...

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

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 ...

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

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 ...

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

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 ...

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

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 ...

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

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? ...

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

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 ...

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

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 ...

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

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 ...

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

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à ...

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

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 ...

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

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 ...

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

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 ...

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

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 ...

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

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à ...

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

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 </p> <div class= Tác giả: 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ác giả: Hoàng Hải Đăng viết 13:18 ngày 12/08/2018

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 ...

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

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 ...

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

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ả </p> <div class= Tác giả: Hoàng Hải Đăng viết 13:18 ngày 12/08/2018