Linux执行shell 脚本出现:11:0: Trailing garbage: `e`

在执行script脚本的时候,出现了下面的错误提示: ``` 11:0: Trailing garbage: `e` ``` 两个脚本都查找了一下,最后发现: ```/etc/ss-redir.json```文件的末尾处,多了一个 ```e``` ,导致了上述的问题。在使用Golang写入文件的时候,采用了```os.O_RDWR|os.O_CREATE``` 的规则进行文件内容的操作:

- 阅读全文 -

Linux 防火墙(iptables) 使用命令总结

####iptables表 **iptalbes的三个表** 1.**filter ** 这个表主要用于过滤包的,是系统预设的表,这个表也是阿铭用的最多的。内建三个链INPUT、OUTPUT以及FORWARD。INPUT作用于进入本机的包;OUTPUT作用于本机送出的包;FORWARD作用于那些跟本机无关的包。 2.**nat** 主要用处是网络地址转换,也有三个链。PREROU

- 阅读全文 -

分布式系统中,横跨几十个组件排查慢请求的解决问题的方案

我排查的思路总结为如下: 1. 在记录日志的时候,使用RequestID将日志串联起来,这样就很方便一次请求多的步骤耗时情况。比较常见的是:在阿里云或者Amazon云的服务时,如果出现请求错误,就是有一个RequestID的请求错误提示。 2. 使用静态代理,也就是AOP切面编程,在我以前的```swoft```的框架学习AOP编程的时候,提到过,这样做的好处是减少对代码侵入式编程,减少了

- 阅读全文 -

Golang 出现:panic: assignment to entry in nil map

在写一个中间件的时候,出现了下面的问题: ``` panic: assignment to entry in nil map ``` 代码如下(struct的定义) ``` type middleware func(http.Handler) http.Handler type Router struct { middlewareChain []middleware mu

- 阅读全文 -

Golang 获取get,post请求的数据数组

###Post的数组问题 使用```request.PostForm```的时候,获取到的数据的格式如下,这个```request```的struct的结构体如下: ``` type Request struct { Method string URL *url.URL ... Form url.Values } ``` ```url```是golang定义的一个包,

- 阅读全文 -

Golang关键字defer

```defer``` 和 ```go``` 一样,都是Go语言提供的关键字 ```defer``` 用于资源的释放,会在函数返回值之前进行调用和执行,和析构函数功能类似。**函数返回值以前**这里会有许多细节要注意: defer是在return之前执行,但是return 语句并不是一个原子语句,也就是说它会分赋值和ret指令两部分。 ####多个defer的执行顺序 代码如下

- 阅读全文 -