自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 资源 (6)
  • 收藏
  • 关注

原创 插入排序——折半插入排序

折半插入排序(binary insertion sort)是对插入排序算法的一种改进,由于排序算法过程中,就是不断的依次将元素插入前面已排好序的序列中。由于前半部分为已排好序的数列,这样我们不用按顺序依次寻找插入点,可以采用折半查找的方法来加快寻找插入点的速度。时间复杂度:O(n²)(比直接插入算法明显减少了关键字之间比较的次数,因此速度比直接插入排序算法快,但记录移动的次数没有变)空间复杂度:O(1)

2023-12-13 18:24:08 428

原创 选择排序——直接选择排序

直接选择排序:(以重复选择的思想为基础进行排序)

2023-09-11 17:52:05 425

原创 交换排序——冒泡排序、快速排序

交换排序就是通过比较交换实现排序。分冒泡排序和快速排序两种。

2023-09-08 00:12:15 393

原创 插入排序——希尔排序

希尔排序,插入排序

2023-09-07 16:20:20 259

原创 插入排序——直接插入排序

直接插入排序,排序算法

2023-09-07 16:00:14 217

原创 排序算法概述

将一个文件的记录按关键字不减(或不增)次序排列,使文件成为有序文件,此过程称为排序。若排序后,相同关键字的记录不保持它们原来的相对次序,则此排序方法为不稳定排序;若排序后,相同关键字的记录保持它们原来的相对次序,则此排序方法为稳定排序;排序的稳定性由排序方法决定,与原始序列无关。

2023-09-07 15:51:52 690

原创 算法的概述

常数O(1),对数阶O(log2n),线性阶O(n),线性对数阶O(nlog2n),平方阶O(n2),多项式阶O(nC),指数阶O(Cn)解决同一问题的算法可以有多种。我们希望从中选出最优的算法,效率高或者存储空间小。为此,需要对算法进行评估,分析。估算算法空间复杂度时,一般只分析辅助变量所占用的空间。算法执行时所占用的存储空间,通常是问题规模的函数。算法运行时需要的总步数,通常是问题规模的函数。

2023-09-07 15:30:40 397

原创 injectionIII 加载组件化构建项目的方法

组件化构建的项目使用 injectionIIIinjectionIII git在主工程项目下加入 injectionIII 的代码后,如果其他模块没有在主工程项目下,修改代码是不起作用。在injection 文档看到这一段:If your project is organised across multiple directories or theproject file is not at the root of the source tree you can add otherdirect

2021-11-03 11:10:21 3309

原创 iOS .crash 或 .ips 日志符号化

iOS .crash 或 .ips 日志符号化准备文件symbolicatecrash.dSYM奔溃文件(.crash或.ips)日志符号化的过程:先新建个文件夹,假设文件夹A1、找 symbolicatecrash 文件,在终端输入命令查找find /Applications/Xcode.app -name symbolicatecrash -type f选择下面文件放到文件夹A中/Applications/Xcode.app/Contents/SharedFrameworks/

2021-08-22 11:31:55 863

原创 CAKeyframeAnimation + UIBezierPath 无效果

问题描述:项目中用到 CAAnimationGroup 做动画,里面分别加入 CABasicAnimation 做缩放和透明度变化,用 CAKeyframeAnimation + UIBezierPath 做 position 的变化,运行代码后出现 CABasicAnimation 能呈现出效果,而 position 没变化。几番查找,在 stack overflow看到网友提到可能是 copyWithZone: 方法导致的。I encounter exactly problem as you d

2020-12-30 16:21:45 282

原创 Xcode 11 打包报错 IPA processing failed

archiving 后准备打包报错: IPA processing failedXcode Version 11.3.1 (11C504)如下图:不要慌,点击“Show Logs”看下是哪个家伙在作祟。可以看到 这四个文件:打开 “IDEDistribution.standard.log”,搜索 “failed” 查看对应的错误提示,我这边是因为环信客服 开发环境下 framework...

2020-03-16 17:03:44 555

原创 国际支付 Superpay、Paypal、Braintree、Stripe

2019年做了个海外的商城项目,年底接触到国际支付,分别接触到的是 Superpay、Paypal、Braintree、Stripe,说下我的认识、与后台交互的大致流程:Superpay 是将微信、支付宝支付 国际化,将人民币转换成外币。支付流程和微信支付宝差不多的:1、前端向后台下单拿到 orderid;2、前端选择Superpay支付渠道(微信或支付宝) 将 orderid 和支付...

2020-01-17 17:13:55 3374 1

