Một vài mẹo để tăng performance cho Rails

Như chúng ta đã biêt, đối với một website điều quan trọng nhất là để lại ấn tượng cho người dùng và cung cấp những thông tin mà người dùng quan tâm, và đối với các nhà phát triển web như chúng ta, chúng ta luôn luôn phải đối mặt với một bài toán muôn thủa Performance Performance quyết định rất ...

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

Làm thế nào để tạo một bản deep copy của một object trong Java

Khi chúng ta muốn copy một object trong Java, có hai khả năng mà chúng ta có thể xem xét - shallow copy và deep copy. Shallow copy là cách tiếp cận khi chúng ta chỉ sao chép các giá trị trường và do đó bản sao có thể phụ thuộc vào object gốc. Còn theo hướng deep copy thì đảm bảo rằng tất cả các ...

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

Auto deploy Node.js app lên server qua SSH với GitLab CI/CD và PM2

Chào các bạn, nếu các bạn chưa biết tới GitLab thì có thể tham khảo bài viết Tìm hiểu về Gitlab của tác giả Le Thi Ngoc Anh trên Viblo. Cũng giống như Github, GitLab là nơi giúp bạn có thể lưu trữ mã nguồn của mình free và private. Tuy nhiên, bạn có thể mua các gói dịch vụ khác phù hợp hơn ...

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

Những Script Selenium WebDriver đầu tiên - Các lệnh cơ bản

Như các bạn cũng đã biết , Selenium Webdriver (Se driver) là một tool open source giúp việc thực thi các hành động lên trang web một cách tự động, tất nhiên là tùy vào mục đích và yêu cầu của người viết. Se driver hỗ trợ viết script trên nhiều ngôn ngữ khác nhau: Java, C#, python, PHP,... Về ...

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

Agile Là Gì và Các Phương Pháp Kiểm Thử Agile

1. Phương Pháp Agile Là gì? Phương pháp Agile là một cách chú trọng vào việc lặp lại liên tục sự phát triển và kiểm thử xuyên suốt vòng đời phát triển phần mềm của dự án. Cả 2 hoạt động phát triển phần mềm và kiểm thử của mô hình Agile đều hoàn toàn khác biệt với mô hình Waterfall. Sự phát ...

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

Kết hợp Bootstrap Carousel với CSS3 Animations

Khi vào một trang web bất kì, điều gì lôi cuốn bạn? Với mình yếu tố đầu tiên quyết định mình có ở lại trang web đó hay không đó chính là giao diện. Thông thường khách hàng sẽ yêu cầu nhà phát triển thêm slider hoặc carousel để hiển thị nội dung trên trang web với mục đích làm cho trang web tươi ...

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

Laravel deep dive: Tìm hiểu về hệ thống notification của Laravel

Với các hệ thống hiện này gửi thông báo tin tức, thông báo xác nhận đăng ký, thông báo quên mật khẩu hay reset mật khẩu cho người dùng là vô cùng cần thiết. Đây có thể là đòi hỏi bắt buộc với các hệ thống website có tương tác nhiều với người dùng hiện này. Với Laravel nó đã cung cấp sẵn cho chúng ...

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

Cron job với Nodejs qua ví dụ đơn giản - Tự động tổng hợp doanh thu và xuất ra file excel lúc 23h hằng ngày

Giới thiệu Ngày hôm nay mình xin được viết bài về vấn đề tạo cron job với Nodejs qua việc tạo một ứng dụng đơn giản. Ví dụ, chúng ta có một trang web bán hàng, và chúng ta muốn web app của chúng ta sẽ tự động tổng hợp doanh thu cũng như tình hình kinh doanh trong ngày, rồi xuất ra một file excel ...

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

Scope the Monkey: Refinements in Ruby

Kỹ thuật Open Class trong Ruby hay còn gọi là monkey patch là một kỹ thuật meta programming cho phép các developer có thể thêm phương thức mới hay refine định nghĩa lại phương thức đã tồn tại trong một class. Nhưng thật không may là phạm vi của những thay đổi như vậy mang tính global. Do đó, ...

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

23 câu truy vấn hữu ích trong ElasticSearch [Phần 1]

Để minh họa các loại truy vấn khác nhau trong Elasticsearch, trong bài viết này, chúng ta sẽ cùng nhau tìm kiếm tập hợp các book documents với các field sau: title, authors, summary, release date, and number of reviews. Trước hết ta cần tạo index mới và đánh index cho các document: PUT ...

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

