
Một số nguyên tắc cần lưu ý khi lập trình Ruby on Rails
Trong bài viết này, mình xin giới thiệu các bạn một số nguyên tắc để áp dụng trong khi xây dựng ứng dụng web với Ruby on Rails. Khi mình xây dựng ứng dụng của mình tốt, nó sẽ mang những lợi như sau: Dễ dàng bảo trì (Maintainability) Dễ đọc (Readability) Elegance Phát triển nhanh hơn ...

Welcome to Python
Though Python doesnt need any introdcution anymore, lets dig into some history about this awesome language. Python is a widely used high-level programming language for general-purpose programming, created by Guido van Rossum and first released in 1991. Python has a design philosophy which ...

Hướng dẫn sử dụng sortable của jQuery UI
I. Tổng quan về sortable sortable là một thư viện jquery cho phép sắp xếp các object bằng giao diện kéo thả trực quan. sortable hỗ trợ sắp xếp trong 1 list và trao đổi giữa các list. Ngoài ra, sortable còn hỗ trợ disabled các items đặc biệt. II. Cài đặt sortable có sẵn trong jQuery ...

Combination of RxJava and Sqlite
Một trong những nguyên tắc thiết kế quan trọng trên Android là không bao giờ thực hiện I/O trên main thread, và cụ thể trong trường hợp này là truy cập vào cơ sở dữ liệu Sqlite. RxJava hiện đang là xu hướng lập trình vì những lợi ích mà nó mang lại nên việc chọn RxJava để kết hợp với Sqlite là một ...

Promise và $q trong Angularjs
Mình tự hỏi q là gì trong Angularjs. Và mình bắt đầu đi tìm hiểu? q service tạo ra các promises. Vậy Promises là j? Promises là gì? Promise là 1 cơ chế cho phép bạn bạn trì hoãn 1 hành động hoặc 1 chuỗi hành động đã được nêu ra. Một promise đại diện cho kết quả sau cùng của một hành động. Ví Dụ ...

Elasticsearch: Tìm kiếm theo pattern
Vấn đề Nửa đêm, có đứa bạn nhắn tin hỏi thăm về regex trong elasticsearch. Vấn đề của nó là dùng regex để tìm document chứa câu có dạng: unable ... file ... Câu regex sử dụng ở đây là .*unable.*file. Tuy nhiên không có kết quả nào được trả về mặc dù dữ liệu có rất nhiều, vd câu: The Program was ...

UX Design thực sự là gì
Một trong những hiểu lầm lớn nhất về User Experience Design khi cho nó là những gì về tính khả dụng (Usability). Cũng dễ để biết lý do – Tính khả dụng có nghĩa là một sản phẩm “có thể sử dụng” và có ích. Khi bạn bước vào một căn phòng bỏ trống, bạn có thể ngay lập tức tưởng tượng ra ...

Viết Ứng Dụng Di Động Một Cách Dễ Dàng Với Ionic Framework
Lập trình ứng dụng di động đang là một lĩnh vực khá hot mà các lập trình viên nên quan tâm. Theo cách truyền thống (hoặc khi viết native app), bạn cần phải học Java, Objective-C, C# để viết ứng dụng cho Android, iOS, Windows-Phone. Tuy nhiên, nếu viết ứng dụng theo hướng hybrid app, sử dụng một ...

SOLID Ruby: Single Responsibility Principle
Chúng ta sử dụng kỹ thuật hướng đối tượng để tạo ra những mã code rõ ràng và đẹp mắt. Trên thực tế đây là những kết quả của mục tiêu chính: tạo ra những đoạn code với chi phí bảo trì thấp, các đoạn code không đòi hỏi nhiều thời gian, con người cho việc sửa chữa và cải tiến. Có một nhóm các hướng ...

Agile Mindset - Tư duy theo quy trình Agile
Trong lĩnh vực phát triển công nghệ phần mềm, việc thay đổi, áp dụng và cải tiến quy trình là một điều thiết yếu. Chính vì vậy, những kỹ sư phần mềm cần có tư duy (mindset) tương ứng với mỗi quy trình đang được áp dụng trong mỗi giai đoạn phát triển. Đó là yếu tố quyết định quy trình có đạt được ...

