`
文章列表
Merge Conflicts on .project file XCode的.project文件本质上是一个记录了该项目下所有文件关系的XML文件,每次新加一个文件,目录或者删除一个文件,目录都会对这个文件产生修改。因此,当团队大到一定程度之后,多个成员工作在同一个Project下时,经常会发生同时修改.project文件的情况,这个时候.project文件的Merge Conflict就会成为团队中一个比较头疼的问题,因为.project文件非常巨大,且非常不表义,手动merge出错概率非常高。 基于物理目录而非Xcode的逻辑Group管理代码结构 为了简化.project的Merge ...
其实最先朋友让我就这个题目写篇文章的时候,我是拒绝的,因为觉得苹果就是在炒冷饭, 把已经流行了数十年的OOP中的“面向接口编程”还拿来讲,看完整个Session之后呢,虽然还是觉得在炒冷饭,但是毕竟还是加了蛋的,有些东西还是值得说说的。 通常谈到面向接口编程,其主要作用是把系统设计和具体实现分离开,让系统的每个部分都可以在不影响别的部分的情况下,改变自身的具体实现。接口的设计就反映了系统设计人员对系统的抽象理解。 而苹果在除了把Interface名字换为Protocol之外,还在这个理念上添加了怎样的鸡蛋呢? Self Requirement 第一个蛋:学名叫做Self Requirem ...
分享最近读的一本书:https://github.com/AttackOnDobby/iOS-Core-Animation-Advanced-Techniques
并发数 并发数和2个因素有关, 一是系统可用的处理器核数,这个值可以通过硬件查询得到,也可以通过如下代码得到: Runtime.getRuntime().availableProcessors(); 二是并发任务的类型,任务类型一般分为IO密集型和CPU密集型 I/O 密集的 ...
监控HystrixCommand 除了隔离依赖服务的调用外,Hystrix还提供了近乎实时的监控,Hystrix会实时的,累加的记录所有关于HystrixCommand的执行信息,包括执行了每秒执行了多少请求,多少成功,多少失败等等,更多指标请查看:https://github.com/Netflix/Hystrix/wiki/Metrics-and-Monitoring 导出监控数据 有了这些指标,Netflix还提供了一个类库(hystrix-metrics-event-stream:https://github.com/Netflix/Hystrix/tree/master/hystrix ...
接上篇(http://ningandjiao.iteye.com/blog/2171185), 执行方式 HystrixCommand提供了3种执行方式: 同步执行:即一旦开始执行该命令,当前线程就得阻塞着直到该命令返回结果,然后才能继续执行下面的逻辑。当调用命令的execute()方法即为同步执行, 示例:    @Test public void synchronousExecute() throws Exception { ThreadEchoCommand command = new ThreadEchoCommand("xianlinbox&qu ...
Hystrix(https://github.com/Netflix/Hystrix)是Netflix(https://www.netflix.com/global)的一个开源项目,主要作用是通过控制那些访问远程系统、服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。 其可以看做是Netflix团队对分布式系统运维的各种理念和实践的总结。值得一提的是在ThoughtWorks最新的Tech Radar 2014(http://www.thoughtworks.com/radar/#/tools)中,Hystrix的评级已从评估(Assess)上升到试用(Trial),即其已经完善到可以 ...
数据 数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息。因此做数据可视化前需要想明白2件事: 你有什么数据? 你要传达什么信息? 本文中的示例中,将以不同的颜色显示澳大利亚不同地区的客户数量。 因此,首先需要澳大利亚的地图数据,D3中的Geo模块可以处理GeoJSON格式的地理数据。(GeoJSON是一种对各种地理数据结构进行编码的格式。GeoJSON对象可以表示几何、特征或者特征集合。GeoJSON支持下面几何类型:点、线、面、多点、多线、多面和几何集合。GeoJSON里的特征包含一个几何对象和其他属性,特征集合表示一系列特征。参见:http://www.oschina.ne ...
YSlow Yslow是雅虎开发的网页性能分析工具,Yahoo!的性能团队经过多年研究识别出了34条会影响Web应用性能的行为,然后根据其中可测试的23项行为开发了YSlow工具 Minimize HTTP Requests Use a Content Delivery Network Avoid empty src or href Add an Expires or a Cache-Control Header Gzip Components Put StyleSheets at the Top Put Scripts at the Bottom Avoid CSS Expressions ...
初涉JavaScript的时候,经常会听到ECMAScript, NodeJS,Webkit,V8,PhantomJS什么的,到底这些都是些什么东西,有什么差别呢,在开发中,他们各自的角色又是什么? ECMAScript ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会) ...
历史 2008年,Douglas Crockford大神写完《JavaScript:The Good Parts》http://book.douban.com/subject/11874748/ 之后,给JavaScript树立了一个完整的技术规范,算是给JavaScript正名了(设计还是可以的,关键是要用好)。然后他老人家心想说:“老子告诉你们什么是好的JavaScript了,再送你们一个检测工具吧,凡是过不了我规范就不是好的JavaScript代码,Warning: JSLint will hurt your feelings”。当然除了最后Warning那句,其它都是我YY的。总之,就是 ...
1. 隐式创建全局变量 function test(){ var a = c = 10; } test() console.log(c); // 10 console.log(a); // a is not defined 给未定义的变量赋值会在隐式地创建一个全局变量,而全局变量是Javascript最邪恶的一个特性,应尽量避免。 使用严格模式(“use strict”)可避免这类隐式创建。 2. 没有块作用域 function test(){ var a = 10; if(true){ var b = 11; } console.l ...
问题 1. 在写前端界面代码时,想调试的时候需要配置一个Apache或者Nginx服务器 2. 每次修改代码都需要刷新一下,验证效果。 解决方案 Gulp + Gulp-connect +watch + livereload Gulp是目前风头正劲的前端自动化工具,有取代Grunt的趋势。初次使用,一下就被其简洁的语法折服了,目前我还是只是在小项目中使用,一般语法简洁的工具在面对大型,复杂项目时都会有不足,这点留待以后考察了。 Gulp是基于NodeJS的,因此使用之前需要先安装NodeJS, 不得不说NodeJs繁荣了整个前端开发生态啊。有了NodeJS之后,安装Gulp就很容易了。 ...
在iOS5和iOS6前,View Controller的切换主要有4种: 1. Push/Pop,NavigationViewController常干的事儿 2. Tab,TabViewController点击 3. Present Modal,调用ViewController的presentViewController:animated:completion:方法 4. Add ChildViewController,调用- (void)addChildViewController:(UIViewController *)childController方法 在使用Add ChildVie ...
JDK8 GA之后,小伙伴们喜大普奔,纷纷跃跃欲试,想体验一下Java8的Lambda等新特性,可是目前Java企业级应用的主打版本还是JDK6, JDK7。因此,我需要在我的电脑上同时有JDK8,JDK7,JDK6。JDK6和JDK7主要是做一些产品代码的验证,以及自己玩一些开源项目,JDK8则纯属尝鲜,谁叫咱是喜新厌旧的程序员呢。 目标 在命令行下,可以通过命令'jdk6', 'jdk7','jdk8'轻松切换到对应的Java版本, 默认初始设置为jdk7。 做法 1.首先安装所有的JDk: * Mac自带了的JDK6,安装在目录:/System/Library/Java/JavaV ...
Global site tag (gtag.js) - Google Analytics