Thuật toán di truyền - Ứng dụng giải một số bài toán kinh điển (phần 1)

Trong quá trình học phổ thông cũng như ở đại học, chắc không ít lần các bạn gặp phải một số bài toán như "bài toán người du lịch" , "bài toán người bán hàng" , "bài toán cái túi" .... Những bài toán kiểu kiểu như thế này thì rất nhiều, nhưng chủ yếu khác nhau ở cách mô tả, còn lại đều có có ...

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

Keeping your secrets private. Vault Project.

Every project contains secret configuration. Mostly such configurations are stored in .env files or simply written into config. When your project really scales up and moreover, secrets change time to time as a matter of security, a better way to store might be required. There are several ...

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

Giới thiệu về Nuxt.js

Nếu bạn từng biết về React, có thể bạn cũng sẽ biết tới Next.js, một framework được xây dựng dựa trên React để tạo ra các "server-rendered universal JavaScript webapps". Còn nếu bạn đang tìm tòi về Vuejs thì Nuxt.js sẽ là một framework có chức năng tương tự. Trong khuôn khổ bài viết này mình sẽ ...

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

Android O và 9 tính năng mới

Android O hay Android 8.0 là phiên bản kế nhiệm Android 7 (tên mã Nougat - viết tắt là N), sở hữu nhiều cải tiến đáng kể. Được cho là sẽ trang bị một loạt các tính năng “điên rồ” chưa từng thấy và khác biệt hoàn toàn so với sự tưởng tượng của nhiều người. Giống Android 7.0 Nougat, ...

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

Bubbling và Capturing Event trong javascript (Phần 2)

Ở phần 1 mình đã giới thiệu về bubbling event. Giờ chúng ta cùng tìm hiểu Capturing event. Khi chúng ta đăng kí event cho một phần tử DOM bằng cách là dùng API: addEventListener(event, handler, [useCapture..]). Khi chúng ta đăng kí event, chúng ta ít để ý tham số optional là useCapture, tại vì ...

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

Kiểm thử quả lắc/Kiểm thử thăm dò

"Kiểm thử thăm dò nên được thực hiện chi tiết như thế nào?". Trong bài viết này chúng ta sẽ cùng nhau tìm hiểu về nó nhé ! Kiếm thử quả lắc Hãy tưởng tượng một con lắc khi nó dừng lại. Không gian mà con lắc giao động là cách tiếp cận thử nghiệm của chúng ta. Ở đỉnh trái chúng ta sẽ test "rất ...

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

Make nested comment with gem closure_tree

Demo mà mình sẽ làm trong bài viết này là nested comment, mình sẽ tiếp tục làm demo dựa trên source code cũ bài viết trước của mình, sau khi hoàn thành nó sẽ như thế này nhé 1. Cài đặt gem "closure_tree" Thêm vào Gemfile rồi bundle install nhé 2. Chuẩn bị cho demo Những gì bạn cần ...

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

Lambda Expressions

