Zeplin - công cụ kết nối giữa Frontend - Designer, Backend - Designer

Với các bạn lập trình viên trước đây khi phải tập tành sử dụng photoshop hay sketch có vẻ như khá là khủng khiếp và mất tương đối nhiều thời gian cho việc học các kỹ năng sử dụng đơn giản chúng. Ví dụ đơn giản như tôi muốn xuất ra 1 cái icon tôi phải căn chỉnh đo đạc cẩn thận, phải zoom lên cực ...

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

AlarmManager trong android(part 1)

Xin chào các bạn trong bài viblo này mình sẽ giới thiệu về AlarmManager và cách sử dụng nó. Lớp này cung cấp các phương thức để truy cập dịch vụ báo thức của hệ thống. Cho phép bạn đặt lịch ứng dụng của bạn sẽ chạy trong một thời điểm nhất định trong tương lai.Khi báo thức được khởi động, Intent ...

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

Sử dụng Laravel Blade Template cùng với AngularJS

Nếu bạn lập trình kết hợp giữa Laravel và AngularJS thì hẳn sẽ thấy một lỗi xung đột cú pháp nảy sinh. Như ta đã biết thì Laravel cung cấp một template engine rất mạnh mẽ và giúp chúng ta sử dụng được cả code PHP trong view – đó là Blade Templates. Còn AngularJS thì thiên về code front-end nên ...

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

Web Design Trend: Cách xây dựng một trang khởi điểm ( “start here" page ) hiệu quả

Khi một khách(visistor) truy cập vào một trang web mới, họ thường không biết bắt đầu từ đâu. Họ thường chỉ nhìn xung quanh khu vực menu điều hướng, nơi có các liên kết có thể cung cấp các thông tin mà họ đang tìm kiếm. Đó là một trải nghiệm phố biến và quen thuộc với gần như hầu hết các khách vào ...

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

Accessors trong ruby

Đối với một lập trình viên, getter và setter là các method rất quan trọng để truy cập và xử lý các thuộc tính của 1 class. Ở ruby, việc truy cập này được gọi chung là accessors. accessors gồm có readers và writers. Dưới đây là 1 cách dễ hiểu về chúng: class Fruit def set_kind k ...

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

Android - Bước tiến dài của cách mạng công nghệ

Android - Bước tiến dài của cách mạng công nghệ “Google thường dùng các món đồ ngọt (Petit Four, Lolipop, Marshmallow...) để đặt tên cho các phiên bản mới của mình.” Cách đây 10 năm nếu smartphone còn là một khái niệm mơ hồ, thị trường di động cầm tay đơn thuần chỉ xoay quanh ...

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

IOS App Performance Tips & Tricks - Part 2

Phần 2. Những tips mà bạn sẽ luôn sử dụng trong ứng dụng IOS của mình. 3 ) Chọn kiểu lưu trữ chính xác Học cách sử dụng các class hay object phù hợp cho các tác vụ chính là nền tảng để viết code hiệu quả. Đặc biệt khi làm việc với collection (NSArray, NSSet, NSDictionary......). May mắn thay ...

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

The Definitive Guide to Building Apps For Children

I remember Mark Zuckerberg once saying “I definitely wouldn’t have gotten into programming if I hadn’t played games as a kid.” This correlation is not a surprise although it did spark a revelation, when I was researching the most popular children’s apps for this blog ...

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

Hướng dẫn viết HTML bằng Jade hiệu quả

Jade là gì? Jade là một template engine cho Node.js, nó khá đơn giản và biên dịch thành HTML và cực kì hữu ích cho FE developer. JADE giúp chúng ta tạo ra những đoạn code HTML nhanh hơn, sạch hơn ,DRY hơn. Cú pháp cơ bản 1: Tags Text div address i strong ==> output: ...

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

Key-Value Observing P2

Ở phần trước chúng ta đã biết các steps cần thiết khi muốn sử dụng KVO. Việc quản lý, post các notification OS đã làm một cách tự động, chúng ta chỉ cần observe nó khi cần, chi tiết các bạn có thể xem Phần 1 tại đây. Automatic and Manual Notifications iOS gởi các thông báo khi các property có ...

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

Ứng dụng khối vuông một cách sáng tạo trong thiết kế

