Vòng đời của bug
I. Thế nào là Bug/Defect? Định nghĩa Wikipedia đơn giản về Bug là: "Một máy tính lỗi, sai sót trong một chương trình máy tính ngăn không cho nó chạy đúng hoặc gây ra kết quả không chính xác. Bugs phát sinh từ sai sót và sai sót do người tạo ra trong mã nguồn của chương trình hoặc thiết kế của ...
How to build your own GEM in Ruby
When you are a Ruby developer you are not unfamiliar with the Gem. Have you ever wanted to have a really useful gem that people can use, the author is yourself? Today, I will show you how to create a Gem for Ruby on Rails. Now let start a simple gem that call "simple_hello_world" YOUR FIRST GEM ...
8 công cụ năng suất cần có cho các nhà quản lý đội ngũ kỹ sư phần mềm
Các nhà quản lý luôn luôn cố gắng tìm những cách khác nhau để tăng năng suất làm việc của nhân viên. Có phải những cái bàn làm việc đứng sẽ làm tăng năng suất công việc? Có thể như thế, vì dường như năng suất được gắn liền với các công cụ đang được sử dụng. Có rất nhiều bộ phận khác nhau và ...
[React Native] Push Notification
React Native Push Notifications Như các bạn đã biết notication là một chức năng không thể thiếu được trong các ứng dụng di dộng, và hôm nay mình xin trình bày về việc push notifications trên cả iOS và Android theo React Native Tiến hành chạy lệnh npm install --save react-native-push-notificati ...
Tạo ứng dụng ReactJS bằng Create React App
Nếu bạn đang bắt đầu với ReactJS, hãy sử dụng Create React App để tự động hóa việc xây dựng ứng dụng của bạn. Bạn sẽ có mọi thứ cần để xây dựng ứng dụng ReactJS mà không phải config gì cả. Để bắt đầu, hãy chắc chắn rằng máy của bạn đã được cài NodeJS 4.x hoặc version cao hơn. Cài đặt Đầu ...
Design Patterns - Prototype
Chào mọi người, hôm nay mình muốn giới thiệu một design pattern là Prototype. Nó nằm trong nhóm Creational Patterns - tức là những pattern giúp cho hệ thống độc lập với việc khởi tạo và trình diễn đối tượng. Trên viblo đã có bài viết về Builder pattern và Factory pattern nên mình không đề cập ...
Công Cụ tìm kiếm và phân tích dữ liệu - ElasticSearch
ElasticSearch là gì? ES là phần mềm tìm kiếm và trả về thông tin nó cũng là một document oriented database. Nhiệm vụ của nó chính là store và retrieve document. Trong ES, tất cả các document được hiển thị trong JSON format. Nó được xây dựng trên apache Lucene ES thực sự đặc biệt chính là nhờ vào ...
Pattern Matching Algorithms P.2
Như ở phần I : https://viblo.asia/p/pattern-matching-algorithms-p1-YWOZrMVrKQ0 tôi đã giới thiệu khái niệm, phân loại và một số phương pháp đối sánh mẫu từ trái qua phải. Thì ở phần II này tôi tiếp tục giới thiệu một số phương pháp đối sánh mẫu văn bản từ phải qua trái, từ một vị trí cụ thể, hay từ ...
Tự học Swift - Part 2
Ở bài này, mình sẽ giới thiệu cấu trúc điều khiển trong Swift #1 Cấu trúc điều khiển 1.1 if Thực thi tập các câu lệnh nếu điều kiện là đúng. Các loại if thường gặp: if condition { // do something } if condition { // do something } else { // do something } if condition { // do something } else ...
Tuỳ biến input file type
Như chúng ta đã biết, thẻ <input type="file" /> dùng để chọn file, tuy nhiên cái nút này hiển thị có vẻ không được đẹp mắt cho lắm. Vì thế chúng ta sẽ dùng thêm thẻ label để dễ dàng hơn trong việc style. <input type="file" name="file" id="file" class="inputfile" /> <label ...
Laravel Activitylog - Ghi lại hoạt động nguời dùng trong Laravel
spatie/laravel-activity 1. Giới thiệu spatie/laravel-activity là một thư viện được cung cấp hỗ trợ các việc lưu lại hoạt động của người dùng trong dự án của bạn. Nó sẽ tự động tạo những sự kiện để lưu trữ lại trong model của dự án. Mọi hoạt động sẽ được lưu trữ trong bảng activity_log. VD: ...
Cách kiểm tra tính năng Email của một ứng dụng
Trong hầu hết các ứng dụng web và di động, kiểm tra các chức năng liên quan đến email được coi là một trong những phần quan trọng nhất của việc test, để đảm bảo chất lượng của hệ thống. Kiểm tra việc kích hoạt email trong các trường hợp khác nhau được coi là hợp lệ hay không hợp lệ ta phải kiểm ...
Vịnh xuân quyền và những tố chất cần có của một Tester
Cũng giống như bao môn phái võ thuật khác, Vịnh Xuân quyền là một trong những môn võ thuật với phương pháp luyện tập hiệu quả để giữ gìn cũng như cải thiện sức khỏa của mình. Và với nhịp sống tốc độ như hiện nay, việc con người phải chịu nhiều áp lực thì việc việc làm thế nào để giữ gìn một sức ...
Khởi động ứng dụng Ruby/Rails lớn nhanh hơn với bootsnap
Bootsnap là một thư viện có thể cắm vào Ruby, với sự hỗ trợ tùy chọn cho ActiveSupport và YAML, nhằm tối ưu hóa và tính toán các tính toán đắt tiền Thời gian khởi động giảm khoảng 50%, từ khoảng 3s đến 6s trên một máy Ví dụ đối với nền tảng Shopify- Khởi động nhanh hơn khoảng 75% giảm từ ...
Một vài lưu ý khi cấu hình môi trường web
Bạn là một web developer? Bạn nghĩ rằng, chỉ cần tập trung code tốt, code đẹp và làm sao ít bug nhất là được. Còn những công việc khác như cấu hình môi trường dev, deploy code lên staging hay những công việc tương tự như vậy thì không cần quá chú tâm. Nhưng hãy tưởng tượng, vào một ngày đẹp trời, ...
Tại sao phần mềm có bug?
Sofware bug là gì? Software bug là là lỗi hoặc sai sót khi chương trình tạo ra kết quả không mong muốn hoặc không chính xác. Nó khiến phần mềm bị ngăn cặn không thực hiện giống đặc tả và yêu cầu của phần mềm. Tại sao phần mềm lại có bug? Có rất nhiều lý ...
Tìm hiểu về Selendroid (Phần 2)
Phần một của bài viết về Selendroid đã giới thiệu tổng quan và hướng dẫn cài đặt Selendroid, dưới đây là phần 2 sẽ tiếp tục hướng chi tiết từng bước để kiểm thử một ứng dụng andorid bằng Selendroid Giả sử rằng bạn có một file APK cần test có tên là Guru99App. Ứng dụng Guru99App cần test có một text ...
Session, Cookie và Cache, bạn đã thực sự hiểu chúng??
Session, Cookie, Cache có lẽ đây chính là 3 khái niệm được nhắc đến thường xuyên đối với các lập trình viên. Khi mới bắt đầu tập tành làm web, tôi rất hay nhầm lẫn giữa các khái niệm này, tôi không biết lúc nào thì mình nên dùng session, lúc nào mình nên dùng cookie, cache được dùng để làm gì.... ...
Meaningful name in code <P1>
Đặt tên là một điều tưởng chừng như đơn giản nhưng thực ra không phải như vậy, có những lúc để nghĩ ra được một tên hàm hay tên biến còn mất nhiều thời gian hơn cả việc nghĩ ra cách giải quyết task mình đang được assign. Và khi đặt được tên chắc hẳn mỗi người sẽ đặt một tên riêng dựa theo văn phong ...
Several bad practices in Angular
About 5 months after the ground-breaking release of Angular 2, the next huge update for Angular has become now available: Angular 4 (or Angular due to the development team's concensus that it should be called Angular solely from now on without stating the version number explicitly. At the ...