Tìm hiểu sâu về Ruby Modules 2

Nối tiếp phần trước (https://viblo.asia/march_vu/posts/jvElaLgYZkw), bài viết này tôi sẽ tìm hiểu kĩ về các phương thức Including , Prepending và Extending trong Ruby Object Model (ROM) . Including Hãy bắt đầu mở class Car và include vào nó một Module: module V12Engine def ...

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

Xác thực hợp lệ trong Rails từ Scratch

Với các ứng dụng web ta quen với các form như form new hay form edit đa số chúng ta đều cần phải xác thực các giá trị hợp lệ, vấn đề là làm sao cho form phong cách và cải thiện trải nghiệm người dùng. Không có gì quá quan trọng, phải không? Vâng, có lẽ đó sẽ là trường hợp trong những năm 90. UX là ...

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

Android Circular Seekbar

Xin chào tất cả mọi người, với các bạn làm Android thì chắc cũng đã quá quen với Seekbar. Có thể đối với các bạn đề cao sự đơn giản thì việc sử dụng Seekbar default của Android là quá ổn rồi, nhưng nếu bạn nào cảm thấy muốn có cái gì đó mới mới như mình thì hãy cùng mình thử thay bằng Circular ...

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

Rủi ro trong phát triển phần mềm

Trong bất kỳ một lĩnh vực nào cũng đều có tồn tại yếu tố rủi ro. Bạn cũng đã từng gặp phải rủi ro trong phát triển phần mềm dù không nhiều thì ít? Và với đặc thù riêng của mình, nhận diện và phân tích xử lý rủi ro trong phát triển phần mềm là một điều không hề đơn giản. Đã không ít sản phẩm thất ...

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

Part 3 - Gerrit Code Review with Jenkins CI : Tích hợp CI / CD

Part 1 - Introduction Part 2 - Cài đặt , cấu hình Gerrit với apache basic authen Part 3 - Tích hợp CI / CD Part 4 - Jenkins CI : Cấu hình slave node machine và tích hợp hệ thống phân tán - phần cuối Trong phần 1 của chuỗi bài viết , mình đã có bài giới thiệu sơ qua về Jenkins , những ...

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

React FaceBook EventEmitter

Trong react việc liên kết giữa 2 component được thực hiện thông qua EventEmiter, việc hiểu rõ thêm gíup bạn sử dụng nó chủ động hơn. Ta có EventEmitter của NodeJS và của FaceBook. EventEmitter của NodeJS: https://nodejs.org/api/events.html EventEmitter của FaceBook: https://github.com/facebook/ ...

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

Cách để kiểm thử tính bảo mật của ứng dụng web và desktop- Các kỹ thuật kiểm thử bảo mật

Ngành công nghiệp phần mềm đã đạt được sự công nhận bền vững trong thời đại này. Các hệ thống ERP dựa trên nền tảng web được sử dụng ngày nay là bằng chứng tốt nhất cho thấy CNTT đã cách mạng hóa toàn cầu của chúng ta. Ngày nay, các trang web không chỉ dành cho quảng cáo hoặc tiếp thị mà còn là ...

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

live stream với gem OpenTok

I. OpenTok là gì? Opentok là một ứng dụng chat dựa trên nền tảng web, Opentok sẽ dựa vào nền tảng webRTC để gửi các gói tin đa phương tiện qua javascript giúp tạo một streaming để chat hoặc video. II. Cài đặt gem "opentok" Trước hết bạn vào trang https://dashboard.tokbox.com/ để ăng ký 1 tài ...

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

Thiết kế chuyển động trong UI

Những nguyên tắc cơ bản mà tôi chú ý là việc nó là gì và tại sao hơn là làm cách nào để tạo ra chuyển động/hoạt hoạ. Với việc nhấn mạnh vào chuyển động (cám ơn rất nhiều vì sự thiết kế tinh vi của iOS7), điều quan trọng của nó là kết hợp với tương tác phù hợp và đúng mục đích như những khía cạnh ...

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

Công cụ chỉnh sửa ảnh miễn phí thay thế cho Photoshop

Photoshop được biết tới như một công cụ vạn năng để chỉnh sửa ảnh. Tuy nhiên, đối với những sản phẩm cao cấp, hay với những người chỉ sử dụng ít thì việc bỏ tiền ra mua một công cụ như Photoshop sẽ rất là lãng phí. Xin được giới thiệu một công cụ chỉnh sửa ảnh miễn phí rất phù hợp với những ...

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

12 thư viện và plugin để thực hiện animation lên Homepage

Có thể nói animation là một yếu tố bắt buộc khi tạo một trang Homepage. Những trang tĩnh hoạt động đơn giản sẽ tạo sự buồn chán cho user. Trái lại chỉ cần thêm một số animation sẽ đem lại hiệu quả bất ngờ, những animation đó sẽ tạo cảm giác thích thú cho user, chính vì vậy nó sẽ khiến cho ...

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

xmpp multi user chat là gì ?

XMPP là gì? eXtensible Messaging and Presence Protocol (XMPP hay còn gọi là Jabber) là một giao thức truyền tải thông điệp, tin nhắn (message). Các thông điệp được trao đổi dưới định dạng XML. Phân tán Tư tưởng khởi thuỷ của XMPP là các thông điệp có thể được trao đổi liên server. Bạn có thể ...

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

Lập trình C cho hệ thống nhúng (P2- Lập trình nhúng với micro controller V850E)

1. Giới thiệu về micro controller V850E V850 là một dòng vi điều khiển của hãng NEC được sử dụng rộng rãi trong các hệ thống nhúng với nhiều mục đích khác nhau. Vơi ưu điểm lượng tiêu thụ điện năng thấp , mức nhiễu nhỏ trong khi vẫn mang lại một hiệu suất cao và được tích hợp nhiều chức năng. Một ...

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

NHỮNG ĐIỂM LƯU Ý KHI SỬ DỤNG POPUP CHO PHÙ HỢP

Link: http://uxmilk.jp/58208 Popup còn có tên gọi khác là modal window, dialog box hay modal popup. Thế nhưng dù mang tên gì đi chăng nữa, thì ngay bản thân popup cũng đã bị coi là có chút vấn đề cần xem lại về mặt khả năng sử dụng. Khi đánh giá vào tần suất hiển thị popup trong một website ...

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

4 yếu tố của việc thiết kế game(Phần 2)

Ở phần trước chúng ta đã biết về Thử Thách, những thử thách tạo nên sự thú vị , những trải nghiệm cho người chơi. Vậy làm sao để tăng sự thú vị cho những thử thách, chúng ta sẽ đến với yếu tố thứ hai của việc thiết kế game. Những lựa chọn, đặc biệt là những lựa chọn mang nhiều ý nghĩa sẽ làm cho ...

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

Tìm hiểu về Assertion trong Selenium TestNG.

Trong khi thực hiện testing, việc chúng ta verify được Expected Result của Testcase là điều quan trọng nhất. Nó sẽ đánh giá được rằng Testcase của chúng ta sẽ là Pased hay Failed, đã đảm bảo sản phẩm chạy đúng như spec của khách hàng hay chưa. Dù là Manual Testing hay Automation Testing thì cũng ...

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

Ràng buộc giá bán và nhập trong angularjs

Em muốn kiểm tra làm sau cho người dùng nhập vào phải giá bán không được **nhỏ hơn ** giá nhập . Mấy anh chị hướng dẫn có demo càng tốt hihi : Em cảm ơn !

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

Internal and external interface

One of the most important principles of OOP is the separation of the internal interface from the external. It's a must practice in developing anything more complicated than hello world. To understand this, we will digress from the development and translate the view on the objects of the real ...

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

Agile Scrum (Phần 1)

I. Sơ lược về Agile 1. Agile là gì? Agile là cách thức làm phần mềm linh hoạt để làm sao đưa sản phẩm đến tay người dùng càng nhanh càng tốt càng sớm càng tốt và được xem như là sự cải tiến (ở một khía cạnh nào đó) khi đặt cạnh những mô hình cũ như Mô hình Thác nước Phát triển lặp & ...

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

Hướng dẫn sử dụng gem Versionist cho các ứng dụng RESTful APIs

Ta sử dụng gem versionist để quản lý phiên bản khi viết các ứng dụng có API. Một phiên bản của API bao gồm: Namespaced controllers/routes Namespaced presenters Namespaced tests Documentation Bước 1: Cài đặt gem versionist Ta chèn thêm dòng sau vào gem file sau đó chạy bundle install. ...

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