Tạo ứng dụng nhận dạng văn bản cho Android bằng Tesseract

Để viết một ứng dụng Android có khả năng nhận biết các ký tự trong văn bản theo bản thân mình tưởng tượng dường như rất khó khăn và có vẻ cao siêu. Tuy nhiên, sau khi tìm hiểu một vài thông tin, mình nhận thấy Tesseract hoàn toàn có thể đơn giản hóa ý tưởng của mình. Mình sẽ sử dụng thư viện Tess ...

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

Người Úc đưa công nghệ Blockchain vào trong giáo dục

Trong khi ở nhiều nước, người dân vẫn còn đang ‘điên cuồng’ với những dự án tiền ảo làm giàu nhanh chóng thì nhiều quốc gia phát triển đã nắm rõ ý nghĩa của công nghệ blockchain và đang giảng dạy công nghệ này cho công dân của mình. Tại một trường tiểu học tại Úc, người ta thấy những ...

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

Using UIToolBar to custom style for paragraph

Mở đầu: UIToolBar chắc đã khá quên thuộc đối với mọi người. UIToolBar được sử dụng nhiều trong rất nhiều app để control các chức năng như: App nghe nhạc: play, pause, stop, next, previous, ... App đọc tin tức: new, back, next, bookmark, share, save, delete, ... ... Bài này mình chỉ ...

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

10 dự đoán về phát triển phần mềm năm 2018

Blockchain , NLP , AI , machine learning , serverless computing và devops sẽ thay đổi cuộc sống của lập trình viên ra sao trong năm 2018 này? Các lập trình viên chắc chắn đang rất hào hứng trước những cơ hội mới vào thời điểm hiện tại, khi những công nghệ như blockchain, chatbots, ...

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

Sử dụng Child view controller trong Swift

Trong lập trình iOS nói riêng và các nền tảng của Apple nói chung thì chúng ta luôn đau đầu với việc gom các tính năng mà được sử dụng bởi nhiều view controller khác nhau lại một chỗ. Một mặt chúng ta muốn hạn chế tối đa code trùng lặp, mặt khác vẫn phải đảm bảo được sự tách biệt giữa các component ...

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

Lộ thông tin người dùng bởi session-replay scripts

Bạn có thể biết rằng hầu hết các trang web có tập lệnh phân tích của bên thứ ba ghi lại những trang bạn truy cập và các tìm kiếm bạn thực hiện. Nhưng gần đây, ngày càng có nhiều trang web sử dụng session-replay scripts. Các tập lệnh này ghi lại các phím bấm, di chuyển chuột và hành vi cuộn cùng với ...

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

Build Jenkins, dockers, rails project

Tiếp tục sau phần 1 viết về giới thiệu về CI và một số tool CI cơ bản đặc biệt là jenkins. Hôm nay mình viết phần tiếp theo tìm hiểu thêm vào các plugin của jenkins và thực hiện demo một project rails build bằng docker và CI-tool là jenkins. Bài viết này sẽ thực hiện những công việc cài đặt plugin ...

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

PLUGIN: TẠO PLUGIN TRONG INTELLIJ

1. Plugin là gì? Trong kỹ thuật máy tính, plugin là một bộ phần mềm hỗ trợ mà thêm những tính năng cụ thể cho một phần mềm ứng dụng lớn hơn. Nếu được hỗ trợ, plug-in cho phép tùy biến các chức năng của một ứng dụng. Mục đích và một số ví dụ: Môi trường phát triển tích hợp dùng các plug-in để hỗ ...

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

Rspec: Định nghĩa matcher riêng

Các matcher được xây dựng sẵn trong Rspec rất tốt nhưng không đầy đủ. May mắn là chúng ta có thể tạo ra được những matcher riêng, và đương nhiên chúng ta có thể sử dụng chúng trên toàn bộ project. Để chứng minh một cách rõ hơn vì sao chúng ta cần phải định nghĩa một matcher riêng, chúng ta sẽ sử ...

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

Tìm hiểu về Android KTX(Phần 1)

Hôm nọ rảnh rỗi lang thang trên mạng thì mình cũng thấy 1 cụm từ lạ lạ : Android KTX , vì tò mò nên cũng có lướt qua các trang web xem nó là cái gì , sau 1 hôm tìm hiểu thì mình xin "mạn phép" được viết vài dòng về cái KTX này =)) Andorid KTX là gì ? Là 1 bộ các Kotlin Extension dành cho việc ...

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

Tạo giao diện bàn phím (Keyboard) trên Android

