自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (1)
  • 收藏
  • 关注

原创 QT for Windows安装配置总结及采坑问题汇总

QT for Windows安装配置总结及采坑问题汇总一、安装包下载二、安装三、Qt Creator配置四、遇到的问题一、安装包下载1.Qt官方下载地址:http://download.qt.io/archive/qt/,选择对应系统的版本进行下载。如:http://download.qt.io/archive/qt/5.13/5.13.0/目录下的qt-opensource-windows-...

2020-01-15 14:08:53 1635

原创 数据结构与算法--02链表-如何轻松写出链表代码

数据结构与算法--02链表-如何轻松写出链表代码写好链表并不是件容易的事情,尤其是一些复杂的链表操作,如链表反转、有序链表合并等等。即使能够写出代码,但及其容易出错。所以付出一定量的精力是前提条件,另外还需要掌握一些必要的技巧。1.理解指针或引用的含义  有些语言如C语言,具有指针的概念,而其他语言如Java、Python则使用“引用”来代替指针。但本质上都一样,都是存储所指对象的内存地...

2019-12-03 11:38:03 382

原创 数据结构与算法--01数组:为什么大多编程语言中数组从0开始编号?

数据结构与算法--01数组:为什么很多编程语言中数组从0开始编号?一、数组特性二、数组访问越界问题三、数组与容器四、回到开篇五、总结一、数组特性  1.数组本质上是一种线性表数据结构,用一组连续的内存空间来存储一组具有相同类型的数据。除了数组,链表、队列、栈等也是线性表结构。相对线性表的是非线性表,包括二叉树、堆、图等,其结构并不是简单的前后关系。  2.连续的内存空间和相同类型的数据。 ...

2019-12-03 11:23:12 253

原创 iOS Runtime之——关联对象探索

二、runtime之——关联对象探索通过分析runtime源码发现,关联属性并未定义到category_t中,而是定义到AssociationsManager来进行管理的,包括关联属性的添加、获取、移除等操作。定义AssociationsHashMap具体操作关联列表。AssociationsManager通过输入的对象作为地址,取出对象所对应的关联列表,然后通过key值取出关联列表中的关联属性...

2019-09-26 16:06:08 279

原创 iOS Runtime之——Category及其底层原理探索

Category及其底层原理探索1.摘要2.Category特点2.Category真面目3.Category加载逻辑4.Category底层原理探索1.摘要  苹果在Objective-C 2.0中推出了新的语言特性Category,为已有类提供新的行为、扩展现有功能。如今Category已经应用到了iOS应用的各个角落。那么本文就对其进行深入剖析,揭开其真实面目。2.Category特点...

2019-09-25 17:56:14 249

原创 基于QGroundControl的RTK数据接收及转发

基于QGroundControl的RTK数据接收及转发一、相关说明二、开发方案三、数据处理关键流程分析四、总结一、相关说明1.地面站:基于QGC编译的Android地面站。2.需求:RTK接入,地面站接收RTK基准站数据,然后将数据打包通过MavLink转发至飞控。3.需求目的:为无人机提供RTK高精度定位提供数据支持。4.基准站数据格式:RTCM数据流。二、开发方案  目前海星...

2019-09-23 11:10:13 3097 7

原创 无人机高精度定位之——RTK与PPK概念扫盲

无人机高精度定位之——RTK与PPK概念扫盲无人机的兴起,已经让很多行业激动不已,如电力巡检、应急救援、测绘、农业植保等行业。而随着高精度卫星导航技术的加持,让无人机定位更加高效、安全、灵活,保证无人机飞行更加平稳。那么下面我们对高精度卫星导航技术相关概念进行简单介绍。一、RTK  实时动态差分技术,是利用载波相位实时处理测站点之间观测量的差分方法,将基准站采集的载波相位发送给用户接收...

2019-09-20 14:42:12 9795 4

原创 Alamofire-多表单处理

