Keep Learning, Keep Running.

laravel Encryption 详解

laravel Encryption 详解

简介

Encryption是laravel自带的一个加密模块,让我们先来看看文档说明

Configuration

Before using Laravel's encrypter, you should set the key option of your config/app.php configuration file to a 32 character, random string. If this value is not properly set, all values encrypted by Laravel will be insecure.

意思就是在使用laravel的encrypter前,需要在config/app.php设置一下key(秘钥)和cipher(加密方式)。

# from config/app.php
'key' => env('APP_KEY'),
'cipher' => 'AES-256-CBC',

env方法指明了读取.env文件的APP_KEY,这个只能够通过 php artisan key:generate生成,也是整个应用程序的key,cipher表明了加密的方式,默认AES-256-CBC

Continue Reading...

shell脚本生成mysql数据库以及用户

此脚本可以根据自定义做合适的修改,自己知道自己做什么就好了

#!/bin/bash

# Functions
ok() { echo -e '\e[32m'$1'\e[m'; } # Green

EXPECTED_ARGS=3
E_BADARGS=65
MYSQL=`which mysql`

Q1="CREATE DATABASE IF NOT EXISTS $1;"
Q2="GRANT ALL ON $1.* TO '$2'@'%' IDENTIFIED BY '$3';"
Q3="FLUSH PRIVILEGES;"
SQL="${Q1}${Q2}${Q3}"

if [ $# -ne $EXPECTED_ARGS ]
then
  echo "Usage: $0 dbname dbuser dbpass"
  exit $E_BADARGS
fi

$MYSQL -uroot -e "$SQL"

ok "Database $1 and user $2 created with a password $3"

简单讲解就是新建个shell脚本,例如:mysql_create.sh。

执行的时候带上3个参数,分别是数据库,用户名,密码

crontab 基本用法

crontab -l 当前定时脚本

crontab -e 编辑定时脚本

          • php script.php

5个星星对应如下

minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

typecho_material_theme 增加二级分类导航栏

从当时有人提出想增加二级分类到现在已经半年了,终于在闲着蛋疼的情况下撸了出来,比想象中简单很多 - -

要改的代码其实不多,就是改了一下原来遍历输出增加了条件判断

下拉插件请参考

了解typecho的API感觉真不容易,文档个人感觉并不全

首先在遍历 category 时需要判断该 category 是否有children
<?php if(count($category->children)):?>

有的话就遍历该category的children

    <ul class="dropdown-menu">
        <li><a href="<?php echo $category->permalink(); ?>"><?php echo $category->name ?></a></li>
        <?php foreach($category->children as $k=>$v):?>
            <li><a href="<?php echo $v['permalink'] ?>"><?php echo $v['name'] ?></a></li>
        <?php endforeach; ?>
    </ul>


Continue Reading...

centos7 下安装php7&mysql

花了半天时间把另外一个服务器安装php7,并且安装mariadb

在此做下记录

首先按照官网来安装php7 php官网

但是其中configure是错误的,会导致报错

./configure --enable-fpm --with-mysql

改为

./configure --enable-fpm --with-mysqli

到这里基本安装php7就没什么大问题了,期间在./configure的时候可能会提示确实某些包,百度然后yum安装就好了

2.安装mysql

yum install mysql mysql-devel

然后会下载安装相应的mariadb版本

接着安装 yum install mariadb-server (我也不知道为什么mysql没有mysql-server)

安装完mariadb服务器版就多了mysql用户组,然后就进行权限赋值

chmod -R mysql:mysql /var/lib/mysql

接着设置开机启动以及启动
systemctl enable mariadb.service
systemctl start mariadb.service

然后运行 mysql -uroot

最后设置密码

UPDATE mysql.user SET Password=PASSWORD('password') where USER='root';
flush privileges;

解决echarts上axislabel不会自动换行的问题

Introduce

许多人使用百度的echarts.js时候会出现数据名太长覆盖的情况,newline-echarts.js能够很好解决这种换行问题
github地址

Usage

newline(option, 6, 'yAxis')

  • 参数一:是你的option

  • 参数二:是多少个字就换行

  • 参数三:是x轴还是y轴 可选项 'yAxis' OR 'xAxis'

Example

var chart = echarts.init(document.getElementById("main"));
<script src="js/echarts.js"></script>
var option = 
{
    # your options
}

option = newline(option, 6, 'yAxis')
chart.setOption(option)

参考图片

vim 设置以及常用插件安装

cd ~/.vim #没有就 mkdir ~/.vim
git clone https://github.com/heulizeyang/vim.git
git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
wget http://hanc.cc/.vimrc ~/.vimrc
vim ~/.vimrc
:BundleInstall

.vimrc 下载链接

git中更新fork到最新

切换到分支
git checkout $branch

查看现在所属分支
git branch

自己fork下来的代码更新至最新源码
git remote add $name https://github.com/Hanccc/typecho-material-theme.git

git fetch $name

git pull $name branch

pip install scrapy 中遇到的一些坑

想下个scrapy去加深自己的爬虫功力,结果在pip3.4 install scrapy 的时候遇到问题了

首先在执行时输出了这句

Requirement already satisfied (use --upgrade to upgrade)

也就是需要去更新

pip3.4 install --upgrade scrapy

此时弹出错误

ERROR: b'/bin/sh: xslt-config: command not foundn'

通过参考 点击此处跳转 得到了启发

先执行 whereis xslt-config 查看是否有此命令

发现 xslt-config: ,也就是冒号后面是空的

执行
yum install libxslt-devel

再次查看
whereis xslt-config

发现此时有了数据了

再执行
pip3.4 install xml

pip3.4 install scrapy

以上是Linux的,Windows下要如何解决呢?

stackoverflow

这个方法也就是去官方下载 whl 通过 pip install 安装就成功了

yum 更新 git 到1.8.3版本

yum update git 时发现源比较落后,便开始寻求更新方法(以前就弄过太久没弄又忘了。。。)

得出了以下的解决方法

1、下载repo, -o 也就是 --output-file, 把下面链接下载的放到某位置上

wget -O /etc/yum.repos.d/PUIAS_6_computational.repo https://gitlab.com/gitlab-org/gitlab- recipes/raw/master/install/centos/PUIAS_6_computational.repo

2、这个是下载GPG KEY

wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-puias http://springdale.math.ias.edu/data/puias/6/x86_64/os/RPM-GPG-KEY-puias && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-puias

3、验证key是否安装成功

rpm -qa gpg*

4、验证yum是否正常

yum repolist

这步过后可能会出现异常情况,显示 Cannot retrieve repository metadata (repomd.xml) for repository: nginx

假若出现这个,执行 yum clean all 和 yum makecache即可

接着 yum update

yum update git

git --version #1.8.3