之前有提过,上半年我终于卸载了sentry了。主要还是它实在太重,要求必须要4c8g的机器上才能跑。一跑就占用了60%以上的资源,纯浪费这样一台机器的意义并不大。也尝试用frpc/tailscale/zerotier等工具穿透到内网,在内网搞一台配置高的HTPC来做这个,但确实效率一般(自从家里升了2000M宽带,倒是可以尝试了,直接接在路由上也挺好)
但在公网还是尝试了一下替代品,毕竟有几个项目在用着,虽然sdk在连接出错后会自动屏蔽但还是准备弄成平替版的。
看了下,有平替的,就是glitchtip了。不象sentry那么重,按官方的例子,安装完只有4个容器,啥配置的鸡鸡都能玩得起。
参考:https://glitchtip.com/
如果自己安装的话就可以看这个了:https://glitchtip.com/documentation/install,还能一键部署到其他平台
在mac 下面,如果你多屏幕 的。建议把 程序坞隐藏掉。这样有个好处,在任一屏幕 上,到指定位置都能打开程序坞。不然,你固定在 main 窗口,他不知道什么时候 就到另一个屏幕去了,而且连原因都不知道。。(适合屏幕左右排列,程序坞在最下方),程序坞放在左、右侧的都不起使用。
另一个就是快速打开屏幕 设置。按住 option+屏幕亮度,可以打开系统设置(+音量,可以打开音量设置),加 F3那个可以打开外观设置
如果你不想管理程序坞,建议安装 Raycast 这个软件,免费版的就行。可以自己调定快捷键来管理:窗口大小和位置,以及打开任意已经打开过的 APP(这个还是比较方便的,因为有些APP 因为屏幕空间小的关系,在使用的时候 会隐藏在副屏,或者第二、第三窗口,如果直接通过触摸板来切换,很麻烦。打开已存在的 APP,则可以直接激活窗口)。【cmd+tab 也可以,但 cmd+tab 有个很烦的地方1、他会激活在你不知道是哪个窗口,2你只能通过多次按 tab 来切换】而 raycast 的这个就比较方便了,支持快捷键、支持模糊搜索。
---EOF---
其实有点不想写这个的,但想想还是提一嘴吧,主要是用了这玩意之后,在 phpstorm 下面,不配合 laravel idea 的话,根本起不到太大的作用。安装了 laravel idea 之后。再 generate helper code 后。就可以当成正常的方法用了(当然,即使这么用了,带来的另一个问题就是。。refactor 的时候,不会受影响,毕竟这其实就是数组的一个 key)
macroable 的适用场景,官方介绍的更多是象 str / arr /collection 的扩展。而且 macroable 有点象是 trait。给现有类注入一个方法(这点在 yii中其实早就有了。不过macroable 也属于很早的框架,只是叫法不一样罢了。 )
macroable 的 mixin 方法,估计很多人很熟悉,是的,vue2的时候 ,也是这样来注入新的方法的。
除此之外,我们可能有时候 还会在 Model / Cache 里加入自己的用法。比如标准的 Model,肯定没有 pinyin 这样的方法, 比如我要将标题转为拼音当成 slug 来用,有几种办法:
1、直接写个方法 title2pinyin( $title )
2、在 Post 类里增加一个方法 getPinyinAttribute,返回拼音(如果有多个 Model 里有类似的要求,那要么把这个方法写成 trait,要么一个个复制)
3、Post::macro('pinyin',function(){ return .... 拼音 })
类似这几种方法,不能说孰优孰劣,但如果和 model 相关的操作是被项目的人封装成 composer 的类时,也就1和3可以用了。
说实话,要想好好用这个方法,并且形成优势。有时候还真不知道或者真没感觉倒,但这毕竟也能算是曲线救国。想想,如果在 cache 里用。可以 cache()->get('name')->toPinyin(),感觉也还不错。