Services và WorkManager - Part 1 : Android memory

Tại Google IO 2018, có một khái niệm mới, gọi là WorkManager, là một phần trong JetPack. Nó sinh ra để giải quyết những vấn đề phức tạp gặp phải khi các ứng dụng ngày càng làm nhiều việc ở background. Bài viết này chúng ta sẽ tìm hiểu kỹ hơn về nó và lý do đằng sau việc xây dựng nó. Chúng ta sẽ có ...

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

Một vài bài học dành cho các bạn mới lập trình Ruby on rails

Sau khi được làm dự án thực tế, mình có học được 1 số bài học về tech và các kinh nghiệm từ các anh leader. Hôm nay mình xin chia sẻ với các bạn, đặc biệt là giành cho các bạn mới lập trình Ruby on Rails. 1. Câu lệnh với TH object bị nil account.birth_day.nil? ? ' : account.birth_day.to_s(:lo ...

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

Pure css Parallax scrolling

1. Giới thiệu về parallax scrolling Kỹ thuật Parallax Scrolling được Ian Coyle tạo ra và áp dụng lần đầu tiên vào năm 2011 và cho đến hôm nay vẫn còn đang được sử dụng rộng rãi cho nhiều website trên thế giới. “Parallax” là từ thường được dùng trong video games 2D, sử dụng ...

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

5 quy tắc cơ bản trong xây dựng cấu trúc một project Node.js

Không giống như với PHP, phần lớn các Node.js framework không có một cấu trúc thư mục cố định. Điều này giúp chúng ta có thể linh hoạt hơn trong việc tự xây dựng cấu trúc theo nhu cầu và sở thích của mình. Tuy nhiên đó cũng sẽ là một thử thách không mấy đơn giản đối với người mới bắt đầu. Việc xây ...

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

Sự kết hợp giữa Angular 5, Ng2-smart-table và Rails

Hẳn trong số chúng ta đã rất nhiều bạn sử dụng các tư viện về table, mục địch của các thư viện này giúp bạn xử lí dữ liệu, cũng như các hành động trên table được tốt hơn ngoài ra mỗi table sẽ có những tiện ích riêng cũng như vẻ đẹp riêng biệt. Hôm nay mình xin giới thiệu đến các bạn thư viện ...

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

3 nguyên lý chính trong Service Objects Design Patterns của RoR

Service Objects là một mô hình để làm giảm tính xử lý ở Controller và Models trong Ruby on Rails(RoR). Một Service Object là một PORO(Plain old Ruby Object), có nghĩa là tách các vấn dề có tính nghiệp vụ vào một thành các Class, methods để để hỗ trợ việc quản lý. Nguyên lý thứ nhất: Chỉ có một ...

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

9 trick nhỏ giúp code JS gọn hơn

Bài viết đc dịch từ: https://medium.freecodecamp.org/9-neat-javascript-tricks-e2742f2735c3 1. Clear hoặc truncate một array Chỉ bằng cách thay đổi length, bạn có thể clear hoặc truncate một array mà ko cần reassign nó. const arr = [ 11 , 22 , 33 , 44 , 55 , 66 ] ; // ...

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

Cài đặt kết nối Wifi cho ESP8266

Xin chào các bạn, mình đã quay trở lại rồi đây. Như đã nói ở bài trước bài hôm nay mình xin viết về việc cài đặt chương trình thiết lập kết nối vào mạng wifi cho ESP8266. Trong bài viết này mình vẫn sử dụng em wemos d1 mini như những bài trước. Ý tưởng để gửi SSID và PASS của wifi cho ...

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

Chỉ số chất lượng của một tester: 22 giá trị cốt lõi để trở thành người kiểm thử tốt

Hướng dẫn này cung cấp cho bạn một danh sách các tính năng đặc trưng mà bất kỳ người kiểm thử nào cũng phải có để trở thành một người kiểm thử tốt. Và những tính năng này, lần lượt, giúp đỡ rất nhiều trong việc xác định chỉ số Chất lượng của một Tester. Tại sao tôi chỉ nói về một Tester? Và Tại ...

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

ASP.NET MVC Tip #14 – Tạo Template Helper Method

