修改git以往历史中所有commit的name和email

  • 白俊遥
  • 2019-01-20 22:58:10
  • Linux
  • Git
当换了新的电脑设备或者在 homestead 中使用 git 的时候;如果忘了 `git config` 设置用户名和邮箱;这样当 `git commit` 的时候就会使用设备名作为 git 用户名;或者我们还可能手抖设置了错误的用户名和邮箱;然后再一不小心推到了服务器或者 github 上后就尴尬了;这时候就需要下面的脚本来批量修改历史 commit 中的用户名和邮箱了;...
阅读全文

为laravel队列安装supervisor并配置

supervisor 是用 Python 开发的进程管理程序;python 在主流的 linux 发行版都已经内置了;pip 则是 python 的一个包管理工具;跟 php 的 composer 类似; 但是系统默认没有安装 pip ;先来安装;```bashwget https://bootstrap.pypa.io/getpip.py python getp...
阅读全文

laravel passport加密jwt格式的access_token中的sub(user_id)字段

  • 白俊遥
  • 2019-01-06 22:35:49
  • PHP
  • OAuth
在很多需求我们不希望别人知道用户在我们表中的 user_id ;但是又想用数据库的自增 id 功能;一般时候在取出用户后加密 user_id 加密即可;但是总有那么几个不经意间就可能把我们的 user_id 暴露了;比如说 laravel 的 passport ;创建一个项目用于测试;```bashlaravel new passport``` 安装 ...
阅读全文

Mac从入门到痴迷系列之phpstorm配置xdebug

  • 白俊遥
  • 2018-12-30 21:25:04
  • PHP
  • Mac
安装 xdebug```bashpecl channelupdate pecl.php.netpecl install xdebug```配置debug;```bashvim vim /usr/local/etc/php/7.2/php.ini```增加如下配置```bashxdebug.remote_enable=On```开启成功的标...
阅读全文

Mac从入门到痴迷系列之配置开发环境

  • 白俊遥
  • 2018-12-23 22:43:21
  • PHP
  • Mac
安装php7.2 替代系统自带的php```bashbrew install php@7.2brew link php@7.2 force``` 安装 composer```bashbrew install composer```设置国内镜像```bashcomposer config g repo.packagist composer https...
阅读全文

使用array_diff优雅的删除数组中指定的value值

在开发过程中经常需要删除数组中某个值;比如说有个数组;```php$names = [ '张三', '李四', '王麻子']```我们希望删除 `李四` 这个值;常规的思路是先用 `array_search` 函数获取 `李四` 在 `$names` 中的键名;然后使用 `unset` 删除;为了严谨还得判断`李四`是否存在;`...
阅读全文

macOS删除启动台Launchpad中残留的快捷图标

在使用 macOS 的过程中;偶尔的情况下会发生命名删除了应用程序;但是在启动台 Launchpad 中仍然残留有快捷图标的情况;这对于一个强迫症患者来说是一件十分痛苦的事情;大多方案是使用 sqlit3 的命令行使用sql语句从数据库中找图标删除;然鹅这个太折腾了;还好后来找到了一款软件;官网在这: http://launchpadmanager.com ;直接点...
阅读全文

php设计模式(二十一)观察者模式

在业务开发过程中多个功能会互相依赖;如果我们想在一个对象发生变化后通知和它有关联的类;比如说你做了某件事后希望可以使用邮件和短信发送通知;这时候就比较适合使用观察者模式了;不过 php 官方已经提供了 ;因此这又是一篇为了设计模式而写设计模式的文章; 结构SubjectAbstract: Subject 抽象类 示例中指 SubjectAbstract.php;...
阅读全文

php设计模式(二十)迭代器模式

迭代器模式允许用户通过特定的顺序访问容器中的数据;它将数据和顺序的实现分离;迭代器模式属于设计模式中的没落贵族;单独实现迭代器的场景很少了;比如 php 官方都提供了;这篇文章是为了设计模式而写设计模式; 结构Container: 容器接口 定义获取迭代器的方法 示例中指 ContainerInterface;ConcreteContainer: 实现 Cont...
阅读全文

php设计模式(十九)命令模式

命令模式就和名字一样;比较适合执行命令的场景;命令发送者只管调用具体命令类中的 execute() 方法;然后在具体命令类中设定命令接收者;可以消除命令发送者和命令接受者之间的耦合;并且可以方便的扩展新命令; 结构CommandInterface:命令抽象类;一般会暴露一个 execute 方法;Command:具体的命令类;设定接收者;Invoker:命令...
阅读全文