Tổng quan về kiểm thử tự động TDD và BDD trong mô hình phát triển phần mềm Agile

1. Định nghĩa Phương thức phát triển phần mềm Agile là một tập hợp các phương thức phát triển lặp và tăng dần trong đó các yêu cầu và giải pháp được phát triển thông qua sự liên kết cộng tác giữa các nhóm tự quản và liên chức năng. Agile là cách thức làm phần mềm linh hoạt để làm sao đưa sản phẩm ...

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

Bài 4: Biến và Hằng trong PHP

Biến và hằng là một thứ không thể thiếu trong các ngôn ngữ lập trình và hôm nay chúng ta sẽ tìm hiểu về biến và hằng trong PHP. 1, Biến. -Biến( variable) Trong Lập trình có thể hiểu nôm na là các giá trị có thể thay đổi được. VD: như ăn cơm hôm nay bạn ăn 2 bát mai bạn ăn 1 bát, ngày kia bạn ăn ...

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

Infinite Scrolling trong Rails

Ngày nay, nhiều trang web sử dụng một kỹ thuật gọi là infinite scrolling (hoặc endless page). Về cơ bản, đó là cách khi người dùng cuộn xuống trang, nhiều bản ghi được tải không đồng bộ bằng AJAX. Theo cách này, di chuyển trang sẽ tự nhiên hơn và dễ dàng hơn cho người dùng thay vì phải liên tục ...

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

User Authentication with Laravel

Laravel giúp cho việc thực hiện việc xác thực vô cùng đơn giản. Trong thực tế, hầu hết mọi thứ đã được cấu hình cho bạn. Các file cấu hình xác thực được đặt tại config/auth.php, bao gồm một số hướng dẫn tùy biến rõ ràng cho việc tinh chỉnh cách xử lí của các dịch vụ Authentication. Để tìm hiểu ...

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

Validate dữ liệu sử dụng Form Request

Trong hầu hết những ứng dụng Web ngày nay thì form là 1 trong nhưng đối tượng tương tác với người dùng nhiều nhất.Đơn giản như khi bạn đăng 1 bài Post trên facebook của mình, Facebook sẽ lưu lại bài post đó trong database và hiển thị đến những người bạn của bạn </p> <div class= Tác giả: Trịnh Tiến Mạnh viết 15:09 ngày 12/08/2018

Hướng dẫn sử dụng view composer trong laravel 5.3

Xin chào các bạn ! Đến hẹn lại lên hehe.. Nếu bạn là một developer chuyên về làm website chắc hẳn bạn sẽ gặp một vấn đề là một view có thể extend cho nhiều view khác nhau trong toàn bộ dự án . Sẽ có hai loại view như sau: 1 . Đối với loại view này bạn sẽ exend vào view khác dựa vào ...

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

Tạo một Circle ImageView android với thư viện hdodenhof

Trong lúc lập trình ứng dụng android, bạn gặp khó khăn trong việc tạo một ImageView bo tròn, giải pháp nhanh và hiệu quả nhất cho bạn là sử dụng thư viện ngoài, mà ở đây mình xin giới thiệu một thư viện do lập trinh viên hdodenhof viết ra, với thư viện này bạn sẽ dễ dàng tạo ra một ImageView bo ...

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

Một số mẹo nhỏ trong thiết kế database lớn

Từ khi bắt đầu xây dựng dự án ta thường xuyên phải ra các quyết định khiến cho việc phát triển quy mô sau này trở nên dễ dàng hoặc khó khăn hơn. Đôi khi hướng đến những mục tiêu ngắn hạn không phải là một ý kiến tồi, nhất là khi deadline đã đến gần và ta phải hoàn thành sớm nhất có thể. Nhưng cũng ...

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

Những lý do khiến ta chọn Hibernate thay vì JDBC

JDBC là công cụ thô sơ nhất, mộc mạc nhất giúp ta kết nối CSDL trong ứng dụng Java. Và rồi Hibernate ra đời, nó mang trong mình nhiều công cụ hữu ích giúp cho việc kết nối với CSDL một cách thuận tiện, dễ dàng hơn. Trước tiên tôi xin liệt kê một số "vấn đề" gặp phải khi sử dụng JDBC. Ta phải ...

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

Gem State Machine

I. Giới thiệu State Machine làm cho việc quản lý trạng thái của đối tượng trở nên đơn giản. Thông thường, trạng thái của một đối tượng được giữ lại bằng cách tạo ra nhiều thuộc tính boolean và quyết định trạng thái của nó thông qua các giá trị. Điều này có thể trở nên cồng kềnh và khó khăn ...

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

PHP part2. Hàm - Định nghĩa hàm, thao tác với Array - String - Number - Time trong PHP