... Tiếp theo phần trước (https://viblo.asia/p/nested-classes-p3-inner-class-anonymous-classes-jvEla6Xz5kw) Một vấn đề với anonymous classes là nếu nó rất đơn giản, chỉ chứa đúng 1 method, thì cú pháp của anonymous class có thể nhìn dài dòng và không rõ ràng. Trong trường hợp này, bạn thường muốn ...

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

Bắt đầu với Rails 5: [Phần 1] Cài đặt và ứng dụng đầu tiên

Bài viết này mình sẽ viết dành cho những người chưa từng làm việc với Ruby on Rails và bắt đầu tìm hiểu để làm việc được với Rails. Trong khuôn khổ bài viết lần này mình sẽ hướng dẫn cách cài đặt những thứ cần thiết để bắt đầu với Rails và build ứng dụng đơn giản đầu tiên. I. Cài đặt. Hiện tại ...

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

Khảo sát đặc tả và mã nguồn (Phần 2)

Bài này giới thiệu các hạng mục cơ sở để tiến hành kiểm chứng thiết kế và mã nguồn của phần mềm. Nội dung chính của phần này bao gồm việc phân tích lợi ích của công việc, các kiểu khảo sát mã nguồn, một số hướng dẫn về chuẩn lập trình, và cách chung để khảo sát mã nguồn nhằm tìm lỗi. 1. Khảo sát ...

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

Giới thiệu về Điện thoại di động ứng dụng thử nghiệm(P2)

Trong thế giới phát triển nhanh điện thoại di động không chỉ là một thiết bị để thực hiện và nhận các cuộc gọi điện thoại mà còn là một tiện ích cá nhân đa năng. Hiện có nhiều cải tiến về công nghệ và công tác tuyên truyền trên các thiết bị di động với hệ điều hành khác nhau như iOS của Apple, ...

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

Xử lý JSON trên giao diện dòng lệnh Linux

Như chúng ta đã biết, JSON là 1 định dạng dữ liệu mà hiện này được sử dụng rất phỗ biến. Hầu hết các dịch vụ API và data sevices đều sử dụng định dạng JSON. Câu hỏi đặt ra là, làm thế nào để thao tác với định dạng JSON trên giao điện dòng lệnh(command-line) ? Bài viết này mình xin giới thiệu cho ...

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

Vì sao cần kiểm thử tự động ?

Hiện nay, kiểm thử phần mềm đang là một ngành đang rất phát triển và với tốc độ ngày càng cao. Mặc dù kiểm thử thủ công giúp tìm thấy lỗi, tuy nhiên nó có thể tốn nhiều thời gian và công sức. Vì vậy, một kiến thức tốt về các công cụ kiểm thử tự động sẽ giúp bạn kiểm thử các ứng dụng nhanh hơn và ...

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

Chuẩn CMM/CMMi - chuẩn nhất định phải có thời hội nhập

CMM và CMMi là gì? CMM và CMMi là chuẩn quản lý quy trình chất lượng của các sản phẩm phần mềm được áp dụng cho từng loại hình công ty khác nhau. Hay nói cách khác đây là các phương pháp phát triển hay sản xuất ra các sản phẩm phầm mềm. Tháng 8/ 2006, SEI (Software Engineering Institute – Viện ...

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

Giới thiệu camera 2 API trong Android (phần 2)

Chuẩn bị cho Surface API Camera2 cho phép danh sách Surface được truyền đi trong request. Những surface này sẽ nhận được dữ liệu từ thiết bị. Chúng ta cần 2 Surfaces: Để hiển thị bản xem trước trên màn hình Để viết hình ảnh vào một tệp jpeg TextureView Để hiển thị bản preview trên ...

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

Xây dựng một API hoàn chỉnh với Rails 5

Ở phiên bản rails 5, thì gem rails-api đã được tích hợp vào phần core của Rails, vì vậy chúng ta có thể khởi tạo API trong Rails 1 cách dễ dàng và nhanh chóng. Cho đến bây giờ, Grape vẫn được xem là sự lựa chọn tốt nhất để viết API trong Ruby, vậy nếu mình đã quen với cách việc với Rails thuần thì ...

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

Cucumber & Espressco - Behavior Driven Development (BDD) for Android - Phần 2

I. Introduction Ở phần 1 mình đã giới thiệu cho các bạn về các công cụ cần thiết để áp dụng, phần này mình sẽ đi vào chi tiết từng bước áp dụng vào code nhé II. Implement code 1. Giới thiệu về app mình dùng áp dụng cho việc testing Mình sẽ tiến hành viết BDD cho ứng dụng đơn giản ...

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

Thể hiện các mô hình thiết kế bằng ngôn ngữ PlanUML

Chắc hản các bạn không còn lạ lẫm gì với khái niệm ngôn ngữ UML trong quá trình thiết kế phần mềm. Lần đầu tiên được biết đến khi đang làm việc tại Nhật, đó chính là PlanUML. Các bạn có thể tham khảo kỹ hơn tại trang chủ của PlantUML UML được chia làm 2 loại chính đó là biểu đồ thể hiện ...

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

Những điểm mới trong CSS4

CSS4 là những gì chúng ta mong đợi ở những tính năng của phiên bản tiếp theo sẽ có, CSS sẽ càng ngày càng giúp cho mã đánh dấu của bạn gọn hơn, có thể tác động được mãnh mẽ hơn và giảm bớt sự phụ thuộc vào các thư viện javaScript với những tính năng đơn giản. Mặc dù hiện tại chúng ta vẫn nỗ lực đưa ...

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

How to run an effective Retrospectives meeting? (P2)

Phần một đã trình bày về 3 phương pháp thông dụng nhất khi tổ chức Retrospective meeting. Phần này sẽ mở rộng thêm một số phương pháp để tiến hành một buổi Retrospective meeting trong đó kết hợp nhiều Methodology và chủ yếu các phương pháp này đi qua 5 steps sau: Get State Gather Data ...

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