Hướng dẫn Kiểm thử Thăm dò ( Exploratory Testing ): Quy trình, Kỹ thuật và Ví dụ

Exploratory Testing là sự khai phá,nghiên cứu và học hỏi. Nó nhấn mạnh vào từng cá nhân và trách nhiệm của người Tester đó. Test case sẽ không được tạo ra trước nhưng Tester sẽ kiểm tra hệ thống một cách nhanh chóng. Họ sẽ tạm ghi chú những ý tưởng về việc cách test trước khi thực hiện test. Trọng ...

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

Fonts in XML

Android 8.0 (API 26) giới thiệu một tính năng mới, đó là Fonts trong XML, cái này sẽ cho phép bạn sử dụng các fonts như resource (giống như color, drawable ....). Yolo, các bạn có thể thêm font file vào trong res/font folder để đóng gói fonts như là resouce. Những fonts này sẽ được compile ...

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

[FuelPHP] Xác thực người dùng với driver SimpleAuth

Xác thực là một trong những phần vô cùng quan trọng trong các ứng dụng. Các framework bây giờ cũng cung cấp các package giúp lập trình viên quản lý tốt hơn việc xác thực người dùng này và FuelPHP cũng không phải là một ngoại lệ. Với FuelPHP, bạn có thể sử dụng package Auth và SimpleAuth để thực ...

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

[DOCKER] Những điểm cần lưu ý khi sử dụng docker

Mình cũng chưa làm việc với Docker thực sự lâu và chủ yếu là ở môi trường development nhưng cũng đã gặp khá nhiều vấn đề cần giải quyết với thằng này. Nên hôm nay mình sẽ tổng hợp lại một số chú ý rút ra từ kinh nghiệm của bản thân cũng như sau khi tổng hợp được chia sẻ qua một số blog mà mình tìm ...

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

Lập trình hướng đối tượng trong PHP - Phần 2

Ở phần trước mình đã có nói đến một số vấn đề về lập trình hướng đối tượng trong PHP như về 4 tính chất hay về Abstract Class, Interface... Để tiếp nội dung của các bài viết về OOP trong PHP, nội dung bài này mình sẽ nói về 1 số vấn đề như: Traits Namespaces Magic Functions Splat Operator ...

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

Nên học gì trong thời đại số 2018

Trong thời đại công nghệ số như bây giờ, IT đã bão hòa rồi và bạn có quá nhiều lựa chọn để học, bạn không biết nên chọn cái gì, bài viết này sẽ giúp bạn có cái nhìn chính xác hơn. Vì cá nhân mình làm android developer nên có thể những lời khuyên không hợp lý với các bạn nhưng hãy coi như một sự ...

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

Tự xây dựng blade directives trong Laravel

Như đã hứa hẹn, tháng này mình xin chia sẻ về làm thế nào để chúng ta có thể tự tạo Blade directives để tiện đường sử dụng trong Laravel project. Nếu bạn là beginner với Laravel, bạn có thể tìm hiểu Blade directives là gì và một vài điều cơ bản ở đây hoặc ngó qua bài viết trước của mình về những ...

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

Tự xây dựng Collapsible table section trên iOS

Bài viết sẽ hướng dẫn người dùng từng bước xây dựng một Collapsible table section sử dụng thuần code Swift3, không sử dụng storyboard và XIB Bài viết tập trung vào các kỹ thuật cơ bản khi làm việc với UITableView như tùy biến UITableViewCell, tự động resize chiều cao của UITableViewCell theo nội ...

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

Nhận dạng chữ cái viết tay sử dụng Deep Learning

Trí tuệ nhân tạo (Artifical Intelligent) hay học máy (Machine Learning) là một lĩnh vực đang được nhắc đến khá nhiều trong thời gian gần đây bởi tính ứng dụng của nó trong thực tiễn. Có khá nhiều ứng dụng của công nghệ học máy đã được áp dụng trong cuộc sống hàng ngày như: google dịch, xe ô tô tự ...

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

Sử dụng passport.js xây dựng kịch bản đăng ký và đăng nhập(P2)

Ở phần trước chúng ta đã làm ví dụ cơ bản sử dụng passport.js để xây dựng kịch bản đăng ký, đăng nhập sử dụng tài khoản local username , password . Các bạn có thể tham khảo lại tại đây: https://viblo.asia/p/su-dung-passportjs-xay-dung-kich-ban-dang-ky-va-dang-nhap-4dbZNEJyKYM Trong bài ...

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

