Android Testing & Automation

Tại sao phải kiểm thử android? Android là hệ điều hành lớn nhất trên thế giới. Có hàng tấn thiết bị và phiên bản android mà ứng dụng của bạn cần tương thích. Dù bạn đầu tư nhiều thời gian vào thiết kế và thực hiện thì sai lầm vẫn là điều ko thể tránh khỏi, và lỗi vẫn sẽ xảy ra Những hiểu lầm ...

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

Các cấp độ của nghề làm Web

Tại sao tôi lại nói là nghề làm Web mà không phải thiết kế Web, lập trình Web hay chung chung như phát triển Web? Vì theo tôi làm Web là một nghề sử dụng rất nhiều kỹ năng và có một chỗ đứng vô cùng quan trọng ngày nay. Từ thiết kế, lập trình, kiểm thử, thậm chí là DevOps... Làm Web có thể coi là ...

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

Tìm hiểu Laravel từ số 0 (P10)

Để kết thúc chuỗi bài giới thiệu cơ bản về Laravel 5 thì trong phần 10 này tôi sẽ trình bày nốt về quan hệ nhiều - nhiều trong Laravel trên Model và UI. Ví dụ cho lần này sẽ là chức năng gán tag vào các bài viết để hiểu về quan hệ nhiều - nhiều cụ thể như thế nào. Nếu bạn từng viết blog chắc ...

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

Hiệu ứng icon đẹp mắt với CSS3: Circle social share

Xin chào các bạn. Ngày hôm nay chúng ta lại gặp nhau trên Viblo và mình xin chia sẻ với các bạn một Tip rất hay về CSS3. Hẳn là với thời buổi phát triển mạnh của các mạng xã hội như hiện này, người người dùng mạng xã hội thì đi đâu lang thang vào website nào bây giờ đa phần chúng ta đều bắt gặp các ...

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

Quy trình phân tích nghiệp vụ: 8 bước để trở thành 1 BA tốt

Khi được phân công một dự án mới tới tư cách 1 BA là một điều rất tuyệt vời. Tuy nhiên cũng có thể mang lại nhiều căng thẳng. Bạn phải tự hỏi rằng, chính xác mong đợi của dự án là gì, bạn sẽ deliver những gì và làm thế nào để đảm bảo được thành công trong dự án. Dưới đây là quy trình 8 bước mà ...

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

Tự học Swift - Part 1

1. Data type Các kiểu dữ liệu cơ bản trong Swift: Type Typical Bit Width Typical Range Int8 1byte -127 to 127 UInt8 4bytes 0 to 255 Int32 4bytes 0 to 4294967295 UInt32 8bytes -9223372036854775808 to 9223372036854775807 UInt64 4bytes 1.2E-38 to ...

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

Một số tính năng cơ bản trong Javascript ES6

Lời nói đầu Xin chào 500 anh em, Trong buổi seminar hôm nay mình sẽ giới thiệu về những điểm mới trong JavaScript ES6, Một phiên bản Javascript với cú pháp rất gọn, linh hoạt, dễ tiếp cận hơn phiên bản Javascript trước đó. Hiện tại đã có phiên bản JavaScript ES7,ES8 và sắp tới sẽ có phiên bản ...

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

Sử dụng Sentry để theo dõi lỗi và sự kiện trong Javascript

Bài toán Dạo gần đây mình được giao task làm module Call Center tích hợp vào trong CRM của công ty. Nói ngắn gọn thì công việc của mình là viết giao diện cho API của bên cung cấp dịch vụ Tổng Đài Gọi Điện thông qua giao thức SIP và tích hợp nó vào CRM. Chuyện sẽ chẳng có gì cho đến khi sếp muốn ...

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

Note về lỗi liên quan đến zip timestamp khi deploy code dùng AWS CodeDeploy

Hôm nay, trong quá trình push code để deploy cho khách hàng, mình có gặp một lỗi như sau : Cảm xúc lúc mới đọc lỗi lần đầu là wtf, code deploy thì liên quan m* gì đến zip file mà lại tòi ra cái lỗi này. Phản ứng trước hết là nghĩ xem lỗi đó là do đâu: CI config có vấn đề. Code vừa đẩy ...

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

Xây dựng app scan QR code sử dụng Google Mobile Vision

Ngày nay Barcodes and QR Codes được sử dụng rộng rãi trong rất nhiều ứng dụng di động. Trong QR Code bạn có thể lưu trữ thông tin như văn bản, sms, email, url, hình ảnh, âm thanh và vài định dạng khác. Trong Android bạn có thể trích xuất thông tin được lưu trữ trong mã vạch bằng cách sử dụng Thư ...

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