Một cách đơn giản để thực hiện 1 buổi Sprint Retrospective

Start, Stop, Continue retrospective Có lẽ có rất nhiều cách để thực hiện một buổi retrospective cũng như là có nhiều team đã thực hiện. Đây là một trong số đó, nó đã được áp dụng trong nhiều năm, và cho nhiều đội. Bắt đầu tiến hành một buổi retrospective bằng cách hỏi các thành viên trong ...

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

Tìm hiểu về Wicket Framework (Phần 1)

Giới thiệu Wicket đã được phát triển từ năm 2004 và trở thành Apache Project từ năm 2007. Trong những năm này, Wicket đã chứng minh rằng nó là một giải pháp vững chắc và có gía trị để xây dựng enterprise web applications. Các Core Developer của Wicket đã thực hiện những công việc tuyệt vời để tạo ...

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

Mọi người thu thập thông tin bằng cách nào ?

Mở đầu Đối với kỹ sư thì năng lực thu thập, cập nhập thông tin thường xuyên là rất quan trọng. Ban đầu thì quyết tâm thu thập thông tin hằng ngày nhưng mà không chịu đọc, hoặc là không có thói quen hàng ngày thu thập thông tin hoặc là việc cập nhật thông tin mới nhất hàng ngày có người lại cảm ...

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

Làm sao kết nối với mobile để test performance bằng Jmeter

Bắt đầu từ câu hỏi của một chị đồng nghiệp về việc test performance trên mobile bằng Jmeter, giật mình nhận ra mình chưa từng thử test performance trên mobile lần nào :v liệu nó có giống với test trên PC hay ko ? liệu có phải cài Jmeter trên điện thoại giống với trên PC ko nhỉ ? tìm trên viblo ...

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

Hướng dẫn sử dụng Git trong Xcode 9

Chắc hẳn tại thời điểm hiện tại, hầu hết ai trong giới lập trình viên chúng ta cũng đã từng và đang sử dụng Github. Các lợi ích mà Github và git mang lại cho chúng ta như quản lý code, quản lý các version của code,... đã biến Git thành một phần không thể thiếu của lập trình viên. Nhiều bạn có thể ...

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

MOBILE APPS TESTING - VÍ DỤ VỀ TESTCASES & TEST SCENARIOS

Một câu hỏi mà hầu hết những bạn chưa có kinh nghiệm test mobile sẽ đặt ra là: Test apps trên mobile như thế nào? Trong bài viết này, tôi sẽ đưa ra một vài ví dụ về Test scenario/ test cases cho việc testing trên mobile apps. Bạn có thể thực hiện một số hoặc tất cả các Trường hợp kiểm tra dựa ...

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

Kỹ thuật kiểm thử hộp trắng - White-box testing

Bất kỳ 1 sản phẩm phần mềm nào cũng chắc chắn có lỗi, vì sản phẩm phầm mềm do con người xây dựng nên, dù có cẩn trọng, có giỏi đến mức nào thì cũng không thể đảm bảo sản phẩm mình tạo ra là không có lỗi. Do đó, sẽ cần một người, nhóm hoặc tổ chức độc lập kiểm thử xem sản phẩm đó có vấn đề hay có ...

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

Testing Internet of things

Testing Internet of things (IoT) IoT là gì a. Định nghĩa Mạng lưới vạn vật kết nối Internet hoặc là Mạng lưới thiết bị kết nối Internet viết tắt là IoT (tiếng Anh: Internet of Things) Là một kịch bản trong đó các thiết bị được gắn các định danh và liên lạc, trao đổi thông tin với nhau mà ...

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

Tạo Kịch bản test với Selenium IDE - Selenium Tutorial #3

Đây là một trong những bài hướng dẫn khá quan trọng để nắm được công cụ kiểm thử tự động Selenium IDE. Nội dung chính trong bài viết này sẽ tập trung vào việc thực thi các tính năng, hiểu các nguyên tắc cơ bản khi record, sử dụng các câu lệnh sẵn có trong tool để tạo ra một kịch bản kiểm thử tự ...

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

The FEDERATED Storage Engine in Mysql

Chào các bạn, Vừa qua trong dự án mình tham gia có gặp một yêu cầu là join 2 bảng ở hai server khác nhau, sau đó mình tìm hiểu thì biết là trong mysql có một kỷ thuật cho phép chúng ta làm điều đó là FEDERATED Storage Engine. FEDERATED Storage Engine cho phép chúng ta truy cập một database từ xa ...

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