SecureCRT 中使用 Solarized 配色方案的方法
先修改一些默认设置:
Options -> Global ptions -> General -> Default Session -> Edit Default Settings...
打开linux配色方案:
Terminal -> Emulation 中Terminal选择ANSI or linux or xterm,必须钩上 ANSI Colour
启用常用的快捷键设置:
Terminal -> Emulation中Select an alternate keyboard emulation中选择linux
退出主机自动关闭窗口:
Terminal -> Close on disconnect Close 打勾
屏幕显示最大行数:
Terminal => Emulation => Scrollback 修改为10000。
使用使用Windows下的拷贝粘贴快捷键,不习惯的话不要启用:
Terminal => Mapped keys => Use windows copy and paste hotkeys
字体编码设置:
Terminal->appearance: 字体选择lucida consolas 12pt, 编码选择utf-8
1:(0,43,53) (128,128,0) (0,160,0) (160,160,0) (255,128,128) (160,0,160) (0,160,160) (131,148,150) 2:(128,128,128) (255,34,65) (55,187,55) (255,246,145) (85,153,153) (255,0,255) (103,208,193) (131,148,150)
Git 配置全局忽略文件
创建
~/.gitignore
文件,把需要全局忽略的文件类型塞到这个文件里。# .gitignore_global #################################### ######## OS generated files ######## #################################### .DS_Store .DS_Store? *.swp ._* .Spotlight-V100 .Trashes Icon? ehthumbs.db Thumbs.db #################################### ############# packages ############# #################################### *.7z *.dmg *.gz *.iso *.jar *.rar *.tar *.zip
在
~/.gitconfig
中引入刚创建的.gitignore
。git config --global core.excludesfile ~/.gitignore
这次出差到厦门,顺便去了趟鼓浪屿
CentOS 7 搭建 IPSec/IKEv2 VPN 服务器
GitHub 地址
https://github.com/jiangxi14520/one-key-ikev2-vpn
wget --no-check-certificate https://raw.githubusercontent.com/quericy/one-key-ikev2-vpn/master/one-key-ikev2.sh
chmod +x one-key-ikev2.sh bash one-key-ikev2.sh
如果使用 firewalld
vim /etc/firewalld/zones/public.xml
执行以下命令
firewall-cmd --zone=dmz --permanent --add-rich-rule='rule protocol value="esp" accept' # ESP (the encrypted data packets) firewall-cmd --zone=dmz --permanent --add-rich-rule='rule protocol value="ah" accept' # AH (authenticated headers) firewall-cmd --zone=dmz --permanent --add-port=500/udp #IKE (security associations) firewall-cmd --zone=dmz --permanent --add-port=4500/udp # IKE NAT Traversal (IPsec between natted devices) firewall-cmd --permanent --add-service="ipsec" firewall-cmd --zone=dmz --permanent --add-masquerade firewall-cmd --permanent --set-default-zone=dmz firewall-cmd --reload firewall-cmd --list-all
vim /etc/sysctl.conf
添加以下内容:
# VPN net.ipv4.ip_forward = 1 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.all.send_redirects = 0
使之生效:
sysctl -p
<?xml version="1.0" encoding="utf-8"?> <zone> <short>Public</short> <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description> <service name="dhcpv6-client"/> <service name="ssh"/> <port protocol="tcp" port="80"/> <port protocol="udp" port="500"/> <port protocol="tcp" port="500"/> <port protocol="udp" port="4500"/> <port protocol="udp" port="1701"/> <port protocol="tcp" port="1723"/> <masquerade/> </zone>
Mac 上配置
进入钥匙串管理,选择登录,然后将证书拖进去。
不被信任解决方法,右键->属性,选择总是被信任
iTerm2 安装 oh-my-zsh 和 power-line
pip install powerline-status --user -U
隐藏用户名和主机名 加到
ZSH_THEME="agnoster" DEFAULT_USER="$USER"
Windows 安装 cygwin64
由于公司给配备了 Windows 7 的开发环境,不得已放弃了 iTerm2,但是 Windows 上实在找不到和 iTerm2 相媲美的命令行工具。 最终选择了
cygwin64
,这里讲一下在cygwin
上安装oh-my-zsh
,tmux
以及powerline
的方法和步骤。工作出差到长沙 - 湖南卫视
HTTP 协议常见错误代码
入职新浪微博第一天
乐观锁和悲观锁
乐观锁和悲观锁是两种并发控制策略,用于解决多线程或多进程访问同一资源时的数据一致性问题。
乐观锁
- 概念:假设数据很少被修改,因此不会在数据访问前加锁。
- 机制:读取数据时不加锁,更新时检查数据是否被修改(通常通过版本号或时间戳)。如果数据没有变化,则提交修改;否则,操作失败,需要重试。
- 适用场景:适合读多写少的场景,避免因频繁加锁导致的性能问题。
悲观锁
- 概念:假设数据会被频繁修改,因此在访问前加锁。
- 机制:读取或修改数据时加锁,确保同一时间只有一个事务可以操作数据。其他尝试获取锁的事务会被阻塞,直到锁被释放。
- 适用场景:适合写多读少的场景,需要严格控制数据一致性。
例子
- 乐观锁:电商网站的库存管理系统,用户读取商品信息时不加锁,提交订单时检查库存是否改变。
- 悲观锁:银行转账系统,在进行账户余额更新时加锁,以确保数据一致性。
选择使用哪种锁策略取决于系统的读写比例和对并发的要求。
共享锁和排它锁
两种锁的概念
共享锁(Shared Lock,S锁)
- 允许多个事务同时读取数据,但不允许修改数据。
- 其他事务可以获取共享锁,但不能获取排它锁。
排它锁(Exclusive Lock,X锁):
- 独占数据的访问权,禁止其他事务读取或修改。
- 在事务持有排它锁期间,其他事务不能获取共享锁或排它锁。
这两种锁机制确保了数据的一致性和完整性。
两种锁的使用场景
共享锁(Shared Lock, S锁)
假设有两个用户,用户A和用户B,他们都想读取同一条记录。用户A获取了该记录的共享锁,因此可以读取数据。同时,用户B也可以获取共享锁来读取相同的数据,因为共享锁允许多个读操作并发进行。
排它锁(Exclusive Lock, X锁)
现在,用户A想要修改这条记录,他需要获取排它锁。此时,用户B不能获取任何锁(包括共享锁和排它锁)来访问该记录,直到用户A完成修改并释放排它锁。这样保证了数据的一致性和防止并发写入冲突。
Ubuntu 下快速启用 Apache2 的 rewrite 方法
a2enmod rewrite service apache2 restart
sudo vim /etc/apache2/sites-enabled/000-default
将
AllowOverride None
全部改成
AllowOverride All
解决 GitHub 无法更新的问题
前提是安装了
shadowsocks
git config --global https.proxy 'socks5://127.0.0.1:1080'
MySQL 5.7.9 报错 “this is incompatible with sql_mode=only_full_group_by”
mysql> set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; mysql> set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
Linux 命令行输入的命令的操作技巧
ctrl + r //可以在历史的命令中搜索 ctrl + a //光标移到命令行的开始位置 ctrl + e //光标移到命令行的结束位置 ctrl + f //光标向前移动 ctrl + b //光标向后移动 ctrl + u //清除当前命令行 ctrl + c //直接转到下一行
CentOS 报错:yum-config-manager: 未找到命令
这是因为系统默认没有安装这个命令,这个命令在
yum-utils
包里,可以通过命令yum -y install yum-utils
安装就可以了。FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream
错误原因及解决方法:
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
而 Nginx 识别不到
/scripts
路径,所以phpinfo
验证信息就无法正常通过,需要修改如下:fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
注意:
$document_root
代表当前请求在root
指令中指定的值。CentOS 服务器搭建 Shadowsockets 教程
yum install python-setuptools m2crypto supervisor easy_install pip pip install shadowsocks
/usr/bin/python /usr/bin/ssserver -p 443 -k yourpassword -m aes-256-cfb --user nobody -d start
解决错误:nginx: [emerg] unknown log format "main"
重启 nginx 出现了如下错误:
nginx: [emerg] unknown log format "main" in /usr/local/nginx/conf/nginx.conf:34
解决办法:
打开
nginx.conf
,"main" 错误是因为丢失了log_format
选项,把log_format
所在行的注释去掉就 OK 了。Windows 修改 Caps Lock 为 Control 键
保存以下内容到
ChangeCapsToControl.reg
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,3a,00,00,00,00,00
双击替换成功!
文章归档
文章日历
2025 年 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 | 26 |
27 | 28 | 29 | 30 | 31 |
文章标签
- Linux
- Go
- Yii
- 新浪
- CentOS
- PHP
- Git
- WSL
- Composer
- Mac
- 入职
- Bootstrap
- pyenv
- UCenter
- 厦门
- 出差
- 长沙
- 湖南卫视
- 微博
- Tengine
- YUI
- 泰国
- pecl
- 优化
- GitLab
- 迁移
- rootless
- 年会
- 生日
- Tengin
- RedHat
- Sphinx
- cygwin
- Windows
- Tmux
- Zsh
- 升级
- MySQL
- sql_mode
- Shadowsockets
- 面向对象
- HTTP
- 状态码
- grep
- unoconv
- PPT
- Nginx
- htpasswd
- golang
最新评论
-
崔亮 于 19-05-23 评论了Tengine 2.2.2 配置 http2 协议出现的坑
-
王媛 于 19-01-31 评论了Yii China 是官方唯一认可的中文社区
-
三杯蛙 于 19-01-24 评论了Go 语言中 json 的操作以及常见问题
-
三杯蛙 于 19-01-24 评论了新浪赴泰国曼谷和芭提雅团建
-
巡洋舰 于 18-09-05 评论了CentOS 安装 PHP7
-
小不点 于 11-03-02 评论了WordPress 如何控制每页显示的条数
-
白领厕工 于 10-12-22 评论了关于 phpMyAdmin 免输入用户名和密码,直接进入管理界面
-
清晨的欣赏 于 10-08-04 评论了PHP 5.4 的新特性
-
易赛官网 于 10-07-27 评论了PHP 5.4 的新特性
-
文秘之家 于 10-07-17 评论了PHP 5.4 的新特性
常用工具
- 时间戳转换
- URL ENCODE/DECODE
- JSON
- 正则测试