Core Graphics Tutorial - Part 1

Core graphics tên gọi khác “Quartz”, là 1 trong những framework lâu đời nhất trên ios cung cấp các API liên quan đến đồ hoạ như: vẽ các hình thoi tròn vuông, fill màu vẽ bóng, xử lý hình ảnh, hoặc dùng transform view quay góc, zoom to nhỏ, tạo ảnh, các bộ lọc ảnh, hay thậm chí tạo ...

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

Performance với SQLite

Methodology Mỗi thí nghiệm liên quan đến việc so sánh hai hoặc nhiều cách insert 1000, 10.000 và 100.000 bản ghi ngẫu nhiên được tạo thành hai loại bảng khác nhau. Một bảng rất đơn giản (simple) bao gồm một cột số nguyên duy nhất. Một bảng (tracks) thực tế hơn mô tả một tập hợp các bản ...

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

Định luật murphy đối với một developer

Nếu có một điều xấu có thể xảy ra, nó sẽ xảy ra, và vào thời điểm tệ nhất có thể! Anything that can go wrong, will go wrong! Định luật Murphy Có thể hiểu đơn giản như thế này: “Nếu có hai hay nhiều cách để làm một điều gì đó, và một trong những cách đó có thể dẫn đến thảm hoạ, thì ...

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

Kiến trúc hệ thống trên Laravel – phần 9

Các bài viết trong series Kiến trúc hệ thống trên Laravel – phần 1 : Tại sao phải áp dụng architect vào trong Laravel Kiến trúc hệ thống trên Laravel – phần 2 : OOP, Interface, Dependency Injection, IoC Kiến trúc hệ thống trên Laravel – phần 3 : Phân tích sâu vào việc sử dụng interface Kiến trúc ...

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

Lưu dữ liệu dưới client bằng LocalStorage

Api LocalStorage cho phép web dev lưu dữ liệu dưới dạng key-value trên máy của user. Việc lưu dữ liệu như vậy sẽ giúp cải thiện performance khi mà số lượng request database phía server được giảm đi, từ đó giảm chi phí hạ tầng server. Trước khi có sự ra đời của LocalStorage, các dev khi muốn lưu ...

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

Làm việc với Custom Font trong Android O

Trong bài viết này, mình sẽ giới thiệu cho các bạn cách thiết lập môi trường để hỗ trợ phiên bản Android O preview, và làm thế nào để tạo ra text tự động co giãn để phù hợp với cấu hình màn hình hiện tại. Qua ví dụ này, chúng ta sẽ thấy được cách Android O làm việc với custom fonts như nào. Thêm ...

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

RXJava và DiffUtil

Nếu bạn đang sử dụng RecyclerView và phải thường xuyên update dữ liệu từ API khi thay đổi, bạn có thể đã dùng class DiffUtil. Tiện ích tuyệt vời này giúp bạn tạo ra một loạt call đến notifyItemInserted (), notifyItemRemoved (), ... trên adapter bằng cách đơn giản so sánh phiên bản hiện tại của dữ ...

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

Part 1. Predict Dota 2 match winner by the first 5 minutes of the game. Gradient Boosting.

Introduction Dota 2 is a computer game in the MOBA (Multiplayer Online Battle Arena) genre. It is played by two teams, called Radiant and Dire which consist of five players each. The main goal of the game is to destroy other team's “Ancient", located at the opposite corners of the map. ...

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

Những điều có thể và không thể với AutoDraw

Chắc hẳn không ít designer đã biết đến công cụ AutoDraw của Google. AutoDraw là công cụ miễn, người dùng chỉ cần phác họa nhanh những nét vẽ cơ bản, và AutoDraw sẽ đưa ra những gợi ý bằng hình ảnh giúp bạn. Chúng ta có thể sử dụng những hình ảnh đó đưa lên website hoặc đơn giản là dành ...

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

Thử Nghiệm Với Angular: Content Projection Trong Angular

Làm thế nào để sử dụng lại các component trong Angular 2+, hay làm sao để có thể nhúng content của một component cho một component khác. Bài học này sẽ giới thiệu cho các bạn về Content Projection trong Angular sử dụng ng-content directive. 1: Nhúng một phần content vào một component 1.1: ...

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

Laravel 5.3 - Passport (Part 3)

Tiếp tục với tutorial laravel passport. Hôm nay mình sẽ hướng dẫn code phần Password Grant 1 trong những grant của Oauth2. Về Password grant là gì thì các bạn có thể tham khảo ở đây. https://viblo.asia/tungshooter/posts/3OEqGjDpR9bL#grant-type-resource-owner-password-credentials-11 Password grant ...

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

