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

2002即将过去,记录一下

2022就这样悄无声息的走到了最后一天,今年过的很快也很慢,快到感觉都没出几次小区,一年就这么过去了,慢到感觉天天就是这样的轮回才过完了一年。

一切都是从3月底的事件开始,但事实它并没有对我们产生多大的影响,但却给全国做了一个很好的榜样,告诉其他省市应该怎么做了。这些事情和工作无关就此跳过
 
来,开始一一回顾一下:
1、记得去年的时候说今年要换laravel把博客重写一下,事实上前台确实有重写,基于inertiajs重写了一份,但因为没有好的皮肤,所以还是放弃了,后面又基于typecho把数据库重导了一份,自己写脚本自己导数据,也是因为效果不好而放弃了(中间还买了套typecho的皮肤,买完后才发现其实写的有点乱,不适合我这种简约派)。所以自己为typecho写插件写这写那,写了一堆玩意,然而还是没有好好皮肤,于是先上线了https://blog.neatcn.com,用来记录开发中的点滴
 
2、2022年学习了flutter,用来实际开发了3个APP,尝试了bloc/riverpod/getx三种state的管理工具,自己写组件也写了几十个,踩坑无数,但好歹能够用了(离精通还是有距离,这个和去年的展望还是对应上了)
 
3、把原来睿读的英语基于inertiajs前台重构了一份,后台过段时间会考虑。原来是说2022年会做一些自己的产品,而不再局限于外包的,结果疫情天天在家,把自己都给弄废了。从明天开始就以此为2023年的目标:宠物类、WMS、物业以及一个标准的CMS,做为自己公司的产品,同时会申请软著。小项目会逐步放弃。
 
如果遇到好的模板,就把博客上线成laravel的,如果遇不到好的模板,嗯,那就用inertiajs+tailwindcss+现在的界面重撸一份。
 
tomorrow is coming!2023,雄起

之前写的一个关于抓西南航空的示例和方案

下面只是一个简单的示例和步骤

1、 首页查询OMA->OGG,点击搜索,会进入结果页,默认显示为第二天的价格,点击日期可以看到每天的价格 

2、 这时候的数据有两种获取方式 
    a) 请求API,通过浏览器生成的header头来请求,可以用webdriver模拟,速度较慢,但请求一次之后,可以得到API的数据。后续可以用这个API方式来模拟请求 
    b) 点击页面后,数据存储在sessionStorage中,通过解析sessionStorage来获取时间和价格 
3、 在route map页面,任意选择两个地点,只要能够到达,基本上都是通过API来获取数据 
---时间较短,没有细弄,现有的数据均通过python+selenium (with chrome)来获取。
 
针对2.1的方法,因为不可能一直使用chrome来抓取数据这样效率太低了,现在是做了一个测试,是可以通过加载chrome的prefLog,从LOG里找到请求/shopping的数据(也就是首页点击search以后的实际请求)。将对应的参数全部拉取出来。再使用python的Requests进行模拟请求,以获取实际的json数据。
 
后续又重新拉取了一份:直接将请求第二页的数据拉出来:
 
即,这些数据就是请求 json的结果,数据首次返回的时候是存在sessionStorage,结果如下:
 
看起来并没有太复杂的,但其实确实是踩坑不少,比如,你如果是直接用selenium来请求,就会被判非法、IP地址不太正常的情况被判非法、请求速度过快被判非法、直接请求页面也被判。
也是在经历了1天多之后,才相对比较稳定的抓取了指定线路的数据,后面因为被人嘲笑说就这?然后想想就放弃了,没必要,又不是靠这个吃饭,贴一下做个记录
 

将Typecho/Wordpress/以及一些其他开源相关的迁移了

如题,将Typecho/Wordpress等一些开源相关的内容,迁移到https://blog.neatcn.com了。当前的Sablog等域名迁回来,以及备案备好后就准备放在国内了。laravel的重构版其实已经完成了80%,又废了;基于typecho的迁移其实也写好了,但因为解析code相关的内容不太完美,也是写好但使用它。

 
inertiajs for laravel,用来写博客怕影响SEO,才是我短时间内放弃的原因之一~
不管怎么样,再找一个好皮肤就迁过去了(等备案下来再说,最近上海的管局好象是放假了?)吐血中
 

Error in render: "Error: Ziggy error: 'project' parameter is required for route 'projectPage'."

 在使用Ziggy的时候,偶尔会报类似的错误:

Error in render: "Error: Ziggy error: 'project' parameter is required for route 'projectPage'."。
仔细看出错的路由,往往都是有必要参数的,比如Route::any('/test/{user:uuid}',[UserController::class,'test'])->name('test')
象这种路由,如果在JS中直接获取route().current()来获取当前路径并显示,那肯定就会报错。因为current()方法是将参数和路由一并显示出来。
route(route().current())这样的报错怎么处理呢?
其实,只要加上params参数就行了,例如:route(route().current(),route().params).toString(),为什么会有这么妖的写法?是因为在公众号的网页里,如果你要用jssdk,就必须是当前URL,如果不正确,获取的签名也就可能是失败的,因此,才想到用这个恶心的方法。当然你也可以用location.href...
 
 

找了台4c8g的机器装了sentry

sentry这个东西吧,你要不用它,其实也可以只是用它的话呢,你能收集到更详细的信息。平时的错误日志可能是会散的,比如你nginx访问返回500,这时候你还得看程序出错的异常,对应那个时间段 。然后如果当时记录的信息不够详细,你还要倒推,请求了哪些参数,能不能复现,这些参数有没有更方便的请求,带了哪些cookie,有没有session。烦

有了sentry之后呢,这些出错信息,自然也就都带过来了。至少看到出错日志的时候,我能够知道出错行数、出错内容、请求来源、以及请求的参数。甚至还有curl的代码给你。让你可以模拟请求进行复现。
 
为了装sentry。真的是很痛苦。因为之前买的小鸡都一般是2c4g。对于开发Web来说,2c4g足够了。但sentry要求,至少4c8g,20G空间。20G空间是小事。。。但4c8g真的太贵了。。。腾讯轻量云年购老用户5.5折都要1680一年了。心痛啊。
 
不过看在他可以收集:flutter、vue以及laravel的错误日志上,我还是购了一台。毕竟网页里的vue出错了。我没法让用户告诉我你打开f12把错误信息截个图我。。
 
先试试看用一年再说了。为自己的线个项目都建一个project。看看能不能改善现在的开发情况。
---
本来也想用官方的服务的,但sentry.io有时候访问还得爬梯子,速度也不尽如意,创建项目也没有那么多。所以才想了自建,就是成本高了点
 

Tags: sentry