Redis 集合(Set)(九)
Redis 集合(Set)
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
实例
redis 127.0.0.1:6379> SADD runoo...
Redis 有序集合(sorted set)(十)
Redis 有序集合(sorted set)
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
有序集合的成员是唯一的,但分数(score)却可以重复。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 -...
Redis 连接(十一)
Redis 连接
Redis 连接命令主要是用于连接 redis 服务。
实例
以下实例演示了客户端如何通过密码验证连接到 redis 服务,并检测服务是否在运行:
redis 127.0.0.1:6379> AUTH "password"
OK
redis 127.0.0.1:6379> PING
PONG
Redis 连接命令
下表列出了 redis 连接的基本命令:
...
运行Redis时发生错误
(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk.
今天运行Redis时发生错误,错误信息如下:
(error) MISCONF Redis is configured to save RDB snapshots, but is curren...
一行代码实现ViewPager卡片效果
前言
最近看到越来越多ViewPager卡片效果,甚至自己公司的产品也用到了。正如自己看到这个效果时,内心的想法是,这个简单,github一搜一箩筐,看了不下4个库,使用起来都比较麻烦,不是说写得不好,都是这方面的先驱者,值得学习。关键是在这三天一小需求,一周一大需求的年代里,不一行代码搞定,怎么完成任务啊,更何况这体现不了我们优秀程序员的逼格啊!开个玩笑,哈哈!我封装了常见的卡片效果,达到一行...
Android 单元测试(一): 首先,从是什么开始
这是一系列安卓单元测试的文章,目测主要会cover以下的主题:
什么是单元测试
为什么要做单元测试
JUnit
Mockito
Robolectric
Dagger2
一个具体的app例子实践
神秘的bonus
什么是单元测试
首先需要介绍一下什么是单元测试。很多人像我一样,本科并不是计算机专业出身的,如果在职的公司不要求做单元测试的话,可能对这个词并没有一个确切的概念。而即使是...
Android 单元测试(二):再来谈谈为什么
今天早上8点半坐到桌子前,打开电脑,看了几分钟体育新闻,做其他一些准备工作,到9点开始真正开始着手写这篇文章。于是开始google,找资料,打算列一大段冠冕堂皇的理由,来说明为什么要写单元测试,比如:
对软件质量的提升
方便重构
节约时间
提升代码设计
。。。
等等等等。
然而我发现上面提到的几点,都不是很好解释。首先,我并没有具体的数据,来说明有了单元测试,我们的app crash率降...
Android 单元测试 (三):JUnit 单元测试框架的使用
我们写单元测试,一般都会用到一个或多个单元测试框架,在这里,我们介绍一下JUnit4这个测试框架。这是Java界用的最广泛,也是最基础的一个框架,其他的很多框架,包括我们后面会看到的Robolectric,都是基于或兼容JUnit4的。
然而首先要解决的问题是。。。
为什么要使用单元测试框架
或者换句话说,单元测试框架能够为我们做什么呢?
从最基本的开始说起,假如我们有这样一个类:
pub...
微信 Android 模块化架构重构实践
微信Android架构历史
微信Android诞生之初,用的是常见的分层结构设计。这种架构简单、清晰并一直沿袭至今。这是微信架构的v1.x时代。
图1-架构演进
到了微信架构的v2.x时代,随着业务的快速发展,消息通知不及时和Android 2.3版本之前webview内存泄露问题开始突显。由于代码、内存、apk大小都在增长,对系统资源的占用越来越多,导致微信进程容易被系统回收。因此微信...
Android 项目最新架构
0.前言
为了帮助开发者打造一款优秀的APP,Google可谓费尽心力,推出了各种诸如MVP,MVVM等等项目架构的思路,帮助开发者更加高效的开发,尽管这样,Google还是接着推出了一个新的项目架构,以便给予开发者更多的选择,至于这种架构思路和MVP等框架的优劣,各位看完文章或许自有定论。
PS : 有兴趣的加入Android工程师交流QQ群:752016839 主要针对Android开发人...
Android:这是一份很详细的 Socket 使用攻略
前言
Socket的使用在 Android网络编程中非常重要
今天我将带大家全面了解 Socket 及 其使用方法
PS : 有兴趣的加入Android工程师交流QQ群:752016839 主要针对Android开发人员提升自己,突破瓶颈,相信你来学习,会有提升和收获。
目录
1.网络基础
1.1 计算机网络分层
计算机网络分为五层:物理层、数据链路层、网络层、运输层、应用...
底层虚拟环境 virtualenv
底层虚拟环境virtualenvvirtualenv说明virtualenv是一个创建独立的Python环境。virtualenv会创建一个文件夹,其中包含使用Python项目所有所需的可执行文件。它可以单独使用,用于代替Pipenv。virtualenv安装通过pip安装:#pipinstallvirtualenv测试下是否安装完成:#virtualenv--version15.1.0实战--为
HenCoder Android 开发进阶: 自定义 View 1-1 绘制基础
自定义绘制概述
二话不说,我反手就是一个视频:(视频挂了,先直接点到优酷去看吧:优酷链接)
首先总结一下视频中的关键点:
自定义绘制的方式是重写绘制方法,其中最常用的是 onDraw()
绘制的关键是 Canvas 的使用
Canvas 的绘制类方法: drawXXX() (关键参数:Paint)
Canvas 的辅助类方法:范围裁切和几何变换
可以使用不同的绘制方法来控制遮盖...
HenCoder Android 开发进阶: 自定义 View 1-2 绘制基础
drawPoint(float x, float y, Paint paint) 画点
x 和 y 是点的坐标。点的大小可以通过 paint.setStrokeWidth(width) 来设置;点的形状可以通过 paint.setStrokeCap(cap) 来设置:ROUND 画出来是圆形的点,SQUARE 或 BUTT 画出来是方形的点。(点还有形状?是的,反正 Google 是这么说的,你...
图解Activity启动流程,进阶高级
前言
首先申明一下,觉得Activity用的贼6的,想求职面试的,想进阶高级工程师的,想深入理解Activity的(感兴趣)同学请往下看,不符合的没关系,请收藏一下,想看了再点出来研究。
以下内容紧张吃鸡,请系好保险带,我们要开车了。
— No picture,say a J8!
PS : 有兴趣的加入Android工程师交流QQ群:752016839 主要针对Android开...
BRVAH+MTRVA,复杂?不存在的
前言
遥想Android当年,UI出来了,两眼一定,一Bean一XML,谈笑间,设计师瑟瑟发抖。额,不要在意这首尬诗,请忽略- -!物是人非啊,现在动不动掏出个淘宝页面,还条目不固定,还能愉快玩耍吗?再加上杂七杂八的技术加进去,比如说埋点,UI框架越来越沉重,都是泪啊!如果我们能回到过去那该多好,来吧,朋友,这是真的这不是梦。
实战
就算是以前,很多基础工作还是要做的,...
Android 这些技术 —— 你都了解过吗
插件化
热更新
对Android平台,我们通常所说的在线热更新就是,例如对已经发布在应用市场上的宿主APK,当我们从crash统计平台上发现某个函数调用有bug,导致经常性crash,这时,可以在本地开发一个补丁APK,并发布到服务器中,宿主APK下载这个补丁APK并集成后,就可以很容易修复这个crash
安卓热更新之Nuwa实现步骤
blog.csdn.net/snailbaby_...
关于 Android RecyclerView 的那些开源 LayoutManager
摘要:自从RecyclerView推出后,其LayoutManager对布局的灵活控制是让开发者们称赞不已。
Google默认为RecyclerView提供了LinearLayoutManager、StaggeredGridLayoutManager、GridLayoutManager,已经可以满足很多开发需求了,但是实际开发过程中,免不了出现一些更加新颖的交互设计。于是,便从Gith...
Fragment-踩坑
背景
Fragment已经成为Android开发界面设计中不可或缺的一部分,同时也发挥着越来越重要的角色,虽然Fragment已经能出色的项目开发,但是在使用过程中也暴露了越来越多的问题,虽然google也一直在及时的修复,但是还是有很多坑,所以决定记录Fragment使用过程中的使用问题,避免小伙伴们重复踩坑。
在了解踩坑之前,我们需要先了解Fragment的使用要点和使用方法
PS :...
今日推荐
周排行