Giới thiệu một số tính năng mới trong Android O (Phần I)

Android O giới thiệu nhiều tính năng và khả năng mới cho người dùng và nhà phát triển. Bài viết này nêu bật những tính năng mới cho các nhà phát triển. Thông báo Trong Android O, Google đã thiết kế lại thông báo để cung cấp một cách dễ dàng và nhất quán hơn để quản lý hành vi và cài đặt thông ...

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

Kiểm tra một website chuẩn SEO

SEO là viết tắt của Search Engine Optimization , có thể hiểu nôm na là Tối ưu hóa công cụ tìm kiếm. Tức là làm trang Web và các nội dung số có được thứ hạng cao trên bảng xếp hạng tìm kiếm của các trang Search như Google, Bing, Yahoo... SEO là một phần của SEM ( Search Engine marketing) và là ...

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

10 eBooks tốt nhất để trở thành Master Windows 10 (Phần 1)

Như các bạn đã biết, Windows 10 cho phép nâng cấp miễn phí và đây là phiên bản Windows tôi thích nhất từ trước đến giờ. Và để tìm hiểu thêm nhiều thông tin về Windows 10, tôi đã thử search một vài cuốn ebooks trên internet, có một vài cuốn miễn phí còn lại bạn cần trả tiền để mua chúng. Sau đây tôi ...

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

Basics of CSS Blend Modes

1.Blend Mode là gì? Mỗi bản thiết kế Website đều mang một phong cách riêng. Điểm dễ nhận thấy nhất là màu sắc, màu sắc chủ đạo của bản thiết kế đó. Ví dụ, với các thiết kế cho lĩnh vực “Insurance”, “medica” tôi thấy các designer thường lựa chọn cho mình những màu chủ đạo ...

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

Day 3 - Space shooter 2

さて、スペースシューター作りの続きをやっていきます。 前回まではプレイヤーの機体の作成をして弾を撃てるようにしました。 Infinity bullet しかし、撃てるようにしただけでは一つ問題というか気になる点があります。 実は今、弾を発射していくと弾が消えずにゲーム上で無限に増えていっているんです。 ゲーム画面上では弾は上に飛んで見えなくなるのでわかりませんが、ヒエラルキーウィンドウはこのようになっています。 Bolt(Clone)というのが弾のオブジェクト、これがどんどんと増えていっています。 そこで、弾が画面外に行ったら消してあげるようにします。 ...

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

5 bước cài đặt LEMP stack trên Ubuntu 16.04

LEMP stack là một nhóm các phần mềm được sử dụng để tạo nên một web server xử lý ngôn ngữ PHP. Nhóm phần mềm này gồm hệ điều hành Linux, phần mềm chạy dịch vụ web server là Nginx. Cơ sở dữ liệu được lưu trữ trên MySQL và ngôn ngữ động PHP. Trong bài hướng dẫn này mình sẽ hướng dẫn các bạn 5 bước ...

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

10+ Solutions for Responsive Data Tables

Gặp sự cố khi ghép bảng của bạn vào một trang web ứng dụng? Nó nhìn tuyệt vời trên bố cục của máy tính để bàn, nhưng lại bị vỡ trên thiết bị di động. Ở đây, tôi sẽ giới thiệu một giải pháp cơ bản mà tôi đã sử dụng, tiếp theo là một danh sách các plugin và công cụ khác mà bạn có thể muốn sử dụng. ...

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

Code War 2017 - Online Round Write-ups - Part 1

Vậy là vòng Sơ loại của cuộc thi Code War 2017 đã chính thức khép lại sau những giờ thi đấu quyết liệt, đầy kịch tính, chắc hẳn đã để lại nhiều trải nghiệm và kỷ niệm thú vị cho các đội chơi. Ban tổ chức xin gửi đến các bạn phần write-up của các bài Code Puzzle lần này, hi vọng sẽ mang lại ...

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

Accessibility Testing là gì ? (Phần 3)

Tóm tắt các phần: Phần 1: Định nghĩa Accessibility Testing và tại sao phải thực hiện test Accessibility, cách test Accessibility như thế nào. Phần 2: Các loại khuyết tật Phần 3: Các công cụ kiểm thử khả năng truy cập. Để làm cho trang web của bạn dễ được chấp nhận và thân thiện hơn, điều quan ...

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