原创 iOS Stripe 支付

官方文档地址:https://stripe.com/docs/payments/accept-a-paymentStripe 一个极简的国际卡支付,集成流程也是比较清晰。大概步骤就是 前端 从后台拿到 client_secret ,将 卡信息 和 client_secret 传给 Stripe,进行支付,成功后 Stripe 会通知后台, 后台更新订单,前端更新界面。1、首先导入 Stri...

2020-01-17 15:07:55 2103

原创 Android 和 iOS分别用同一个 QQ登录获取到的openid 不一致的问题

Android 和 iOS分别用同一个 QQ登录获取到的openid 不一致的问题:QQ登录时无法获取唯一的 UID 或openID, 不同设备获取到的不一致。咨询腾讯客服得知一下结果:现在打通都是unionID打通,即打通之后用户成功登录,在返回token和openid的基础上再增加返回一个unionID。以前是通过邮件去申请,现在是可以通过平台自助打通了,操作地址在 ⏬QQ 互联Un...

2019-10-25 10:44:10 1591

原创 Python 分词 第三方模块

分词的第三方模块介绍用过的 Python 两种分词的模块 jieba 和 snownlp,直接上实例:1、实例 jiebafrom jieba import posseg as pseg# 采用结巴分词进行分词,返回分词和词性cur_tuple_words = pseg.lcut(words)for word, flag in cur_tuple_words: print...

2018-09-20 11:41:18 516

原创 Python MySQL 回滚的使用

Python MySQL 回滚的使用首先先创建两个表: 表类型要为INNODB 格式。CREATE TABLE IF NOT EXISTS T_USER( USER_ID INT(11) NOT NULL AUTO_INCREMENT COMMENT '用户id', USER_NAME VARCHAR(50) ...

2018-05-24 10:48:05 6261 1

原创 Mac MySQLdb 的安装

Mac MySQLdb 的安装 对于 mysqldb-python 的安装过程,心中有无数只草泥马奔腾而过。过程是在是艰辛。iMac 装好了,在自己的MBP 装,一直报 Command "python setup.py egg_info" failed with error code 1 的错误,因为一开始 装Python时版本搞错了,导致后面卸载重装还是一样的结果,没办法只能换成 ...

2018-05-24 10:46:04 2787 3

原创 Mac 安装opencv,并与Python做关联

Mac 安装opencv,并与Python做关联在有homebrew 的情况下,执行下面的安装指令,没有的话看Mac 安装Homebrewbrew install opencv安装成功后提示Python modules have been installed and Homebrew's site-packages is notin your Python sys.path, so you w

2018-04-26 09:53:05 2005 2

原创 Mac 重装系统

这是客服小姐姐告诉我的,做下笔记:第一步:做启动盘 需要的准备 一个大于8G的U盘(要大于OS系统)、一个 OS系统、一台Mac 电脑 ;)制作10.12 USB启动盘方法:1.通过 App Store 下载最新的 OS X Sierra。2.接着准备一个不小于16 GB的U盘,连接在Mac上,用“磁盘工具”进行格式化,记住选择“Mac OS扩展(日志式)”格式,名称输入...

2018-04-25 22:55:53 2249

原创 Mac 开机慢、反应慢,可清理缓存

对于Mac本人也不太懂,打电话问客服小姐姐,教我做下面两步操作: 1、 重置配置:shift + control + option + 开机键 按住 shift + control + option + 开机键四个按钮,大概20秒,松手,这时电脑还是没有开机的;接下来做下面的操作。2、 清除缓存:command + option + P + R 开...

2018-04-25 22:45:06 29986

原创 Mac 安装 Python 多版本

Mac 的安装方式和两个版本共存的出现的问题:Python 安装包下载地址:https://www.python.org/downloads/如果要Python 2x 和 Python 3x 同时拥有的话,我是这样做的:1. 分别安装两个安装包。2. 安装完成之后配置环境使得能在终端切换Python版本:2.1 打开终端(terminal),输入:sudo vi ~/.bash...

2018-04-25 18:14:37 1101

转载 Mac 安装Homebrew

转自asp.net 环境搭建Homebrew官网 http://brew.sh/index_zh-cn.htmlHomebrew是神马 linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案,Red hat有yum,Ubuntu有apt-get神马,你用mac os,不好意Mac os木有类似的东东,泪奔中几经折腾总算找到了第三方支持:Hom...

2018-04-25 16:08:15 551 1

原创 Mac 安装Cornerstone.app 已损坏,打不开。您应该将它移到废纸篓。

