Tạo Dữ liệu Lazy Load với bắt sự kiện scroll kết hợp gem will_paginate trong RoR

1. Giới thiệu về load dữ liệu theo kiểu lazy load: Nếu bạn là một người hay mua sắm online trên mạng ví dụ như trang Lazada chẳng hạn, thì chắc mọi người cũng biết về nút tải thêm hay khi scroll xuống dòng thì sẽ load thêm dữ liệu. Đó được gọi là tải dữ liệu theo kiểu lazy load, nói đơn giản hơn ...

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

JIRA Tutorial - Giới thiệu về JIRA

Tất cả các hướng dẫn về JIRA trong loạt bài : Giới thiệu về JIRA và công cụ theo dõi dự án Các vẫn đề được xử lý thế nào trong JIRA? Tạo và làm việc với các Task trong JIRA Quản lý vấn đề , Tiến trình công việc và tính năng báo cáo Các khía cạnh quản trị của Công cụ kiểm tra JIRA Sử ...

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

Blockchain Smart Contract - Vietnam Mobile Day 2018

Blockchain Smart Contract Viet Nam Mobile Day 2018 đã diễn ra tại Hà Nội vào ngày 15/06/2018. Với cái tên hoa mỹ là Bữa tiệc công nghệ lớn nhất năm. Và may mắn ngay hôm đó mình đã thu xếp được công việc để tham dự event này. Hơn 40 bài thuyết trình đã được trình chiếu. Với bài trình chiếu ...

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

Học Python cơ bản (P1)

Python là gì? Python là một ngôn lập trình bậc cao do Guido van Rossum tạo ra vào 1990 và nó có cấu trúc rõ ràng sáng sủa, và dễ học với bất cứ ai muốn học về lập trình. Python được dùng trong rất nhiều lĩnh vực: khoa học dữ liệu, web, machine learning... Vd như các trang web nổi tiếng: Quora, ...

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

Kotlin: Best practice cho Unit test (phần 2)

4. Use Backticks and @Nested Inner Classes Đặt tên của method test trong backticks. Điều này cho phép các "spaces" trong tên phương thức cải thiện khả năng đọc. Bằng cách này, chúng ta không cần thêm annotation @DisplayName. @Nested của JUnit5 rất hữu ích để nhóm các method test. Các ...

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

3 giải pháp tránh trả về NULL lập trình với Java

Lập trình viên Java thì ai cũng biết đến exception kinh điển là NullPointerException. Nó là một RuntimeException, nó bắn ra khi đoạn code xử lý biến null. Với hầu hết các ứng dụng, null được trả về vì ba lý do chính: (1) để biểu thị rằng không có phần tử nào cho danh sách trả về, (2) báo hiệu rằng ...

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

Tổng hợp các bài viết giới thiệu tính năng mới trong Java 8

Oracle đã phát hành một phiên bản Java 8 vào ngày 18/03/2014. Đây là một phiên bản mang tính cách mạng của Java cho nền tảng phát triển phần mềm. Nó bao gồm các nâng cấp khác nhau cho lập trình Java, JVM, Tools và các thư viện. Một số tính năng mới chủ yếu của Java 8 bao gồm: Default method ...

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

API cho ứng dụng Catface: Serverless, AWS S3, AWS Rekognition

Tôi bắt đầu làm việc như một lập trình viên toàn thời gian từ cuối năm 2015. Tôi cùng với nhóm làm việc của mình xây dựng các service cho các ứng dụng web, ứng dụng di động. Hồi đó hầu như tôi không biết gì về các server - nơi mà những đoạn code của tôi được thực thii, tôi sớm phải tìm hiểu về ...

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

Phát triển nghề nghiệp và động lực cho các chuyên gia kiểm thử phần mềm

Trong bất kỳ ngành nghề nào, chìa khóa quan trọng để hoàn thành tốt công việc của bạn là tìm ra cách để luôn có động lực trong công việc, những kỹ năng mới hoặc đảm nhận những trách nhiệm mới. nó rất quan trọng đối với sự hài lòng trong công việc và tiến bộ trong nghề nghiệp. ...

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

resize hình ảnh với amazon-s3 aws-lambda và amazon api-gateway

1. Vấn đề về resize ảnh trong s3 Để tối ưu image và tăng tốc độ load web, chúng ta cần phải tối ưu lại dung lượng của ảnh và kích thước của nó. Điều này đã được amazon s3 hỗ trợ khá là đầy đủ. Về cơ bản khi ta có link s3 public, nếu có quyền sửa ảnh và muốn chỉnh kích thước, thì chỉ cần thêm ...

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

