Customize MediaPlayer using TextureView

Như các bạn đã biết việc chạy một video, audio là rất phổ biến trong công việc coding nhất là với Android, với mỗi developer có vô vàn cách sử lý trong trường hợp này: Code trực tiếp với MediaPlayer. Gọi đến Intent (để cho thằng khác xử lý). Hay sử dụng 1 open source, 1 lib đã được phát ...

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

Vai trò của SQA và SQA leader trong Agile

Trong quá trình làm việc với Agile chắc hẳn cũng có nhiều người thắc mắc về SQA trong mô hình Agile, và hơn thế là SQA leader trong mô hình Agile. Qua tìm hiểu thông tin và hỏi ý kiến của nhiều trainer về Agile, tôi cũng đã tổng hợp được một số ý kiến về vai trò của SQA – hay còn gọi là Tester ...

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

Cơ bản về eager_loading

Hôm nay mình xin được hướng dẫn các bạn về ý nghĩa và cách sử dụng cơ bản của một kĩ thuật truy vấn trong cơ sở dữ liệu (cụ thể ruby) đó là eager_loading: includes, preload, eager_load Để hiểu về cách sử dụng mình sẽ đưa ra 1 ví dụ nhỏ như sau: class Category < ActiveRecord : : ...

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

Break down Regex

Trong thời gian gần đây mình mới làm quen với regex, cảm thấy regex rất tiện lợi, đa dụng và được hỗ trợ nhiều ngôn ngữ (Bash,C,C++,java,PHP,Golang....).Nếu bạn đã từng gặp vấn đề như định dạng số điện thoại của người dùng nhập vào là xx-xx-xx-xx ,xxxx-xxxx,xx-xxxxxxx.... và muốn chuyển tất cả về 1 ...

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

Tổng hợp về rails g migration

Tiếp theo seri một số bài viết giới thiệu cho người mới làm quen với Rails, tuần này mình sẽ giới thiệu với các bạn tổng hợp 1 số câu lệnh về rails g migrate. Câu lệnh cơ bản # create migration $ rails generate migration class_name # tạo model $ rails generate model model_name ...

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

Làm thế nào để debug và fix bug nhanh hơn

Ai trong chúng ta cũng đều muốn thiết kế ra một phần mềm tuyệt vời, code được viết một cách hoàn hảo, ấn run và chạy được luôn mà không có một bug nào xảy ra. Nhưng thực tế rằng, chúng ta đã dành nhiều thời gian cho việc debug - gỡ lỗi hơn là cho việc code ...

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

Giới thiệu về Microservices