Nghĩ đến những khối vuông trong thiết kế, người ta thường liên tưởng tới sự chặt chẽ, nhưng kèm theo đó là cảm giác cứng nhắc, nhàm chán và kém sáng tạo. Tuy nhiên, mỗi một yếu tố nếu được sử dụng đúng với từng hoàn cảnh sẽ tạo ra những hiệu quả mới mẻ mà bạn không ngờ tới. Hãy cùng tìm hiểu các ...

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

Giới thiệu gem Remotipart

Remotipart là một gem Ruby on Rails giải quyết vấn đề upload files sử dụng Jquery Ajax. Phụ thuộc Gem jquery-rails là được bao gồm mặc định trong Rails 3 và Rails 4, cài đặt Jquery và Rails JQuery UJS driver (jquery-ujs). Cài đặt Ứng dụng của bạn cần sử dụng gem jquery-rails version v.2.3.0 ...

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

NoSQL - MongoDB

Chào các bạn Hôm nay mình sẽ nói về MongoDB, một cơ sở dữ liệu không có quan hệ. Trước hết hãy cùng đi đến khái niệm: cơ sở dữ liệu không quan hệ là gì? Cơ sở dữ liệu không quan hệ hiểu nôm na là chúng ta không cần dùng các phép JOIN bảng để lấy dữ liệu, mà thay vào đó chúng ta sẽ lấy dữ liệu ...

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

Kiểm soát web typography với việc hiển thị CSS font

Chúng ta cố gắng giải thích bằng nhiều cách khác nhau để cho trình duyệt hiểu làm thế nào để load được web font Tải fonts web tùy chỉnh cho lần đầu tiên phải gánh chịu một hình phạt hiệu suất trên một trang web. Khi các nhà phát triển web và thiết kế, chúng tôi luôn luôn phấn đấu để tạo ra ...

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

Các thủ thuật để giấu secret key/password khỏi source control và ứng dụng với CI trong lập trình Android

Xin chào các bạn. Chắc hẳn mỗi chúng ta đều đã từng phát triển app sử dụng API của bên thứ 3, và chắc mọi người đều biết là hầu hết các API service đều yêu cầu chúng ta phải có 1 API key (secret token) để verify nguồn gốc của các request. Vậy thì tại sao chúng ta lại phải "giấu" API key này khỏi ...

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

Lịch sử phát triển của điện thoại di động

Ngày nay, thuật ngữ “điện thoại di động” đã trở nên quá quen thuộc với tất cả mọi người. Từ người già đến trẻ con ai cũng sở hữu cho mình ít nhất là một cái, có thể là xịn với mức giá đắt đỏ hoặc “rởm hơn” với mức giá bình dân, có thể là smart phone với các tính năng đa dạng ...

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

Những vấn đề thường gặp của team kiểm thử lớn và cách giải quyết

Bài viết này được phát triển theo tư tưởng của bài viết trong link sau: http://www.softwaretestinghelp.com/problems-with-large-qa-testing-teams-and-remedies/ Khi làm việc trong một team kiểm thử lớn, bạn cần phải đảm bảo chất lượng cho một sản phẩm lớn. Và dù ít hay nhiều thì bạn cũng sẽ phải ...

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

Import CSV file dùng cho nested attributes trong rails sử dụng CSV framework

Mình xin giới thiệu cách để import csv file dùng cho nested attributes sử dụng csv framework. Mục đích của việc import là có thể thuận tiên hơn cho việc chuẩn bị data đầu vào trong các hệ thống hoặc nhập báo cáo thông kê tài chính hàng tháng chẳng hạn... Nó sẽ nhanh và thuận tiện hơn rất nhiều so ...

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

Domain Driven Design

What is DDD? Domain-driven design consists of a set of patterns for building enterprise applications from the domain model out. Its about mapping business domain concepts into software artifacts. According to wikipedia, Domain-driven design (DDD) is an approach to software development for ...

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

Vài mẹo nhỏ giúp bạn code JQuery một cách bá đạo hơn

Hello tất cả thế giới, ngày hôm nay mình sẽ chia sẻ với mọi người một vài thủ thuật trong JQuery mà mình tự tổng hợp được qua quá trình nghịch ngợm khá nhiều với nó. Hi vọng nó sẽ là một tài liệu tham khảo hữu ích cho những bà con nào muốn sử dụng JQuery một cách hiệu quả hơn. OK chúng ta bắt đầu ...

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