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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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ác giả: Bùi Văn Nam viết 14:45 ngày 12/08/2018

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@"] ...

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

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

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

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

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

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

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

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

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