- 博客(17)
- 收藏
- 关注
原创 观察者模式(GO)
观察者模式(Observer Pattern): 定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。
2022-09-24 16:24:39
714
原创 策略模式(Go)
策略模式——定义算法族,分别封装起来,让他们直接可以互相替换,此模式让算法的变化独立于使用算法的客户。现在看一个例子:现在有一个王子,要让他有攻击的技能,王子可以选择剑、斧头、枪等武器进行攻击。在不适用策略模式的情况下我会这么写:type prince struct { name string}func (pr *prince)attachWithSword() { fmt.Println("attach with a sword")}func (pr *prince)at
2022-02-28 21:46:35
1151
原创 ngixn + lua + rsyslog实现日志功能
最近在公司实现日志功能。利用原生的Lua写法就是 ngx.log(ngx.ERR, msg)但是这个方法只是简单地把日志都集中在配置文件指定的地方,没有自动维护日志的一个机制。所以我采用了rsyslog,它默认是使用的syslog作为系统的日志工具。关于它我就不过多介绍了,总之我用起来挺方便,上手也容易。一开始我向rsyslog发送日志的方式是使用lua-resty-logg...
2019-11-29 09:42:35
566
原创 Mac中删除docker镜像
今天想把在docker上重复安装的镜像删除,记录下过程。删除镜像前先查看docker中有哪些镜像。发现ethereum/client-go重复安装了,那就删除一个,决定把ID号为b8f401825e7a给删除了。结果发现因为被容器使用中所以无法删除,后面的28b7d8adc6c1我没搞明白是什么东西,一开始以为是容器的ID验证结果发现并不是。那就先查看每个image对应的容...
2018-11-28 00:39:06
5039
原创 更新ruby出现的Error running '__rvm_make -j 1',问题解决方法
更新ruby时报错Error running '__rvm_make -j 1',showing last 15 lines of /Users/xiawei/.rvm/log/1493088333_ruby-2.3.1/make.log这是因为没有安装Command Line Tools,从App Store上下载Xcode后,默认是不会安装Command Line To
2017-04-25 11:36:13
3521
原创 UIScrollView总结
学习了scrollView一个相册的案例来总结下。 相册起始是一个大的scrollView里面嵌套多个小的scrollView。大的scollView控制图片间的切换,小的scrollView控制图片的缩放。//创建外面大的scrollView UIScrollView *rootAlbum = [[UIScrollView alloc] initWithFrame:CGRectMake(
2015-09-19 14:29:17
287
原创 IOS类与类之间的传值
类与类之间的传值分为正向和反向,在A中向B传值,B还没创建的情况: 给B中的属性设置值,比如要传值给B的Label,千万不能 B.label.text = name;因为这个时候控制器中的View还没被创建,所以B.Label现在为null。要给先传值给B中的NSString类:B.str = name;然后再在B中self.label.text = self.str;反向传值A是已经创建了,
2015-09-19 11:10:35
637
原创 iOS中视图的创建顺序
IOS中视图的创建过程是这样的:先判断存不存在view,如果存在返回一个view不存在则调用loadView的方法。再判断有没存在自定义的方法,就是有没有覆盖loadView的方法,像是[super loadView]。有就调用覆盖方法,没有则判断存不存在storyBoard,有就调用storyBoard,或者nib文件,没有就创建一个empty view,最后调用viewDidLoad这个方
2015-08-07 09:26:16
401
原创 IOS UIColor 自定义颜色
平时写界面的时候要为控件设置各种各样的颜色,然而UIColor中只封装了如下这些颜色。 + (UIColor *)blackColor; // 0.0 white + (UIColor *)darkGrayColor; // 0.333 white + (UIColor *)lightGrayColor; // 0.667 white + (UIColor *)whit
2015-08-06 10:20:06
1556
原创 tableView的一些基本方法
tableView实现UITableViewDataSource和UITableViewDaraDelegate协议。 UITableViewDataSource中的-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;这个方法把一个cell添加到i
2015-07-30 13:42:56
381
原创 tableViewCell的复用方法
一开始写tableView的时候我每一个Cell都加到了tableView的视图上去了,这样十分浪费内存。其实可以只创建若干个Cell,当其中的部分Cell滑出Device的界面时它就闲置了,当加载下一个cell时可以把这些闲置的cell复用,要注意的是复用时先前的cell的一些状态都是在的。 下面是我写的添加cell的代理方法,这种方法对内存消耗就很大了,因为没有- (UITableViewCe
2015-07-30 10:44:32
839
原创 tableView下面多余显示的Cell去除方法
在设置tableView的时候如果取到的Cell值不够铺满Device的屏幕下面会多出好几行的cell特别难看,解决办法有两中办法一:去掉分割线这样接下去多出来的cell也就和没有一样tableView.separatorStrylr = UITableViewCellSeparatorStryleNone;二:将tableView的底部设置成一个空白的viewtableView.
2015-07-28 11:16:11
545
原创 Xcode中引用类的一些问题
今天照着视频练习的时候出现了can not find interface of declaration for ‘Rectangle’,superclass of ‘Square’我的想法是用Square继承Rectangle然后再Rectangle中引用Square,然而并不行。爆出了以上的错误。然后我又创建了一个Circle的类继承的是NSObject,Rectangle也是继承的NS
2015-07-21 09:41:11
576
原创 简单记录下程序执行过程
未执行的程序其实就是一些存储在硬盘里的代码。当程序执行时,先由内存从硬盘中获取代码。内存区中有操作系统运行的代码,内存中的操作系统是一直在运行的,它会找到代码的入口,既main函数,然后运行。执行过程中的内存管理分为四个区域,代码区,数据区,堆,栈。代码区:存放代码。数据区:存放静态变量和字符串常量。堆:存放所有动态内存分配的对象。栈:存放局部变量。虽然很基础但不写下来老是
2015-07-18 09:11:33
546
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人