Hướng đối tượng trong Scala (Scala phần 2)

Sau khi kết thúc các kiến thức căn bản phần 1, chúng ta sẽ tiếp tục với lý thuyết hướng đối tượng trong Scala. Class là một thiết kế chi tiết nhằm tạo ra các đối tượng và các thể hiện của class. Một class bao gồm các khai báo biến và phương thức. Khai báo class cũng giống như hầu hết các ngôn ...

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

Ajax in Rails

1. Giới thiệu Xin chào tất cả các bạn, hiện nay Ajax được sử dụng rất nhiều trong các ứng dụng web mà mọi người đang nói tới hàng ngày, vậy nó là gì? Bạn có thể hiểu nôm na Ajax là một nhóm các công nghệ phát triển web được sử dụng để tạo các ứng dụng web động hay các ứng dụng giàu tính ...

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

Tìm hiểu CMS Wordpress P4 - Lập trình theme WordPress - Css cho theme, sử dụng js và bổ sung các template phụ

Phần tiếp theo này của loạt bài lập trình theme cho WordPress, mình sẽ giới thiệu cách thêm css, js cho theme của WordPress - vì mỗi người có thể có cách style css khác nhau cho theme nên mình chỉ giới thiệu cách register các file css, js trong WordPress. Ngoài ra sẽ bổ sung thêm các template phụ ...

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

Technical Debt - Nợ kĩ thuật - Nợ code không chỉ trả bằng code

