Một vài mẹo CSS cho Web Developer

Pagespeed Optimization (tối ưu hóa tốc độ trang) là một công việc mà hầu như mọi Web developer đều quan tâm và nên biết, mục đích của nó là đưa nội dung website đến với người xem nhanh nhất có thể. Front-end developer thường làm việc với HTML, CSS, Javascript và các hình ảnh. Do đó, đây cũng là các ...

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

[Android] Tạo một app lockScreen

I.Giới thiệu Khi chúng ta bật điện thoại thì màn hình hiển thị đầu tiền sẽ là LockScreen, có thể coi LockScreen là màn hình mà người dùng tiếp cận nhiều nhất, thỉnh thoảng lại mở xem thời gian, xem tin nhắn. Nhận thấy tầm quan trọng đó của LockScreen các nhà phát triển phần mềm thi nhau tạo ...

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

Multiple row layouts Trong RecyclerView

Trong bài viết hôm nay tôi sẽ nói về việc sử dụng các loại row layout khác nhau trong RecyclerView Bước đầu tiên chúng ta sẽ thêm một vài dependencies tới file build.gradle . Việc sử dụng cardView and RecyclerView chúng ta cần update phần dependency như bên dưới: compile ...

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

Using IBDesignable and IBInspectable to make awesome UI components in iOS

1. User Defined Runtime Attributes Dùng IBInspectable chúng ta có thể sử dụng 1 tính năng rất hay của iOS: user-defined runtime attributes(UDRA). Tính năng này cho phép chúng ta thay đổi trực tiếp các thông số của component trên iOS trên file Xib hay Storyboard Trước khi có IBInspectable để sử ...

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

Mẹo để lập kế hoạch và quản lý Testing Projects có hiệu quả

Lập kế hoạch kiểm thử dự án phần mềm là một trong những tài liệu quan trọng trong quá trình quản lý dự án. Đó là phương thức mà mỗi nhóm cá nhân sử dụng để quản lý các mục tiêu cần đạt được trong một dự án. Là cấp độ gần nhất mô tả rõ ràng, hợp lý cách kiểm thử một dự án phần mềm. Đặc biệt với một ...

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

Phân biệt DOM và SAX parser XML trong Java

Bài viết này được viết dành cho những người phát triển đã hiểu những khái niệm cơ bản về XML (cấu trúc và bản chất thẻ của một tài liệu XML) và còn băn khoăn hoặc chưa biết về việc lựa chọn 1 phương pháp để đọc và phân tích XML bằng cách sử dụng DOM (Document Object Model) hay SAX (Simple API XML). ...

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

<Selenium 2 Testing Tools> Chương 4: Design Patterns

Ở chương này, chúng ta sẽ cùng tìm hiểu về các mẫu thiết kế tốt cho việc tạo các đoạn code có thể sửa chữa và tái sử dụng cho Selenium test. Điều này có nghĩa nếu có thay đổi nào đó trong ứng dụng web hay thay đổi cách tìm kiếm phần tử chẳng hạn, ta có thể chỉ cần thay đổi 1 lần và sửa chữa mọi thứ ...

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

Automation test : Test android with Appium and Cucumber

Appium là một công cụ mã nguồn mở được sử dụng để kiểm thử tự động (test automation) các ứng dụng trên nền tảng iOS và Android Để kiểm thử được các ứng dụng Web tren nền tảng iOS và Android, ta có thể kết hợp giữa selenium webdriver và appium. Bên cạnh đó, Appium hỗ trợ viết test cho rất nhiều ...

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

Sử dụng Planning Poker để Estimate các dự án trong Agile

Planning Poker là gì ? Planning Poker được sử dụng trong agile dựa trên sự đồng thuận trong việc ước tính. Để bắt đầu một lần ước tính, Product Owner hoặc khách hàng đọc một User Story hoặc mô tả một tính năng của sản phẩm với những người tham gia ước tính, thường là tất cả các thành viên ...

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

Tìm hiểu về Unsafe Swift: sử dụng con trỏ trong Swift

Như chúng ta đã biết, Swift là một ngôn ngữ mới được phát triển bới Apple. Trước đây khi code bằng Objective-C, chúng ta rất hay gặp phải trường hợp app crash khi sử dụng một object chưa được khởi tạo. Đối với Swift thì khác, đây là một ngôn ngữ “an toàn” - Mặc định Swift chắc chắn rằng ...

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

