Node.js的BT下载

作者:JerryXia | 发表于 , 阅读 (0)
近来想用Node.js做一个BT下载的程序,于是研究了一下BT下载相关的知识。
一、BT文件解析用了那么久的bt下载,都知道下载前,都是先解析种子文件(.torrent)的吧。种子文件使用的是BEncode(B编码)保存数据,这种编码有四种数据结构:
1.string(字符串)string的编码为 <string length>:<string>
例: 7:example, 表示字符串 'example'2.integer(整数)integer的编码为 i<integer>e
例: i123456e, 表示整数 1234563.list(列表)list的编码为 l<BEncode>e
例: l6:stringi123ee, 表示数组 ['string', 123]4.dictionary(字典)dictionary的编码为 d<BEcode的string><BEncode>e,即d<key><value>e,key为BEcode的string,value为BEncode
例:d3:key5:value4:testi123ee, 表示{key:'value', test:12...阅读全文

React Native 之 Atom配置nuclide插件

作者:JerryXia | 发表于 , 阅读 (0)
首先下载Atom,下载地址:https://atom.io打开Atom,在右上角Atom的菜单处选择Install Shell Comments(安装apm)到github下载一下nuclide,直接用git或者下载zip文件解压。
项目地址: https://github.com/facebook/nuclidegit命令: git clone https://github.com/facebook/nuclide安装nuclide前,需要电脑有以下环境
- python 2.6 or later- Atom 0.209.0 or later- Node 0.12.0 or latr- node、npm、apm、git在你的$PATH(node、npm可通过安装node.js来安装)执行一下命令
cd nuclide./script/dev/setup# 上面的命令会通过npm下载东西,可能比较久apm link# 注意,上面的命令是把当前目录 软链接 到 ~/.atom/packages 目录下,所以安装完了之后,别把nuclide这个文件夹删了!!!搞定之后,打开Atom试...阅读全文

React-Native搭建Redux框架

作者:JerryXia | 发表于 , 阅读 (0)
近段时间在学习React-Native,发现了还可以用flux思想进行开发,于是便想试一试。
查了各种关于flux的资料之后,有好几个这类型的框架。但是Redux这个框架貌似比较多人使用,所以就选择这个框架了。
选好框架之后,发现框架的介绍资料很少,而且没有搭建的教程,只好自己做一下实验了。经过无数次实验、踩坑,终于成功了……..
注: 我是一个iOS程序员,不太懂大前端,为了学习react-native,react只是随便学习了一点基础,若本文有错,望你能指出    
下面分享一下成果:
1. 搭建基本React-Native项目很简单,大家都会,一句命令1react-native init 你的项目名称
2. 添加框架模块新建完成基本项目后,打开package.json,在dependencies下,添加1234567891011"react-redux": "^3.1.2"``` 有人或许想问,最新的`react-redux`最新版不是4.x么?为什么不用最新的。 这是一个坑,到github的项目主页看下面的文档,里面说4.x不支持`react-native`,请...阅读全文

Webstorm使用babel6

作者:JerryXia | 发表于 , 阅读 (0)
一、初始化工程1npm init 'project name'输入各种信息之后,新建工程完毕。
二、安装babel1npm install --save-dev babel-cli三、修改Webstorm配置打开Setting -> Languages & Frameworks -> JavaScript -> JavaScript language version,选择ECMAScript6。
四、安装babel预插件1npm install babel-preset-es2015 --save-dev五、创建.babelrc配置文件1echo '{ "presets": ["es2015"] }' > .babelrc或自行在项目根目录创建.babelrc文件,并输入{ "presets": ["es2015"] },保存、退出。
ENDtip: 运行的时候选择转换好的文件,别选原文件!!!更详细请参考官方说明: Babel_Webstorm
本文为博主skytoup原创文章,未经博主skytoup允许不得转载。← iOS使用runtime监测UIViewControlle...阅读全文

iOS使用runtime监测UIViewController的dealloc

作者:JerryXia | 发表于 , 阅读 (0)
iOS使用runtime监测UIViewController的dealloc平时在iOS开发的时候,很多情况会导致内存泄露。有时候因为循环引用,导致了UIViewController不回收,还有其它好多原因。一般检测内存泄露都是使用Xcode的Instruments工具。但是这个工具有点复杂,新手入门还是有点难度。所以想到了使用runtime替换UIViewController的-(void)dealloc:方法的实现,检测ViewController是否被释放,从而知道ViewController里面有没有内存泄露。
runtime的相关细节就不说了,不理解也能用,复制放到项目里面就好了。一、思路需要被替换的方法是UIViewController的-(void)dealloc:,所以新建一个UIViewController的Category,在其+(void)load里面执行方法替换。替换的新方法里面做一个简单地log一下当前UIViewController的类名就好了就好了,即当UIViewController被回收的时候,log其类名。二、实现1.新建一个UIViewContr...阅读全文