Fork me on GitHub
杨子鳄鱼 ● 外贸电商从业者

世之奇伟、瑰怪、非常之观,常在于险远,而人之所罕至焉,故非有志者不能至也


  • 首页

  • 标签

  • 读书

  • 翻译

  • 简历

  • 项目

MySQL模糊查询unicode汉字

发表于 2019-05-30

最难相处的女生是那种很爱文艺但又没什么文化的

一般的查询:

1
2
3
4
5
6
7
8
9
10
SELECT
*
FROM
`rainlab_translate_messages`
WHERE
( ( lower( message_data ) LIKE '%"\u4ef7\u683c"%' ) )
AND `domain_id` = 1
ORDER BY
`message_data` ASC
LIMIT 500 OFFSET 0

这样的查询是查不到结果的,应该改成这样

1
2
3
4
5
6
7
8
9
10
SELECT
*
FROM
`rainlab_translate_messages`
WHERE
( ( lower( message_data ) LIKE '%"_u4ef7_u683c"%' ) )
AND `domain_id` = 1
ORDER BY
`message_data` ASC
LIMIT 500 OFFSET 0

针对PHP里的,我们直接输入汉字, 可以这样进行操作:

1
$query = $query->searchWhere(str_replace("\\","_",json_encode($search)), ['message_data']);

CentOS安装Shadowsocks客户端实现联网

发表于 2019-03-08

你爱上小溪 是因为没有见过大海 我已见过银河 但我只爱一颗星

安装 pip

Pip 是 Python 的包管理工具,这里我们用 pip 安装 shadowsocks。

1
2
yum install python-pip
pip install shadowsocks

配置 shadowsocks

新建配置文件:

1
vi /etc/shadowsocks.json

填写以下内容:

1
2
3
4
5
6
7
8
9
10
11
{
"server":"your_server_ip", #ss服务器IP
"server_port":your_server_port, #端口
"local_address": "127.0.0.1", #本地ip
"local_port":1080, #本地端口
"password":"your_server_passwd",#连接ss密码
"timeout":300, #等待超时
"method":"rc4-md5", #加密方式
"fast_open": false, # true 或 false。如果你的服务器 Linux 内核在3.7+,可以开启 fast_open 以降低延迟。开启方法: echo 3 > /proc/sys/net/ipv4/tcp_fastopen 开启之后,将 fast_open 的配置设置为 true 即可
"workers": 1 # 工作线程数
}

启动shadowsocks服务

1
2
3
sslocal -c /etc/shadowsocks.json
nohup sslocal -c /etc/shadowsocks.json &>> /var/log/sslocal.log &

设置shadowsocks开机自启

1
sudo vim /etc/systemd/system/shadowsocks.service

填写如下内容:

1
2
3
4
5
6
7
8
9
10
11
[Unit]
Description=Shadowsocks Client Service
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/bin/sslocal -c /etc/shadowsocks.json
[Install]
WantedBy=multi-user.target

配置生效:

1
systemctl enable /etc/systemd/system/shadowsocks.service

测试

运行

1
curl --socks5 127.0.0.1:1080 http://httpbin.org/ip

如果返回你的 ss 服务器 ip 则测试成功:

1
2
3
{
"origin": "23.105.222.129"
}

安装 Privoxy

Shadowsocks 是一个 socket5 服务,因此我们需要使用 Privoxy 把流量转到 http/https 上。直接使用yum安装即可:

1
yum install privoxy

安装好后,修改一下配置:

1
vim /etc/privoxy/config

搜索forward-socks5t将

1
forward-socks5t / 127.0.0.1:9050 .

取消注释并修改为:

1
forward-socks5t / 127.0.0.1:1080 .

启动 privoxy

1
privoxy /etc/privoxy/config

或以指定用户如www运行privoxy:

1
privoxy --user www /etc/privoxy/config

设置privoxy开机自启

1
sudo vim /lib/systemd/system/privoxy.service

填写如下内容:

1
2
3
4
5
6
7
8
9
[Unit]
Description=Privoxy Web Proxy With Advanced Filtering Capabilities
Wants=network-online.target
After=network-online.target
[Service]
Type=forking
PIDFile=/run/privoxy.pid
ExecStart=/usr/sbin/privoxy --pidfile /run/privoxy.pid /etc/privoxy/config

配置生效:

1
systemctl enable /lib/systemd/system/privoxy.service

配置/etc/profile

执行vim /etc/profile,添加如下代码:

1
2
export http_proxy=http://127.0.0.1:8118
export https_proxy=http://127.0.0.1:8118

修改后使配置生效:

1
source /etc/profile

测试生效:

1
curl www.google.com

返回一大堆 HTML 则说明 shadowsocks 正常工作了。

简化使用

进过上面的步骤我们的确代理成功了。。但是每次都要输入这么多命令太麻烦,这时我们可以利用 命令别名 来简化我们的操作

1
2
3
alias ssinit='nohup sslocal -c /etc/shadowsocks.json &>> /var/log/sslocal.log &'
alias sson='export http_proxy=http://127.0.0.1:8118 && export https_proxy=http://127.0.0.1:8118 && systemctl start privoxy'
alias ssoff='unset http_proxy && unset https_proxy && systemctl stop privoxy && pkill sslocal'

