作者归档:salmonl

关于salmonl

成长,长成自己的样子。微博@动机在北京,欢迎来玩~

shell脚本实用初级入门

做为开发同学,实际工作中熟练使用大部分shell命令就能完成绝大多数事情,需要编写shell脚本的场景(机会)并不多。一般不会系统去学习shell脚本,这就导致偶尔要写一个shell脚本,往往觉得很费劲,比如自动登陆服务器、分发文件…

实际上系统介绍shell脚本的资料很少(包括书籍和网络),没有找到官网,网上各种教程也是众说纷纭,特整理一份让开发很快能熟悉的文档。

Shell是一种脚本编程语言,类似PHP、Python。可以简洁地表达复杂的操作(用很少的代码实现强大的功能)。
继续阅读

SVN常用命令整理

经常用Git, 偶然碰到SVN管理的项目,往往又需要从头熟悉一遍SVN的命令,特记录下常用的SVN命令。

注:以下记录基于macOs自带svn命令。
一、svn管理项目开发。
0、安装svn colordiff。
工欲善其事必先利其器,命令行下的colordiff是非常有必要的

brew install colordiff
svn diff | colordiff 出现色彩

或者修改配置, 直接使用svn diff

echo 'diff-cmd = colordiff' >> ~/.subversion/config 

当然设置别名也行
继续阅读

PHP输出缓冲(output buffer)初级理解和应用

声明:不同的PHP版本,操作系统环境,Webserver, 参数默认值及配置可能会有差异。本文基于的环境如下:
PHP version: 7.2.8; Nginx version 1.14.0
Mac OS version: 10.10.5; Chrome version: 69.0;
Safari version: 8.0.8

第一部分 基础概念

计算机缓冲区(buffer)
计算机中暂时存放输出或输入信息的内存区域。缓和高速部件和低速部件之间通信速度不匹配的矛盾。缓冲(buffer)和缓存(cache)之间还是有本质区别的【点击查看区别】。
继续阅读

awk常用形式整理

简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。这里并不打算介绍awk,也不是简明教程,如果想看教程,推荐耗子的文章《AWK 简明教程》

awk格式如下:

# 方式一:
awk '{pattern + action}' {filenames}
# 方式二:
cat filename | awk ‘{print $1}’

常用内置变量
FS 设置输入域分隔符,等价于命令行 -F选项
NF 浏览记录的域的个数
NR 已读的记录数

继续阅读

漫谈获取客户端真实IP

声明:本文是以Nginx和PHP的交互过程来说明具体问题。

以下分两个部分来探讨

客户端参数是如何传递到服务器应用程序中的

一个完整简易的Http请求Request/Response过程:
服务器接收到客户端Http请求,选择CGI script来处理请求, 通过meta-variable来传递请求数据, 将客户端请求转为一个CGI请求,执行script, 把CGI响应转为客户端响应。
继续阅读

Mac Safari调试工具介绍

浏览器调试工具当然首推chrome, 但是有些偶尔使用一下Safari(比如IPv6热点下Chrome访问不了站点),发现Safari调试页面请求真实“难用“,每次发现都不知道怎么用,捣鼓半天,特意记录下。

说明:
MacOS Version: 10.12.5
Safari Version: 10.1.1
继续阅读