深入了解 Laravel 5.5 包自动发现 Package Auto Discovery

Laravel 5.5 发布在即,目前已经确定会增加一个神奇的新特性:Package Auto Discovery。本文不是聚焦于他是怎么用的,而是看看它的源码,是怎么实现Package Auto Discovery的。

composer.json

一切的起源都是来自 composer.json ,在使用 composer 的时候,你可以在 post-autoload-dump 部分指定你想执行的脚本,比如在 Laravel 5.5 的时候,我们可以看到这样的定义:…

    

php 连接mongodb方法

$manager = new MongoDB\Driver\Manager('mongodb://test1:test1@192.168.1.188:27017,192.168.1.187:27017/AppStore?replicaSet=test&safe=true&w=1&wtimeoutMS=300000&authSource=AppStore&ssl=false;');
或者

$options => array("replicaSet" => "test","safe"=>true,"w"=>1,"wtimeoutMS"=>2000,"authSource"=>"AppStore");
$dsn = 'mongodb://test1:test1@192.168.1.188:27017,192.168.1.187:27017';
$mongo =new MongoDB\Driver\Manager($dsn,  $options);

linux 命令连接
./mongo -host 192.168.1.188 -u test1 -ptest --authenticationDatabase Test

参考
http://cn2.php.net/manual/en/mongodb-driver-manager.construct.php

https://docs.mongodb.com/manual/reference/connection-string/#connections-connection-options

        

MongoDB Replica Set使用经验分享理论篇

MongoDB Replica Set是MongoDB官方推荐的主从复制和高可用方案,用于替代原有的Master-Slave主从复制方案。Replicat Set具有自动切换功能,当Primary挂掉之后,可以自动由Replica Set中的某一个Secondary来切换到Primary,以实现高可用的目的,不像MySQL那样需要使用第三方软件。…

一个小技巧提速你的UBUNTU

我们知道,Windows下有一个叫做虚拟内存的文件,用以弥补物理内存之不足。Linux下则是一个swap分区,叫做交换分区,其功能相当于Windows下的虚拟内存,但是效率更高。

显然,虚拟内存是从硬盘上划分一部分空间作为内存,其速度必然比物理内存慢。或许很多朋友都认为Linux系统一定是优先使用物理内存,物理内存不够时,再启用swap。实则不然,尽管物理内存仍然充裕,Linux也不时地使用虚拟内存。这个设计对于服务器而言是非常有用的,但对于Linux桌面用户而言,却使得物理内存未被充分利用,是导致系统速度变慢的原因之一。…

        

多快好省:10个技巧加速你的LinuxMint/Ubuntu

之前写过一篇关于使用Prelink加速LinuxMint/Ubuntu软件启动速度的文章--《未雨绸缪:如何加快Linux软件启动速度》

近日,在国外Linuxer的博客上看到一篇关于加速LinuxMint/Ubuntu的文章,觉得挺有帮助的,特加以整理,并经过实操检验,分享予大家。不过,大家在修改自己的系统配置文件前,最好先做好备份。

1.使用Preload预加载
Prelink类似,Preload是一个运行于后台的监护程序,探测那些常用的软件,并将其放入缓存,以起到加速的作用。在LinuxMint/Ubuntu下安装Preload很简单:
sudo apt-get install preload
Preload默认的配置对于普通用户而言已经不错了,一般不需要修改。如果有进一步掌控其的欲望,可以打开其配置文件进行修改:
sudo gedit /etc/preload.conf

2.清理APT缓存
apt应该算是LinuxMint/Ubuntu系统中使用率最高的命令了,无论安装、卸载软件,还是更新软件源缓存及相关维护,都离不开它。使用逾久,apt缓存也就变得较为臃肿,有必要清理:
sudo apt-get autoclean

3.禁用不必要的启动项
在“启动应用程序”中,根据自身实际,取消不必要的启动项,如欢迎程序、检测新硬件、蓝牙(如果本机没有蓝牙)、桌面共享等。

4.调整交换分区参数
详见《一个小技巧提速你的LinuxMint》

5.禁用休眠/挂起功能(务必慎重)
如果你不需要电脑的休眠/挂起功能,可以手动禁用它(笔记本电脑最好不要禁用休眠/挂起功能)。以管理员身份编辑配置文件:
sudo gedit /etc/initramfs-tools/conf.d/resume
将RESUME=UUID=****这行注释掉(行首加#):

6.修改grub2等待时间
无论你的电脑是否有2个或更多的操作系统,只要安装了LinuxMint/Ubuntu,就必然会安装grub2作为引导管理器。grub2启动时,会在默认的启动项上停留数秒(默认10秒),等待用户选择。我们可以把这个时间改的更短。如果是LinuxMint/Ubuntu单系统,可以直接改为0,即直接进入,无需等待。
以管理员身份编辑grub配置文件,修改GRUB_TIMEOUT项后的数字。
sudo gedit /etc/default/grub

7.使用ZRAM提高内存性能
如果你的电脑内存不太充裕(1G以下),可以使用ZRAM软件来提高内存性能。ZRAM能在系统中创建一个压缩的块设备,用于模拟一个交换分区,减少因内存不足而多硬盘的蹂躏频次。可以使用如下PPA安装ZRAM: