Tìm hiểu về Nested Attributes trong Ruby on rails

Xin chào các bạn đây là bài viết đầu tiên của tôi trên viblo, tôi là một new dev về Ruby, vì vậy việc tìm hiểu về các công nghệ, kỹ thuật mới là việc không thể thiếu. Chính vì vậy, hôm nay chúng ta sẽ cùng tìm hiểu về kỹ thuật Nested Atrributes nhé. Mở đầu về Nested Attributes Kỹ thuật này cho ...

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

Giới thiệu về ARCore

Giới thiệu về ARCore ARCore là một nền tảng của Google dùng để trải nghiệm thực tế ảo tăng cường. ARCore sử dụng các API khác nhau, giúp điện thoại của bạn có thể cảm nhận được môi trường xung quanh, hiểu được thế giới thực và tương tác với các thông tin trong thế giới thực. Một số API đã có sẵn ...

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

Kỹ Thuật Phân Tích Giải Thuật

Trong bài viết này chúng ta sẽ nghiên cứu những vấn đề sau: Sự cần thiết phải phân tích các giải thuật Thời gian thực hiện chương trình Tỷ suất tăng và độ phức tạp của giải thuật Tính thời gian thực hiện chương trình 1. Sự cần thiết phải phân tích các giải thuật Trong khi giải ...

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

Microservice từ bàn giấy đến triển khai - Phần 1 Microservice là cái gì ?

Dạo gần đây, cái dự án đang làm càng ngày càng phình ra, tính năng chồng chéo, muốn update cái này lại dính đến cái kia, nhiều lúc chả biết phải làm thế nào. Hỏi ý kiến các huynh đệ thì được xui tìm hiểu Microservice, nào là dễ quản lý, dễ deploy, phát triển nhanh, vân vân và mây mây. Ô-khê được ...

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

Cơ bản về background process

Giới thiệu chung về Background process: Tất cả các ứng dụng android đều có 1 thread chính là UI thread. Thread này sẽ chịu trách nhiệm trong việc tính toán, vẽ giao diện, tương tác với người dùng và xử lý các sự kiện trong vòng đời của các thành phần trong ứng dụng. Nếu UI thread có quá nhiều ...

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

Giới thiệu về Room Persistence Library

Room là một abstract layer cung cấp các cách thức truy cập cơ sở dữ liệu SQLite. Các lợi ích mà Room đem lại: Đơn giản hoá các hoạt động liên quan đến cơ sở dữ liệu. Xác thực các câu truy vấn tại thời điểm biên dịch, điều này giúp tránh các lỗi về cơ sở dữ liệu xảy ra khi ứng dụng đang hoạt ...

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

Tìm hiểu về công nghệ App Thinning

iOS 9 ra mắt với nhiều điều mới mẻ. Chỉ sau vài tuần ra mắt thì hệ thống đã mới đã được cài đặt hơn một nửa số thiết bị iOS, đó là tỉ lệ chấp nhận từ phía người dùng nhanh nhất trong tất cả các phiên bản iOS, nó đã vượt qua kỉ lục của iOS 7 vào năm 2013. Trong bài viết này chúng ta cùng nhau tìm ...

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

Làm việc với ActionSheet Popover trên iPad

Gần đây khi làm việc với một số app trên iPad, mình gặp một vài vấn đề với việc present một ActionSheet, nên tiện đây ghi ra hi vọng sẽ giúp được các bạn phần nào. Nếu các bạn đã quen làm việc với các app trên iPhone, khi muốn tạo một ActionSheet thì hẳn là các bạn không còn lạ lẫm với đoạn code ...

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

Hiểu sao về Virtual DOM trong ReactJs?

Khi làm việc với ReactJs, sớm hay muộn chúng ta cũng sẽ nghe đến Virtual DOM. Nghe DOM thì có vẻ quen quen, vậy thêm Virtual vào thì khác gì? Hoặc bạn được nói là Virtual DOM ngon lắm, nhanh lắm thì có thực sự đúng không? nguồn: w3school DOM là tên gọi tắt của Document Object Model ...

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

[Android] Tìm hiểu về Custom View và xây dựng thư viện Circular Seekbar

Hôm nay mình sẽ hướng dẫn các bạn tạo ra một custom view Seekbar dạng vòng như bên dưới, tạo thư viện và đẩy lên JCenter. Trong bài viết này, mình sẽ nói một số khái niệm cơ bản về custom view trong android và làm thế nào để xuất bản thư viện. Hãy xem cách widget này hoạt động, người dùng có thể ...

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

Lập trình Shell (Bash script)

Thay vì phải thực thi nhiều câu lệnh phức tạp, mất thời gian, chúng ta có thể viết vào một file để thực thi nó, chúng ta gọi đó là shell script. Trong bài viết hôm nay minh sẽ giới thiệu với các bạn những câu lệnh cơ bản để có thể tạo ra một file bash script. Trong linux có nhiều shell khác nhau ...

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

Vài bước trước khi move ứng dụng sang docker

Có người khuyên chúng t nên build ứng dụng của mình với Docker. Chúng ta đã research và quyết định rằng sẽ chuyển từ build ứng dụng theo cách thông thường sang dùng docker. Dưới đây là một vài bước có thể có ích trước khi chuyển sang dùng docker. 1. Đặt câu hỏi là ngôn ngữ gì viết lên ứng dụng ...

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

Vòng đời của một component trong Reactjs

Xin chào tất cả mọi người sau một thời gian vắng mặt hôm nay mình đã quay trở lại. Hôm nay chúng ta cùng tìm hiểu về vòng đời của một component trong ReactJs. Hình dưới đây minh học cho một vòng đời của một component: 1) Initialization Tương tự hàm khởi tạo (constructor) được gọi đến ...

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

Sever side with Vapor(P2)

Trước khi chúng ta cùng tìm hiểu sâu hơn về Vapor, chúng ta cần nắm được cơ chế hoạt động chung của HTTP và Web. Sức mạnh của web : HyperText Transfer Protocol - HTTP là nền tảng của web. Mỗi khi bạn ghé thăm một website, trình duyệt của bạn sẽ gửi HTTP request đến và nhận về những response từ ...

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

Viết test cho VueJS

Việc đảm bảo chất lượng dự án luôn là điều cần thiết, có nhiều cách để thể hiện chất lượng dự án, viết test cho dự án thể hiện khá rõ ràng chất lượng cuả nó. Mình sẽ giới thiệu các bạn viết test cho dự án viết bằng VueJS. Trước tiên là làm việc với Vue nên các plugin cho vue sẽ là vue ...

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

[Computer Vision] Object Detection (nhận diện vật thể) chỉ với 10 dòng code sử dụng ImageAI

Một trong những lĩnh vực quan trọng của Trí tuệ nhân tạo (Artificial Intelligence) là thị giác máy (Computer Vision). Computer Vision là một lĩnh vực bao gồm các phương pháp thu nhận, xử lý ảnh kỹ thuật số, phân tích và nhận dạng các hình ảnh, phát hiện các đối tượng, tạo ảnh, siêu phân giải ...

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

Các khái niệm cơ bản về kiểm thử phần mềm

Chào các bạn, hôm nay tôi muốn chia sẻ với các bạn : những người vừa mới bước chân vào nghề kiểm thử như tôi hoặc ai đó muốn tìm hiểu qua đôi chút về lĩnh vực này một số khái niệm cơ bản về kiểm thử phần mềm. Bắt đầu nào </p> <div class= Tác giả: Tạ Quốc Bảo viết 18:15 ngày 12/08/2018

Machine Learning cho người mới bắt đầu (Part 3)

Xin chào các bạn, trong phần 2 của series Machine Learning cho người mới bắt đầu , mình đã giới thiệu tới các bạn 2 giải thuật Machine Learning cơ bản: Linear Regression cho bài toán hồi quy tuyến tính (regression problem) và Logistic Regression cho bài toán phân loại (classification ...

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

Thử tạo một chương trình mã nguồn mở với các công cụ GNU

Phần mềm máy tính từ khi ra đời đến giờ luôn đóng vai trò quan trọng và quyết định đến sự thành công của các thiết bị máy tính. Và ngày nay, phần mềm máy tính vẫn đang ngày càng phát triển, đa dạng cả về số lượng lẫn tính năng. Mọi công việc trong cuộc sống có sử dụng máy tính thì đều có những ...

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

BrSE có cần thiết phải master một ngôn ngữ lập trình?

Có rất nhiều bạn hỏi tôi rằng Anh ơi e chỉ biết tiếng Nhật thì có làm kỹ sư cầu nối được không? Hay là Anh ơi e đang là QA và có nhu cầu muốn đi học tiếng Nhật để về làm BrsE, a thấy được không ạ? Và bất chợt tôi cũng giật mình ngẫm lại câu hỏi này cũng đúng đối với chính bản ...

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