Submitted by gouki on 2024, June 7, 12:57 PM
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
Scala & Ruby | 评论:0
| 阅读:2358
Submitted by gouki on 2024, June 5, 9:47 AM
Laravel 官方在推上说即将推出 Laravel11,这次的推出的版本将以极致的精简,而且去掉了很多原来为了结构而分拆的文件。象 Console/Http 下的 Kernel 文件,全部去掉,而且改 bootstrap/app.php 来实现了,在路由里甚至留了一下 health 。用于其他监控项目来检查服务器是否正常。默认是:http://{hostname}/up,我在本地运行下来,执行时间是39ms,所以我就更加想尝试用11来把我当前的博客重写一下(之前写的时候 ,都是考虑直接使用原来的数据库结构,导致写了几次都发现很不 laravel,所以几次就放弃了)
Filament,是一个后台管理项目,基于 livewire 的(关于 livewire,可以查看 https://livewire.laravel.com ),号称是不用写 JS 的后台管理。之所以选择这个,是本来几年前用的是 dcat-admin,然而作者也已经好多年没更新了(这就是使用第三方开源项目的尴尬之处,作者也不太可能用爱发电,如果项目没有赢利或者找不到赢利点,这个项目很可能就无疾而终了)。而选择 filament 也是因为看中了他的生态,有完善的插件平台(有免费和付费插件)。一旦有人购买插件,会促使更多的人使用并扩展(搜了一下,其实有不少类似的,象:splade.dev / tomatophp / nova[官方] ),但目前看下来,好象还在持续更新的就是 filament 了。在推上也能看到 filament 挺活跃。所以选择它做为接下来3年的后台管理。
今天就先到这里先介绍一下这两个项目,然后准备开始写,遇到踩坑的地方也会记录一下。
项目开始其实很方便
laravel new blog,就可以初始化项目了。因为考虑到其实暂时不需要前台登录,所以没有用 breeze 和 jetstream。
项目初始化后,运行 composer require filament/filament 就可以安装好filament 了
这时候还要运行 php artisan filament:install --panels。安装完面板后,可以通过安装时指定的路由进行访问(默认是 admin,可以在运行的时候 进行设置)【备注:后期要修改的话,可以在 app/Providers/Filament/AdminPanelProvider.php 中进行调整】
但此时还不能登录,因为没有 breeze 和 jetstream ,所以连注册也没有,此时只能通过 php artisan make:filament-user 来新建一个用户。
此时,filament就已经安装完了。项目正式启动。
Tags: laravel, filament
PHP | 评论:0
| 阅读:2582
Submitted by gouki on 2024, May 20, 1:48 PM
网关上有 IPv6,小米路由器也支持 IPV6,但是国内支持 IPV6的网站太少了。导致打开各种网页都是卡成狗的样子。
把 小米的 IPV6关掉后,打开网站也立刻飞了起来
所以,暂时关掉,但没有和电信说关,这样我真要用的时候 ,也还可以立刻开始(直连电信的猫就行了)
同时,发现 IPV6下,迅雷下载速度飞起来了。
不知道是 BUG 还是确实是 IPV6不太好拦
-----
更新,又换成 IPV6啦 。估计是默认的电信的 ipv6的 dns 有问题,换成百度和阿里的,立刻就飞了起来
2400:da00::6666
2400:3200::1
备份一下:更多的查看这里:https://dns.iui.im/
Ideas | 评论:0
| 阅读:2644
Submitted by gouki on 2024, May 16, 8:35 AM
有一说一,这真是一个大难题,如果用 dig -AAA github.com +short,是可以得到 ipv6的,但如果你 dig -AAAA api.github.com +short,返回的就是空。
在这种情况下就啥也拿不到了,查了不少资料。发现确实没有,但还是有好心人做了一个项目,即反代 github的资源,并提供了 ipv6的地址,就在:/etc/hosts 里加入下面的内容
2a01:4f8:c010:d56::2 github.com
2a01:4f8:c010:d56::3 api.github.com
2a01:4f8:c010:d56::4 codeload.github.com
2a01:4f8:c010:d56::5 objects.githubusercontent.com
2a01:4f8:c010:d56::6 ghcr.io
2a01:4f8:c010:d56::7 pkg.github.com npm.pkg.github.com maven.pkg.github.com nuget.pkg.github.com rubygems.pkg.github.com
参考:https://danwin1210.de/github-ipv6-proxy.php。好歹是能用了,不是吗?
Linux | 评论:0
| 阅读:2780
Submitted by gouki on 2024, May 15, 12:36 PM
看标题知内容,本来也没想着这么急的,今天打开 Aws 的LightSail 看的时候,发现费用涨了1.5刀,原因就是从5-1开始的 ip4要正式收费了。然后这一台服务器的作用其实没有那么大,所以准备尝试着切掉ip4,只保留 ip6 (cloudflare 的域名解析可以直接支持 ipv6,比如A 记录换成了 AAAA 记录,就是 ipv6的)
但问题来了
1、我家里没有 IPv6
2、我得找一台支持 IPv6的机器进行测试一下先。
于是就想到了到 buyvm 的机器上测试,结果一看,buyvm 默认没启用,于是想办法启用一下 ipv6
1、进入管理界面,找到当前这台 VPS
2、在 networking 界面上点击 ipv6
3、生成 ipv6的地址,status 那里要变成 active,保存
理论上是这时候 是OK 了,ifconfig的时候 只能看到 fe80,即相当于127.0.0.1了。没有拿到公网 IP
4、点击 ipv6地址的最右侧齿轮,查看 networking,可以看到 gateway 和 netmask
编辑 /etc/network/interfaces ,增加静态内容
iface eth0 inet6 static
address ipv6地址
netmask 48
gateway gateway 的地址
再执行 systemctl restart networking。如果不启作用可以重启
执行:pin6 2606:4700:4700::1111,直接就看到输出啦
2606:4700:4700::1111,这是 cloudflare 的1.1.1.1对应的 ipv6
至此,搞定
Linux | 评论:0
| 阅读:2803