Một vài mẹo để viết test hiệu quả hơn với Capybara

Trong bài viết này, tôi sẽ giới thiệu cho các bạn một vài mẹo để viết test hiệu quả hơn với Capybara, và các sử dụng chúng với RSpec và Minitest. Capybara Capybara là một framework kiểm thử cho các ứng dụng web. Nó là sự lựa chọn phổ biến cho kiểm thử đầu cuối, chấp nhận và kiểm thử tích ...

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

API Testing & SoapUI

Đã sáu năm trôi qua kể từ lần đầu tiên chúng ta nghe đến câu “phần mềm đang chiếm lĩnh cả thế giới”. Số lượng các dịch vụ phần mềm đã gia tăng đột biến và làn sóng áp dụng API vào việc cung cấp các tính năng quan trọng cho các phần mềm, ứng dụng vẫn chưa có dấu hiệu giảm nhiệt với sự ...

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

So sánh trong Ruby

I. Giới thiệu Làm thế nào để ta so sánh giữa 2 đối tượng trong Ruby? Chắc hẳn bạn đã biết phép so sánh == giống như các ngôn ngữ lập trình khác...nhưng bạn có biết == là một phương thức và nó không chỉ là cú pháp thông thường. Bạn có thể xây dựng phương thức này ở trong class của bạn để làm cho ...

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

Lý thuyết xác suất (P1)

Xung quanh ta luôn có đầy những điều không chắc chắn: hôm nay trời có mưa không? Bộ phim kia liệu có được đón nhận? Giá cổ phiếu hôm nay... Lý thuyết xác suất đóng một vai trò trung tâm trong các thuật toán machine learning để có thể đưa ra các dự đoán dễ xảy ra nhất. Trong bài viết này và các bài ...

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

What''s new in Swift 3.0

Nếu bạn nghĩ những thay đổi từ 1.2 lên 2.0 đã “dễ sợ” lắm rồi, thì bạn sẽ ngạc nhiên với phiên bản 3.0 này đấy. Với Swift 3.0, bạn sẽ thấy sự biến đổi 180 độ, code của phiên bản trước sẽ không build nếu bạn không thay đổi lại cho phù hợp. Vậy những thay đổi đó là gì? Swift 3 có gì ...

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

Thanh toán trực tuyến Stripe bằng Php

Ngày nay, việc phát triển thương mại điện tử rất mạnh mẽ, giờ ngày càng nhiều trang thương mại điện tử phát triển rất mạnh mẽ, đem lại sự tiện lợi cho nhiều người dùng. Trong các sản phẩm về thương mại điện tử, 1 trong các vấn đề quan trọng nhất đó chính là phương thức thanh toán. Một sản phẩm ...

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

Top 57 Gem được sử dụng ở RubyGarage (Phần 2)

APIs API là tập các yêu cầu để trao đổi dữ liệu giữa các ứng dụng. Bạn có thể đăng nhập vào các cửa hàng trực tuyến bằng tài khoản Facebook của bạn nhờ các API hoặc tìm các nhà hàng gần đó trên Foursquare qua Google Maps - cũng nhờ API. Xây dựng API đôi khi có thể rất khó khăn nhưng vài trường ...

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

Làm việc với Promises trong AngularJs

Javascript nói chung và trong AngularJs nói riêng, các process được xử lý một cách bất đồng bộ. Thực tế, có những lúc chúng ta cần các process được xử lý theo trình tự. Ví dụ chúng ta muốn thực hiện một ajax call để lấy user profile, sau khi ajax call thực hiện xong mới thực hiện việc lọc tách ...

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

Tổng hợp thuật toán sort cơ bản & Ví dụ trong ngôn ngữ C

Bài viết được dịch từ http://qiita.com/hiso/items/5c36f50c7de61fe870a2 Trong số các thuật toán sort điển hình thì ổn nhất là O(nlogn)O(nlogn), dở nhất là O(n2)O(n2). Lý tưởng là O(n)O(n). Trong Sort so sánh thì cần có so sánh của O(nlogn)O(nlogn). Được phân loại theo công dụng, như insert, ...

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

Hướng dẫn sử dụng XenServer - Công nghệ ảo hóa xịn mà không mất tiền !

Chào các bạn, ở bài viết trước, mình đã có giới thiệu với các bạn về công nghệ "Ảo hóa" . Bạn nào chưa biết thì có thể tham khảo ở đây nhé. Hôm nay mình sẽ giới thiệu cho các bạn một trong những công cụ ảo hóa mạnh mẽ kinh khủng khiếp, thuộc hàng xịn nhất nhì hiện tại và đặc biệt hơn nữa là ..... ...

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

