- 博客(164)
- 资源 (8)
- 收藏
- 关注
原创 记录一次沟通的方法
最近两个项目过程中,我们组有个小伙伴的状态非常不好。因为技术基础较弱,并且专注点也不在技术上面,所以平时一般我只分配一些非主流程模块给他开发,倒也没有什么大的问题。但是最近两个项目过程中,逐步分配了一些稍微重要的模块给他开发(毕竟也是要考虑年底绩效不那么难看)。过程就不详细描述了,简单说下结果:项目一基本没有自测,我review和跑UI发现40个左右的bug。最后还动手重构了部分代码。主要...
2021-07-22 22:42:24
141
原创 UITabelView在iOS14.1和iOS13.6中的一点区别
indexPathsForVisibleRowsiOS14.1 返回数组iOS13.6 返回数组中只有当前cell的indexPath(数组元素是1)visibleCellsiOS14.1 返回cell数组iOS13.6 返回数组中只有当前cell(数组元素是1)在获取当前cell或者当前cell的indexPath的时候要注意,iOS13.6可以直接取数组中第一个first元...
2020-11-21 22:16:08
308
原创 记录ReactiveObjC 安装的一个坑
在bash环境下运行命令:pod install ReactiveObjC有可能会报错,这时可以考虑使用zsh替换bash。具体原因暂时没有继续研究。
2019-09-23 22:34:15
645
原创 将博客搬至CSDN
应CSDN运营邀请,把简书内容迁移回CSDN。CSDN是我从大学开始就一直在看的网站,虽然近来很少来逛了,但是在我心理对CSDN一直抱有一份感恩,感激在我初学计算机的时候给我的帮助。...
2019-08-30 17:37:48
224
4
原创 记录iOS图片下载的一个坑
背景:需要下载图片到本地,具体做什么就不说了:)方案1. 采用NSData dataWithContentsOfURL方法下载。结果失败。无法获取原因方案2. 采用SDWebImage异步下载。结果如下:Error Domain=NSURLErrorDomain Code=-999 "已取消" UserInfo={NSErrorFailingURLStringKey=...
2019-06-06 14:30:39
442
原创 记录一个CocoaPods组件库依赖问题
CocoaPods公司某iOS App,下属有几个组件。简单称之为:Platform平台组件、Business业务组件(A, B)...。问题发生在组件lint的时候,发现业务BusinessA依赖的Platform组件是1周之前的版本,并不是最新版本; 但是B确是依赖的Platform组件的最新版本。Platform组件的依赖 s.dependency '...
2019-04-17 13:53:08
367
原创 Dart 语法学习笔记
变量声明变量几种方式:1. var name = "Tim"; //自动推倒类型(infer)为string2. String name = "Tim"; //强类型定义3. dynamic name = "Tim"; //可以修改变量类型 name = 4.0;4. final name = "Tim"; //首次使用时执行一次5. ...
2019-03-02 14:47:17
173
原创 2018年工作总结
本文仅为我18年绩效答辩PPT内容记录,记录我18年的全年工作重点和成绩。工作概述2018年我转岗到新的业务线,这里仅以ZC代替(为了不泄露公司内容)。此业务线背景是:公司第一款App,也是公司最核心业务、和最赚钱的业务。同时也是历史最悠久的App,经历版本最多,维护人员更迭最多的项目。我接手项目后,梳理一下项目整体框架和代码后,对比后续的产品需求后,发现我们面临三个主要...
2019-02-14 22:49:15
149
原创 Mac安装配置Flutter注意事项
安装步骤见官网,中文官网。 github地址一. 如果你是download的release包,运行flutter doctor会报如下错误:Error: The Flutter directory is not a clone of the GitHub project. The flutter tool requires Git in order to op...
2018-11-07 13:11:59
207
原创 不吐不快 - 轮资深工程师的重要性
图片发自简书App故事的背景是这样的,公司一个内部运营App工具,两个产品团队产品规划,后台也是两地不同开发团队进行开发,使用人员可能是同一个运营人员。在第一版开发的时候,产品团队已经考虑到了可能的情况,首页会根据不同的权限展示不同的业务模块。但是在第二个团队做产品设计的时候并没有考虑到这个,按照业务类型进行区分登陆的用户,如果是选择业务1,则进入业务1业务,...
2018-11-06 22:13:20
131
原创 在Python中使用Tesseract进行OCR识别
本教程翻译自PyImageSearch英文原文Tesseract OCR上周的博客内容,我们学习了如何安装Tesseract去做OCR识别。然后我们通过一些小图片示例去应用Tesseract测试和评估这个OCR引擎的性能。我们的结论显示,Tesseract在前景文本和背景色区分的非常清晰的图片上工作非常好。实际上,保证这些类型的分割可能极具挑战性。因此,我们...
2018-10-08 17:51:11
1976
原创 安装Tesseract实现OCR
本教程翻译自PyImageSearch英文原文实现效果今天的博客文章是安装和使用Tesseract library 进行OCR识别的两章系列中的第一部分。OCR可以自动对手写或者印刷字体进行类型转化为机器编码文本字符串,供我们存取和操作。本系列第一部分将专注于在你的机器上安装和配置Tesseract,其次是利用tesseract命令实现对输入图片的OCR应用...
2018-09-10 10:35:06
462
原创 2018关于开发的思考
图片发自简书App资深工程师的作用除了完成分配的任务外,还应该能发现问题并给出解决方案解决问题,上能理顺系统架构,下能编出高效代码,理顺开发流程,提高团队效率。说到团队开发效率,不得不提到软件的工程属性。当年上学时最容易被忽略的一个科目,反而是实际工作中最重要的部分。有人说中美软件开发能力之间基本没有差距,或者说国内开发人员的水平已经超过了美帝;但是国内恰恰是因为在...
2018-01-13 13:47:40
95
原创 写在2017年的最后一天
图片发自简书App2017最后一天,我和老婆趁着儿子上英语课的时间,看了一场电影#妖玲玲。2017工作了十一年了,总被新来的同事称为哥了。最为一个大龄软件工程师(非码农),17年想的最多的就是如何赚更多的钱,来满足日益增长的孩子的需求。也是怀旧的一年。今年在工作上又回到了带项目上。五年前转型到移动互联个网,五年后又转回项目管理。10年生活就是一个轮回。之前不喜欢管...
2017-12-31 18:39:38
121
原创 NSAttributedString和HTMLString之间的转换
自制富文本编辑器NSAttributedString to HTMLStringNSDictionary *documentAttributes = @{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType};NSData *htmlData = [attributeString dataFromRan...
2017-10-27 17:50:59
619
原创 将兴趣变为工作-我的阅读APP开发之路(四)
UI类图整个UI分为三大部分:ReaderView 核心阅读视图CatalogVC 目录ViewControllerMenu 上下部菜单(阅读时隐藏)数据结构//阅读配置信息@interface TBRReadConfig : NSObject <NSCoding>@property (nonatomic, assig...
2017-05-11 23:23:08
100
原创 将兴趣变为工作-我的阅读APP开发之路(三)
爬虫流程开发环境Python 2.7.10virtualenvs:隔离python开发环境BeautifulSoup 3.2.1: html 解析三方库requests 2.13.0: http request三方库文件结构 sprider_craw.py: 添加要爬的小说url。spider_db.py: 数据库操作类,单例对象。sp...
2017-04-29 23:44:47
116
原创 将兴趣变为工作-我的阅读APP开发之路(二)
数据库表结构考虑到每章内容占用空间比较大,可以独立出来放到单独一个表中,比较好维护和管理。book表 记录书籍相关信息:如书名、作者、简介、最新章节、分类等信息。chapter表 记录对应bookid的章节名称、对应的url、章节索引。bookshelf表 记录添加到书架的书籍(仅本地),只记录bookid和对应阅读记录。喜欢的话,请支持我的A...
2017-04-17 13:21:46
104
原创 将兴趣变为工作-我的阅读APP开发之路(一)
因为从小就喜欢阅读,并且对各类文学作品都非常感兴趣;进入互联网时代,智能手机成为碎片化阅读的主旋律。当尝试了各种阅读APP后,自己做一个的想法不可抑制的就这样出现了。从2011年进入到移动互联网行业来以后,就有了这个想法;但是似乎总是有各种各样的借口,“后台不好做了!没有数据来源来!...”。就这样一直一直到了2017年,终于下定决心要做自己的小说阅读APP了。首先是设计整...
2017-04-15 21:56:12
150
原创 做人不能做“中间”那部份的人
你有什么理由不努力 最近在健身房中健身发现一个现象,去健身房的人可以分为两种。一种是身材非常好的;另外一种是身材特别差的。很少有不好也不坏的“中间”那部分人来锻炼。 健身房中健身的人其实跟职场一样,也可以对应两种人:一种特别优秀的人才,可以说是精英,他们已经或者即将功成名就,但是一样一直努力着;另外一种就是那种一无所有的人,但是他们...
2017-03-31 14:03:08
179
原创 35岁开始转变的观念
作为一个标准的IT男,从一开始的一线开发,做到管理层,又因为喜爱开发,跳槽继续专注coding,一干就是10多年。有时候就想,这样一直学习,coding,如果能干到老也挺不错的! 不过生活的压力是不会让你安逸的。人到中年,又作为独生子,一个人离乡背井的在“大城市”打拼,老婆、孩子,生活中全部都是需要钱的地方。工资开始慢慢不能满足了,刚开始自己接点私活,还能...
2017-02-26 15:06:40
142
原创 UICollectionView实现多九宫格拖拽
> 我这里要记录使用UICollectionView实现类似九宫格的拖拽的效果,类似iPhone桌面的SpringBoard,包括文件夹的合并 * SpringBoard:这是我第一次实现类似的效果,前期做了比较充分的调研工作。找了很多开源库进行研究,虽然有很多类似的实现,但是基本上都只局限于一个UICollectionView内不同的cell之间...
2017-01-26 10:33:38
212
原创 UIScrollView被我忽略的一个属性
UIScrollView被我忽略的一个属性 最近在使用UIScrollView的时候,突然发现横屏滑动时没有按页滑动,停留的位置不满足要求。刚开始觉得可能是scrollViewDidScroll里面计算页数不对,查了下发现不是这的问题。翻看头文件发现一个属性pagingEnabled,竟然跟page相关,难到是?试试设置为YES, 果然解决问题。通过这个问题发现自己还是很多细节不够了解,一些属
2017-01-26 10:01:57
373
原创 NSTimer 在使用中需要注意的几个问题
NSTimer 在使用中需要注意的几个问题NSTimer在UITableViewCell中使用是,需要将timer加到runLoop中。countDownTimer = [NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(countDown:) userInfo:nil repeats:YES];NSRunLoop
2017-01-26 10:01:23
451
原创 VVDocuemnter-Xcode plugin could not work correctl
2015-04-22 VVDocuemnter-Xcode plugin could not work correctly VVDocuemnter-Xcode plugin 是xcode上非常好用的一个插件,尤其适合做sdk接口的lazy programer。最为一个标准的懒人,必备之神器之一。但是当我安装完后却发现无法使用。怪哉,奇哉!google 了一圈下来,没有任何收获。索性自己看看源
2017-01-26 10:00:26
409
原创 2015-04-07 Summary Report
2015-04-07 Summary Reports 截止4月3日,我来到新公司的第一个项目在一片混乱和加班声中落下了帷幕。这可能是我参加工作至今参加的最最混乱的一个项目。所以有必要整理下思路,将项目中的有缺点(主要是缺点:))总结纪录下,为自己也为他人提供一个参考。我将问题分为几类,按照软件工程来分吧,反正每个阶段都有一些问题。一、需求方面主要遇到的问的:需求不明确: 项目已经开始一周,需
2017-01-26 09:59:35
402
原创 Solve jenkins build xcode project could not found provision issue
Solve jenkins build xcode project could not found provision issueThe error is: Code Sign error: No matching provisioning profile foundHow to solve:1-Ensure the project is building successfully from Xc
2017-01-26 09:58:38
371
原创 为什么要从一个舒适的工作环境中离开
为什么要从一个舒适的工作环境中离开 今早乘坐7点06分点轻轨,我踏上了一天工作点旅程。中途在天津站倒车的时候,我看着屏幕上点时间7点23分,多么早啊。一个礼拜之前,这个时间我才刚刚起床,8点06分点轻轨让我轻松在9点一刻之前到达公司。为什么我要换个工作找罪受啊?我陷入深深点思考!我到底来这里要干什么?是仅仅为了赚更多点工资么?经过一路点思考,我想我找到来答案。那就是要突破,要变的更强。在这个不
2017-01-26 09:57:34
705
原创 我的努力你不懂
东北小镇的冬天截止到2016年,我已经在这座“陌生”又“熟悉”的城市工作了十年。从东北小镇走出家门,步入大学,参加工作,谈恋爱,结婚,生子,人生转眼就走完了前半段。蓦然回首,自己再也不是记忆中的那个青涩、活泼、天不怕地不怕、大大咧咧、横冲直撞的自己了。装煤工人工作中记得大约是小学一二年级的时候,母亲领着我往家走,途中路过一个装煤的火车站,下面停...
2017-01-25 13:17:04
111
原创 为什么不要在dealloc函数中使用accessor
在dealloc中使用accessor源码大致如下结构:- (XXXXService *)navService{ if (!_navService) { _navService = [XXXXService alloc] init]; _navService.delegate = self; ... ...
2017-01-20 11:53:10
123
原创 使用 xcodebuild 从 archive 导出 ipa(转)
原文链接:https://blog.reohou.com/how-to-export-ipa-from-archive-using-xcodebuild/XCODEBUILD ARCHIVE 时卡住在调用上面的 xcodebuild archive 命令时卡住,xcodebuild archive 卡住xcodebuild archive 卡住可能是由于 schem...
2016-11-14 13:40:27
246
原创 iOS CALayer 绘图模糊有锯齿的解决方案
在CALayer中绘制图形会出现锯齿和模糊,同样绘图在UIView中就没有问题。经查资料发现不自动处理两倍像素的情况。解决方案为:设置layer的contentsScale属性为[[UIScreen mainScreen] scale]; ...
2016-09-18 09:34:33
321
原创 每天学习一个API:GCD - dispatch_async
每天学习一个API官方定义:Submits a block for asynchronous execution on a dispatch queue and returns immediately. 将一个block对象提交到dispatch队列中去异步执行,然后马上返回。函数声明:void dispatch_async( dispatch_queue...
2016-09-09 09:44:29
101
原创 每天学习一个API:GCD - dispatch_once
每天学习一个API官方定义:Executes a block object once and only once for the lifetime of an application. 在应用程序的生命周期内执行一个block对象一次且仅仅执行一次函数声明:void dispatch_once(dispatch_once_t*predicate, dis...
2016-09-07 13:07:54
106
原创 iOS 当Animation遇到Constrains
UI层级关系在复杂的系统中,难免遇到混合使用frame和contrains的情况。这里记录下我遇到的一种情况。RootView:使用frame方式。ContentView: RootView的子view,采用Masonry约束。CGRect rect = self.RootView.frame;[UIView animateWithDuration:0.3...
2016-06-01 16:45:15
97
原创 iOS crash 解析可能遇到的问题
当前系统中各个版本的符号表无法解析系统API无法解析系统API原因:目录~/Library/Developer/Xcode/iOS\ DeviceSupport/中没有对应的crash系统的版本。解决方案:从其他机器上copy一份即可。无法解析APP地址可能原因:crash 版本跟dysm版本不一致。发生crash系统的版本高...
2016-05-11 16:37:06
147
原创 Jenkins git permission denied solution
Permission denied, please try again.Permission denied, please try again.Permission denied (publickey,password,hostbased).fatal: Could not read from remote repository.Solution:copy ~/.ss...
2016-04-12 18:15:28
170
原创 iOS编译并安装i386 ARCH APP
Mac编译:需要的几个宏定义BUILD_TYPE=ReleaseARCH='armv7 arm64 i386'SIMULATOR_OR_IOS_SDK=iphonesimulatorDEVELOPMENT_TARGET=7.0SDK_VERSION=9.2编译脚本xcodebuild -workspace ${PROJECT_DIR}/${APPLIC...
2016-03-28 16:27:23
233
原创 一些关键字的记录
__block:支持MRC & ARC。应该是提升了变量的作用域,使得在 block 内部和外部所访问的是同一个变量。__weak:支持ARC。主要用于在block中避免循环引用。__strong:支持ARC。作用类似Retain,可以跟__weak配合,保证在block范围内变量可用。(参考AFNetworking 源码)__weak __typeof(...
2016-02-06 10:42:22
120
原创 CodeReview会让你下不来台么?
故事的背景是这样滴:某同事改动以前是我写的一部分代码,除却功能上和代码位置的改动外,经常无意识的将原本的代码格式改成自己习惯的代码格式。Leader review的时候cc上了我,让我review一下,我简单看了下功能,并没有什么问题,但是做为一个对代码风格要求统一的程序猿来说,同一个文件出现多个风格,这不是我的风格。所以就有如下的comments:recorde....
2016-01-20 22:41:03
82
基于USB摄像头的音视频对讲
2010-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人