前言:

在写项目的时候,发现一个 BUG:有一个 @propery 声明的可变数组,无论怎么增加子数组,都不会发生变化,且始终为 nil .

分析:

如果可变数组 NSMutableArray 没有在内存中创建的话,通过 @propery 创建私有属性,这个时候你要是想调用 addObjectFromArray 添加子数组,这种操作是没用的...因为它原来是 nil ,所以不论你怎么操作都始终为 nil .

[self.newsArray addObjectFromArray:a]; // newsArray 为 @propery 声明的属性(私有); a 为子数组

解决方案:

解决办法是用 LazyLoad 懒加载这个可变数组,在程序需要用到的时候就会在内存中开辟空间。

# pragma mark - lazyload
- (NSMutableArray *)newsArrary{
    if (!_newsArrary) {
        _newsArrary = [NSMutableArray array];
    }
    return _newsArrary;
}

前言:

今天利用 Bootstrap 框架写页面,页面中也运用了 AJAX 技术,碰到个 Button 一直刷新网页,导致 AJAX 失效的问题。

解决方案:

添加 type="button" 即可解决

<button class="btn btn-lg btn-primary btn-block" name="submit" onclick="query()" href="#" type="button">开始查询</button>

前言:

TOR 的全称是 "The Onion Router" , "An anonymous Internet communicaton system" 通过 TOR 访问一个地址时,所经过的节点在 TOR 节点群中随机挑选,动态变化,由于兼顾速度与安全性,节点数目通常为 2-5 个,由于追踪困难,因此有效保证了安全性。

搭建要求:

  • 一台 ECS
  • 操作系统 CentOS (不同系统步骤大致相同

TOR 域名获取:

通过 yum 安装 TOR

$ yum install -y tor

编辑 /etc/tor/torrc 文件,增加以下配置:

HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:8080

启动 TOR 服务

sudo service tor start

当 TOR 启动后,会创建一个私钥在你的 hidden_service 目录,同时创建你的独一无二的 .onion 主机名。


配置 Tor 目录:

在 Nginx 下的 vhost 目录添加虚拟主机配置文件,例如 yourDomain.onion.conf

server
{
listen 8080;
server_name yourDomain.onion;
index index.php index.html index.htm default.php default.htm default.html;
root /你的目录/yourDomain.onion;
}

在服务器文件目录下增加内容

  <!DOCTYPE html>
  <html lang="en" dir="ltr">
    <head>
      <meta charset="utf-8">
      <title>HelloWorld!</title>
    </head>
    <body>
      <h1>HelloWorld</h1>
    </body>
  </html>

紧接着重启 Nginx

$ service nginx restart

结尾:

至此,你已经可以通过这个 TOR 域名访问到你的服务器上的内容。

前言:

为了能够更加符合用户审美习惯(自身习惯)博客文章内容格式上会出现以下改动:

  • 文章所涉及的代码会代码高亮;
  • 文章内所有中文和英文单词 / 数字之间会添加空格;