自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(117)
  • 资源 (9)
  • 收藏
  • 关注

原创 创建索引需要注意什么?

所有的列应指定为 NOT NULL ,除非有存储 NULL 值的需要。因为在 MySQL 中,含有 NULL 值的列很难进行查询优化,会使得索引、索引的统计信息以及比较运算更加复杂,应该用0、一个特殊的字符或者空字符串代替 NULL 值。 索引字段越小越好 因为数据库的数据存储是以页为单位的。一页存储的数据越多,一次 I/O 读取到数据就越多,那么 读取的效率就会越高。 因为如果存在大量相同取值的字段,在查询时,结果集的数据行可能占了表中数据很大的比例。所以

2022-06-27 14:22:39 1086 1

原创 golang多线程中如何捕获error并返回(使用channel通道)

在多线程中,每个 goruntine 中可能共享同一个 error 变量,此时当发生 error 事件后当对应 goruntine协程退出后其他协程依然在执行中,因此很有可能会再次修改 error 变量进行覆盖。 使用带有缓冲 channel 通道,在发生 error 时将 error 数据写入管道中,这样在所有多线程执行完任务后就可以捕捉到所有发生的 error 错误信息。 此方案需要等待所有多线程执行结束退出(wg.Wait() 阻塞结束),因此适用的场景是需要捕捉多线程中所

2022-06-10 11:52:30 2032 1

原创 Go语言反射(reflect)

反射(reflection)是在 Java 出现后流行起来的,通过反射可以在运行时获取丰富的类型信息以及更新操作,支持反射的语言可以在程序编译期将变量的反射信息,如字段名称、类型信息、结构体信息等整合到可执行文件中,并给程序提供接口访问反射信息,这样就可以在程序运行期进行获取,并且有能力修改它们。但是反射带来的问题是代码的可读性差和性能问题,下文会讲到。Go 语言中的反射是由 reflect 包提供支持的,它定义了两个重要的类型 reflect.Type 和 reflect.Value,任意对象在反.

2022-04-25 11:40:47 1863

原创 Go语言 interface 理解 & 与反射的关系

理解 interface1、interface 是一种类型准确来说,interface 是带有一组方法的一种类型,这些方法定义了 interface 的行为。如果一个类型实现了一个 interface 中所有方法,则该类型实现了该 interface。又因为 go 允许不带任何方法的interface存在,这种interface成为空interface。所以所有类型都实现了 empty interface,因为任何一种类型至少实现了 0 个方法。go 没有显式的关键字用来实现 interfa

2022-04-25 11:22:25 1071

原创 go get & go mod找不到包问题解决

今天在云虚机中遇到了go get执行报错的问题,报错内容如下:试了ping百度正常,说明不是DNS的问题。执行go mod tidy同样报错,最后找到问题。将GOPROXY由https://proxy.golang.org改为了https://goproxy.cn问题解决,但是还是拉不到github上的包,于是在GOPROXY中继续添加了https://github.com就好了。但是在本地Mac环境只配了https://proxy.golang.org这个源,一切正常。问题的.

2021-10-15 17:28:10 3752

原创 k8s集群自动化部署脚本-centOS

操作系统:centOS第一步,执行环境配置脚本(所有节点执行)执行脚本时添加hostname参数。#!/bin/bashecho $#if [ $# -ge 2 ]; then echo "参数个数过多,请确认是否输入错误" exitelif [ $# -le 0 ]; then echo "无参数 ,请确认是否输入错误" exitelse # $1是k8s集群中节点的名字 hostnamectl set-hostname $1fi# 修改SeLinux配置,永久

2021-10-15 11:12:11 1241 1

原创 Golang接收带空格字符串

