Certificate trong Https

HTTPS là viết tắt của từ HyperText Transfer Protocol Secure và chính là giao thức HTTP có sử dụng thêm các chứng chỉ SSL (secure Sockets Layer) giúp mã hóa dữ liệu truyền tải nhằm gia bảo mật giữa Web sever đến các trình duyệt web. Nói cách khác HTTPS là phiên bản HTTP nhưng an toàn hơn, bảo mật ...

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

Phân biệt rõ ràng Default Resource & Alternative Resource trong Android

Chào các bạn. Mình biết rằng kiến thức về tổ chức resource bên trong một project Android là tương đối phức tạp mà không phải ai cũng nắm rõ, đối với các bạn vừa mới làm quen với lập trình Android, và cả những bạn đã có kiến thức lâu năm về nó. Cụ thể của sự phức tạp này như, bạn phải biết ...

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

Understanding the contents of "package.json"

When the npm module was published in March 2017, the corresponding package.json needed to be edited, so I did a research to have a fully understanding about all the properties of the package.json/ There could be some lacking of properties, but i will add them in later on/ Name of the Module, ...

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

Tối ưu tốc độ tải trang với Progressive rendering

Tối ưu tốc độ ứng dụng web luôn là một vấn đề hay và gây nhiều chú ý với các developer. Tốc độ tải trang web ảnh hưởng rất nhiều tới khách truy cập, website chậm đi sẽ làm giảm trải nghiệm người dùng và làm giảm hiệu quả của trang web. Có nhiều phương pháp để làm giảm tốc độ tải trang như: Tối ...

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

Dependency injection

Bài viết này bàn về kĩ thuật Dependency Injection, có nhiều thuật ngữ trừu tượng và khá phức tạp. Trước khi đọc bài viết này, bạn nên tìm hiểu một số principle sau trong thiết kế phần mềm: IoC, Inversion of control (hiểu nôm na là kĩ thuật đảo ngược) https://en.wikipedia.org/wiki/Inversion_of_co ...

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

Tìm hiểu về testNG framework (Phần 2)

Trong bất kỳ dự án nào, sẽ đến lúc bạn cần phải thực hiện rất nhiều trường hợp thử nghiệm để có thể đảm bảo dự án đi đến hồi kết. Chạy một tập hợp các test case với nhau được gọi là thực hiện một Test suite. Các trường hợp thử nghiệm có thể phụ thuộc lẫn nhau hoặc có thể phải được thực hiện theo ...

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

Truyền function cho setState thay vì truyền object

Component trong React là một thành phần độc lập, tái sử dụng được và chúng thường mang trạng thái riêng của chính mình, gọi là state. Khi muốn thay đổi hành vi hay hiển thị của component, chúng ta phải thay đổi state của chúng. Vậy làm thế nào để update state của một component? Trong React, mỗi ...

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

Tìm hiểu về Bot Framework

Đầu năm 2016, microsoft đã giới thiệu về Bot framework. Một công cụ sẽ giúp các nhà phát triển những chatbot cho riêng mình. Microsoft cho biết, trong tương lai con người sẽ nói chuyện với chatbot. Vậy chatbot là gì ? tại sao chúng ta sẽ nói chuyện với chatbot ? Bot là gì? Chúng ta hiểu đơn ...

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

Sending SMS from Web with Express and Nexmo

Short Message Service (SMS) không phải là một công nghệ mới, nó đã được sử dụng từ rất lâu trước cả khi World Wide Web ra đời. Hiện nay vói API bạn có thể dễ dàng tích hợp SMS vào website. Với SMS API bạn có thể xây dựng nhiều sản phẩm và dịch vụ như xác thực người dùng, cảnh báo, thông báo, công ...

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

[Linux]9 lệnh hữu ích để lấy thông tin CPU trên Linux

1. Lấy thông tin CPU bằng cat Có thể xem thông tin của của CPU bằng cách xem nội dùng của file /proc/cpuinfo bằng lệnh sau: $ cat /proc/cpuinfo Linux CPU Information processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 69 model name : Intel(R) Core(TM) i5-4210U CPU @ ...

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

Continuous Integration with Jenkins - Bài 3: Jenkins integration with GIT

