【Python】qCleaner

背景

大家存比赛的时候一般都会把源码一起存下来
但有些同学交源码之前喜欢编译一下
于是就有很多废的.exe文件
而且这些文件大小都在$1M$以上,所以占用了极大的空间

qCleaner

于是我就用Python写了一个小工具
大概就长这样啦:

我知道很丑

它会递归扫描指定目录下的所有目录
然后每找到一个.cpp文件就会在同一个目录下查找同名.exe文件
如果存在的话,就会把同名.exe文件删掉

怎么样?是不是很贴心?
我大概用这货删掉了快$2G$的.exe文件吧!

获取与使用

  1. 打开https://github.com/yongzhengqi/qCleaner/releases
  2. 下载qCleaner.zip并解压
  3. 双击qCleaner即可打开程序
  4. 手动输入路径,或者点击浏览来选择路径。之后点击清理即可

为什么不用脚本

  1. qCleaner有可视化界面,便于使用
  2. qCleaner可以实时显示清理进度,也可以随时强行终止
  3. 我编不出来了qwq

后记

总之,qCleaner作为我正式写的第一个Python程序,我还是很满意的
而且这货的GUI是用的PyQt,所以还有很大的提升空间

嗯,大概就这样了吧
这可能是我退役前写的第一个也是最后一个自己想写的程序了吧

【Python】[分发软件] cx_Freeze

平台

Win10
Python 3.6.1

选择工具

现在主流的python打包工具就三个
1. py2exe
2. pyinstaller
3. cx_Freeze

因为我是用的Python 3.6.1
这货只有cx_Freeze支持
于是就用cx_Freeze辣!

安装

直接pip install cx_Freeze即可

如果你想直接在命令行里直接用(一般是会这么用的)
那你还需要进入到Python的安装目录下的Scripts文件夹
比如我的系统在C:\Users\dell\AppData\Local\Programs\Python\Python36\Scripts\
然后执行python cxfreeze-postinstall

使用

建议参考其官方文档:https://cx-freeze.readthedocs.io/en/latest/overview.html

值得注意的有以下三点:
1. icon只支持.ico文件,可以用这个网站在线转:https://converticon.com/
2. 如果想去掉黑框,加上base = "Win32GUI"
3. 64位的cx_Freeze只能生成64位可执行文件。如要生成32位的,只能将python和cx_Freeze都装成32位才行

【Latex】分类讨论

之前一直不知道下面这种东西的标准写法:
$$
\begin{equation}
\text{最终得分} =
\begin{cases}
\text{所有操作的分数之和}, & F=0\\
\left \lfloor \frac{\text{所有操作的分数之和}}{2^d} \right \rfloor, & F=1
\end{cases}
\end{equation}
$$

现在知道了:
\begin{equation}
\text{最终得分} =
\begin{cases}
\text{所有操作的分数之和}, & F=0\\\\
\left \lfloor \frac{\text{所有操作的分数之和}}{2^d} \right \rfloor, & F=1
\end{cases}
\end{equation}

参考资料:http://uoj.ac/problem/4

【Python】PyQt教程

最近有接触Python的可视化,选用了PyQt来开发
然后知乎上都推荐cnblog上一位博主的文章用作教程,但实测不好,很多实用的东西没有讲

最近自己翻到了这个网站:http://www.w3ii.com/zh-CN/pyqt/default.html
亲测好用,大力推荐!

—————————— UPD 2017.7.2 ——————————
最近有发现了一个非常好的博客:https://ruslanspivak.com/

—————————— UPD 2017.8.19 ——————————
找到一个很好的参考性网站:https://deptinfo-ensip.univ-poitiers.fr/ENS/pyside-docs/PySide/QtGui/QWidget.html

【Python】pip换源

最近在玩python,然后经常用pip
但官方的源实在是太慢了,所以我们可以换成国内的:

  1. 新建%APPDATA%\pip\pip.ini
  2. 写入以下内容:
    [global]
    trusted-host = tuna.tsinghua.edu.cn
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple/

参考:https://pip.pypa.io/en/latest/user_guide/#config-file

—————————— UPD 2018.2.2 ——————————
直接走代理,用官方源是最好的
pip3 --proxy 127.0.0.1:6152 install tensorflow

参考:https://www.logcg.com/archives/1914.html

【WordPress】搬家啦!

前言

似乎从UI上来讲看不出区别?
但本站已经从自家的辣鸡笔记本迁移到Vultr上了!
总算不怕家里停电了! _(:з」∠)_

总体情况

本次迁移迁移了所有的文章、及所有上传的文件
放弃了评论(反正也没几条)
这里需要赞一下$UpdraftPlus$!真的是太方便了

相关升级

  1. 评论使用了$Disqus$,放弃了原来有$Bug$的$WordPress$自带评论
  2. $SSL$证书使用了Let's encrypt这个项目,放弃了原来沃通的免费证书
  3. Apache搬到了据说性能更强的Nginx
  4. 开放了80端口,虽然还是会强制跳转到https去,不过不再需要手动输入https
  5. 使用$Updraft$配置了自动备份,每天两次备份到Google Drives上