Microservices hiện được quan tâm trong giới phần mềm, công nghệ với nhiều bài viết, blog, thảo luận, truyền thông, hội thảo. Kỳ vọng về khả năng của Microservice đang lên đỉnh giống như một xu thế. Ngược lại, một số người cho rằng, microservices không có gì mới lạ, chẳng qua nó là SOA (kiến trúc ...

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

Bây giờ thì tôi đã biết đôi chút về Docker :D

1. Nguồn Now I understand a little bit how docker works 2. Động cơ Hiểu biết về những kiến thức mới và các trào lưu trong giới lập trình luôn là những điều hứng thú với bất kỳ developer nào, mình cũng không ngoại lệ. Mặc dù bây giờ mới tìm hiểu về docker có thể bị coi là quá muộn, tuy nhiên ...

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

Giới thiệu về làm game Rắn cho nokia

Trở lại với thời trẻ trâu cấp 3, trong giờ học cắm cúi chơi rắn cho bằng bạn bằng bè trên chiếc nokia huyền thoại. Thời gian gần đây tìm hiều ngôn ngữ python tôi vô tình biết được cách tạo ra game huyền thoại đó. Cách thức của trò chơi là có một chú rắn con háu ăn thèm lớn. Chú ta đi ăn cho ...

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

Redis: giải quyết bài toán lưu trữ dữ liệu

Abstract: Redis là một hệ thống hỗ trợ lưu trữ dữ liệu và được lưu trữ trên ram để truy suất một cách nhanh chóng, nó hỗ trợ việc truy suất dữ liệu và một cách nhanh chóng. Và hiện nay, redis đã được dùng khá phổ biến, nên tài liệu về giới và cài đặt của nó khá nhiều trên mang, do đó, trong bài ...

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

ActionCable trong Rails 5

I. Mở đầu Xin chào các bác (lay2) Ngày 30/6 vừa rồi, Rails 5.0 chính thức releases, đi cùng với nó là rất nhiều sự thay đổi và cải tiến (honho) Bài viết dưới đây, tôi sẽ đề cập tới ActionCable - một trong những điểm nổi bật nhất của phiên bản mới này. Trên Viblo cũng đã có nhiều bài ...

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

Hướng dẫn scale Laravel horizontally với Docker

Homestead đã được tạo ra bởi Taylor (người tạo ra Laravel) để dễ dàng tạo ra các môi trường phát triển PHP, nó cung cấp một môi trường phát triển ổn định qua các dự án và hoàn toàn tương thích với Laravel. Vậy Docker là gì? Tạo sao ta nên sử dụng nó? Docker về cơ bản là một programmable ...

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

Tìm hiểu về Imperative và Declarative Programming

Nội dung Giới thiệu Declarative Programming là gì? Lợi ích mang lại của Declarative Programming Kết Luận Giới thiệu Chắc hẳn đa số các bạn lập trình viên đều nghe qua hoặc đã làm quen với khái niệm Functional Programming vì chính bản thân cái tên cũng đã nói lên phần nào đặc trưng ...

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

Áp Dụng ReCaptcha vào hệ thống sử dụng Ruby On Rails

Chắc các bạn cũng không xa lạ gì với phương pháp xác thực người dùng trên mạng Internet phổ biến nhất là phương pháp dùng captcha. Đây là phương pháp tạo ra đoạn kí tự với phần chữ bị làm méo đi nhưng vẫn đảm bảo con người có thể đọc ra được mà các công cụ tự động không nhận ra được. Thường ...

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

Sử dụng DevTools chrome để kiểm tra các trang web như thế nào?

Nhiều trang Web về cơ bản là hệ thống phức tạp hiện đại với html, css, web services, thông tin liên lạc được mã hóa, kịch bản trình duyệt/ ứng dụng/ một thư viện được phân phối (giống như javascript, flash…), sự đa dạng của các ứng dụng/ thư viện/ kho dữ liệu có thể chạy ở phía máy chủ thêm ...

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

Swift và xử lý lỗi

Xử lý lỗi trong Swift đã là một quá trình khá dài rồi, từ Swift 1.0 cơ. Nó bắt đầu lấy cảm hứng từ Objective C. Swift 2.0 với rất nhiều cải tiến và bất ngờ. Cũng như nhiều ngôn ngữ khác, việc xử lý lỗi rất cần thiết và đáng được quan tâm. Các lỗi khác nhau và cách xử lý cũng khác nhau. Tuỳ thuộc ...

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

Hướng dẫn bỏ túi viết SVG - Chương 3

Có lẽ khía cạnh quan trọng nhất của SVG, sau khi hiểu cấu trúc chung của nó và làm thế nào để tạo ra hình dạng cơ bản, là nhận được cách nắm bắt không gian làm việc và sử dụng, hay nói cách khác, các hệ thống mà đồ họa sẽ được ánh xạ phối hợp. Sự hiểu biết về không gian làm việc của SVG là hữu ...

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

Gửi mail tự động dùng bash shell và mailx

Ở 2 bài trước tôi đã giới thiệu một chút về cron và bash shell, cũng đã đưa ra một ví dụ nhỏ kết hợp xử lý dùng cả 2 cái đó. Trong bài này, tôi sẽ tiếp tục sử dụng những kiến thức đã biết để demo 1 ứng dụng trong thực tế, đó là gửi mail tự động. Case tôi đưa ra là tôi có 1 website, người sử ...

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

macOS cho người mới bắt đầu

Mở đầu Mình giống với nhiều lập trình viên khác là có dịp tiếp xúc và tìm hiểu nhiều hệ điều hành khác nhau cả trên máy tính lẫn điện thoại. Tuy nhiên có một cái tên rất nổi tiếng mà mình lại chưa từng thử qua hay chính xác hơn là chưa có cơ hội thử đó là macOS (với tên gọi cũ là OS X). Đến khi ...

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

Tìm hiểu về UI/UX

Bài được dịch từ fastcodesign giúp bạn có thêm kiến thức về công việc, bao gồm cả chia sẻ những mô tả về công việc thiết kế tại Google, Apple, Facebook… Thiết kế là một thuật ngữ khá rộng và mơ hồ. Vì vậy khi ai đó nói “Tôi làm nghề thiết kế” chắc chắn nó không đủ thông tin để ...

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