7 loại lỗi phần mềm mà mỗi Tester nên biết (7 Types of Software Errors That Every Tester Should Know)

Lỗi phần mềm thuộc nhiều loại. Một lỗi là một lỗi không có vấn đề gì. Nhưng đôi khi, điều quan trọng là phải hiểu được bản chất, ý nghĩa của nó và nguyên nhân để xử lý nó tốt hơn. Điều này giúp cho việc đối ứng nhanh hơn và quan trọng nhất, đối ứng thích hợp. Trong bài viết này, chúng tôi sẽ thảo ...

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

Lấy Unique ID của thiết bị Android

Trong quá trình phát triển ứng dụng Android, đôi lúc bạn cần phải lấy Unique Id của thiết bị. Unique ID tạm hiểu là ID định danh để phân biệt thiết bị đó với các thiết bị khác, nó thường là duy nhất đối với từng thiết bị. Unique ID thường được dùng khi bạn muốn theo dõi lượt cài đặt của ứng dụng, ...

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

Event-driven PHP engines

Traditional PHP serving style assumes it to always run behind web-server, which uses default PHP interpreter or FPM pool to handle requests. This brings limitations, which are the main arguments in criticizing PHP: Every request is being handled separately and memory is freed after request. All ...

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

Bug report, làm sao cho chuẩn?

Để giải thích được câu hỏi đó, bạn cần hiểu được ý nghĩa của Bug, Bug report và Bug Reporting Software. Vậy Bug là gì? Trích từ wikipedia: “A software bug is an error, flaw, failure, or fault in a computer program or system that causes it to produce an incorrect or unexpected result ...

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

ĐẶT BIẾN MÔI TRƯỜNG CỦA BẠN AN TOÀN QUA FIGARO

1. Tại sao Figaro tồn tại Khi bạn đang sử dụng các loại khác nhau của các dịch vụ thông qua các ứng dụng của bạn, bạn sẽ cần một nơi an toàn để lưu trữ thông tin đăng nhập của bạn. Ví dụ, nếu bạn đã thực hiện e-mail trong ứng dụng của bạn, bạn sẽ cần phải lưu tên và mật khẩu của bạn để ứng dụng ...

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

Cẩm nang tạo nên GoodUI! [Chapt2]

Tiếp tục cho nội dung phần trước, tôi bổ sung thêm một vài yếu tố vào mục Cẩm nang này của chúng ta nhé. Luôn sử dụng những câu văn thông báo giúp người dùng nhận biết mình sẽ có thể làm gì. Điều rất quan trọng ở đây chính là phải vẽ ra cho người dùng một cái nhìn rõ ràng nhất phạm vi ...

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

Animation với UIViewPropertyAnimator

Có rất nhiều feature mới được giới thiệu từ iOS 10, một trong số đó là UIViewPropertyAnimator, giúp cho việc xử lý animation lợi hại hơn rất nhiều. Hãy bắt đầu bằng một ví dụ đơn giản, tạo một animation thay đổi thuộc tính center của 1 UIView let animator = UIViewPropertyAnimator ( ...

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

Sử dụng Stripe trong thanh toán trực tuyến(Tiếp)

Token Tạo CardToken trong Stripe require "stripe" Stripe . api_key = "sk_test_BQokikJOvBiI2HlWgH4olfQ2" Stripe : : Token . create ( :card = > { :number = > "4242424242424242" , :exp_month = > 1 , :exp_year = > 2018 , ...

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

Gem TheComments trong Rails

Chào các bạn, hôm nay mình xin giơí thiệu một gem khá mạnh mẽ trong Rails để tạo chức năng comments. Đầu tiên ta cài đặt những gem cần dùng: mở Gemfile và thêm vào: gem "the_comments", "~> 2.2.1" gem 'haml' # or gem 'slim' gem 'awesome_nested_set' # or same gem Sau đó ...

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

Lập trình C cho hệ thống nhúng (P1- Các kiến thức cơ bản)

Hệ thống nhúng (Embedded system) là một thuật ngữ để chỉ một hệ thống có khả năng tự trị được nhúng vào trong một môi trường hay một hệ thống mẹ. Đó là các hệ thống tích hợp cả phần cứng và phần mềm phục vụ các bài toán chuyên dụng trong nhiều lĩnh vực công nghiệp, tự động hoá điều khiển, quan trắc ...

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