自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(147)
  • 资源 (2)
  • 收藏
  • 关注

原创 Objective-C小技巧 (Builder / Command / Protected)

Builder模式当我们在设计一个类时,我们期望类属性的值由外部调用者传入,但是我们希望这个值仅在初始化设置,在初始化之后外部调用者修改这个值会导致状态混乱。或者干脆一个类具备大量外部可access的属性,调用者在使用这个类时会感觉比较茫然,需要一定的学习成本才能明白这个类设计的意图。我们可以通过Objective-C的 init 方法解决,尤其是 designated initializer...

2018-05-24 21:13:55 1285

原创 vue.js思维导图笔记

2018-05-21 20:14:17 4686 3

原创 证书链-Digital Certificates

基础知识证书 CA证书CASigning Verification证书链实例证书链CA组织end-user certificates intermediates certificatesroot certificates其他基础知识在介绍证书链之前,需要首先了解一下非对称加密以及电子证书相关的基础概念。关于这部分,我也一直有些困惑,直到看了阮一峰老师的博客,才对证书有个比

2016-05-06 18:36:53 6221

原创 Modern PHP读书笔记一

关于PHP,大家的误解比较多,但其实现代PHP是一门无论开发效率还是执行效率都相当高的编程语言。关于现代PHP的各方面特性,大家可以参考<Modern PHP>作者之前写的 PHP the right way,中文翻译:PHP之道。同时,作者也是比较流行的PHP框架 – Slim 的开发者。所以这本书非常值得已读,甚至你只需要懂一些OOP的概念即可,并不需要你懂PHP开发。Part 1 Langu

2016-04-21 23:51:57 9136

原创 JavaScriptCore学习之JavaScriptCore

JavaScriptCore框架的类JavaScriptCore框架对外暴露的类实际上非常少,这样带来的好处是API非常简单。如下图所示,只有5个类,分别是JSContext,JSValue,JSManagedValue,JSVirtualMachine,JSExport,其中最核心的是JSContext和JSValue,我们平时打交道的基本就是这两个类了。

2016-04-05 00:03:10 6032 1

原创 JavaScriptCore学习之JSPatch源码阅读

