分类目录归档:日志

babun安装后记

官网下载:babun

zsh配置:oh-my-zsh 安装和配置方法

安装完 zsh-autosuggestions 插件后,自动提示出来的文字颜色和背景色太近,看不清楚,到选项中(右击标题栏)把背景色调黑一点就行了。

可以考虑换一下cygwin的源:

cd ~
vim .pact/pact.repo
PATC_REPO=http://mirrors.163.com/cygwin

Babun Python配置。因为Babun默认的Python是python2,于是先删除了连接再根据我系统中Python所在文件夹创建了python的链接:

cd /usr/bin
rm -rf python 
ln -s /cygdrive/c/ProgramData/Anaconda3/python.exe /usr/bin/python
python -i #在Babun中,需要加上-i参数,才能正常启动python

爱快 iKuai 路由器双外网配置记录

公司旧路由越来越不稳定,后期要有一批人员进入,于是升级一下路由。

原先的组网情况:

  • 一台工控机,安装 iKuai 软路由。专线网络(有固定IP)。
  • 一台家用无线路由,办公用(ADSL)。

感觉 iKuai 还挺稳定,自从安装过后没有重启过也没有卡过,因此想用 iKuai 的硬件试一下。因此买了 iKuai A320

继续阅读

mysql全局修改sql_mode

  1. mysql数据库的中有一个环境变量sql_mode,定义了mysql应该支持的sql语法,数据校验等。可以通过以下方式查看当前数据库使用的 sql_mode:
show variables like 'sql_mode';

5.7.22 版本中,结果是 ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

  1. session 修改
set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
  1. 全局修改。打开 mysql.cnf ,在 [mysqld] 下面添加:
sql_mode=

apache启用ssl安全访问

首先申请 ssl证书,可以在 腾讯云阿里云利用Let’s Encrypt创建 。这里以 腾讯云 为例。

  1. 启用 ssl 模块
sudo a2enmod ssl
  1. 将得到的证书文件放到确定的目录,如统一放在 /etc/apache2/ssl
  2. 就地复制 default-ssl.conf ,然后修改新文件中的 域名DocumentRoot证书路径,如:
<IfModule mod_ssl.c>
        <VirtualHost *:443>
                ServerAdmin webmaster@localhost
                ServerName domain.com

                DocumentRoot /var/www/html

                ErrorLog ${APACHE_LOG_DIR}/domain.com-ssl-error.log
                CustomLog ${APACHE_LOG_DIR}/domain.com-ssl-access.log combined

                SSLEngine on

                SSLCertificateFile      /etc/apache2/ssl/2_domain.com.crt
                SSLCertificateKeyFile /etc/apache2/ssl/3_domain.com.key
                SSLCertificateChainFile /etc/apache2/ssl/1_root_bundle.crt

                #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
        </VirtualHost>
</IfModule>
  1. 修改站点根目录下 .htaccess 文件,添加以下代码,实现 http 自动跳转到 https:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]
</IfModule>

使用vim时有乱码的解决办法

使用 阿里云ECS 或者 VPS 时,因为安装的系统是 英文版linux,所以vim默认中文件显示乱码,解决办法是:编辑 /etc/vim/vimrc~/.vimrc,添加以下代码:

set fileencodings=utf-8,gbk,utf-16le,cp1252,iso-8859-15,ucs-bom
set termencoding=utf-8
set encoding=utf-8

linux中安装xmind8并设置默认打开方式

  1. 下载最新版的 xmind8 ,文件是 zip 格式,解压放到任一目录(我习惯放在 ~/bin)。

  2. 运行需要 jre 环境,安装: sudo apt install openjdk-8-jre(不同系统可能不一样,如果有多个版本可以选择高版本)。

  3. 运行时出现 发生了错误。请参阅日志文件,打开提示中的日志文件,发现有一行 Caused by: java.lang.ClassNotFoundException: javax.annotation.PreDestroy cannot be found by org.eclipse.e4.core.di_1.6.0.v20160319-0612,是因为缺少组件。但是其实组件已经安装了,使用以下方法解决:打开运行目录 XMind_amd64,打开 XMind.ini,文件最后添加一行 --add-modules=ALL-SYSTEM

  4. 添加启动器

      1. 在 XMind_amd64 目录中,添加文件 XMind.sh,添加以下内容(注意目录路径要和自己的实际情况一致):

    cd ~/bin/xmind-8-update7-linux/XMind_amd64
    ./XMind $*

    添加运行权限。

    1. 在目录 /usr/share/applications(或者 ~/.local/share/applications,此目录仅当前用户可见) 添加文件 xmind.desktop,添加以下内容:
      [Desktop Entry]
      Name=XMind
      Exec="~/bin/xmind-8-update7-linux/XMind_amd64/XMind.sh" %F
      Comment=
      Terminal=false
      Icon=xmind
      Type=Application
      Categories=GTK;GNOME;Office;
      

      无需添加运行权限。

  5. 通过文件直接打开(以 mint 为例):右键 .xmind 文件,选择“属性”->“打开方式”,选择“XMind”,点击“设为默认”。这步操作不建议设置。xmind文件实际上是一个压缩包,如果默认使用xmind打开,所有压缩包都会如此,反而增加麻烦。建议添加到打开方式列表就行。


  • Exec 属性结尾添加 %F 可以让启动器显示在“打开方式”列表中。
  • Categories 常见类型:
    • Development
    • Office
      可同时有多个,用英文分号 ; 隔开

laravel 中怎样在 request 类中使用 sometimes 验证

public function withValidator($validator)
{
    // 有企业ID时必须是企业身份
    $validator->sometimes('group', 'in:1', function ($input) {
        return $input->company_id;
    });
    // 没有企业ID时必须是管理员身份(管理员必须没有企业ID)
    $validator->sometimes('group', 'in:2', function ($input) {
        return !$input->company_id;
    });
}