[Phần 1] Tìm hiểu các method hỗ trợ quan hệ nhiều nhiều (many-to-many) trong Laravel

Chào các bạn ! Khi làm việc với các relationship trong database chắc hẳn chúng ta không thể bỏ qua relationship many-to-many. Trong bài viết hôm nay tôi sẽ giới thiệu hai method hỗ trợ thao tác với quan hệ many-to-many trong Laravel 5.4 khá hay. I.Chuẩn bị dữ liệu 1. Chúng ta có 3 table: ...

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

Intro to Machine Learning in Ruby

Machine Learning(học máy) là một nhánh của Artificial Intelligence(AI - trí tuệ nhân tạo) liên quan tới thiết kế và phát triển thuật toán cho phép máy tính có thể xử lý và học được thông tin. Đó là một chủ đề vô cùng rộng lớn do đó chúng ta sẽ chỉ tập trung vào một ví dụ đơn giản sử dụng thuật ngữ ...

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

[Android] Databinding set FontStyle XML

I.Giới thiệu Chắc hẳn bạn đã từng thiết kế giao diện cần sử dụng đến các file font style do khách hàng hay bên thiết kế yêu cầu. Để dùng được font style đó bạn phải code 1 đống các hàm khởi tạo font rồi đi tìm từng biến textview, buttom, edittext... cần dùng font style để set vừa mất thời gian ...

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

Định danh một thiết bị Android - Các định danh có sẵn

Dưới đây là một số các định danh có thể nhận được bằng cách viết code trên Android mà chúng ta có thể sử dụng để định danh một thiết bị hoặc cài đặt. Tôi đã cố gắng cung cấp một chút thông tin về mỗi loại định danh và cần permissions gì để có thể lấy được định danh đó. Identifier Example ...

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

Cài đặt Action Cable với Passenger và Nginx

1.Tổng quan Có hai cách để setup Action Cable với Passenger + Nginx : Chạy Action Cable server trên cùng một host và port với với sub-URI Chạy Action Cable server trên một host hoặc port khác. 2. Yêu cầu Passenger 5.0.24 trở lên Redis, PostgreSQL hoặc bất kỳ inter-process adapter này ...

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

Interactive with Google API and some misstake

I. Google API API là viết tắt của từ Application programming interface - Giao diện lập trình ứng dụng. Mỗi hệ điều hành, ứng dụng đều có những bộ API khác nhau. Nó cung cấp cho người lập trình các hàm tương tác với CSDL, lập trình thực hiện các thao tác với hệ điều hành hay phần mềm đó. ...

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

Triển khải Web Auth trên cisco WLC, xác thực bằng external web và freeradius

Ở các bài trước mình đã chia sẻ về cách triển khai Captive portal trên pfsense hay xác thực tài khoản với radius, bài viết này mình sẽ chia sẻ về một giải pháp khác tổng hợp của các bài trên nhưng sử dụng thiết bị Cisco controller và freeradius kết hợp với mysql. I. Mô hình: II. Hoạt ...

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

Tạo lập mail server trên hệ thống GNU/Linux (Phần 4)

Đây là bài tiếp của bài sau đây Advance mail server Bây giờ chúng ta hãy mở rộng những thiết lập này với nhiều xử lý check tiện lợi, bảo mật và các giao diện người dùng. Kiểm tra nội dung (Anti spam & Anti virus) Amavisd-new Amavisd là sự kết hợp của nhiều phương pháp kiểu tra nội ...

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

Sự kiện Google I/O 2017

Hội nghị các nhà phát triển Google I/O lại diễn ra như hàng năm. Đây là sự kiện công nghệ thường niên của Google, nơi công bố các sản phẩm và dự án phần mềm mới nhất của Google... Chúng ta cùng điểm qua xem Google I/O năm nay có gì hot. Android O phiên bản beta Google vừa tung ra phiên bản ...

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

Sử dụng I18n trong JavaScript với Gem "i18n-js"

Helu mọi người, trong khi code Ruby, mình thấy có một điểm vui vui thế lày: Là mỗi khi cần có thông báo cho kết thúc một tác vụ nào đó cho phía Client, nếu chúng ta đang dùng request thường với Rails và và trả response thường lun thì việc gửi thông báo cho Client rất dễ dàng với flash[] =. Nhưng ...

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