Trong bài hướng dẫn này, tôi sẽ hướng dẫn các bạn cách tạo một bàn phím ảo của riêng bạn trên Android trên Android Studio. Bàn phím này có thể thay cho bàn phím hệ thống được sử dụng trong bất kỳ ứng dụng nào được cài đặt trên điện thoại mình. Tạo giao diện cho Bàn phím**** Đầu tiên cần làm ...

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

[Translate] Clean code JS - Part 2

Testing Testing thì quan trọng hơn shipping. Nếu bạn không có test hoặc không đủ, thì mỗi lần ship code bạn sẽ không chắc là mình có làm hư hại thứ gì không. Việc quyết định những gì để tạo thành số lượng test đủ là do team của bạn, nhưng việc có 100% độ bao phủ (tất cả các câu lệnh và rẽ ...

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

Phân Biệt Thẻ <section> và Thẻ <article> trong HTML5

HTML5 giới thiệu một loạt các thẻ mới giúp các lập trình viên frontend có thể đánh dấu trang văn bản HTML một cách rõ ràng và chi tiết hơn. Tuy nhiên cách sử dụng của một số thẻ mới này đã gây ra không ít bối rôi cho các lập trình viên. Hai trong số các thẻ khiến người dùng cảm thấy bối rối khi sử ...

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

Giới thiệu các thư viện hữu ích trong lập trình giao diện android (Phần 1)

Chào các bạn, Thư viện trong lập trình nói chung và lập trình android nói riêng là một thứ mà có lẽ bất kỳ lập trình viên nào cũng đã từng sử dụng cho dự án của mình. Thế nhưng không phải ai cũng tìm được cho mình những thư viện chất lượng nhất, phù hợp với app của mình. Ngày hôm nay tôi xin giới ...

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

Giải thích Machine Learning với các bạn "mù" công nghệ thế nào?!!

Đi chợ mua cam Giả sử một hôm bạn phải đi mua cam ngoài chợ. Người bán hàng bày la liệt các giỏ cam, bạn có thể chọn bất cứ quả cam nào theo sở thích. Người bán hàng sẽ cân số cam và bạn sẽ trả tiền theo mỗi cân cam đó. Rõ ràng, bạn muốn chọn những quả cam ngọt nhất (bởi vì bạn trả tiền theo ...

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

Các ngân hàng có thực sự ứng dụng công nghệ blockchain

Ngay cả sau khi Bitcoin đã được thừa nhận rộng rãi – như một loại tiền của giới mọt sách, như dầu bôi trơn cho thương mại trên các dark web, hay như một bong bóng trực vỡ – nền tảng công nghệ blockchain của nó vẫn còn khá bí ẩn đối với đa số mọi người. Đối với giới truyền thông, Ross Ulbricht ...

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

Kiểm thử Mobile - Robotium framwork

Robotium là một công cụ viết bằng mã nguồn mở dùng để kiểm thử hộp xám tự động dành cho các ứng dụng trên điện thoại hệ điều hành android. Với sự hỗ trợ của Robotium, chúng ta có thể viết các test case về test chức năng, hệ thống, và acceptance test scenarios, bao phủ các tính năng của Android. ...

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

Áp dụng công nghệ blockchain và ICO trên thị trường chứng khoán

Blockchain và ICO đang trở thành phép thần kỳ để tạo ra tốc độ tăng giá cổ phiếu lên tới 3 con số. Có một cách đơn giản cho một công ty bán trà xanh đóng chai hay nội thất để cổ phiếu thu về mức tăng trưởng khủng. Đó chính là thêm chữ công nghệ blockchain vào tên công ty hoặc phát hành tiền số. ...

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

Tìm hiểu về retrofit trong android

Nếu bạn chán với việc tạo ra 1 đống callback khi code , thì mình sẽ giới thiệu cho các bạn : Cách viết hàm get , post dùng cho tất cả mọi request ! Mình sẽ lấy dữ liệu về dưới dạng JsonElement và dùng JsonParser để parser ra object mình cần ! public interface HttpClient { ...

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

Phân biệt "By value" vs "By reference" trong Javascript

Ngôn ngữ lập trình đầu tiên mà tôi học đó là C++, và trong khi học ngôn ngữ này, tôi được học khái niệm về pass-by-value và pass-by-reference; C++ mặc định sử dụng pass-by-value cho việc truyền argument vào function. Bạn cũng có thể chỉ định việc sử dụng pass-by-reference bằng cách đặt một dấu ...

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