Dependency Injection với Dagger 2 trong Android

Giới thiệu Khi bạn có một đối tượng cần hoặc phụ thuộc vào đối tượng khác để thực hiện công việc của nó, bạn có một sự phụ thuộc. Sự phụ thuộc có thể được giải quyết bằng cách cho phép đối tượng phụ thuộc tạo ra sự phụ thuộc hoặc yêu cầu một object khác tạo ra sự phụ thuộc đó. Tuy nhiên, trong ...

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

Học Webpack trong 15 phút

Các công cụ xây dựng đã trở thành một phần của phát triển web, chủ yếu là do sự phức tạp ngày càng tăng của các ứng dụng JavaScript. Bundlers cho phép chúng ta gói, biên dịch và tổ chức nhiều tài sản và thư viện cần thiết cho một dự án web hiện đại. Trong hướng dẫn này, chúng tôi sẽ giới thiệu cho ...

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

Behaviour Driven Development. Có thực sự tốt hơn cho Agile? (Phần II)

Các đặc tính, kịch bản và Living Documentation Kể từ khi bắt đầu với sự phát triển Agile vài năm trước đây, chúng tôi đã theo dõi và giúp đỡ những người khác làm như vậy. Hơn một lần, cùng một ý tưởng sai lầm đã xuất hiện: "Điều gì sẽ xảy ra nếu bạn có thể tạo ra đặc tả kỹ thuật từ những User ...

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

Object trong Javascript - những điều cần biết

Nếu bạn là một web developer, đã hoặc đang làm việc với Javascript (JS), khả năng cao bạn sẽ biết đến câu "Almost everything is an object". Trong JS, object là kiểu dữ liệu (data type) căn bản nhất và được sử dụng nhiều nhất. Nhắc lại về data types trong JS. JS có 5 kiểu dữ liệu nguyên thủy ...

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

Cách tạo WordPress Mega Menu - Phần 6 (Code Mega Menu CSS - Desktop)

Tiếp tục với series bài viết hướng dẫn tạo WordPress Mega Menu phần trước. Hôm nay chúng ta sẽ tiếp tục với phần 6 là code hiển thị frontend cho WordPress Mega Menu sau khi đã code các field (settings) hiển thị ở phần Admin. Project URL: https://github.com/MiloTheme/WordPressMegaMenu Do sẽ hướng ...

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

Tạo Star Rating đơn giản bằng HTML radio & CSS3

Star Rating là tiện ích khảo sát, đánh giá của người dùng đối với Website. Có tiện ích star rating trông website của chúng ta sẽ chuyên nghiệp hơn, đặc biệt khi website của bạn là 1 website bán hàng thì việc nhận phản hổi của khách hàng là điều rất quan trọng, để bạn có thể điều chỉnh quy cách phục ...

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

Tạo botchat facebook với thư viện fbchat

Hôm nay mình sẽ giới thiệu với các bạn về một thư viện bot chat đó là fbchat. Hiện nay thì có rất nhiều thư viện hỗ trợ việc tạo bot chat cho facebook nhưng vừa rồi mình có dịp học sơ qua về Python nên có tìm hiểu thấy thư viện này cũng khá hay, hỗ trợ khá đầy đủ các tính năng cơ bản như gửi tin ...

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

Các câu lệnh trong Advanced SQL + SQL Functions.

