
Trao đổi khóa Diffie-Hellman
Mô tả bài toán Đối với các hệ thống giao tiếp giữa 2 endpoint thông qua một server trung gian. (như các hệ thống HelpDesk (remote desktop), chat client -server ...) Ta có thể áp dụng cơ chế như SSLTLS để xác thực hai chiều, mã hóa kênh truyền, nhưng phương pháp này chỉ đảm bảo an toàn giao ...

Android: Xây dựng Ứng dụng đọc sách
1. Giới thiệu Hôm nay mình sẽ giới thiệu cho các bạn cách chia 1 đoạn text dài (1 chương sách hay cả cuốn sách) thành dạng trang phù hợp với màn hình điện thoại mà bạn đang sử dụng. Mình sẽ xây dựng 1 ứng dụng đọc sách đơn giản để ứng dụng kỹ thuật này. Sau khi hoàn thành phần hướng dẫn ...

[PaintCode] Progress bar tutorial
Mở đầu Như bài viết trước, mình có giới thiệu về Paintcode. Hôm nay chúng ta cùng bắt đầu với tutorial về tạo một progress bar đơn giản. Để chúng ta có những thao tác ban đầu với Paintcode. Mục tiêu Custom progress bar như sau: Các bước thực hiện 1. Bước 1: Tạo tab làm việc ...

Laravel Elixir và sử dụng bower (Phần 2: Làm việc với Stylesheets)
Làm việc với Stylesheets File gulpfile.js trong thư mục gốc project của bạn chứa tất cả nhiệm vụ Elixir. Nhiệm vụ Elixir có thể được xích lại với nhau để xác định chính xác các tài nguyên của bạn sẽ được biên dịch như thế nào. Less Để biên dịch Less bên trong CSS, bạn có thể sử dụng phương ...

1 vài cơ bản về BackboneJS
Giới thiệu về BackboneJS BackboneJS là một thư viện Javascript, trong hàng đàn hàng đống các thư viện khác, nó được chú ý đặc biệt bởi cộng đồng phát triển web sử dụng Javascript bởi nó dễ sử dụng và rất dễ áp dụng cho các ứng dụng javascript. Chú ý rằng BackboneJS không phải là một ...

Ruby with Meta programing
What is metaprogramming? One of the most impressive of Ruby is metaprgramming. One dynamic language, Ruby let you feel free for defining the methods and even the class during runtime. With ruby meta programming, you can finish something minutes while other language can take several hours to do ...

Export pdf in rails app
PDF Các file pdf hiện nay là một format được nhiều người ưu chuộng vì tính thuận tiện trong việc trao đổi thông tin. Tính thuận tiện được thể hiện: người đọc không thể thay đổi nội dung của file, phần mềm đọc pdf không phải phụ thuộc vào các phiên bản, hay phông chữ giống như office. Chính vì ...

Tạo FAB menu
Để có được 1 ứng dụng tốt, thu hút người dùng thì ngoài việc đảm bảo các chức năng thì cần phải có 1 giao diện thu hút, gây ấn tượng với người dùng. Vì vậy, Google đã đưa ra khái niệm Material Design. Đó là những hướng dẫn để thiết kế 1 ứng dụng sao cho hợp lí và gây ấn tượng tốt với người dùng. ...

Cơ Bản Về Apache Maven
Apache maven khởi đầu như một cố gắng để đơn giản hóa quy trình build cho dự án Apache Jakarta Alexandria bây giờ đã không còn tồn tại và sau đó Maven trở thành một tiêu chí trong các dự án Apache Turbine, khi đó nó dùng để thay thế các hệ thống yếu được xây dựng bởi Apache ANT. Do tiềm năng to ...

RENDER PARTIALS IN RAILS
1. Tổng quan Partials: cho phép bạn dễ dàng trong việc organize (tổ chức) và reuse (tái sử dụng) lại view code trong ứng dụng Rails. Vậy dấu hiêụ nào để bạn nhận biết file đó là partial?? Tên file partial điển hình được bắt đầu với 1 dấu gạch dưới (_) và kết thúc bằng đuôi mở rộng ...

