移动开发

iOS之MD5加密、加盐

MD5加密:HASH算法一种、 是生成32位的数字字母混合码。 特点: 1、任意数据得出的MD5值长度都是32 2、对原数据进行任何改动,所得到的MD5值都有很大区别 应用: 主要运用在数字签名、口令加密等方面 MD5改进(加盐等): 现在的MD5已不再是绝对安全,对此,可以对MD5稍作改进,以增加解密的难度 加盐(Salt):在明文的固定位置插入随机串,然后再进行MD5 写一个NSString分

UDP 协议

UDP,即用户数据报协议,是一种传输协议,是 TCP 的替代协议。 它与 TCP 的主要区别在于它是无连接的。 这意味着它更快,每个发送的数据包更轻量级,因为它不包含 TCP 所需的所有信息,并且它确实具有更轻的握手过程。 缺点是 UDP 不如 TCP 可靠。 在 TCP 中,如果数据包丢失,协议能够处理它并重新发送数据包。 在 UDP 中,这不是内置在协议中的,必须在更高级别(构建在它之上)进行

使用make进行golang编译中的小问题及解决方案

报错信息:Clock skew detected. Your build may be incomplete. make: Warning: Clock skew detected. Your build may be incomplete. 表示检测到了时钟偏差,通常发生在将代码从开发主机拷贝到编译主机进行编译,而两个设备系统之间的时间上存在差距。 解决方案: find ./ -type

Android中加载Gif动画

Gif动画,我使用了三种方式 1.自定义控件加载gif动画 ①.首先自定义一个GifView,用于显示Gif图片,具体代码如下: public class GifView extends View { private Resources resources; private Movie mMovie; private long mMovieStart; priv

单例模式(一)—懒汉模式

前言 单例模式模式无需多言,就是只允许生成一个对象,这种设计模式在数据库连接对象的使用上比较频繁,当然在其他场景下也有使用。然而单例模式的实现也有多种方式,今天就让我们来学习下单例模式的懒汉模式。 今天涉及内容: 懒汉模式编写的几个特点 懒汉模式代码实现 懒汉模式优缺点 一. 懒汉模式 编写的几个特点 作为单例模式中的懒汉模式,具有以下特点: 私有无参构造函数 声明静态私有类对象 静态

spring-retry解决重试

一、前言 在日常开发过程中,难免会与第三方接口发生交互,例如:短信发送、远程服务调用、争抢锁等场景,当正常调用发生异常时,例如:网络抖动,这些间歇性的异常在一段时候之后会自行恢复,程序为了更加健壮并且更不容易出现故障,需要重新触发业务操作,以防止间歇性的异常对程序照成的影响。常用的重试策略,比如通过 while 循环手动重复调用或是通过 JDK/CGLib 动态代理的方式来进行重试。但是这种方法比

SDWebImage5.11源码分析(二)

接上一篇文章继续分析SDWebImage5.11的缓存部分 SDImageCache 缓存获取数据,主要是通过key缓存(上一篇文章有说),cacheType判断缓存方式,options进行缓存拓展。主要内容如下: a. 对cacheOptions类型进行筛选 b. 进入queryCacheOperationForKey方法,对具体缓存方式进行划分,其中包括内存缓存,磁盘缓存。然后又在各自缓

ViewModel源码阅读笔记

MVVM模式实现了数据和页面的分离。ViewModel的生命周期需要跟随引用他的activity或者fragment。接下来我们就来看看,ViewModel是如何实现生命周期的伴随的。 先从ViewModel的创建开始看 XXXViewModel viewModel = new ViewModelProvider(fragment).get(XXXViewModel.class) kotlin

CoordinatorLayout使用AppBarLayout+ViewPager点击按钮回到顶部

如何写一个折叠布局 相信大部分人都会首先想到CoordinatorLayout 没错,使用CoordinatorLayout,然后再使用AppBarLayout很容易就能实现优雅的折叠布局 但是如果产品要你在右下角加一个按钮点击回到顶部呢,并且滑动到一定距离才会显示,默认不显示。 我最先想到的是ScrollView,但是很遗憾会滑动冲突,然后我尝试了重写onTouchEvent和onInterce

iOS-静态库&动态库-Embed&Sign

1、静态库&动态库 1.1 库介绍 程序的run流程:编译->链接->生成可执行文件->运行(加载可执行文件&动态链接库)。根据链接时期的不同,库又有静态库和动态库之分。静态库是在链接阶段被链接的,所以生成的可执行文件就不受库的影响,即使库被删除,程序依然可以成功运行。而动态库是在程序执行的时候被链接的。程序执行完,库仍需保留在系统上,以供程序运行时调用。链接静态