Nginx 服务的基本配置

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#user  nobody;
worker_processes 1;
#error_log logs/error.log error;

#pid logs/nginx.pid;


events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

……
}

Nginx 手动安装与运行

下载

Nignx官方网站 获取最新稳定版。如 nginx-1.10.0。

Ubuntu 下 LEMP 的安装

参考链接

cURL 的一些使用

常用

1
2
3
4
➜  ~ curl baidu.com
<html>
<meta http-equiv="refresh" content="0;url=http://www.baidu.com/">
</html>

关于错误和异常的一些理解

在开发过程中,错误、异常的暴露及处理不可避免。

合理地暴露错误和抛出异常,是提升开发效率的一大法门。

潜在的问题对应的修正成本,会随着项目的迭代不断上升;因此,尽早暴露问题,尽早解决问题,是对整个工程的负责。那么在开发过程中,如何尽早的暴露问题,并解决?暴露问题后速度迅速的定位问题,并修正?生产环境中又该作哪些处理?

字典对象合法性检验

过去,判断一个字典对象的合法性,采用了下面的方案。有一个很大的缺点就是,数据非法时,想要定位到哪个字段出了问题,这事并不轻松。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
+ (BOOL)isValidDic:(NSDictionary *)dic
{
if (![super isValidDic:dic]
|| !DIC_HAS_STRING(dic, SYNC_USER_UID)
|| !DIC_HAS_STRING(dic, SYNC_CONTENT)
|| !DIC_HAS_NUMBER(dic, SYNC_CREATE_TIME)
|| !DIC_HAS_ARRAY(dic, SYNC_COMMENTS)
|| !DIC_HAS_ARRAY(dic, SYNC_FAVORS)
|| !DIC_HAS_ARRAY(dic, SYNC_VISITORS)
|| !DIC_HAS_NUMBER(dic, SYNC_COMMENT_NUM)
|| !DIC_HAS_NUMBER(dic, SYNC_FAVOR_NUM)
|| !DIC_HAS_NUMBER(dic, SYNC_VISITOR_NUM)
|| !DIC_HAS_NUMBER(dic, SYNC_IS_HIDE_IN_SQUARE)
|| !DIC_HAS_NUMBER(dic, SYNC_FAVORED)
|| !DIC_HAS_ARRAY(dic, SYNC_PHOTOS)
|| ![UserBasicInfo isValidDic:dic[SYNC_USER_INFO]]
)
{
return NO;
}

return YES;
}

一岁一枯荣

生日

寻觅缘由,只为说愁

今天是身份证上的生日,虽然那是瞎写的;
一年一度,它是法定的里程碑;
可以写点检讨,可以直抒胸臆;
无论如何,去年至今,一年已经过去。

iOS 网络请求本地调试

首先,需要搭建本地环境,参考 PhpStorm 本地调试;核心步骤是配好 IDE 环境以及修改 hosts 文件。

其次,使用单元测试,参考 iOS 测试学习小结;显然,本该一键完成的测试,不应该调出模拟器 / 真机的界面去人工操作。

SASS 入门

Chrome 调试小记

参考链接