![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ios122
文章平均质量分 79
iOS122
这个作者很懒,什么都没留下…
展开
-
【自问自答】关于 Swift 的几个疑问
感觉自己给自己释疑,也是一个极为有趣的过程。这次,我还新增了“猜想”一栏,来尝试回答一些暂时没有足够资料支撑的问题。Swift 版本是:4.0.3。不同版本的 Swift,可能无法复现问题。个人记录,仅供参考,不保证严格意义上的正确性。原创 2018-01-06 10:54:08 · 1160 阅读 · 0 评论 -
番外特别篇之 为什么我不建议你直接使用UIImage传值?--从一个诡异的相册九图连读崩溃bug谈起
这两天,被一个自己App中诡异的相册读取的Bug困扰,暂时延缓了文章的更新进度.这个BUG,诡异而又有趣,既然花了10个小时才理清,不妨再投入1个小时,晒出来供大家鉴赏,品玩.原创 2016-09-22 12:48:24 · 1473 阅读 · 0 评论 -
实现iOS图片等资源文件的热更新化(二):自定义的动态 imageNamed
这篇文章,要解决的是,使用一个自定义的 imageNamed 函数来替代系统的 imageNamed 函数.内部逻辑,将贯穿对比论证 关于”合适”的图片的定义.对iOS加载图片的规则不是很熟悉的童鞋,可以着重看这篇.原创 2016-09-23 09:35:10 · 1399 阅读 · 2 评论 -
使用Spark分析拉勾网招聘信息(四): 几个常用的脚本与图片分析结果
概述前一篇文章,已经介绍了BMR的基础用法,再结合Spark和Scala的文档,我想应该是可以开始你的数据分析之路的.这一篇文章,着重进行一些简单的思路上的引导和分析.如果你分析招聘数据时,卡在了某个环节,可以试着阅读本文. 在继续下面的各种分析前,请确保已经读完了本系列文章的第三篇,并正确配置了BMR,同时导入了需要的真实招聘数据.如果用传统编程语言工具?假设我们从数据的采集,存储到数据的读取与使原创 2016-09-07 09:38:26 · 1319 阅读 · 0 评论 -
实现iOS图片等资源文件的热更新化(一): 从Images.xcassets导出合适的图片
本文会基于一个已有的脚本工具自动导出所有的图片;最终给出的是一个从 Images.xcassets 到基于文件夹的精简 合适 的图片资源集的完整过程.难点在于从完整图片集到精简图片集,肯定是基于一个定制化的脚本,自定义导出的.如果自己手动导出?那可有的忙喽~原创 2016-09-19 21:16:11 · 1446 阅读 · 0 评论 -
如果简单的记录,就可以为这个世界创造更多的财富,那么还有什么理由不去写博客呢? — 读<<黑客与画家>> 有感
我问大师,如何才能改变世界?大师说: 把你知道的,自认为有价值的东西都记下来,并保证他们可以被有同样需求的人很容易地检索到;剩下的,交给时间就好了!原创 2016-08-25 11:45:54 · 779 阅读 · 0 评论 -
使用Spark分析拉勾网招聘信息(三): BMR 入门
简述本文,意在以最小的篇幅,来帮助对大数据和Spark感兴趣的小伙伴,能尽快搭建一个可用的Spark开发环境.力求言简意赅.文章,不敢自称BMR的最佳实践,但绝对可以帮助初学者,迅速入门,能够专心于Spark本身的学习和实践.不服的童鞋,可以先自己折腾下BMR,再返回来读这篇文章O(∩_∩)O哈!创建 BMR 实例假定,你已经有了一个经过认证的百度开发者账号,就像系列第一篇文章讲的那样.什么?没有?原创 2016-09-02 13:02:48 · 1212 阅读 · 0 评论 -
实现iOS图片等资源文件的热更新化(零): 序
所以说,本系列的重点不在于热更新技术本身,而是在于如何用最小的成本,赋予一个中规中矩的iOS App的资源部分,以热更新的能力!好吧,略显绕口,意会!事实也是如此!原创 2016-09-13 10:17:11 · 990 阅读 · 2 评论 -
使用Spark分析拉勾网招聘信息(二): 获取数据
要获取什么样的数据?我们要获取的数据,是指那些公开的,可以轻易地获取地数据.如果你有完整的数据集,肯定是极好的,但一般都很难通过还算正当的方式轻易获取.单就本系列文章要研究的实时招聘信息来讲,能获取最近一个月的相关信息,已是足矣.如何获取数据?爬虫,也是可以的,作为一个备选方案.但是,我注意到拉勾网本身的数据,是通过ajax请求更新的,所以批量获取变得更加简单.基于ajax请求来获取数据,方式有很多原创 2016-09-01 10:22:10 · 2060 阅读 · 0 评论 -
使用Spark分析拉勾网招聘信息(一):准备工作
本系列专属github地址:https://github.com/ios122/spark_lagou前言我觉得如果动笔,就应该努力地把要说的东西表达清楚.今后一段时间,尝试下系列博客文章.简单说,如果心里想表达想分享的,就适当规划组织下,使其相对自成体系,以便于感兴趣但可能刚好某个领域还不是很熟的人,也能很好地入手.系列文章,我会努力避免过于主观化的描述,同时吸取以往的经验,尽量给每个系列的文章都原创 2016-08-31 09:44:48 · 1132 阅读 · 0 评论 -
深度使用react-native的热更新能力,必须知道的一个shell命令
开篇之前,先讲一个自己开发中的一个小插曲:今天周日,iOS版 App 周一提交,周三审核通过上架,很给力.不过,中午11:30的时候,运营就反应某个页面有一个很明显的问题,页面没法拉到底部,部分信息显示不全;那个页面是基于react-native写的,项目中本身已经有了热更新的相关机制;原因很简单,13:00左右,解决问题,发了一个补丁,测试环境自测完毕;补丁发给Leader,他可以提交到线上;出去原创 2016-08-28 03:34:09 · 1040 阅读 · 0 评论 -
价值100W的经验分享: 基于JSPatch的iOS应用线上Bug的即时修复方案,附源码.
限于iOS AppStore的审核机制,一些新的功能的添加或者bug的修复,想做些节日专属的活动等,几乎都是不太可能的.从已有的经验来看,也是有了一些比较常用的解决方案.本文先是会简单说明对比大部分方案,然后会注重阐述基于JSPatch的在线更新机制的设计和实现.对于任何一家有一定用户基础的iOS应用来说,在线更新技术所产生的直接和间接价值都将远远超过100W.理解,并掌握它;实在没有时间,就记住它原创 2015-12-07 12:59:34 · 764 阅读 · 0 评论 -
AFNetworking 原作者都无法解决的问题: 如何使用ip直接访问https网站?
通过IP直接访问网站,可以解决DNS劫持问题.DNS劫持,可以通过修改电脑的host文件模拟.如果是HTTP请求,使用ip地址直接访问接口,配合header中Host字段带上原来的域名信息即可;如果是 https请求,会很麻烦,需要 Overriding TLS Chain Validation Correctly;curl 中有一个 -resolve 方法可以实现使用指定ip访问https网站,i原创 2016-01-25 02:16:55 · 8068 阅读 · 0 评论 -
DZNEmptyDataSet,优秀的空白页或者出错页封装
## 简介 项目主页:https://github.com/dzenbot/DZNEmptyDataSet提示:主要用于UITableView和UICollectionView,也可以用于UIScrollView,其实主要是前两个会用到空白或者网络出错页 采用给UIScrollView添加代理方法来给页面添加空白页,源码很有学习意义导入工程自动,pod 'DZNEmptyDataSet'手动ht原创 2016-01-19 19:25:25 · 2182 阅读 · 0 评论 -
实现iOS图片等资源文件的热更新化(三):动态的资源文件夹
简介此文,将尝试动态从某个不确定的文件夹中加载资源文件.文章,会继续完善自定义的 imageNamed 函数,并为下一篇文章铺垫.原创 2016-10-04 12:21:36 · 1945 阅读 · 0 评论 -
golang 标准库间依赖的可视化展示
简介国庆看完 << Go 语言圣经 >>,总想做点什么,来加深下印象.以可视化的方式展示 golang 标准库之间的依赖,可能是一个比较好的切入点.做之前,简单搜了下相关的内容,网上也要讨论,但是没有发现直接能拿过来用的.标准库之间,是必然存在依赖关系的,不同库被依赖的程度必然是不一样的.但究竟有多大差别呢?原创 2017-10-09 04:01:48 · 2221 阅读 · 0 评论 -
【读书笔记】The Swift Programming Language (Swift 4.0.3)
素材:Language Guide初次接触 Swift,建议先看下 A Swift Tour ,否则思维转换会很费力,容易卡死或钻牛角尖。同样是每一章只总结3个自己认为最重要的点。这样挺好!强迫你去思考去取舍。以后再看,也方便快速重建记忆。注意: 个人笔记,仅供参考,不保证严格意义上的正确性。原创 2018-01-06 10:44:08 · 522 阅读 · 0 评论 -
【读书笔记】A Swift Tour
objc 自己较为熟悉,想熟悉下风头正劲的 swift。就先从官方的入门手册开始撸。每一小节,我都摘录或总结3个对自己三观冲击最大的【知识点】,以方便以后温习。总结不保证绝对正确,仅供交流之用。O(∩_∩)O哈哈~原创 2018-01-06 10:33:40 · 274 阅读 · 0 评论 -
简陋的swift carthage copy-frameworks 辅助脚本
在看 carthage 时,其中需要配置一个 copy-frameworks 脚本,此脚本特殊的地方,需要手动填写 Input Files 和 Output Files.一个一个填写,很糟心~原创 2018-01-14 23:47:57 · 348 阅读 · 0 评论 -
【smart-transform】取自 Atom 的 babeljs/coffeescript/typescript 智能转 es5 库
简介有时间研究下开源库的源码,总是会有些收获的。注意到 Atom 插件编写时,可以直接使用 babel, coffeescript 或者 typescript。刚好最近有一些类似的需求,需要批量以单个文件的方式转换一些其他语法的文件到 es5 兼容的js文件,于是就把 Atom 的转换机制拆分了出来,写成一个 cli。原创 2017-11-28 02:01:48 · 278 阅读 · 0 评论 -
【趣味连载】攻城狮上传视频与普通人上传视频:(一)生成结构化数据
背景当知道要上传的视频资料从20条变成100条时,我就明白,绝对不能再人工处理了。他们总是想当然的认为,录入一条数据需要1分钟,那录入20条数据就是20分钟,录入100条数据,不就是100分钟吗?我有时候,真的很想问问他们,没有考虑过人是会犯错的吗?数据越多,出错的可能就越大;但是数据本身,又是不允许出现纰漏的。那拿什么去保证数据的正确性?刷脸?原创 2017-12-07 02:38:05 · 507 阅读 · 0 评论 -
【趣味连载】攻城狮上传视频与普通人上传视频:序
前言我想写一个简单的系列文章。主题很简单,就是记录下面对上传视频需求时,攻城狮和普通人(泛指所有非技术人员)的一些区别。当然,从需求分析到最终完整实现,每个步骤都是有干货。我会尽量避免一些偏情绪化的表述。更多的时候,我们应该把注意力集中在各个需求点本身的技术实现上。原创 2017-12-06 00:56:04 · 329 阅读 · 0 评论 -
【YFMemoryLeakDetector】人人都能理解的 iOS 内存泄露检测工具类
时过境迁,今天在网上搜了下 “iOS 内存泄露检测”,各种讨论技术文章,有点头大。我忍不住看了下自己当时的代码,突然感觉自己的思路好特别,好有创意。我真的就是在“创建”时把数据记录到一个字典里,在“释放”时,从字典里移出对象;所谓的检测,其实就是打印那个字典,仍然在字典中的很有可能就是泄露喽。当然,还是有一些技术细节的。我把旧代码适度拆分整理为一个开源库了,取名为 [YFMemoryLeakDetector](h原创 2017-11-23 01:27:54 · 696 阅读 · 0 评论 -
【树莓派自动化应用实例】整点提醒自己休息五分钟
我有一个习惯,定闹钟每隔60分钟左右,提醒自己休息一次。我发现自己有时候长时间思考,很容易拘泥于细节之中。适当的简单休息过后,往往会对正在解决和处理的问题有新的认识和发现,有事半功倍的奇效。不过大部分手机闹钟都不支持这种以小时为单位的周期闹铃。所以,我以前每次都是都手动调整闹钟时间。总感觉有点 Low!于是,我就写了个简单的发邮件的 Lua 脚本,放到树莓派上作为一个shell命令使用;然后原创 2017-11-16 01:03:30 · 2719 阅读 · 0 评论 -
【小技巧解决大问题】使用 frp 突破阿里云主机无弹性公网 IP 不能用作 Web 服务器的限制
最近接触了些内网穿透的知识,我突然想到,是不是借助内网穿透,也可以把我的阿里云主机给暴露出来?毕竟内网穿透,使用的是 Linux 一些基础知识,算不上很极客的技术,应该是具有通用性的。经验证,竟然真的可行! 特记录下来,献给有同样遭遇的有缘人。原创 2017-11-21 00:57:17 · 3827 阅读 · 0 评论 -
借助 frp 随时随地访问自己的树莓派
前言看了知乎上的一个「树莓派」是什么以及普通人怎么玩? 的高票回答,双十一时间,果断买了一个树莓派 3. 周一(11.13) 到的货.我目前只想实现一个简单的功能 – 想从任意位置访问我的树莓派. 就像一个潘多拉魔盒,第一步肯定是拿到钥匙!原创 2017-11-14 17:31:30 · 9923 阅读 · 3 评论 -
【LuaJIT版】从零开始在 macOS 上配置 Lua 开发环境
前言这篇文章针对的是基于 LuaJIT 的环境配置。借助于 LuaJIT,Lua 的执行效率可以进一步提升几十倍。如果你不是很清楚自己是需要 Lua 还是 LuaJIT,那么建议你从 LuaJIT 起步。LuaJIT 对应的是 Lua5.1 的语法,这一点需要注意。如果你想看基于最新版 Lua 环境的配置文章,请移步:http://yanfeng.life/2017/11/10/Latest-gui原创 2017-11-11 16:04:12 · 1226 阅读 · 0 评论 -
【最新版】从零开始在 macOS 上配置 Lua 开发环境
我突然意识到,可能 JavaScript 的大部分限制,在 Lua 或其他脚本语言中并不存在。想要解决那些因为使用 JavaScript 引起的各种问题,可能只需要换一门脚本语言。原创 2017-11-10 12:32:58 · 1180 阅读 · 0 评论 -
关于混合应用开发的未来的一些思考
但是,没有谁会一直有好运气。说不定,我现在沉浸的语言,不久之后就成了明日黄花。如果自己真的是只会某个语言的专家,真的就是要一切从零开始了。你的所有荣誉,都被清零。纵然可以自我安慰说一些有基础学其他的也很快一类的话。原创 2017-11-09 01:34:15 · 349 阅读 · 0 评论 -
BlocksKit初见:一个支持将delegate转换成block的Cocoa库
简介项目主页: https://github.com/zwaldowski/BlocksKitBlocksKit 是一个开源的框架,对 Cocoa 进行了扩展,将许多需要通过 delegate 调用的方法转换成了 block。在很多情况下,blocks 比 delegate 要方便简单,因为 block 是紧凑的,可以使代码简洁,提高代码可读性,另外 block 还可以进行异步处理。使用 blo原创 2015-12-17 10:05:58 · 1095 阅读 · 0 评论 -
FXForms,自动生成iOS表单
1.简介FXForms是一个简单的表单提交框架,他的作者是鼎鼎大名的 Nick Lockwood,你也许听说过他的其他的一些框架,比如 iCarousel. 为什么使用FxForms?表单处理简单化,使开发者能轻松上手表单自适应不同屏幕FXForms是怎么工作的? Fields will automatically be assigned suitable control types, f原创 2015-11-30 14:19:37 · 902 阅读 · 0 评论 -
Kiwi,BDD行为测试框架--iOS攻城狮进阶必备技能
简介Kiwi 是一个适用于iOS开发的行为驱动测试框架,旨在提供一个足够简单易用的BDD库.项目主页: https://github.com/kiwi-bdd/Kiwi示例下载: https://github.com/ios122/ios122使用Cocopods 安装target :AmazingAppTests, :exclusive => true do pod 'Kiwi'end原创 2015-11-20 01:30:06 · 1139 阅读 · 2 评论 -
PNChart,简洁高效有动画效果的iOS图表库
PNChart,简洁高效有动画效果的iOS图表库原创 2015-11-06 00:18:14 · 496 阅读 · 0 评论 -
如何把设计图自动转换为iOS代码? 在线等,挺急的!
这是一篇可能略显枯燥的技术深度讨论与实践文章.如何把设计图自动转换为对应的iOS代码?作为一个 iOS开发爱好者,这是我很感兴趣的一个话题.最近也确实有了些许灵感,也确实取得了一点小成果,和大家分享一下.欢迎感兴趣的iOS爱好者能和我一起研究讨论!这是一个可以节省 70% 工作量的话题我觉得,如果真的能把一张设计图自动转换为代码,任何开发工程师都会感兴趣的.单以 iOS 应用为例, 在一个最常用的M原创 2015-10-07 05:48:22 · 676 阅读 · 0 评论 -
Aspects iOS的AOP面向切面编程的库
一个简洁高效的用于使iOS支持AOP面向切面编程的库.它可以帮助你在不改变一个类或类实例的代码的前提下,有效更改类的行为.比iOS传统的 AOP方法,更加简单高效.支持在方法执行的前/后或替代原方法执行.曾经是 PSPDFKit 的一部分,PSPDFKit,在Dropbox和Evernote中都有应用,现在单独单独开源出来给大家使用.原创 2015-08-27 12:25:38 · 613 阅读 · 0 评论 -
iOS提示框,为什么你应该使用 MBProgressHUD?
这是一篇带有一定笔者主观感情色彩的比较文章.文章着重对比github上最流行的两个iOS进度提示控件 MBProgressHUD 与 SVProgressHUD的各自优劣,来帮助初学者找到一个适合的iOS提示框解决方案.无论如何,你总是需要一个提示框.提示框,进度提示,加载中提示等等,无论怎样,你总是需要提示框来指示某个状态正在后台努力进行中.一个合适的提示框,更多的是用来增强用户体验.原创 2015-09-17 19:00:03 · 896 阅读 · 0 评论 -
Mantle--国外程序员最常用的iOS模型&字典转换框架
Mantle简介Mantle是iOS和Mac平台下基于Objective-C编写的一个简单高效的模型层框架。Mantle能做什么Mantle可以轻松把JSON数据、字典(Dictionary)和模型(即Objective对象)之间的相互转换,支持自定义映射,并且内置实现了NSCoding和NSCoping,大大简化归档操作。为什么要使用Mantle传统的模型层方案遇到的问题通常我们用Objectiv原创 2015-10-20 16:28:05 · 734 阅读 · 0 评论 -
ReactiveCocoa,最受欢迎的iOS函数响应式编程库(2.5版),没有之一!
ReactiveCocoa,最受欢迎的iOS函数响应式编程库(2.5版),没有之一!简介项目主页: ReactiveCocoa实例下载: https://github.com/ios122/ios122简评: 最受欢迎,最有价值的iOS响应式编程库,没有之一!iOS MVVM模式的完美搭档,更多关于MVVM与ReactiveCocoa的讨论,参考这篇文章: 【长篇高能】ReactiveCoco原创 2015-10-19 23:48:13 · 909 阅读 · 0 评论 -
SVProgressHUD–比MBProgressHUD更好用的 iOS进度提示组件
简介SVProgressHUD是简单易用的显示器,用于指示一个持续进行的任务的进度.项目主页: SVProgressHUD最新示例: 点击下载快速入门安装通过Cocoapodspod 'SVProgressHUD'手动安装拖拽 SVProgressHUD/SVProgressHUD 文件 到你的项目.注意把 SVProgressHUD.bundle 添加进 Targets->Build P原创 2015-09-15 16:03:43 · 622 阅读 · 0 评论 -
RestKit ,一个用于更好支持RESTful风格服务器接口的iOS库
简介RestKit 是一个用于更好支持RESTful风格服务器接口的iOS库,可直接将联网获取的json/xml数据转换为iOS对象.项目主页: RestKit最新示例: 点击下载注意: 如果无法直接运行示例根目录的工程,可尝试分别运行 Examples 文件夹下的各个子工程,此时你需要给每个子工程都通过 CocoaPods 安装一次 RestKit.快速入门使用环境ARCiOS 5.1原创 2015-09-14 15:30:08 · 876 阅读 · 0 评论