Roshan's Blog


  • 首页

  • 归档

  • 分类

  • 标签

macOS Sierra 关机慢的问题

发表于 2016-12-08   |  

升级到 Sierra 后,关机或者重启都很慢,十分钟左右= =。因为装了双系统,怀疑是 Windows 不兼容,所以格盘重装了。关机时间正常了。然后迁移助理从 TimeMachine 恢复了数据,关机又很久= =。。。基本确定是软件或者啥服务不兼容。在网上发现了这个回复。
关闭 MySQL Server 时,设置无响应,重新打开设置之后,发现MySQL Server 已经关闭了。这时第一次关机还是很久。第二次后就一切正常了。
pic
可惜了我的 CF ~

iOS 使用 https , AFNetworking 报错 Error Domain=NSURLErrorDomain Code=-999

发表于 2016-12-07   |  

先上我这儿成功的代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
- (void)testATS {
//先导入证书,找到证书的路径
NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"cert" ofType:@"cer"];
NSData *certData = [NSData dataWithContentsOfFile:cerPath];
//AFSSLPinningModeNone 这个模式表示不做 SSL pinning,只跟浏览器一样在系统的信任机构列表里验证服务端返回的证书。若证书是信任机构签发的就会通过,若是自己服务器生成的证书,这里是不会通过的。
//AFSSLPinningModeCertificate 这个模式表示用证书绑定方式验证证书,需要客户端保存有服务端的证书拷贝,这里验证分两步,第一步验证证书的域名/有效期等信息,第二步是对比服务端返回的证书跟客户端返回的是否一致。
//AFSSLPinningModePublicKey 这个模式同样是用证书绑定方式验证,客户端要有服务端的证书拷贝,只是验证时只验证证书里的公钥,不验证证书的有效期等信息。只要公钥是正确的,就能保证通信不会被窃听,因为中间人没有私钥,无法解开通过公钥加密的数据。
AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];
if (certData) {
securityPolicy.pinnedCertificates = @[certData];
}
AFHTTPSessionManager *sessionManager = [AFHTTPSessionManager manager];
[sessionManager setSecurityPolicy:securityPolicy];
sessionManager.responseSerializer = [AFJSONResponseSerializer serializer];
sessionManager.responseSerializer.acceptableContentTypes = [sessionManager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"];
NSString *urlStr = @"https://huifang.tech/info.php";
[sessionManager GET:urlStr parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) {
DDLog(@"responseObject = %@", responseObject);
} failure:^(NSURLSessionDataTask *task, NSError *error) {
DDLog(@"error = %@", error);
}];
}

因为之前使用了 AFSSLPinningModeCertificate 模式
AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];
改成现在的 AFSSLPinningModeNone 模式,解决问题。
因为我的证书是 Symantec 的 DV SSL 证书,所以 securityPolicy 的 allowInvalidCertificates 和 validatesDomainName 属性都是默认值😁。自签的还没试过。
参考链接:

  1. AFNetworking源码解析<三>
  2. stackoverflow

HTML+CSS基础

发表于 2016-08-18   |  

认识标签

1
2
3
4
5
6
7
8
//使用<a>标签,链接到另一个页面
<a href="目标网址" title="鼠标滑过显示的文本">链接显示的文本</a>
//在新窗口打开
<a href="目标网址" target="_blank">click here!</a>
//<img>标签,插入图片
<img src="图片地址" alt="下载失败时的替换文本" title = "提示文本">

与浏览者交互,表单标签…

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//使用表单标签,与用户交互
<form method="传送方式" action="服务器文件">
//文本域,支持多行文本输入
<textarea rows="行数" cols="列数">文本</textarea>
//单选框、复选框,同一组的单选按钮,name 取值一定要一致,这样同一组的单选按钮才可以起到单选的作用。
<input type="radio/checkbox" value="值" name="名称" checked="checked"/>
//下拉列表框
<select>标签
//多选下拉列表
<select multiple="multiple">
//提交按钮,提交数据
<input type="submit" value="提交">
//使用重置按钮,重置表单信息
<input type="reset" value="重置">
//form表单中的label标签
<label for="控件id名称">
阅读全文 »

hexo 步骤

发表于 2016-08-18   |  

安装

1
2
3
4
5
6
7
8
9
1. npm install hexo-cli -g
2. cd Roshan's Blog
3. hexo init
4. npm install
5. hexo server
6. npm install hexo-deployer-git --save
7. hexo g
8. hexo s
9. hexo d

参考资料

hexo官网
Next主题官网

阅读全文 »

git使用备份

发表于 2016-08-16   |  

oh-my-zsh中用到的默认git的alias

但是跟着sudo 后面的话不能用alias

zsh 自带的git alias ~/.oh-my-zsh/plugins/git/git.plugin.zsh

1
2
3
4
5
6
7
8
9
10
11
ga <=> git add
gcam <=> git commit -am
gp <=> git push
gl <=> git pull
gco <=> git checkout
gm <=> git merge
阅读全文 »

Hello World

发表于 2016-08-15   |  

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

阅读全文 »
Roshan

Roshan

6 日志
7 标签
微博 GitHub
© 2016 Roshan
由 Hexo 强力驱动
主题 - NexT.Muse