njafei's blog


  • 首页

  • 归档

  • 标签

  • 分类

  • 搜索

JS Event-Loop

发表于 2018-03-19 | 分类于 ES6
最近在看JavaScript的Generator、Promise等实现异步的方法。对于一直用Objective-C编程的我来说,是有些云里雾里。故查了些资料,了解相关的内容,遂有此文。 为什么JavaScript是单线程的语言首先,我们要解释下,JS是单线程的,并不是说JS中只有一个线程,而是在JS引擎中负责解释和执行JS语句的线程只有一个,我们称之为主线程。 在JS中,还是有很多其他线程存在的, ...
阅读全文 »

ES6之Map

发表于 2018-02-28 | 分类于 ES6
基本用法在js中,对象(Object)的本质是键值对,但是它的键只能是字符串,这带来了很多不便。为了解决这个问题,ES6中提供了新的数据结构,Map。 Map和Object最大的区别就是它的key可以是对象。 看下初始化: 1234let map = new Map();let obj = ["a", "b"];map.set(obj, "cont ...
阅读全文 »

ES6之Set

发表于 2018-02-28 | 分类于 ES6
在ES6中,提供了新的数据结构set,set类似于数组,但是其中的元素是不能重复的。我们先来看个例子: 初始化12345let set = new Set();[1,2,2,3,4,5,5,5].map(x => set.add(x));console.log(set.size); //5 初始化也可以接受数组为入参 1let set = new Set([1,2,3,4]); 刚才讲到,s ...
阅读全文 »

ipa包逆向重新签名打包

发表于 2018-02-27 | 分类于 iOS
在使用了rn之后,我们很少会修改原生代码,但是如果想要打包,还是重新打包原生代码,挺花时间的,那么,只修改rn的代码情况下,有没有快速出包的方法? 答案就是今天这篇文章的主题,ipa逆向,然后替换资源,重新打包,这样只需要替换掉js的bundle包,省去了重新archive的时间了。 过程如下: test.ipa 改名为 test.zip 解开zip,打开Payload,显示test资源包,右 ...
阅读全文 »

ES6-Proxy

发表于 2018-02-23 | 分类于 ES6
语法proxy的作用是代理对象的某些行为,其 实质 是重载对象的方法。 举个例子,我们想要读取一个对象的某个属性 12let obj = {a: 'a' , b: 'b'};console.log(obj.a); // 'a' 而使用了proxy之后: 123456789let obj = {a: &apos ...
阅读全文 »

ES6-Symbols

发表于 2018-02-22 | 分类于 ES6
#背景ES5中,属性都可以通过点方法来获取和赋值。这也带来了一个问题,当我想给一个类增加属性的时候,除非我看完这个类的所有细节,否则我很难知道一个属性名是否已经被占用。而ES6为了解决这个问题,引入了一个新的原始类型Symbol,它表示独一无二的值,来避免重复的命名。 加入Symbol之后,JS中的基础类型共有: undefined Null Boolean String Number Obje ...
阅读全文 »

React Native性能优化

发表于 2017-10-25 | 分类于 React-Native
关于帧在讲述如何优化性能之前,我们要先了解一下性能的概念。对一个从未接触过相关概念的人来说,所谓的性能就是当你去使用App的时候很流畅,点击、跳转等交互效果反应很快,而且很顺滑。这是感性的角度,那么理性的角度或者数据的角度看待呢? 这里要介绍一个概念: 帧率。我们知道,所谓的动画或者电影,其实归根结底就是在一秒内快速闪过多张不同的图片,如果快到一定的程度,肉眼会误以为里面的动画都是连贯的。在iOS ...
阅读全文 »

Next增加搜索localSearch

发表于 2017-10-19
Next本身增加localSearch很简单,三步即可: 安装安装 hexo-generator-searchdb,在站点的根目录下执行以下命令: 1$ npm install hexo-generator-searchdb --save 编辑 站点配置文件,新增以下内容到任意位置: 12345search: path: search.xml field: post format: html ...
阅读全文 »

ImageOptm 自动化无损优化图片

发表于 2017-09-26
iOS控制包的大小对于公司来说,是个非常重要的事情。因为苹果公司对于包的大小超过100M的,不会允许用户使用移动网络来下载,这很可能造成商业上的损失。 而在控制包的大小中,一个很重要的原则就是禁止大图片。之前研究其他公司的ipa包的时候,就出现过一个icon高达1M的事故。而平时,虽然程序员们百般小心,难免被设计师暗算给张大图(玩笑),所以靠人终究不是一个可持续的保证质量的方法。 平时用的无损压缩 ...
阅读全文 »

Java对空格的encode格式问题

发表于 2017-09-22
今天发现了一个非常奇怪的问题,服务端给了一个encode的url,内容是位“1 1”: encode之后是 11+1 前端decode之后是 11+1 可是在其他的浏览器等decode之后的结果是: 11 1 发现java的encode有个坑,在java中,encode遵循的标准是rfc1738,而在iOS中,encode遵循的标准是rfc2396,两者对于空格的encode不同 12rfc173 ...
阅读全文 »
123…5
njafei

njafei

45 日志
20 分类
38 标签
RSS
© 2019 njafei
由 Hexo 强力驱动
主题 - NexT.Mist