Hello Cucumber

Khi bắt đầu tìm hiểu một kĩ thuật mới, chúng ta thường có một ví dụ kinh điển là "Hello World", ở bài viết này mình cũng xin giới thiệu một ví dụ đơn giản "Hello Cucumber" để làm quen với Cucumber Cucumber cho phép người dùng định nghĩa hành vi hệ thống với ngữ nghĩa tiếng anh thông qua cú pháp ...

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

Bàn về quy cách đặt tên (Naming Convention)

Có một câu trích dẫn mà chắc hẳn nhiều người đã từng nghe đến: “There are only two hard things in Computer Science: cache invalidation and naming things.” – Phil Karlton. Đại ý là trong lĩnh vực Khoa học máy tính: cache invalidation (vô hiệu cache) và đặt tên là 2 cản trở lớn nhất. ...

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

Dàn trang bằng css flexbox

Trong CSS, nếu chúng ta muốn dàn layout của trang thì sẽ sử dụng các thuộc tính float và kỹ thuật clear float để chia cột website như ý muốn. Hoặc muốn thuận tiện hơn thì sử dụng các CSS Grid Framework để tiết kiệm thời gian. Nhưng đôi khi việc chia cột đôi khi rất tốn thời gian với kỹ thuật truyền ...

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

Tìm hiểu về Jquery Validation (Phần 2)

Ở bài chia sẻ trước, tôi đã chia sẻ cho các bạn một bài tính năng cơ bản của Jquery Validation. Ở phần 2 này, tôi sẽ giới thiệu cho bạn một vài customize option của Jquery Validation để chúng ta có thể sử dụng Jquery Validation trong mọi trường hợp. Submit Form Sau khi form đã hoàn thành việc ...

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

Deploy ứng dụng Rails với Elastic Beanstalk

Chắc hẳn bạn đã quen với việc deploy server Rails sử dụng Capistrano Hôm nay tôi sẽ giới thiệu với các bạn thêm một cách khác cho việc deploy server, đó là sử dụng dịch vụ Elastic Beanstalk của AWS. Cài đặt Ruby Trước hết bạn cần một server để phục vụ cho việc deploy. Nếu bạn có tài khoản aws ...

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

Database index hoạt động như thế nào

Chắc hẳn các bạn đã khá quen thuộc với khái niệm index trong database, tuy nhiên về cách thức họat động của nó thế nào có thể bạn vẫn còn một chút mơ hồ. Hôm nay tôi sẽ cùng các bạn đi tìm hiểu xem database index hoạt động như thế nào nhé. Đầu tiên nhắc lại một chút nhé. Tại sao chúng ta cần ...

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

Five Active Record Features You Should Be Using

Trong một ứng dụng ruby on rails, Active Record có nhiệm vụ trao đổi vớ tầng persitences. Vì vậy nếu chúng ta sử dụng avtice record 1 cách hợp lý và hiệu quả thì sẽ giảm được khá là nhiều code. Trong Ruby on Rails 4.0, có một số sự thay đổi về active cord, Giờ chúng ta đi tìm hiểu xem đó là những ...

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

Tạo một helper giúp user dễ dàng review ứng dụng của bạn trên AppStore

Bạn là một iOS developer và tạo ra những ứng dụng tuyệt vời được đưa lên AppStore, vậy cách để ứng dụng của bạn được biết đến nhiều hơn và nằm trong top 200 các ứng dụng mới được tải nhiều nhất? Hãy tạo một chức năng gợi ý cho người dùng đánh giá ứng dụng của bạn. Sau đây là cách làm: Khi người ...

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

Những điều mà REST chưa làm được?

Bài viết được dịch từ Dive Into GraphQL Đây là bài đầu tiên của series Dive Into GraphQL Series. Nhưng rất hay là bài viết này lại không nói về GraphQL là gì mà nói về những vấn để nó giải quyết. Và chúng ta sẽ tìm hiểu về những gì REST chưa làm được. REST và kiến trúc cho API Đầu tiên, không ...

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

Ứng dụng của Blockchain trong thực tế

Tiếp tục series về công nghệ Blockchain lần này tôi muốn giới thiệu tới các bạn các ứng dụng thực tế của blockchain trong thế giới thực để các bạn có thể thấy blockchain sẽ làm được gì và thay đổi thế giới ra sao. Tôi sẽ chia thành 2 phần đó là các ứng dụng trong lĩnh vực tài chính và các ứng dụng ...

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