scan、scanf、scanln在输入时,都会以空格作为一个字符串的结束在C和C++中我们直接可以调用自带库函数来实现,比如C可以使用gets()函数、C++可以使用getLine()函数。但是在go中需要引入第三方库来完成对带有空格的字符串的接受。bufio库使用bufio包里带缓冲的Reader实现带空格字符串的输入,实例代码如下:package main import ( "bufio" "fmt" "os") func main() { reader := b.

2021-09-08 16:41:32 1738

原创 Java包爆红---maven冲突

今天又遇到了之前碰到的一个问题,那就是当我在pom.xml文件中导入一个新包后,导致项目引入其他包的某个类爆红。在引入如下新的包之后:导致之前引入的类出现了爆红:定位问题:在新引入的linkshop-api包内对mktact-common-domain也有子依赖,并且版本号为1.0。而在本项目当中引入的mktact-common-domain的版本是1.0.2,因此造成了version冲突。解决办法:在pom.xml文件中对新引入的包添加exclusion...

2021-07-21 11:19:19 729

原创 微信公众号永久素材的上传、删除、查询---Java

素材CRUD的Api及介绍参见微信官方文档:https://developers.weixin.qq.com/doc/offiaccount/Asset_Management/Get_the_total_of_all_materials.htmlJava实现(Controller实现):package ***;import ***.Result;import ***.ResultUtils;import ***.WeChatAccessToken;import ***.ap.

2021-04-09 10:59:28 498 3

原创 resizableSnapshotViewFromRect方法

官方文档:https://developer.apple.com/documentation/uikit/uiview/1622597-resizablesnapshotviewfromrect?language=objc方法声明:- (nullable UIView *)resizableSnapshotViewFromRect:(CGRect)rect afterScreenUpdates:(BOOL)afterUpdates withCapInsets:(UIEdgeInsets)capIn

2020-12-28 16:11:38 459

原创 CAGradientLayer遮挡子控件问题

我们在定义好CAGradientLayer实例后一般要通过下面的代码将实现的效果作用到对应的组件中:[self.view.layer addSublayer: self.gradientLayer];但是此时self.view中可能已经有其他的子控件已经添加到了self.view中,由于CAGradientLayer也属于一种图层,所以此时就会遮盖住其他子控件。解决方案:改用insertSublayer方法将CAGradientLayer实例添加到最底部(index为0)[self.

2020-12-23 15:07:03 521

转载 vc和view的生命周期

vc的生命周期:https://www.cnblogs.com/XYQ-208910/p/11785606.htmlview的生命周期:https://www.cnblogs.com/XYQ-208910/p/11788498.html

2020-10-26 17:49:03 191

原创 OC中使用Block替代通知事件

使用Block的替代通知的好处不仅降低了系统的资源占用且更高效,使用起来还简单方便。下面的例子为,在A类中定义了B类的属性,B类中事件发生时需要通知A类然后A类需要做一些操作,也可以接受参数与返回值。1、第一步在B类中添加block属性,例如(可以设置block的返回值和参数来实现A类与B类的数据传递):2、第二步在A类中定义block属性(一般在初始化时),例如:3、最后一步,在B类中需要触发事件的地方调用block,例如:...

2020-10-10 17:00:34 158

原创 iOS14 适配及部分解决方案

本文是从简书网上复制而来,因本人参考的简书上一个不错的iOS 14适配博文打不开了,所以防止内容找不到在此复制一份。在6月份刚结束的首次线上 WWDC 2020 发布会上苹果向我们展示了新的 iOS14 系统。iOS14 的适配,很重要的一环就集中在用户隐私和安全方面。在 iOS13 及以前,当用户首次访问应用程序时,会被要求开放大量权限,比如相册、定位、联系人,实际上该应用可能仅仅需要一个选择图片功能,却被要求开放整个照片库的权限,这确实是不合理的。对于相册,在 iOS14 中引入了 “Lim.

2020-08-17 16:07:20 5701

原创 OC协议(Protocol)、分类(Category)和类扩展的简单使用

1⃣️ 协议Protocol创建自己的协议 //定义MyPerson协议,NSObject是基协议@protocol MyPerson<NSObject>//@required修饰的方式是必须实现的,没有实现就会出现警告@required-(void)test;-(void)test1;//@optional不要求实现@optional-(void)test2;@end 遵循协议 -只要遵循一个协议,就拥有了该协议的所有方法-允许遵循多.

2020-07-28 13:05:58 703

转载 Your Podfile requires that the plugin `cocoapods-static-swift-framework` be installed.

转:https://www.jianshu.com/p/7af8d74ff374

2020-02-11 11:09:16 1445

原创 ComponentKit框架学习

一、特性三大特性:描述性:通过stack的特点纵向或横向堆砌,排版模具来告诉我们某一个元素A的子元素在A中如何排列。 函数式:保证数据流是单向的,也就是数据决定Component。比如方程“1 + X”,如果“X = 2”,则相对应的结果就是3是固定的。数据如果确定了,那么结果就是不变的。当数据发生改变时,对应的Component会进行重新渲染(底层实现会尽量少的重新渲染)。 可组合:...

2020-02-08 21:12:27 1393

转载 yarn的安装与使用教程

转:https://cloud.tencent.com/developer/article/1373001

2020-02-03 13:15:34 4593

原创 UIBundle

可以理解为一个资源包,什么叫资源包呢,包括音频资源、视频资源、图片资源,最后都将会打成一个包,装到app里去,这些文件统称为资源文件,最后都会打到NSBundle包里。 mainBundle可以获取当前工程下的资源文件[NSBundle mainBundle];使用:NSString *path = [[NSBundle mainBundle] pathFor...

2020-01-14 18:07:03 383

原创 FMDB

FMDB是对SQLITE的封装(可以说是将C语言的库OC化的封装),是开源的第三方框架。可在Github找到这个库。地址:https://github.com/ccgus/fmdb使用: 下载源码到本地,将目录src/fmdb拷贝到项目工程当中即可。 FMDB的具体使用参见:https://download.csdn.net/download/j...

2020-01-14 16:23:25 265

原创 UITableView实现下拉刷新

UIRefreshConteol类是实现下拉刷新的控件,并且UITableView有refreshControl的属性。定义:UIRefreshControl *control = [[UIRefresh alloc]init];//下拉刷新时显示的文字control.attributedTitle = [[NSAttributedString alloc]initWithStrin...

2020-01-14 14:56:22 627

原创 通过xib文件创建UITableView中的cell

与手动在UITableView里创建Cell不同的是,xib文件是一个独立的cell,需要在UITableView中进行注册才可使用。而直接创建的cell就直接归属了所在的UITableView,因此不是独立也不用注册。如下://关联Cell到TableViewUINib *nib = [UINib nibWithNibName:"WeChatTableViewCellXIB" b...

2020-01-14 11:39:52 205

原创 UICollectionView学习笔记

设置Delegate和DataSource定义定义UICollectionView视图的属性初始化·CGRectZero是一个高度和宽度为零、位于(0,0)的矩形常量。需要创建边框但还不确定边框大小或位置时,可以使用此常量。注册registerClasskServiceOnlineSelectCellId可以说是自定义的一个身份标志需要实...

2020-01-13 20:22:19 134 2

转载 GitLab合并请求时出现 Validate branchesCannot Create: This merge request already existed

转:https://blog.csdn.net/qq_36722039/article/details/80137454

2020-01-10 16:43:45 806

原创 [!] No podspec found for 'react-native' in ./node_modules/react-native报错解决

报错原因是因为pod install时没有找到对应react-native目录下的.podspec文件导致错误有两种可能:node_mudules/react-native目录下有.podspec文件,但和Podfile依赖文件里定义的名字不符 node_modules/react-native目录下没有.podspec文件对于第一种可能的react-native目录下的.po...

2020-01-10 16:43:02 8158

转载 打包自己Framework中含有第三方库的解决方案分CocoaPods与手动导入两种方式

转:https://www.cnblogs.com/qizhuo/p/9101650.html

2020-01-10 14:58:47 957

转载 Xcode 创建.a和framework静态库

转:https://www.cnblogs.com/wwbb/p/7571991.html

2020-01-09 16:06:50 170

转载 iOS开发符号表(dSYM)知识总结

转:http://www.cloudchou.com/android/post-992.html

2020-01-09 09:59:08 1250

转载 Cocoapods原理总结

转:http://www.cloudchou.com/ios/post-990.html

2020-01-09 09:57:23 194

原创 简单使用xcodebuild和xcrun将工程打包为.ipa测试版本文件

1. xcodebuild2. xcrun3. 生成.ipa文件关于xcodebuild的参数的一些用法可参考:https://magicalboy.com/xcodebuild-usage

2020-01-08 17:00:44 313

转载 使用xcodebuild与xcrun打包工程并发布脚本

转:https://www.jianshu.com/p/1229476fbce4

2020-01-08 16:51:17 148

转载 Xcode脚本自动化打包问题:xcrun: error: unable to find utility "PackageApplication", not a developer tool or...

转:https://www.cnblogs.com/Crazy-ZY/p/7115076.html

2020-01-08 16:38:57 296

原创 UIView动画选项介绍

- 动画效果相关UIViewAnimationOptionLayoutSubviews //提交动画的时候布局子控件,表示子控件将和父控件一同动画。UIViewAnimationOptionAllowUserInteraction //动画时允许用户交流,比如触摸UIViewAnimationOptionBeginFromCurrentState ...

2020-01-07 20:43:56 545

原创 operator delete(void*) 和 operator new(unsigned long)未定义的问题

依次添加两个库,库名分别为 libc++.tbd 和libz.tbd,添加完成问题即可解决

2019-12-31 19:43:51 1444

转载 iOS KVC详解

转载:https://www.jianshu.com/p/b9f020a8b4c9

2019-12-30 11:29:13 69

原创 pushViewController和presentViewController的区别

用UINavigationController的时候用pushViewController:animated ----返回之前的视图[[self navigationController] popViewControllerAnimated:YES]; ---ps:push以后会在navigation的left bar自动添加back按钮,它的响应方法就是返回。所以一般不需要写返回方法,点b...

2019-12-29 17:54:27 293

原创 IOS序列化与反序列化NSKeyedUnarchiver与NSKeyedArchiver

1.序列化有何作用? 面向对象的程序在运行的时候会创建一个复杂的对象图,经常要以二进制的方法序列化这个对象图,这个过程叫做Archiving. 二进制流可以通过网络或写入文件中。 当你写的数据需要本地存储时,即将你的数据写到硬盘上的时候,你就必须对其进行序列化,转换成二进制文件,从而便于在磁盘上的读写,同理在取出的时候必须将其在反序列化,这样才能将数据读出来...

2019-12-29 17:46:13 874

原创 dispatch_once创建单例及使用

dispatch_once是实现单例模式的一种手段,是iOS开发中的一种手段。还有其他如NSNotificationCenter、NSFileManager等,获取它们的实例要通过[NSNotificationCenter defaultCenter]和[NSFileManager defaultManager]来获取,这也是一种单例的方式。dispatch_once的函数原型如下...

2019-12-29 17:39:37 350 2

原创 OC中的SEL

SEL即为selector的缩写。一般以报错的方式来检测一个类中是否存在某个类方法或对象方法。SEL的几种用法:1. 配合对象或者类检查类或对象中是否有某个方法 //setAge为对象中的方法 //如果对象中没有setAge方法就会报错 SEL sel = @selector(setAge); Person *p = [[Person al...

2019-12-27 15:25:35 386

原创 一个URL地址的组成结构

URL的组成包括:协议部分、端口部分、虚拟目录部分、文件名部分、参数部分、锚部分1⃣️协议部分:如http、https、ftp都属于协议部分2⃣️域名部分:如www.xiaomi.com,也可以使用ip地址作为域名使用3⃣️端口部分:跟在域名后的微端口,以“:”符号作为分隔符。端口部分不是必须的4⃣️虚拟目录部分:从域名后的第一个“/”到最后一个“/”是虚拟目录部分,也不...

2019-12-27 10:44:33 3354

FindServer.cfuwuqidaima

FindServer.cfuwuqidaima

2021-01-29

Client.ckehuanduad

Client.ckehuanduad

2021-01-29

18-P2P局域网聊天项目代码.zip

18-P2P局域网聊天项目代码.zip

2021-01-29

NSUserDefaults-记住密码.zip

**********使用NSUserDefaults类实现在登陆界面记住用户账号密码的demo**********

2020-01-15

FMDB的使用.zip

*****FMDB的使用*****

2020-01-14

UITableView下拉刷新案例.zip

*****UITableView下拉刷新demo*****

2020-01-14

UITableView自定义Cell-SB.zip

*****通过storyboard创建自定义cell并使用Model数据模型**

2020-01-14

UITableView自定义Cell-XIB.zip

*****简单使用XIB文件创建自定义的cell*

2020-01-14

appendParams.m

首先解析一个URL地址,然后将需要添加参数拼接到URL地址里,生成一个新的URL。 URL地址的组成结构可参见:https://blog.csdn.net/judgejames/article/details/103728010

2020-01-09

空空如也

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

TA关注的人

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