
Thiết lập SSL ở localhost với puma
Khi khởi tạo một ứng dụng Ruby không sử dụng Procfile, một webserver mặc định sẽ được sử dụng. Đối với Rack, câu lệnh $ bundle exec rackup được chạy khi khởi động Rails $ rails server . WEBrick được cài đặt đi kèm với thư viện chuẩn của Ruby vì vậy nó rất tiện lợi và phổ biến. Trong môi trường ...

Bắt đầu với Reactjs- Phần 3: ReactJS with Redux
Redux là một thư viện giúp bạn quản lí trạng thái của ứng dụng. Nó được thiết kế dựa trên Flux, nhưng giảm bớt những đau khổ thường gặp phải khi viết một ứng dụng Flux. Redux thường là bộ đôi kết hợp hoàn hảo với React (React Js và React Native) Như mình đã có nói về React Virtual DOM ở các bài ...

Bàn về this trong JavaScript - Làm thế nào để xác định this?
Ở bài trước mình đã trình bày về this và call-site, ở bài này mình sẽ nói về cách xác định this: Đầu tiên bạn xác định call-site, tức là xem hàm được gọi ở đâu chứ không phải được khai báo ở đâu. Sau đó xem xét xem 4 luật dưới đây luật nào được áp dụng cho trường hợp của mình. 1. Default ...

Rails Chat Application - Part I
Chắc hẳn tất cả các bạn lập trình viên đều đã từng ao ước viết một ứng dụng chát giống như Facebook Messager. Trong bài viết này mình sẽ hướng dẫn các bạn viết một ứng dụng chat real time sử dụng ActionCable của Rails 5, nghĩa là khi một người dùng send message thì tất cả những thành viên còn lại ...

Cách xác định đối tượng UI bằng Selenium Webdriver
Trong automations testing, khi thực hiện kiểm thử tự động đối với cả nền tảng mobile và web thì việc quan trọng là chúng ta phải làm cách nào đó để các công cụ kiểm thử tự động có thể nhận biết và phân biệt được các đối tượng UI trên phần mềm mà ta kiểm tra. Vậy khi sử dụng Selenium webdriver để ...

QUẢN LÝ CHU KÌ KIỂM THỬ HIỆU SUẤT AGILE (Phần I)
Tìm hiểu cách tiếp cận để quản lý thử nghiệm hiệu suất Agile. Tìm hiểu làm thế nào để tối đa hóa tính linh hoạt mà không bị mất kiểm soát. Tìm hiểu cách cung cấp cho các nhà quản lý và các bên liên quan tiến độ và giá trị. Tìm hiểu làm thế nào để cung cấp một cấu trúc để thu thập thông tin ...

TÌM HIỂU VỀ LỖI PHẦN MỀM VÀ MẸO ĐỂ TẠO MỘT BÁO CÁO LỖI TỐT
Một lỗi phần mềm là một lỗi, lỗ hổng, thất bại, hoặc có lỗi trong một chương trình máy tính hoặc hệ thống đó là nguyên nhân nó tạo ra kết quả không chính xác hoặc không mong muốn, hoặc vận hành theo cách không được định hướng trước. Phụ thuộc vào nơi mà bạn được làm việc (như một tester), bạn sẽ ...

Hướng dẫn debug Wireless và multi simulator trên Xcode9
Vậy là IOS11 cũng như xcode 9 và swift 4 đã chính thức public. Hai tính năng đáng được chú ý nhất của phiên bản xcode mới này đó là việc debug trên device thông qua wireless và multi simulator. Trong bài post này mình sẽ hướng dẫn cách để thực hiện các tính năng mới này. 1. Debug device thông qua ...

Laravel deep dive: Task Scheduling
Khi phát triển một ứng dụng nhiều lúc ta sẽ cần phải lên lịch để chạy một task nào đó như: update database, tình toán và ghi file, chạy một lệnh của hệ điều hành để update hoặc lệnh lịch thực hiện job tự động. Để làm điều này Laravel đã hỗ trợ chúng ta khả năng lên lịch cho task thân thiện dễ hiểu ...

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: ...