Mở đầu Dạo gần đây đọc được một khái niệm khá thú vị Technical Debt - Nợ Kĩ thuật . Đây là một món nợ mà hầu hết các lập trình viên đều phải gánh trong suốt đời gõ phím của mình. Hẳn các bạn đang thắc mắc lập trình viên chúng mình đều là những thanh niên siêng năng chăm chỉ (chơi ngày cày ...

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

Mail in Laravel (P2)

Tiếp nối với bài viết lần trước Mail in Laravel, bài viết lần này mình sẽ trình bày tiếp vê phần Mail trong Laravel. 3. Writing Mailables d. Attachments Để đính kèm tập tin vào một email, sử dụng các method attach được xây dựng trong class mailable . Phương pháp attach chấp nhận đường ...

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

Một số câu lệnh JavaScript hữu ích để thao tác với DOM

Với một người lập trình web, chắc hẳn bạn đã quá quen thuộc với khái niệm DOM - Document Object Model. Đơn giản thì có thể hiểu DOM là đối tượng được sử dụng bởi các trình duyệt để xác định cấu trúc của một trang web, và từ cấu trúc này để xuất ra các thành phần HTML cho chúng ta Mặc dù ...

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

Các định nghĩa và thuật ngữ trong kiểm thử phần mềm (Phần 2)

Các định nghĩa và thuật ngữ trong kiểm thử phần mềm (Phần 2) (Link phần 1: https://viblo.asia/nguyen.thu.phuong/posts/MJyGjQlqvPB) H Hazard analysis - Phân tích nguy hại : Một kỹ thuật được sử dụng để mô tả các yếu tố rủi ro (risk). Kết quả của phân tích nguy hại sẽ ...

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

Cross-Site Scripting (XSS)

Nhiều người nghĩ Cross-Site Scripting không hề nguy hiểm, có lẽ vì họ nghĩ XSS đơn giản chỉ là sử dụng javascript tạo ra một hộp thoại thông báo. Cũng vì lý do đó mà nhiều Web-master thường chủ quan khi không lọc dữ liệu vào – ra (input – output). Trong bài này mình sẽ tìm hiểu lỗ hổng XSS nó ...

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

[The mythical man-month] The Surgical Team - Nhóm Phẫu Thuật

Tiếp nối chương 2 của cuốn The mythical man month, chúng ta đến với chương số ba của cuốn sách này, nói về cách xây dựng một nhóm làm việc hiệu quả. Trong một cuộc hội thảo về công nghệ thông tin, chúng tôi được nghe đi nghe lại ý kiến của những quản lý trẻ, rằng họ thích các nhóm nhỏ, với những ...

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

Tìm hiểu chuẩn bảo mật U2F và UAF

U2F và UAF đang là 2 chuẩn bảo mật được các hãng công nghệ nghiên cứu và đưa vào khai thác rộng rãi trong thời gian ngắn tới đây. Vậy, chuẩn bảo mật này hoạt động thế nào, bảo mật ra sao và chúng có những đặc điểm gì hấp dẫn cũng như cách chúng bảo vệ dữ liệu người dùng? I. Nhu cầu cho U2F và ...

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

Giải pháp Big Data - Hadoop

1. Big data là gì? Với sự phát triển không ngừng của mang xã hội, sự ra đời của các thiết bị mới tiên tiến, mọi hoạt động thường ngày đang dần được internet hóa. Dẫn đến lượng thông tin ngày càng đa dạng đã đặt ra thách thức cho các nền công nghiệp khác nhau phải tìm một phương pháp khác để xử ...

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

Grape API endpoint

Trong việc làm API, việc dùng gem Grape khá phổ biến (https://github.com/ruby-grape/grape), hiểu rõ hơn về endpoint trong Grape sẽ làm ta chủ động hơn trong việc dùng gem này. Endpoint có thể chia là 2 loại, error endpoint và success endpoint. A. Error endpoint Đơn gỉan là endpoint trả về từ ...

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

Try to use turnip_support gem

turnip-support is a gem that support testing features of Rails applications using turnip, rspec and headless browser. Now i will show an example to test Rails application with turnip_support gem. Design database Role id name User id name login_id role_id password ...

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

Tracking SQL queries in Rails

Trong quá trình phát triển, và đặc biệt là giai đoạn tối ưu của một app Rails, một trong những vấn đề được quan tâm nhất là về các SQL query. Bất cứ ai cũng từng đặt ra các câu hỏi như: Để thực hiện một request này cần bao nhiêu query? Để chạy hết số query đấy mất bao lâu? SQL query nào là ...

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

TOP 16+ Usability Testing Tools để thử nghiệm ứng dụng web của bạn

Trong thời đại ngày nay của việc số hóa, trang web là cách thuận tiện nhất để truy cập số lượng lớn các thông tin dưới dạng các tài liệu, hình ảnh, liên kết, vv.. Kiểm tra các trang web bằng cách sử dụng công cụ kiểm tra khả năng sử dụng trước khi đưa nó trong môi trường sống. Trang web thu hút ...

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

Tìm hiểu về command grep

Với người dùng hệ điều hành Linux thì command grep không phải quá xa lạ. Với grep có thể giúp chúng ta tìm kiếm nhanh hơn và chính xác hơn, dễ tùy biến option search .Hôm nay mình xin chia sẻ một số option của grep 1.Grep? 「grep」 là command hiển thị line chứa chuỗi kí tự trong file .Có thể ...

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

Coroutines

Khi ta gọi một hàm, nó sẽ chạy đến khi hoàn thành hết các câu lệnh rồi mới return. Điều này có nghĩa là bất kì 1 hành động nào được đặt trong hàm sẽ phải được thực hiện chỉ trong 1 lần update frame. 1 lần gọi hàm không thể được sử dụng để thể hiện các bước của 1 animation hay 1 chuỗi các sự kiện. ...

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

Part3- Một số thuộc tính của Selenium Python Bindings

Ở bài viết trước các bạn đã biết căn bản về Selenium Python và một số thuộc tính Navigating, Interacting with the page, Filling in forms, Drag và Drop, Moving between windows and frames, Popup dialog, Navigation: History and location, Cookies, Locating Elements thông qua bài viết: https://viblo.asi ...

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

Giả lập kết nối mạng yếu trên các thiết bị iOS

Bạn đã từng và đang lập trình các ứng dụng cần có kết nối internet, và bạn đang không biết làm cách nào để giả lập kết nối mạng để test các trường hợp kết nối đến server? Bài viết này sẽ giúp bạn có thêm kinh nghiệm về việc tạo ra các kết nối có tốc độ khác nhau sử dụng các thiết bị iPhone, iPad và ...

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

Redux middleware

Middleware có thể sử dụng cho nhiều mục đích khác nhau bao gồm gọi API không đồng bộ. Nó cung cấp một bên thứ ba để can thiệp vào giữa thời điểm dispatch một action và thời điểm action được chuyển đến reducer Redux middleware sẽ chặn lại các action để can thiệp và chỉnh sửa action đó hoặc nó có ...

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