在Windows中一键安装配置绿色版PostgreSQL

需求:需要交给客户一个绿色版的 PostgreSQL,尽量简化客户的操作让数据库可用。

本文参考了 Windows环境zip版PostgreSQL数据库安装,写了批处理,实现客户可以“一键傻瓜式”安装和配置,并附加sql文件完成创建用户,建库和建表。

  1. 首先下载 PostgreSQL 的 zip 版文件,下载地址:https://www.enterprisedb.com/download-postgresql-binaries
    解压后可删除 pgsql 文件夹中,除 bin、lib、share 之外的文件夹(pgAdmin 如果需要可以保留),这样最后交给客户的压缩包只有 20M 不到的体积了。
  2. 在和 pgsql 同级的文件夹中创建批处理文件 1.init.bat,编辑其中的内容为:
  3. 再新建一个 2-1.sql 文件,其中内容为创建用户和库的sql语句:

    其中用户名、密码、库名根据实际情况修改。
  4. 再新建一个 2-2.sql 文件,其中内容为建表语句,以下为示例:

最终文件夹中内容如下:

可以打包发给客户了,客户解压后执行 1.init.bat 后会生成 2.start.bat,然后以管理员身份执行这个 2.start.bat,就完成了 PostgreSQL 的初始化、服务注册、启动服务、添加用户、创建库、创建表结构这些工作。如果有初始数据需要导入,也可以放在 2-2.sql 文件里一起执行。

QT5 使用自带驱动连接 PostgreSQL

首先 .pro 文件里要加上 QT += sql

然后代码中连接PostgreSQL:

注意:

  1. 要把 QT 的 plugins 目录下的 sqldrivers 文件夹拷贝到程序的执行目录;
  2. 要把 PostgreSQL 的 bin 文件夹下的 libeay32.dll、libiconv-2.dll、libintl-8.dll、libpq.dll、ssleay32.dll 这5个 dll 拷贝到程序的执行目录,否则运行会报QPSQL driver not loaded

(本文基于Windows平台,QT版本 5.2.0,PostgreSQL版本 9.6.2 )

疑似 Wifi 和蓝牙冲突,造成蓝牙鼠标不可用

前两天开始,我笔记本上(MSI 的 GS70,WIN10 系统)的蓝牙鼠标(罗技 M557)突然不可用。做了以下检查和尝试都没能解决:

  • 检查了相关的电源设置,都没有开启“允许计算机关闭此设备以节约电源”。
  • 从“管理蓝牙设备”中,把 M557 删除再重新匹配,匹配没问题,可是鼠标还是不能用。
  • 在设备管理器中删除 M557 的驱动,再重新匹配,依然没用。
  • 鼠标断电重开、重启电脑、再重新匹配,仍旧没用。

赶紧已经没辙了,准备重新买一个用接收器的无线鼠标替代了。

今天开机后突然想到会不会和 Wifi 有关?于是把电脑的 Wifi 禁用,试了下鼠标,还是不能用。可是这时候我把鼠标电源关掉重开,终于能用了。然后再把 Wifi 恢复,鼠标还是正常。(当时使用的是5G)

虽然最后是通过关闭 Wifi 让鼠标恢复正常,但我也不能确定就是 Wifi 影响让蓝牙鼠标突然不可用。

Laravel 5 中自动为当前导航菜单项添加激活(active)样式

Laravel 版本为 5.3(早期的 5.x 版本应该也适用),前端框架使用 Bootstrap,导航条组件 http://v3.bootcss.com/components/#navbar

可根据当前请求的url判定菜单项是否为 active:

对于有多级菜单的,还可以使用 * 通配符:

但是这样直接写在 view 里,代码太乱了,可以写一个 helper 函数。首先在 app 目录下创建文件 Helper.php,在其中加入下面这个函数:

然后在 composer.json 中的”autoload”中加上这个 Helper:

现在,view 中可以这样写:

是不是清爽多了?