Yêu cầu phần mềm (Requirement) quan trọng như thế nào đối với lập trình viên
Đầu tiên mình xin lấy ví dụ về một qui trình làm ra sản phẩm phần mềm, quỳ trình thác nước (water fall) theo các bạn thấy thì để làm ra được một sản phẩm phầm mềm thì hầu hết các bạn phải có ý tưởng và yêu cầu về sản phẩm bạn muốn làm ra, ví dụ như sản phẩm của bạn sẽ có những chức năng như thế ...

Sử dụng Elasticsearch trong Laravel
Cách đây vài tháng, mình có xây dựng một website thương mại điện tử và tất nhiên như mọi trang web khác thì mình phải xây dựng chức năng tìm kiếm.Tìm kiếm là chức năng vô cùng quan trọng, ảnh hưởng đến trải nghiệm người dùng, tuy nhiên hầu hết chúng ta đều xem nó là một task đơn giản và cài đặt ...

Bạn có biết về PostCSS?
Ai đang và sẽ sử dụng PostCSS Tác giả của Bootstrap, 1 Framework CSS nổi tiếng đã nói rằng ông sẽ áp dụng PostCSS cho version 5 của Bootstrap Trên trang twitter của Zurb Foundation, 1 Framework CSS được cộng đồng hỗ trợ và sử dụng ngang tầm với Bootstrap cũng tuyên bố họ sẽ áp dụng PostCSS vào ...

Mobile Testing - Frameworks overview
Một testing framework hay cụ thể hơn là một môi trường thực thi để thực hiện việc test tự động. Đây là hệ thống tổng thể, trong đó việc test sẽ được tự động. Nó được định nghĩa là tập hợp các giả định, khái niệm và coi là một nền tảng công việc hoặc hỗ trợ cho kiểm tra tự động. I. Mobile ...

GIT dành cho Tester
Chắc hẳn khi làm việc trong đội dự án cùng với các developer, các tester chúng ta vẫn thường hay nghe đến một từ rất quen thuộc là GIT, như "commit lên GIT chưa", "merge cho em pull request lên GIT", lâu dần chúng ta sẽ bị thấm dần từ GIT và sẽ thắc mắc không hiểu GIT là gì, tại sao developer nào ...

Tìm hiểu về Regex phần 1
Regex hay còn gọi là Regular Expressions, được sử dụng nhiều trong các trường hợp validate email, input, ... Regex được tạo thành từ các ký tự số 0-9, các chữ cái, ký tự đặc biệt trên bàn phím như %#$$!. Sau đây là một số định dạng của regex dành cho (?<=s|^)d+(?=s|$) ^(([^<>()[].,;:s@"] ...

Giới thiệu về angular 2
Angular 2 là 1 framework UI để xây dựng ứng dụng web trên desktop và mobile. Nó được xây dựng dựa trên Javascript. Chúng ta có thể dùng nó để xây dựng 1 ứng dụng client side thú vị dùng HTML, CSS và Javascript. Angular 2 có rất nhiều cải tiến so với Angular 1 để dễ dàng học và phát triển các ...

Gosu - Thư viện game 2D cho Ruby - Phần 4
Tiếp theo series này mình giới thiệu đến phần khá thú vị đó là Animation. Về cơ bản thì animation là 1 tập hợp các ảnh biểu diễn chuyển động của vật thể kiểu như này. Mỗi một hình nhỏ được cắt ra gọi là một sprite. Đưa các sprites vào 1 mảng và gọi từng sprite trong mảng đó ra bằng function draw ...

Kiểm định(Verification) và thẩm định(Validation) phần mềm
I. Kiểm định 1. Kiểm định là gì? Kiểm định là để chắc chắn rằng sản phẩm được thiết kế để cung cấp tất cả các chức năng cho khách hàng. Kiểm định được thực hiện từ lúc bắt đầu của quá trình phát triển phần mềm. Nó bao gồm các đánh giá và các cuộc họp, rà soát, kiểm tra, ... để đánh giá ...

Nghề QA trong thế giới Agile (End)
Tham gia vào các buổi họp Sprint/Demo sản phẩm Tại thời điểm cuối của mỗi Sprint, nhóm sẽ tổ chức một buổi họp Sprint Review để trình bày các User Stories đã hoàn thành cho Product Owner và các bên liên quan khác. Cuộc họp này khuyến khích việc trình bày của tất cả thành viên trong nhóm và động ...