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

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

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

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

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

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

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

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

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

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

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

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

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

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

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