Ở bài trước chúng ta đã làm quen với PHP thông qua các câu hỏi cũng như các khái niệm về biến và toán tử trong PHP. Ở bài này mình xin giới thiệu tiếp về hàm, cách định nghĩa hàm cũng như thao tác với Array - String - Number - Time trong PHP. Hàm - Định nghĩa hàm trong PHP để hiểu rõ thế nào là ...

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

Mã hóa phi đối xứng và ứng dụng của nó trong chứng thực điện tử

1. TỔNG QUAN VỀ CÁC HỆ MÃ HÓA ` 1.1. Mã hóa khóa bí mật. Hệ thống mã hoá khóa bí mật , là hệ thống mã hóa trong đó quá trình mã hóa và giải mã đều được sử dụng chung một khóa gọi là khóa bí mật (Secret key). Việc bảo mật thông tin phụ thuộc vào việc bảo mật khóa. 1.2 Mã hóa khóa công khai. ...

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

Cache trong laravel

Laravel cung cấp một API thống nhất cho các hệ thống cache khác nhau. Cấu hình cho cache được đặt trong file config/cache.php. Trong file này bạn có thể chỉ định cache driver nào bạn muốn sử dụng mặc định trong ứng dụng. Laravel hỗ trợ sẵn các hệ thông cache phía backends phổ biến như Memcached và ...

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

Day 6 - Survival Shooter

今日は、Unityチュートリアルのサバイバルシューターを完成させました。 段々と慣れてきたのか、Unityの操作も慣れてきてチュートリアルを進める速度が上がっています。 この調子でどんどんと続けていきます。 さて、サバイバルシューターとはどんなものか?動画で見てみましょう。 トップダウン式のシューティングゲームですね。 可愛い顔してレーザーが出るAKをぶっぱなしています。 こちらも例によって最初はチュートリアル用のアセット導入から始めます。 その後はチュートリアルに沿って進めていくのですが こちらはきちんと正しくスクリプトを書いていったり、コンポーネントを追加すれば特に詰ま ...

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

Add Rules to Stylesheets with JavaScript

Ngày nay chúng ta đang sử dụng rất nhiều JavaScript trong các ứng dụng web và chúng ta đang tìm kiếm các cách khác nhau để cho ứng dụng web chạy nhanh hơn nữa. Chúng ta sử dụng event delegation để việc bắt sự kiện đem lại hiệu quả hơn, chúng ta sử dụng function debouncing để giới hạn số lần sử dụng ...

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

Sử dụng Google Charts với Javascript trong Ruby on Rails

Thỉnh thoảng bạn viết một bài thống kê phân tích kèm với hàng tá những bảng số liệu. Bạn định nhét tất tần tật vào bài? Tất nhiên là không nên thế , trừ phi bạn có ý định làm rối mắt người đọc. Giải pháp tốt nhất trong trường hợp này là hình tượng hoá những bảng số liệu bằng biểu đồ, giúp người ...

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

Một số thuật toán sắp xếp đơn giản (phần 1)

Một số thuật toán sắp xếp đơn giản (phần 2) Chắc hẳn ngồi trên ghế giảng đường đại học thì ai cũng sẽ được làm quen với thuật toán. Nghe thì thật là trừu tượng và mơ hồ, nhưng để tối ưu hóa những bài toán đặt ra thì bắt buộc các bạn phải học đến nó. Mình xin chia sẻ 1 chút lí thuyết mà mình ...

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

<Selenium 2 Testing Tools> Chương 5: Tìm kiếm phần tử (tiếp)

Tìm kiếm phần tử trên trang bằng tên Tiếp theo ta sẽ tìm hiểu việc tìm kiếm phần tử bằng tên của chúng. Việc tìm kiếm phần tử bằng tên nó chỉ nhanh tương đương với tìm kiếm bằng ID. Bây giờ ta sẽ xem cách sử dụng nó thế nào nhé. findElementByName(String using); Biến using sẽ lấy ID của phần ...

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

Các trường hợp sử dụng storyboard trên iOS

Tôi đã đọc một số bài viết gần đây chống lại việc sử dụng storyboard.Những vấn đề chung nhất là con người không dễ đọc được storyboard, nó chậm và có thể gây xung đột ở git.Những quan ngại có thể chấp nhận được nhưng có thể tránh được.Tối muốn nói với bạn chúng ta sử dụng storyboard trên những ...

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

Custom RecyclerView Android

Đây là kết quả sau khi đã Custom Class Adapter: public class ListShopAdapter extends BaseRecyclerViewAdapter<RecyclerView.ViewHolder> { private static final int HEADER = 0; private static final int CONTENT = 1; private OnRecyclerViewItemClickListener<Object> ...

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