Microsoft Azure Essentials

1. Giới thiệu Như các bạn đã biết, bất cứ nhà cung cấp dịch vụ cloud nào thì cũng cung cấp cả nền tảng PaaS và IaaS. Trước hết chúng ta sẽ tìm hiểu chúng là cái gì. IaaS là gì? IaaS là một mô hình trong đó sử dụng các phần cứng của doanh nghiệp như máy chủ, kho lưu trữ và các mạng cốt lỗi ...

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

Structural patterns

Mẫu thiết kế thứ ba trong chuỗi bài Design Patterns mà hôm nay mình giới thiệu đó là Structural patterns (mẫu thiết kế kiến trúc).Trong kỹ thuật phần mềm thì các mẫu thiết kế kiến trúc là mẫu thiết kế giúp đơn giản việc thiết kế bằng cách xác định cách đơn giản để thể hiện được các mối quan hệ giữa ...

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

[Ruby on Rails] Sử dụng TagHelper trong views

TagHelper cung cấp các phương thức để tạo các thẻ HTML theo HTML5 và các thẻ tương thích chuẩn XHTML. Sau đây mình xin giới thiệu 4 phương thức public bao gồm: cdata_section / content_tag / escape_once / tag cdata_section(content) Trả về CDATA với nội dung nhất định. Các phần của CDATA được ...

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

Gource - Tạo video từ lịch sử github, cùng xem lại quá trình phát triển dự án

Tổng quan: Gource là OpenGL-based 3D visualisation tool. Hiểu đơn giản là một công cụ sử dụng OpenGL cho các trang như Git, svn để tạo một video tổng quan về quá trình phát triển project. Repo được hiển thị như một cây phân nhánh, thư mục gốc là trung tâm. Các thư mục là các nhánh và tệp là ...

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

Detect ký tự trong hình ảnh

Đọc ký tự trong văn bản trong một khung cảnh thiên nhiên là một phần quan trọng của nhiều tác vụ thị giác máy tính (Computer Vision-CV). Ví dụ, việc thực hiện nhận dạng ký tự quang học (Optical Character Recognition-OCR) các thuật toán có thể được cải thiện bằng cách đầu tiên xác định các khu vực ...

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

Tìm hiểu về công cụ Katalon trong kiểm thử phần mềm - tổng quan về Katalon (Phần 2)

Viết kịch bản kiểm thử tự động hóa thiết bị di động đầu tiên của bạn có thể khá khó hiểu nếu không có một công cụ chuyên dụng hoặc hướng dẫn cụ thể. Trong hướng dẫn này, chúng tôi sẽ giới thiệu cho bạn cách tăng tốc dự án tự động hóa của bạn bằng cách sử dụng tiện ích mobile recording của Katalon ...

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

Các Keyword cơ bản trong lập trình Swift

Hôm nay mình xin viết một phần về một số từ khoá cơ bản trong lập trình Swift. Ở phần này mình sẽ viết về các keywords liên quan tới việc khai báo hàm, thuộc tính, lớp ... Declaration Keywords let let: định nghĩa 1 biến bằng let là sau này không có thay đổi giá trị nó được đó. let ...

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

Cách phân chia folder và đặt tên components cho một app React

Chắc hẳn ai cũng biết, React chỉ là một thư viện nên không chỉ rõ cho người dùng cách tổ chức, phân chia cấu trúc thư mục cho dự án của mình. Xét trên một khía cạnh, có thể điều này là tốt vì dev có thể thoải mái thử rất nhiều cách khác nhau để chọn ra phương pháp phù hợp với dự án của mình. Tuy ...

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

Top-down learning path: Machine Learning for programmers

Late to the party? Yes. But is it always too late to start? Never! For last year and a half, I have seen devs around me riding on the hype train of machine learning and engage in conversation with kind of ideas which could as well get drafted to next script for Back to the future ...

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

Dockerizing Node.js web app

Trong bài viết này mình sẽ chỉ cho các bạn cách đưa một ứng dụng node.js vào một docker container. Tuy nhiên hướng dẫn chỉ cho môi trường develop, không phải cho môi trường product. Ngoài ra trong đây còn mô tả về cài đặt docker cũng như cấu trúc cơ bản của một ứng dụng Node.js Docker ra đời ...

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