Alamofire-多表单处理HTTP请求实质上是对指定数据格式的拼接,然后将拼接后的数据进行传输。下面对多表单数据处理进行分析。主要完成以下工作:拼接整合原始数据encode为stream流upload网络处理:request-task-resume首先看应用实例:func alamofireUploadFile(){ let data = s...

2019-08-30 16:18:19 547

原创 Alamofire-Response底层源码分析

Alamofire-Response底层源码解析1.基础Response2.自定义Response--ResponseSerilize序列化器3.JSON序列化器-JSONSeralizer1.基础Response首先我们上应用实例:let lgResponseSerlize = DataResponseSerializer<String>.init(serializeRespo...

2019-08-30 15:45:09 254

原创 Alamofire--Request下-底层分析补充

Alamofire--Response下-底层分析扩充 1.绑定task与response2.adaptor适配器3.retry重试4.timeline与result1.绑定task与responsedelegate[task] = responsedelegate为sessionDelegate类.任务下发判断用户是否有实现downloadTaskDidFinishDownload...

2019-08-26 18:12:12 302

原创 Alamofire--Request上-底层分析

今天我们主要分析request底层原理,具体流程是什么?做了哪些工作?1.Request源码首先进行Request参数编码encode,使用URLEncoding,encode分别针对post、get请求进行了百分号编码,配置相关属性,调用query函数,最终将uirRequest作为函数返回值返回。GETquery函数中,调用queryComponents函数进行一系列处理:...

2019-08-24 16:57:36 318

原创 Git-软件项目开发中,Git命令行提交代码基本流程

Git-软件项目开发中,Git命令行提交代码基本流程一、每次提交前需要先将服务器最新代码pull下来。1.git stash:当前情况本地代码都是有修改的,所以需要先执行“git stash”保存一份本地修改;2.git pull:执行“git pull”获取服务器最新代码;3.git stash pop:执行“git stash pop”将暂存的本地修改恢复。二、正常提交代码1.cd...

2019-08-22 10:43:49 253

原创 Alamofire--SessionManager解析及后台下载实例

文章目录一、底层源码分析二、后台下载实例三、扩展一、底层源码分析1.SessionManager request初始化public func request( _ url: URLConvertible, method: HTTPMethod = .get, parameters: Parameters? = nil, encoding: ParameterE...

2019-08-20 14:53:52 451

原创 RxSwift--高阶函数

文章目录一、组合类操作符1.startWith2.merge3.zip4.combineLatest5.switchLatest二、映射类操作符1.map2.flatMap & flatMapLatest3.scan三、过滤条件操作符1.filter2.distincUntilChanged3.elementAt4.single5.take6.takeLast7.takeWhile8.t...

2019-08-15 21:56:09 226

原创 RxSwift--常见Observable序列的创建

文章目录常见Observable创建1.empty2.just3.of4.from5.defer6.range7.generate8.timer9.interval10.repeatElement11.error12.never  本文主要讲解一下常见Observable的创建,这样会对RxSwift应用方面有一个宏观的了解。常见Observable创建1.empty  Returns ...

2019-08-15 15:27:05 366

原创 RxSwift--中介者模式

文章目录一、中介者模式二、应用举例:解决循环引用问题一、中介者模式  中介者模式定义了一个中介对象来封装一系列对象之间的交互关系,使各个对象只与中介对象交互,各个对象之间不需要显式地相互引用,降低耦合性,而且可以独立改变他们之间的交互行为。适用场景:系统中对象之间存在复杂的引用关系,产生的相互依赖关系混乱且难以理解;希望通过一个中间类来封装多个类的行为,而不想生成太多的子类;一个对...

2019-08-15 11:52:40 203

原创 RxSwift--销毁者Dispose源码分析

RxSwift7--销毁者Dispose源码分析1.创建序列2.订阅序列3.总结这篇我们分析一下RxSwift四大模块之——销毁者,销毁者在RxSwift中具有比较重要的角色,下面我们一步步剖析销毁者的真实面目。1.创建序列示例代码1:创建序列// 1.创建序列 let ob = Observable<Any>.create { (observer) ->...

2019-08-09 16:07:32 258

原创 CSDN博客搬家至掘金

博客搬家说明: 作为一名程序员,掘金是目前最适合我们的一个平台,所以决定将CSDN博客搬迁至掘金! CSDN是我第一个接触的博客平台,你将成为我最美的回忆,永远爱你! 掘金博客地址:JeffersonGo。...

2019-08-06 21:48:16 1363 3

原创 RxSwift--Subject底层原理分析及应用

RxSwift--Subject底层原理分析及应用一、Subject二、Subject分类1.PublishSubject2.BehaviorSubject3.ReplaySubject4.AsyncSubject三、Subject应用一、Subject  Subject作为一个代理者,既可以作为Observer,又可以作为Observable。作为Observer,它可以订阅一个或多个Obs...

2019-08-06 14:23:18 378

原创 iOS-AppStore上传应用更新之——Xcode上传ipa

iOS-AppStore上传应用更新之——Xcode上传ipa一、App Store Connect添加新版本配置二、Xcode验证IPA有效性三、生成IPA包,通过xcode直接上传至AppStore四、注意事项  好久没有打包api上传AppStore了,今天重温一下这个流程。iOS向AppStore更新应用之前一直都是通过Application Loader上传ipa进行更新,本文不再赘述...

2019-08-04 14:08:18 3962 1

原创 RxSwift--核心逻辑分析完整版

文章目录一、相关概念二、核心逻辑分析一、相关概念1.Observable可观察序列2.Observer观察者二、核心逻辑分析1.创建序列 let ob = Observable<Any>.create { (obserber) -> Disposable in obserber.onNext(“Hello RxSwift") ...

2019-07-24 18:13:35 298

原创 RxSwift--RxSwift简介

文章目录前言1.ReactiveX2.RxSwift前言  说到RxSwift,不得不提ReactiveX,什么是ReactiveX?ReactiveX与RxSwift有什么关系?请看下文。1.ReactiveX  ReactiveX 是 Reactive Extensions 的缩写,简写为Rx。官方定义为一个使用可观察数据流进行异步编程的API。  Rx不仅仅是一个编程接口,更是一...

2019-07-23 18:06:38 547

原创 RxSwift--函数响应式编程思想

文章目录1.函数式编程2.响应式编程3.函数响应式编程1.函数式编程  FP(Functional Programming):简单来说,函数是变成是一种编程范式,它将电脑运算视为函数的计算,属于结构化编程的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用。  相对于命令式编程是通过修改变量的值来保存当前程序的状态,函数式编程是通过函数来保存程序的状态的,或者说是通过函数创建新的参数或...

2019-07-22 16:10:03 238

原创 Qt-修改Android编译应用图标、名称

Qt-修改Android编译应用图标、名称一、前言二、修改Android应用图标三、修改Android应用名称一、前言  最近在研究Qt编译Android程序,涉及到修改应用图标的需求,在main.cc文件、qgroundcontrol.pro文件中各种设置了半天,都不成功。崩溃之际,无意中发现Android程序的应用图标是在项目android目录中的AndroidManifest.xml文件...

2019-07-16 14:54:26 1139

原创 iOS-百度地图之——POI检索失败BMK_SEARCH_PERMISSION_UNFINISHED

iOS-百度地图之——POI检索失败BMK_SEARCH_PERMISSION_UNFINISHED1.1 问题  POI检索回调函数onGetPoiResult 错误码为:BMK_SEARCH_PERMISSION_UNFINISHED(授权失败)。1.2 原因  授权不成功。因为授权工作是在AppDelegate中进行的,而授权是需要网络的。如果APP启动时,网络不好或无网络,则授权会...

2019-07-10 15:24:47 2947

原创 Qt for Mac将QGroundControl编译为Android程序

Mac环境下使用Qt将QGroundControl编译为Android程序一、需下载的源码及安装包二、安装流程三、问题汇总四、参考资料  最近在研究QGroundControl源码,为了便于学习,准备将QGC代码编译为Android程序,这样便于在Android移动设备上安装使用,并进行二次编码。经过各种折腾,终于成功运行在了Android设备上。  QGC可在各种环境下进行编译,如Mac、W...

2019-07-09 14:20:30 1233

原创 OpenGL ES--初探

OpenGL ES--初探一、OpenGL ES简介二、渲染流程中关键步骤1.顶点着色器2.片元着色器3.逐片段操作一、OpenGL ES简介  OpenGL ES (OpenGL for Embedded Systems) 是以手持和嵌入式为目标的⾼级3D图形应 用程序编程接口(API)。OpenGL ES 是目前智能⼿机中占据统治地位的图形API支持的平台:iOS、Andriod、Blac...

2019-07-05 00:22:50 278

原创 OpenGL--纹理常用API解析

OpenGL--纹理常用API解析一、纹理常用API函数1.从颜色缓冲区数据作为像素图直接读取2.从TAG文件中读取像素图3.载入纹理4.更新纹理5. 插⼊替换纹理6.使用颜色缓冲区加载数据,构造新的纹理7.纹理对象相关函数一、纹理常用API函数1.从颜色缓冲区数据作为像素图直接读取void glReadPixels(GLint x,GLint y,GLSizei width,GLSizei...

2019-07-04 21:12:24 483

原创 OpenGL ES-GLKit框架相关API解析

OpenGL ES-初探及GLKit框架相关API解析一、OpenGL ES概念二、OpenGL ES版本三、GLKit框架四、GLKit相关API五、GLKit 视图渲染一、OpenGL ES概念  OpenGL ES(OpenGL for Embeded Systems)是以嵌入式为目标的高级3D图形应用程序编程接口,是智能手机中占据统治地位的图形API。支持iOS、Android、Bla...

2019-07-02 00:07:20 301

原创 OpenGL--坐标系详解

OpenGL–坐标系详解OpenGL最终将图形渲染到的设备屏幕本质上是2D的,我们对图形进行渲染的过程就是将3D场景转换为最终的2D场景的过程。  OpenGl中定义的点从用户构造模型的局部坐标系,经过模型变换转为世界坐标系,再经过视变换转换为相机坐标系,再经过投影变换转换为裁剪坐标系,再进行透视除法转换为规范化设备坐标系(NDC),最后经过视口变换映射到屏幕坐标系。  坐标变换流程如下...

2019-05-23 21:37:49 3573

原创 OpenGL--渲染流程解析

OpenGL--渲染流程解析1.客户端-服务端2.着色器3.色器使用数据类型4.输出1.客户端-服务端OpeneGL渲染流程是遵循客户端-服务器模式的,客户端与服务端协作完成图形图像的渲染流程。  客户端:负责发送OpenGl命令(如OprnGLAPI、C++代码等)至服务端,客户端运行于CPU中,在主系统内存中的驱动程序中执行,将渲染命令和数组进行组合,并发送到服务端。  服务端:...

2019-05-23 10:35:24 488

原创 OpenGl--实战操作详解(创建几何图形三角形、球、环、圆柱、锥、磁盘)

OpenGl--4实战操作详解(创建几何图形三角形、球、环、圆柱、锥、磁盘)一、引用头文件二、相关属性三、相关函数1.main函数2.自定义重塑函数3.自定义键盘空格键响应函数4.自定义特殊键位处理函数5.自定义鼠标右击菜单栏函数6.自定义渲染函数7.自定义函数8.自定义函数一、引用头文件#include "GLTools.h" //OpenGL工具类:包含大部分GLTools中类似C语言的独...

2019-05-21 22:06:00 1968

原创 OpenGL--渲染过程中产生的问题

描述:在绘制图形过程中,对于观察者而言,有些部分是可见的,有些是不可见的。如果都进行渲染的话,不可见部分会会影响整体的渲染效果,无法满足预期的效果。那么针对这类问题的解决,就叫做“隐藏面消除”。

2019-05-17 15:56:49 966

原创 OpenGL--固定管线存储着色器汇总

在OpenGL 3.1之前,只有一种固定管线着色器,而在3.1之后被启用,取而代之的是可编程管线,但是理解固定管线着色器,熟悉起渲染流程,对我们图形图像开发是有很大帮助的。而且固定管线是封装好的,不需要考虑渲染中到底是顶点着色器还是片元着色器。只需要传递存储着色器类型、所需的参数即可。当然,OpenGL语法对于存储着色器的调用方法使用了可变参数,不同类型的着色器对应参数个数不同。下面总结几种...

2019-05-15 10:46:28 318

原创 OpenGL--入门基础

一、图形API简介1.OpenGLOpen Graphics Library,是一个跨平台的应用程序编程接口(API),用于渲染2D、3D矢量图形的跨语言,拥有功能强大、调用方便的底层图形库,将计算机的资源抽象为OpenGL对象,对这些对象的操作形成一套OpenGL指令。多用于CAD、虚拟实境、科学可视化程序和电子游戏开发。2.OpenGL ESOpenGL for Embedde...

2019-05-14 17:56:44 460

原创 OpenGL--在Mac上搭建开发环境

OpenGL--1在Mac上搭建开发环境一、准备工作 静态库:libGLTools.a 静态库头文件:include二、新建macOS - Cocoa Application工程因为OpenGL只能运行在PC环境下。三、添加库文件在TARGET ->Link Binary With Libraries中添加OpenGL.framework与GLUT.f...

2019-05-11 15:16:44 188

原创 Git-仓库迁移

Git-仓库迁移需求:将现有仓库迁移到新的仓库,包括log信息。方法一:切换remote_url即本地仓库内容不变,远程新建仓库,将本地仓库指向远程新仓库地址。操作方法: git remote set-url origin 远程新仓库地址 git push(保证本地与远程新仓库的提交版本同步)该方法比较直接,直接更改.git/conf配置文件里的ip地址。方法二:gi...

2019-05-05 11:38:58 302

原创 Android UI—引导页ViewPager使用

由于工作需要,准备转型Android开发,前段时间开始学习Android开发知识

2019-03-28 17:58:20 280

原创 UITableView手风琴效果开发总结

一、实现原理    实质上就是创建UITableView。包含对section的和cell的自定义,对section添加TapGesture监听点击操作(实时修改标记值),(通过标记值)实时改变numberOfRowsInSection的值,然后调用UITableView的reloadData方法实现展开/收缩section的效果。二、实现流程    1 初始化tableV

2017-05-14 20:53:13 474

原创 总结—cocoaPod安装配置问题汇总

1 The dependency `AFNetworking (~> 2.5.3)` is not used in any concrete target原因:新版CocoaPods在 Podfile里使用时,必须指定target,在首尾声明:target ‘TestSwift’ doend即可platform:ios,’7.0'

2017-03-11 10:27:54 369

abaqus材料库汇总.zip

十分丰富的abaqus材料库,各种收集汇总,绝对物超所值

2021-08-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除