Trong mẹo này, bạn sẽ tìm hiểu cách tạo và sử dụng các mẫu trong framework MVC mà bạn có thể sử dụng để hiển thị dữ liệu trong cơ sở dữ liệu. Tôi sẽ chỉ cho bạn cách tạo một method MVC Helper mới có tên là method RenderTemplate(). Trong khi tôi trở về nhà ở California trong 4 ngày của cuối tuần ...

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

Database testing trong dự án Agile

Ra đời vào đầu những năm 80, cơ sở dữ liệu có thể coi là bước ngoặt lớn trong ngành IT. Tuy nhiên, hơn 90% doanh nghiệp chỉ có 10 nhân viên sử dụng hệ thống CRM(hệ thống quản lý quan hệ khách hàng) và các giải pháp kinh doanh khác dựa trên cơ sở dữ liệu. Quản trị quan hệ khách hàng giúp doanh ...

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

Hướng dẫn từng bước thay đổi nghề nghiệp từ Tester sang BA (Business Analyst) - Nhà phân tích nghiệp vụ

Một chuyên gia kiểm thử là người kiểm tra phần mềm được phát triển để đảm bảo phần mềm đáp ứng các yêu cầu cuối cùng của khách hàng. Chuyên viên phân tích nghiệp vụ cũng chịu trách nhiệm xác minh phần mềm được xây dựng và phân phối có đáp ứng các yêu cầu cuối cùng của khách hàng hay không. Khía ...

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

Software development methodology

A few software development methodologies Software development is a process by which an individual or a team uses a programming language to build the software. It includes the programming code, the functions that were developed of software. In addition, software development is also known as ...

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

Android - Mp3 Recorder

Giới thiệu Như chúng ta đã biết, Android SDK cung cấp khá nhiều api hữu dụng để khai thác các chức năng trên smartphone, bao gồm cả ghi âm và phát audio. Android cung cấp cho chúng ta lớp MediaRecorder để sử dụng trong việc ghi âm hoặc quay video thông qua mic và camera của thiết bị. Tuy ...

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

8 lỗi sai thường thấy khi viết css

Về mặt bề ngoài, CSS là một ngôn ngữ khá đơn giản, các trình bày của nó gần giống như là tiếng Anh. Ví dụ, bạn muốn thay đổi "font size", CSS cung cấp thuộc tính font-size cho bạn. Hay bạn muốn thay đổi "color", CSS cũng cung cấp thuộc tính color cho bạn. Tuy vậy, ở cấp độ chuyên nghiệp hơn, CSS là ...

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

Sử dụng Fractal - Transformer trong Laravel

Khởi tạo project composer create-project --prefer-dist laravel/laravel laravel_transformer Tạo database và migration Ở đây mình tạo database là laravel_transformer Tiếp theo, tạo migration: php artisan make:migration create_post_table php artisan make:migration update_table_users --table ...

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

JQuery EasyAutocomplete

Jquery EasyAutocomplete là một thư viện gợi ý khi gõ từ trong input. Ví dụ khi bạn gõ "Java" nó sẽ gợi ý cho bạn từ "JavaScript". Để sử dụng thư viện này đầu tiên bạn phải import thư viện JS và CSS. <script src="path/to/jquery.easy-autocomplete.min.js"></script> <link ...

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

Sử dụng MVVM và Android Architecture Components

MVC, MVP, MVVM là các Architecture pattern được sử dụng bởi developer. Tùy vào yêu cầu và size project mà developer chọn 1 architecture pattern mà mình cảm thấy phù hợp và thoải mái để áp dụng. Mới đây Google đã giới thiệu thêm 1 architecture mới Android Architecture Components bao gồm 4 components ...

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

Practice: Make easy Quiz for fun

Tạo 1 Quiz game đơn giản với nội dung như sau: Gồm 3 câu hỏi Mỗi câu hỏi có 3 đáp án, chỉ được phép chọn 1 đáp án cho mỗi câu Button submit kết quả Count được số đáp án chính xác Tạo file index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

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

Sử dụng RxPermission trong ứng dụng Android

Giới thiệu Chào mọi người, ở bài viết này mình muốn trình bày về việc sử dụng runtime permission và RxPermission trong ứng dụng android. Dành cho những ai không biết thì runtime permission là một khái niệm không phải là mới xuất hiện từ API 23(Android M). Với các phiên bản cũ việc xin ...

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