手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表查看gouki的文章

mac多屏幕下的程序坞问题以及打开系统设置的方法

在mac 下面,如果你多屏幕 的。建议把 程序坞隐藏掉。这样有个好处,在任一屏幕 上,到指定位置都能打开程序坞。不然,你固定在 main 窗口,他不知道什么时候 就到另一个屏幕去了,而且连原因都不知道。。(适合屏幕左右排列,程序坞在最下方),程序坞放在左、右侧的都不起使用。

 
另一个就是快速打开屏幕 设置。按住 option+屏幕亮度,可以打开系统设置(+音量,可以打开音量设置),加 F3那个可以打开外观设置
 
如果你不想管理程序坞,建议安装 Raycast 这个软件,免费版的就行。可以自己调定快捷键来管理:窗口大小和位置,以及打开任意已经打开过的 APP(这个还是比较方便的,因为有些APP 因为屏幕空间小的关系,在使用的时候 会隐藏在副屏,或者第二、第三窗口,如果直接通过触摸板来切换,很麻烦。打开已存在的 APP,则可以直接激活窗口)。【cmd+tab 也可以,但 cmd+tab 有个很烦的地方1、他会激活在你不知道是哪个窗口,2你只能通过多次按 tab 来切换】而 raycast 的这个就比较方便了,支持快捷键、支持模糊搜索。
 
---EOF---
 

 
 

laravel的 macroable

 其实有点不想写这个的,但想想还是提一嘴吧,主要是用了这玩意之后,在 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(),感觉也还不错。
 

第一次 node 编译前端项目到内存不够

在编译前端项目的时候报错:FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

 
真的是第一次遇到,PHP 就不会出现这种问题,哈哈
内存还是小了点。然后估计我还是要清理和合并掉一些包,不然在小内存(1G)的机器上估计还会有问题。
 
小内存的机器看来可以利用 git 的 action,在编译好之后把构建复制过去,也是个办法。

mac下ruby 安装 mysql2真是一堆坑

直接 gem install mysql2报错。确实很烦人,因为我 mysql 本身本机没有,所以就不太可能安装 mysql-client 之类的。于是安装了 mysql-client。但还是报错。无法编译。

看网上的文章是安装 mariadb,然后指定 mysql-config 就 OK 了。我已经懒得弄了。。。。。
 
你看 postgresql 多方便,安装失败的时候 ,提示你 brew install libpq,就行了(确实是在我 install libpq 后,gem 就走完了)
 
真不知道那些本地没有 mysql 的人是怎么忍受得了 mysql2这样的库的(也可能只是我受不了吧)
 
---
问了一下 gpt,他说我安装好 mysql-client 后,还要指定一下:
export LDFLAGS="-L/usr/local/opt/mysql-client/lib"
export CPPFLAGS="-I/usr/local/opt/mysql-client/include"
然后再运行就 OK 了。于是我又重新 retry 了一下。但还是失败了
--
如果要成功就参考这个吧:https://medium.com/@0x88/%E5%9C%A8-macos-%E7%84%A1%E7%97%9B%E5%AE%89%E8%A3%9D-ruby-mysql2-gem-apple-m1-intel-mac-%E9%81%A9%E7%94%A8-330f996ae3c7,我是不想再试了。要么 sqlite ,要么 pgsql 吧

Tags: ruby, mysql, postgresql

rails配置 hot-reload

 Rails 在进行开发的时候 ,默认没有 hotreload。当然其实 laravel 也没有,但 laravl 因为用了 vite,所以其实是可以使用 vite 的 hot reload 的功能。vite 里还有 laravel 的插件,直接就支持了。

 
rails 里如何配置呢?其实也很简单,在 Gemfile 中的 group :development 中增加 `gem "hotwire-livereload"`,然后 bundle install 就OK 了。
当然这只是先添加了 hotwire 的库,还需要运行 rails livereload:install,会在 application.html.erb 的header 头中增相应的 js引用
同时还修改了 config/cable.yml,增加了 redis 的相关引用。
 
这就意味着,原来没有使用 redis 的。你需要安装一下 redis 才 OK,配置完后,再打开模板进行修改保存后,会发现页面确实刷新了。
 
步骤简化成:
1、add hotwire-livereload
```
group :development do
  gem "hotwire-livereload"
end
```
2、bundle install (这里面要注意如果你注释了默认的 source,可能会失败,指定一下 source 即可,如果镜像的 source 不能下载,设置为 rubygems.org 即可)
3、rails livereload:install
4、rails server (如果有报错,可以看一下原因:可能的原因是:a. redis server 不存在 b.redis-server 不能连接)
 
 

Tags: ruby, rails

Records:305512345678910»