Cornerstone Mac 安装 破解版下载地址软件版本:Cornerstone 3.0.3安装环境:macOS Sierra 10.12.4软件安装过程比较简单,不说明。问题: 安装后打开出现“Cornerstone.app 已损坏,打不开。您应该将它移到废纸篓。”解决: 在安全性与隐私中打开任何来源就解决了。但是,在安全性与隐私中并没有打...

2018-04-25 09:17:08 7412

原创 MySQL TRIGGER

触发器(TRIGGER)是MySQL的数据库对象之一,从5.0.2版本开始支持。该对象与编程语言中的函数非常类似,都需要声明、执行等。但是触发器的执行不是由程序调用,也不是由手工启动,而是由事件来触发、激活从而实现执行。有点类似DOM中的事件。语法CREATE TRIGGER <触发器名称> --触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象.

2017-11-27 18:43:00 1794

原创 MySQL DELIMITER

以下为个人理解,若有错误,麻烦告知�� delimiter(分隔符) 就是MySQL表示语句结束,当遇到 delimiter 就执行,默认情况下 delimiter 是“ ; ”, 想要输入多个语句,则可以把它变成其他的符号,比如> delimiter ,这样一来,分隔符号就变成了, 这样一来,分隔符号就变成了, 以后要执行MySQL语句结尾就要输入$。例子��mysql> select *

2017-11-27 18:38:05 598

原创 python pip

pip是一个很方便的工具, 可以方便安装, 列出, 卸载python的模块/库/包等常见使用, 例如:安装 xx 库$ pip install xx列出已经安装的python包$ pip list 输出xx包的信息$ pip show xx卸载$ pip uninstall xx查看pip 对应的指令$ pip【参考】Python: 删除已安装的模块或包 及 python工具p

2017-10-12 12:02:04 457

原创 Python pycryptodome 之 RSA 加解密

pycryptodome 支持 x509 证书加解密,关于RSA 、pycryptodome此处不详记。

2017-10-12 11:40:05 4188

原创 iOS RSA 加解密的简单使用, 摘录

此文章摘录于几个篇文章,受益匪浅。 demo下载 码云 或者 github一、首先了解一下几个相关概念,以方便后面遇到的问题的解决:RSA算法:1977年由Ron Rivest、Adi Shamirh和LenAdleman发明的,RSA就是取自他们三个人的名字。算法基于一个数论:将两个大素数相乘非常容易,但要对这个乘积的结果进行因式分解却非常困难,因此可以把乘积公开作为公钥。该算法能够抵抗

2017-10-11 11:52:51 522

原创 Git 命令行操作

第一种情况 : 新建项目关联远程仓库1、告知当前git用户的邮箱地址是什么git config --global user.email "[email protected]"2、告知当前git用户的用户名是什么。git config --global user.name "Your Name"3、在本地新建一个项目,终端进入你的项目目录的路径下,引号内部为你需要执行源代码管理的项目根目录。cd "yo

2017-09-20 14:33:10 401

原创 svn bug Description 不能接受属性“svn log”的非LF行换行符

cornerstone commit 时出现一个Description : 不能接受属性“svn:log”的非LF行换行符的bug ,cornerstone 还说明了错误的文件路径的详细。我仔细查看,没法现有什么不对的地方,并且Xcode 编译得过。后来发现是 cornerstone commit的描述,我输入了回车符,去掉就好了。 流汗。关于 “非LF 行换行符”是什么? 在打字机时代,

2017-09-12 10:03:13 956

原创 iOS archive 时出现 “ BaiduMapAPI_Map(BMKUserLocationInternal.o)' was built without full bitcode.”

BaiduMapAPI_Map(BMKUserLocationInternal.o)' was built without full bitcode.

2017-08-04 16:40:36 1158

原创 iOS 关于屏幕截图,获取webView高度,截取长图

webView的截取长图当你要截取webView 中的长图内容,却获取不到高度时,不妨可以这样获取:通过获取 webView 中的 scrollView 的 contentSize.height, 但是,一开始获取 webView.scrollView.contentSize.height 的高度时,并不能拿到我们想要的长度,而是得到了屏幕的高度,这时可以通

2017-08-04 01:27:47 3368

原创 iOS OC_二维码扫描、生成及长按识别

整理了一个关于二维码扫描,生成二维码(带logo、换颜色),长按识别二维码的内容的Demo。效果如图:github 下载地址

2017-06-17 18:08:57 2564

原创 iOS Injection II 注射器

