移动开发

iOS 三种画板实现方式

UIBezierPath,Quartz2D,OpenGLES 1. UIBezierPath 1 UIBezierPath 使用UIBezierPath可以创建基于矢量的路径,此类是Core Graphics框架关于路径的封装。使用此类可以定义简单的形状,如椭圆、矩形或者有多个直线和曲线段组成的形状等。 UIBezierPath是CGPathRef数据类型的封装。如果是基于矢量形状的路

Java注解实现异步导入与导出(二)

Java注解实现异步导入与导出(一) 上一篇写完了用注解实现异步导入,这一篇实现用注解异步导出。 1.背景: 导出最容易遇到的问题就是超时了,随着我们DB数据越来越多,导出时特别容易超时,这时候通常的解决办法就是优化SQL,或者直接限制导出条数,但是这两种方法都只能解决暂时的问题,过一段时间可能就又会冒出来。所以还是使用异步导出,先存到nas中,然后让用户再去下载。 2. 流程设计: 2.1 生

第二章 RocketMQ 基本消息

基本消息发送有三种姿势:同步、异步、单向。 同步:消息发送到 Broker 成功后,返回发送成功结果;这种可靠性同步地发送方式使用的比较广泛,比如:重要的消息通知,短信通知。 异步:消息发送出去后立即返回结果,可以在发送成功的消息回调中,查看消息是否发送成功;异步消息通常用在对响应时间敏感的业务场景,即发送端不能容忍长时间地等待 Broker 的响应。 单向:消息发送出去,Broker 不返回

Xcode14.3打包的APP在iOS13.x上启动崩溃闪退

Xcode14.3 ,iOS13.6.1, iOS13.6, iOS13.3, iOS13.x 今天用Xcode 14.3打包安装在iOS 13.x的手机启动崩溃,但是连着Xcode调试时没有问题,不连着Xcode14.3时启动APP就闪退。 从苹果官网看到也有不少人遇到,但是没有具体的解决方案。 目前从以下几点处理这个问题: 1.降级Xcode到14.2打包可解决该问题 2.app 最低目标版

mac 安装虚拟机保姆级教程(vmware fusion)

 安装前提更新MAC OS 版本安装vmware fusion(从 VMware Fusion 13.5.2 开始已支持无需输入密钥即可使用,前提需要更新mac OS 版本否则不兼容         官网链接:VMware Fusion Pro: Now Available Free for Personal Use - VMware Fusion Blo

APP启动更快iOS15

之前可以通过设置DYLD_PRINT_STATISTICS = 1 变量在XCode上统计APP启动时间pre-main阶段,但是在XCode13.0 & iOS15之后,通过设置变量的方式在XCode上失效啦; Instrument: App Launch & Time Profiler 取而代之 Xcode---> Product--->Profile进入到Inst

object.defineProperty()实现双向数据绑定

Object.defineProperty()方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性(属性为响应式属性),并返回此对象。 语法: Object.defineProperty(obj, prop, descriptor) obj要定义属性的对象。 prop要定义或修改的属性的名称或 descriptor要定义或修改的属性描述符。 get: 属性的 getter 函数

Android卡顿监控

实现思路 卡顿监控主要监控:慢方法的监控、ANR的监控、掉帧的监控。其实现方案主要有三种: Looper的Printer在消息执行前后的打印,计算出消息执行时间。 利用Choreographer向其注册CALL_BACK, 监听Vsync的开始从而得到上一帧的执行时间。 利用插桩的方法计算每个方法的执行时间。 比如对慢方法、ANR的监控,则是对主线程的Looper的消息的监听,对掉

如何设计一个可靠传输协议?

1.0——设计一个理想化的可靠传输协议 topdown理解计算机网络这本书从1.0升级到3.0带我们走进可靠协议的设计思路,不可靠的本质是loss&&bit error,假定没有这种bad case,作者带领我们设计一种完美可靠传输协议,版本1.0。 发送端【rdt_send】可靠传输提供给应用层的发送数据接口,经过可靠传输协议处理之后,交给【udt_send】不可靠