Android - Custom View - Cùng tạo button "Like" sử dụng animation như Instagram/Facebook với StateListDrawable, StateListAnimator

Trong ứng dụng android của bạn, chắc chắn rằng bạn đã từng làm việc với button và có thể là thay đổi trạng thái của button đó. Điều đó bạn có thể bắt gặp trong một số ví dụ như: Khi bạn like hoặc unlike một status trên instagram. Nhưng nếu bạn để ý một chút, để không làm "khô khan" ứng dụng dụng ...

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

Simple demo về kiến trúc CQRS với Spring Boot

CQRS là một pattern cho việc xử lý CRUD dữ liệu, viết tắt của từ Command Query Responsibility Segregation. Trong đó bóc tách thành 2 thành phần Command và Query . Command : là các thao tác ghi dữ liệu - WRITE Query : là các thao tác đọc dữ liệu - READ Tư tưởng của CQRS, là các thao tác ...

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

14 điều cần phải biết đối với lập trình viên IOS

1. Kiểm soát mã nguồn Khi bạn đã được nhận vào làm tại một công ty, việc đầu tiên đó là fetch code từ repo về và làm việc thôi. Mọi Project đều cần có sự kiểm soát mã nguồn, ngay cả khi bạn là người duy nhất phát triển. Phổ biến nhất đó là Git và SVN. a. SVN: SVN được dựa trên một hệ thống ...

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

Layout Guide, Margins, Insets và Safe Area trên iOS 10 & 11

iOS11 mang đến nhiều cải tiến hơn về việc sắp xếp bố cục user interfaces. Nó có thể làm bạn hơi bối rối một chút, và chúng ta cần làm sáng tỏ hơn về margins , insets , scroll views và Safe Area . layoutMargins property Apple đã giới thiệu margin trên iOS8 và đã cho phép sử dụng ...

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

IOS - Một số cách cơ bản để truyền dữ liệu từ model tới controller trong mô hình MVC

Như chúng ta đã biết hiện nay có khá nhiều mô hình được xây dựng và áp dụng trong quá trình phát triển phần mềm như: MVVM MVP MVC VIPER ... Mỗi một mô hình lại có các ưu nhược điểm khác nhau nhưng phần lớn các ứng dụng iOS theo định hướng của Apple đều được xây dựng theo mô hình MVC ...

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

Access Control trong Swift 4

1. Định nghĩa Access control restricts access to parts of your code from code in other source files and modules. This feature enables you to hide the implementation details of your code, and to specify a preferred interface through which that code can be accessed and used. Access control ...

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

Code tởm #1 - Lạm dụng monkey-patching

Cha Matz đẻ ra cái ruby cho phép thực thi meta-programming, món này được cái là code ăn xổi dễ chơi dễ trúng thưởng, code ngắn gọn và cool ngầu, vào tay các đấng tay to thì như phép màu kì diệu, còn đa phần để lại một mùi thum thủm khó quên. Ơ vậy thì tóm lại là dùng hay không ta? ...

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

Custom View Trong Android Với Kotlin

Trong nền tảng android có rất nhiều những class View khác nhau đáp ứng nhu cầu cho việc xây dựng những ứng dụng điển hình trong android.Tuy nhiên trong một số trường hợp những View này không phù hợp với nhu cầu được thiết kế trong ứng dụng của bạn và bạn cần xây dựng một customview để đáp ứng ...

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

Tìm hiểu về Route trong Laravel

Xin chào anh em, tiếp tục series Laravel và những điều thú vị về nó thì hôm nay mình muốn giới thiệu đến anh những kiến thức liên quan đến Route . Nếu như khi mình làm một project bằng PHP thuần thì chúng ta sẽ sử file htaccess dùng để cấu hình máy chủ apache , tức là khi người dùng đánh đường ...

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

Các công cụ tiện lợi cho phát triển web

Bài viết này mình xin giới thiệu một vài công cụ, tiện ích cho việc phát triển web Dragdis là công cụ cho phép bạn lưu lại những ý tưởng, những nguồn cảm hứng mà bạn tìm thấy trên mạng. Đấy có thể là các hình ảnh, video, hay trang web nào đó mà bạn bất ngờ nhìn thấy và muốn lưu lại. Để sử ...

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

Một số vấn đề cơ bản trong Laravel