Chào các bạn, chúng ta lại gặp nhau trong loạt bài tìm hiểu về Tích Hợp và Bàn Giao Liên Tục trong phát triển phần mềm với Jenkins (Continuous Integration with Jenkins). Ở bài số 3 này, mình sẽ hướng dẫn các bạn tích hợp Git với Jenkins. Kịch bản sẽ là Một team Java làm phải phát triển một sản ...

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

Mockito từ A đến Z

Bài viết này cung cấp một hướng dẫn toàn diện để inject mock và mock method, và bao gồm cả method void. Hầu hết các class mà chúng ta sử dụng đều có dependency, và đôi khi, các method ủy thác một số công việc cho các method khác trong các class khác. Các class này là sự phụ thuộc của chúng ta. ...

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

Tìm hiểu về PolymerJS

Polymer JS là một thư viện Javascript được tạo bởi ông lớn Google cho phép tái sử dụng các phần tử HTML để xây dựng ứng dụng với các components. Polymer cung cấp cơ bản nhiều thư viện với các componens như menu, toolbar, map,… Đây là một thư viện mã nguồn mở được Google realease lần đầu ...

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

Node.js Streams: Everything you need to know

Streams are Node's best and most misunderstood idea -Dominic Tarr Stream là collections của data, giống như là mảng hay string.Sự khác biệt là stream tất cả mọi thứ không cùng tồn tại ở một thời điểm, và nó không phù hợp để lưu tất cả trong bộ nhớ.Chính đặc điểm này khiến stream thực sự giàu ...

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

Sử dụng Grunt trong ASP.NET Core

Grunt là một JavaScript task runner nhằm mục đích tự động hóa script minification, biên dịch TypeScript, đảm bảo chất lượng code với tools "lint", CSS pre-processors, và bất kì công việc gì lập đi lập lại cần để hỗ trợ quá trình phát triền phía client. Trong bài này tôi sẽ giới thiệu đến các bạn ...

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

Ước tính chi phí và độ lớn của dự án theo cách của scrum

Trước tiên tôi xin lưu ý cho các bạn rằng bài viết này chỉ ra cách thức tính toán chi phí theo cách của Scrum với giả định bạn đã có sẵn một Scrum Team. Công thức này chỉ mang tính tương đối trong dự án, tất nhiên trong giai đoạn phát triển phần mềm sẽ có nhiều yếu tố ảnh hưởng đến quá trình và kế ...

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

Tạo 1 chrome extention của riêng bạn? Tại sao không?

Chrome là một trình duyệt đang được sử dụng phổ biến hiện nay. Có đến hơn 75% người dùng sử dụng trình duyệt Chrome (theo thống kê ở W3School https://www.w3schools.com/Browsers/default.asp). Và chắc hẳn khi sử dụng Chrome thì bạn cũng đã cài đặt ít nhất 1 extention (có thể là extention chặn quảng ...

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

Làm chủ Chrome Developer Tools

Bài dịch từ trang Medium Bạn có thể đã quen thuộc với các tính năng cơ bản của Chrome Developer Tools: DOM inspector, styles panel và JavaScript console. Nhưng có một số tính năng ít được biết đến có thể cải thiện đáng kể quá trình fix bug hoặc quy trình viết app của bạn. Chrome đi kèm với ...

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

Refactoring - How to do with Large Class?

Như phần trước tôi đã trình bày Refactoring là gì, các khái niệm liên quan và khi nào cần phải Refactoring. Trong bài viết này tôi sẽ trình bày các phương pháp có thể áp dụng để refactor. Tôi sẽ trình bày trong phần này những thứ mà khiến cho code trở nên không được clean và các phương pháp mà ...

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

SQL trong PHP

Giới Thiệu Ở bài này mình xin giới thiệu về SQL cũng như một số hàm của sql trong PHP, đầu tiên ta đi vào tìm hiểu sql là gì. Định Nghĩa: SQL (Structured Query Language) là một loại ngôn ngữ máy tính phổ biến để tạo, sửa, và lấy dữ liệu từ một hệ quản trị cơ sở dữ liệu quan hệ. SQL gồm 2 ...

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