方法调用require实现JS接口消息传递对象持有转换类型转换示例方法替换实现基础原理JPForwardInvocationOC调用JSPatch的基本原理:JS传递字符串给OC,OC通过Runtime接口调用和替换OC方法。方法调用1. require实现 var _require = function(clsName) { if (!global[clsName])

2016-04-04 23:48:15 3903

原创 Mantle源代码阅读笔记 一

最近的项目需求需要持久化一些对象,由于只是一些比较简单的数据,使用NSUserDefaults进行存储即可。之前实现过比较简单自动archive和unarchive的操作。原理很简单,遍历NSObject的property list,然后通过valueForKey:和setValue:forKey:方法进行操作。这种实现不能满足我的新需求,我的新需求需要做到将property为其他类型的对象也做到

2015-12-12 19:46:42 3025

原创 Flux学习笔记

Flux基本概念关于Flux,基本概念看了一天,对整体的概念有了一个基本的认识,这部分不算很难,概念上面也很容易理解。推荐一篇文章,结合facebook的官方的概念解释,可以快速对Flux有个很好的理解,甚至对基本的使用也会有个比较清晰的认识,参考:https://medium.com/brigade-engineering/what-is-the-flux-application-a

2015-12-10 23:58:03 1902

原创 Redux学习笔记

随着JavaScript单页面应用开发的日趋复杂,JavaScript需要管理比之前任何时候都要多的State。State可以包括服务器返回的数据,本地缓存的数据,也可以是本地创建还没有发送给服务器的数据。UI state也变得日趋复杂。管理持续不断变化的state变得非常困难,最终的结果就是对state的失控,你不知道state是when, why 以及how发生变化的。导致的问题就

2015-12-10 23:46:26 9361 1

原创 React Native技术栈学习路径

大致了解了一下RN的实现,感觉里面的技术栈是比较深的,跟搞前端的大牛请教了一下,大致总结出下面一个学习路径,决定按部就班把这方面技术好好学习一下。

2015-11-08 18:57:32 3826

原创 React.js学习笔记

最近在学习ReactNative,在搜集学习资料探究学习方式的阶段发现,要想能在实际项目中做到应用RN的水平,就必须要先对React.js很了解才可以。在了解React.js的过程中,发现里面涉及的概念非常多,node.js/js/css/jsx/babel/es6/flux/redux等等,感觉前端的技术栈果然比较深一些。根据我自身的学习习惯,先对知识的整理学习完毕,做到对技术的可控状态才算学习

2015-11-08 18:32:46 2822

原创 <React: Up and Running>阅读笔记 — The life of a component & Excel: a fancy table component

Properties要把Component的this.props属性认为是可读的,properties用来从parent component传递configuration给children。proptypes可以通过在components中添加一个叫做 propTypes 的property,这个property的值是一个列表,这个列表中定义了component可以接受

2015-11-08 18:31:28 1971 2

原创 <React: Up and Running>阅读笔记 — JSX

Transpiling JSXtranspilation是获取source code, 然后使用老版本浏览器可以理解的JavaScript来重写的过程,这两个版本之间的语法不一样,但是功能是一样的。这个JavaScript的polyfills是不一样的,polyfill是完全JavaScript-land的,比如解决JavaScript新老版本API兼容的问题,把高版本的A

2015-11-08 18:26:01 2371 2

原创 React Doc阅读笔记一 — Why React ? && Displaying Data

Why React?React是Facebook和Instagram用来构建user interface的JavaScript Library,它要解决的核心问题:building large applications with data that changes over time. Reactive UpdatesReact use a fast,

2015-11-08 18:11:09 1584

原创 iOS中的正则表达式

参考:https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSRegularExpression_Class/http://www.raywenderlich.com/30288/nsregularexpression-tutorial-and-cheat-sheet,RW的教程,错不了htt

2015-10-24 23:59:21 1379

原创 Objective-C新特性

Swift的确是一个很强大的语言,各种特性使用起来非常简洁强大,但是目前来说,感觉成熟度还是不够,所以商业项目中使用OC来说是比较稳健的行为。看来一下WWDC 2015的 Swift and Objective-C Interoperability session,视频前半部分主要是讲解swift和OC之间的交互的规则,后面则讲到OC的一部分新的语言特性,这几个特性,Apple的开发人员在WWDC

2015-10-24 23:55:04 2181

原创 iOS代码实践总结

前几个月完成对MVVM/RAC的学习之后,最近一直在默默地对项目代码进行重构,写码比较多,过了一段时间回头发现自己的代码风格还有代码质量都有大大的改善。去年在一家小公司负责客户端的研发工作,被杂乱的事情分神比较多,所以写码不多,这段时间写业务代码较多之后,感觉有点找到了属于的自己的best practice的感觉。除了专门抽时间和精力重构之外,还有就是遇到一个需要添加功能的模块,由于项目中的代码历

2015-09-20 15:40:18 17733 12

原创 Laravel 配置 PhpStorm + Xdebug + chrome 设置Debug环境

配置Laravel在PhpStorm中的断点调试,有两种方式,第一种是最为常用的,直接配置一下phpstorm和安装一个chrom插件即可,但这种方式有一些缺陷,就是对API的调试非常不容易,比如Ajax或者客户端请求:http://laravelista.com/debugging-a-laravel-web-application-with-phpstorm-on-homestead/

2015-08-29 17:41:29 10695

原创 breakpoints && lldb  && chisel 的使用

BreakpointsBreakPoint分类breakpoint也是有分类的,我这里的文章内大致按使用的方式分为了 Normal Breakpoint,Exception Breakpoint,OpenGL ES Error breakpoint,Symbolic Breakpoint,Test Failure Breakpoint,WatchPoints。可以按具体的情

2015-07-27 19:47:06 6078 1

原创 mac下 Android Studio && PHPStorm 在JDK1.8下字体问题的解决

关于这个问题存在已久,根本原因在于在JDK1.7以及1.8上,java渲染方式的更改导致的,可以查看jetbrains的官方网站:https://youtrack.jetbrains.com/issue/IDEA-117324。虽然在JDK1.8下渲染有些问题,但是不得不说,在JDK1.8下,编译速度快了很多。这个时候我们又想AS好看,又想提高编译速度。解决方式的话,我没有使用官方的解

2015-07-25 11:27:24 2568

原创 iOS单元测试:Specta + Expecta + OCMock + OHHTTPStubs + KIF

框架选择参考这篇选型文章,http://zixun.github.io/blog/2015/04/11/iosdan-yuan-ce-shi-xi-lie-dan-yuan-ce-shi-kuang-jia-xuan-xing/,虽然结论不一定完全适用,但是关于框架对比的地方还是值得阅读的,基于这篇文章,排除Kiwi框架之后,决定参考一些项目的源代码,了解他们使用的测试方面的框架。

2015-07-22 18:14:29 10970 1

原创 iOS可持续化集成: Jenkins + bundler + cocoapods + shenzhen + fastlane + pgyer

工具介绍1. bundlerbundler用于管理ruby gem的工具,我们用来管理cocoapods以及fastlane的版本号。直接sudo gem install bundler即可。然后在工程的根目录下,添加Gemfile文件:source 'http://ruby.taobao.org'source 'http://ruby.taobao.org'gem 'coco

2015-07-22 18:06:14 9764 2

原创 Advanced Auto Layout

参考资料:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/AutoLayoutConcepts/AutoLayoutConcepts.htmlhttp://www.objc.io/issues/3-views/advanced-auto-layout-t

2015-07-22 17:58:28 2840

原创 Objective-C GCC Code Block Evaluation C Extension ({…})语法

前一段,看公司的大牛写的代码,发现一个类似下面这样的语法写UI,顿时感觉很不错,尝试之后,发现两个优点,一个是结构会更加清晰,第二个可以使用非常简洁的命名来命名局部变量,写起来会很优雅。这个是GCC编译器的一个语法,详细资料可以参考下面的文章。代码示例可以参考REMenu参考:http://nshipster.com/new-years-2014/h

2015-07-22 17:26:24 4237 3

原创 Voice Over 使用总结

1. 如果初始化UIBarButtonItem的时候,customView为UIButton的话,为UIBarButtonItem或UIButton设置accessibilityLabel均可;如果加了一层UIView做为UIButton的containerView,然后把这个containerView设置为UIBarButtonItem的customView,这个时候则只能对UIButton设置

2015-07-22 11:15:08 2918

原创 ReactiveCocoa & MVVM 学习总结二

二. MVVM1. 什么是MVVMFrom: https://github.com/ReactiveCocoa/ReactiveViewModel#model-view-viewmodelMVVM是指 Model-View-ViewModel的简称,与MVC的一个主要区别是 view 拥有view model。这个与MVC不一样,MVC中应该是controller拥有view。

2015-06-17 20:27:26 4977

原创 ReactiveCocoa & MVVM 学习总结一

主要是为了总结学习RAC的过程中,遇到的一些困惑点,一些阅读的参考资料,文笔也不是很好。建议大家学习RAC参考文章:https://github.com/ReactiveCocoa/ReactiveCocoa/tree/master/Documentation以及花瓣工程师的一篇很棒的文章: http://limboy.me/ios/2014/06/06/deep-into-reactivec

2015-06-16 23:06:14 7608 1

原创 自定义viewcontroller总结

一. UIViewControllerUIViewController的View是lazy loading的,只有访问其view属性时,view才会加载(通过xib载入或者loadView方法中代码实现),可以通过UIViewController的isViewLoaded来判断其View是否已经加载。当UIViewController的view将要被加入到view hier

2015-05-16 07:56:01 4459

原创 Mac iterm2 配置

1. 基本配置: term 2 + zsh + oh my zshhttp://xingrz.me/2013/2013-06-19/terminal-zhuangbility.htmlhttp://www.dreamxu.com/mac-terminal/http://danielfree.net/archives/1117https://github.com/tomislav/osx-t

2015-04-27 21:57:12 1316

原创 id、NSObject *、id<NSObject>、instancetype的区别

1. id 与 NSObject *(1) id 是 Objective-C 对象,但是并不一定是NSObject对象,并非所有的Foundation/Cocoa对象都是继承于NSObject对象的,比如NSProxy。同时,id与NSObject对象之间有很多的共同方法,比如retain与release等方法。更一步来说:所有的对象本质来说都是 id 类型的。(2) 对于id来说,你可以

2015-04-27 21:55:35 5890 1

原创 Masonry源代码分析

使用Autolayout也有一段时间了,auto layout的基本概念非常简单,都是围绕约束进行的,API更是只有两个,但是使用起来感觉很麻烦。最近看到我们这边其他部门的应用使用了很多Masonry来处理UI,看起来非常清爽,链式调用看起来非常容易阅读,使用起来非常方便。但是这种之前ASI给的教训非常深刻,尤其这种大规模基础性地使用第三方开源库,需要确保可控才敢用,至少可以读懂代码并且能够局部优

2015-04-13 18:42:11 10301 2

原创 GCDMulticastDelegate源代码阅读

最早注意到这个类是之前搞XMPP的时候,使用了一个开源库:https://github.com/robbiehanson/XMPPFramework,在研究其中的插件机制的时候,发现其中的核心就是这个类,是一个一对多的代理机制。之前读过一次源代码,但是一直比较忙,没有来得及总结。这两天抽出来时间读源代码,细看了一下这个类的实现,既简单又巧妙,写的非常好。这个类实现的技术基础是OC的消息

2015-04-13 15:40:24 2353

原创 Auto Layout和Size Class方面一些非常棒的文章和教程

iOS8 和 iPhone 6 适配资料:原文:http://mathewsanders.com/designing-adaptive-layouts-for-iphone-6-plus/,译文:http://www.devtalking.com/articles/adaptive-layout-for-iphone6-1/,http://www.cocoachina.com/ios/20

2015-04-07 19:18:28 1187

原创 Auto Layout 常见问题汇总

1. 多个view等间距分布这个问题较为常见,也比较好解决,根据官方文档中的spacer view的概念,主要是利用已经hidden的view来实现,设置这些spacer view的宽或高属性相等即可巧妙实现。spacer view结合auto layout使用,灵活使用可以解决大部分的UI问题。参考资料:http://stackoverflow.com/questions/130

2015-04-07 19:13:28 3194

原创 Xcode常用快捷键总结

参考资料:1. http://nshipster.com/xcode-key-bindings-and-gestures/2. http://iphonedev.tv/blog/2014/9/15/14-xcode-time-saving-shortcuts-memorize-and-improve-your-productivity3. http://stackoverflow.co

2015-04-03 15:52:38 839

原创 laravel开发环境设置

1. phpstorm + xdebug + chrome + postman环境配置http://laravelista.com/debugging-a-laravel-web-application-with-phpstorm-on-homestead/http://www.sitepoint.com/install-xdebug-phpstorm-vagrant/https://

2015-04-03 15:52:31 840

原创 jQuery学习笔记 — jQuery 与 Ajax 的应用

Ajax 全称为 “Asynchronous JavaScript and XML”,它并不是指一种单一的技术,而是有机地利用了一系列交互式网页应用相关的技术所形成的结合体。一. Ajax 的优势和不足1. Ajax 的优势(1) 不需要插件支持(2) 优秀的用户体验:这是Ajax技术最大优点,能在不刷新整个页面的前提下更新数据,这使得Web应用程序能更为迅速地回应用户的操

2015-03-22 14:13:16 736

原创 jQuery学习笔记— jQuery对表单、表格的操作以及更多应用

表单(Form)和表格(Table)都是HTML的重要组成部分,分别用于采集、提交用户输入的信息和显示列表数据。一. 表单应用一个表单有2个基本组成部分:(1) 表单标签:包含处理表单数据所用的服务器端程序URL以及数据提交到服务器的方法。(2) 表单域:包含文本框、密码框、隐藏域、多行文本框、复选框,单选框、下拉选项框和文本上传框等。(3) 表单按钮:包含提交按钮、复

2015-03-15 19:41:17 665

原创 jQuery学习笔记— jQuery中的事件和动画

一. jQuery中的事件1. 加载DOM在常规的 JavaScript 代码中,通常使用 window.onload 方法,而在 jQuery 中,使用的是$(document).ready()方法。$(document).ready 方法和 window.onload 方法之间的区别:(1) 执行时机:$(document).ready()方法和 window.onload 方法有

2015-03-15 19:39:25 938

原创 jQuery学习笔记 — jQuery中的DOM操作

一. DOM操作的分类一般来说,DOM的操作分为2个方面,即DOM Core(核心),HTML-DOM和CSS-DOM。1. DOM Core: JavaScript中的getElementById(),getElementsByTagName(),getAttribute()和setAttribute()等方法,都是DOM Core的组成部分。2. HTML-DOM: 在使用Java

2015-03-15 19:36:56 549

lua程序设计 第二版

高清影印版,绝版经典书,lua语言发明者讲解 详细lua基本知识 c与lua互相调用的讲解 游戏开发脚本必不可少

2013-07-13

iPadProgrammingGuide

官方ipad的开发指南,对于有iphone开发经验的同学来说,是个上手的好资料

2013-03-09

空空如也

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

TA关注的人

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