Nội dung bài viết: Exception and Error Handler CSRF Protection Restful Resource Controllers Request & Responses Scope Accessors & Mutators Laravel cho phép quản lý 1 cách tập trung các exception với lớp appExceptionsHandler. Sử dụng lớp này cho phép chúng ta quản lý lỗi cũng ...

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

Tìm hiểu về các tính năng cơ bản của Jmeter - Phần 2

Bài viết này là sự tiếp nối của "Hiểu biết về các tính năng Jmeter cơ bản - Phần 1". Chúng ta sẽ tìm hiểu qua các tính năng Jmeter được đề cập dưới đây trong bài viết này: 1) HTTP Request Defaults 2) HTTP Cookie Manager 3) User Defined Variables 4) Listeners HTTP Request ...

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

[Vietname Mobileday 2018] - Bức tranh toàn cảnh nóng bỏng về thị trường di động Việt Nam

Sự kiện Mobile Day là chuỗi sự kiện thường niên dành cho giới IT về các lĩnh vực như là Fintech, Blockchain, Cryptocurrency, AI, IoT, Big Data, Mobile Game, App và Digital Marketing . Chủ đề năm nay tập trung vào các mảng chính: What is the future of Fintech ? Blockchain : Bubble or ...

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

Những điều không phải ai cũng nói cho bạn về GIT (Part 1)

Tiếp nối series giải ngố về git, ở bài viết trước mình đã giải thích cho các bạn khá rõ ràng về cấu tạo bên trong một local repo của git gồm những gì, các commit được tạo ra như thế nào, chúng được lưu trữ ra sao trong local repo của chúng ta ( Có thể đọc lại tại đây ). Bài viết hôm nay mình muốn ...

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

[Android] [Rxjava2]  [RxAndroid] Phần 2 -Schedulers

như bài trước mình đã giới thiệu với các bạn về Observable/Subsriber () nhiệm vụ của 2 operators là quyết định luồng của data chúng ta sử lí. Vậy cái gì trong Rxjava định nghĩa những thread này ? và có bao nhiêu loại thread được đinh? những threads này khi nào được sử dụng đó chính là mục ...

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

Tìm hiểu về Blockchain bằng cách làm thử - Part 3

Bước 3: Tương tác với Blockchain của chúng ta Ở phần trước, chúng ta đã có các API của Blockchain sẵn sàng rồi, giờ ta có thể đơn giản là gọi cURL hoặc dùng Postman để tương tác với các API đó. Trước hết hẵn khởi động server của chúng ta lên trước đã: $ python blockchain . py * Running on ...

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

Lập trình hướng đối tượng trong PHP - Phần 3

Xin chào mọi người, đây sẽ là bài viết cuối cùng trong các bài viết về Lập trình hướng đối tượng trong PHP. Ở 2 phần trước mình đã nói tổng quan về lập trình hướng đối tượng trong PHP. Bài viết này mình sẽ nói đến chuẩn PSR và SOLID. Đây là những chuẩn về coding convention trong lập trình PHP. Mong ...

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

How use closure in your project?

Part 1: https://viblo.asia/p/gioi-thieu-ve-closure-trong-swift-ios-1Je5E8z0lnL Hello mọi người. Do có bạn comment hỏi thêm về closure ở bài Part 1 nên mình mạn phép viết thêm 1 chút nữa về closure. Bạn có một sự kiện nhấn vào button ở trong 1 cell trong 1 uitableViewController để gọi ...

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

Chơi nhạc với Singleton Pattern trong iOS Swift

I. Giới thiệu về Singleton Pattern: Singleton Pattern là một mẫu thiết kế phần mềm được sủ dụng để hạn chế sự khởi tạo của các lớp đối tượng. Điều này rất hữu ích khi cần một đối tượng chính xác để điều phối hành động trên toàn bộ hệ thống. Đối với một ứng dụng nghe nhạc, thì Singleton ...

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

Áp dụng I18n trong Ruby on rails

1. I18n là gì ? Trong xu hướng toàn cầu hóa hiện nay, việc các trang web hiển thị với nhiều ngôn ngữ khác nhau là rất cần thiết. Quốc tế hóa trong tiếng Anh gọi là Internationalization, vì có 18 chữ cái ở giữa chữ cái i và chữ cái n nên hay được gọi ngắn gọn là i18n. I18n trong Rails 5.2 ...

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