- 博客(53)
- 收藏
- 关注

原创 微信签名及jsSDK的使用
基于node.js的express框架var https = require('https'); var fs = require('fs'); var path = require('path'); var sign = require(path.join(__dirname, 'sign')); var _url = require('url'); var BufferHelper = requ
2017-05-31 09:20:14
638
原创 微信小程序分享
微信小程序分享:1.微信小程序认证指引 http://t.cn/RI1RMEO2.微信小程序接入指南 http://t.cn/RI1RKRi3.微信小程序开发指南 http://t.cn/RI1RYEe4.微信小程序平台运营规范 http://t.cn/RI1R8tO5.个人进行申请开发者权限教程 http://t.cn/RI1Evtd6.小程序接入流程,主体验证
2017-01-10 11:40:03
557
原创 web--sessionstorage,localstorage和cookie之间的区别
一. 共同点:都是保存在浏览器端,且同源的。二. 区别: cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递。而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。 存储大小限制也不同,cookie数据不能超过4k,同时因为每
2016-11-17 10:14:33
411
原创 【 Git 】git操作
1.推送 git status2.拉取 master分支上的东西 git pull origin master3.删除package.json更改 git checkout package.json4.add一下 git add -A5.commit一下 git commit -m 'init'6.查看分支 git branch7.新建 apatementFix分支 git checkout -b
2016-11-02 17:43:25
354
转载 React--组件生命周期
http://react-china.org/t/react/1740
2016-09-30 10:22:20
276
原创 React--基本组件
1.import React, {Component} from 'react'; const styles = require('./HospitalList.scss'); // 基本组件 export default class HospitalList extends Component { render() { return ( <div>基本组件</div>
2016-09-26 15:43:05
305
原创 Node.js--简单后台
var http = require(‘http’);var fs = require('fs'); var url = require('url'); // var server = http.createServer(function (request, response) { // // fs.readFile('index.html','utf-8', function (err,
2016-09-23 11:33:16
589
原创 Node.js--Hello word!
1. console.log('hello word'); // console.log(global); console.log(__dirname); //相对路径 console.log(__filename); //绝对路径 console.log('log'); console.info('info'); console.warn('warn'); console.error('error
2016-09-22 16:28:16
374
原创 iOS--使用GCD实现单例模式
copyWithZone的前提是对象已经纯在。 1.ARC#import "HMDataTool.h"@implementation HMDataTool // 用来保存唯一的单例对象 static id _instace;+ (id)allocWithZone:(struct _NSZone *)zone { static dispatch_once_t onceToken; d
2016-09-12 10:57:44
1078
原创 iOS--单例模式
/** static : 修饰变量 1> 修饰全局变量 * 全局变量的作用域仅限于当前文件内部2> 修饰局部变量 : * 局部变量的生命周期 跟 全局变量 类似 * 但是不能改变作用域 * 能保证局部变量永远只初始化1次,在程序运行过程中,永远只有1分内存 */1.ARC#import "HMMusicTool.h"@implementation HMMusicTool
2016-09-08 10:22:53
305
原创 iOS--多线程GCD队列组--08
1.可以设置多个线程执行完后,需要执行的任务。#import "HMViewController.h"// 1.分别下载2张图片:大图片、LOGO // 2.合并2张图片 // 3.显示到一个imageView身上@interface HMViewController () @property (weak, nonatomic) IBOutlet UIImageView *imageView; @p
2016-09-07 15:05:56
510
原创 iOS--多线程GCD延迟执行--07
1.#import "HMViewController.h"@interface HMViewController ()@end@implementation HMViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typ
2016-09-06 17:06:25
398
1
原创 iOS--xib的加载问题
1.向拖拽的对象上加手势的问题。return的时候容易出现问题,因为手势也是一个对象,注意顺序。+ (instancetype)toolbar { NSArray *objs = [[NSBundle mainBundle] loadNibNamed:@"HMToolbar" owner:nil options:nil]; return [objs lastObject]; }
2016-09-06 16:38:51
284
原创 iOS--多线程GCD线程间通信--07
1.// 需要设置按钮的image和backgroundImage,建议先把按钮类型改为custom,才能保证设置成功 // 属性名不能以new开头 // 只有在init开头的构造方法中,才允许对self进行赋值#define HMGlobalQueue dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) #define HMM
2016-09-06 11:15:20
888
原创 iOS--多线程GCD队列--06
1.队列的类型1.并发队列: 1.可以多个任务并发执行,自动开启多个线程执行任务。 2.并发只在异步(dispatch_async)下有效。1.串行队列:一个接一个执行。2.GCD中创建串行方式 1.dispatch_queue_create函数 2.使用主队列3.各种队列的执行效果4. // // HMViewController.m // 08-GCD02-队列的使用(了解) //
2016-09-06 10:21:33
654
原创 iOS--多线程GCD--05
1.牛逼的中枢调度器,纯C语言。2.优势。 1.为多核运算提供的解决方案,他可以自动利用CPU的内核。 2.会自动管理线程的生命周期,创建线程,调度任务,销毁线程。3.任务:执行什么操作。4.队列:用来存放任务。5.GCD使用的两个步骤。 1.定制任务 2.将任务添加到队列中。 1.GCD会自动将队列中的任务取出,放到对应的线程中执行。 2.任务的取出遵循队列原则。6.执行任务。 7.
2016-09-05 18:00:11
366
1
原创 iOS--线程间通讯NSThread--04
1.回到主线程,刷新UI界面(为了线程安全)#import "HMViewController.h"@interface HMViewController () @property (weak, nonatomic) IBOutlet UIImageView *imageView; @end@implementation HMViewController- (void)viewDidLoad {
2016-09-05 17:29:38
337
1
原创 iOS--线程安全03
1.互斥锁@synchronized(锁对象){ }(耗内存)。 1.多条线程抢夺同一资源时需要加锁。 2.线程同步:多条线程在同一条线上执行。#import "HMViewController.h"@interface HMViewController () @property (nonatomic, strong) NSThread *thread1; @property (nonatom
2016-09-05 17:08:58
268
1
原创 iOS--多线程NSThread--02
1.#import "HMViewController.h" #import <pthread.h>@interface HMViewController ()@end@implementation HMViewControllervoid *run(void *data) { for (int i = 0; i<10000; i++) { NSLog(@"touchesBe
2016-09-05 16:23:26
300
原创 iOS--多线程-01
1.进程是指在系统中正在独立运行的一个应用程序(只分配内存)。2.一个线程中任务的执行方式是串行的,同一时间内,一个线程只能执行一个任务。3.多线程可以提高程序的执行效率。4.同一时间CPU只能处理一条线程,多线程并发只是CPU快速的在多条县城之间的调度。5,如果线程非常多。 1.CPU会累死的。 2.每条线程被调度执行的频次会降低。6.优点。 1.能适当提高资源利用率(CPU,内存利用率)
2016-09-05 14:41:34
311
原创 iOS--手势识别UIGestureRecognizer
1.能用手势识别就用,不要用touch…。2.UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为没使用它的自雷才能处理具体的手势。 1.UITapGestureRecongnnizer(敲击) 2.UIPinchGestureRecognizer(捏合,用于缩放) 3.UIPanGestureRecognizer(拖拽) 4.UISwipeGestureRecogn
2016-09-05 11:31:04
356
1
原创 iOS--响应者链条
响应者链条是用来把事件往上抛1.把事件回传回去#import "RedView.h" @implementation RedView- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { NSLog(@"RedView-----touchesBegan"); [super touchesBegan:touc
2016-09-02 18:05:17
329
1
原创 iOS--触摸事件的传递
1.发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列(先进先出,栈:先进后出)中(所以是从父view传递到子view)。 2.UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常,先发送事件给应用程序的主窗口(kewindow) 3.主窗口会在视图层次结构中找到最合适的视图来处理触摸事件,这也是整个事件过程的第一步。1.触摸事
2016-09-02 16:54:04
639
1
原创 iOS--NSURLSession下载大文件
1.NSURLSession:iOS7之后出来的,目的是替代NSURLConnection#import "HMViewController.h"@interface HMViewController () <NSURLSessionDownloadDelegate>@end@implementation HMViewController- (void)viewDidLoad { [supe
2016-09-02 15:55:27
774
1
原创 iOS--多线程断点下载
思路;开辟多条线程,每条线程负责下载文件的一部分,然后组合起来。1.首先在沙盒创建一个该文件大小的文件。2.其次每个线程下载好自己负责的模块儿后,存放在自己的指定位置。
2016-09-02 14:54:11
338
1
原创 iOS--大文件断点下载
1.只有NSMUtableURLRequest才能去改请求头,关键在于去设置请求头。#import "HMViewController.h" #import "DACircularProgressView.h"@interface HMViewController () <NSURLConnectionDataDelegate> - (IBAction)download:(UIButton *)se
2016-09-02 14:34:32
420
1
原创 iOS--文件下载
1.小文件下载 1.NSData dataWithContentOfUrl(在主线程中,需要开辟线程) 2.NSURLConnection2.大文件下载 1.响应头里面会获得文件的总大小和类型(response)。 2.如果想要永久保存某些数据,需要存储在Library的cache中;Document如果太大的话,审核时会被拒绝,会备份;tmp在程序退出时会删除。#import "HMVie
2016-09-02 13:51:56
484
原创 iOS--本地存储加密
1.本地存储加密:重要的数据名称。2.代码安全问题,现在已有工具可以反编译出C语言代码(逆向工程)3.解决办法:代码混淆
2016-09-01 14:42:53
1070
原创 iOS--客户端密码加密
1.一般情况下仅仅用POST请求提交用户的隐私数据还是不能完全解决安全问题,因为可以利用很多软件(Charles)设置代理服务器,拦截查看手机的请求数据。2.常见加密算法MD5,SHA,DES,3DES,RSA,DSA,AES等。3.一般公司都有一套自己的加密方案,按照接口文档操作即可。4,MD5,不可逆,对输入信息生成唯一的128位散列值(32个字符)5.加密增强: 1.多次MD5。 2.先对
2016-09-01 14:29:59
645
1
原创 SOCKET原理
1、套接字(socket)概念 套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。 应 用层通过传输层进行数据通信时,TCP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程序进
2016-08-31 17:06:49
427
原创 Http和Https的区别
1、https协议需要到ca申请证书,一般免费证书很少,需要交费。 2、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。 4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
2016-08-31 17:02:05
547
1
原创 iOS--UIWebView清除缓存和Cookie
1.清除缓存和cookie- (void)cleanCacheAndCookie{ //清除cookies NSHTTPCookie *cookie; NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; for (cookie in [storage
2016-08-31 16:35:37
2837
原创 iOS--js和oc交互
1.从iOS7开始 苹果公布了JavaScriptCore.framework 它使得JS与OC的交互更加方便了。2.oc调用js-(void)webViewDidFinishLoad:(UIWebView *)webView { //首先创建JSContext 对象(此处通过当前webView的键获取到jscontext) JSContext *contex
2016-08-31 14:51:38
553
原创 【react-native-0.31-iOS】添加热更新功能-iOS(04)
1.将官网上的教程跑了一遍,发现没毛病,这里就不一一赘述了。 https://github.com/reactnativecn/react-native-pushy/blob/master/docs/guide3.md2.下面总结下checkUpdate失败的几个可能原因: 1、iOS没有允许HTTP请求或安卓没有允许网络访问权限 2、appId不正确 3、测试设备本身网络不好
2016-08-30 18:32:38
582
原创 【react-native-0.31-iOS】热更新准备-iOS(03)
1.首先你应该有一个基于React Native开发的应用,我们把具有package.json的目录叫做你的”应用根目录”。如果你还没有初始化应用,请参阅开始使用React Native。所以我们也假设你已经拥有了开发React Native应用的一切环境,包括Node.js、npm、XCode、Android SDK等等。 如果你之前没安装过,你还必须安装Android NDK,并设置
2016-08-30 14:10:21
935
原创 iOS--jsPath热更新
http://www.jianshu.com/p/4e332dbec1e5
2016-08-30 11:32:52
881
原创 iOS--造成dealloc不调用的原因
1.ViewController中存在NSTimer[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateTime:)
2016-08-30 11:31:48
531
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人