Kỹ năng quan trọng nhất của một thử nghiệm nên có là gì?
*Tại sao kỹ năng kiểm tra là quan trọng? Muốn đảm bảo được chất lượng và quy trình thử nghiệm thì chúng ta cân phải hiểu những gì nó cần để thành công. Ngày nay của ngành công nghiệp kiểm thử phần mềm đang phát triển với một tốc độ rất nhanh. Sự cần thiết để cung cấp sản phẩm chất lượng ...

In-app education - Hướng dẫn người dùng của bạn
Trong vòng đời sử dụng sản phẩm, sau lần sử dụng đầu tiên, người dùng có đến với lần sử dụng tiếp theo hay không phụ thuộc rất lớn vào một yếu tố: Sự Hướng Dẫn (education) Đây là một kịch bản phổ biến mà tất cả chúng ta đã từng trải qua ở góc độ này hay góc độ khác: Bạn đăng ký một mạng xã ...

Doing things right vs doing the right things ( Làm việc đúng và làm đúng việc)
Bạn đã từng làm 1 dự án thất bại chưa? Theo bạn một dự án phầm mềm thế nào được gọi là thất bại? Sản phẩm làm ra không đúng requirement của khách hàng! (Quality) Sản phầm làm ra không đúng deadline của khách hàng! (Time) Sản phẩm làm ra vượt quá chi phí ban đầu! (Cost) Cả 3 lý ...

Phong cách làm việc với khách hàng Nhật - Việc giảm thiểu cost, [muda mura muri]
1. Vậy vì sao phải giảm thiểu cost. Giảm cost sao cho đúng? Một điều dễ thấy nhất ở các doanh nghiệp, chi phí giảm sẽ dẫn tới năng suất tăng và lợi nhuận sẽ tăng theo. Chắc chắn tất cả các doanh nghiệp đều muốn giảm chi phí. Nhưng phải giảm sao cho đúng, đó lại là 1 bài toán rất khó giải quyết. ...

Design Patterns - Adapter Pattern
Định nghĩa Adapter pattern Adapter Pattern là pattern giữ vai trò trung gian giữa hai lớp, chuyển đổi giao diện của một hay nhiều lớp có sẵn thành một giao diện khác, thích hợp cho lớp đang viết. Điều này cho phép các lớp có các giao diện khác nhau có thể dễ dàng giao tiếp tốt với nhau thông qua ...

SQL testing (Phần 1 - Ứng dụng của SQL trong testing)
Nguồn tham khảo: http://vietjack.com/sql/sql_la_gi.jsp https://vntesters.com/su-dung-kien-thuc-sql-de-cong-viec-test-de-dang-hon/ SQL là gì? QL là viết tắt của Structured Query Language, là ngôn ngữ truy vấn mang tính cấu trúc. Nó được thiết kế để quản lý dữ liệu trong một hệ thống ...

Tìm hiểu về Regular Expression trong PHP (phần 1)
Regular Expression Regular Expression viết tắt là RegEx là biểu thức chính quy được dùng để xử lý chuỗi thông qua biểu thức riêng của nó, những biểu thức này sẽ có những nguyên tắc riêng và bạn phải tuân theo nguyên tắc đó thì biểu thức của bạn mới hoạt động được. 1. Sử dụng trong PHP Dùng ...

JQuery cơ bản
Xìn chào các bạn. Hôm nay mình xin giới thiệu đến các bạn một chút về jquery cơ bản. Mong rằng sẽ giúp ích một ít gì đó cho các bạn từ kinh nghiệm của mình. Khái niệm. Jquery là gì??? Chúng ta điều biết rằng. Website hầu hết đề là kết quả của sự cấu thành giữa CSS và Javascript. Và đề tạo hiệu ...

Tìm Hiểu cơ bản về ES6
1. ECMAScript ES6 là gì? ES6 là chữ viết tắt của ECMAScript 6, là phiên bản mới nhất của chuẩn ECMAScript. ECMAScript do hiệp hội các nhà sản xuất máy tính Châu Âu đề xuất làm tiêu chuẩn của ngôn ngữ Javascript. Bạn cứ nghĩ xem hiện nay có khá nhiều trình duyệt Browser ra đời và nếu mỗi ...

Machine Learning
What is machine learning? In one sentence, Machine learning is a type of artificial intelligence (AI) that provides computers with the ability to learn without being explicitly programmed. But this bookish defination is not enough to understand it clearly. So lets clearify it little more. ...