使用方法

1
2
3
4
5
### 开启ss代理
ssinit
sson
## 关闭ss代理
ssoff

https://i.jakeyu.top/2017/03/16/centos%E4%BD%BF%E7%94%A8SS%E7%BF%BB%E5%A2%99/
https://xeylon.com/server/140.html

git将当前分支上修改的东西转移到新建分支

发表于 2019-01-17

为大概率坚持,为小概率备份。

比如我在A分支做了一些修改,现在由于某种原因(如A分支已经合并到master)不能把A分支上修改的东西保留下来但是需要把A分支上修改的东西继续在新分支继续修改。那么现在我们可以有两种简单的做法完成这一需求。

第一种方法

我们不需要在A分支做commit,只需要在A分支新建B分支,然后切换过去。这个时候你会发现修改的东西在A,B分支都有。这个时候在B分支commit,那么这些修改保留在B分支上,再切换到A分支上会发现修改都没有保留下来。

第二种方法

使用Git stash 将A分支暂存起来,然后在某一个分支(如master分支)新建一个分支B,然后在B分支上使用git stash pop 将修改弹出到B分支上,然后这些修改就在B分支上了。然后我们又可以愉快的玩耍了~

composer-install的一个错误

发表于 2018-11-16

若教眼底无离恨,不信人间有白头。

composer insatall が失敗す

PHP のライブラリの依存関係を管理する composer ですが、composer install でインストールをしようとすると killed で失敗してしまうのでその原因を調べました。
ちなみに Laravel の環境を作っている最中でした。

现象

1
2
3
4
$ composer install
Loading composer repositories with package information
Updating dependencies (including require-dev)
Killed

パッケージをインストールしようとすると上記のような感じで killed で中途半端に終わります。composer install -vvv で詳細な進捗が表示されるので実行して見てみると、順調に進んでいる途中でプチっと途切れてしまいます.

原因

原因はメモリ不足です。

どうも killed で終わるのは Linux がメモリ不足でシステム停止する恐れがあるときに、メモリを多く消費しているプロセスを強制的に殺しているかららしいです。OOM Killer という機能です。

composer install を実行すると、依存関係をいろいろと調整したりするためにデータを読み込んだりするのですが、それが大きくなるとメモリの消費量が大きくなりすぎます。そして限界がきて OS からプロセスが殺されます。

解决

原因がメモリ不足なのでメモリの割り当てを増やすことで解決できます。

メモリを増やすのが難しければ、スワップ領域を増やしてやればよいです。私はスワップ領域に1GB分割り当てて解決しました。

1
2
3
# dd if=/dev/zero of=/var/swap bs=1M count=1024
# mkswap /var/swap
# swapon /var/swap

/var/swap ファイルに 1024MB(1GB)分のファイルを作って割り当てています。これで再実行すれば正常に完了するはずです。

以上。

https://webbibouroku.com/Blog/Article/composer-killed

git恢复被删除的文件

发表于 2018-11-10


寂寞空庭春欲晚,梨花满地不开门。

大多数我们是不知道在何时删除了某个文件,通过下面这个命令我们可以查看在哪个 commit 中删除了哪些文件。
1
git log --diff-filter=D --summary

执行这个命令后效果如下:

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
commit 6dcf1e6332e2f0cc10902b995a6efda72b88ebc4
Author: 杨国奇 <lnmput@gmail.com>
Date: Fri Nov 16 17:58:27 2018 +0800
修改页面
delete mode 100644 public/themes/lal/fdssf.php
commit cef7eed4b38360a4f3f6ea70c173654df30c486f
Author: 杨国奇 <lnmput@gmail.com>
Date: Wed Nov 7 17:25:44 2018 +0800
调整代码结构
delete mode 100644 app/Http/Controllers/Homes.php
delete mode 100644 app/Http/Requests/AddressAddRequest.php
delete mode 100644 app/Http/Requests/Web/AddressStoreRequest.php
commit 572110f5deed9d3ff76ccc9a7da75c0e5ed324ce
Author: 杨子鳄鱼 <lnmput@gmail.com>
Date: Wed Nov 7 00:04:51 2018 +0800
更新缓存
delete mode 100644 app/Console/Commands/InitCommand.php

比如我想恢复 ic_selected.png 这个文件,我们可以看到删除该文件对应的 commit id :f541888b0e7255cc6aa22a277f3dd9fe5502e5e2。

接下来我们执行下面这个命令

1
git checkout $commit~1 filename

这个命令会检出该 commit 的上一个提交中的文件,因为我们是在该 commit 中删除的文件,所以需要在上一个 commit 才能恢复出文件。

https://www.jianshu.com/p/41ad0dcfd8da

123…68
lnmput@gmail.com

lnmput@gmail.com

一个记录PHP, Laravel, MySQL, Linux, Redis, ElasticSearch等web开发实践经验的博客

338 日志
137 标签
GitHub
友情链接
  • 风雪之隅
  • 有赞技术团队
  • 美团点评技术团队
  • 點燈坊
  • 轉個彎日誌
© 2016 - 2019 lnmput@gmail.com
由 Hexo 强力驱动
主题 - NexT.Muse