非常实用的GitHub项目
CoilCoil是Android上的一个全新的图片加载框架,它的全名叫做coroutineimageloader,即协程图片加载库。与传统的图片加载库Glide,Picasso或Fresco等相比。该具有轻量(只有大约1500个方法)、快、易于使用、更现代的API等优势。它支持GIF和SVG,并且可以执行四个默认转换:模糊,圆形裁剪,灰度和圆角。示例如
希望的天 希望的天
4年前
Android-图片加载库Coil使用教程
框架介绍Coil是Android上的一个全新的图片加载框架,它的全名叫做coroutineimageloader,即协程图片加载库。与传统的图片加载库Glide,Picasso或Fresco等相比。该具有轻量(只有大约1500个方法)、快、易于使用、更现代的API等优势。它支持GIF和SVG,并且可以执行四个默认转换:模糊,圆形裁剪,灰度和圆角。
Wesley13 Wesley13
3年前
SPI应用场景及详解
java中spi(serviceproviderinterface)是jdk内置的一种服务发现机制,可以基于配置,在运行时加载指定服务。java中提供了很多服务提供接口,如jdbc、jndi等。面对分布式的开发,很多系统之间的调用都是使用rpc直接调用,但是有的时候上游的系统需要调用下游系统很多的接口,导致开发工作量很大。因此上游系统使用sp
Stella981 Stella981
3年前
Spring Data Jpa最佳实践
前言SpringDataJpa框架的目标是显著减少实现各种持久性存储的数据访问层所需的样板代码量。SpringDataJpa存储库抽象中的中央接口是Repository。它需要领域实体类以及领域实体ID类型作为类型参数来进行管理。该接口主要用作标记接口,以捕获要使用的类型并帮助您发现扩展该接口的接口。CrudRepository、JpaRe
Easter79 Easter79
3年前
TiDB DM踩坑实践总结
一、背景在早期从MySQL到TiDB实施同步操作过程中,我们大多数用的是mydumperloader进行整体全量备份的导出,之后拿到meta信息后,通过syncer实现增量同步,整体操作起来比较麻烦,涉及的配置文件较多,其基本原理就是Syncer通过把自己注册为一个MySQLSlave的方式,和MySQLMaster进行通信,然后不
Wesley13 Wesley13
3年前
Golang处理大数据时使用高效的Pipeline(流水线)执行模型
Golang被证明非常适合并发编程,goroutine比异步编程更易读、优雅、高效。本文提出一个适合由Golang实现的Pipeline执行模型,适合批量处理大量数据(ETL)的情景。想象这样的应用情景:(1)从数据库A(Cassandra)加载用户评论(量巨大,例如10亿条);(2)根据每条评论的用户ID、从数据库B(MySQL)关联用户资
Stella981 Stella981
3年前
Netty学习三:线程模型
1Proactor和ReactorProactor和Reactor是两种经典的多路复用I/O模型,主要用于在高并发、高吞吐量的环境中进行I/O处理。I/O多路复用机制都依赖于一个事件分发器,事件分离器把接收到的客户事件分发到不同的事件处理器中,如下图:!(https://oscimg.oschi
可莉 可莉
3年前
2016.2.16 k12在线教育的全面架构设计
1.业务场景 公司要进行多个城市的互联网教育项目,业务是天朝正统k12(呜呼哀哉)的教育范儿,现总用户量大概在300万左右,按照现有情况估算3年后会达到千万左右,按照用户量百万级的标准进行设计,高发时段并发可达100万QPS。2.业务架构!(http://sta
Stella981 Stella981
3年前
Redis的持久化
RDB模式1、什么是RDB每隔一段时间,把内存中的数据写入磁盘,恢复的时候,他会自动从工作区拿出来进行恢复2、RDB的优劣势优势每隔一段时间,全量备份备份简单,可以直接传输文到其他地方备份的过程中会fork一个新的进程来进行文件的存储劣势发生
Stella981 Stella981
3年前
Android依赖注入应用
依赖注入(DI)是一种设计模式,允许在运行时或编译时移除或改变硬编码的依赖性。使用依赖注入库可以减少编码量、把精力专注在更有价值的地方、降低维护成本。Android程序通常使用注解(Annotation,例如@Click)实现“声明式编程”和依赖注入。注:“声明式编程”告诉机器在什么地方做什么事(Where