Unicode trong python 2 (Phần 1)

1. Đặt vấn đề Làm việc với Python 2 các bạn đã bao giờ gặp những trường hợp như thế này chưa? UnicodeEncodeError: 'ascii' codec can't encode character u'xa0' in position 20: ordinal not in range(128) hoặc print, bắn log ra toàn ra ký tự này chưa WARNING:root:��{�ꕶ�������e�X�g/ và ...

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

Tiếp cận để hiểu rõ hơn cam kết với khách hàng (phần hai)

Trước khi bắt đầu xem phần 2 này, xin vui lòng nhìn lại Viability Risk Map và phần 1 tại đây. Prototype Stage (Giai đoạn prototype) Đây là giai đoạn bạn đã có 1 prototype với vài chức năng đầy hứa hẹn cho MVP sắp tới. Hi vọng bạn cũng đã nhận được một chút hỗ trợ về kinh phí, hay có được ...

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

Lộ trình trở thành Backend Developer năm 2018

Phát triển web ngày nay đã hoàn toàn khác biệt so với những năm về trước, có rất nhiều thứ khác nhau có thể dễ dàng cản trở bất kỳ ai tham gia vào quá trình phát triển web. Đó là một trong những lý do khiến chúng tôi quyết định vẽ ra một bức tranh tổng quan về lộ trình để trở thành một lập trình ...

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

Angular - Viết test cho asynchronous codes không khó như bạn nghĩ

Trong khi phát triển những ứng dụng Angular, viết unit test là việc không thể thiếu với mỗi developer. Vậy đã có khi nào bạn gặp khó khăn, hay chưa tìm được hướng giải quyết cho việc viết test với những asynchronous codes chưa? Nếu có gặp những tình huống như vậy, thì hãy lăn chuột để đọc tiếp ...

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

PHP Autoloading, PSR4 and Composer

Giới thiệu Rất nhiều PHP developer hiện nay và kể cả phần lớn các framework đều chọn cách viết code theo mô hình lập trình hướng đối tượng. Một trong những best practice, convention khi viết OOP đó là mỗi class sẽ được viết riêng vào 1 file. Nhưng có một vấn đề đối với practice này đó là chúng ta ...

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

Tạo Virtual Hosts đơn giản trên Ubuntu

Thay vì phải vào các đường dẫn dài, khó nhớ như "http://localhost/laravel/public/" hay phải thiết lập các cổng mở sẵn để chạy ứng dụng như "http://localhost:8000", bài viết sẽ hướng dẫn các bạn cấu hình một virtual hosts giúp bạn chạy ứng dụng của mình với các domain như thật </p> <div class= Tác giả: Hoàng Hải Đăng viết 18:12 ngày 12/08/2018

Passport trong NodeJS - Authentication

1. Passport là gì? Passport.js một trong những module phổ biến nhất của Nodejs hỗ trợ bạn authentication . Nó được thiết kế là một middleware hết sức linh hoạt cho bạn khả năng tùy biến cao với rất nhiều các kịch bản authentication: bạn có thể sử dụng Twitter, Facebook, Google thậm chí là qua ...

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

Khác nhau giữa abstract class và interface khi nào dùng chúng

Nhắc đến 2 thằng này bạn hãy nhớ 2 từ này khá clear rồi, Khi sử dụng Interface là bạn Implement còn sử dụng abstract class là bạn extend Interface: Không phải là class. Chỉ chứa những method/properties trống không có thực thi. Nó giống như một khuôn mẫu, một khung để để các lớp ...

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

Tổng quan về Artificial Neural Network

Artificial Neural Network (ANN) gồm 3 thành phần chính: Input layer và output layer chỉ gồm 1 layer , hidden layer có thể có 1 hay nhiều layer tùy vào bài toán cụ thể. ANN hoạt động theo hướng mô tả lại cách hoạt động của hệ thần kinh với các neuron được kết ...

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

Tại sao chúng ta nên xây dựng một ứng dụng Single-page Application

Với sự phát triển của ứng dụng web, các ứng dụng Destop đang dần trở nên lạc hậu. Bây giờ là thời đại của những trang web thân thiên, dễ dùng, dễ dàng bảo trì, không bị phụ thuộc vào bất cứ phần cứng nào. Tuy vậy thị phần người dùng ứng dụng web đang dần chuyển từ trên nền browser sang nền mobile. ...

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