查找到的有用的资料

$WordPress$上传文件大小限制Ⅰ:http://www.513624.com/archives/858.html
$WordPress$上传文件大小限制Ⅱ:https://talk.ninghao.net/t/wordpress-http/685
$Nginx$配置$SSL$证书:https://segmentfault.com/a/1190000007948986
$Let’s Encrypt$:https://certbot.eff.org/#ubuntuxenial-nginx

【WordPress】Apache禁止目录访问

前言

之前有同学想用我博客上传的表情包
然后发现可以直接访问我的整个upload的文件夹
这十分不爽啊,万一你藏了一些神奇的东西在里面呢?
于是查了查,找到了Apache的解决方法
当然Nginx的找一找肯定也有辣!

解决方案

  1. 找到Apache的配置文件httpd.conf
  2. 备份httpd.conf
  3. httpd.conf里搜索options
  4. options那一行后面的所有东西替换成None
  5. 完结撒花 *★,°*:.☆( ̄▽ ̄)/$:*.°★* 。

参考资料

[1] http://121.42.47.99/yuenshome/wordpress/?p=3013

【WordPress】WordPress的两个小问题

1. 权限问题

问题描述:提示需要FTP账户/创建目录失败

解决方案:将WordPress的根目录的所有者设为ngnix的用户
参考资料:https://www.mobibrw.com/2014/1128

2. 语言选项

问题描述:安装完成后语言选项里没有简体中文

解决方案:到官网上下载.mo后缀的语言包手动导入
参考资料:https://codex.wordpress.org/zh-cn:使用您的母语安装WordPress

【WordPress】在Ubuntu 16.04下部署WordPress

环境要求及解决方案

似乎很多guide的时间都比较老了,很多东西在Ubuntu 16.04里不能用了
于是瞎折腾了一下,大概拼凑了一份能用的
整体的解决方案是$MySQL+Nginx+WordPress$

具体流程

  1. 部署Nginx+MySQL+PHP-fpm
    参考:https://www.atlantic.net/community/howto/install-lemp-stack-on-ubuntu-16-04/
  2. 部署WordPress
    参考:https://www.atlantic.net/community/howto/install-wordpress-ubuntu-16.04/
  3. 部署Let’s Encrypt
    参考:待续

【WordPress】Vultr

自己已经折腾过Bandwagon,conoha这两家的VPS
但效果都不尽人意,最近有需要搭建一个wordpress
于是又来试了试Vultr

搞的是Tokyo的机房,从路由跟踪来看还是比较正常吧?

一个月2.5刀的价格,也还是很划算的。直逼搬瓦工
希望不会让我失望吧?迁移wordpress是很麻烦的啊!

另外,优化Shadowsocks可能需要以下链接:

[1]部署:https://bblove.me/2015/03/09/use-ss/
[2]部署:https://www.textarea.com/ExpectoPatronum/kexue-shangwang-yong-vps-dajian-shadowsocks-fuwuqi-265/
[2]开启fast_openhttps://github.com/shadowsocks/shadowsocks/wiki/TCP-Fast-Open
[3]开启BBRhttps://github.com/iMeiji/shadowsocks_install/wiki/开启TCP-BBR拥塞控制算法

【Latex】Latex里的各种数

前言

之前在$latex$里写组合数这类东西的时候都是用得竖排数组
比如\left( \begin{array}{l}a\\b\end{array} \right)
但众所周知,这样是不优雅的
今天查了查,果然有解决方案

解决方案

我们可以看下面两篇文章

[1]http://www.combinatorics.net/weblib/commands/command.html
[2]http://jingyan.baidu.com/article/915fc414f5dbe351384b2043.html

不过遗憾的是,我们需要加载amsmath这个宏包
也就是说$MathJax$不支持 (╯‵□′)╯︵┻━┻

—————————— UPD 2017.4.1 ——————————
似乎组合数还是支持的

【WordPress】辣鸡历史版本

背景

WordPress不知从何时起,开始保存一篇文章的历史版本
还™一分钟就保存一次 (╯‵□′)╯︵┻━┻
作为一名强迫症患者,这让我非常不爽
于是今天查了查,干掉了这个辣鸡玩意儿

解决方案

主要是参考了这里:http://www.pythoner.com/27.html
说简单一点,就是打开wp-includes/defaut-contants.php
然后将下面两个东西的值改成false就好辣

if ( !defined( 'AUTOSAVE_INTERVAL' ) )
  define( 'AUTOSAVE_INTERVAL', 60 );
if ( !defined('WP_POST_REVISIONS') )
  define('WP_POST_REVISIONS', true );

—————————— UPD 2017.6.12 ——————————
上述方法不好,建议直接在wp-settings.php里加入

define('WP_POST_REVISIONS', false);

这样既可以保留自动保存功能,WordPress自己更新以后又不用重设
另外,更改之后建议nginx -s reload重启一下