Làm thế nào để có thể viết bug report tốt

Tại sao cần bug report thật tốt? Nếu bug report của bạn hiệu quả, thì cơ hội để nó được fix sẽ cao hơn. Bởi vậy việc fix 1 bug phụ thuộc vào cách bạn report nó ra sao. Việc report 1 bug chỉ là 1 kỹ năng và tôi sẽ giải thích làm thế nào để đạt được kỹ năng này. “Mục đích của việc viết bug ...

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

10 SCP Commands to Transfer Files/Folders in Linux

Khi làm việc trên với Linux ta nên quen thuộc với môi trường CLI. Vì chế độ GUI trong các máy chủ Linux không giống như Window. SSH có thể là giao thức phổ biến nhất để cho phép người dùng Linux quản lý các máy chủ từ xa một cách an toàn. Built-in với lệnh SSH có lệnh SCP. SCP được sử dụng để sao ...

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

JWT with Laravel 5.5 and Angular 4 (Phần cuối)

Chào các bạn chúng ta lại gặp lại nhau trong phần cuối của serie sử dụng JWT trong Laravel 5.5 và Angular 4. Hôm nay mình sẽ trình bày về các phần còn lại như: Logout, Refresh Token, Profile... Bạn có thế thấy sau khi login, localstorage sẽ có các key và value tương tự như thế này ...

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

Tạo google app để login google bằng gem devise

1. Giới thiệu Gem Devise là thư viện khá phổ biến trong lập trình ruby on rails. Việc sử dụng gem devise cho chức năng login, logout, signup ... được hỗ trợ gần như đầy đủ. Việc login bằng tài khoản google hay facebook đã trở nên quá phổ biến, 2 ông lớn này cũng cung cấp khá đầy đủ api hỗ trợ ...

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

Tạo ứng dụng chat đơn giản với elixir và phoniex

I. Elixir là gì Được tạo ra bởi kỹ sư José Valim (core contributor của Rails) vào năm 2011 Elixir được viết dựa trên nền tảng của Erlang Erlang là một ngôn ngữ lập trình chủ yếu cho các chương trình phân tán, và đỏi hỏi tính song song lớn, tuy nhiên lại không được sử dụng rộng rãi bởi sự xấu ...

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

10 function helper hữu ích trong php

Trong bài viết này mình xin chia sẻ với các bạn một số hàm mà mình hay sử dụng trong các project hiện tại. 1. Random 1 chuỗi string – Tham số: $length: Độ dài chuỗi bạn muốn random. function randomString ( $length = 10 ) { $characters = '0123456789abcdefghijklmnopqrstu ...

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

Xây dựng nhanh chóng API với Django Tastypie [Phần 3]

Tiếp theo phần 1 và phần 2, phần 3 này mình sẽ giới thiệu về cách sử dụng Non-ORM Data Sources trong Tastypie Requirement trước khi đọc phần này là bạn phải đọc qua phần 1 tại đây Okay, vì sao mình lại giới thiệu phần này? Khi bạn đã cảm thấy quá bí bách với Tastypie. Khi bạn cảm thấy quá nhàm ...

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

Những điều cơ bản về kiểm thử phần mềm nhúng (Phần 2)

Những đặc điểm riêng biệt của phần mềm nhúng so với phần mềm ứng dụng là: Phần mềm nhúng phải chạy đáng tin cậy mà không bị rơi vào vô hạn. Phần mềm nhúng thường được sử dụng trong các ứng dụng mà ở đó nếu con người sống sẽ đe dọa. Các hệ thống nhúng thường rất nhạy cảm với chi phí, phần ...

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

Parse JSON API trong ruby

Trang The Ruby Toolbox có liệt kê ra không dưới 25 HTTP clients. Trong bài viết này, mình xin giới thiệu 4 thư viện phổ biến nhất. Hãy xem cách các thư viện này lấy và dịch kết quả JSON từ một API RESTful như thế nào. Với mỗi thư viện, sẽ có một ví dụ tương ứng, và 4 đoạn code ví dụ đó sẽ: ...

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

Paginationtrong Laravel 5.3

Xin chào các bạn. Hôm nay mình sẽ tiếp tục về series về Laravel. Và hôm nay mình sẽ giới thiệu với các bạn về cách sử dụng Paginationtrong trong Laravel Giới thiệu Sử dụng cơ bản Phân trang kết quả từ Query Builder Phân trang kết quả từ Eloquent Tạo thủ công một Paginator Hiển ...

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