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 ...
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 ...
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ỉ ...
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, ...
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 ...
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 ...
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 ...
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ỗ ...
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ì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ạ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 ...
[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ẽ ...
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ử ...
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 ...
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 ...
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 ...
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. ...
Á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ì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 { ...
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 ...