Chain RSpec Matchers for Improved Test Readability

Một trong những đặc điểm mà nhiều người thích ở Ruby đó chính là khả năng Readability của Ruby code. Vì vậy, một người code Ruby hay là người có khả năng làm code cho họ dễ đọc nhất có thể. Original Code select_multiple_from "Which of these apply to you?" , [ "I read the New York Times ...

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

Làm thế nào để tính chi phí cho ứng dụng dạy thiền tương tự như app Headspace

Khi nhắc đến Thiền (Meditation) thì ta thấy ngày nay nó đã rất phổ biến, ngay như ở Hà Nội cũng có rất nhiều trung tâm dạy thiền mọc lên, và thậm chí còn có cả chương trình dạy thiền online và cả trên ứng dụng di động. Trong khuôn khổ bài viết này chúng ta sẽ thảo luận về vấn đề mang hơi hướng ...

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

Cocos-2dx : Xây dựng UI dễ dàng hơn với cocotudio (phần 1)

Xin chào các bạn. Hôm nay mình sẽ giới thiệu với các bạn công cụ cocostudio, công cụ UI Editor của cocos2dx trong việc xây dựng UI game. Nếu các bạn đang làm game trên framework cocos2dx, việc xây dựng ui chỉ băng code thuần C++ sẽ hết sức khó khăn và mất thời gian. Cocostudio sẽ giúp chúng ta làm ...

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

Functional Programming in JavaScript - Functions

Functional Programming (FP) không chỉ đơn thuần là việc lập trình sử dụng từ khóa function . Tuy nhiên, function chiếm vị trí trung tâm trong FP, cách chúng ta sử dụng function sẽ làm cho code của chúng ta trở nên functional hay không. Tuy nhiên function là gì, ý nghĩa và cách sử dụng của ...

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

Xu hướng phát triển web năm 2018

Chúng ta vừa bước qua năm mới 2018. Đầu tiên, mình xin gửi tới các bạn lời chúc mừng năm mới & gặp nhiều thuận lợi trong công việc. Hãy cùng mình tạm gác lại những bận rộn trong công việc từ vòng xoay của năm cũ 2017, để cùng tìm hiểu xem năm 2018 này sẽ có hot trend nào trong việc phát triển ...

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

Laravel: Tìm hiểu về Notifications (Phần 1)

Introduction Ngoài việc hỗ trợ [sending email](https://laravel.com/docs/5.5/mail), Laravel còn cung cấp gửi thông báo qua nhiều kênh, gồm mail, SMS (qua [Nexmo](https://www.nexmo.com/)), và [Slack](https://slack.com/intl/fr). Thông báo có thể được lưu trong cơ sở dữ liệu và nó có thể hiển thị ...

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

Custom circle image view

Android supports imageview but it is bounded in rectangle. Sometime, we want to make something awesome or special, like circle image ^^. There are some ways to make circle image. We can create a circle shape as background. After that, load the image into it. Today, I will introduce another way. We ...

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

URL Rewrite Middleware trong ASP.NET Core

Url rewriting là một hành động sửa đổi request Urls dựa trên một hoặc nhiều quy tắc được định nghĩa trước. Url rewriting tạo một abstraction giữa resource locations và địa chỉ của chúng, như vậy rằng locations và địa chỉ là không được liên kết chặt chẽ. Có một số kịch bản nơi Urls rewriting là có ...

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

Resize hình ảnh với Amazon S3, AWS Lambda và Amazon API Gateway

Như các bạn đã biết, các thiết bị được sử dụng để truy cập internet với kích thước màn hình, độ phân giải khác nhau, vì vậy khi xây dựng ứng dụng có liên quan đến hình ảnh, developers chúng ta phải cung cấp hình ảnh với nhiều kích cỡ khác nhau nhằm tối ưu và đem đến trải nghiệm người dùng tốt ...

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

[Translation] Các khái niệm cơ bản về Fragment trong Android( Phần 3)

Tiếp theo phần trước , phần này mình sẽ đề cập đến cách giao tiếp với Activity (Nội dung được mình tham khảo chủ yếu trên trang https://developer.android.com/guide/components/fragments.html ) Communicating with the Activity Mặc dù fragment được cài đặt như 1 đối tượng độc lập đối với Activity ...

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

5 tips trên Ruby on rails có thể bạn chưa biết

Hash#dig Có lẽ trong chúng ta ai cũng đã từng phải như thế này để check parameters ... if params[:user] && params[:user][:address] && params[:user][:address][:somewhere_deep] Với dig, chỉ đơn giản thế này: ... if params.dig(:user, :address, :somewhere_deep) Ngắn gọn hơn ...

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

ASP.NET MVC Tip #11 – Sử dụng Standard Controller Action Names

Trong thủ thuật này, tôi khuyên bạn nên sử dụng tên chuẩn cho controller action của bạn để làm cho code của bạn trong suốt hơn với các nhà phát triển khác. Áp dụng quy ước đặt tên làm cho code của bạn dễ đọc hơn cho các nhà phát triển khác và tự tương lai của chính bạn. Quy ước đặt tên cũng giúp ...

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

3 phút để hiểu rõ git-rebase và merge khác nhau gì !!!!

Tham khảo: https://blog.codecamp.jp/git_rebase Git Re-base Đối với những người mới sử dụng git thì chắc chắn cái khiến anh em chúng ta đau đầu nhất là merge và rebase . Nghe giải thích sơ qua thì có vẻ giống nhau đó là chức năng để kết hợp lại từ nhánh gốc nào đó , ông rebase còn được biết ...

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

Giới Thiệu Proxies Objects Trong ES6

Một trong những tính năng mới được giới thiệu trong đặc tả ES6 cách đây không lâu. Đó là Proxy object. Hôm nay mình sẽ giới thiệu về tầm quan trọng của Proxy trong các ứng dụng thực tế và cũng hiểu được vì sao đó ra đời, nó sẽ giúp ích gì trong thế giới js đầy biến động này </p> <div class= Tác giả: Trịnh Tiến Mạnh viết 16:44 ngày 12/08/2018

Turn Rows Into Columns With The Transpose Method

Introduce Giả sử bạn có 1 ma trận 3x3, được biểu diễn dưới dạng mảng đa chiều. Và bạn muốn chuyển đổi ma trận với dữ liệu từ hàng sang cột. Tại sao lại cần làm điều đó. Một trong những ứng dụng của method này là trong game tic-tac-toe. Bạn có 1 bảng lưới. và để chiến thắng thì cần phải kiểm tra ...

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

CSS Filter - Blend màu bằng css

Thuộc tính Filter được hỗ trợ từ CSS3, được sử dụng để tạo một số visual effects (ví dụ: blur, saturation) lên một thành phần html (thường là ảnh). Bạn có thể thấy một số thuộc tính quen thuộc này trong một số phần mềm xử lý ảnh như Photoshop, Lightroom... Filter functions Một số hàm có trong ...

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

Một số tips tối ưu tốc độ khi làm việc với array trong javascript

Giống như các ngôn ngữ lập trình khác, array trong javascript thực sự rất hữu dụng và giúp chúng ta rất nhiều trong quá trình làm việc. Tuy nhiên, vẫn còn có những thứ chúng ta có thể tối ưu được để có thể khiến cho mã javascript của mình tốt hơn. Dưới đây là một số tối ưu chúng ta có thể thực ...

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

Một số tiện ích trên Chrome cho các web Developer, Designer và Tester

Giới thiệu: Chrome là trình duyệt mạnh mẽ và nổi tiếng với giao diện đơn giản, light-weight cùng một loạt tiện ích giúp nâng cao hiệu năng. Nếu bạn là một Designer, Developer hay Tester, hẳn những tiện ích thú vị mà Chrome dành cho bạn dưới đây sẽ giúp cho công việc của bạn nhẹ nhàng hơn bao ...

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

[Unity+Machine Learning] Tập 1: Tạo môi trường training.

Chào các bạn, mình tính viết 1 bài vô cùng dài về cái cảm xúc của mình khi có sự kết hợp của Unity và Machine Learning(ML), tuy nhiên viết xong rồi sợ sếp ko duyệt lại quyết định viết 1 bài khác thiên về kĩ thuật hơn :man_detective: Bắt đầu nhé! Bước 1: Unity. Đã là Unity và ML thì phải có ...

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

Giới thiệu ngôn ngữ lập trình GoLang

Go là một ngôn ngữ lập trình được thiết kế dựa trên tư duy lập trình hệ thống. Go được phát triển bởi Robert Griesemer, Rob Pike và Ken Thompson tại Google vào năm 2007. Điểm mạnh của Go là bộ thu gom rác và hỗ trợ lập trình đồng thời (tương tự như đa luồng – multithreading). Go là một ngôn ngữ ...

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