obj-c 坑】的更多相关文章

之前在看对象的api中for in函数时,有一个地方让我略有疑惑: var obj={ x:100, y:200, z:300 }; for(var key in obj){ if(obj.hasOwnProperty(key)){ console.log(key,obj[key]); } } 为什么是obj[key]而不是obj.key呢?我们在浏览器试一下: 说起来也有点尴尬,原来在for in函数中,得到的key是一个字符串类型,所以只能用obj[key],其实,比如说在这个对象中,obj…
JSON.parse(JSON.stringify(obj))我们一般用来深拷贝,其过程说白了 就是利用JSON.stringify 将js对象序列化(JSON字符串),再使用JSON.parse来反序列化(还原)js对象:序列化的作用是存储(对象本身存储的只是一个地址映射,如果断电,对象将不复存在,因此需将对象的内容转换成字符串的形式再保存在磁盘上 )和传输(例如 如果请求的Content-Type是 application/x-www-form-urlencoded,则前端这边需要使用qs.…
前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面大致的了解了Thread的一些方法和属性下面对一些方法进行运用看看具体效果<下面可能还是会贴很多的源代码,其实我是拒绝的,我只想贴每个方法的代码,但是有时候看到一个方法里面有调用了方法,但是笔者有没有给出来,很蛋疼,有种爽到一半的感觉,所以我还是会把它贴出来,希望一次就能挖到底,不论有没有全懂,但至…
第一次使用threejs到实际项目中,开始的时候心情有点小激动,毕竟是第一次嘛,然而做着做着就感受到这玩意水好深,满满的都是坑,填都填不过来.经过老板20天惨无人道的摧残,终于小有成就. 因为第一次搞这玩意,相对的遇到的问题也是大把的,让我来一一诉说一路上遇到的各种问题. 开发使用: C4D.Blender2.75.[threejs-r72](http://threejs.org/) 万事开头难,第一个问题就是怎么才能把3d软件中做好的模型显示在浏览器中. 一.模型在软件中的导入与导出. 这个项…
如果你看到这篇文章,先别急着动手,过完一遍,确定是你要的再动手. 别人提到的这里不赘述,只说查了好久才知道的. 1号坑:System.IO.FileNotFoundException Could not find file "roslyn\csc.exe".详细信息如下: System.IO.FileNotFoundException Could not find file "/var/www/defalut/bin\roslyn\csc.exe". Descrip…
这篇文章从AssetBundle的打包,使用,管理以及内存占用各个方面进行了比较全面的分析,对AssetBundle使用过程中的一些坑进行填补指引以及喷!   AssetBundle是Unity推荐的资源管理方式,官方列举了诸如热更新,压缩,灵活等等优点,但AssetBundle的坑是非常深的,很多隐藏细节让你使用起来需要十分谨慎,一不小心就会掉入深坑,打包没规划好,20MB的资源“压缩”到了30MB,或者大量的包导致打包以及加载时的各种低效,或者莫名其妙地丢失关联,或者内存爆掉,以及各种加载失…
-----世界上本来没那么多坑,python更新到3以后坑就多了 无论哪一门语言开发,都离不了数据储存与解析,除了跨平台性极好的xml和json之外,python要提到的还有自身最常用pickle模块.在使用上,python的常用模块接口漂亮而简单,而且json跟pickle二者使用一模一样.首先来看一下用法,代码如下: import json,pickle #导入模块. data = { 'name' : "lixin", 'sex' :"female", 'he…
前言 在我们日常的网页浏览中,我们非常喜欢做一个操作:点击浏览器的前进后退在Ajax技术出现后,有些时候前进后退就会给开发者带来困扰,甚至一些开发者试图去干掉History随着Html5的发展,移动端的兴旺,单页应用出现了,于是History的处理被不得不提上议程了!要知道,这一直是一项让人不愿意去碰的巨坑,但是单页应用却不得不去解决 首先History的处理逻辑看似简单,实则复杂,稍不注意就会出问题,我们这里来探讨下单页中History的处理规则 基础知识 javascript中History…
我这人干活没有前奏,喜欢直接开始.完了,宝宝已经被你们带污了.. 微信公众账号开发文档,官方版(https://mp.weixin.qq.com/wiki),相信我,我已经无力吐槽写这个文档的人了,我真心想杂碎这个键盘,但是下手之后才发现,原来键盘是我自己花钱买的....尴尬了. 废话不说,直接说怎么部署,怎么开发. 首先,你得有一个公众平台账号,好了,开始计坑. 第一坑,不要以为不是企业号就不能开发了,可以申请测试号的,比所谓的订阅号接口多多了.…
转自:http://www.cnblogs.com/ybgame/p/3973177.html 这篇文章从AssetBundle的打包,使用,管理以及内存占用各个方面进行了比较全面的分析,对AssetBundle使用过程中的一些坑进行填补指引以及喷!   AssetBundle是Unity推荐的资源管理方式,官方列举了诸如热更新,压缩,灵活等等优点,但AssetBundle的坑是非常深的,很多隐藏细节让你使用起来需要十分谨慎,一不小心就会掉入深坑,打包没规划好,20MB的资源“压缩”到了30MB…
typeof是一个运算符,它对操作数返回的结果是一个字符串,有6种(只针对ES,不包含HOST环境对象). 1.'undefined'2.'boolean'3.'string'4.'number'5.'object'6.'function' 因为它本身是运算符,它不是函数,使用时没必要加个小括号. typeof用来判断类型,它有几个坑 1. 对null返回是'object',你却不能真正当对象使用. 代码如下: var obj = nullif (typeof obj === 'object')…
终于一路走来,到了本系列的最后一篇了,这一篇也没什么好说的,整体知识框架已经在前面的系列文章中讲完了,wcf的配置众多,如果 不加一些指定配置,你可能会遇到一些灾难性的后果,快来一睹为快吧. 一: 第一个大坑 [数据传输量] 我们使用wcf的目的,就是用来进行分布式的数据交互,既然是交互,就一定要进行数据交换,可能一些新人并没有注意到wcf在数据传输量上 面做了一个大小限制,比如我现在要传输一个2m的txt给service,会出现什么情况??? static void Main(string[]…
最近做一个小项目,项目中有一个定时服务,需要向对方定时发送数据,时间间隔是1.5s,然后就想到了用C#的Timer类,我们知道Timer 确实非常好用,因为里面有非常人性化的start和stop功能,在Timer里面还有一个Interval,就是用来设置时间间隔,然后时间间隔到了就会触 发Elapsed事件,我们只需要把callback函数注册到这个事件就可以了,如果Interval到了就会触发Elapsed,貌似一切看起来很顺其自然,但是 有一点一定要注意,callback函数本身执行也是需要…
JS的灵活 说好听是说JS灵活, 说不好听就是JS的坑太多, JS类型转换就是一个大坑, JS的类型包括了原始类型的[null, undefined, String ,Number, Boolean],以及对象类型的[function, object]; , -, NaN 转换成布尔值是false, 剩下的全转化为 ==>> true; ; undefind, "One", 一个非数字值的数组:["a"], function(){} 转化成数字是 ==&…
一.上传图片并在前端展示 为了避免前端整体刷新,我们采用ajax+iframe(兼容所有浏览器)上传,这样用户上传之后就可以立即看到图片: 上传前: 上传后: 前端部分html: <form style="display: inline-block" id="upload_img_form" name="form" action="/upload/" method="POST" enctype=&qu…
有个需求:需要限制每个账户请求服务器的次数(该次数可以配置在DB,xml文件或其他).单位:X次/分钟.若1分钟内次数<=X 则允许访问,1分钟内次数>X则不再允许访问.   这类需求很常见的,像请求Baidu Map Api服务接口等,都有这类限制,只是单位不同. 一般来说,接口的请求在服务器端都会有记录的,比如记在DB中,记录 账户.请求时间.请求信息.请求操作.服务器响应信息 等.所以逻辑上完全可以获取请求当前时间段的请求量(执行记录 的count()操作,在DB中为Sql : SELE…
XmlSerializer我想现在用的人可能不多了,大家都在用Json.我现在所在的公司依然在用,所以发现了这个坑.当然这个坑存在很久了只是没用过所以才发现. 事情是这样的,测试那边说系统偶尔会报找不到 xxxx.XmlSerizlizers 的引用,File Not Found的异常,几率不高.但是我百般寻找发现项目了根本就没有这个dll,为什么会找这个dll呢? 后来经过各种查找原因,发现是项目引用了公司的一个框架,这个框架记录了此异常,他是如何记录的呢? internal static v…
在一日一控件的口号下,终于写好了五十几个自定义控件,包括各种仪表盘,各种温度计,各种进度条,各种按钮等,具体可参见(http://www.cnblogs.com/feiyangqingyun/p/6128288.html)目前演示DEMO都是采用提升的方法来显示的,一直有个想法,想做成和QWT一样的可以直接编译集成到Qt Creator中,方便用户直接拖控件使用,即做成Qt Creator的插件,Qt要写Qt Creator的插件极为方便,和新建Qt Widget项目一样的步骤.方法可参见(ht…
typeof是一个运算符,它对操作数返回的结果是一个字符串,有6种(只针对ES,不包含HOST环境对象) 'undefined' 'boolean' 'string' 'number' 'object' 'function' 因为它本身是运算符,它不是函数,使用时没必要加个小括号 if (typeof(obj) === 'undefined') { // ... } typeof用来判断类型,它有几个坑 1. 对null返回是'object',你却不能真正当对象使用 var obj = null…
1.urlencode urlencode编码的对象必须是utf-8编码.如果是其它格式的编码就会出现乱码. 2.array_merge 一般来说,array_merge就是把两个或两个以上的数组组合起来.需要注意的坑有两点: a.如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值.然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面. b.如果其中有一个数组为NULL,那么函数返回的结果就会是NULL,这种坑一般会在for循环中出现. 3.get_class…
1.  考察this var length = 10 function fn(){ alert(this.length) } var obj = { length: 5, method: function(fn) { fn() // ? arguments[0]() // ? } } obj.method(fn) 这里的坑主要是arguments,我们知道取对象属于除了点操作符还可以用中括号,这里fn的scope是arguments,即fn内的this===arguments,调用时仅传了一个参…
原地址:http://www.cnblogs.com/realtimepixels/p/3652128.html 一 24 十一郎未分类 No Comments 转自 http://www.unitymanual.com/blog-3571-132.html 1.Editor版本不能读取与自己版本不同的assetbundle这个问题描述起来很简单:比如:老板原来让你用4.1打包(BuildAssetBundle)开发,开发完毕后,下半年,unity升级了, 于是老板要求与时俱进,让你用4.3开发…
js在操作DOM中存在着许多跨浏览器方面的坑,本文花了我将近一周的时间整理,我将根据实例整理那些大大小小的“坑”. DOM的工作模式是:先加载文档的静态内容.再以动态方式对它们进行刷新,动态刷新不影响文档的静态内容. PS:IE 中的所有 DOM 对象都是以 COM 对象的形式实现的,这意味着 IE 中的 DOM可能会和其他浏览器有一定的差异. Node 接口 特性/方法 类型/返回类型 说 明 nodeName String 节点的名字:根据节点的类型而定义 nodeValue String…
最近在看一篇全栈增长工程师实战,然后学习里面的项目,结果发现作者用的技术太过老旧,好多东西都已经被抛弃了,所以结合着官方文档和自己的一些理解将错误的信息替换一下,边写边学习 准备工作和工具 作者说需要一些python基础,但是中国程序员是最好的程序员,没有基础照样看,大不了遇到不懂的现学就是喽 需要在计算机上安装一些工具 Python环境及包管理工具pip 一款浏览器,推荐Chrome,当然,用自己喜欢的浏览器也可以 版本控制,推荐用Git,但是很多培训机构出来的只会SVN,所以这个没有什么重要…
这些天搭建windows cocos2d-x的环境,基本上崩溃到死.目前好转.终于可以编译通过: 生成模板工程:在cmd下进入cocos2d-x的主目录,D:\Android\cocos2d-x-2.2.1\tools\project-creator 使用命令创建工程Demo,然后通过cygwin进入D:\Android\cocos2d-x-2.2.1\project,发现若干目录.进入proj.android,照规定调用./build_native.sh 坑1:未定义NDK_ROOT,去环境变…
第一坑:作用域 首先,有一个关于this的面试题,是这样的: var fullname = 'John Doe'; var obj = { fullname: 'Colin Ihrig', prop: { fullname: 'Aurelio De Rosa', getFullname: function() { return this.fullname; } } }; console.log(obj.prop.getFullname()); var test = obj.prop.getFul…
最近用Qt的QJsonObject和QJsonArray当做类变量来存储运行信息,发现这两货真的是巨坑.让人有一种JJ fly的感觉/(ㄒoㄒ)/~~. 写了个例子来说明下: MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); Dlldemo obj; obj.test(); jsonArray.append(QJsonObject()…
前面说了说了js的相关知识,基本上除了语法外,把项目常用的知识做了一个梳理,现在说下js的其它方面的知识,这些知识不成体系,属于不理解对于一般开发没什么太多影响,但如果理解清楚,可以更好去开发. js解析引擎: 引擎的定义: 什么是js解析引擎?简单的说是就能够读懂javascript代码的的平台,如你写一段代码 var a=1;var b=1;var c=a+b;引擎做的事情就这一段代码执行成我们想要的结果,这就是引擎要做的事情. 上面据说的和C/C中的编译过程很像,但是js和C/C有所不同,…
为什么说一个好的员工能顶 100 个普通员工 我们的做法是,要用最好的人.我一直都认为研发本身是很有创造性的,如果人不放松,或不够聪明,都很难做得好.你要找到最好的人,一个好的工程师不是顶10个,是顶100个.所以,在核心工程师上面,大家一定要不惜血本去找,千万不要想偷懒只用培养大学生的方法去做.最好的人本身有很强的驱动力,你只要把他放到他喜欢的事情上,让他自己有玩的心态,他才能真正做出一些事情,打动他自己,才能打动别人.所以你今天看到我们很多的工程师,他自己在边玩边创新.所以,找最好的人,要给…
Linux tmux 如何查看 tmux如何进行滚动呢? prefix + [, prefix为tmux的前置动作,默认是ctrl + b. 使用方向键或者pageUp来进行翻页. q可以退出滚动模式. 支持vi模式,需要在.tmux.conf里面配置: set -g mode-keys vi 进程号, 端口 ps命令查找与进程相关的PID号,可以通过man来查询ps的一些参数. 这里讲解下最常用的用法: ps aux | grep vim, 查看所有的vim进程.ps aux | grep v…