Hướng dẫn tạo biểu đồ bằng thư viện MPAndroidChart

MPAndroidChart là 1 thư viện khá là tiện ích đối với chúng ta, nó hỗ trợ nhiều loại biểu đồ khác nhau tùy với mục đích sử dụng của mỗi người. Sau đây tôi sẽ demo 1 vài biểu đồ của nó. Đây là biểu đồ hình tròn được sử dụng nhiều, giúp biểu thị kích cỡ các mục trong một chuỗi dữ liệu, tỷ lệ với ...

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

Scrum-software development

"Scrum cách tiếp cận rất mới mẻ và sáng tạo giúp giải quyết các khó khăn và phức tạp" Scrum là 1 phương pháp phổ biến nhất trong các phương pháp phát triển phần mềm theo tư tưởng agile, nó thường là phương pháp đầu tiên được các doanh nghiệp lựa chọn để áp dụng khi quyết định chuyển đổi từ mô hình ...

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

Xây dựng ứng dụng "Quản lý Task" với Rails và ReactJS

Mô tả The best way to learn is by doing. The only way to build a strong work ethic is getting your hands dirty. ― Aristotle, The Nicomachean Ethics Câu nói đó rất hay, mình nghĩ rằng cách tốt nhất để học một điều gì là bắt đầu làm với nó. Chuỗi bài viết này mình sẽ cùng các bạn xây dựng ...

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

Import dữ liệu dùng background job và hiển thị phần trăm tiến trình

Trong bài viết lần này mình sẽ tiếp tục về việc xử lý import hoặc upload một lượng data lớn, yêu cầu thời gian chạy lâu các công nghệ dùng trong bài viết: - ActionCable (websocket) - Background Job - Ajax khi bạn xây dụng một ứng dụng về quản lý hay đơn giản là một trang web quản lý video ...

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

Tự học lập trình C cơ bản qua video hướng dẫn

Nếu bạn mới bắt đầu học lập trình thì C là ngôn ngữ lập trình mà bạn nên lựa chọn. C được xem là ngôn ngữ lập trình “xưa” nhất nhưng đến nay vẫn là ngôn ngữ phổ biến trong giảng dạy về lập trình máy tính tại các trường cao đẳng, đại học. C là ngôn ngữ lập trình rất logic, chặt chẽ, ...

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

Hiểu rõ hơn về lỗ hổng website với Webgoat

Bảo mật thông tin đang là thách thức rất lớn đối với các chuyên gia trong ngành, bởi các lỗ hổng và phương thức khai thác lỗ hổng ngày càng phức tạp và tinh vi. Hầu hết chúng ta nghĩ việc hack các trang web như một hoạt động bất hợp pháp nhằm đánh cắp thông tin hoặc làm gián đoạn công việc kinh ...

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

Xây dựng APIs bằng Laravel với Eloquent API Resources

Một chức năng mới được bổ sung trong Laravel 5.5 là API Resources, bạn có thể đọc tại liệu chính thống tại đây Trong khuôn khổ bài viết này mình sẽ tìm hiểu xem thằng này có rì ngon </p> <div class= Tác giả: Hoàng Hải Đăng viết 16:01 ngày 12/08/2018

Web Speech Recognition

Web Speech API The Web Speech API enables you to incorporate voice data into web apps. The Web Speech API has two parts: SpeechSynthesis (Text-to-Speech), and SpeechRecognition (Asynchronous Speech Recognition.) Mặc dù đây mới chỉ là công nghệ thử nghiệm nhưng nó cũng khá lý thú. Trong bài ...

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

Tạo thanh search view theo phong cách material design nhanh chóng với thư viện FloatingSearchView

Github: https://github.com/arimorty/floatingsearchview Floatingsearchview là một thư viện custom searchView được giới lập trình android đánh gía khá cao. Floatingsearchview của tác giả arimorty cung cấp một giao diện tìm kiếm theo đúng phong cách material design với một thanh tìm kiếm nổi và hiển ...

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

Time zone trong rails và postgresql có gì đặc biệt ?

1. Mô tả Time zone được hiểu là thời gian phân chia theo các múi giờ các nhau. Vậy thì việc xử lý time zone trong rails và postgresql như thế nào thì chúng ta có bối cảnh như sau Ví dụ: Model.where("date(created_at) = ?", Time.zone.now) Câu lệnh này đơn giản là tìm ra tất cả những ...

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