1. SQL IDENTITY IDENTITY được sử dụng trong Microsoft SQL Server để tự động chèn các giá trị khóa chính số vào một bảng khi dữ liệu mới được chèn vào. Điều này cũng tương tự như lệnh AUTO INCREMENT trong MySQL. Cú Pháp CREATE TABLE TABLE_NAME (PRIMARY_KEY_COLUMN INT PRIMARY KEY IDENTITY ...

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

Tìm hiểu App Search (Phần 2)

Ở phần 1: https://viblo.asia/p/tim-hieu-app-search-phan-1-maGK7zwb5j2 ta đã tìm hiểu làm thế nào để có thể search được thông tin trong app. Ở phần này ta sẽ thử thêm thông tin vào search results và thực hiện các action lên search results NSUserActivity có 1 property contentAttributeSet với ...

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

Nguyên tắc SOLID trong lập trình Ruby

Trong quá trình làm việc với những ngôn ngữ hướng đối tượng, có thể bạn đã từng nghe qua về khái niệm design principles (những nguyên tắc thiết kế). Đây là tập hợp các hướng dẫn hỗ trợ lập trình viên đạt được mục tiêu viết code trong sáng, dễ đọc, dễ mở rộng và bảo trì. Nghe thì hấp dẫn dẫn như ...

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

Cuộn nhanh hơn với RecycleView

Tiếp tục với các tính năng của Support Library 26 (nếu bạn bỏ lỡ một trong số chúng có thể tải xuống). Tính năng được chờ đợi nhiều nhất đã được enabled : fast scrolling for RecyclerView . Trong tất cả các ưu điểm mà RecycleView có của ListView, một tính năng mà khiến tôi nhớ rất rõ đó là ...

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

Đánh giá tài liệu đặc tả SRS và tạo ra Test Scenarios

1. Đánh giá Tài liệu đặc tả SRS là như thế nào? SRS là một tài liệu do nhóm phát triển tạo ra cùng với các nhà phân tích kinh doanh và các team môi trường / dữ liệu. Thông thường, tài liệu này khi hoàn thành, sẽ được chia sẻ với nhóm QA qua cuộc họp hướng dẫn. Nhưng đôi khi, đối với một ứng dụng ...

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

Giới hạn số dòng text với CSS

Như chúng ta đã biết thuộc tính text-overflow: ellipsis; trong CSS được hỗ trợ bởi nhiều trình duyệt khác nhau mặc dù vậy nó chỉ giúp chúng ta giới hạn một dòng text. Vậy đối với trường hợp bạn muốn giới hạn nhiều hơn một dòng text thì sao? Trong bài viết này mình sẽ giới thiệu đến các bạn một ...

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

Hướng dẫn test ứng dụng trên điện thoại

Bài viết này được tham khảo từ nguồn: https://www.guru99.com/testing-mobile-apps.html Để kiểm tra một ứng dụng Mobile của bạn, một số hoặc là tất cả các loại Test Type sau đây có thể được sử dụng, sử dụng một số Type hoặc là tất cả các Type là phụ thuộc vào yêu cầu của dự án. Type đó bao gồm 4 ...

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

5 Thuộc tính của thẻ img bạn nên biết

Có các thuộc tính CSS, chẳng hạn như background, border , masking, và clipping properties, mà bạn có thể trực tiếp thêm hình ảnh vào các trang web và kiểm soát hành vi của chungs. Tuy nhiên, cũng có ít tài liệu liên quan đến hình ảnh liên quan đến CSS hoạt động trên các ảnh được thêm vào với thẻ ...

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

Redux in Depth: Tại sao immutability là bắt buộc với Redux?

Đã có khi nào bạn tự hỏi tại sao immutable state là bắt buộc trong Redux hay chưa? Hay đã có khi nào bạn vô tình mutate state và kết quả là UI không được render lại theo sự thay đổi của state chưa? => Nếu bạn đã từng rơi vào các tình huống đó thì hãy cùng mình "Deep read" một chút để ...

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

Upload video in Ruby on Rails use gem Carrierwave

Xin chào tất cả các bạn, chắc hẳn trong chúng ta không ai còn xa lạ gì với trang video nổi tiếng như Youtobe. Trong bài viết này tôi xin giới thiệu tới các bạn cách upload video lên rails server lưu vào thư mục /public/uploads từ điểm khởi đầu giúp tất cả các bạn mới làm quen với RoR cũng có thể dễ ...

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

Tìm hiểu về Database(Data) Testing

Các hệ thống quản lý cơ sở dữ liệu quan hệ thường vẫn còn là nhiệm vụ quan trọng đối với dữ liệu mà được cập nhật bởi nhiều ứng dụng và có hàng ngàn, hàng triệu người dùng cuối tiềm năng sử dụng. Hơn thế nữa, họ thực thi chức năng quan trọng với nhiều loại phương pháp CSDL (database) (như stored ...

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

Tăng hiệu suất insert hoặc update khối lượng lớn dữ liệu với gem activerecord-import trong Rails

Giả sử bạn có file dữ liệu chứa khoảng 1000 đối tượng bản ghi cần insert vào hệ thống hoặc update lại nếu đã tồn tại bản ghi. Nếu bạn thực hiện insert hoặc update từng bản ghi, mỗi lần như vậy bạn phải kết nối với Database do ActiveRecord trong rails không hỗ trợ insert hàng loạt record mà phải ...

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

Docker - Giải pháp cho việc ảo hóa cấp hệ điều hành trên Linux

Là một developer, một trong các vấn đề mà các bạn quan tâm đến khi bắt đầu học một ngôn ngữ lập trình mới đó là môi trường để setup và các package đi kèm để có thể chạy được ứng dụng khi các bạn xây dựng lên? Nhiều lúc bạn sẽ cảm thấy căng thẳng và nhiều lúc hơi bực mình vì tốc độ build hoặc chạy ...

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