• SecureCRT 中使用 Solarized 配色方案的方法

    2016-03-16 17:19:52 25654 0 未分类

    先修改一些默认设置:

    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 配置全局忽略文件

      2016-02-26 15:02:36 26916 0 未分类

      创建 ~/.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
      
    • 这次出差到厦门,顺便去了趟鼓浪屿

      2015-12-08 09:23:45 23563 0 生活随笔
      1.jpg
      6.jpg
      8.jpg
      2.jpg
      3.jpg
      4.jpg
      5.jpg
      7.jpg
      9.jpg
    • CentOS 7 搭建 IPSec/IKEv2 VPN 服务器

      2015-10-08 09:25:00 27958 0 技术文章

      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

      2015-09-10 20:50:40 21441 0 技术文章
      pip install powerline-status --user -U
      

      隐藏用户名和主机名 加到

      ZSH_THEME="agnoster"
      DEFAULT_USER="$USER"
      
      • Windows 安装 cygwin64

        2015-08-17 12:03:50 46185 0 未分类

        由于公司给配备了 Windows 7 的开发环境,不得已放弃了 iTerm2,但是 Windows 上实在找不到和 iTerm2 相媲美的命令行工具。 最终选择了 cygwin64,这里讲一下在 cygwin 上安装 oh-my-zsh, tmux 以及 powerline 的方法和步骤。

      • 工作出差到长沙 - 湖南卫视

        2015-06-27 22:20:08 23549 0 生活随笔

        changsha.jpg

      • HTTP 协议常见错误代码

        2015-04-02 10:20:00 25478 0 技术文章
        • 入职新浪微博第一天

          2015-01-20 20:10:02 27299 0 生活随笔

          weibo.jpg

        • 乐观锁和悲观锁

          2014-10-06 11:34:00 24806 0 技术文章

          乐观锁和悲观锁是两种并发控制策略,用于解决多线程或多进程访问同一资源时的数据一致性问题。

          乐观锁

          • 概念:假设数据很少被修改,因此不会在数据访问前加锁。
          • 机制:读取数据时不加锁,更新时检查数据是否被修改(通常通过版本号或时间戳)。如果数据没有变化,则提交修改;否则,操作失败,需要重试。
          • 适用场景:适合读多写少的场景,避免因频繁加锁导致的性能问题。

          悲观锁

          • 概念:假设数据会被频繁修改,因此在访问前加锁。
          • 机制:读取或修改数据时加锁,确保同一时间只有一个事务可以操作数据。其他尝试获取锁的事务会被阻塞,直到锁被释放。
          • 适用场景:适合写多读少的场景,需要严格控制数据一致性。

          例子

          • 乐观锁:电商网站的库存管理系统,用户读取商品信息时不加锁,提交订单时检查库存是否改变。
          • 悲观锁:银行转账系统,在进行账户余额更新时加锁,以确保数据一致性。

          选择使用哪种锁策略取决于系统的读写比例和对并发的要求。

          • 共享锁和排它锁

            2014-10-01 10:23:40 24865 0 技术文章

            两种锁的概念

            共享锁(Shared Lock,S锁)

            • 允许多个事务同时读取数据,但不允许修改数据。
            • 其他事务可以获取共享锁,但不能获取排它锁。

            排它锁(Exclusive Lock,X锁):

            • 独占数据的访问权,禁止其他事务读取或修改。
            • 在事务持有排它锁期间,其他事务不能获取共享锁或排它锁。

            这两种锁机制确保了数据的一致性和完整性。

            两种锁的使用场景

            共享锁(Shared Lock, S锁)

            假设有两个用户,用户A和用户B,他们都想读取同一条记录。用户A获取了该记录的共享锁,因此可以读取数据。同时,用户B也可以获取共享锁来读取相同的数据,因为共享锁允许多个读操作并发进行。

            排它锁(Exclusive Lock, X锁)

            现在,用户A想要修改这条记录,他需要获取排它锁。此时,用户B不能获取任何锁(包括共享锁和排它锁)来访问该记录,直到用户A完成修改并释放排它锁。这样保证了数据的一致性和防止并发写入冲突。

            • Ubuntu 下快速启用 Apache2 的 rewrite 方法

              2014-09-02 10:14:50 22771 0 技术文章
              a2enmod rewrite
              service apache2 restart
              

              sudo vim /etc/apache2/sites-enabled/000-default

              AllowOverride None
              

              全部改成

              AllowOverride All
              
              • 解决 GitHub 无法更新的问题

                2014-08-23 15:26:00 24433 0 技术文章

                前提是安装了 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”

                  2014-08-15 12:59:00 27155 0 技术文章
                  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 命令行输入的命令的操作技巧

                  2014-08-03 15:26:00 25670 0 技术文章
                  ctrl + r //可以在历史的命令中搜索
                  ctrl + a //光标移到命令行的开始位置
                  ctrl + e //光标移到命令行的结束位置
                  
                  ctrl + f //光标向前移动
                  ctrl + b //光标向后移动
                  
                  ctrl + u //清除当前命令行
                  ctrl + c //直接转到下一行
                  
                • CentOS 报错:yum-config-manager: 未找到命令

                  2014-07-15 20:01:05 28831 0 技术文章

                  这是因为系统默认没有安装这个命令,这个命令在 yum-utils 包里,可以通过命令 yum -y install yum-utils 安装就可以了。

                • FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream

                  2014-06-26 10:15:00 25238 0 技术文章

                  错误原因及解决方法:

                  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 教程

                    2014-06-20 15:25:00 27869 0 技术文章
                    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"

                    2014-06-14 21:10:00 25985 0 技术文章

                    重启 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 键

                      2014-05-25 15:36:00 25699 0 技术文章

                      保存以下内容到 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
                      

                      双击替换成功!