昨天一猿友告诉我一个好玩的东西 – Injection 注射器。这是个什么东西呢?一个可以将你更改的代码注射到模拟器或者macOS应用程序中,您就不需要去点击run ,在模拟器的当前页面就能看到效果。节省build and run 的时间。但是有几点要注意:1、首先要打开模拟器,运行项目,Xcode 处于run 的状态。 2、进行注射前要先 command+C 保存文件,再进行 Inject S

2017-05-10 00:04:34 2230

原创 Cornerstone Mac 安装

Cornerstone Mac 安装 破解版下载地址软件版本:Cornerstone 3.0.3安装环境:macOS Sierra 10.12.4软件安装过程比较简单,不说明。问题: 安装后打开出现“Cornerstone.app 已损坏,打不开。您应该将它移到废纸篓。”解决: 在安全性与隐私中打开任何来源就解决了。但是,在安全性与隐私中并没有打开任何来源这一选项。原来是

2017-05-03 10:12:11 4161

原创 iOS--将 .sql 文件 写入数据库

可爱的后台乐哥给我一份.sql 文件,里面是sql 语句,意思是叫我将.sql文件运行,添加到数据库中。就比较方便,有方法可以直接运行.sql 文件,iOS 方面,我目前没有找到可以直接调用.sql 文件的方法,所以使用了以下这种笨拙的方式进行写入数据库。后台给我的内容是这样的:/* app参数表 存放全局属性*/CREATE TABLE IF NOT EXISTS APP_PARAMETER(

2017-04-19 18:00:33 1877

原创 iOS 真机测试查看APP沙盒

当我们进行开发的时候,经常会查看APP的沙盒,看看数据库写入或文件存储是否正确,用模拟器run 的时候,我们那路径去通过文件夹访问是没问题的。但是通过真机的拿到的路径就无法通过电脑直接访问了,这时候要查看真机里面的沙盒应该怎么办呢?当你进行真机测试时,将你的Demo run 到真机上,此时iPhone是连接到电脑的,我们通过Xcode来查看APP中的沙盒,步骤如下:1、通过添加设备打开 Devic

2017-03-14 00:46:27 2446

原创 iOS系统库头文件中NS_AVAILABLE 说明(更新中)

NS_AVAILABLE_IOS(5_0) 这个方法可以在iOS5.0及以后的版本中使用,如果在比5.0更老的版本中调用这个方法,就会引起崩溃。NS_DEPRECATED_IOS(2_0, 6_0) 这个宏中有两个版本号。前面一个表明了这个方法被引入时的iOS版本,后面一个表明它被废弃时的iOS版本。被废弃并不是指这个方法就不存在了,只是意味着我们应当开始考虑将相关代码迁移到新的API上去了

2017-03-13 15:52:39 5221

原创 ShareSDK #warning:尚未配置[QQ]URL Scheme:QQXXX, 无法进行分享

实现shareSDK的 QQ分享时出现下面的错误: #warning:尚未配置[QQ]URL Scheme:QQXXX, 无法进行分享 Error Domain=ShareSDKErrorDomain Code=207 "(null)" UserInfo={error_message=尚未配置[QQ]URL SchemeQ00000NAN, 无法进行分享。}

2017-02-04 11:30:11 6107

原创 invalid mode 'kCFRunLoopCommonModes' provided to CFRunLoopRunSpecific - break on _CFRunLoopError_Run

+[CATransaction synchronize] called within transaction+[CATransaction synchronize] called within transactioninvalid mode 'kCFRunLoopCommonModes' provided to CFRunLoopRunSpecific - break on _CFRunLoopError_Run

2017-01-15 13:24:37 16261

iOS 屏幕截图

iOS 屏幕截图,截取长图,截取webView 长图,获取webView 高度。

2017-08-04

iOS OC 单例

一个单例的demo

2017-06-20

iOS文字设配屏幕

在网上找到文字适配屏幕的demo,比如在5是 16px,在6是17px,在6 plus 是18px。屏幕变大文字变大。觉得不错,分享出来

2017-01-12

C/OC_geohash

C的geo,OC可以通过调用C获取geohash值。

2016-11-19

NSStringOfRect

计算文本高度、带间距的文本高度以及带表情的文本高度。

2016-10-28

HMSegmentedControl 二次封装

公司项目需要,原先的HMSegmentedControl 不能响应点击相同的index,在原来的基础上增加了:- (void)setIndexSelectBlock:(IndexSelectBlock)indexSelectBlock;方法 来响应点击相同的index。

2016-10-11

空空如也

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

TA关注的人

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