普通视图

发现新文章,点击刷新页面。
昨天以前Keyle

风起淀山湖

2025年5月6日 00:06

现在已经是五一的最后一天假的最后一个小时了,现在对即将逝去的五一进行一个盖棺定论,那可在适合不过了。
前两天去了淀山湖露营,之所以想去淀山湖,因为这边露营,无论是环境或者是费用上,都是相当不错的。
拍了一些风景图,选几张留在博客,也有一些随手拍的人物,拍到即是有缘人,哈哈。

DSC04514

近处的护堤,有些草,但是不多,在我看来有那么两种可能。
一是附近没有人管理,搭帐篷,烧炉子的人随意踩踏。
二是这草不想活了。
大概也就这两种可能,这边露营的人真的是非常的多,基本只要来的都是露营的。

DSC04515

这天的风超级大,刮的生活垃圾乱窜,只要过几分钟,就能看到不知道什么小垃圾,飞到帐篷边上。
DSC04581

哎 ?这张图压缩后,居然翻转了,算了,翻就翻了吧。
宝宝还是很喜欢出去游玩的,现在这个年纪正是不知疲倦的玩耍的时候。
有时候我也感慨,还是刚出厂的身体好使,玩一天都不累。
DSC04513

天幕真的很难搭起来,花了20,让这边服务人员帮忙搭的,这项服务还不错,露营椅子租借也是10元一张。
来这边才知道,原来帐篷临时租借也才一百出头,对于露营比较少的人群来说,非常的友好。
在dy上说这边不许搭帐篷,有草坪的养护期啥的。实际来这边一看,你只管扎堆就行,哪有人就去哪儿搭。

515621746459994_.pic

临走的时候,收拾帐篷,发现一根铝合金支撑杆,无法回缩了,尝试良久,发现彻底收不回去了。

515631746459995_.pic

帐篷的收纳袋也在大风吹的淀山湖边不翼而飞,大概也暗示着帐篷要报废了。
抱着侥幸心理,问了下骆驼的售后,售后的意思很明确,没有售后。
果然呀!最好的售后就是没有售后,反正我以后不会买他家的东西了,告辞!

515591746459990_.pic

回到家之后,看了下手臂,脖子,我说抓一下怎么就痛,还有点痒,果然晒伤了。
这天风很大,在天幕下居然会冷,谁能想到30度出头的天气,在天幕下居然会冷。
太阳晒得暖暖的,皮肤晒伤都没有一点的感觉!看来我还是太嫩了,手动滑稽。
515601746459991_.pic

以上风起淀山湖,愉快的露营游记。

徒手造车小游戏玩法

2025年5月5日 23:27

前言

这个游戏的内核是UGC,鼓励玩家去编辑车型,赛道。创建赛道作为关卡,是分享给其他人进行挑战的。
玩法简单,W/S 键保持车身平衡,空格键加速。
内设的关卡是非常简单的,可以用来练手,真正的挑战是玩家编辑后的关卡,可以设置障碍,掉落陷阱等。

现在此项目是一个Demo,意在演示玩法,也不具有分享功能。

演示视频

编辑器演示,文末提供了素材,可供下载使用

车身编辑

  1. 点击车身或者车轮进入编辑界面,使用滚轮可缩放地图。

  2. 点击工具栏中的drag,可以拖动小车的图像,将图像拖动出画布则视为移除。

  3. 点击工具栏中的image,可以导入外部资源,点击空白处,选择需要导入的图片。
    文末提供了两张可供导入的png,当然也可以是任意png格式的图

  4. 点击Resize调整,导入的图像大小,pixel可以调整图像的像素化程度。
    调整完毕,点击Add添加到画布中,如还需要导入其他的图,重复此步骤。

  5. 车身或者轮胎编辑完成后,点击exit 可返回到主界面。
    返回到主界面可以根据需要,调整轮胎的位置。

地图编辑

  1. 点击主界面任意空白处,可以触发地图编辑,进入地编界面。

  2. 点击image,导入地图笔刷,彩虹笔刷在附件或者文末有图片,或者是任意的png,jpg图像。

  3. 在layer层级面板,可以看到已经存在的三条地形,取消show的勾选可以隐藏当前地形,默认都显示。

  4. 点击Eraser笔刷会变成橡皮擦,可以擦掉任意绘制的图案。

  5. 点击Brush开始绘制地形,需要注意的是 layer 层级一览,选中的是第几张图,绘制的就是第几张。

基础操作

使用WS控制车身平衡,W抬起,S下压

出现车厢道具,按Space键,使用,加速前进

翻车,或者掉落陷阱则判定失败

UGC内容示例素材,你可以使用这两张图进行DIY, 或者任意你喜欢的图都可以。

右键下载图片,注意保存为Png结尾。

试玩地址 https://px.vrast.cn

如游戏更新,需要清理本地缓存参考如下:
这个清理缓存与清理网页缓存不同,unity的web程序会直接使用本地存储。
清理方式如下:

机顶盒与消防课堂

2025年4月28日 16:50

大概是去年这个时候,在公司楼下遇到了一个推销携号转网的老乡,于是就说帮一把,完成一下他的业绩。
将联通的手机号转到了移动,还被附赠了一根宽带,实际上家里有一个电信宽带,但想着不拿白不拿。
安装宽带的时候,被塞了一个高清电视盒子,实际上家里根本用不着,当初跟安装的师傅说。
他是这样回答:你如果不需要,就自己去移动营业厅退,我们安装工人是不能退的。

IMG_6583

那也没办法,这个盒子一放,就放到了一年后的今天,上周六说去退,也没退成。
为什么没退成呢,我拿了个号,前面要等38位,平均一个客户要占用10分钟,真的无奈。

想着这周,抽个工作日,在节前把机顶盒给退了,不然后面每月要收费20,我也不知道现在社会到底哪些人需要机顶盒。
大家好像都在用手机,平板,机顶盒应该成为被淘汰的产物了吧 ?

IMG_6578

IMG_6580

跟宝宝在路上倒是拍了两张图,挺养眼 。

今天上午,请了半天假,参加了幼儿园开展的安全教育课堂,家长与小朋友有一些亲子活动环节。
安全教育家校联动的模式挺好的,主要还是在借机教育大朋友们,一些常备灭火器,灭火毯,放毒口罩。
还有车上需要备破窗带切割的安全锤等,都是很有意义的,这些东西平时不起眼,用的时候能保命。

qkaed0

最后无奖竞猜,以前的博文,网友总说我很神秘,哈哈。这下算是露脸了。

对了,最近没有更新博客,是业余在做小游戏 徒手造车小游戏 感兴趣可以提提意见。
等做的差不多了,再专门聊一下 哈哈。

以上,近况。

花海-生日-幼儿园

2025年4月17日 18:35

前段时间去周浦的四季花海,位置就在公司边上,去这边的路每天上班都走,去玩的当天,真的有种加班的错觉。

878342EF-B960-4B7C-B453-A478132BB753_1_105_c

这边地方比较大,是真的花海,露营,吊龙虾,烧烤,儿童乐园,骑马,喂动物,还有一些体育类的游乐项目。
总的来说基本上户外的热门活动都有,对于周末来说算是个比较不错的去处。

当然我们家也搭了帐篷,遮阳篷没搭好,就先拍了张照,没天幕,大概就这样罢。
帐篷是买的时候是750+,现在做活动500+,我觉得挺保值的,购入4年才降了两百多。

49CC79AA-7A43-4D7C-9823-B86B9A17D68C_1_105_c

露营的装备是这样的,只会越买越多,过两天,再拍拍我新购入的天幕,小椅子。
上海市内露营的地方还是挺多的,环境好的地方一般都是收费的,属于公园内。
我还想着等五一天气温度起来了,找个小溪边扎营玩一天,想必也是极好的,只是这样的地方不好找。

5B0251AA-F0AC-406B-A2AF-2A579F6C0620_1_105_c

过生日

前段时间宝宝过生日,也收到了舅舅,舅妈买的玩具,安静的玩了一下午,顺便又把红色的印泥翻出来,弄了一手。
幸好这次发现的早,早早的就把印泥收起来的。上次的教训还历历在目 -2025春节小记,当时宝宝把外婆家窗帘弄的都是红色巴掌。

幼儿园

宝宝在幼儿园被其他的小朋友欺负了 没问出个所以然,大概说是有一个小女孩,个子长得比较大,大概是打了她,或者玩的时候比较用力,宝宝是认为这个小姑娘打了她,身上倒是没有伤,估计也是吓到了。听说也有其他的家长跟老师说过,这个小姑娘欺负过他们家的娃。

本来我跟领导都准备去找对方家长了。提前一天跟陈老师打电话,老师的意思就是小朋友之间的打闹大人不要管,让学校去牵头,教育小朋友

第二天我俩早上送娃去幼儿园,约见了老师。还是前一天跟我通电话时候的说辞,当然陈老师说的也有道理,都是幼儿园的小朋友,都是很可爱的小朋友们,你能说她做错了什么吗,其实也不能,只能说将两个小朋友都往各自成长的正确方向上继续引导。

以上记录最近发生的一些印象深刻的几件事。

无锡游记

2025年4月7日 15:59

前两天游了无锡,今天抽空记录一下。
无锡之行只花了两天时间,一天时间自由行,另外一天是跟团游。

自由行是第一天,当天上午坐高铁到无锡,原本定的8点多的票,但是从家里出发堵车,到火车站要1个小时,8点出发来不及了,改到9点多的票,顺利坐上车,丛上海出发45分钟就到无锡了,可以说是非常快。

下了高铁去酒店放行李,酒店就在火车站旁边的全季酒店,打个出租车,师傅说从人行道穿过去就到了,直线距离才200米,但是我看导航上显示要1.3公里,真是坑爹的导航!最终傅很不好意思的收了10块钱起步费,载我们到达酒店。放完行李后我们步行到崇安寺附近的西新饭店,是无锡老牌饭店了,里面有很多年龄大的在吃饭,肯定是来对了,点了一个118套餐,再加了一个白丝鱼,价格还是挺美丽的。

44861744011962_.pic

吃完饭沿着崇安寺步行街走走逛逛,发现实际上是一个沿着扩建的步行街,没有寺,还有一个党支部第一办事处,广场有很多老年人在活动,感觉已经变成老年场所了,然后去买了茶颜悦色,上海没有,但是每到一个地方只要有就会喝,因为很好喝~

44851744011961_.pic

44871744011981_.pic

44901744011985_.pic

44911744011986_.pic

44921744011987_.pic

44941744011989_.pic

44951744011990_.pic

44971744011992_.pic

45001744012024_.pic

步行街走到头就是三阳广场地铁站,1号线坐一站路到南禅寺下车,先去南禅寺逛了一圈,领导烧了个香,我则是拍拍照,顺便还帮一个游客拍了几张照片。南禅寺香火挺旺盛的,然后从南禅寺走到南长街,一路上都是小吃,简直什么都有,但是领导吃了饭什么也吃不下,我还调侃说“行不行啊,出来什么也不吃”。从南禅寺走到南长街步行街入口,有点累了坐在门口星巴克休息一会,对面有个特产店,逛了一圈买了一串手链,本来自己想戴结果手太大戴不进去,怕链子崩了,领导买了把无锡的团扇,说明天拍照用。

44961744011992_.pic

在南长街一路走到头,走走逛逛拍拍照,在清明桥打卡,旁边还有个中国丝业博物馆,可惜闭园了没进去参观,再往前走发现一排别墅区,非常有特色,查了一下300多万一套,领导说好心动,好想住进去。在旁边拍照的时候一直咪咪径直向领导走过去,然后在脚上蹭了蹭,我赶紧拍了领导和咪咪的合照,很有意思,一路上还看到很多可爱狗狗。走出南长街,打车去吃了胖妹饭店,是一家人开的饭店,菜不便宜,味道尚可,都很热情,吃饭的时候有好几桌上海人,领导说每次去周边城市哪里都是家乡话,甚至比在上海听到的都多。吃完饭就打车回酒店休息了,第二天一早就要集合出发~

第二天是跟团走,跟团游有个好处,旅游团的车可以直接开进去,一路畅行,坏处也比较明显,就是比较赶时间。如果你想在短时间游览一些关键景点,并且体力较为不错,选择跟团游是可以的。跟团去的地方会比较多,热门的地方都打卡了,但也只是打了卡,要说想歇脚,那也是不行。在出发前就说明过很多次了,不能掉队,不能出现别人等你的情况。所以还是被上了压力的。

鼋头渚的景点非常大,起初的景点只是古迹庄园,后来周围由陆续开设了多家疗养院,近代又种植了樱花林。在一次次的扩建中,这边的景色也是越来越丰富。来这边玩先要坐游览车,进鼋头渚的老大门,然后直接乘船登岛,去一个人工景点。留给我们的自由活动时间只有40分钟,还没有拍几张照,就要集合登船回程,赶往下一个景点。

24D56DAB-06EC-48A5-973E-D53577B1ED72

A3E3AAF6-F0B0-49AF-B485-3F19D6013265

0681E296-8189-45B4-8CB5-DBEFE14016B2

1B90BFF3-A14B-42F6-B5D3-31AEEDB76791

0FBF5AE4-81FD-49D6-9BC9-7E8B6C5DA2EC

1AEFF02C-7288-40ED-AE5E-4FB1B41536B5

713069B6-65D6-4292-AB7E-6AE93BAE0B23_1_102_o

估计如果再去,应该会游玩一下比较集中的景点,如只去鼋头渚,不去惠山古镇。或者只去惠山玩,就不去鼋头渚,原因是这两个景点都需要刷上一天的时间,毕竟地方是很大的,我们达成的成就是一天之内刷完两个景点,也是惊人了。惠山古镇上有很多的祠堂,也就会有相当多的文字资料,有牌匾,有门联,也有一些文章,这可就触及到了我的知识盲区,甚至很多的牌匾上的字,也只能看懂个大概,另外一半靠猜。

当天人流确实大,基本在古镇上都是人推人在走,导致所有的照片只能斜线向上取景,好在还是拍了不少有趣的图。在这边发一部分,当作记录。

C9E08AD4-307E-49D5-9828-AF797830146B

12C39A70-F8F6-4F93-8D9A-BA72FCF32706_1_102_o

C3695341-8499-43DF-93CE-78038BCF83C5

804384F2-82A3-4B79-8507-25D5B16AFB3E

5DBDE562-92BE-4A39-B0A0-F54EC5EC8587

10E383C3-8367-421A-BC18-49EA71599D00

4C0D5553-71FE-4EF3-8CEF-5D8D64BFF3FA

6F608D4A-1847-450F-9250-31F2959FB2F3

A9AC878C-5D22-4A20-9857-58881A98D800

BDB8ECE2-44D8-4945-985F-4A9A21228D02

D1AA9F24-6610-4324-817B-879B01372ED4

5E7922E7-0D17-4A26-9A80-E8B0BCAAC671

惠山古镇便是我们出游的最后一站,临走时,导游跟我们聊起,你们猜猜我们无锡本地人有夜生活吗?
有人回答有,有人回答没有。
“我们本地无锡人,晚上都不出门的,都在家里辅导孩子做功课,小孩晚上都在加学习,所以我们本地人晚上都不出去”。

以上,无锡两日游。

吃鼻屎

2025年3月31日 17:15

家里的宝宝这个年纪是真的皮,喜欢打人,这段时间,还爱吃鼻屎。
真的我打下这段字,自己都在崩溃,真的是好气又好笑。
你跟她讲道理吧,她回头就跟你说,我不吃了,过了半小时,又在偷偷挖鼻屎。
是在是气不过了,揍她屁股,也没用,嬉皮笑脸的。
打了之后,我又后悔,刚才太用力了,应该轻一点的。
只能感慨说,这届小孩姐真难带。

昨天带宝玩,吃晚饭之前,奶奶还给宝宝买了一大袋薯片。
当然这个东西,给宝宝了就拿不回来了,我阻止速度还没有奶奶给出去的手快。

晚上吃 腊肠+鸡蛋+米饭 ,本来宝是很爱吃腊肠的,这次基本没吃多少。
一会儿跟我说,“吃饱了”,然后就是在我的视线死角,开始吃鼻屎。

!!!
我感觉自己带娃,也有问题,应该多准备点互动游戏,跟宝宝一起玩。
前段时间买的手工都做完了,今天该再补点货,跟宝一起做。

最近宝还学会了,我不爱你了,我不喜欢你了,诸如此类负面的话。
以前倒是没有跟我说过,看来这就是管的太多的后遗症。
要不吃就吃,反正也不是我吃,你说呢 ?

治疗肺炎

2025年3月27日 15:15

三月十八的时候,宝宝感冒了,确诊是呼吸道感染,后面的一周基本上好的七七八八了。
虽然宝宝的感冒好了,但好像又传染给我和领导,起初我们只以为是咳嗽,当时咳嗽频率挺高,就说我们俩周末去医院瞧瞧。

医生说让我俩验血常规的时候顺便拍个片子,本着来都来了的想法,我们就顺利的拍了片。
有点意外,双双确诊肺炎,我的肺部片子显示,炎症分布比较散,领导的片子则显示比较集中。
问了能不能吃药,被告知,只要是肺炎就六天起步,打吊针。

所以就在当天,医生就开了三天的吊水药,就是左氧氟沙星氯化钠注射液0.5g/瓶+ 0.9%氯化钠注射液100ml/盐酸氨溴15mg

32161743059185_.pic_hd

当天就打上了,已经十几年没有打过吊针了,到今天为止刚好已经是第六天的吊水了。
医院开药,一次只能开三天,三天药打完,重新挂号,重新开药,中间也问过,既然血常规的指标正常了,是否可以不继续吊水。
被急诊的医生告知:血液的指标正常,不代表肺部的炎症消失,所以继续按排打针。
当然,我不是专业人士,肯定是听取医生的建议。等六天满了,在拍个片子,看看肺部炎症的康复情况。

这里提一下费用,药物+CT 目前大概花费了930左右,两个人再翻个倍,两千不到。
基本上费用都被医保账户覆盖了,自费部分不超过十块钱。

我俩医保账户部分消费的部分,刚好还可以在保险报销,这样一进一出,基本上等于没有开销。
再次说明了,保险挺重要的,再就是在医院看病真的好贵。

32111743059157_.pic_hd

最近两个人的手都被打针打肿了,连续打吊水,真的是磨人。
现在就是下班回家,洗完澡就去医院,打好针再回家,基本都12点了。
另外左氧氟沙星的针剂会附带失眠的debuff,吊水过程中会痒。
领导怕睡不着又换成了阿奇霉素,倒不会失眠了,只是吊水过程会持续的痛。

以上,记录一次肺炎治疗过程。

会网购的文盲

2025年3月21日 16:54

前两天我妈妈的店里收到一堆宝宝的东西,有猫咪玩具,还有糖果,东西还挺多的。
我妈就在问东西是谁买的,我还问了领导,是不是她买的,结果问了一圈不是家里人买的。
宝说是自己买的,起初我们都没有当回事。
直到今天,我妈打开了我爸的pdd,发现购物车里面有一堆待收货的东西,刚好和前两天店里收到的东西对上了。

问宝宝,她是这样回答的,
“是我买的,老板娘人很好的,不要钱” 这里的老板娘是指pdd的商品有个讲解视频,大概率是个小姐姐。
由于爷爷的手机是免密支付,点了就直接下单,所以宝宝认为,老板娘没收她的钱,老板娘人很好。

宝的奶奶说:“想不到我家四岁的文盲也能用手机下单,哈哈哈哈”

宝宝买的玩具还是很有品味的,这个玩具我看着,也觉得挺好玩的。
反正马上就要过生日了,就当是宝宝给自己买的玩具呗。

领导说还是要教育宝宝的,教育归教育,一些多余的零食退掉就好啦。
邮费是要出一点的,不过能退货,也还不算不能挽回。

再说说免密支付支付,与现用后付,这两样设置,我觉得是不碰为好,会有很多的误下单产生。
无论是不小心碰到了,或者是养成不好的购物习惯上来说,都是不太好的。

以前也看到过新闻,说小孩用父母的手机玩游戏,结果产生了天价账单。
这中间其实透露出一点,就是作为大人,对自己的消费账单的监管漏洞,特别是这个电子支付盛行的当下。

保险过期

2025年3月18日 21:56

周日带娃去医院看病,又感冒了。周六夜里发了高烧,周日白天倒是没发烧。
这次医生还开了雾化的药,我们是第一次做雾化的小朋友,居然还很乖乖的配合。

三岁四岁的宝宝,谁都不怕,天不怕地不怕,还很抗拒睡觉别人给她盖被子。
所以感冒也不是一次两次了,即使晚上起来给她不停的盖被子,也是会被踢掉。
突然想起了杜甫的:“娇儿恶卧踏里裂” ,大概如此。

宝宝发烧,一般都是夜里,体温上涨的特别快,容易过热,但是吃个美林大概能睡一个整觉。
这里有个小贴士:美林4-6小时,才能用一次 且体温超过38.5,冰敷贴没有这个限制,所以趁早用可以。

现在孩子发烧,基本上我都不是很担心了,心里总想着,过一天就好了,也就放松下来了,焦虑毫无作用。
事实也基本上如此,每次发烧都是1-2天内完全退烧,只是咳嗽会持续一段时间。
小孩还跟大人不一样,小孩子的恢复力会强于大人,大概是人年纪上去了,身体的机能不如从前。

周日我还专门让医生开了个病毒检测,看看是不是流感,还好不是流感。
流感的康复期会拖的更长,而且发热会反复,只要不是流感,都好说。

今天准备用沪儿宝报销一下看病的费用

你猜怎么着,它提示我,不在保单生效时间。
我想着怎么会?我明明记得去年买了呀,我看短信,1月份过期的!
现在的各种滥用短信消息通知,我都没注意到手机上何时收到了这封短信息。

算了吃一堑长一智,现在就给续费上。
对于小孩子的保险来说,上海这边基本都是社保卡+其他保险 的配置方式。
任何理财型的健康保险,我觉得都是没必要的,既然买保险都是想容易理赔的最好。

以上,记录一次娃娃感冒与保险过期的经历,以后一定要注意看下通知短信。

你见过石磙吗

2025年3月13日 15:42

我出生在农村,但是自幼便随父母在城市生活,没见过石磙。
但是我工作之后的十余年里,每到一家公司都能见到活着的”石磙“ 。
小时候不懂,我妈说不做事的人就是 ”石磙“。
我问为什么,她说:“推一下动一下的那就叫石磙,你不推他就不会动”。

在职场流传一个都市传说,是绝对不能点破别人的身份。
当你说出了,“这个人怎么是个石磙 ?!”,很有可能你就会被干掉。
毕竟人家可能是不需要工作,但是你是真的需要。

”石磙“ 人是木讷的,观察你身边的这种人。
你会发现这种人的共情能力极低,就像行走在职场的npc。
这种人套着工具人的马甲,却无法主动思考任何工作内容。

最后,你见过石磙吗?

给雪花特效添加自动开启与关闭

2025年3月11日 13:58

冬天的时候给博客加了下雪特效,在这一篇博客的文末提了一嘴 –感冒了
当时当时忘记加自动关闭的功能了。
今天抽五分钟补一下,需要脚本的自取,附在本文末了。
说起为啥想起来要补关闭特效的功能,还是在「灰常记忆」的博客中,看到了「网友小宋」的留言才记起。

看了下最近的天气,反复无常,又在下雨。
上海的气温一如既往的不稳定,谨防感冒,注意添衣。

后记

我又修改了脚本,并且添加了樱花🌸效果,主要的修改为:

  1. 去除定时关闭,以后尝试不同的季节用不同的树叶飘落效果
  2. 增加樱花图片/将雪花地址更新为樱花图片地址
  3. 后面尝试添加天气效果,先待定
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
(function() {
// 配置参数
const snowflakeCount = 10; // 雪花数量
const minSize = 15; // 雪花最小尺寸
const maxSize = 30; // 雪花最大尺寸
const windEffect = 40; // 风的强度(越大,飘动越明显)
const snowflakeImage = 'https://vrast.cn/img/snow.png'; // 外部雪花图片路径

// 创建雪花元素并设置随机属性
function createSnowflake() {
const snowflake = document.createElement('div');
snowflake.className = 'snowflake';

// 随机大小
const size = Math.random() * (maxSize - minSize) + minSize;
snowflake.style.width = `${size}px`;
snowflake.style.height = `${size}px`;

// 随机水平位置、动画速度
const leftPosition = Math.random() * 100; // 随机水平位置
const animationDuration = Math.random() * 3 + 3; // 动画持续时间
const delayTime = Math.random() * 5 + 's'; // 延迟时间

snowflake.style.left = `${leftPosition}vw`;
snowflake.style.position = 'fixed'; // 使用 fixed,避免影响页面滚动
snowflake.style.top = `${-size}px`; // 初始位置设置为视口外的顶部
snowflake.style.pointerEvents = 'none';
snowflake.style.userSelect = 'none';
snowflake.style.zIndex = 9999;

// 设置雪花图片
snowflake.style.backgroundImage = `url(${snowflakeImage})`;
snowflake.style.backgroundSize = 'cover'; // 图片铺满雪花容器

// 添加动画效果
snowflake.style.animation = `fall ${animationDuration}s linear infinite`;
snowflake.style.animationDelay = delayTime;

// 随机旋转角度,模拟风吹效果
const rotateAngle = Math.random() * 360;
const translateX = (Math.random() - 0.5) * windEffect; // 风吹偏移
snowflake.style.transform = `rotate(${rotateAngle}deg) translateX(${translateX}vw)`;

// 将雪花添加到页面
document.body.appendChild(snowflake);
}

// 初始化CSS样式
function initCSS() {
const style = document.createElement('style');
style.innerHTML = `
/* 雪花的样式 - 使用图片 */
.snowflake {
position: absolute;
background-color: transparent;
opacity: 1;
transform-origin: center;
pointer-events: none;
user-select: none;
}

/* 雪花下落动画 */
@keyframes fall {
to {
transform: translateY(100vh); /* 让雪花从顶部飘落到屏幕底部 */
}
}
`;
document.head.appendChild(style);
}

// 初始化雪花数量
function initSnowfall() {
for (let i = 0; i < snowflakeCount; i++) {
createSnowflake();
}
}

// 初始化函数
function init() {
initCSS();
initSnowfall();
}

// 获取当前日期对象
const currentDate = new Date();
// 获取当前月份,注意 getMonth() 方法返回的月份是从 0 开始计数的,所以 0 代表 1 月,11 代表 12 月
const currentMonth = currentDate.getMonth();

// 判断当前月份是否为冬季
function isWinter(month) {
// 11 代表 12 月,0 代表 1 月,1 代表 2 月
return month === 11 || month === 0 || month === 1;
}

// 调用函数进行判断
if (isWinter(currentMonth)) {
// 启动雪花效果
init();
}
})();

小孩子的争执

2025年3月10日 14:38

小孩子之间的争执比大人多的多,特别是自己的孩子跟其他亲戚家的孩子一起玩的时候。
大的孩子是真的一点也不让小的呀,也不是差一两岁,有的差了6~9岁,还是这样。

宝宝想要玩具,抢不过就会哭,看到马上要哭了,这时候我都会下场去干预下。
我侄子大9岁,侄女大我家的娃6岁,他们在玩的时候我就会说:

“没事我家宝宝不会拿走你的玩具,只是玩一下,如果玩坏了我给你买两份新的”。

我家娃倒是从来不拿走别人家里的东西,这一点我觉得教育的很好。
不是自己的东西玩一玩就算了,要拿走别人的东西,需先要征得主人同意。

长辈说,小孩打打闹闹很正常,一会儿就和好了,让我不要给小孩买东西,玩坏就玩坏,太见外不好。
后面我再去,我就让他们闹去,也再不说什么给大的娃买新玩具。

大孩子基本上不会带小的玩,只是小娃娃乐此不疲的当个跟屁虫。
一般情况就是小的皮,大的不理小的,小娃娃闯祸了,就轮到大的挨骂。
原因当然是没有看好弟弟妹妹,实际大的根本就懒得理睬小娃娃,自己玩自己的。
小娃娃,看了之后就要模仿,模仿不成反倒是闯祸不少。
可能是把杯子里的水倒在地上,也可能是把玩具印章,印到墙上。

现在我也懂了,为什么,家长一般比较宠家里最小的那个。
现在的独生子多,导致家里娃每次都想去找小姐姐玩,玩了之后又不开心。
博客圈有两娃的家庭,应该没有这个烦恼吧 ?反正都是自己家娃,也没有出去找玩伴的需求。

QQ20250310-142943

周六跟宝宝去公园玩,她在玩吹泡泡,有个路过的小女孩,伸手就要拿宝宝的。
我问宝宝
“你想给她玩吗”
“想” 点点头
“那你让妹妹玩会儿吧”
“她还在玩,不还给我了” 过了几分钟
“宝宝这是你的东西,你想玩,你就要说,这是我的东西,还给我”
“这是我爸爸给我买的,你还给我” 跟小女孩说了之后,顺利的把东西拿回来了。
晚上回去的路上,还悄悄跟我说 “爸爸,我今天大方吧,我把玩具借给妹妹玩了”

以上,记录一些育儿故事,小树苗一天比一天大了,感慨甚多,但就记录到这吧。

姐妹相亲趣事

2025年3月7日 17:45

最近肖师傅在工作中一直在开发新功能,身心比较疲惫,又迷恋上了王者中的刘禅,改名为小霸王爱飙车,主要玩法就是铭文点冷却,出肉装后和敌方秦王绕柱,顺带把塔退了,没事就推塔,从不参团,肖师傅说从中获得了巨大的快乐

所以今天由我来给大家分享点我姐妹的相亲八卦~

小c是有点社恐的女孩,小c妈妈介绍了一个男孩,两人在VX上聊的还可以,但是男孩白天基本上不找小c聊天,基本要半下午或者晚上才出现,有一次男生半夜还找小c聊天,两个人的兴趣爱好也不是特别合得来。随后男生约小c吃饭,出门前还很积极,还询问小c说能不能提前出来,然后两人吃饭时,由于都比较社恐,小c很努力的找话题,但是男孩一个话题都不着,小c很尴尬,找话题的时候礼貌的问了一下之前谈过女朋友没有,于是对方说之前谈了1个女朋友,谈了4年分手了,说前女友跟他出去玩的时候从来不穿裙子,但是和闺蜜和去男性朋友家玩的时候都穿了裙子,男孩很生气这件事,男孩对前女友好像念念不忘,追忆颇深,一直在和小c说他前女友的事情,吃完饭两人就各回各家了,然后小c礼貌问男孩吃饭多少钱,男孩的回答如下:

我觉得觉得男孩真的很搞笑,吃饭时候话题不找,一直在追忆前女友,饭钱倒是算的清清楚楚,生怕自己吃亏了,感觉不太尊重小c,于是我和肖师傅都pass了这个男孩。本以为两人很明显都没看上,不会再联系,结果男孩第二天晚上莫名其妙说了给小c发了2条微信:

小c惊呆了,不知道对方什么意思,还跟我说是不是食之无味弃之可惜,还要把她当备胎,小c很礼貌的回复了一些话,随后男人又没回了,之后小c就跟妈妈说拒绝对方并删除了,她说不然很尴尬留着VX也不会在说话了。

肖师傅对这个男的评价是:连顿饭都不请小姑娘吃
我对在这个男的评价是:pass,下一个

近期的所思所想

2025年2月25日 14:22

最近感冒

终于是逐渐好了,大概持续了约有一个月了,这个后遗症,也就是咳嗽,持续的时间可长了。
跟前面的几次感冒类似的话基本上都持平,大约要一个月才能好透,我是看出来了,病毒主要攻击的就是呼吸道。
柿子要挑软的捏,病毒是懂的,我的喉咙一直都不怎么好,有慢性咽炎。
最近在喝领导买的「胖大海罗汉果橘红润喉茶」,不过这个茶真的是难喝,先喝两盒再看看效果。

幼儿园

开学了,老师说要我们小朋友家长都准备好牙刷,带到幼儿园。
我觉得这一点倒是非常不错,小朋友在家刷牙都是懒得自己动手,知道家里人会给她刷。
老师推荐的是儿童牙刷「恐龙医生」,到货后我一看,比我之前买的牙刷要质感好一些,而且比较小巧。
带牙刷到幼儿园,小朋友们一起集体刷牙,没有了家人的干扰,也就自己动手了,还能学学怎么科学刷牙。
所以上幼儿园还是有好处的,真的能学到东西,我家娃以前两岁半还要用尿不湿,也是到幼儿园才能戒掉。
看来不是娃娃不给力,还是家长没有学会科学的教育方式,这点要反思下。

我妈过生日

就在前两天,娃娃在生日宴上闹个不停,十几号人看她在那边哭唧唧。
下午回去我问:

“为什么你中午吃饭的时候要哭呀?”
“奶奶过生日,不给我过生日,所以我就哭”

搞了半天,宝宝以为今天奶奶自己一个人过生日,不给她也过生日,所以要哭唧唧。
这是一个三岁小朋友的内心世界,我只告诉宝宝 “哈哈哈” 用来表达我的心情。
孩子长大点就好了,现在这个阶段闹就闹吧,三岁四岁狗嫌的年纪,这很正常。

关于deepseek的文章

这段时间我发了很多,前些年在流行web3,与ar相关我都没怎么写。
原因是ai在身边落地方案太多了,而且已经在影响我们的日常生活。
教育行业估计要被大洗牌,最先冲击的大概是语言类的教培班,这类培训班的生存无疑会更加的困难。

接下来就是语数的课程培训班,这方面利用好ai视觉基本上可以实现无痛教学。
对未来我们养娃来说,我觉得是利好消息,我是愿意每个月花费了20-50$去购买一些带视觉的ai服务的。
这类服务比较明显的就是,可以实时帮助娃去批改作业,纠正错误,这个不错。
如果这个钱花在培训上,可能就是一节课的价格,当然我并不是质疑线下教学,只是在家时间上更自由而已。

刷到一个采访

视频是讲了一个自媒体,去采访另外一个香港打工的,广州青年。
这个青年在视频中自我介绍,在内地读了大学,在香港读了个自认为很水的研究生,告诉观众拿到学历可以在香港工作了。
然后就是一些生活开销,这部分就是自媒体想要的爆点,简单总结就是房价高,非必要不外出,吃最便宜的饭攒钱。
后来这个视频火了,这个被采访的青年也被开了,我想他也没想到说了点真话,他居然会面临失业。
我并不对所谓香港生活有向往,记录这个例子,只是提醒自己公共场合谨言慎行,特别是现在这个人人都是自媒体的时代。

好了,就写这么多,以上近期的所思所想。

上有政策下有对策

2025年2月20日 16:38

前几天的事儿,今天才想起来写,这事儿一想起就觉的好笑,所以就在此记录。

先是在群里收到一条 “紧急通知” 如下,让家长带孩子看地方台的幼儿开学第一课。

看视频需要拍照留下 “证据” ,并且需要写观后感文档发送到群里。

由于我是比较后才看到这条消息的,所以就先看看其他的家长写的观后感,此处只例举其中一个写的比较多的。

上图节选了部分段落,说在开学第一课学习到了 消防知识,还有网络诈骗,交通安全 真的内容丰富。

然后我就跟娃一起看了老师发送的视频链接,结果你猜怎么着。

视频里只讲了小朋友在幼儿园的心理健康和一些注意事项,跟大部分家长提交到群里的文档中描述的内容,风马牛不相及。

由此可以得出结论,其他的人发的文档都是自己编的,细看之下还是ai写的。

不过拍摄的图都一板一眼,小朋友们端坐,这可都是三岁多的娃娃们,四岁都没有。

我赌一个棒棒糖,小家伙们摆拍最多30秒,就坐不住了。

这大概就叫上有政策下有对策罢。

通过js调用ollama的api

2025年2月18日 23:23

如果你有这个需求可以参考 ollama 的官方api与本篇文章,官方的例子里很多都是用了curl进行演示。
https://github.com/ollama/ollama/blob/main/docs/api.md

在写脚本之前需要先确认本地的 ollama 网络服务是否正常启动。
http://localhost:11434 通过访问本机的11434端口确定是否ollama的服务正常运行

值得注意的是在浏览器中访问本地 index.html 文件时,一般会遇到 CORS(跨源资源共享)策略限制,导致无法调用本地的 Ollama API,所以你需要在本地搭建一个http服务器,如果没有这个服务器的话,可以使用下面这个VSCode插件。

右键你的html文件启动本地http服务器,现在就可以很方便的调试你的页面,好用推荐。

既然我们已经拿到了官网的API文档,那么下面要做的事很简单,将这个文档丢给deepseek,或者是其他的ai,让打工ai给我们造一个前端界面就用。

分析下核心代码,参考了文档中使用curl发送json的测试用例,写了一个post方式提交数据到特定的地址。

参考代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>与 Ollama 交互</title>
<style>
body {
font-family: Arial, sans-serif;
}
#messages {
border: 1px solid #ccc;
padding: 10px;
max-height: 300px;
overflow-y: auto;
}
#inputMessage {
width: 100%;
padding: 10px;
margin-top: 10px;
box-sizing: border-box;
}
#sendButton {
margin-top: 10px;
padding: 10px 20px;
background-color: #4CAF50;
color: white;
border: none;
cursor: pointer;
}
#sendButton:hover {
background-color: #45a049;
}
</style>
</head>
<body>
<h1>与 Ollama 交互</h1>
<div id="messages"></div>
<textarea id="inputMessage" placeholder="输入你的消息..." rows="3"></textarea>
<button id="sendButton">发送</button>

<script>
const sendButton = document.getElementById('sendButton');
const inputMessage = document.getElementById('inputMessage');
const messages = document.getElementById('messages');

// Ollama 服务的 URL,假设它运行在本机的 11434 端口
const ollamaApiUrl = 'http://localhost:11434/api/chat';

sendButton.addEventListener('click', async () => {
const message = inputMessage.value.trim();
if (!message) return;

// 显示用户发送的消息
addMessage('你:' + message);

try {
const response = await fetch(ollamaApiUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'deepseek-r1:8b',
messages: [
{ role: 'user', content: message }
],
stream: false
})
});

if (response.ok) {
const data = await response.json();
const reply = data.message && data.message.content ? data.message.content : '无回复内容';
addMessage('Ollama:' + reply);
} else {
addMessage('错误:无法与 Ollama 服务通信');
}
} catch (error) {
addMessage('错误:' + error.message);
}

inputMessage.value = ''; // 清空输入框
});

function addMessage(text) {
const messageDiv = document.createElement('div');
messageDiv.textContent = text;
messages.appendChild(messageDiv);
messages.scrollTop = messages.scrollHeight; // 滚动到底部
}
</script>
</body>
</html>

以上,记录通过js调用ollama的api。

一行代码在Mac上部署deepseek

2025年2月17日 23:13

前两天发了一个关于Ollama 项目的介绍的文章,今天就接着说一下通过几行代码在本地部署DeepSeek,当然如果你是windows系统也是差不多的步骤,都是控制台运行,之所以在这边都是推荐直接跑控制台是因为这样占用系统内容更少,减轻跑ai时候的系统压力。

圣兽镇楼

打开ollama软件之后,在控制台运行指令: ollama run deepseek-r1:8b
在此之前你需要先安装Ollama,这个比较简单,只需在官网下载(https://ollama.com/ ),运行即可。
随后控制台输入下面指令,运行 deepseek-r1:8b 版的大模型,如果未下载,会直接进行下载。

下图中使用的这个版本的模型较为小巧,也够日常使用,在ai思考的时候,我看下了gpu的内存占用情况,峰值大概接近90%左右。

目前我的Mac mini配置为 M4/24g/1T 版,运行起来没有卡顿,并且不影响其他工作,如果你也有类似需求,可以无痛部署一个本地ai ❤️。

下面欣赏下8b小模型生成的文章:

一文讲清楚Ollama项目

2025年2月13日 17:31

Ollama 到底是个啥东西呢,这一篇小白文给你讲清楚。

一、Ollama 项目的起源

在人工智能领域蓬勃发展的浪潮中,大语言模型(LLM)展现出了惊人的能力和潜力,然而,传统的模型使用和部署方式却存在着诸多限制。Ollama 作为一个专注于本地化部署大型语言模型(LLM)的开源框架应运而生,其诞生背景可以从以下三个关键方面进行深入剖析。

技术民主化需求

随着大语言模型如 Llama、GPT 等的相继问世并广泛应用,人工智能技术开始逐渐走进大众的视野。但与此同时,传统的云端部署模式暴露出了明显的弊端。这种模式严重依赖厂商提供的 API,用户在使用模型时需要将数据上传至云端进行处理。这不仅存在着数据隐私泄露的风险,使得用户的敏感信息可能会被第三方获取和利用,而且还需要支付高昂的使用成本。对于许多注重数据隐私和成本控制的用户来说,这种模式显然无法满足他们的需求。因此,市场上对于能够实现本地化、隐私可控的模型运行方式产生了强烈的需求。Ollama 的出现正是为了满足这一需求,它为用户提供了一种在本地运行大语言模型的解决方案,让用户能够更好地掌控自己的数据和成本。

简化部署复杂性

早期的开源大语言模型在部署过程中面临着巨大的挑战。手动配置环境、处理各种依赖项以及调试模型参数等操作,对于非专业用户来说几乎是难以完成的任务。这些复杂的步骤不仅需要用户具备深厚的技术知识,还需要花费大量的时间和精力。这使得许多有使用需求的用户望而却步,限制了大语言模型的广泛应用。Ollama 针对这一问题进行了深入的研究和创新,通过巧妙地封装模型权重、推理代码和微调脚本,实现了“一键运行”的功能。用户只需要简单地执行相应的命令,就可以轻松地启动和运行模型,无需再为繁琐的部署过程而烦恼。这种简化的部署方式大大降低了技术门槛,使得更多的用户能够方便地使用大语言模型。

通过Ollama官网下载的app实现一键下载大模型

社区驱动与开源精神

Ollama 的发展离不开开发者社区的积极推动。开发者们深刻认识到开源的重要性,他们希望通过开源的方式让更多的人参与到项目的开发和改进中来。结合 Docker 容器化技术,Ollama 将模型打包为标准化的模块(Modelfile)。这种模块化的设计使得模型可以在不同的平台上进行轻松的部署和运行,实现了跨平台的兼容性。同时,Ollama 的开源特性吸引了大量的开发者和贡献者,他们来自不同的领域和背景,各自发挥着自己的专业优势,为项目的发展贡献着自己的力量。在社区的共同努力下,Ollama 不断地进行迭代和优化,功能日益完善,性能也得到了显著的提升。

二、为何选择 Ollama 运行大模型?

1. 简化部署流程

  • 开箱即用:Ollama 提供了极其便捷的使用方式,用户只需通过简单的命令“ollama run <模型名>”,就可以自动下载并运行所需的模型。例如,输入“ollama run llama2”,系统会自动完成模型的下载和启动过程,无需用户手动处理复杂的依赖关系或进行繁琐的环境配置。这种一键式的操作极大地节省了用户的时间和精力,让用户能够快速地开始使用大语言模型。
  • 预构建模型库:Ollama 拥有丰富的预构建模型库,其中包含了 Llama、Mistral、Qwen 等主流的大语言模型。这些模型覆盖了从 3B 到 70B+ 的参数规模,能够满足不同用户的需求。无论是对于需要轻量级模型进行快速测试的开发者,还是对于需要高性能模型进行复杂任务处理的企业用户,都可以在模型库中找到合适的模型。用户可以直接调用这些预构建的模型,无需自己进行模型的训练和优化,进一步降低了使用门槛。
  • 跨平台支持:Ollama 具有出色的跨平台兼容性,它支持 macOS(特别是针对 Apple Silicon 进行了优化)、Linux、Windows(预览版)以及 Docker 容器化部署。这意味着用户可以根据自己的硬件环境和使用需求选择合适的平台进行模型的运行。无论是在个人电脑上进行开发和测试,还是在企业的服务器集群中进行大规模的部署,Ollama 都能够提供稳定可靠的支持。

2. 高效资源利用

  • 权重量化技术:Ollama 采用了先进的权重量化技术,支持 INT8、INT4 等低精度量化方式。通过这种技术,模型的显存占用可以降低至原始模型的 ¼。这使得在消费级硬件上,如配备 16GB 内存的 Mac,也能够运行 65B 参数的大型模型。权重量化技术不仅减少了对硬件资源的需求,还提高了模型的运行效率,使得更多的用户能够在自己的设备上运行大语言模型。
  • 分块加载与缓存机制:为了避免一次性占用过多的显存,Ollama 采用了分块加载的机制。在处理长文本时,模型会将文本分成多个块进行加载和处理,从而有效地减少了显存的占用。同时,Ollama 还引入了缓存机制,它会缓存历史上下文的计算结果。当再次需要使用这些上下文时,系统可以直接从缓存中获取,无需重新进行计算,大大提升了长文本处理的效率。
  • GPU/CPU 灵活调度:Ollama 支持 NVIDIA/AMD GPU 加速,利用 GPU 的强大计算能力可以显著提高模型的推理速度。同时,在没有 GPU 或者 GPU 资源有限的情况下,Ollama 也可以在 CPU 模式下运行。在 CPU 模式下,它通过 Metal(针对 Apple Silicon)或分布式推理等技术对性能进行优化,确保在不同的硬件环境下都能够实现高效的运行。

3. 隐私与安全性

  • 完全离线运行:Ollama 支持完全离线运行,这意味着用户的数据无需上传到云端进行处理。在一些对隐私要求非常严格的场景,如医疗、金融等领域,用户的敏感数据可能包含了大量的个人隐私和商业机密。使用 Ollama 可以确保这些数据始终在本地进行处理,避免了数据泄露的风险,满足了这些领域对数据隐私的严格要求。
  • 企业级定制:对于企业用户来说,Ollama 提供了私有化部署的解决方案。企业可以根据自己的需求,结合本地知识库(如 FastGPT)构建专属的 AI 应用。这种定制化的部署方式可以有效地避免敏感信息的泄露,同时还能够根据企业的业务需求对模型进行优化和调整,提高企业的竞争力。

4. 灵活扩展与定制

  • 模型微调支持:Ollama 集成了 LoRA、Prefix Tuning 等先进的模型微调技术。通过这些技术,用户只需要少量的数据就可以对模型进行微调,使其更好地适配垂直领域的需求,如法律、医疗等。这种微调方式不仅可以提高模型在特定领域的性能,还可以减少数据收集和标注的成本,提高开发效率。
  • 自定义模型导入:Ollama 支持从 GGUF、PyTorch、Safetensors 等多种格式导入私有模型。用户可以将自己训练的模型或者从其他渠道获取的模型导入到 Ollama 中进行使用。同时,用户还可以通过 Modelfile 对推理参数进行定制,根据自己的需求调整模型的行为和性能。
  • API 兼容性:Ollama 提供了类 OpenAI 的 REST API,这使得它可以无缝对接现有的工具链,如 LangChain、AutoGPT 等。用户可以利用这些工具链快速地开发和部署基于大语言模型的应用程序,无需对现有的代码进行大规模的修改,降低了开发成本和难度。

5. 生态工具集成

  • 可视化交互:为了提升用户体验,Ollama 与多种可视化工具进行了集成,如 Open WebUI、Chatbox 等。这些工具提供了类 ChatGPT 的图形界面,用户可以通过直观的界面与模型进行交互,无需使用复杂的命令行操作。这种可视化的交互方式使得大语言模型的使用更加方便和友好,吸引了更多的用户。
  • 分布式与并发处理:在高并发场景下,Ollama 支持多 GPU 并行推理和异步请求处理。通过多 GPU 并行推理,系统可以充分利用多个 GPU 的计算资源,提高模型的处理速度和吞吐量。异步请求处理则可以优化系统的响应性能,确保在大量用户同时请求时,系统能够快速地响应和处理。

三、Ollama 的核心价值

Ollama 凭借其极简部署、隐私保护和资源优化这三大核心优势,在本地运行大语言模型的领域中脱颖而出,成为了行业内的标杆工具。

其极简部署的特性使得用户可以轻松地在本地环境中运行大语言模型,无需具备深厚的技术知识和复杂的操作技能。这降低了使用门槛,提高了开发和应用的效率,让更多人能够参与到人工智能的开发和应用中。

Ollama 提供了完全离线运行和企业级定制的解决方案,确保用户的数据安全和隐私。这对于对数据隐私要求严格的行业和用户意义重大。

资源优化是 Ollama 的另一个重要优势。通过权重量化技术、分块加载与缓存机制以及 GPU/CPU 灵活调度等技术,能在有限硬件资源下实现高效的模型运行,降低对硬件的要求,提高资源利用率。

开源特性和活跃的社区生态为其发展提供了强大动力。开源让更多开发者参与项目开发和改进,不断注入新活力和功能。活跃的社区为用户提供交流和学习平台,用户可在社区分享经验、解决问题,共同推动大语言模型技术发展。

Ollama 推动了大模型技术的普惠化,使开发者、企业乃至个人用户能以低成本探索人工智能应用的潜能,为人工智能的普及和发展做出重要贡献。

如此药店

2025年2月12日 22:53

昨天去某丰大药房,买药,目标是补货奥司他韦和消炎药,头孢,氧氟沙星都行。

去药店的时候,白大褂大妈让我们等一下,她正在卖货,一个五十岁左右的大叔,正在她这边买保健品。
我倒是知道保健品可以用医保的钱买,但是我没想到,这大叔居然被忽悠着买了四千多的保健品。
具体是不是“保健品”这个分类我不太明白,也可能是营养品,当场我看这位大叔是刷医保卡的。

等他们忙好我问,“你这边有奥司他韦吗?” 领导在网上买的二十多块的奥司他韦已经快吃完了。
“我建议你吃,抗病毒中药” 药店的白大褂大妈说。
听到这我其实是挺生气的,你谋财没问题,算盘珠子都要蹦到我脸上了,未免有点不尊重人了。
“我不要抗病毒中成药,我就要奥司他韦” ,我再次强调。
“好,我拿给你,这个不可以刷社保的哦”
“可以” 我拿出手机,结果刷了我45块,
“你这边有头孢吗?“
“没有,但是有消炎中成药” 给我递上了三盒中成药,说是消炎去火的。
我说现拿一盒,结账一看价格76。扣掉社保,付7.6。

对了昨天晚上吃消炎的中成药,这药没用,早上五点喉咙肿有有咳嗽痛醒了。
为啥要记一下这个事情,单纯的觉得智商被按在地上摩擦了,用以警醒,睡不着一半是被气的。
以后我只在网上和医院买药,giao

《唐探1900》观后感

2025年2月7日 15:28

春节看了两场电影,分别是《唐探1900》和《哪吒之魔童闹海》
首先,恭喜哪吒2荣登中国影史票房第一!但是今天还是来讲讲《唐探1900》:历史迷雾中的华人抗争史诗,在辞旧迎新的光影盛宴中,《唐探1900》以其独特的历史纵深感令人耳目一新。影片巧妙糅合唐人街探案、印第安文化、清廷秘史三条叙事线,在旧金山淘金热的时代背景下,谱写了一曲华人劳工的悲壮史诗。

故事梗概

故事发生在1900年美国旧金山,议员候选人格兰特的女儿爱丽丝被开膛破肚惨死于剧院后巷中,同时旁边还有被割喉而亡的印第安族长六手,而嫌疑人是华人街协盛堂白堂主的儿子白振邦,因有路人指出,事出当晚白振邦出现过在剧院后巷中,且第二天早上6点出现在码头欲潜逃,此案轰动全美,称凶手为开膛手杰克。白堂主想找福尔摩斯帮忙给儿子脱罪,而此时在福尔摩斯身边当翻译的秦福被福尔摩斯忽悠来破这桩案子,听到事情原委后秦福觉得自己解决不了想逃离,恰巧在从窗户逃离时碰到了想找杀父仇人的印第安族人阿鬼,由于族里的先知珍珠说第一个撞到他的人可以帮他找到凶手,于是他盯上了秦福,无论秦福躲到哪里,都能被他发现,最终被带回了印第安族,经过一顿神奇操作以及阿鬼的身世揭露,秦福与阿鬼踏上了探案之旅。

彼时的中国还是清朝末期,慈禧太后指派费洋古前往美国抓革命叛党郑仕良,但美国人民因为开膛手杰克事件非常抵制华人,刚下船到就被扒光衣服检查,还被骗走了行囊,只能到协盛堂求助白堂主,正好白振邦被保释回到堂内,而秦福和阿鬼查到了一些线索,需要帮白振邦脱罪需要问出案发当晚他去了哪里,一行人全在堂内碰头了,可想而知是画面是混乱又搞笑的。最终费洋古没抓到人,郑仕良说出了案发当晚和白振邦一起去爱尔兰帮会偷枪的事实。

局势还未明朗之际,中医医馆的中医林月娥以同样手法被杀害,秦福和阿鬼经过调查发现凶手不是同一人,作案手法不熟练,只是模仿作案,而后从中医馆老板口中得知白振邦与爱丽丝是恋人关系,经常来林月娥这里约会,且林月娥诊断出爱丽丝怀孕了,此时白振邦和郑仕良想通过在美国大火的魔术师金陵福回国之际运输枪支,秦福和阿鬼来找他们后,白振邦坦白,并告知那天早上6点在码头是为了和爱丽丝私奔,随后在离开剧院时遇到费洋古,双方大打出手,阴差阳错下帮助金陵福完成了一场精彩绝伦的魔术表演,但费洋古也看到了枪支所在,离开后去了爱尔兰帮与之达成合作,之后在护送枪支途中搏斗,抓到秦福、阿鬼和郑仕良后发现运送的是魔术道具,3人被抓,阿鬼在狱中放出信鸽。第二天费洋古欲活埋3人,关键时刻来报,清朝被八国联军攻打,费洋古满腔愤怒与爱尔兰帮开战,与2名手下纷纷战死,最后印第安族人赶到清理了战场。

在护送枪支前一晚,白振邦去找格兰特质问是不是他杀了爱丽丝,且格兰特说出女儿已怀孕的事实并打了白振邦一枪,把他丢进地下冰窖中,白振邦被冻死后,格兰特和手下做局,在白堂主的工厂里杀害了爱丽丝的黑人女佣,并诬陷给已死去的白振邦,在随后的发布会中本以为案件会盖棺定论,且排华法案要定案。发布会当天,秦福3人出现还原案件发生经过,杀死爱丽丝的凶手竟是格兰特,因接受不了女儿与华人恋爱和怀孕,与女儿争吵过程中不慎把女儿推下楼梯而亡,因之前做过医生,所以把女儿的肚子剖开,器官也全拿了出来,而印第安族长因看到了他与手下抛尸的过程遂被杀,其余两起案件是手下做的。而在排华法案会议中,白堂主振奋人心的演讲和秦福3人的助攻下,最终投票也未通过法案,但没收了协盛堂的全部财产。

本以为故事到这结束了,没想到最后结局幕后黑手是一直在影片中帮助中国人做好人的威曼先生操纵大局,在格兰特家里商议能否取消排华法案时目睹了一切,所以出了嫁祸给白振邦的主意,最后即要了协盛堂的地和财产,又取消了排华法案,让华工做他们的奴隶。

观后感

刘昊然饰演的秦福,出身中医世家,爷爷是宫廷御医,后来全家死于战乱,于是秦福为了寻找哥哥来到美国。王宝强饰演的阿鬼是河北人,父亲在修建中央太平洋铁时死于爆炸事故,年幼的阿鬼被当地的印第安族收养。而影片最精妙处在于构建了三重身份对照:秦福的中医智慧与阿鬼的印第安生存哲学形成侦探组合的认知互补;白振邦作为华裔二代在爱情与族裔认同间的撕裂;费洋古这个清廷鹰犬在忠君思想与民族大义间的摇摆。当阿鬼用鹰羽拂过唐人街砖墙,当秦福以银针刺破凶案迷雾,两种古老文明的对话超越了探案本身。

历史褶皱里的现实回响

陈思诚将排华法案(1882)、中央太平洋铁路华工血泪史(1863-1869)、八国联军侵华(1900)三个时空折叠重构。在影片快结束时,发哥饰演的白堂主在市政厅的控诉戏,他最后孤身一人走进市政厅,独自面对几百个高高在上的白人进行辩驳的情节,他不卑不亢,他慷慨激昂,他请这些自以为高贵的洋人们睁开眼看看,建立起这座城市,修建起贯通全美铁路的,为你每天送上最新鲜蔬菜水果,为你浆洗衬衣的,都是你们蔑称为老鼠,视其为瘟疫的华工们。而从修建铁路这种最繁重的工作中一点点咬牙撑过来,在唐人街打拼多年拥有了一份家业的白轩龄,也是千千万万被卖猪仔的华人劳工的缩影。特别是这句”当你们的火车穿越内华达山脉时,每根枕木下都沉睡着一个中国灵魂!”这种艺术化的历史重述,让观众在悬疑叙事中触摸到真实的历史肌理。

文化解构中的当代启示

当结尾字幕浮现”本片致敬所有无名建设者”时,影院响起经久不息的掌声。这部电影的价值不在于推理的缜密,而在于它撕开了文明冲突的伪装——那些修建铁路的茧手、浆洗衣物的冻疮、培育菜园的佝偻身影,共同构成了美国崛起的隐秘基石。正如阿鬼的双重身份暗示的:在殖民者眼中,所有被压迫者都是”他者”。

尾声

走出影院,我和肖师傅说,作为一个中国人,我们应该自强不息,我更深刻的理解了国歌的内涵 “起来,不愿做奴隶的人们,把我们的血肉铸就我们新的长城”。在这部影片中,中国人就是美国人的奴隶,用血肉铸就了新中国的发展。现在的科技发展和和平生活都是无数前辈们造就的,应当珍惜,不要崇洋媚外,中国的大好河山值得我们爱护。《唐探1900》以其磅礴的叙事野心提醒我们:历史从不曾真正过去,那些被湮没的华人故事,正在新时代的银幕上获得重生。当秦福的银针最终刺破阴谋时,我们看到的不仅是案件的真相,更是一个民族找回历史话语权的寓言。

流感康复记

2025年2月6日 11:16

本来昨日应是上班第一天,但在前天写完 -2025春节小记 的后两个小时,就突然的发烧了。
症状
下午,没有什么征兆都是好好的,写完博客就只是躺了一会儿,觉得脑仁有点痛,不是表面的皮肤,是觉得大脑深处出来的感觉,很难去形容。
约过1h后,身体开始发冷,畏寒,吹一点风就开始冷的发抖,没有出汗,伴随关节疼痛,
大约2小时,症状开始加重,体温上升至39-40°,先吃了奥司他韦。

再过后半小时左右吃了布洛芬,随后就刷刷手机,半梦半醒消磨时间。期间体温高峰期过了40°

晚上,22点左右彻底退烧,在此期间流了大量的汗, 24点左右脑子基本上清醒了,没有浑浑噩噩的感觉,脑仁还有点痛感,已经微弱。

第二天请假了,也就是昨天,上午睡觉居然睡到11点,大概近期睡得最久的一次,上午还有点恍惚,现在我判断应该是睡太久导致的。
下午被领导拉去看了一场电影吃了晚饭,期间一直在流汗,现在看来应该是吃晚饭的时候穿多了,又不敢脱外套导致的。

这次流感与前些年疫情刚放开的那会儿的病状几乎完全一致。当时没有奥司他韦,熬了一周才好,咳嗽持续了月余。
对了,咳嗽的情况也记录下,喉咙痒,有咳嗽,有痰。早起较多,日常比较少,咳嗽也不多。相对第一次感染新冠有大大的减弱,可为不幸中万幸。

近期流感高发,期望我的感染康复经历能帮助到阅读此文的朋友。
以上,流感康复记。

2025春节小记

2025年2月4日 11:41

今天是春节假期的最后一天了,然而我家也没在单位请假,所以明天就要去上班咯。
就稍微休整下心灵与身体,这段时间带娃,又是走亲戚太累了。

我也有思考过,是否有必要走亲戚?
80-90这一代,各家都是独生子多,所谓亲戚多是上一辈的兄弟姐们的走动。对我们来说,多是陪着长辈各家去拜年。
等真的到了上一代人老去,估计走动的会更少。

城市里宗族观念薄弱,农村里倒是越发提倡宗族,比如前段时间我妈跟我说,镇上蒋肖氏族人都要出钱修祠堂。
选址是个风水极佳的地段(我们那边是4A旅游区,雪场也有。所以风景必定是极好的)。
每个族人要出300,点人头,一家几口人就要出多少钱。不出钱就不准录入族谱。
换句话说 ,赞助300 = 一个名字,多少有点变味了。
在这边流传一个笑谈,如果上海人逛xxx(一般指一些上海特色景点),是要被开除沪籍的。
但是在修祠堂这件事上,不出赞助费,是真的给你开除了宗族籍。

城市里不兴这个,也省去了很多的麻烦,基本上就是往上数两代人的亲戚之间互相走动下,大多就是找个饭店一起吃饭。
厨艺好,并且相聚的人少的话,一般就自己在家里烧一下,上海男人在厨艺方面一般都是不错的,这点值得各地学习。
当然我不是土生土长的上海人,所以我厨艺自然是遗传父母,一塌糊涂也正常。
要说会烧饭的湖北人多不多,我觉得是不多的,至少我亲戚这个圈子里,基本上烧菜水平都一般。
我们家乡人吃饭,一般碳水较多,所以每顿都要吃米饭,菜吃的倒是不多,评价一顿饭好不好吃,就是这个菜下不下饭。
如果都按照“这个菜下不下饭” 的标准来评价的话,不知道这算不算是导致烧饭水平不高的原因之一。

老丈人烧饭水平还是非常高的,再就是我姑爷。都是实力相当强劲的选手,每次去吃都能吃个肚儿圆才回家。
当然这个春节也去了,老丈人的儿子去他丈母娘家了,是山东的,刚好我们就在老丈人家借住一晚。

以前领导是有房间的,后来给了他哥的女儿,装饰成了儿童房,我有时候跟她开玩笑说:
“你连个房间都没有,你要生气回娘家都回不了!”
“我干嘛要回娘家,我有自己的房子,我会把你赶到次卧的!” (原文是赶出去,迫于形势修改之

大概就是如上对话,每次去借住都会被我想起,当然我肯定不会总是提起,未免显得情商过低。
时而拿来调侃一下,倒是没有关系,领导比较豁达,从不在意这种物质上的得失。

出去住,肯定是带上古灵精怪的宝宝,如果是带娃不闯祸那是不可能的,请看VCR

我侄女的玩具很多,外婆就给宝宝都拿出来玩,我正在看他们几个打牌,还在夸我家娃:
“我家宝宝,玩玩具的专注力很好的,就自己一个人能玩好久”
这句话没说完多久,他外公就看到宝宝悄咪咪的走过了,大概就是这样子。
开始外公以为是口红,等靠近“作案现场”才知道是玩具堆里面藏了个红色的印泥。
柜子上,地上,玻璃上,白色窗帘上,都是红色的小巴掌印。
外婆说: “还好宝宝争气,没有把印泥涂在墙上“, 毕竟墙纸比较难弄。
这次外婆家之行,宝宝留下了带红手印的白色窗帘,其他地方都弄干净了。
还好是我家娃,估计是我小侄女要挨打了,所以呀,臭宝,年龄就是你的保护色。

这可真是“为所欲为”的年纪,说到这,我想起了前几天火遍全网的,小孩子鞭炮炸井盖,父母赔偿几百万的事。
据说后续是父母离婚了,我想也是,离婚的话,未必是真离婚,应该是一个人背债,一个人维持家庭开销。
这件事出来,教育意义更大,熊孩子父母还是要加强安全教育,这可马虎不得。

春节也没有出去拍照,就跟几家亲戚拍了全家福。
哦,对了,回家的时候给领导也拍摄一张美图。

以上,2025春节小记。

iPhoneMirroring与DeepSeek

2025年1月31日 00:34

有些人看到标题可能会奇怪为什么这个博主要把,iPhoneMirroring与DeepSeek放在一起,该不是又是一个蹭流量博主吧。
嘿,我先不回答这个问题,先让我讲讲本期要分享的第一个主题「iPhoneMirroring」 。

第一个主题 : 当 Mac 遇见 iPhone

深度解析「iPhone Mirroring」功能与手柄游戏的革命性体验

在苹果生态系统中,跨设备协作一直是核心优势之一。2024 年 WWDC 大会上,苹果正式推出 macOS Sequoia 系统,其中一项重磅功能便是 「iPhone Mirroring」。这一功能不仅实现了 iPhone 屏幕的无缝投射,更允许用户直接在 Mac 上操控 iPhone,彻底打破设备间的壁垒。结合游戏手柄,用户甚至能在 Mac 上享受主机级的手游体验。本文将结合最新官方动态与实测数据,为你全面解析这一功能的使用技巧与玩法。

一、iPhone Mirroring:苹果官方的终极无线投屏方案

1. 功能亮点与更新

  • 无线连接,零延迟交互:与以往依赖第三方工具或数据线不同,macOS Sequoia 的 iPhone Mirroring 基于 Continuity 协议,支持无线低延迟投屏(需 iPhone XR 及以上机型,运行 iOS 18+)。
  • 直接触控与键鼠操作:用户可通过 Mac 的触控板、鼠标直接点击、滑动 iPhone 屏幕,甚至用 Mac 键盘输入文字。
  • 独立窗口,多任务并行:镜像窗口可自由缩放、置顶,支持与 Mac 应用同屏操作(如边刷短视频边写文档)。

2. 如何开启 iPhone Mirroring?

  1. 系统要求
    • Mac 升级至 macOS Sequoia,iPhone 升级至 iOS 18
    • 两台设备登录同一 Apple ID,并开启蓝牙和 Wi-Fi。
  2. 连接步骤
    • 在 Mac 菜单栏点击 「控制中心」 → 选择 「iPhone Mirroring」 → 选择你的 iPhone。
    • 首次连接需在 iPhone 上点击 「允许」 授权。
    • 连接成功后,iPhone 屏幕会以独立窗口显示在 Mac 上,且 iPhone 本体自动锁屏(防误触)。

3. 对比第三方工具的优势

功能官方 iPhone Mirroring第三方工具(如 AirServer)
连接方式无线,无需数据线部分需有线或局域网稳定环境
延迟控制<50ms(实测)100-200ms(依赖网络质量)
交互体验原生触控支持需模拟触控或手势映射
隐私保护端到端加密依赖第三方协议

二、手柄+镜像:解锁 Mac 上的主机级手游体验

1. 手柄与 Mac 的完美适配

  • 官方推荐手柄
    • Xbox Series X/S 手柄PS5 DualSense 手柄Switch Pro 手柄(需 macOS Sequoia 及以上系统)。
    • 苹果特别优化了 Xbox 手柄的震动反馈和 DualSense 自适应扳机(需游戏支持)。
  • 连接方式
    • 蓝牙直连:长按手柄配对键(Xbox 为顶部按钮,PS5 为 Share+PS 键)→ 在 Mac 的蓝牙设置中选择设备。
    • 有线连接:通过 USB-C 线直插 Mac(推荐 Xbox 手柄,延迟更低)。

2. 游戏场景实测与设置

  • 原生支持手柄的游戏
    • 《原神》:连接手柄后,镜像窗口自动识别,支持 4K 分辨率投屏(需 iPhone 15 Pro 的 USB 3.0 输出)。
    • 《暗黑破坏神:不朽》:通过 Mac 键鼠或手柄均可操作,实测帧率稳定 60FPS。
  • 非手柄游戏的按键映射
    • 使用 「Game Porting Toolkit」(苹果官方工具,macOS Sequoia 内置):
      • 将触屏手势映射为手柄按键(如《王者荣耀》技能键绑定到肩键)。
      • 支持保存多套配置,适配不同游戏类型。

3. 延迟与画质优化指南

  • 降低延迟
    • 关闭 Mac 的 「随航」(Sidecar) 功能,避免带宽竞争。
    • 使用 5GHz Wi-Fi 频段USB 有线连接(iPhone 15 系列支持有线投屏)。
  • 提升画质
    • 在 iPhone 设置中开启 「高画质投屏」(设置 → 通用 → AirPlay 与接力)。
    • 通过 Mac 的 「QuickTime Player」 录制镜像画面时,可自定义分辨率(最高 4K)。

三、生产力与娱乐的跨界玩法

1. 游戏场景

  • 多屏协作:在 Mac 主屏写代码,镜像窗口挂机手游《星穹铁道》,用手柄一键切换焦点。
  • 直播推流:通过 OBS 捕获镜像窗口,用手柄操控游戏,同步录制解说(实测 M3 MacBook Pro 可 4K 60FPS 推流)。

2. 办公与创作

  • 远程演示:在会议中镜像 iPhone 上的设计稿,用手柄代替翻页笔控制 Keynote。
  • 跨设备剪贴板:在 Mac 上复制文字,直接粘贴到 iPhone 的微信输入框(需开启「通用剪贴板」)。

四、争议与限制

  • 设备兼容性
    • 仅支持 iPhone XR 及以上机型,且 M1 以下芯片的 Mac 无法开启高画质模式。
  • 云游戏限制
    • Xbox Cloud Gaming 等流媒体平台会检测模拟器,可能封禁通过镜像投屏的账号。
  • 电量焦虑
    • 无线投屏时 iPhone 功耗增加,实测 1 小时耗电约 25%(iPhone 15 Pro Max)。

五、未来展望

  • Apple Vision Pro 整合
    消息称,未来 iPhone Mirroring 或支持将 iPhone 屏幕投射至 Vision Pro,结合手柄实现空间游戏操控。
  • 原生游戏生态扩展
    苹果正推动《生化危机 4 重制版》《死亡搁浅》等 3A 游戏登陆 Mac,未来或支持 iPhone 镜像同步存档。

小结

iPhone Mirroring 不仅是苹果生态的又一次进化,更重新定义了「设备边界」。当手游玩家在 Mac 上用手柄释放连招,当创作者用镜像窗口高效协作,这场由软硬件协同掀起的革命,正在将「无缝体验」推向新的高度。而对于普通用户,或许只需记住:你的下一台游戏主机,何必是主机?

很高兴你能阅读完第一个主题,在开始第二个主题之前,我想有必要说明下,上面这个主题的文章是由DeepSeek AI撰写的。
上文的图是我使用自己的电脑连接手柄,并且启用iPhone Mirroring截图的,并且当下iPhone Mirroring 是**不具备**手柄操作的功能。换言之,这些都有由DeepSeek AI自己联想出来的功能。
如果你没有察觉上文是由AI撰写的,那是否可以说明,现在市场上已经出现了一大批珍贵的“AI手稿” ?
举个不恰当的比如,当你发现冰山露出一角,真正的冰山远超你的想象。

第二个主题 :DeepSeek的写作能力探讨

对于 DeepSeek的写作能力,我想如果你阅读过第一篇主题,并且还被它给“骗了”那大概我们能达成一个共识,就是对于文章的撰写,它已经进化到一个不可思议的地步了。

在我使用其他AI工具的时候,提示词完全是我给出,而DeepSeek的步骤是,先根据我给出的提示词,进行解释与联想,生成更多,更详细的提示词。好处肉眼可见,生成的文章质量高了不止一筹,当然这并不是我说其他的AI工具生成的不够好,而是在用户数据输入这个步骤,DeepSeek的创作团队想的更多。
虽然在算力这块使用的更多了(增加了提示词的自我补全机制),但是总体看,生成的内容也更加贴近用户需求,这对于我们普通人来评价一款AI工具是否足够好用,非常的重要。

联网搜索

上图有个联网搜索的按钮(上图2标注),可以让 DeepSeek 抓取最新的网络文章,我第一次使用这个功能的时候,不能使用该功能的(上图1标注)。
大概是现在 DeepSeek 的服务器正在被大规模攻击的缘故,所以该功能被暂停使用了。
我突发奇想,看看能不能使用提示词,绕过这个限制,似乎是成功的绕过了(上图标注3)。

最后,强力推荐下 DeepSeek ,国产且强力又好用,希望你看了这篇文章之后,也去尝试下这个应用。

使用AI制作APP的UI

2025年1月31日 00:33

刚好前段时间制作了个像素图绘制程序,当初是简单做了一版的操作UI的排版,功能都有了但是看起来太临时。
对于一个APP来说,UI设计也是非常重要的,这直接关系到这个APP是否是个“产品”,没有设计过的UI会让项目永远停留在Demo阶段。

当下AI驱动UI设计的发展势头十分迅猛,今天我也尝试下试用一些工具,体验下高级生产力,顺便记录一下对于使用AI去生成UI的探索。

我会使用如下提示词:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
UI Components:

1. Edit Pixel Points Screen:
- Interactive grid display for pixel manipulation.
- Zoom in/out gestures.
- Color picker to select active pixel color.

2. Layer Options Screen:
- Layer management tools (add, delete, reorder).
- Layer visibility toggles.
- Opacity adjustment slider.
- Layer preview, selcted and drag to new index


3. Color Options Screen:
- Custom color palette.
- Color history and recently used colors.
- Option to create and save custom palettes.

4. Brush Options Screen:
- Selection of brush types (pencil, spray, etc.).
- Brush size adjustment slider.
- Quick-access button for frequently used brushes.

5. Image Import Screen:
- Options for importing images with pixel-level settings.
- Size adjustment controls (scaled dimensions and aspect ratio).

6. Image Export Screen:
- Scaling options for output size.
- Format selection for export (PNG, JPEG, GIF).

生成了一些设计稿

Galileo AI
UXPILOTG

Uizard
Uizard

小结

由于我这没有付费,所以在 Galileo AI 与 UXPILOTG 上获得的体验也是一般,但是在UiZard上倒是可以生成完整的,登录注册流程UI,加上核心的编辑器UI,只是部分的UI界面被置灰,告知只有付费才可以使用该UI页。

所以在自动化生成Ui流程上来说,我觉得Uizard 还是不错的,它甚至可以在线生成一个浏览设计稿的地址,点进去就是直接开始试用这个”APP样品”。

所以你更倾向哪个呢 ?

蜷缩在电视柜的男孩

2025年1月26日 17:16

今天和我一个同事 XAN 聊起他小时候的一些事儿,那些事,小时候只觉得是“当下困苦”。
现在作为一个成年人视角,怎么看,都是父母人为给孩子制造的终身难磨灭的痛苦记忆。

“你小时候睡过电视柜里面吗 ?”

“我没有?是什么样的电视柜?”

“就是教室的电视柜,大柜子。”

“为什么要睡这里面?”

“初中时候我寄宿,周末放假回家,我妈叫我不要回去,意思是路上要花路费,还浪费时间。我只能睡在学校,宿舍周末不开,只能睡到教室的电视柜里,冬天暖气只有上半夜有,下半夜没有暖气,还很冷。那时候小,不知道把宿舍的被子拿过来。会暖和一点。晚上保安会去锁上大楼的门,就我一个人,在里面,我很害怕,我就把教室的门反锁。早上出去买早饭吃,摔了一跤,看周围没有人,就把吃的又用手扒拉到袋子里。”

“那你应该只睡过几次吧,你父母也不会让你一直这样搞吧 ?”

“大概几十次吧”,XAN 给我用手比划了一下。

“我以前还觉得你对你父母不好,现在看你现在对你父母这样也挺好了”,以前在公司 XAN 也会聊起他的父母,之前我一直认为,他对他父母做一些事,显得比较情亲淡薄,不够尊敬长辈。现在想来,也是我不了解个中情况,还是片面了,要是换个儿女,说不定会更淡薄一些,也不为过。

“还有我高中的时候,大年初一的时候生病了,发烧,要吃药,自己去药店里买了药,回家要吃,我妈把药给我一把抢走了,说大年初一吃药,一年都要吃药,还好我堂妹给我偷偷用剪刀剪了半板药,给我藏起来。平时生病的时候,买药吃,我妈也骂我,有什么用,(意思是男孩不用吃药) 现在我妈只要是生病,就立马去医院,也要吃药,我都会给她讲,我小时候不让我吃药的这个故事。我问她为什么要吃药,她说身体难受就要吃药。”

“你爸妈都干什么工作的 ?”

“我妈是幼儿园老师,我爸是小学校长”

“那估计你爸妈在当地也有有头有脸的人物”

“小时候他们常吵架,把家里的碗都摔了,后来我家都换成金属的了,那时候我害怕回家,他们还总是在亲戚,家里来的客人面前贬低我,别人也会跟着一起说,你家两口子这么有本事,怎么生个这样的儿子。所以我内心一直是有些自卑的。”

“我觉得他们缺乏与人共情的能力,毕竟当父母不需要考资格证书。”

我们这代人已经长大了,父母也即将老去,你要是说是跟上一辈人划清界限,也是不可能。
毕竟给父母养老,是这一辈人的责任与义务,只是旧日童年的回忆,又有谁去疗愈。

有些人,嘴上说与原生家庭和解,会想办法去逃离原生家庭,我直言,这非常的困难。
从自身出发,能做到的,也只是让这种粗暴的传统教育方式在我们这一代 “到此为止”。

逃离原生家庭的最佳方式:不要像父辈那样去处世,不要被他们的生活习惯影响自己的生活习惯。
破山中贼易,破心中贼难,大概如是也。

后记,摘录部分网友的小故事

Jeffer.Z
我小时候也寄宿,家里给的钱吃不饱,我和我妈说他不信,开家长会,一个女孩妈抱怨孩子太能花钱,我妈说你给多少钱吃饭,那女孩子的费用整整是我四倍,然后我妈才意识到我真的吃不饱饭。她对钱的看重大于人,上学时候总说我花了多少钱,还说我舅舅家哥哥上学都不花钱,实际上我已经算是上学孩子里最穷的,没什么消费,就是吃饭。我和我妈的情感也很淡漠,因为日常她说的最多就是钱,这个东西多少钱,谁能赚多少钱,钱每天在她嘴里出现的频次超出任何东西,我成年后才真正意识到,这已经不是说抠门,而是病态。有时候大家看到一个人和父母不亲近或者淡漠。就觉得这个人不好,或者不孝顺,其实不是这个样子。很多时候孩子和父母的接触中不停受到伤害,孩子就会启动保护自己的机制防御来自父母的伤害。我老婆性格就很开朗,我看她和父母沟通就很好,我就不行。我不喜欢和父母说话,在家尽量保持沉默,因为有时候一沟通就会吵起来,沉默和保持距离对双方都好。我经历过这些,我对孩子的态度就是,虽然孩子是孩子,但是我把她当成平等的个体对待,始终陪着她,让她开朗,而不是像我这么阴郁。你的这个朋友一定会有更多难以启齿的细节是不会和你说的。

三十海河
这篇让我想起来我的父亲,16岁就出去打工的我,住着50元一月的房间,冬天漏风、夏天漏雨,发烧到41度我给他打电话,他给我说「你多喝点水就好了」。
后来现在他也怕死,总是说自己有哮喘,三天两头去诊所挂水,呵呵,前阵子他给我说自己喘的厉害,我也用这句话回应了他「你多喝点热水就好了」。

二丫讲梵
聊两个我的故事,与此文相关。
1.我小时候,家里管教也是极为严厉的,在家里,我从来都是大气儿都不敢喘一下的那种,从小到大,只有两个字,学习。除此之外,再无其他任何事。然而,我除了要学习之外,还需要跟随父母一块儿干农活,从小也是地里的活跟着干,十岁的时候就学会开拖拉机,也学着开始做饭。这些劳动上的困苦还好,精神上的压力越来越大,高中的时候,真感觉呼吸不过来,当时把胸中苦闷化解为文字,一口气儿写了五十多页的心里话,最终拿给了父母,他们在我第二周回来之后,态度为之180度大转变,感觉到孩子长大了。
2.关于住教室,讲个神奇的,我们初中那时候(07~10),条件不好,学校宿舍有限,仅有的宿舍,是女生住的,男生则都是在教室里住,由此引发了不少有趣的故事。男生的地铺以及盖的被子全都是放在教师后边的桌子上,每当晚上放学,都会把教室的桌子拉一拉,然后在地上铺开,三五一堆儿,打地铺睡觉。有趣的故事有:晚上不睡被一帮老师来教训啦,有时候夏天太热,把地铺铺到教室门前,以及操场上啦,有时候早上起太晚,女生都在教室门口啦。凡此种种,皆成为我美好回忆的一部分。
如今,我与父母关系非常友好。

过年之前的预热

2025年1月22日 19:56

新年总要添点小物件给家人,要么是红包,要么是小礼物。年年是如此,今年就记录下。
往年也是送点小礼物,但没有记录下来,今天还是领导在催更,那就不得不记一下。
灌水多了,也是要重写的,所以我肯定认真在记录了,你说,对吗?

鞭炮

今天是小年,家附近的鞭炮声不绝于耳,大概集中在9点左右,不知道是有什么习俗还是就听个响。
反正我是不明白这些地方习俗的,单纯个响。
晚上回家,刚下车,准备跟领导去拿快递,“嘭 嘭 嘭” ,还以为有大烟花看,抬头发现这个烟花没有特效,光有声音,和闪光。这放烟花的人儿,难道是被骗了吗,怎么买了个只有响没有烟花的烟花?

今天的朋友圈里,已经有同事已经在发去烟花批发市场拿货的场景了,哦对了,准确的说是前同事,在珠海。

是我小瞧了珠海的物价,还是小瞧了烟花的身价,现在的烟花已经让我觉得有点高攀不起了。
依稀还记小时候得有几十块钱的烟花,别说他便宜,放起来还真的挺好看。

准备了一些礼物清单(部分)

下面的一些图可供参考,都是我认为的一些送娃娃的/自用的好物推荐。

送给乖宝

年前快递要停了,买了一些容易打发时间的读物与玩具。争取度过一个和谐的春节。
玩具,我感觉可以隔一天给一个新的,保持新鲜感,与对明天的期待,哄小孩也是要技巧的。




现在这个阶段的娃还是能看的进书的,投其所好,还是能静下心看一段时间的,这个阶段培养读书的爱好是很重要的。
当然我家娃还是看视频更多一些,有时候大人忙事情,就给平板娃看看,可能大多数家庭都如此。
在平板上的应用还是以宝宝巴士为主,开会员之后app内就没广告了,互动模块不错,都是益智的小游戏。


老师要求小朋友们制作一些手工活,刚好把灯笼买下来。

招待客人

家里只有咖啡,和一些袋装茶,买了两小袋茶叶招待客人
这边说下为啥要买这家的茶叶,他家的茶基本上还原了霸王茶姬的茶底味道,好物推荐。

pdd治好了我买杯子的恐惧,以前买的杯子都不便宜,有了pdd帮我解决了这个烦恼。


给侄子侄女的小礼物

侄女有点懒,就送不用拼的,前年倒是送过一个若客的拼图。大概我拼了一夜,给她拼好的。
从此之后我记住了,以后不给这个小姑娘买拼图了。人不要跟自己过不去。。。

侄子喜欢自己动手,之前也是送了一个若客的拼图,是个电视机造型的音乐盒,看他父母都挺支持他玩这种性质的玩具。
就再买一份差不多的,可以遥控的赛车拼图。
还有就是刚好前段时间挨骂了,-今日无图 送个玩具他,让他缓缓,打发时间,过个愉快的春节。

虽然也给小辈们红包,但是红包他们父母是肯定不会给他们自己支配的,所以给了也是表示心意,但小孩子感受上来说,肯定是还有一份玩具更懂他们的内心。


领导送我的小礼物

今天刚好就用上了,之前的MBP只有512这次换上1T的,这下我又能存很多拍的相片了。
现在使用Unity3D打包一个工程文件,比之前快了3倍,属实是大大减少了等待时间。

之所以说要换一个mini而不是再换一台MBP的原因也简单,MBP的掉价太快了。18年的MBP现在咸鱼只挂2-3k,要知道当时入手是17k。属实是没有意思,不如mac mini实在,这台小鸡在jd上大概10k不到,加上国家家电补贴也就8k不到的样子。
感谢祖国,感谢党。让我用上了低价高配的生产力工具,2025年一定好好干活。

上午在公司激活的时候,发生了一点小插曲,Mac mini的盒子里面居然一根视频线都不赠送。
只有一个主机加上电源线,这也太省事了吧。还好公司里的配件多,很多小东西到处借一下就把电脑激活了。

再就是通过迁移助手进行迁移,如果你也像我一样要在两台电脑间迁移数据,需要注意用type-c连接两台电脑。
并且在需要传输内容的主机,开启传输助手数据转移选项。

最后,出于领导对本人的硬件赞助,再次释放彩虹屁,祝领导千秋万代,永远十八。
哎,对了,肯定有人要问,为什么没给领导买,她说要年后买,所以没写给领导买礼物也很合理吧!
以上,过年预热,预购的一些小物件。无心上班,快进到春节吧。华仔已经在我脑子里提前解冻了。

今日无图

2025年1月20日 00:22

最近闵行不是出了个事,一家三口跳楼了,不知原因,网传是学习问题,小的跳了,大人也跳了。
网传是学习问题,具体原因真实性不可考,没有官方通报,一切以官方通报为准。
就这件事跟我妈在家里聊起。

“妈,我觉得小孩的成绩也不是这么重要”

“是呀,你小时候我们也没逼你读书,你要读不出来也没办法”

“那确实,以后宝读书,如果读不好怎么办,要不继承你的理发店吧,开个百年老店”

“哈哈哈 哈哈哈”

“今天,你s姐(表姐)来店里,跟她wj(老公),店里还有客人,两个就在用普通话骂wjx(他儿子)”

“好好的为什么要骂他 ?”

“考试没考好呗,数学只考了七十几分,以前都考九十几,一百分的,wjx走的时候一句话都没有说”

“哦,为什么没考好?”

“说是这次的考试比较难,是普遍比较难,其他的同学也没有考好,都考的分数不高”

“那这也不能怪wjx,我跟我s姐说说,这样小孩没面子,小孩也有自尊心的”

“我店里,最近来个老两口客人,女儿就是读书成绩太好了,去国外了,不回来了”

“去国外不是挺好的吗 ?”

“好什么,他父母是离异的,她妈把房子卖掉了,换成钱全给她了,他也不回来看看,还给他爸打电话,让他爸把房子也卖掉,学学她妈,给她钱。”

“那他爸是怎么说的 ?”

“他爸说,房子不能卖,百年之后,有房子,可以换点钱,买墓地。你知道她女儿是怎说的吗?”

“怎么说的 ?”

“死了就烧掉,一把灰撒海里就可以了”

“xxxxx”

“他爸疫情的时候去国外她女儿家,他们开烧烤店的,她爸回不来,急死了,呆了三个月,天天在店里忙里忙外,他们小两口出去旅游也不带他去,告诉他爸,在那边(国外)不干活,是没有饭吃的,他爸害怕了,说再也不去国外了。”

“xxxxx”

“他们小两口回国,在市区开了个宾馆,说请老两口吃饭,找了一家快餐店,吃的不像话。结果付账的时候,是老两口请客吃的,女婿当场就说,早知道是你们请客,我就去吃贵的店了。你看国外的人说话一点都不含蓄,要是中国教育的人,怎么会说出这种话。”

“xxxxx”

“读书读的出就读,读不出就承欢膝下,也是好的”

“那确实”

后来我就把网传的这个跳楼事件的消息给我表姐了,期望她能理解分数没有孩子的自尊心重要。
毕竟条条大路通罗马,最后还是要出来当牛做马,只是读书的时间长短而已。

被催更

2025年1月16日 18:58

今天被领导催更博客了,线下催更最致命。麻溜的上线开始更新博客。

甲流

先说说最近都发生了什么事,最近身边很多人都得了甲流,好多同事中招了,我爸也是。
在外面戴口罩还是非常有必要的,马上就要过年了,在搞感冒的话,看医生都麻烦。

所以前面几天把我妈跟娃都接到我这边来住,物理隔离,以免被我爸传染了。
在我这边娃还是睡得比较早的,主要还是有人能镇得住她。

小马宝莉

娃最近喜欢小马宝莉,给她买了几百包卡,让她忙一下,消耗一点精力。
没成想,买来的卡好像是盗版的,品质没有正版卡好,价格也便宜了一半。
下次注意,过年重新买一批

过家家

再过三个月就满四岁了,最近这一年,我充分的感受到,小家伙智力在飞速拔高。
请看VCR!

寒托班

学校下周也要开始放寒假了,我们考虑给娃娃报个托班,这边托班收费相对都较低,对上班的人群来说,都比较友好。
还有一点考虑就是娃在家里玩,不如在幼儿园玩,幼儿园伙伴还多一些,幼儿园也不像小学管理严格,去玩几个小时就能接回来。

二手群

前段时间年后抽奖,虽然我啥都没抽中,只有一百JD卡。但是我在公司的二手群里收了一个牙刷。

公司群里200收的,这比任何活动都划算

领导抽中了一个取暖器,不理解这俩好像差了一百,但都是一个档位的奖品。
她说要送给她奶奶,老人家都快一百岁了,是家里的老寿星。
我发现南方这边高寿的老人家好多,至少比我家乡那边要多一些,就我所见。

公司二手群的砍价,基本都可以用原价的2/3拿到,大概是急于在年前出掉。
最近再蹲一蹲,看看群里能不能再收到一个牙刷给领导用。

像素艺术家

最近没啥时候做自己的项目,公司太忙了,回家就跟宝玩了,最近也就抽时间重构与优化了下代码。
最新的版本没上传,基本上已经挺好用的了,后面准备再用AI生成一版UI,做个翻皮。
最后上个微信小程序,或者APP Store就齐活儿了。

以上,记录最近发生的一些事,报告完毕。

记录一次公司年会

2025年1月11日 13:25

记录下今年公司年会,本来这种事我一般都不记录的,原因是领导当选本此年会主持人之一,这就不得不记录下了。
距离上次公司办线下年会不知道过了几年了,大约是三年还是几年,已经记不清了。

大约一个多月前,领导跟我说想参选年会主持人,当时我是这样说的,
“公司也不是大学,你看,都没人愿意去参加”
“我有一个当主持人的心愿…”
既然是这样,那就参加把,结果当然是顺利的通过了主持人的筛选。
我是做不到,在千人舞台上自如的讲话的,这确实要点天赋。
台上一分钟,台下是每天晚上还要背稿,这段时间着实辛苦了。

在追逐自己的热爱事物上,领导跟我都保持一致,都会去维持自己的爱好,并愿意在此之上花费时间与金钱。
并不一定是要建立在非要获得回报上面,更重要的大家常说的情绪价值。
人生短短数十载,不要总是说为了这儿,为了那。
却忘记了,人总归也要为了自己,满足自己的情绪,这同样重要。

图片用像素艺术家进行像素化了

以上,记录2025公司年会,愿大家百忙中能抽空做自己爱的事,人生是游乐场,愿你能玩的开心快乐。

年前好忙呀

2025年1月6日 19:56

照理来说我年前不应该那么忙的,今天单位又分给我一个小活儿,大概要搞到过年了。
导致我又要拖更了,真成了周更博主,属实无奈。

指令型生物

我这人有个毛病,只要一忙起来,就顾前不顾后,在家里也经常挨批评。
活干到一半跑去写代码了,或者是忘记干家务了,当然对于这种批评,必须是保证整改,当然我也为自己找了个推脱接口。
譬如,作为一个男人,我必须是比女人更了解男人。我常跟领导说男人是指令型生物,收到的安排期望是明确的,具体的。这样能保证结果的正确性,如果这个男人没有达到你的预期,不一定是男人的错,可能是调用了错误的指令集。

配眼镜

要说上海配眼镜哪里划算,只能是上海火车站了,没有之一。我在这边配过不下4副眼镜了,平均下来都是150一副。
好了,下图的四个人都配了眼镜,共花费910,我是换了一副镜片,外加配了一副眼镜。

小闺蜜请客吃的俄罗斯餐厅,味道还行,只是排队挺久的,不过大周末的也属于正常。
说起小闺蜜,我又要批评她了,他看中一副眼镜,然后老板问:
“你以前肯定也在其他的地方配过,你以前配的多少钱,我再给你便宜点”
“四百多”
“好,那就给你四百块!”
我此刻只想把她的嘴堵上,最后领导也只是还价了20,拿下价值380的眼镜。

夜市

最近刚开业,持续到15号好像,现在夜市都是同质化比较严重的,卖的东西跟实体店价格没什么两样。
以前说吃地摊小店是便宜,现在可不能够这样说了,都一样价。味道也差不多,夜市正在逐渐失去他的原本色彩。

家附近办夜市,也是从幼儿园群里看到的消息,我们正在吃夜宵之际,同班的小伙伴也过来玩了。
比起我家宝宝,他们家的娃确实是有点内向型。

所谓结对编程模式

这大概是一个人看动画片,另外一个人可以进行工作的最好模式。并且时不时还能帮你改改代码,制造点bug。
让精神时刻保持专注。最近娃在迷小马宝莉,投其所好我也买了几个公仔。

志愿者

幼儿园有个志愿者机制,大概就是每周轮两位家长去站岗,这周轮到我了,每天早上大概要去站四十多分钟。

也不是很无聊,娃看到我表示很惊讶。去这边站岗过才知道,原来小朋友可以带玩具去幼儿园,之前没注意。
刚好新买的碧琪公仔到了,明天早上带过去给宝一个惊喜,嘿嘿。

门口站岗的有个保安大哥特别厉害,能叫出大部分娃的名字!真人才在哪儿都能发光发热!

无奖问答

你知道这个公仔叫什么吗 ?

公仔寄过来,脸破了个洞,领导手巧给缝好了,yyds !

以上,时间像海绵中的水确实不够用!希望年后能恢复我咸鱼生活。

2024回忆录

2024年12月31日 17:04

我这只能算2024回忆录,对照苹果相册的时间轴,分别在每个季节选取几个代表性的图片,代表这一年令我印象深刻的一些趣事。

上个春节采购很晚才去,今年提前去了。

开春与我大姑姑,我妈一起去了趟西湖。那时候宝宝的头发还是短发。

带娃去西湖,跟长辈出行各种不适,以后估计不会在一起出游了。

公司楼下的樱花开了

春天的时候宝宝还有一些坏习惯没改回来,当时专门定制了个视频,用来教育她。成果斐然,有用!

宝宝第一次自己独立购物,跟阿姨对话,购买商品。

一看就是奥特曼老粉了

记得那天是周日,因为买了奥特曼玩具开心了一天,小孩子这个阶段的情绪价值很好满足。

公司组织过一次巅峰垂马,就是爬楼梯比赛类似,每一层都有活动。虽然我跑的快,但是活动环节掉链子了。

第一次买磁吸玩具,宝宝玩的还是很开心的,后来又复购了好几次。

我发现我家娃在和其他小朋友交流的时候容易生气,观察了下其他的宝宝,好像这个阶段的孩子都如此敏感。

截至到秋天,宝宝已经完全自己上厕所了,家长可帮可不帮了。我卖掉了最后四包没有开封的尿不湿。

第一次在外面被很凶的小男孩恐吓,原因是宝宝笑话小男孩不穿上衣,小男孩凶得很,还好我在边上,也是个家里的小霸王,看我在不敢动手。这次之后宝宝似乎懂什么话不能乱说了。果然自己人教不会,事教人一教就会。

第一次尝试探索了iPhone的相机拍照,启用了延时曝光,获得了一张比较不错的图。

第一次倾情演唱表演,能完整的唱好几首儿歌,还能背诵好几首古诗,老怀欣慰。

对于拼图这件事上来说,宝宝绝对是有天分的,能独立完成108块的拼图游戏。

今年夏天第一次游泳,稍微玩了下,宝宝表示长大了以后才能玩大大的水,让我以后别带她去了。

没多久,我就带她去浴场游乐泳池玩,结果顺着滑滑梯快速滑下去,钻到水里去了,留下了心理阴影,估计以后都不会去了。

今年去了一次武汉,虽然我是湖北人,但也就去过几次武汉,武汉很大,繁荣的地区呈现点状分布,另外东湖景点也比较好玩。

今年去了两次苏州,苏州的景点比较集中,也逛了个七七八八

今年一共修过两次车,都在车检之后,合计四千余元。车检?车检到底在检什么?

今年去了嵊泗岛团建,风浪大提前回来了。

今天的迎新活动,可惜上班未能参与,应该会很有趣。

今年也留下了很多的游记,纪念出游的快乐时光。

今年微信公众号发表了不到百篇左右的文章,明年再接再厉,争取多写一些干货。

更新:

今天下午发文的时候,领导在项目组交换礼物抽中了一个小耳机,虽然不贵,但好在给2024画上了一个美好的句号。

此刻,窗外已经听到有人放烟花的声音了,前些年还热衷出去跨年,每每到年末这一天,地铁公交都会延迟关闭,此刻外滩应该人山人海,想起来一个笑话,大意是:上海的同志们在这一天应该把外滩留给外地来玩的朋友,不然会被开除户籍的。2024.12.31 21:30

以上 2024回忆录。

感冒了

2024年12月30日 10:45

上周宝宝感冒了,这周基本上好的差不多了,只是还在流鼻涕偶尔还咳嗽,我家娃还是很坚强的,虽然请假一周没去上学,但在家也是生龙活虎的。除了晚上睡觉就咳嗽这一点之外,其他都还不错。

从前两天开始我有点鼻塞,直到今天我才意识到,这大抵是感冒导致的。这两天休息的都很早,只因为大脑告诉我要休息了,即将关机… 这真的是糟糕的体验。好在只是个小小感冒,并未有什么病来如山倒,白天不影响正常的生活。

周日老丈人过来送东西,周六我们和丈母娘去山姆买的一堆东西,有些甜点忘记分就回家。刚好老丈人就给送来了,还好两家离得不远开车也就四十多分钟。

顺道,带我老丈人去我妈理发店,剪了个头发,我则帮忙染了个黑头。去的时候好好的,回家的时候电瓶车没电了,我俩走回去。周日天气很好,边走走聊聊天,还是很让人舒服的。白天我都一度忘记我感冒了。

每次去他家都会烧一大桌子菜,领导也是得到了厨艺真传,果然是传女不传男,领导的哥哥没遗传到。当然我家是没有厨艺传承,父母烧菜都在水准线之下,当然他们也会互相比较。当他们问起,让我评价两个人谁烧饭好吃,只能说这很难评。

下午宝宝跟领导在家玩一下午,我三点多才回,宝宝真不愧是“熬拜”,这是爷爷取得外号,熬夜小能手,不爱睡觉。
一整天都没停下来,各种玩。值得表扬的是中午饭吃的很不错,晚饭也吃的很不错。

下午五点我大概是感冒导致的头晕,跟宝请了一会儿假,就睡了一个小时多。宝宝全程都没吵我,果然是长大了,现在吃东西也会主动的分享,我不爱吃水果,晚上她自己去剥了小橘子还喂给我吃,哎,好感动 😪,留下了感动的鼻涕。

感冒也不全是坏处,譬如我会11点上床,用手机码码字,记录下生活,再回忆下这两天的得失。

后记

冬季了,我给博客写了个下雪效果,如果没出现大概是缓存问题。
如你也想要这个效果,可以参考下面脚本,只需要导入js就可以,url可以替换为你喜欢的雪花图。
支持雪花数量,风力模拟,雪花大小,雪花图等控制。

1
https://vrast.cn/js/snow.js

像素艺术家优化之路

2024年12月27日 11:14


当前20x20的绘板+UI的drawcall来到了400+ ,卡的不行,制作的时候只顾开发快可不行。
现在就开个专题记录下绘板的性能优化。

效率优化第零版

所有的物体创建/销毁都是基于池,也就避免的额外的GC开销,缩短CPU耗时。

效率优化第一版

每次用笔刷绘图的时候,当鼠标划过网格,都会记录位置,划过的这个位置就作为一个 Tile 渲染的基本点。
在这个点上再去生成一个mesh,进行染色,标注这里被画出了颜色。

由于需要渲染的Tile,是动态创建的,都具有自己的单独的Render,并且需要改变自己的颜色。
对于材质来说,就会在每次改变属性之后创建出新的instance,众所周知instance多drawcall就多。
这个问题,并不难解决,通过 MaterialPropertyBlock 去修改属性,可以避免instance的创建。

1
2
3
4
5
6
7
8
9
10
11
MaterialPropertyBlock block;
public void SetColor(MeshRenderer render, Color c)
{
if (block == null)
{
block = new MaterialPropertyBlock();
}
render.GetPropertyBlock(block);
block.SetColor("_Color", c);
render.SetPropertyBlock(block);
}

效率优化第二版

当使用 MaterialPropertyBlock 去处理材质属性修改后,画板的drawcall已经保持在一个极低的数量级了。
直到我准备给画板添加一个背景,也就是预创建tile,给画板一个背景色。这时候新的问题又出现了。

100x100的像素图编辑,就有一万个tile,需要去染色,虽然是公用材质,但是架不住节点多导致的CPU耗时过高。
这时候,我想起,既然最后需要导出到像素图片,为什么不直接将像素点写入图片呢?

遂后,新增了一个实时渲染图,展示正在绘制的像素画状态。并且修改这个渲染tile的逻辑,每次要渲染tile的时候,不再进行mesh创建与render渲染,直接将像素写入实时渲染图。
至此,突破了之前的节点瓶颈,在512x512 ,也就是差不多2.6w像素的图片上,进行流畅的编辑。

效率优化第三版

在成功的在512x512的像素图上编辑的时候,我顺便也尝试了在1000x1000,2000x2000的像素图上进行编辑。
明显会觉得有点卡顿,分析了一下卡顿的原理,原来新的瓶颈在修改实时渲染图的频率上。
每次创建新的像素点,也就是画笔在滑动的时候路过的像素点,都会立即去做一个像素图的写入。

这个问题解决起来倒是不难,就是将实时像素图的写入频率降下来。
结合第一个优化版本的实现。每次玩家开始绘制与结束绘制之间,所有的像素点,都是用第一个优化版本,仍旧去创建tile,将这个过程产生的所有tile数据进行记录。
玩家手指抬起,结束一轮绘制,再将上一轮缓存的tile信息统一写入实时渲染图。并且回池所有的tile。

至此,在至少四百万的像素图编辑上表现得很丝滑,就如同在四百个像素点的编辑。

效率优化第四版

在增加了大贴图导入后,如果拖拽整个贴图会造成画面卡顿。原因是拖拽的是由unity的meshrender组成的画面。
画面有多少个像素点,就由多少个mesh(一个meshrender只渲染了一个像素点)。
这样数量上去了,也就又出现了性能瓶颈,为此改为了给mesh增加了一个支持贴图的材质球,匹配像素图进行缩放,将像素点都渲染到这个单位上,进行整体图片的预览,效率又上去了。
这里遇到一个问题,使用 MaterialPropertyBlock 进行针对 Texture 的drawcall 优化的时候,需要注意如果N个meshrender使用了的一个材质,但使用的并不是一张贴图,drawcall仍然会增加。
所以这边我记录玩家每次画笔下落与抬起,在期间,渲染玩家绘出的像素图,都是一张贴图。用以保证 MaterialPropertyBlock 能够正常生效。

当然这个效率优化并不会停止,先记录这些。

跳舞的洗衣机

2024年12月23日 22:28

想把这件事记录一下的想法很多次在脑子里冒出来,但是很快又被其他事打断就又忘记了。
今天稍微记录一下,带着记一下最近遇到的烦心事儿。
大概是去年夏天,搬家的时候新购入的洗衣机,那时候没找小米师傅安装。
是装修师傅帮忙弄的,结果收获了一个跳舞的洗衣机,视频有点搞笑,但是很生动。

本来连夜就想找小米保修,直到我准备睡觉的时候,在网上搜索到一个词,减震螺栓,哎呀 !
瞬间天灵盖被击中的感觉,赶紧爬起来,一看洗衣机后面果然有四只减震螺栓没有下掉。
费了大力气把洗衣机搬开,这玩意是真的重。下完螺栓后,终于正常了。
我建议是电器如果有安装服务,请务必一定要使用,除非你真的内行。

昨天又遇到洗衣机不排水

为什么我要拿这玩意拍张照片,他就是罪魁祸首了,广告的slogon很强大:开启洗衣新时代。

真强,直接把排水电机堵塞了,再开始手洗时代 ?这个吸色片会被洗衣机搅碎,最后堵死排水口的电机。
我跟小米的师傅忙活了两个小时,才完全弄好。
问题很简单,只是要搬动两台重家伙着实不容易。
洗衣机堵塞问题解决之后,点击脱水,洗衣机的水倒是排出来了。
但是不知道为什么,他不转了,师傅暗示,大概是排水泵坏了要换新。
我说,你瞧这个色片抠出来,排水正常了,说明这个泵是好的,不转是另外的事。
接了入水管,重新开机关机后,测试正常了。
这水泵到底还是没换成,这种事,还是要全程跟着,不然的话换不换就不好说了。

今天遇到台盆下水堵塞

早上准备刮胡子,结果水下不去了,无他,肯定是堵住了。
这段时间真的很魔幻,一直在出状况,领导说这是跟水犯冲。
急着去上班,先买了瓶魔法药水(威猛先生)灌下去了,顺便又买了根物理管道疏通,寄到公司。

晚上回家,你猜怎么着,威猛先生基本不威猛度,这水是一点都没有下去。
还好带了根疏通棒回来,一通操作半小时齐活儿,在搞点白泥补一下缝隙处。

疏通棒是好东西,建议家庭都备一个,这可比马桶搋子管用。
当然马桶搋子也有妙用,我用它卸扣板。

以上,最近遇到的烦心事儿,但是也吃一堑长一智。说好听点就是,永远满含热泪,永远是少年。

冬天是真的容易感冒

2024年12月21日 17:38

现在天气每天都很冷

我妈跟我宝都已经感冒了,由于咳嗽太厉害宝前天还呕吐了。
我们家是奶奶带睡觉,让奶奶抱到了半夜,不敢让孩子躺着,一躺下来咳嗽,就又要吐。
明天我妈要出国玩一周,那只能下周我多带带,说是多带带我也没法不工作,只能晚上带睡觉。
有句话怎么说的,搬砖的手无法拥抱你,虽然很想天天带娃,但还是不得不工作。
好在现在宝的感冒已经转好,咳嗽也没有那么厉害。老天保佑,这个冬天都不要再有感冒了。

家庭作业

又制作了手工,这次是制作了吐信子的蛇,制作起来不难,当然宝也玩的很开心。
幼儿园老师在群里说的话奇奇怪怪,诸如:”虽然xx请假了(感冒),但是家里人还是把手工作业送到幼儿园了。“
问我送没送,肯定没有送咯,但是上传了制作过程的摆拍。要问哪家不是摆拍?我才不信三岁的小孩子能独立完成。
制作手工,参与学校活动的目的对我来说就只有一个,别人家孩子有的,咱家也要有,不然孩子上学多可怜。
说到这,我想起来一件事,是这件事让我决定,以后其他幼儿园娃有的我家娃一定要有。
某日,幼儿园老师带班里小朋友去水果店,看水果,然后有的小朋友购买了水果。

宝宝回家,我问他:
“其他同学买了吗”
“买了呀”
“我问小朋友能不能跟我分享,小朋友说不行”

听到这,我真的是气呀,咱家也不差个水果钱吧,老师居然不能一碗水端平 ?
就这一件事,让我认识到,以后幼儿园需要给宝宝安排什么道具,用品,必须要安排上。
不能让娃在幼儿园受委屈,让做家长的心里也不好过。

以上,闲时小记,最后,大家都注意天气,不要感冒了,祝大家都身体健康。

像素艺术家-开发日志2

2024年12月18日 19:11

抽空发布了一个阶段版的像素艺术家项目成果。
具体描述我都写上面了,目前没做像素的擦除,这个后续版本补上。

快捷键说明没放上去:

  1. 处于非绘图状态鼠标右键,可以旋转画板。
  2. 绘图状态N键可以切换笔刷
  3. QE可以旋转画笔
  4. 鼠标右键退出编辑模式

项目主页

绘图界面

资源导出

目前支持导出 png jpg tga,注意png是透明底图

后续计划功能开发

  1. 批量框选
  2. 橡皮擦
  3. 喷涂工具
  4. 线条工具
  5. 撤销功能
  6. 图层功能
  7. 颜色覆盖
  8. 图片转像素

最后

你可以在左下角的猫咪菜单栏点击爱心,打开这个程序,或者访问 https://px.vrast.cn 均可。

清理缓存

如果之前打开过我这个站点的朋友估计要清理下缓存才能看到最新的开发进展。
这个清理缓存与清理网页缓存不同,unity的web程序会直接使用本地存储。
清理方式如下:

给Unity3D WebGL添加下载与上传

2024年12月17日 18:41

最近基于unity webgl 制作了一个绘图板,其中涉及到读写本地资源,并且处理完成数据后要完成下载操作。

其中既包含了上传,也包含下载。即使都是本地的文件操作,但由于浏览器的沙盒设计,我们并不能直接通过IO类进行文件操作,必须通过与js的通信,进行数据交换。

本篇将说明如何将两者数据进行交换,并提供相应的验证过的代码,你可以直接修改并使用下面代码。
理论上来说,这个代码是可以修改为下载其他任意文件的,比如下载贴图这里传的是内存指针,所以不限于下载图片。上传的代码也类似,给unity发送的是一个url,也是替换为任意类型都可以的。

有一点比较值得注意,在WebGL的开发过程中,每次重新部署后进入浏览器页面测试,都需要手动请清理缓存。
否则会出现部分文件被缓存,测试不正确情况。

文件下载

下面是个js封装库,并且实现了对图片文件的下载与上传。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
mergeInto(LibraryManager.library, {
DownloadTexture: function (dataPtr, dataLength, fileName) {
var data = HEAPU8.subarray(dataPtr, dataPtr + dataLength);
var fileName = UTF8ToString(fileName);
var blob = new Blob([data], { type: 'image/png' });
var url = URL.createObjectURL(blob);
var a = document.createElement('a');
a.href = url;
a.download = fileName;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
URL.revokeObjectURL(url);
},

LoadImageFile: function () {
var fileInput = document.createElement('input');
fileInput.type = 'file';
fileInput.accept = ".jpg,.png,.tga"; // 限定文件类型
fileInput.style.position = 'fixed'; // 固定定位
fileInput.style.left = '-100vw'; // 定位到屏幕外
fileInput.onchange = function (e) {
var url = URL.createObjectURL(fileInput.files[0]);
window.unityInstance.Module.SendMessage('ImageLoader', 'OnImageLoaded', url);
};
document.body.appendChild(fileInput); // 添加到body,使其可以被点击
fileInput.click(); // 模拟点击
setTimeout(function() {
document.body.removeChild(fileInput); // 移除元素
}, 100); // 稍后移除,确保文件输入有足够的时间打开对话框
}
});

文件上传

当然这里也有一些值得注意的东西:

传入的参数有类型限制

string, a number 就这俩,之前我一度尝试使用byte[],或者从js发送内存指针都提示参数类型不正确。
下面是文档摘录。
Where objectName is the name of an object in your scene; methodName is the name of a method in the script, currently attached to that object; value can be a string, a number, or can be empty. For example:

在input很容易获取浏览器的缓存文件,通过URL.createObjectURL() 方法,创建一个表示参数中给定文件对象或 Blob 对象的 URL。这个方法返回的是一个 DOMString,它包含了一个唯一的 URL,这个 URL 指向由参数指定的文件对象或 Blob 对象,最后通过WebRequest加载这个URL就可以达到我们的目的。

这里使用了async语法,注意如果你改动这部分报错了,大概不会提示出来,会很难查bug哦。哈哈

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public async void OnImageLoadedAsync(string url)
{
// 使用 UnityWebRequest 来下载图片数据
UnityWebRequest request = UnityWebRequest.Get(url);
DownloadHandlerTexture texDl = new DownloadHandlerTexture(true);
request.downloadHandler = texDl;

// 发送请求
await request.SendWebRequest();

if (request.result == UnityWebRequest.Result.Success)
{
var imageObject = GameObject.Find("ImageObject");
var sprite = Sprite.Create(texDl.texture, new Rect(0, 0, texDl.texture.width, texDl.texture.height), new Vector2(0.5f, 0.5f));
imageObject.GetComponent<UnityEngine.UI.Image>().sprite = sprite;
}
else
{
Debug.LogError("Error downloading image: " + request.error);
}

request.Dispose();
}

需要获取运行实例

下面摘录自官方文档,大致意思是js要调用unity的逻辑需要找到对应已创建的实例。

1
2
3
4
However, if you are planning to call the internal JavaScript functions from the global scope of the embedding page, you should always assume that there are multiple builds embedded on the page, so you should explicitly specify which build you are referencing to. For example, if your game has been instantiated as:
var gameInstance = UnityLoader.instantiate("gameContainer", "Build/build.json", {onProgress: UnityProgress});
Then you can send a message to the build using gameInstance.SendMessage(), or access the build Module object like this gameInstance.Module.

下面代码是生成后的index.html,我们直接将unity的实例保存到当前window中 window.unityInstance = unityInstance; 方便全局调用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    var script = document.createElement("script");
script.src = loaderUrl;
script.onload = () => {
createUnityInstance(canvas, config, (progress) => {
document.querySelector("#unity-progress-bar-full").style.width = 100 * progress + "%";
}).then((unityInstance) => {
window.unityInstance = unityInstance;
document.querySelector("#unity-loading-bar").style.display = "none";
document.querySelector("#unity-fullscreen-button").onclick = () => {
unityInstance.SetFullscreen(1);
};

}).catch((message) => {
alert(message);
});
};

document.body.appendChild(script);

参考官方文档 https://docs.unity3d.com/2017.3/Documentation/Manual/webgl-interactingwithbrowserscripting.html

又至年末

2024年12月16日 14:54

今年一年过的真快,很难说有什么感慨,若说有,也只感慨忙忙碌碌的一年又快被过完了。

年初定了一些计划

确实有一些,也完成了一些,这些都是围绕建设公众号做了一些工作。
记录一下后面想写的主题 2024-01-24
说到这个公众号,订阅至今还差三十多人才满五百,果然发文的频率还是太低了。
由于里面发的都是技术文,受众少我倒觉得也很正常。
反正就是工作之外的自娱自乐,写着玩,倒是无所谓了.
倒是今年的下半年开始在博客中发一些生活类的文章,直接被归类为生活博主,这也很符合目前对此博客的定位。

裁员潮

依旧没有停歇,游戏行业一直在风口浪尖上,一度让我觉得不安。若说什么让中年男人最怕的,大概是下岗失业了。
当然从业十余年的游戏人,说要转行到其他行业,也是很难转。
虽然都是程序员,也是有细分项。总体来说也就三字,不容易。
前段时间看到福建某龙的企业内部会,大概是要将大部分工程师优化掉,让AI替代人工,现在这头就成了一个风向标。
若成,恐怕又为25年开了个坏头,环境变差,竞争就会变得激烈,已经很卷的环境就越发糟糕。

修车

前段时间才去车检,这不又出故障了。发动机故障灯+EPC故障灯都亮了。

由于是上班途中,也只能先开到公司附近的途虎养车去维修了。
这个维修价格在我这种外行人眼里看来太高了,由于不懂行,也只能认了。

手工

幼儿园老师又给我们布置作业了,这次我学聪明了,直接买的老师推的链接。果然安装起来简单。
结果群里另外一个老师又说了,希望动手制作,言外之意是让我们用生活中的材料手动做一些。

糖葫芦

领导晚上有空,就尝试做了一些糖葫芦,结果这个糖汁没有凝固,大概是做失败了,但是宝宝吃的挺香的。
我家娃挺爱吃草莓的🍓 我倒是啥水果都觉得一般性,没啥爱吃的水果,可能大部分男人都差不多 ?

以上,闲时小记,不是年终终结,咱不写这玩意。

记录下最近的生活

2024年12月11日 00:00

🧑‍🍳 请客

上周六领导的家人过来作客。提前一天,我们去盒马NB买了差不多两百的肉类,又跑到附近的蔬菜超市买了很多蔬菜,周五晚上就开始炖了猪骨,怕第二天时间不够,即使已经提前准备了,也是十二点半才开饭的,大家的都饿的差不多的,反正都觉得是好吃的菜。

记得当天烧了好几个硬菜,黄焖鸡,话梅排骨,猪骨萝卜汤,空气炸锅做的鸡翅,炒青菜,老丈人还带了提前烧好的梅菜扣肉,热气羊肉,大概是预防他女儿烧菜翻车所以带的。

要问为什么说了那么多连个图都没有,那天人很多,场面很混乱,谁都不记得拍照。过来一家五口人,着实热闹,什么都搞忘记了。姑且报个菜名,脑补下画面吧。

我挺佩服领导的,自己一个人就能整出一桌子菜,当然我只是打打下手,比如刷锅洗碗之类的。

当然我也想过说让我来烧饭,由于是新厨房,领导怕我炸了,只得就此作罢。

手工

不知道幼儿园这段时间是刮的什么风,小朋友和家长都在制作手工,主题是小乌龟。之前学校有发过手工的材料。
宝放学带回家,奶奶也不知道是啥,然后宝宝就拿着剪刀一顿嚯嚯,就发的这一点点材料,早就折腾没了。
幸好,我这边还备了一些存货,完成图如下。

像素艺术家

前段时间开了个独立项目的坑,我也是慢慢想明白往哪个方向走。还是准备先做个像素图编辑器。
这两天被一个旋转问题卡住了,今天晚上才调试通,要问是什么,简单的说就是 Map的旋转,图形的旋转。

正常我们旋转一个东西,只需要在编辑器输入角度即可,这样做,确实可以,但是更优的方案是在数据层面讲行列转置。
转置之后的数据,是旋转了,但是Map本身又没有旋转,仍旧可以进行各种Shap的拖放,保持与未旋转状态一样。

所以我常说算法上的活不能偷懒,万丈高楼平地起,慢慢来吧。

像素艺术家-开发日志

2024年12月6日 16:49

类似的方块游戏特别多,我想着做点差异玩法,前一段时间也有分析过,背包乱斗的玩法与代码,这种玩法还挺上头的。
背包大乱斗与俄罗斯方块(设计篇)
背包大乱斗与俄罗斯方块(代码篇)

目前在制作中的游戏就是从那份分析代码中衍生出来的,重构-重构-就出来了一个新的框架。

对最开始的一版代码进行的优化:

  1. 支持同时存在N张map,并且支持了Map缩放,行列定制。
  2. 拖动两个方块重叠,会直接还原到拖放之前的位置。
  3. 解决了一些微不足道的bug

在考虑是否有必要支持多个地图进行动态的拼接,即多个地图靠在一起,啪叽,融合成一个。
还有个想做的是支持跨地图的砖块拖放,当然这涉及到游戏规则的定制了。

现在这款游戏的状态就像是,创造了世界,但是忘记创造了规则(玩法)。
朋友们有啥想法吗,请畅所欲言,哈哈。

你可以在左下角的猫咪菜单栏点击爱心,打开这个程序,或者访问 https://px.vrast.cn 均可。

清理缓存

如果之前打开过我这个站点的朋友估计要清理下缓存才能看到最新的开发进展。
这个清理缓存与清理网页缓存不同,unity的web程序会直接使用本地存储。
清理方式如下:

记录一次幼儿园研学活动

2024年12月6日 10:52

上班路上等红灯,路边的树叶都渐黄了,只能感慨今年过得可真的快。

今天应该先抽空写点日常,不然这周又糊弄过去了。这段时间闲下来都在写独立游戏,说是独立游戏,也只是在搭玩法框架。说在忙,也是瞎忙。

刚好前两天宝宝的幼儿园有开展了户外活动,便在这里记录一下。

各位家长:
你们好!结合“交通工具”“我们的城市”“我是中国人”等主题,激发孩子发现中国的科技发展之强大,同时也满足孩子们对天空和飞行充满好奇和向往,为此,我园将计划12月初开展“小小航空梦想家”科普课程,通过实践活动,让孩子们近距离接触航空知识,拓宽视野,增强科学素养。
活动地点:索飞航空飞行中心(浦江镇沈杜公路)
活动时间:12月3日:托小混龄班幼儿+1名家长(家长费用100元自理)
活动准备:自备午餐(书包、水杯、午餐)
活动安排:
• 9:30-10:10模拟飞行体验
• 10:20-11:00动手制作
• 11:00-12:00午餐+休息
• 12:00-13:00射击打靶体验
• 13:00-14:00扫雷活动体验
• 14:00结束返程

活动安排的挺密的,又是羡慕宝贝的一整天。

枪械解说与射击体验


扫雷体验教学

天文知识教学

手工活动


开飞机体验课

自己动手制作了小飞机,带电机的,据说宝宝的飞机是飞的最高的一个,最后飞到了三楼拿不下来了。
最后奶奶问好心的工作人员,是个善良的小姐姐,又给了宝一个。

以上 记录一次去 索飞航空飞行中心 的幼儿园研学活动。

三游奈尔宝

2024年12月1日 23:30

稍微记录下昨天的日常,昨天上午跟宝宝玩了一上午的打豆豆。大概就是看书《找不同》,玩磁力积木。
下午才出发,原因我在第一次去奈尔宝的时候已经记录过,那边的午饭是真的难吃且价格不便宜。
里面不让带小零食,但是看门的小姐姐暗示,放到包里没关系的。
当然可以出来出,吃好再进去,一次出门的时间需要小于15分钟。
条件挺苛刻的,但也许这就是奈尔宝的生财之道。

天空之城奈尔宝

基本上算上海数一数二大的奈尔宝分店了,主要特色是两层楼高的滑梯
里面的高滑梯,是真的高,大人玩没问题,两层楼的高度,旋转滑下来,而且是全封闭的滑道。

我抱着宝宝玩了两次,第二次宝宝哭唧唧,我以为是在说害怕,就没有玩第三次。
后来回家我问她,你是害怕吗?
“我的腿,撞疼了” 指了指自己的右侧小腿。
看来家长抱着小孩玩,也是挺有风险的,毕竟速度太快了,就算抱着,小孩的四肢也可能被挤压到。
还不如让娃自己滑下去 。


星河湾奈尔宝

比较小,特色不明显,太多地方家长需要弯腰前进,大概再也不会去第二次了。

长泰奈尔宝

跟天空之城差不多大,项目比较适合小月龄的小朋友玩。
长泰店之前有记录过,奈尔宝游记

梦游?

我家宝宝晚上睡觉会到处爬,上半夜基本上睡的安稳觉,大概到3,4点的时候,就开始坐起身来,爬到床边,或者另外一个角落,抱着枕头或者趴着睡觉,你只要给她盖上被子,没一会儿就回重复上个步骤。

我一度怀疑这是在梦游,但是我没有确切的证据,原因是你叫她两句她能哼哼唧唧的答应,这一点梦游症应该无法解释。

以上记录一个愉快的周末出游。

记录第一次幼儿园运动会

2024年11月29日 13:55

这是我们第一次参加,幼儿园运动会,宝宝们也是第一次参与。
总体来说小朋友们都表现非常好,纪律和配合性上都像是中班的孩子了。

我们所在的班级是混合班,由小班与托班混编制,原因是现在生源少了,所以很多的公立幼儿园都采取这种办学措施。
好处也有,小月龄的孩子,跟着大点的孩子,会更快的成长,是今年才开始施行的,我们托班的时候没赶上这种好事。

我家娃好像在幼儿园里表现的胆子很小,被戏称“在家一条龙,在外一条虫”。你跟她说吧,她还不理你。

小运动员们闪亮登场!

热身环节,居然是举高高

参加完滚球项目,开始休息,滚球项目顾名思义跟爸爸一起把球滚到终点再折回来

所有的班级都同时获得了第一名奖杯🏆,这叫共赢!

小憩一会儿

领导摄影,大合照

以上记录第一次幼儿园运动会

交个朋友

2024年11月28日 22:10

想起记录一下这个事情,是源于昨天在公众号收到网友的私信,问
“兄弟,你做什么工作的,我这边有一个项目3D堆叠消除的游戏,不知道你有没有兴趣”
然后留了微信,隔天我们添加了好友。
由于我俩后来还聊的不错,具体聊天内容就不能公开了。

吸引力法则

早上我收到网友的消息,稍微总结下就是,我有想法,模仿个游戏,但是我没做过游戏,没资金,但是我有信心我们强强联合赚钱分。

看完他陆陆续续发的一段话。我是如下回复了:
“我这个人不忌讳交浅言深,所以我不避讳跟你说实话,你一开始就丢个饼的行为是不对的。打工的牛马什么饼没吃过”

本人愚见,真诚是交流的最正确途径,大家都不浪费时间,不合适就不聊,聊的来就哆嗦上几句,也无妨。

吸引力法则告诉我们,你要上来就谈钱,你身边就是都跟你谈钱的人。
如果说有人,上来被你分钱的饼砸中,相信我,别人看中的一定就不是这个饼。

认知以外的钱

基本上没有企业会限制员工,在工作之外去做任何私活的,当然在不使用公司资源的情况下。
所以这件事,本身不会有任何问题。

那现在的问题就是,你做的这个活,是否在你的领域内,我们是否能够跨领域去做私活,赚钱 ?
我给的答案是否定的,人赚不到认知以外的钱。

当然,这个朋友以前出过书,所以我建议是基于他之前出的书,细化一下人群分类,将书的受众人群转移到低龄化,这样又能赚到一波钱。

“听你的,我考虑一下这个,其实书销量不错的话还是很可以的,可是很难[捂脸]”
“难就对咯,赚钱哪有容易的,如果有容易的 请麻烦务必告诉我”

最后合作没成,但是也交了朋友,如下,我可截图了,你别忘了。
“对啦,我现在在北京这边工作,你有机会来这边出差可以知会我一声,可以请您一起吃个饭”

Windows10出现大容量存储设备禁用情况

2024年11月28日 18:29

如果你的电脑出现类似情况,可以参考本篇解决,注意是 “你的电脑” 。

Win + R 在运行中输入 regedit.exe 打开注册表编辑界面。

计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR

可能出现如下权限不足

在编辑,权限一栏中,给User用户组赋予 “完全控制” 权限即可。

搞明白事情的次序

2024年11月27日 19:54

搞明白事情的次序挺难,刚开始我是打算直接开发射击游戏的,然后直接放web。

直到我晚上洗澡的时候才意识到,如果做web分发,我只能做小体量的游戏。
一来是我也拿不到很多被优化压缩过的资源,网络上的资源虽然是免费的,但普遍尺寸较大,大尺寸我无法负载分发成本。
二来是找资源费时费力,主要是我懒。

现在我更偏向在线上部署一个demo合集,去验证算法,玩法以及渲染相关的一些东西。
如果是射击demo,就直接用一个模型做玩法验证,就如之前制作的俄罗斯方块一样。

说到俄罗斯方块,我将这个demo放置在左下角黑猫警长的菜单栏内了,点击之后会弹出一个模态窗口。
这个窗口会动态加载一个frame,可以直接看到我最新的制作进展。

改动

之前已经制作了方块的添加,放置,障碍判定,用键盘移动,旋转,现在添加了用鼠标拖拽的功能。

优化

相应的算法也进行了优化,之前一张Map有N个节点,这些节点都被创建了。
现在则改为一张背景图,而不去创建这些节点,节约了大量的性能。
原理是通过获取玩家点击的位置,去计算玩家点击的相对点,如下:

1
2
3
4
5
6
7
8
9
10
11
12
public INode GetNodeMouseHitWorldPoint(Vector3 HitPoint) 
{
var colliderSize = new Vector3(Width, Height, 1) * Scale;
var colliderPosLeftDown = RootPosition - Vector3.one * Scale / 2f;

var relPos = HitPoint - colliderPosLeftDown;

var pointX = Mathf.CeilToInt(relPos.x / Scale) - 1;
var pointY = Mathf.CeilToInt(relPos.y / Scale) - 1;

return GetNodeWithXY(pointX,pointY);
}

清理缓存

今天刚好海河也问我了,如果要看最新的进展要清理下本地浏览器缓存。
虽然现在没啥可玩的,哈哈。

给主页添加一个轮播memos动态

2024年11月25日 19:12

常来我博客逛的朋友们应该都注意过,我的右上角有个寄语。如下图:

我在想有没有一种可能直接拉取Memos的数据,从而动态去取呢。
反正是用js的写起来,测起来都很方便。
随后花了半小时,写了个脚本,看起来它运作的不错。
顺便让豆包给了段样式,做了淡入淡出。
有需要的朋友可以自取,注意下版本号,由于是js拉取的,所以你在本地建一个html也可以进行测试。

以下Memos的API版本为:Version: v0.22.4

网页部分

1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE html>
<html lang="en">
<script src="./a.js"></script>

<body>
<div id="description">
<a>最近在搜寻有趣博客中...</a>
</div>
</body>

</html>

js脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
String.format = function () {
if (arguments.length == 0)
return null;
var str = arguments[0];
for (var i = 1; i < arguments.length; i++) {
var re = new RegExp('\\{' + (i - 1) + '\\}', 'gm');
str = str.replace(re, arguments[i]);
}
return str;
}


let data = {}
let index = 0

function refreshContentInterval() {
if (index >= 4) index = 0;
index++;
var firstData = data[index]
var result = firstData.snippet;
if (result.length > 30) {
result = result.slice(0, 30) + "...";
}
let post_index = "改成转跳的页面";
const descriptionDiv = document.getElementById('description');
descriptionDiv.innerHTML = '';
const aTag = document.createElement('a');

aTag.textContent = result;
aTag.href = post_index;
aTag.id = "fading-a"
descriptionDiv.appendChild(aTag);
}

function showFirstContent() {
var bbUrl = "https://你的memos域名/api/v1/memos?filter=creator=='users/1'&&visibilities=='PUBLIC'&&pageSize=5";
fetch(bbUrl).then(res => res.json()).then(resdata => {
data = resdata.memos;

refreshContentInterval();
setInterval(refreshContentInterval, 3000);
});
}


// 当页面加载完成后执行的函数
window.onload = function () {
showFirstContent();
}

css样式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/* 定义要添加淡入淡出效果的a标签样式 */
a#fading-a {
opacity: 0; /* 初始设置为完全透明 */
animation: fadeInOut 3s ease-in-out infinite; /* 应用淡入淡出动画,持续时间3s,缓动效果为ease-in-out,无限循环 */
}

/* 定义淡入淡出动画关键帧 */
@keyframes fadeInOut {
0% {
opacity: 0; /* 开始时完全透明 */
}

30% {
opacity: 1; /* 中间达到完全不透明 */
}

80% {
opacity: 1; /* 中间达到完全不透明 */
}

100% {
opacity: 0; /* 结束时又回到完全透明 */
}
}

以上,晚饭后半小时的摸鱼杰作。

VisionPro体验报告

2024年11月25日 00:12

今预约了苹果嘉里中心店的VisionPro体验

这大概是和一台高配 Mac 价格差不多的头戴设备(25k+),网络上的各种体验报告已经非常多了。
此前我体验过很多型号的国产VR,苹果的这款产品令我印象最为深刻。
用引导用户的工作人员常挂嘴边的一句话就是:“指哪儿打哪儿”,操作精准度高,稳定性强。

在这里我仅记录一些个人感受,以区别网络上的其他报告。

“十分钟上手,十五分钟沉浸,二十分钟出戏”
之所以我这样小结,应该它上手真的很简单,十分钟用户就可以完全上手,目前只要不涉及用户打字输入的地方,体感都十分的良好。
在学会使用后的前十五分钟你可以沉浸式体验各种APP与全息影像,颇有种把4D影院搬回家,而且是交互式的4D。
当到了二十分钟左右,由于头戴式设备的分量,你会明显觉得头部有个东西向下坠,有点累。由于所有的操作锁定都需要透过“注视”,眼睛也会有疲劳感。正是这些感受,会让我觉得使用20分钟以上会比较出戏。当然,如果自己买回家,是可以通过躺着玩与适应性训练去习惯它,长时间使用应该也没有什么问题。

之所以很难去描述这样一款产品带来的体验是它真的要你自己去感受。

记录最近拍摄的一些图与故事

2024年11月24日 00:23

最近没有什么成文的故事好讲,但是拍摄了一些有趣的图,换句话说大概是我自以为有趣的图。
走走看看,再记录一些瞬间,有时候觉得还挺解压的,unzip (讲个冷笑话)。

江苏路

去江苏路办事,刚好带了相机,闹中取静拍了几张,其实江苏路是非常繁忙的一条路。

街景
地铁站

环球港

宝可梦卡牌道馆的商品是真的很贵的,让人没有什么消费的欲望,大概是我们不是宝可梦周边的受众。
皮卡丘
可达鸭

这边开了一个动漫周边专卖的小铺子,连城一片,当然也看到了一些有趣的玩偶,听说是最近最新流行的造型。
公仔
动漫立牌

除了动漫,其实游戏也可以有很多的周边,比如下面这个,听说喜欢玩这类的女生还挺多。
游戏周边

科创公园

与表姐一家人一起出游扎帐篷,顺便收到了一张违停通知书。
这次跟宝跟小哥哥一起玩,自己穿鞋穿的飞快。
突然发现宝宝其实会穿鞋的,而且做的还不错!
光速穿鞋

公司

浦东这边写字楼真的多,只是流年不利,大部分企业都不好过,相应的办公楼需求也少了。
下图中非常帅的一栋楼大概空关了半年多了,找不到入驻企业也属于正常。
晚霞
大楼

以上,最近所思所想所见。

背包大乱斗与俄罗斯方块(代码篇)

2024年11月21日 16:31

前一段时间写了一篇 背包大乱斗与俄罗斯方块(设计篇) ,具体的实现思路在这一文中已经讲清楚了,后来我抽空去实现了一版。目前看效果还不错。

已经实现,形状的变换,定位,移动,消除,障碍判定等。
本篇稍微讲一下具体的实现过程,以及如何去优化这个算法。

基于池去实现节点的创建与回收

一开始就基于这个池模板去管理所有数量上较多的对象,后期优化的压力会小一些。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public interface IReset
{
void Reset();
}

public interface IPool<T> where T : IReset
{
Stack<T> nodesPool { get; }

T CreateOne<W>() where W : T, new();
void ReturnOne(T item);
}


public class BasePool<T> : IPool<T> where T : IReset
{
Stack<T> _nodesPool = new Stack<T>();
public Stack<T> nodesPool { get { return _nodesPool; } }

public virtual T CreateOne<W>() where W : T, new()
{
if (nodesPool.Count > 0)
{
return nodesPool.Pop();
}
return new W();
}

public virtual void ReturnOne(T node)
{
node.Reset();
nodesPool.Push(node);
}
}

分离算法与表现

我们的算法是需要适应不同的场景的,如果基于一套UI或者3D/2D渲染,混写代码,就会导致这个代码复用性低,迁移起来费时费力。

TileInfo.cs 作为管理单个形状( 物品) 渲染信息的最小单位。我们并不需要在这里书写任何如何去渲染的逻辑。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class TileInfo :  IReset
{
public List<GameObject> Cubes = new List<GameObject>();
public GameObject Tile;
public Color BaseColor;

public void Reset()
{
BaseColor = Color.white;

if (Cubes.Count > 0)
{
for (int i = 0; i < Cubes.Count; i++)
PrefabPoolManager.GetInstance().PushGameObjectByType(PrefabPoolManager.PrefabType.Cube, Cubes[i]);
Cubes.Clear();
}
PrefabPoolManager.GetInstance().PushGameObjectByType(PrefabPoolManager.PrefabType.Tile, Tile);
Tile = null;
}
}

将这个逻辑放到一个单独的Render脚本中,这样处理现在我们已经将渲染画面的功能完全隔离到了 BlockRender。
如果我们有3D的画面,就可以写一个3DBlockRender 或者是 UIBlockRender ,只需要抽象出接口做新的实现即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class BlockRender 
{
public TileInfo UpdatePreSelectNode(PreSelect node, LogicMap map)
{
return UpdateTile(node, node.Shape, node.x, node.y, map);
}

public TileInfo UpdatePreSelectNode(PreSelect node, IShape shap, LogicMap map)
{
return UpdateTile(node, shap, node.x,node.y,map);
}

...

至此我们已经完成了基础逻辑,他包含一个通用的池实现,与一个通用的渲染层。

核心算法

一般来说游戏的业务逻辑复杂度都不高,真要说复杂的,那肯定是渲染逻辑。
这段放置图形的代码,就是背包大乱斗最复杂的业务逻辑了。

通过当前节点的相对点加图形的数据结构中存储的x与y值,就可以推算出逻辑节点的坐标。
注意这边的逻辑节点,需要配置map的信息,比如map的位置信息与缩放进行一个定位,才能换算出真实坐标。

当然下面的代码并没有添加,是否这个位置有阻挡或者已经被占用的判定,由于我们的玩法尚未定型,则将这个判定放到了渲染层,在最后的演示中,你可以看到如果两个图形有重叠部分,重叠部分的区域会变成红色。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public INode PlaceShape(INode node,IShape shape) 
{
node.Shape = shape;

//解析data
var data = shape.Data;
var rows = data.GetLength(1);
var columns = data.GetLength(0);

for (int y = 0; y < rows; y++)
{
for (int x = 0; x < columns; x++)
{
if (data[x, y] == 0)
continue;

INode usedNode = GetNodeWithXY(node.x + x, node.y + y);
usedNode.State = NodeState.CUBE;
}
}

return node;
}

演示

通过空格键可以在左下角创建出方块,wasd去移动,qe可以转换方向,再次空格键可以放下方块。

页面有9M大小,加载较慢。演示地址 : 点我转跳

我尝试在下方加载了一个 iframe ,如果能正常显示的话就不用再转跳到上面的链接了。-

现在上面的演示地址失效,我用来放置游戏demo,当然这个demo也是用如上算法,欢迎参考,关注。

周更博主

2024年11月19日 15:32

什么我居然成了周更博主了,上周有几天在做背包大乱斗的教程,晚上就在玩王者荣耀国际服。
我才知道王者荣耀国际服,经常送玩家史诗皮肤,游戏环境还好,你骂别人都没人回嘴。
大概是语言太驳杂,你看不懂我,我看不懂你。所以让竞技类游戏环境变好的办法大概就是,简化沟通环境。

上吐下泻组合

前两天又又又食物中毒了,被我笑称是上吐下泻组合,她是上吐,我是下泄,宝宝就是组合。

起因是,领导点名吃的泰国菜(simply thai天泰),还贴心的买了两杯奶茶(CoCo)。不知道是这个奶茶有问题,还是说泰国菜有问题,宝宝也吃了烤肉,倒是没有问题。我们大概是喝了奶茶+吃了菜品导致的。毕竟买奶茶喝的也不是我们两人。直到现在我还不理解到底是什么导致我们食物中毒的。

吃到睡着

宝宝吃了几块烤肉之后就开始闹腾,抱了一会儿,就睡着了,吃饭吃了快两个小时,睡了一个小时,看来是真困。白天在家里玩的太嗨了,中午也不睡觉。我发现,孩子越大倒是越不爱睡午觉。

以上,愉快但是不顺利的周末。

背包大乱斗与俄罗斯方块(设计篇)

2024年11月19日 13:53

前段时间背包大乱斗身边的同事玩的还挺多的,刚好这几天有空去研究研究,我还专门去看了背包大乱斗的攻略。发现,“啊,这不是俄罗斯方块吗 ?” 又一番研究之后确实,背包大乱斗和俄罗斯方块有诸多相似之处。

玩法分析

在空间规划与摆放方式上,俄罗斯方块是要将各种形状方块合理放置在游戏区域,通过移动和旋转来填满行以得分,背包大乱斗则要在有限背包格子内合理放置装备等物品,考虑其形状、属性和搭配来最大化利用空间;

在决策过程中,俄罗斯方块玩家要在方块下落时快速决策其旋转、移动和放置时机,考虑方块间关系和后续空间预留,背包大乱斗玩家要依据职业、已有物品和游戏局势做出购买、合成等决策,两者都要综合考虑多种因素;

从形状与组合多样性来看,俄罗斯方块有七种四格方块,通过旋转和移动创造多样组合,背包大乱斗有多种装备等,通过合成、镶嵌等形成不同搭配;

游戏的动态变化性上,俄罗斯方块随着方块下落和消除游戏区域不断变化,玩家要随之调整策略,背包大乱斗在游戏中因新物品获取、对手情况变化而使局势改变,玩家也需要及时调整背包布局和策略。

游戏是继承与发展的。背包大乱斗本质上是俄罗斯方块机制的延展,从后者的空间利用、策略决策、形状组合和动态变化中获取灵感,深化空间放置与规划理念,发展出更复杂多样的内容,如物品属性和合成搭配,其动态变化也更具挑战性,给玩家全新体验。

背包大乱斗

代码设计

透过现象看本质,背包大乱斗的核心玩法,其实与俄罗斯方块是一致的,在这个基础之上包装了一个RPG。
当然你要说这个游戏,有着更加丰富的玩法,固然如此。但这些玩法最终都要依赖这个核心的玩法。

说了那么多,想必大家心里都有了不同的实现方案。那么现在我们动手去实现一下这个玩法的核心算法。

从一个二维数组开始

在所有的一切开始之前,要定义一个基础 Map ,我们所有的坐标定位都要基于这个二维网格。
顺便,我们将基础坐标系定在第一象限,方便我们定位与计算。

对应的数据可以表示成这样 (10X10) 空白格用0来表示:

1
2
3
4
5
6
7
8
9
10
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000

创建基础单位

一个基础单位,有上下左右,共四种朝向,当然这个基础单位可以任意的长短,这是灵活的,可配置的。

我们用虚线格填充这个基础单位,则有了下图,这样的好处是方便通过数据去描述这个单位长什么样子。

虚线格子用0表示,实线格子用1表示, 结合前面我们提到的,将这个坐标系放在第一象限,并且从下往上,从左至右自增。对于单个方块,我们可以用如下的数据结构去描述,它的不同形态:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

010
111


01
11
01


111
010


10
11
10

设计一个运行框架

根据上面的思路我们可以这样去设计程序:

  • 我们的主体就是一张图,其中有N个节点。这个节点有个状态字段,如果不能放置或者被占用则标注之。
  • xy就是节点的坐标,因为我们的节点最终是要存储到一个list内的。
  • ShapeTemplate就是设计的重点,一个图形模板,通常一个图形模板对应多个分形(可以变换的状态)。

实际一个图形,在图中所占用的确切坐标,仅是一个node,根据这个节点定位结合图形的形状,可以轻松的定位到其他几个被影响到的点位。

以上背包大乱斗与俄罗斯方块的玩法分析与代码设计。

八段锦练习效果反馈

2024年11月13日 14:04

从10月20号左右到现在每天晚上都会练一遍八段锦,除了10月31号去体检了晚上断了一天,来说一下这20多天自己身体的变化,练习的是B站的版本,如下:

【健身气功八段锦完整版-带呼吸法口令版-哔哩哔哩】 https://b23.tv/Dg1ifrU

莫名的身体发热

初始原因是前几个月在夏天的时候发现自己手心和脚心一直会发烫发热,但量了体温又很正常,没有发烧,一直不是很舒服又不知道什么原因,在网上查了一下发现是比较像是阴虚,去医院看了中医,果然医生说我有点肝阴虚,肝的阴液不足导致虚热、干燥不润、失眠多梦、咽干等症状,给我开了14天的中药,一天早晚各1剂,医保花了500多。

先别说中药好不好喝,中药肯定都是苦的,就算我不怕苦每天喝2袋也有点遭不住,好不容易喝完14天的药,感觉也没好多少,就喝药期间觉得症状稍微有些许改善,停药后就完全没有效果了,中药真是需要喝很长时间才能有效果,每次500多的中药也顶不住呀,谁知道要喝多久时间才能好呢,于是就没有再去看中医,那身体还是不舒服怎么办呢?

药吃到饱

于是本庸医开始在网上查找对应症状能吃什么药,发现大阴补丸除了失眠多梦这个症状外都能对上,而且一听这个名字就很补,像武侠剧中药的名字,立马激情下单,连吃了3天,每天早晚吃一瓶盖6g,早饭还没吃就开始饱了。

大补阴丸主要用于缓解阴虚火旺引起的症状,如潮热盗汗、咳嗽咯血、耳鸣遗精等,通过滋阴降火等作用来调节体内阴阳失衡状态,但使用时要注意忌油腻食物,脾胃虚弱、食少便溏者需慎用,症状严重或持续不缓解应及时就医。

吃了3天后发现不太合适,好像没有太多改善自己的症状,反而又有些其他不适,于是就停药了,本庸医又在网上找其他药,看到一个中医说这大阴补丸需要和知柏地黄丸一起服用,于是又激情下单,但是刚准备吃就被肖师傅阻止了,跟我说不吃药身体自己也会慢慢恢复的,吃药反而不好,不要吃乱七八糟药,于是本庸医听劝没有再吃药了。

开始跟练八段锦

然后自己的睡眠就越来越差了,经常在床上翻来覆去半小时才能睡着,有时候夜里会出汗,有时候天快亮了就开始有点清醒了,经常晚上还会伴随耳鸣,右耳朵总是在咚咚咚的打鼓,休息不好精神就更差,人容易烦躁,脾气性子也有点大,刚好10月底又约了检查身体,心里想这不完蛋了,这身体这么差检查出来岂不是更不好了?

凑巧有一天晚上刷B站的时候看到了八段锦,之前也有看到过但没当回事,这次心里想要不试试吧,说不定能改善一些呢。

随后神奇之处就来了,练了几天后我的睡眠首先得到了非常大的改善,每天晚上睡前都很困,5分钟就睡着,做的梦也不记得了,渐渐地晚上也不出汗不会醒了,有深度睡眠睡得很沉,耳朵也不咚咚咚耳鸣了,虽然手脚有时候也会有点热,但是已经比之前好多了!

我真没想到竟然这么有用,一个健身操竟然对睡眠有奇效!随即到现在已经有20多天不到一个月了,当中断了一天很懊悔,因为感觉断了一天之前练得又从头开始了,每次练完气沉丹田的时候,总会感受到一些气在丹田中,这种感觉很奇妙,无法言喻,而气是一天天锻炼累积的,断了一天气又得从头开始攒了,就变少变轻了。精气神感觉也好了很多,之前每次出门或者做饭的时候都觉得人特别疲惫,现在明显感觉好很多,没有这么累了,真是感谢老祖宗留下的遗产,让我解决了令人头疼的身体问题,再次感受到中华民族文化的底蕴!

顺便说一下,新手练八段锦先不要跟呼吸,先把动作扣明白了,有很多细节可以在-在线文档学习,如果刚开始练动作做不到位也不要着急,尽自己最大努力跟练。我是比较喜欢做操的,以前也经常会跟练各种操,身体协调性和柔软性也ok,肩颈方面有什么不适也是通过针对性做操来改善的,因为对无氧运动没什么好感,体力不行。

对公园的大爷以及广场舞大妈,质疑他们,理解他们,成为他们,最后,希望大家也能经常想起来去锻炼一下,一起强身健体!~

找对象

2024年11月12日 16:36

我妈妈开理发店,平时接触的人也比较多,上周六晚上我妈跟我说讲了个委托。
一个湖北咸宁的老乡(这不巧了),说想问问我妈能不能帮忙介绍个对象。
我妈顺利成章的将这个艰巨的任务让给我了,说让我问问身边的朋友。

对女方的要求

小伙是附近中国航天研究所工作的,交大的博士生,年入40w以上。
我问他是否要找上海的小姑娘还是外地的也行,对学历有没有什么要求。
得到的是这样的回答:

男孩的心思你别猜

哎,虽然小伙是个好小伙,但是这要求也有点双标了吧,对本地的对象直接学历降一档。
我只能说小伙想躺平的愿望我是能理解的,但是你大大方方的说出来应该更好一些。

当然上述言论,是我事后得出来的,且听我讲,随后我给他介绍了领导的小闺蜜。
领导的小闺蜜目前在苏州工作,德语专业硕士,刚工作1年。
大概情况与照片我的给了这小伙,我想着小伙的要求是外地硕士,那不刚好符合要求。
结果告诉我是异地,让等一年姑娘来上海工作了再介绍给他。

我此时只是想说:学历和情商是两码事 。估计这小伙还不明白,反正后面我也不会给他介绍了,就此打住。

最后,给领导的闺蜜发一个相亲贴子

发一张小闺蜜的照片,具体情况如果你自己看了上文应该能了解。如果有合适的男士可以留言,推荐一下。

记录下平淡的生活

2024年11月12日 15:59

最近好像没有什么想写的主题了,大概是陷入了盲目的创作枯竭期。又或许是回归到生活的本质。
在网络上还是有人不断的制造,贩卖焦虑。要知道散播这种情绪是会让人能量场降低的,我建议是不要看。
还是多关注关注生活中美好,值得去记忆的东西,可能是景色,也可能是一时间的感慨。

学舞蹈,但是白跑一趟

周末带宝宝去上舞蹈班体验课,周末还下着小雨,上午约的九点,实际我们抵达大概九点二十。
宝一开始就说不想去,我还想去看看,万一看到其他小朋友跳舞,宝宝也想玩。
结果进去之后,直接哭着要走,那就走罢。
走的时候,前台小姐姐也说,我们家太小了,等大点再来看看。

回家玩积木

回家倒是挺开心的,玩了一上午的积木。 后来我跟家人讨论这件事都觉得是宝宝想赶紧回去玩玩具,所以不想去上课。
不过话说回来,玩什么不是玩呢,舞蹈和积木在我看来好像没有什么区别,也都是玩耍。


领导安排了四菜一汤

家里分工是领导烧饭,我洗碗,宝负责吃,可乐鸡翅,牛肉汤,烤南瓜,粉丝煲,虾仁跑蛋。
宝比较喜欢吃鸡翅,一顿能吃五个。

幼儿园做了手工,老师还带小朋友们去水果店买水果

我倒是比较少带宝宝去水果店,相对水果店来说宝宝喜欢逛超市大概更多一些。


近期在118广场有个军事主题展览

图是8天前拍摄的,那时候还在布展,感兴趣的朋友可以去看看,应该还能赶得上。


去日不可追,来日犹可期

2024年11月8日 11:30

我们这边传统虚岁是1岁,比如今年我满30周岁,就叫三十一岁,前两天刚好是农历生日。
现在过了三十这个坎,再回首二十多岁的样子,记忆里居然是有些模糊的。

我女儿常说过去的事,都是昨天。在她小小的脑子里,只要隔了天,无论是隔了多少天的事情都是叫昨天。
此时我突然觉得这样描述非常好,只有昨天,今天,明天,没有过去,人活的轻松又自在。

这叫什么? 理应是,去日不可追,来日犹可期 。

领导给买了个生日蛋糕

哦对了,还送了我一个小玩具-适马18-50镜头开箱,再次祝领导千秋万岁,永远十八。

宝宝是这样说的,爸爸你赶紧吹蜡烛,我等不及要吃蛋糕了!😅

当然也乖乖的陪唱了生日快乐歌,乖宝已三岁半了,时间也过得真快。

父母送了一块佛牌,说保佑平安

这个岁数了,父母叮嘱平时要注意安全的次数明显增多了 。突然想起来一个处世原则,叫幸福者避让。

幸福者避让原则

简单来说就是当你过得很幸福的时候,要是遇到了冲突或者别人的挑衅,别冲动地去对抗,而是选择退让。因为幸福的人有很多在乎的东西,像美满的家庭、稳定的工作啥的,而那些找麻烦的人可能没什么可牵挂的,跟他们硬刚可能会给自己带来更大损失。所以幸福者避让不是软弱,是保持理性和包容,是为了保护自己的幸福生活,不被一时的冲突给破坏了。就好比一个幸福的人在外面遇到无端挑衅时,明智地选择息事宁人、退让离开,这既是保护自己和家人,也有助于社会和谐。

补发一张图

买了个小模型,本来打算是晚上就拼好,结果应为质量太差,陆陆续续好几天晚上弄好。
练练对形体的理解挺不错的,有时候拍摄人物的身体不知道怎么摆姿势,刚好买个模型练一练。

以上,三十岁生日,小记。

记录两次与友人交谈

2024年11月5日 15:36

读书还是找工作

先说近的,今天中午和领导出去吃午饭,遇到两个不认识的妹子拼桌。我和领导吃了有一会儿了,她们的香锅刚点好,还在位置上等。周围吃午饭的客人很嘈杂,但是桌子很小,不可避免我与领导听她们的交谈会很清晰。

俩人兴致勃勃的交谈中,会提到实验室,实习,宿舍的字眼。特别是我还看了我斜对面女生一眼。就这个清澈而带点发光的眼神,好了,是研究生无疑了。我跟领导说,你看你隔壁的女生特别像徐yy,领导摇摇头说不像,“我说的不是这个脸,你看她的这个眼神,特别像徐yy刚工作的时候”,我们与徐yy刚认识的时候,就是她来我们公司实习的时候。徐yy也就是之前某一期文章中提到的小闺蜜 -世嘉都市乐园游记 。领导挺喜欢和大学生交朋友,说是大学生不复杂,社会上的人复杂比较难做朋友。我深表认同,工作的越久,接触的人越难交心。

话说回来,两位女生都是零零后,生物学研究生,癌症/神经 方向的。一个是川渝另外一个是广西桂林。
“巧了,前段时间我们刚去你老家玩”,桂林市游记 , 桂林市周边游记 ,这下好像距离感就缩近不少。

聊了有半小时吧,工作餐时间吃了一个正式餐的时间。有一些话我觉得印象很深刻。
“附近租房子最便宜要2300一个月,实习一天只有一百”,
“看来小时候成绩太好也不一定是好事,现在发现研究生这么多,对口的工作都饱和了”,
“21世纪是生物学生的元年,因为学生物的都转到各行各业了”,
“现在本科生的活都是研究生在做”。

关于为什么现在研究生比前些年明显的多,我个人是有一点想法的。大概是现在零零后只要上学基本上不存在着急学费的事情,再加上一代人固有印象就是知识改变命运,经济压力小了所以选择直升研究生的更多一些。
你要问知识是否能改变命运 ? 首先我认同这个观点。可现实又告诉我们,现在的环境对于研究生,大学生来说找工作真的很难的。

跟任何人说不

再说上周日与一老同学,相约商场去玩滑板。约我出门是比较困难的,约了两周鸽了一周,有娃家庭大家都知道,时间安排不过来挺正常,滑板运动也不适合小孩子参与。他因为辞职了,所以时间上比较灵活。前段时间他跟我说过感情上的困扰,我还以为这次还要跟我倾诉云云。

他玩的是长板,我玩路冲。我是直接划着板子去商场找他的,这边是个露天商场,中间有广场可以玩滑板。
到了之后,我俩先沿着商场周围划了一圈,不得不说,长板是真的快,玩路冲我的腿都拧麻,还是追不上。
长板速度大概速度是路冲的两倍左右。“看来你不带你老婆来是正确的,不然你划得这么慢。多没面子”,我就笑笑。
“你试试我的滑板,我试试你的?”,随后我俩交换了下滑板,他的板子中间软,我体重大,上去会有明显凹陷,他尝试路冲又是左右晃各种不平衡,“不行不行,不适应。”

“我辞职了,是被迫辞职的,公司的管理层有问题,我找了个公司的原因,直接书面通知公司,被迫离职就走了。我们公司的管理层都没什么好下场,有些都被关进去了”
“那你怎么不问公司要赔偿?”
“赔偿也就十万块,我们公司有法务的,而且公司会找到各种理由拒绝赔偿,万一仲裁失败了,可不就丢人了”
“你不工作你家人支持吗?”
“不谈家事”
“女朋友呢?”
“这个也不谈”
“你现在不工作,大概多久再找呢?”
“两年”
“为啥那么精确”
“因为我的失业金就可以领两年”
“原来如此,前段时间我和朋友算了一笔账,大概是在上海一千两百万存款,就可以算财务自由了。再也不用工作了。每个月的利息就可以很体面的生活”
“我觉得不需要1200万,给我100万,甚至10万我都没有的情况下,我都能跟别人说不”
“是不上班吗,我觉得不太行,不上班,娃咋办,哦对,你还没结婚没有娃,那你女朋友呢,你女朋友的同意的话,女朋友的父母同意吗”
“我又没结婚,房贷也提前还清了,女朋友不同意就跟女朋友分手”
“果然孤身一人的情况下,能有勇气跟任何人说不”

聊得差不多了,我俩都准备回去,临走的时候我又问了他一天是怎么过的,
“你给我讲讲你现在不上班的一天都是怎么过的呗?”
“晚上九点多上床,玩玩手机,三四点睡觉,早上睡到十一二点起来,吃个早饭。吃两个包子,下午玩原神刷会视频然后再刷会儿视频玩玩原神,晚上就过来找你玩了”
“你早上还是要早点起来的”
“我为啥要早点起来呀,我又没有事”
“你早起我心里舒服点…”

遭遇Follow源失效

2024年11月4日 14:07

rss订阅本质上就是访问一个存于网站的不定期发布的xml文件,我的网站每次生成静态页面的时候都会更新这个文件。
从上周五开始,我在follow上的源显示失效,实际上是可以正常访问的(通过浏览器访问这个文件)。
https://vrast.cn/atom.xml?t-1730687790025
本文记录一下这个问题以及如何去解决。

询问

找到博客圈的大佬 dujun,帮忙看看是否能访问,结果是不行。

@keyle 嗯,你网站现在不能访问了。我本地可能有缓存。我用国内和境外的两台云电脑访问你的网站,都提示 DNS_PROBE_FINISHED_NXDOMAIN。

合理推测

由于之前套了又拍云,本质上是将自己的站点做了反代,访问过来的流量实际上会走又拍云的服务器。
使用 https://tool.chinaz.com/speedworld/vrast.cn/atom.xml 站长测试工具,测试果然是有问题的。
又拍云的小鸡在外网访问速度都是0,应该是做过隔离处理。
将套的CNAME停用,等了十分钟再次测试,结果如下,直连可以访问。

解决问题

再次在Follow上刷新订阅源,问题解决。

再次感谢 @dujun 的帮助,如果你也套了CDN发现类似无法访问问题,也可以用站长工具测试下,外网是否被屏蔽。屏蔽的话,这个follow肯定就拉不到源的。

后记

我在又拍云提交了一个工单,很快就收到了回复。原来又拍云是可以控制是否启用全球访问。
这里要给又拍云大量的夸夸!真的很棒!

CDN性能优化一栏内可以找到这个选项

适马18-50镜头开箱

2024年11月4日 13:03

第一次写开箱,当然这是极不专业的开箱测评,纯粹是记录下领导给买了新玩具。
如果对你选择镜头有帮助,那就太好了。
半画幅3-4k的镜头里,在我看来基本上就两款,一款是腾龙17-70,另外一款就是这次开箱的。
由于我这边的设备是微单,如果是单反我会选择腾龙,其实也贵不了多少,大概2-300的样子。
微单用腾龙,无异于马骑吕布,大概是这样的画面。
在画面相差不大的情况下,我这边主要的选择指标有两项,重量与尺寸。

相关的参数信息

适马 18-50mm F2.8 DC DN|Contemporary 镜头的参数如下:
光学参数:

  • 焦距范围:18-50mm,可满足日常拍摄中的多种焦段需求,如广角端适合拍摄风景、建筑等大场景,长焦端可用于拍摄人像、特写等。
  • 最大光圈:f/2.8,恒定大光圈能够在不同焦距下提供充足的进光量,保证了在光线较暗的环境下也能拍摄出清晰、明亮的照片,同时还能营造出浅景深的效果,使主体更加突出。
  • 最小光圈:f/22,较小的光圈可以在需要大景深的场景中使用,例如拍摄风景时能够使前景到背景都保持清晰。
  • 光圈叶片数:7 片(圆形),圆形光圈叶片可以使焦外的光斑更加圆润、柔和,增强了照片的美感。
  • 最近对焦距离:广角端为 12.1 厘米,长焦端为 30 厘米,较近的最近对焦距离方便拍摄近距离的物体,能够展现物体的细节。
  • 最大放大倍率:广角端为 1:2.8,长焦端为 1:5,具有一定的微距拍摄能力,可以拍摄出较大的物体影像。

物理参数:

  • 镜头结构:10 组 13 片,其中包含 1 片 SLD(特殊低色散)镜片和 3 片非球面镜片。SLD 镜片可以有效减少色散现象,提高画质;非球面镜片则能够矫正像差,使成像更加清晰、锐利。
  • 视角:不同卡口的视角稍有不同,L 卡口和索尼 E 卡口为 76.5°(广角)-31.7°(长焦);富士 X 卡口为 76.5°(广角)-31.7°(长焦);佳能 RF 卡口为 73.4°(广角)-30.0°(长焦)。
  • 滤镜尺寸:φ55mm,方便搭配相应尺寸的滤镜,如偏振镜、UV 镜等,以满足不同的拍摄需求。
  • 尺寸:不同卡口的尺寸也有所差异,L 卡口为 φ65.4mm×74.5mm;索尼 E 卡口为 φ61.6mm×76.5mm;富士 X - 卡口为 φ61.6mm×76.8mm;佳能 RF 卡口为 φ69.2mm×74.5mm。
  • 重量:L 卡口和索尼 E 卡口为 290g;富士 X 卡口为 285g;佳能 RF 卡口为 300g。

下面图片中的主要设备

  • Sony-zve10
  • 适马18-50
  • 天利MrcUV



拍了一些照片

上海野生动物园游记-链接

上海野生动物园游记

2024年11月3日 23:14

计划带宝宝去野生动物园玩很久了,刚好今天是个大天晴,昨晚领导准备了一堆小零食。
我大概总结下带娃去类似动物园博物馆几样必带的:

  1. 水,零食
  2. 推车
  3. 隔汗巾
  4. 替换薄衣物

这几样排名简直不分先后,母慈子孝是不可能的,零食堵嘴是实实在在的。
要想太太平平的玩耍,最好是全程手推车前进。当然每个娃的情况不太一样,至少我家是这样的。

动物园P4停车场,入场路边人公湖

DSC02592

太阳岛表演,大约15分钟左右

DSC02617

熊猫睡着了,是真的睡着了

DSC02644

害怕天鹅吃手手

DSC02603

“妈妈我不敢喂大象!”,宝宝第一次跟动物互动表现的很怕,看了以后应该多去去。

DSC02680

宝跟领导去坐摩天轮了,图片压缩后天空上的云,色彩有点不对,但是将就看吧

DSC02669

河马的护栏是很低的,简直一步就能跨越,但是河马肯定不想出来

DSC02693

这鹦鹉也没有拴绳子,就是不飞走?

DSC02709

游览车进去的随手拍 1

DSC02719

游览车进去的随手拍 2

DSC02727

游览车进去的随手拍 3

DSC02730

游览车进去的随手拍 4

DSC02735

游览车进去的随手拍 5

DSC02738

游览车进去的随手拍 6

DSC02740

Stable Diffusion 的一些基础知识

2024年11月1日 17:32

Stable Diffusion 作为一种先进的深度学习模型,在人工智能领域尤其是图像生成方面具有重要意义。
这个章节是学习使用AI绘图绕不过的,无论使用哪种工具,都需要对其原理有个基础的的了解。

“很简单,我去采石场,看见一块巨大的大理石,我在它身上看到了大卫。我要做的只是凿去多余的石头,去掉那些不该有的大理石,大卫就诞生了。” –米开朗琪罗

整体架构

Stable Diffusion 是一个复杂的系统,由多个组件协同工作。以文生图为例,用户输入文本提示(prompt)后,首先由 Text Encoder(如基于 CLIP 模型的文本编码器)将其转换为 77 个等长的向量,每个向量包含 768 个维度。这些向量包含了文本的形态、视觉和语义等特征信息,使得模型能理解用户需求。
接着,这些向量与一张随机图(可视为充满噪声的图)一同进入 Image Information Creator。在此组件中,它们先被转换到 Latent Space(潜空间),然后通过多步(Steps)降噪过程,将随机图逐步转化为包含用户所需图像信息的 “中间产物”。这个过程中,Noise Predictor 根据随机图、prompt 向量和当前 Step 数预测噪声图,通过一系列计算(如噪声图相减、放大并相加等操作)来去除不需要的噪声,且负向 prompt 也会影响噪声计算从而改变最终图像。
最后,Image Decoder 将潜空间中的 “中间产物” 解码为最终的图片,整个过程类似在充满噪点的图像中 “雕刻” 出符合 prompt 的图片。

技术原理

其基于扩散模型原理,通过在训练过程中学习如何给图像添加噪声然后逆向去除噪声来生成图像。潜空间技术是关键,它通过对原始图像进行编码和降维得到低维空间表示,大大提高了运算效率,使得民用 GPU 也能相对快速地完成任务,同时也有助于更好地控制图像的细节和风格。但该技术也存在一定弊端,如数据编码再还原过程中会导致部分数据丢失,使得图像可能出现一些细节缺失或奇怪的情况,例如生成图像中的文字可能不够准确。

降噪过程与原理

基础概念

在 Stable Diffusion 中,降噪是将随机噪声图逐步转化为符合文本提示(prompt)的清晰图像的关键过程。这个过程主要在 Latent Space(潜空间)中进行,潜空间通过对图像进行编码和降维,将其表示为一组潜在变量,使得在这个空间中进行操作能够提高效率并更好地控制图像特征。

详细步骤

  • 在 Image Information Creator 中的每一步降噪(Denoise)操作,都需要输入随机图、Prompt 的词特征向量以及当前的 Step 数。其中有一个 Noise Predictor(噪音预测器)模型发挥重要作用。
    对于一张初始的随机图(例如 4X4 大小,这里的大小对最终生成图像的比例和大小有影响,若要改变最终图像大小需调整随机图尺寸而非通过 Prompt 指令),Noise Predictor 会根据随机图和 Prompt 词特征向量预测出一张噪声图 B,同时不使用 Prompt 词特征向量预测出一张噪声图 C(蓝色线)。
  • 将噪声图 B 和 C 相减得出图 D,其意义在于得到 “根据 Prompt 预测的噪声”(因为 B 可简单理解为包含 “根据 Prompt 预测的噪声”+“根据随机图预测的噪声”,C 为 “根据随机图预测的噪声”,B - C 就隔离出了与 Prompt 相关的噪声部分)。
  • 将噪声图 C 放大,一般通过乘以一个系数(如 CFG、CFG Scale 或 Guidance Scale),这个操作是为了提高 “根据 Prompt 预测的噪声” 的权重,使得生成的图像更符合 Prompt 描述,然后将放大后的图与噪声图 C 相加得到图 E。
  • 将原始随机图 A 减去图 E,得到一张新的图,这就是一次降噪后的结果,通过不断重复这样的步骤(多 Steps),逐步去除噪声,使图像越来越清晰,直到达到预设的 Steps 数或满足生成条件,最终得到中间产物(潜空间中的图像表示),再由 Image Decoder 解码成最终的清晰图像。

负向 Prompt 的作用机制(与降噪相关)

当输入负向 Prompt 时,也会生成相应的噪声图 B2。此时,会用正向 Prompt 生成的噪声图 B1 减去 B2 再减去 C 得出 D,这意味着最终生成的图像会更加远离负向 Prompt 相关的噪声,从而使图像更符合正向 Prompt 的要求,并且避免出现负向 Prompt 所描述的特征。

与其他模型降噪对比(以 Midjourney 为例)

Midjourney 在生成图像时会展示图像从模糊甚至黑色(充满噪声)逐步变得清晰的过程,即每一步降噪后的图像变化都呈现给用户。而 Stable Diffusion 在 Image Information Creator 中进行多次降噪步骤,但只将最后一次降噪后的结果通过 Image Decoder 解码成最终图像展示给用户,用户在生成过程中看不到中间的降噪步骤图像变化。不过两者的最终目的都是通过降噪技术生成高质量、符合用户需求的图像,只是在展示方式和具体的降噪实现细节上可能存在差异,这些差异也会影响到用户对模型的使用体验和在不同场景下的选择。

Stable Diffusion 使用注意事项

prompt 的重要性:准确、详细的 prompt 是生成理想图像的关键。应明确描述图像的主题、风格、颜色、构图等要素,例如 “一个在阳光明媚的花园中穿着复古连衣裙的年轻女孩,周围是盛开的玫瑰,风格为印象派油画”。
参数调整:
Steps 参数影响图像质量,一般步数越多图像越精细,但会增加生成时间和计算资源消耗。
CFG Scale(Guidance Scale)用于调整图像与 prompt 的相关性,较高的值会使图像更符合 prompt 描述,但可能降低图像的多样性。
模型选择与更新:不同版本的 Stable Diffusion(如 Stable Diffusion XL Turbo 等)有不同特点,用户应根据实际需求选择合适的模型,并关注模型的更新以获取更好的性能和功能。

与其他模型对比

与 Midjourney 对比:
在生成过程中,Midjourney 会展示图像从模糊到清晰的逐步变化过程(降噪过程),而 Stable Diffusion 在 Image Information Creator 中多次降噪但只展示最终解码后的图像。
两者都能生成高质量图像,但在图像风格、细节表现等方面可能因模型训练和算法差异而有所不同,用户可根据个人喜好和需求选择。

参考资料

Stable Diffusion 基础 - Comflowy - 链接

幼儿园组织秋游(小灶村体验农场)

2024年10月30日 17:39

幼儿园又又组织秋游了,这次是小灶村体验农场。
爷爷带宝宝开始奇妙旅行,同行家长都是一带一或者二带一,包车大巴从幼儿园直达。
其他小朋友的家长帮忙记录了一些有趣的图与视频,这里留存。

现在的小朋友基本上接触不到农村生活,有这样的体验是不错的。
虽然你不能指望三岁多的孩子能记得什么,只要开心就够了。

关于费用

包车的情况下,一个大人是230,第二位是185,幼儿收费,一百一位。

高德地图导航过去,有一些收费明细,自驾比较划算。

学校发的缴费通知单。

喂小动物

这个年纪的孩子就爱玩这个,只要小动物能吃就不带停的。

小火车

这个不错,我也想玩。

买了金鱼

抓拍技术令我担忧,能看的照片不多,周末我带娃去动物园再好好拍。

才艺表演环节

宝宝诗兴大发,吟诗一首:咏鹅。不知道叔叔阿姨们有没有告诉你,这是鸭子。

安装Comfyui

2024年10月30日 14:17

Comfyui介绍

它是一款极具创新性和强大功能的开源图像生成程序。它以独特的基于节点的操作界面为特色,将复杂的图像生成过程分解为一个个清晰可见的节点,就如同构建一座精美的艺术大厦的砖块。每个节点都代表着特定的功能模块,用户可以直观地通过连接这些节点来构建自己的图像生成工作流,仿佛在绘制一幅充满创意的流程图。
在模型支持方面,ComfyUI 表现得极为出色。它全面兼容 SD 1.x、SD 2.x、SDXL、稳定视频扩散、稳定级联、SD3 和稳定音频等多种稳定扩散模型,无论是经典的图像生成模型还是新兴的视频和音频相关模型,都能在这个平台上找到用武之地。它可以加载 ckpt、safetensors 和 diffusers 等各种格式的模型 / 检查点,还支持独立的 VAE 和 CLIP 模型,为用户提供了极大的灵活性和选择空间。此外,ComfyUI 还能与 ControlNet、T2I-Adapter 等工具完美结合,进一步扩展了其功能和应用场景。例如,借助 ControlNet,用户可以更精准地控制图像的生成,对图像的特定区域、姿势、线条等进行细致的约束和引导,从而创造出更加符合自己心意的作品。
在工作流管理方面,ComfyUI 也有诸多亮点。用户可以将精心构建的工作流保存为 JSON 文件,这不仅方便了下次使用,还能与其他用户分享自己的创意和成果,促进了用户之间的交流与学习。其异步队列系统能够高效地处理多个图像生成任务,大大提高了工作效率。而且,它还具备智能的优化功能,只重新执行工作流中发生变化的部分,极大地节省了计算资源和时间。
在图像编辑与增强功能方面,ComfyUI 同样可圈可点。它支持区域构图,允许用户对图像的特定区域进行精细编辑和处理,为创意的实现提供了更多可能。同时,图像修复功能也十分强大,无论是去除瑕疵还是恢复旧照片,都能轻松应对。

注意配合中文文档阅读当前文章,本文只做文档的部分补充说明。
https://www.comflowy.com/zh-CN/preparation-for-study

python 版本

注意使用3.1以上,我这边使用3.9,3.1会安装不了pyTorch。

安装 pyTorch

PyTorch 是深度学习领域极为出色的开源机器学习框架。它以动态计算图为突出特点,允许在运行时动态构建、修改和执行计算图,这不仅让调试变得轻而易举,还能根据不同输入数据和任务需求灵活调整模型结构,比如在开发中可随时打印中间变量值以便快速定位问题。其 API 简洁直观,对熟悉 Python 的开发者十分友好,学习曲线相对平缓,定义神经网络模型就如同定义普通 Python 类般简单。拥有强大生态系统,庞大的社区和丰富的第三方库支持使其成为开发者的得力助手,像 torchvision 库可用于图像数据处理和加载预训练模型,torchaudio 库能处理音频数据。同时,PyTorch 支持 GPU 加速,只需几行代码就能将模型和数据转移到 GPU 上,大大提高计算速度。在应用领域方面,它在计算机视觉任务中表现卓越,如图像分类、目标检测和图像分割等,许多知名模型如 ResNet、YOLO 都是用 PyTorch 实现的,开发者可借助 torchvision 库中的数据预处理方法和预训练模型快速构建应用。在自然语言处理领域,适用于文本分类、机器翻译和语言建模等任务,提供丰富的文本处理工具如 torchtext。在强化学习方面也被广泛应用,可与多种强化学习算法结合。与 TensorFlow 相比,PyTorch 更加灵活、易于调试和实验,而 TensorFlow 在生产环境部署和优化上有优势,PyTorch 的动态计算图适合研究开发,TensorFlow 的静态计算图在大规模部署时更高效。与 Keras 相比,Keras 是建立在底层框架上的高级 API,PyTorch 则提供更底层的控制和灵活性,适合深度定制和优化模型的开发者,而 Keras 更适合快速搭建和实验模型。总之,PyTorch 功能强大、灵活易用,是深度学习任务和应用场景的理想选择。

pyTorch 链接

WeChatadd8fa2fffc0d6f29e9e94dd1fbd2573

遇到源链接相关问题,直接切换清华源,类似下面写法:

1
pip3 install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple

启动器下载

WX20241029-235955
Comflowyspace 是一款创新的开源 AI 图像和视频生成工具,它基于 ComfyUI 开发且遵循其协议进行代码开源。在功能方面,它具有便捷的一键安装功能,简化了传统复杂的安装过程;具备工作流管理功能,可自动保存操作改变并支持多标签同时运行多个工作流;提供丰富的工作流模板以降低搭建难度,对用户体验进行了诸多优化且与教程系统集成以降低学习门槛,支持 macOS 和 Windows 系统,其云版本预装多种常用扩展并整合 Civitai 模型,无需本地下载即可高效利用云端 GPU 资源。

Comflowyspace -github链接

尝试生成一只猫

WechatIMG41882

LPR下调

2024年10月28日 12:24

我有个朋友,收到2条短信如下:

短信1

【上海银行】根据中国人民银行〔2024〕第11号要求,您的存量房贷符合调整条件,我行将于10月25日进行批量调整。如您不同意调整,请于2024年10月20日(含)前,向贷款经办行提出异议书面申请;如您在此之前未提出异议,则视为同意。感谢您的配合,如房贷已结清请忽略本次短信。

【中国人民银行〔2024〕第11号】具体信息如下

中国人民银行公告〔2024〕第11号
中国人民银行公告〔2024〕第11号

参考贝壳财经的数据比对图

LRP变动

重定价周期和执行规则

重定价周期为一年,通常以贷款发放日或合同约定的特定日期作为重定价日,当然还有下图这种情况使用了一年一定,一般使用1 月 1 日作为重定价日,有一定的行业惯例。这是因为银行等金融机构在进行年度财务规划和业务安排时,通常会以自然年度为周期。
在重定价日,银行会根据最新的 LPR 和合同约定的加减基点,重新确定你的贷款利率。

Weixin Image_20241028112230

执行利率的确定方式为参照相应期限的 LPR(如 5 年期以上 LPR),再加上或减去一定的基点。基点的数值在贷款合同签订时确定,一般在整个贷款期限内保持不变,除非合同中有特殊约定。例如,如果合同约定在 5 年期以上 LPR 的基础上加 35 个基点,当 LPR 为 4% 时,你的执行利率为 4.2% + 0.35% = 4.55%。

短信2

【上海银行】2024年10月25日起,您组合个人住房贷款(新)利率已由4.55000000%调整为3.90000000%,贷款月供将发生相应变化,最近一期应还?元,您可联系贷款经办行或登录手机银行查看最新还款计划,请及时将足额资金存入还款账户。

下个定价日会有再次下调

根据上面短信结合下图,可以看到BP下调了65,调整到了3.9%,到下个定价日可以到3.3% 。
具体明年1月再看看情况,有了解的相关事项的朋友们欢迎评论区讨论。
Weixin Image_20241028113719

follow - 订阅一切

2024年10月24日 23:27

Follow是什么?

它本质上是个订阅工具,就像订报纸一样,你可以用它订阅你喜欢的网站上的用户,或者博客,一旦他们发了最新的内容,你在Follow上就可以第一时间浏览。follow就像是一个邮差,他会定时去取你订阅的内容。取到订阅的内容后将其存储在你的folow帐号,等你来阅读。

你可以在Github上找到Follow的源代码,最近一月Follow在Github上持续霸榜,正是当红炸子鸡。
Follow的slogan是:Next generation information browser
从此口号可见其图谋甚大,目前Follow在国内是可以直连的,由于各种法律问题,未来是否能继续保持直连尚未可知。

follow的访问隐忧

由于大平台都可以进行订阅,这种行为在某种程度上会触动大平台的利益。
follow的服务器并不在国内,且爬虫本身就自带法律风险。这些都有可能影响到国内对follow应用的访问。
即使现在可以使用,也并不代表未来能一直访问(直连)。

应用场景

订阅B站

订阅微博

follow-weibo

当然还可以订阅更多平台或博客类站点

注意在follow上你的订阅列表默认是所有人可见的,需要手动设置私有。

如何注册

https://app.follow.is/ 这是Follow的官网地址,同时它提供了丰富的多语言支持。

目前只支持Github与Google登录,现阶段处于半开放注册,需要邀请码。当然如果没有邀请码也是可以注册,只是会屏蔽部分功能。

follow与区块链技术

follow内置了区块链模块,你的每日签到与各种成就都会被奖励对应的power币。
follow-achivement

这个power可以用来给你喜欢的订阅源打赏。
follow-boostfeed

除了打赏外power可以用来生成邀请码
follow-invite

目前这个邀请码在闲鱼上可以卖到5元左右。

通过创建公开的订阅列表可以赚取power点数,你可以将公开的订阅列表进行标价。
follow-public-sub

空投活动送Power币

follow-summary
你可以在这个地址 https://follow.is/airdrop 参加空投活动,从而获取官方赠送的power

结语

follow是一个用于订阅的免费工具,我这段时间一直在使用它,它也在一定的程度上改变了我的阅读习惯。
实实在在的解决我每次阅读友链博客,挨个打开网页的烦恼。
总之好评,值得上手一试。

新手家长不明白

2024年10月23日 19:39

涵月现在已经上小班了,我这个新手家长遇到一些搞不懂的事,先记下来。

征订园服

前阵子幼儿园开始征订园服,只是这个价格有点怪。
幼儿园的某些收费,确实让我有点摸不着头脑。
跟同事老王聊了下,老王家里两个娃,他说这个收费正常。
如此都是这样收费的,那也就“正常”。

大家都平等

这个行为并不是个例,大家都是这样定的那倒也无话可说。
我们第一次定校服,看不懂这个收费是正常的,原来大家一直都这样。
还记得小学的校服是一百多两百的样子,老师让我们拿着收费单找父母签字,那时候定校服可便宜了。
现在社会进步了,物价也涨起来了。
所以校服涨点价这算啥,买一件牌子外套都要个千八百。
以上言论纯属说服自己

随大流的中国家长

毕竟后面幼儿园还有两年多,小学,初中高中长着呢。
接受现状从现在开始,就算它再涨价,翻一倍,翻两倍,还是得买。
总不能让娃到学校里,因为没有校服被歧视吧。
学校教育的不只是孩子,家长也在“被教育”,做手工,做义工。

卷在路上

现在三年级的英语课本该改版了,所以小学生从二年级就要开始补英语了。
现在一年级拼音都是一带而过,所以大班就要学会拼音了。
哦,对了。二十以内的加减法也要在大班学会。
还好,我家宝还在小班,卷还没卷到我们,不过在路上了。

平平无奇的一天

2024年10月22日 22:47

图床压缩

今天尝试使用简单图床 Github链接 进行图片压缩,图片的压缩尺寸大约是原来的十分之一,甚至更低,效果喜人,这边吹一波。

原图约为1.9Mb 压缩后 114Kb -张家界

芙蓉镇

铁铃关

苏州园林一景

苏州园林一景

大概是找到了版本答案,图片文件多又散就压缩后存本地,视频文件数量少且大,考虑用又拍云的云存。
又拍云联盟送了每年67的劵,可以使用。又拍云联盟

红绿灯风波

没拍图,行车记录仪估计录下来了,事是真的搞笑。

路上等一个红绿灯,我这边准备大转,天色较晚,只看到前面还有三辆车。一会儿灯绿了,旁边的一条左转道车子都走光了,我这边车道第一辆车居然连待行区都没进去。后面有车按喇叭,当然我也按了几次。
红灯了,排队第二辆车的大哥下去了,敲了第一辆车的车窗。下来一位女司机,不知道这俩人说了什么,好像挺激动。
开车窗才听清楚,女司机说 :”你家的S了人吗?那么急 xxxxx”,“你家才S了人,你全家都S了 xxx” 俩人骂起来了。
我寻思,看架势下个红绿灯也走不成,看后面没车,我往后倒一下,换隔壁车道走了。

记录下这件事儿,看来敲车窗有大风险,可不能学,这万一搞不好,吃不了要兜着走。

以上,平平无奇的一天。

嵊泗游记

2024年10月19日 15:56

嵊泗岛在哪儿

嵊泗县又称嵊泗列岛,位于中国浙江省舟山市。其具体的地理位置在杭州湾以东、长江口东南,是浙江省最东部、舟山群岛最北部的一个海岛县。
嵊泗列岛由大洋山、小洋山、沈家湾岛、薄刀嘴岛等 400 多个大小岛屿组成,其中最大的岛屿是泗礁山,面积 21.2 平方公里。这里海陆总面积 8824 平方公里,陆地面积 86 平方公里,海域面积 8738 平方公里,故有 “一分岛礁九九海” 之说。
嵊泗列岛是我国唯一的国家级列岛风景名胜区,具有 “碧海奇礁、金沙渔火” 等原生态旅游特点,素有 “海上仙山” 的美誉。其境内景点众多,被划分为泗礁(包括黄龙等周边岛屿)、花绿(花鸟、绿华)、嵊山枸杞、洋山四个景区。

从上海出发大概多久?

  • 陆路距离:如果单纯看上海到嵊泗沈家湾码头的陆路距离,大约是 100 公里左右。从上海市区自驾到沈家湾码头,一般需要 1.5 小时到 2 小时左右。
  • 水路距离:从沈家湾码头到嵊泗本岛(李柱山码头)的海上距离约 27 海里(约 50 公里)。乘坐客船的话,快船大约需要 50 分钟,客滚船大约需要 1 小时 50 分钟。
    综合距离及行程时间:从上海到嵊泗整体行程,包括陆路和水路,综合距离在 150 公里左右,全程所需时间大概在 3-4 小时(包括换乘、候船等时间)。如果选择自驾到沈家湾码头后乘船的方式,从上海出发到最终到达嵊泗岛上,顺利的话一般需要 3 个多小时。

为什么海水是黄色的

冷空气活动频繁,海上风浪增大,都会会影响海水的清澈度。
非大风、暴雨等恶劣天气之后:一般在大风、暴雨等恶劣天气过后,大量的泥沙和杂质会被带入海水中,导致海水变得浑浊。但等天气恢复平静,经过一段时间的沉淀和水体交换,海水会重新变得清澈。所以在恶劣天气结束后的一两天,如果天气状况良好,海水也会比较清澈。
海水的清澈度还会受到洋流、潮汐等因素的影响,每天的情况可能会有所不同。如果想要看到最清澈的海水,建议提前关注当地的天气预报和海洋状况。

嵊泗的海水在以下时段相对比较清澈:
夏季(7 月至 9 月):
这是嵊泗列岛的最佳旅游时间,受亚热带季风气候影响,夏季气候温和,海水温度适中,非常适合开展各种水上活动。此时海水呈现出蔚蓝色,清澈见底,仿佛一块巨大的蓝宝石镶嵌在大海之中。由于夏季太平洋的海洋运动,给嵊泗带来了漂亮的海景,是欣赏清澈海水的好时节。而且这个季节海岛上绿树成荫,花香四溢,自然景观也最为迷人。
不过需要注意的是,7 月至 8 月是休渔期,海鲜可能会相对较少且价格略高。
秋季初期(10 月上旬):秋季天气较为稳定,降水少,风浪相对较小,海水也较为清澈。在这个时间段,气温适宜,既没有夏季的炎热,也不会过于寒冷,是比较适合游玩的时间。

海滨

海岛

日出

霞光

留影

提前回家

由于天气原因接下来几天,都会有持续降雨与较强风浪,逗留在海岛上大概率会延误回去的行程。

如果你也去嵊泗玩推荐关注 嵊泗客运(公众号) ,可以随时了解到最新航运信息,避免影响行程。
在我们离开酒店的时候,刚好另外一个旅行团入驻,祝他们好运。

以上嵊泗两日游,六合朝阳,嵊泗日出。

我在博客养了一只猫

2024年10月16日 23:41

如果你最近访问我这个网站,在页面的左下角能看到一只黑猫,啥功能都没,它甚至不能喵喵叫。
要问为啥还要摆上去,就是单纯好看。我也是个爱猫人士,虽然现实条件有限不能养,但是云养猫还是可以的。
如果看看博文的时候还能溜溜猫,那可太惬意了。

相关文档

如果你也有类似的需求可以参考这个网站:oml2d 这个网站有概率无法访问,我也不知道为啥。
他的git地址在这里 hexo-oh-my-live2d

小贴士

由于原始看板娘程序会说话(点击后),也有附带的一些功能,我这边统统不需要,所以都屏蔽了。
另外如果你打算部署这个程序,我推荐把js脚本与贴图统统托管在自己服务器,避免无法访问的问题。

以前也养过猫

我母亲开理发店,那时候店里有老鼠,随后店里便开始养猫了。
由于是散养基本上到了发情期,猫就跑了,跑了也就找不回来了。
然后再养只小猫,不用去店里买猫,很容易就能在附近拾一只小猫,定时喂吃的,就驯化了。
大概是周而复始几次,店里就没养猫了,不过也没老鼠了。

羡慕养猫的家庭,只能说这个年纪养自己养娃都费劲,大概也只能养只电子猫了。

两种刷新网页缓存的方式

2024年10月16日 10:27

停用缓存

按F12打开浏览器自带的调试工具,注意需要勾选停用缓存,这样就可以使用网站的最新数据。

使用隐私浏览模式

隐私浏览模式可以保证不使用本地缓存的数据,与本地的cookie。所以隐私模式浏览可以获取最新的网站状态。
注意,隐私模式与正常浏览模式是隔离的,也就是切换成正常模式后,如有缓存仍然使用之前的缓存数据。

停用缓存工作原理

程序设计上来说,disable cache 就是一个开关,决定接下来所有的请求是否跳过缓存检测。
通常情况,命中缓存,调用缓存,跳过请求源文件。
勾选后,跳过缓存检测,直接请求原文件。

以下为测试步骤:

  1. 在stype.css文件中添加测试文本
  2. 在尚未勾选停用缓存下进行刷新(点击刷新按钮)
  3. style文件中并未出现测试文本,证明文件尚未更新
  4. 勾选停用缓存后进行刷新,style文件被更新

也有一些不会被缓存的

举个例子:你请求的是 a.html ,在这个html文件上进行的修改,则每次都会被刷新。这个文件并不会被缓存。

人不会死-矢萩直树

2024年10月15日 17:24

先将书源附上:原本阅读

为什么推荐

这本书写的就像一本回忆录,穿插作者生平与在急诊室见闻。
直树的经历很像我们大部分的的经历,大学毕业找不到工作,兴许会有好友拉你去一个单位。
上班兢兢业业却说不上多么喜欢自己的工作 (能完成的很好,也并不代表喜欢)。
主要的故事都发生在急症室,说实话我挺怕急诊室,这里是生与死的搏斗现场,也是大部分人最后的战场。
这本书很写实,穿越生与死 ,我们终会重逢。

人不会死-书籍介绍

谨以本书送给活着的我们,致敬逝去的他们 ——
这个世界是一座体育场,我们都是活在当下的参赛者。
虽然肉眼看不见,但往生者们一直在观众席为我们声援。
因此我们要好好活在当下,期待日后与他们重逢的那一天。
一名医师.五种生命感悟.三十六则短而精深的随笔手记
直言人生最纯粹的日常与美好

作者长年身处急诊医疗第一线,每天面对各色病患与家属,每年看诊超过三千人,看尽人生百态之余亦不停寻思:「人死后会变怎样?」
在历经三次濒死关头,透过灵媒与已逝母亲沟通之后,作者开始确信有「另一个看不见的世界」,并体悟到死亡并非终结,毋须恐惧。肉体之死,代表进入另一个世界,延续另一种生命。你心中想再见一面的人,一定见得到…… 只是在那之前,我们必须先做好「活着」这件事,心存感谢「活着」这件事。
矢作直树医师对人生的反复思辨与随笔手记,里头有生死观、生活哲学、舍却欲望的真义、静心等待的智慧、给予不望报(give and give)的精神…… 让人一窥他对人生的大彻大悟,并针对人生的哉问,提出思考的方向:
「为什么活着?是什么让你活?又是什 么值得你活?」
来源:好讀网

作者介绍

作者:矢萩直树

来源:免费百科全书“维基百科”
矢萩直树

出生1956年
母校金泽大学(学士)
滋贺医科大学(博士)
职业医生、医学家

东京大学名誉教授

矢萩直树( Naoki Yahagi , 1956 年出生)是一位日本医学家、医生和政治活动家。专长于急诊医学和重症监护医学。学位:博士学位(医学)。

东京大学名誉教授[1]。前东京大学教授、前东京大学医院重症监护中心主任。

他的主要著作包括《人不会死:一位临床医生对普罗维登斯和灵性的思考》、《多亏了你,我才活下去》、《皇帝》、《皇帝的国家:关于他退位的思考》 ,”和“日本历史全面回顾天皇的日本历史。” [2] [3]。

职业生涯
1956年出生于横滨。[4 ] 1981年从金泽大学医学院毕业后,他在麻醉科、急诊科和重症监护科、内科和外科科室积累了经验[4] [ 5 ]。

1982年,他成为富山医科药科大学的助理,1983年成为国立心脑血管中心的住院医师[6]。从1991年7月起,他在国立心脑血管中心外科担任重症监护专家,后来成为医疗主任[7]。1993年,他在滋贺县从事“氟烷的影响”的工作。、芬太尼和氯胺酮对狗静脉空气栓塞的肺部传递值”获得 医科大学博士学位(医学)。

1999年任东京大学工学部精密机械工学系教授,2001年任东京大学医学部急救医学系教授,2001年任东京大学医学部急救医学系教授,东京大学医院急诊科和重症监护室主任以及重症监护中心主任[8]。2016年,他任期结束退休,成为名誉教授[4] [9]。

2011年,他出版了主张死后生命存在的《人类不死》,并售出18万册,从此开始了出版生涯。 2014年出版的《感谢有你而活》 已售出超过30万册。

2016年,参加日本心比例代表选区第24届参议院例选,但落选[10]。

2021年左右以来,他多次出现在政党活动和总统神谷创平的视频中[11] [12] [13],并担任政治学校“政党政党DIY学校”的讲师[2]。在各政党向1,741 个市镇负责人发送的有关COVID-19疫苗接种的调查问卷中,他还被列为合作者[14] [15]。

给网站首页的文章标题下添加评论预览

2024年10月13日 13:23

起因是我想在博客的主页就看到水友们的评论,这样方便我一一回复,而不是每次都点进去。
有时候回复多了,会忘记是在哪个页面出现的评论。
正巧我看到 姜先森 的博客,是如下的样式。
这不刚好能借鉴一下,随后对本博客进行了一个小范围的改造。

去除了网页右侧的最近8条评论,添加了首页的文章前五条评论预览


我这边风格是比较朴素的,所以去掉了前面的icon。

twikoo API 调用注意事项

我发现了twikoo的getRecentComments API ,给它限定数量的话他会累积所有post url的评论总和前x条评论。
很显然这不符合需要,正常我们需要的都是每条post的前几条评论,随后对这个API进行每个URL分别调用。

老规矩放下代码,感兴趣的可以直接参考下面的代码进行调整:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
!function () {
const elements = document.querySelectorAll('.twikoo-comment-count');
const postUrls = [];

elements.forEach(element => {
const url = element.getAttribute('url');
if (url) {
postUrls.push(url);
}
});

twikoo.getCommentsCount({
envId: 'https://twikoo.vrast.cn',
urls: postUrls,
includeReply: false
}).then(function (res) {
elements.forEach((element, index) => {
const elementUrl = element.getAttribute('url');
const matchingRes = res.find(item => item.url === elementUrl);
if (matchingRes) {
element.textContent = `${matchingRes.count} 条评论`;
}
});
}).catch(function (err) {
console.error(err);
});

//需求2 预览部分评论
const commlistElements = document.querySelectorAll('.commlist');
const postUrls2 = [];

commlistElements.forEach(element => {
const url = element.getAttribute('url');
if (url) {
postUrls2.push(url);
}
});


postUrls2.forEach(postUrl => {
twikoo.getRecentComments({
envId: 'https://twikoo.vrast.cn',
urls: [postUrl],
pageSize: 5,
includeReply: false
}).then(function (res) {
commlistElements.forEach(commlistElement => {
if (commlistElement.getAttribute('url') === postUrl) {
let commentCount = 0;
res.forEach(item => {
if (commentCount <= 5) {
const li = document.createElement('li');
// const divAvatar = document.createElement('div');
// divAvatar.classList.add('avatar', 'letter-fallback');
// divAvatar.setAttribute('data-fallback', item.nick[0]);
// divAvatar.style.backgroundColor = `rgb(${Math.floor(Math.random() * 256)}, ${Math.floor(Math.random() * 256)}, ${Math.floor(Math.random() * 256)})`;
// divAvatar.style.transform = 'rotate(0deg)';
// divAvatar.style.transition = 'transform 0.5s ease-in-out';

const a = document.createElement('a');
a.href = item.url + '#' + item.id;
a.title = item.comment;

// 使用 DOMParser 解析评论内容
const parser = new DOMParser();
const commentFragment = parser.parseFromString(item.comment, 'text/html').body;

// 将评论内容添加到昵称后面
a.textContent = item.nick + ': ' + commentFragment.textContent;

const spanContent = document.createElement('span');
spanContent.classList.add('comment-content');
spanContent.appendChild(a);

const spanRight = document.createElement('span');
spanRight.classList.add('right');
spanRight.textContent = item.relativeTime;//new Date(item.created).toLocaleDateString();

// li.appendChild(divAvatar);
li.appendChild(spanRight);
li.appendChild(spanContent);

commlistElement.appendChild(li);
commentCount++;
}
});
}
});
}).catch(function (err) {
console.error(err);
});
});
}()

米家体验报告

2024年10月10日 23:23

这个主题想写很久了,今天晚上抽空写下。如果你是打算入坑的或者已经使用部分米家设备的,本篇文章可能多少对你有一些小小的帮助。

联动才是米家的正确打开方式

如果有了智能开关,可以将家里的旧灯光线路都接入,通过小爱音响 可以控制这个灯光开关的打开与否。
当然这样做少不了,“小爱同学,帮我打开灯光” ,注意小爱同学是需要联网的,他的网路有时候并不是那么的好,
网络不好的情况会造成小爱音响的反应卡顿,当然如果你购买的是小爱Play,这个坑货音响,那它自带耳背系统。
发音不标准,或者你没有叫他的时候,他会进行延迟,或者错误的应答。

以上避坑,建议选择其他的型号

如果使用其他型号的音响与较好的网络条件,固然可以加快小爱同学的指令响应,但是还是要开口下达指令。
这个过程持续几次倒是还好,如果每次都要叫一句,那可太尬了,完成一来一回的指令下达,早就可以用手开灯了。

这一流程当然可以优化,只是需要用到一些传感器。

传感器是基础的触发单元

基于上面的使用场景,使用一个人体传感器就可以做到,人来灯光打开。

为什么我不说 “人走后灯光熄灭 ”,实际这是一个很难检测的情况,你大概不能一直保持在被传感器辐射的范围内。
当然也有个方案,开灯后自动延迟x分钟让灯光关闭。

再举个简单安防的案例:
我在马桶边,厨下,洗手台水管下,都放置了浸水传感器,如果出现漏水的情况,可以通过家庭的音响与手机通知,提示我去处理这类紧急情况。

通过家庭中枢驱动家庭智能的自动化

前面说了几个案例,这都是一些触发式的响应,并非真正意义上的自动化。
在我看来智能家居,需要有个数据处理单元,这个单元是要代替人思考,也就是执行一些行为。
这个行为的执行是依据是什么呢?
触发器得到的数据与其他信息(事件,时间,其他设备状态)进行一个针对当前行为的判定,是否最终要执行这个行为,或者将这个执行结果分散到不同的设备上去。

这里需要用到小米中枢,或者homeassistant。由于我们本篇是讲小米产品,那就用小米中枢来举例。
在小米中枢你可以看到所有的设备,并且可以查询每个设备的当前状态 或者 监听每个设备的状态变更。

下面再举一个简单的例子,这里我用到一个智能按钮,每次点击按钮会向外抛出一个点击事件。
通过监听这个事件的触发,就可以安排家里的其他智能硬件干不同的事情,如让监控打开,让家里的灯,空调等关闭。

结束语

智能家居融入生活的转变一部分人是无法接受的,咱们这批人先玩起来,哦,对了,如果使用home assistant可以将ai接入智能家居,然后实现一个现实版贾维斯,这也不错。

出去旅游总容易生病是为什么

2024年10月8日 19:09

如题,前段时间去桂林旅游,旅游第二天就开始咳嗽,大咳小咳不断。当时还没有当回事。
广西这边吃的比较重口,也有加剧病情。后来回到家之后咳嗽越来越厉害,时间持续了三周多。
当然现在已经接近康复了,虽然还有咳嗽,痰比较多,但至少喉咙不痒了。
问了下国庆出去旅游的朋友他说自己的身体也有一些不适。
看来出门稍微时间长一点的旅游,或多或少都会让人水土不服生点毛病。

在这里稍微总结下几个可能的影响因素,下次出去玩注意些:

  1. 饮食变化
  2. 作息不规律
  3. 疲劳
  4. 情绪波动

大概就这些因素造成我与领导两人双双病倒。

上单有哪些职责

以上的这些文字都是打游戏的时候,黑屏期间想到的。
打的是上单,经常黑屏。与妹妹,妹夫一起组,刚好又匹配到一对情侣。
领导看我总是黑屏,过来问我,”王者里面上单的职责有哪些?”
我说:“职责是一个人玩的开心点 !”

将评论组件切换到twikoo

2024年10月8日 12:39

原因很简单,waline的响应太慢了,拉个20余条的评论居然要半分钟。
实在无法忍受,直到今天才抽空换一下评论组件,现在将组件切换为twikoo。
基本做到了评论2秒内刷出来的程度。
下面简单介绍下基于 Maupassant 主题进行评论迁移的过程。
大部分的流程都类似, https://twikoo.js.org/ 的流程文档也比较细,照做就行了。
我这边使用的本地部署,所以直接用docker就行了。

使用twikoo加载完毕回调

这个 onCommentLoaded 回调函数,按照官方文档来讲就是评论区渲染完毕后调用。
我有个需求是将评论数量取出来,放到页面头部,进行一个显示与点击转到评论区。
如果你也有类似功能可以参考下面的初始化代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
if theme.twikoo.enable == true
#tcomment
script(src='https://registry.npmmirror.com/twikoo/1.6.39/files/dist/twikoo.all.min.js')
script.
twikoo.init({
envId: '#{theme.twikoo.envId}',
el: '#tcomment',
region: '#{theme.twikoo.region}',
path: '#{theme.twikoo.path}',
onCommentLoaded: function () {
const commentCountElement = document.querySelector('.tk-comments-count');
const targetElement = document.querySelector('.waline-comment-count');
if (commentCountElement) {
const countSpan = commentCountElement.querySelector('span:first-child');
const commentCount = parseInt(countSpan.textContent);
targetElement.textContent = commentCount;
} else {
console.log('未找到评论数量元素');
}
}
})

填写twikoo的初始化参数

如果是本地化部署,需要注意下面的参数填写,envId 一栏填写评论组件的地址即可,其他不需要填写

1
2
3
4
5
twikoo: ## See: https://twikoo.js.org
enable: true ## If you want to use twikoo comment system, please set the value to true.
envId: https://twikoo.vrast.cn ## Tencent CloudBase envId
region: ## Tencent CloudBase region, e.g. ap-shanghai
path: ## Article path, e.g. window.location.pathname

评论数据迁移

waline的数据可以直接导出为json,在twikoo的后台界面直接导入即可。

数据备份

他的数据位于 app/data 内,定期备份下面几个json文件就行了。

无动力亲子乐园游记

2024年10月5日 21:49

抽空记录下我在抖音上看到的无动力亲子乐园吧。
价格是很便宜的一大一小86,我还在纳闷什么是无动力乐园,去了才了解什么叫一群家长驱动一个乐园。
无动力 约等于 家长动力,大部分机械设备都是家长吭哧吭哧的踩机器或者是推机器。
要说不好玩,那肯定是假的。累是累了点,孩子玩的开心最重要。

宝宝摩天轮

实际上下面是由四位家长联合驱动,其他的设备都类似,让家长踩机器传递动力。
更直接一点就是推着设备走,像下面这样。



震惊我

小家伙居然爬了那么高,大概离地五六米距离。我不放心就跟着一起爬。
然后他说太高了怕了,我俩一起退回去了,要她不说我也要说我怕了我们一起倒回去吧。

人到中年放假永远比上班更忙碌

2024年10月4日 10:41

昨天和领导一起去了正大广场(陆家嘴)做美容。人真的超级多,感觉是外地游客多一些吧。
正大广场7楼是做美容的(扎堆开店),基本上没人光顾,但是7层往下走乌泱泱都是人。
吃饭还好提前取过号了,基本上没有等位置,等我们坐上去的时候后面也都是人。
一张照都拍不了,全是游客,大概也只能将相机抬高再抬高勉强一张。

人到中年放假永远比上班更忙碌,这段时间估计也没空水博客了。

AI相片

最后再记录下抖音的AI相片,都是免费用的,觉得不错推荐下。
先提交相片,然后基于这个相片进行风格化的Ai创作。不错!

概括了我们的一生

2024年9月29日 14:32

今天看新闻,无意中点开了 gov.cn ,等我看到这个导航栏的之后,整个人都蒙了一下。
这不就是我们绝大部分人的一生吗 ?
感慨良多,不多言。预祝大家国庆节快乐!
祝祖国母亲节日快乐!愿我们的祖国越来越强大,人民越来越幸福!

幼儿园组织秋游(中国馆)

2024年9月27日 17:39

幼儿园又组织出游了,可惜还是没有时间去(年假用完了), 又是爷爷陪女儿去玩的。
校方组织的活动都很有意义,带小朋友做做爱国教育。从娃娃抓起。
又是羡慕宝宝的一天。
图都是其他家长拍的,摘录了部分,以存档。

压缩图片

2024年9月24日 12:20

在 CentOS 7 下可以使用convert命令结合mogrify工具来压缩当前文件夹下的图片。假设你要压缩当前文件夹下所有的.jpg图片,可以使用以下命令:

1
2
3
4
5
6
7
yum install -y ImageMagick

--下面指令会创建一个压缩后的副本后缀为 -compressed.jpg
for file in *.jpg *.png; do convert "$file" -quality 80% "${file%.jpg}-compressed.jpg"; done && mogrify -format jpg *.jpg -quality 80%

--下面指令直接将原文件覆盖掉
for file in *-compressed.jpg; do mv -f "$file" "${file%-compressed.jpg}"; done

这个命令会遍历当前文件夹下的所有.jpg文件,使用convert命令将每个图片以 80% 的质量压缩并生成一个新的文件名后带有 “-compressed” 的压缩后的图片文件。然后使用mogrify工具将所有的.jpg文件以 80% 的质量重新保存覆盖原文件。
你可以根据实际需求调整压缩的质量参数。

下面是压缩效果,大约尺寸只有原来的十分之一。

柳州游记

2024年9月23日 21:48

文接上回,我们从阳朔坐高铁直达柳州,全程一小时左右。柳州打卡点主要还是当地的特色美食,大声的告诉我特色美食是什么!螺蛳粉!

说实话一开始我是抗拒的,我对螺蛳粉有种刻板印象,大概就是每一碗螺蛳粉背后都有一位煮shi人,臭且味道一般。
直到领导带我去了金弟炒螺蛳粉,这才对螺蛳粉有了改观。原来真正好吃的螺蛳粉(炒粉)是不臭的。有臭味的是酸笋,他们家的酸笋处理上可能与我之前见过的店处理上不一样,似乎味道没多大。

乘着夜色爬了马鞍山,准确的说应该是乘坐电梯上山,然后散步下山的。电梯票20一位,可以免去爬山的辛苦,送你轻松登顶。下山的电梯停运较早,晚上并不开放。

马鞍山顶峰可鸟瞰大半个柳州闹市区,山脚下会有景观灯射向主峰,导致拍照总容易画面爆掉。



白天在领导督促下游了鱼峰公园,也就是前一晚去的马鞍山脚下的公园。好家伙,原来是个打牌胜地,密密麻麻的扎堆打牌的。除了打牌的就数乘凉的人最多,每个小山头上,或躺或坐都是人。

这次出游日子比较久,我是有点扛不住了,每天都是一万多步打底。下午我问领导还想去哪儿,答曰:“青云市场” 。

青云市场其实就是菜市场与小吃街的混合体,只有入口开始的主干道是小吃街,往两边延伸都是菜市场摊铺。各种小吃都有,挺全的,还有三元一包的螺蛳粉散装,当然这种我们俩不敢买。我们逛了主干道之后想往两边看看还有什么没逛到的,着实是过了一把逛菜市场的瘾。两侧商铺紧邻,虽说是街上却过道狭小,也不通风。想象一下这个味道吧。

从菜市场穿出,就是五星商业步行街,领导笑谈这是柳州人的南京路步行街。实在不行了,跟领导商量,我俩在街上的网吧里呆了三小时,算是结束了这次旅行。在网吧了我还写了这篇日志:
日志链接 桂林市游记

oh~ 忘记说了,我们也去了柳州博物馆,青铜器藏品即使是今天的眼光去看也是精致的像艺术品。

以上,柳州游记,桂林行游记结束。

桂林市周边游记

2024年9月22日 22:54

文接上回,上篇记录了桂林市内游玩,这篇专门记录下桂林市周边,兴坪-阳朔一带的游记。
看山水在市区看到的比较有限,真的是想要有跋山涉水的体验还是去市区之外的景点。
可以选择坐游船游漓江,从桂林市区直达阳朔。游船的价格不一 ,从小几百到大几百都有。时间上比较久一般都为四小时以上。

兴坪

因为时间因素,领导和我选择了坐高铁从桂林北到阳朔。这里有几个细节,我们目的地是兴坪,也就是二十元景点(20rmb上的山水出自兴坪),为什么要坐高铁到阳朔呢?原因是兴坪古镇距离阳朔高铁站很近。近到车站门口大巴收费接驳仅五元的地步。算上坐高铁的二十多分钟,也就一小时内抵达兴坪镇。



酒店就不推荐了,各种各样类型的都有。

兴坪在地图上叫兴坪古镇,实际上么,就是个商业化比较重的镇子,问了下广西本地人,他们自己都觉得兴坪,阳朔的物价比较高。

我发现酒店的被子都挺厚的,天气也燥热。晚上吹着冷空调,可能是半夜掀了被子,不出意外我就感冒了,一路旅游一路咳嗽。

当地比较有特色的是啤酒鱼,烧鹅,竹筒鸡。刚来桂林第一顿正餐吃的是啤酒鱼。那时候那不觉得啤酒鱼的店多,直到我们来阳朔,才知道什么叫满大街的金牌啤酒鱼。

我们租了个电瓶车30元一天,后来住酒店才知道店家说有电瓶车可以免费借给房客。哦,这家酒店叫诚信酒店120左右一晚。是一家人盘下来的店,属于二手老板了,跟小老板聊了之后我才知道有人会贷款创业,艰难创业,属实不易。

我带领导骑车从镇上到了竹筏码头,大概两公里,很近。兴坪竹筏游,属于比较精华的一段游览点,从20元景点出发,一路向上,估摸行进距离约五公里左右之后返航回码头,时长约一小时。

个人觉得竹筏游挺无聊的,我们坐在第二排,全程硬座,没什么互动,我倒是希望自己撑着竹筏玩一小时。几次举起相机想要拍点竹筏行进的视频,又在后排只拍到两个人头,着实可惜。
为了弥补我这个遗憾,领导又陪我骑电动车往上走了五六公里。直到我们找到一处浅滩,边玩水,边拍了一堆美照。

阳朔

到阳朔很方便,坐了公交中巴车,15元票价,一小时左右也就抵达阳朔。阳朔属于县城里了。直观感受主要有两点,一是到处都是酒店,二是到处都是啤酒鱼。靠旅游业的县城应都是如此吧,只是这啤酒鱼遍地开花属实难顶。

阳朔的主要景点我们选了十里画廊,看似是一个景点实际上是一个比阳朔县城还大的风景区,进去不要票,内部是一个个景点组成,最出名的还数千古情景点(领导点名要看的舞台剧)。

吸取兴坪游的经验,我们直接租了电瓶车,畅游十里画廊,也在遇龙河边上的河堤看一波波竹筏的船夫奋力将竹筏顶过河堤。回程观看千古情表演的路上,遇到了一场山雨。还好躲得快,领导没有淋湿多少。约莫半小时雨停了,才又上路。


千古情景区门票190,里面大主题是舞台剧,小主题是各种游乐项目,有表演(魔术,招亲大会),也有体验电影,鬼屋等,项目不少。我也体验了个有人看没人玩的项目。并且不出意外的落水了,还好领导聪明让我提高点裤子,这才没湿透。

阳朔夜市没什么特点,九点后的西街可以逛逛,在前一天刚刚体验了桂林正阳街之后,好像就能对夜市免疫。并没买什么东西吃,由于早饭没吃(兴坪基本没有早饭店,米粉也不想吃),中饭就吃多了,晚饭也吃不下。属实省钱了。

中饭忘记说了,是家比较好吃的店,叫椿记烧鹅,特色是烧鹅和鹅肠,烧鹅的皮烤的很脆,好评加一。领导特意嘱咐记录下当地的奶茶,确实很好喝,珍珠超级好吃。

飞机快落地了,就记录这么多吧 2024.9.21 。
以上,兴坪,阳朔两日游。

桂林市游记

2024年9月21日 16:33

今天刚好是旅游的最后一天,前几天着实是累惨了。直到现在我跟领导两人躲在网吧包间吹空调。
现在将过去的几天游记进行一个项目的阶段性总结。

说是桂林游记实际上我们去了好几个地方,可谓是跋过山又涉过水。
旅行的线路大约是这样的, 制作旅游路书的服务为:高德路书 ,如果你也有类似旅游行程可以试试用它去规划路线。

当然一个合格的打工人不仅会做项目规划图,风暴脑图也是少不了的。下面的这个脑图用的服务是:思绪导图。
如果你想用我部署的也可以:keyle的思绪导图

当然这张图是项目执行前的计划图,实际游玩过程中也有不少与脑图中出入的地方后续我将分别进行叙述。
可能是写几篇游记,才能写完,每次想到的东西都是零零碎碎的,要整理一下。

象山景区

景区内有竹筏,我愿称之为最赚钱竹筏,大约绕湖游行10分钟,人均五十,两人包船100。
领导坐船还被打了,当然不是我打的。是竹筏上的帐篷倒了,打到领导的头了。
不过帐篷也比较轻,我俩撑着帐篷游了一圈。

酒窖

象鼻山是可以登顶的,行程比较匆忙的我俩并未上去毕竟登山还是很费体力的。
山体的一侧背阳处有好多藏酒的酒窖,路过都能闻到十分浓郁的酒香。

帽子丢了

我俩在过桥的时候,吹来一阵风,领导的帽子就被刮飞到水里。
每一个路过的人都要指一指我俩,“你看他们的帽子掉到水里了!”。

日月双塔

最佳的观赏路线就在日月双塔的对面,正阳步行街出来就是。
来这边拍照的人挺多的,当然下面这个图拍的挺模糊,相机的照片还没精选,先放一张。

东西巷 与 靖王府

要去靖王府就会路过东西巷,东西巷分东西,都是购物小店,有点全国统一的味道。

靖王府参观是百元一位,可以说是桂林最佳旅游景点之一。我之所以这样说理由如下

  • 历史文化底蕴浓厚,有导游解说,导游讲解是免费的。
  • 包含独秀峰游览,如果当天太晚了,可以找导游签字,三天内可以免费再来一次
  • 一些玄学东西没法拍照,太岁洞,请福等。

另外独秀峰是龙脉之尾呼应龙首,故宫的景山,这个是独一份的,值得一游。

下图是独秀峰登顶,拍摄的建筑一角,没有拍全是建筑上到处是人工痕迹有点出戏。
房檐挂着几个明晃晃的大摄像头,小房间里空空如也。

屋檐如悬崖风铃如沧海

七星景区

没去,被路人大姐劝退了。是个游乐场与公园的组合。并不符合我们行程的规划,pass。

就写这么多,一看时间已经是四点半了,晚点要赶飞机了。
以上,桂林市游记。

使用iPhone快捷指令进行双重曝光

2024年9月21日 15:20

昨天有个朋友问我能不能将两个图合成一张图。
原需求是,将下面的Q版身体图片与小朋友的头像进行一次拼接。
以此类推如果你也有类似的需求也可同样处理。


下面就讲一下如何处理,首先需要你有 “快捷指令“ 应用,如果没有的话可以下载一个,他是官方出品免费的。

你需要手动制作一个指令,或者使用我制作好的指令。
原理是先选择一张背景图,如上面的Q版身体。选择完毕会再次弹出照片选择,选择需要叠放的头像即可。
注意:这里叠放的头像需要抠图。也就是透明底,如果不会抠图,可以下载一个醒图进行一键抠图。
下面这个链接是制作好的快捷指令,点链接导入即可。 https://www.icloud.com/shortcuts/faa07fc2c4b44c3fba6468c8c528ee98
当然你可以自己按照下图制作。

注意叠放图像的步骤需要双指按住屏幕进行图片旋转,或者缩放。
最终效果图如下:

最后如果你想尝试自己制作可以下载本文中的测试图片进行测试。

东航没有晚点

2024年9月16日 23:16

中午狂风骤雨,下午三点才陆续停歇。
外卖平台一度停运,还好家里有面条,领导煎了两个鸡蛋,煮了一锅面条,对付了下。

忘带身份证

出门前领导再三跟我确认,有没有带身份证,我想着在车上,钱包里。便说在车上。“你确定吗” “我确定呀!” 我笃定的回答。实际在调博客的样式。最近对折腾博客很上头。除了跟宝宝玩,都在玩博客了。

果然开车出门十分钟后,发现钱包没有身份证。还好我们提前三小时出发。掉头回去取也就浪费了二十分钟。

虽然是我的问题,但是我们俩也没吵架,全程是情绪稳定寻找解决问题方式。我还跟领导开玩笑。“要是我爸跟我一起出门,我已经被骂死了” 😄。

早上看了新闻大概是所有的飞机都停了。下午三点之后也开始陆续开放了。
等到了五点出门,雨也差不多停了。

抵达公司停车场

公司距离机场比较近,打车也就六十多。车停机场是比较贵的,这样一想还是比较经济实惠。毕竟停公司也缴纳过停车月卡。
领导在路上就买了麦当劳,到公司就去拿。中午吃的面条,消化着实是快。打车去机场的路上,就吃完了双人套餐。
路上司机师傅也是很能聊天的一个小伙,从上海没有景点玩耍聊到外地特色景点,再聊到开错路口。
估计是怕送错口,小师傅一度想要倒车,吓得我赶紧阻止。“送到停车场一样的,就是走两步,没事的师傅。” 顺利抵达机场(提前2小时)

偶遇

坐飞机途中一位特能聊的老阿姨。由于阿姨特能聊,我也有点能聊,直到领导睡着,我和老阿姨隔着领导又聊了半小时。聊的话题很有意思,且听我细细将来。
老阿姨是个桂林本地人,五十岁出国游,还在美国找了个老伴,属于黄昏恋,阿姨四十多离异有个89年女儿,女儿还没结婚。
问她女儿会不会出国,她说女儿说不想出国,还说现在年轻人都不想出国。
昨天阿姨飞机回国飞了十几个小时,隔壁是个闷葫芦,十几个小时都不说话。说跟这个闷葫芦讲话,人也不搭理她。看来有点憋坏了的原因在里面才跟我聊了一个多小时,我大概知道原因也不想打断别人的聊天雅兴。
聊天过程中好几次提到年轻人要出国看看,不管是哪个国家,要出去见见世面。
我大概是想这样回复的“国内地大物博,现在都没有旅游完,国外有的景点国内有能找到类似的地方,但是国内有的国外可不一定有。” 当然这句话我是在心里过了一遍,要说不来岂不显得情商很低。
作为半个上海土著,当然我还介绍了一些上海景点,比如中国馆,明珠塔,也有静安步行街。好像这些景点也用不着我介绍,但我还是说了,就当聊天,谈的兴起罢了。
飞机快落地了,这一段就记录这么多吧。

顺手拍了两张图,云层之上月亮的光很亮呀呀,记得小时候家乡的夏天,月亮就是那么亮堂。


面对疾风吧,魔都结界破

2024年9月16日 12:24

在我写这边日志的时候,台风已经抵达了昆山。

雨水真大 冬天的袜子派上了用场

雨水太大,窗缝积水,再加上风一吹,这个水哗啦哗啦往里流。还是没有应对大台风天的经验。

好在冬天的袜子派上了用场,只有两个房间与客厅的窗台迎着风吹,家里的抹布不够用,加上袜子这才够用。

风真的很大

呼啸声一浪接过一浪,真的很可怕,我总担心这个窗会被吹飞。
一度让我想起,三只小猪的故事,小猪的房子被吹倒了。
小侄女在群里发了张图,说是邻居拍到流浪狗被吹飞了,但愿狗子能平稳落地。

给嵌入的memos添加评论

2024年9月14日 14:53

事情的起因还是博友评论,为什么我这边memos页面无法进行单独的说说评论。

凡事先要纠结下

我就想看看有没有别的博主做过类似的解决方案。

别说我还真找到了一个宝藏博主 用Memos API实现hexo博客的动态说说页面

又要迁移评论?

由于要接入这个评论twikoo,之前的评论只能是导出再迁移进twikoo。

我这个博客评论开了一个月,就算需要迁移,数量也不多,三百条都不到。

正在准备导出数据的时候,发现当前时间段不能导出,我先做服务搭建然后明天再导入数据

发现新问题

既然数据不能导出,那我先做一下前端页面。我尝试制作的时候发现问题了,memos的数据格式不匹配,我用的memos的api太新了。最后想想要不就改下现在的脚本,这样可能还快一些,数据也不用迁移了。

换方案自己改脚本给memos添加评论

过程曲折,修改后源码还是直接放在gtihub上了,有缘人自取。
链接地址同上一篇文章 将最新版的memos嵌入hexo

添加评论功能

修复右侧历史评论回复无法跳转到评论页面问题

留下一些遗憾

  1. 没有解决在历史评论中直接跳转到速记页面的上次评论位置
  2. 没有解决速记界面的评论数量显示,目前只能点击评论后再显示评论数量

记录本站的一些优化

2024年9月13日 18:30

之前搭建了个本地搜索,大约1.74M,让网页访问拉慢了,但是没办法,不然搜索不能用。

现在想办法把加载速度从其他地方找补一点回来。

使用图片延迟加载

github地址: hexo-lazyload-image
使用下面指令安装
npm install hexo-lazyload-image --save

配置如下,loadingImg需要注意要添加站点url,否则会出现页面内的post找不到loading图问题

1
2
3
4
5
lazyload:
enable: true
onlypost: false
imageCDN: # eg https://same.cdn.com/
loadingImg: # eg ./images/loading.gif

在这里可免费制作loading图 loading.io

资源压缩

Hexo-minify
Hexo-minify 是一款 Hexo 压缩插件,它可以压缩 HTML、CSS、JS、Font、Image(jpg,png,gif,webp,svg)

网页预加载

InstantClick CDN
当用户的鼠标悬停在一个链接上时,InstantClick 就会开始预加载该链接指向的页面内容。一旦用户点击这个链接,新页面几乎可以瞬间显示出来,因为大部分内容已经被预加载好了。它通过在后台异步加载页面资源,减少了用户等待页面加载的时间。

让hexo同时支持valine与waline

2024年9月12日 16:28

实现这点很容易,首先valine与waline用的是一套数据结构,他们互相兼容。
数据库可以不用迁移仍使用LearnCloud的,这里顺便说下为什么我没有在本地部署数据库。

部署waline遇到的一些事

部署waline有几种方案:
git/npm/yarn 部署 与 Docker部署。看上去部署的方式很多。本质上就docker与其他。
如果用docker会面临一个问题,docker环境如果连接本地Mysql,需要将Mysql的端口暴露出去,然后通过IP访问。
它并不能支持到loadhost之类的方式去访问数据库。

用”其他” 的方式部署,倒是可以直接连本地数据库,但是又涉及到安装环境问题。wailne需要本地支持Nodejs18+。
我的主机是Centos7.9没法去安装这个,所以这个方案就pass。

最终在没有多余的选择下,还是使用docker + 使用LearnCloud数据库,当然这样做也不是没有好处的。
我可以随时在waline与valine 两种评论组件之间互相切换,它并没有切换成本。

在waline上不需要再重新调邮件部署了,两者都兼容的情况下只需要保留valine的邮件通知即可,当然你要说反过来保留waline的也是可以的。
即使他们是兼容的,也有一点不足,在waline上他是支持了Markdown图片提交,但是在value的邮件通知上,并不支持markdown格式的解析。所以会造成收到邮件后显示一串markdown格式的文本,会让人摸不着头脑。

waline有一些有趣的功能

发现有个功能类似QQ群的头衔,比较有互动性,添加一下。

环境变量参考

如果你也在宝塔下部署waline,可以参考下面的配置。注意这边没有加入邮箱的配置。
SITE_URL一栏如果启用https去访问评论后台,必须添加,否则会出现无法进入等问题。
原理是在https的环境下去请求http资源,导致不响应。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
TZ=Asia/Shanghai
SERVER_URL=评论站点url
SITE_NAME=主站名
LEAN_ID=
LEAN_KEY=
LEAN_MASTER_KEY=
LEAN_SERVER=
SITE_URL=https://vrast.cn/ 启用ssl必须要有,而且不能有引号,踩坑点
LEVELS=0,10,20,50,100,200,300,400,500,600,800 用户等级
IPQPS=5 评论间隔
COMMENT_AUDIT=false 启用审核
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
NODE_VERSION=20.16.0
YARN_VERSION=1.22.22
NODE_ENV=production

小结

这玩意坑也不少,前端倒是容易解决,无非在console里面调试下代码。
环境问题要么就docker要么升级系统,不过谁会为一个评论插件去升级系统,这不本末倒置。

以上浪费6小时,仅以此文纪念失去的六小时,啊,六儿啊…

发现网站的图被搜索引擎抓了

2024年9月11日 21:30

如下图,发现google和bing收录了我这个博客站点的图,对于我这种半公开站点来说显然不是很合适。反正这不是我期望的。随后做一些措施,防止后面的图继续被收录。


一些反制措施

  1. 网页中添加如下标签,告诉搜索引擎不要收录站内图。

<meta name="robots" content="noimageindex">

  1. 网站根路径添加robots文件,告诉搜索引擎不要爬取对应路径,实际上只能防大网站。

  2. 最后一条加入水印,如上图,没办法的办法。

五分钟了解 GitHub Actions

2024年9月11日 12:45

先说一段关于Unity自动构建的问题,今天凌晨我准备用Actions构建Github上托管的项目,License自动激活总是出问题,有成功用Person证书构建吗 ?国内关于Actions的资料真的很少,这篇文章做个入门科普。

GitHub Actions 是 GitHub 提供的一项持续集成(CI)和持续部署(CD)服务,它可以帮助开发者自动化软件开发过程中的各种任务,如构建、测试、部署等。它使用基于事件驱动的模型,可以在特定的事件发生时触发自定义的任务或流程。

以下是 GitHub Actions 的基本用法和一些常见的概念:

  1. 创建 Workflow 文件
    GitHub Actions 的配置文件称为 Workflow 文件,通常存储在仓库的 .github/workflows 目录中。Workflow 文件使用 YAML 格式,其中包含了工作流程的定义和配置。

  1. 触发事件
    Workflow 文件可以根据不同的事件来触发执行,如 push 到仓库、pull request、issue 创建等。你可以选择性地指定一种或多种事件来触发 Workflow 的执行。
1
2
3
4
on:
push:
branches:
- main
  1. 定义 Job
    Workflow 文件中可以包含一个或多个 Job,每个 Job 是一系列相关任务的集合,它们在相同的运行环境中执行。
1
2
3
jobs:
build:
runs-on: ubuntu-latest
  1. 编写步骤
    每个 Job 中包含一系列步骤(steps),每个步骤是一个单独的操作。步骤可以是 shell 命令、调用外部工具、运行脚本等。
1
2
3
4
5
6
7
8
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '14'
  1. 使用 Actions
    GitHub 提供了一系列已经封装好的 Actions,你可以直接在 Workflow 文件中使用这些 Actions,无需自己编写复杂的脚本。
1
2
3
4
5
6
- name: Deploy to Firebase Hosting
uses: w9jds/firebase-action@master
with:
args: deploy --only hosting
env:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
  1. 自定义 Actions
    除了使用现有的 Actions,你还可以编写自己的 Actions 来满足特定的需求。一个自定义的 Action 可以是一个 Docker 容器、一个 JavaScript 脚本等。

  2. 存储密钥和凭证
    在 Workflow 文件中,你可以使用 GitHub Secrets 来存储敏感信息和凭证,如访问仓库的 API 密钥、访问第三方服务的凭证等。

  3. 监视和调试
    GitHub Actions 提供了丰富的监视和调试工具,你可以查看 Workflow 的执行日志、查看每个步骤的输出、查看执行时间等信息。

以上是 GitHub Actions 的基本用法和一些常见概念。通过合理地配置 Workflow 文件,你可以实现自动化构建、测试、部署等工作,提高软件开发过程的效率和质量。

给hexo添加本地搜索

2024年9月11日 11:00

之前用多个google搜索,baidu搜索也用过,实际上体验并不如何好。
主要是更新慢,百度收录还不全。
所以我还尝试了 swiftype ,这个搜索引擎是收费的。
搜索效率高,收录提交虽然也不慢,但是它收费呀。

这时候我看到有个本地搜索的选项:

1
self_search: false ## Use a jQuery-based local search engine, true/false.

稍微了解下发现它是基于xml文件索引的,大概原理是将往期文章要素存在xml,然后js搜索对应的数据。
通过npm进行安装,这是源项目地址 https://github.com/wzpan/hexo-generator-search

1
$ npm install hexo-generator-search --save

工作原理

运行 hexo g 之后,实际会生成下面的xml文件在根路径下。节选部分结构,发现这确实只是一个内容匹配。

1
2
3
4
5
6
7
8
9
10
11
12
<entry>
<title>五分钟了解 GitHub Actions</title>
<link href="/posts/30334/"/>
<url>/posts/30334/</url>
这里是一些文章数据
<categories>
<category> 分享 </category>
</categories>
<tags>
<tag> github_action </tag>
</tags>
</entry>

加载与搜索速度都比站站外的工具快,好用,推荐。

效果如下:

演示站点: https://vrast.cn

梦境与现实

2024年9月10日 16:50

人们常说日有所思,夜有所梦,但是我不一样,我的梦千奇百怪,有的是奇幻之旅,有的是恐怖悬疑,和现实生活简直没有一毛钱关系,拿个印象比较深刻的梦来说:
我站在一个阳台上,外面的天空湛蓝湛蓝的,云朵好大一片,这个阳台没有装窗户,视野很开阔,一回头我发现身边站满了人,大家在激烈讨论着什么,随后我就听到有人对我说:“下去小心点啊!我们等着你的好消息。”还没等反应过来,原来后面是一个超级大的电梯门,随着电梯的到来,门打开了,是移动式的,我和另一个小伙伴走了进去。
电梯头顶有一个灯泡,摇曳着微弱的灯光,电梯里有几个人,不知道是不是人,因为非常怪异,像人又像鬼,全都耷拉着脑袋,有的躺在床上,有的坐在轮椅上,脸色惨白,没有人说话。我和小伙伴连呼吸都小心翼翼,生怕被他们发现我们不是同类。
维持着这样的状态不知道多久,叮的一声,电梯到了,大门打开,映入眼帘的是比较昏暗的红色灯光,外面是通往错综复杂的走廊,电梯里的人全都起身一个个有序的走出了电梯,我和小伙伴排在最后也跟了上去。
走出去的时候我心里一直想着:千万不要发现我,千万不要发现我。但是事实总是不尽人如意的,就在走到快拐角的时候,在我前面的那个人好像发现了什么,突然转身,张开了血盆大口,张牙舞爪的扑向我们,而此时,小伙伴突然变成了一只黑猫,我们也立马转身向后跑,跑到一个虚掩着的门跟前,打开就冲了进去,进入后是一直往下的楼梯,黄黄的,昏暗的光,我们就一直往下跑,直到听到一声猫叫,我悬着的一颗星才放下,心想:走对了,马上就能出去了。就这样,梦境结束了。
听着很荒诞,但这就是我做的梦,这个梦被我分类为恐怖悬疑类梦境,在现实生活中根本就不会发生这样的事。那有些人可能就要问了:你是不是看了电影或者电视剧呀?当然,这也是一种会做梦的因素,如果在睡前看电影或电视剧也可能会做一些相关的梦境,但我很清楚的知道我没看,因为我睡前基本上都在B站看视频,大多数看的还都是段子和吃播视频。
其他的类型的梦我也做过好多,把之前记录的一篇梦境给大家分享,是奇幻类的:
初入梦,上身赤裸只穿了一条白色花边短裤,站在广阔的平原,每搁几公里种了许多参天大树,树出奇的茂密,从底部往上看,树中结构一圈圈围起来的,层次分明,透着些许阳光,非常悦目,随后画面回到大视角,往远处看有一颗树顶部长了许多超级大的菌菇,心里一喜,心想我要去摘蘑菇,但是一看自己上半身还赤裸着,总感觉有同事的眼光盯着,没错,在梦中感觉就是同事的目光,可能寓意就是没穿衣服被人盯着的那种感觉,于是纠结要不要穿上衣服,最终还是决定回家。
在回家路上看到种的巨型毛豆熟了,也是几公里内就种了一根,远眺后发现还有许多都熟了,眼前这根巨大无比,里面密密麻麻结了许多毛豆都爆开了,上前仔细观察,几米高的一根茎上就挂了一根豆荚,豆荚里面塞满了鼓鼓囊囊的毛豆,已经爆开了半个口,而且里面都挤满了没有缝隙了,心想要赶紧摘了不然要掉了。
画面一转,来到一扇门前,打开房门进去七拐八拐的饶了很多路,依稀听到外面最大的会议室有人在开会说话的声音,具体说了什么听不清楚,经过了一个男孩的房间,男孩大概10-12岁左右的样子,被保姆带着,好像跟我不是很熟,只是跟我说了两句话,记不清说了什么,在走出男孩房间时还看到床尾摆放着整齐的衣物,再次从男孩房间开门是一个厕所,经过厕所感觉又走了很多路开了好多门总算是来到自己房间,穿上了衣服。
来到窗边,我对着空气说:“小爱同学,帮我把毛豆摘过来”,没错真的是小爱同学,可能家里用的是小米的音箱,每天都要叫小爱同学,梦里也叫小爱同学,真的是很搞笑。
然后我就往窗下看,枯叶幻化成了巨大翼龙,泥土幻化成了巨人,翼龙在来回飞翔帮我采摘豆荚,巨人在帮我剥毛豆并且整理,一会功夫不知道怎么了,巨人和翼龙打起来了,我还津津有味的看了一会,结果发现毛豆因为他们打架四散滚落了,于是我非常着急地说:“小爱同学,把我毛豆捡回来!”最后的画面是看到翼龙飞到远处去帮我捡毛豆了,两个巨人站在原来的毛豆堆前在摆弄着,随后梦境戛然而止。
这个梦比较长,被我分类为奇幻类梦境,是前一天晚上做的梦,第二天立马记录下来的,所以记得的细节比较多。我经常和我家那位讨论关于为什么我总是会做这些与现实不搭边的梦的原因,我是比较偏向于平行世界的我,就是在我睡觉的时候,不同维度世界的我在那时做的事情,这种想法当然也很荒谬,没有科学依据,只是个人想法,但是我家那位其实也挺赞同我的说法,因为没有人能证明没有,也没有人能证明有,只是一些猜测罢了。
还有就是在梦里的时候,我基本都能靠主观意识操控在梦中的自己做什么,当意识很强烈的时候,甚至脑子里会蹦出来一个词,然后发现是现实中存在的,不是符合当下梦境的。
有好多梦是好久之前做的了,大多数细节已经记不太清了,只记得大概得主要片段,但是下次如果做到不一样的梦,我想我还是会记录下来,因为实在是太有趣啦!

下班路上的辩论赛

2024年9月9日 23:31

晚上和领导开车回家路上,进行了一场十分钟的辩论。
夜晚抽空将这段音频给转码(讯飞-语音转文字)后丢给豆包进行分析总结。
下面记录一段豆包总结后的辩论内容。

关于将亲人骨灰制成物品的讨论

在这场深入的对话中,luxr 率先抛出了当另一半离世后,将其骨头制成骨雕留在身边作为念想的想法。从他的言辞中,不难感受到他对另一半那份深沉而执着的情感。他渴望通过这样一种独特的方式,紧紧抓住与爱人之间的回忆,仿佛这样便能在某种程度上让另一半永远陪伴在自己身旁。然而,他似乎在情感的驱使下,未能充分思量这种行为背后所潜藏的法律、伦理以及实际操作等诸多层面的问题。

keyle 则以一种理性而客观的态度,对这一想法进行了全面剖析。他坚定地指出,绝大多数人都难以接受这种行为,接着详细阐述了从遗体上取骨头不仅涉及到侮辱尸体罪等法律问题,还面临着在技术手段上难以实现的困境,尤其是在中国的城市环境中,这种想法几乎没有付诸实践的可能。此外,他巧妙地援引了黑奴贩卖时期的历史事件,当时英国的一些大殖民者在印第安和非洲等地买卖黑奴,将强壮黑奴的头颅砍下来后阴干,缩水并掏空制成小头骨拿回家收藏。他以此为例,说明 luxr 的想法在本质上可能引发的一系列伦理和道德问题。尽管买家可能并不清楚黑奴的死亡原因是自然死亡还是惨遭杀害,但这种行为的货源无疑存在着巨大的疑问。keyle 的心理状态始终基于对理性的坚守和对社会伦理、法律规范的深切尊重,他极力希望 luxr 能够清醒地认识到这种想法的不切实际性。

随后,他们的话题转向了用骨灰替代骨头的可能性。luxr 认为,可以将除了放置在骨灰盒中的部分骨灰带回家,与其他材料融合,制作成具有特殊意义的物品。他或许觉得,这样既能满足他对另一半的怀念之情,又能避免从遗体上取骨头所带来的种种问题。此时的他,内心或许充满了对这种折衷方案的期待,希望能借此找到一种既能纪念爱人,又能规避风险的方式。

keyle 对这一观点表示了一定程度的认同。他解释说,火化后的骨灰通常数量较多,而人们往往只选取一小捧作为纪念,其余的骨灰家属有权自行处理。因此,从这个角度来看,用骨灰制作物品在一定程度上具有可行性。然而,他也不忘提醒 luxr,尽管如此,这种行为仍然需要谨慎对待,要充分考虑到家人和社会的接受程度。

如果按照 luxr 的想法去实施,可能会引发一系列不良后果。首先,在法律层面,他极有可能触犯侮辱尸体罪,从而不可避免地面临法律的严厉制裁。其次,从伦理道德的角度来看,这种行为势必会遭到家人的反对和社会的谴责,进而导致人际关系的紧张与冲突,给自身带来巨大的心理压力。再者,在实际操作过程中,很难找到愿意协助实施这种行为的人,毕竟医生等专业人士通常会坚守职业道德和法律底线,不会参与此类事情。

总的来说,luxr 和 keyle 通过这场对话,对这一颇具争议的话题进行了深入探讨,各自展现了不同的观点和思考角度。这不仅让我们更加全面地认识到这种想法所面临的重重挑战和问题,也引发了我们对于情感、伦理、法律等诸多方面的深刻思考。

独立游戏相关的思考

2024年9月9日 16:31

想起记录这件事的来由是水友在群里发了一篇文:
我的独立游戏制作理念
凉鞋是一名独立开发者,大概很久以前在蛮牛与他加过好友。
当年游戏蛮牛是Unity3D开发浪潮中最火的一个社区,当然现在游戏蛮牛都倒闭多年了。

在他的推文中,有这一段我是十分赞同的,记录一下。
下面是我的一些看法,我觉得大家想法应该都是差不多的,都是实用主义者。

谁都想做个独立开发者

群里土博士经常有这个烦恼,其实不止于他,大部分程序应该都有这个烦恼。
客户端做事情与策划做事情的习惯还不一样,具体就局限在上面一节提到的,技术限制了想象。
如果一味执着当下的游戏使用到哪些技术,就会将玩法部分弱化。
而玩家又不会为你用到什么奇淫技巧买单,买单的永远是好玩的游戏,而不是技术含量较高的游戏。

这段时间看的开源项目比较多都是工具向的,游戏的命题太过开放,所以难做。
工具向的功能开发,你可以很轻松的将开发的内容,限定在一个足够小的范围,解决十分具体的事情。

游戏向的开发工作注定你无法一开始就将你描述的故事世界进行一个范围限定;
比如你说要做个RPG游戏,那就要从描述一个背景故事开始。等你写好这个故事之后,再反推将哪部分作为核心的玩法部。再或者将这个步骤倒过来,先确定核心的玩法部分,再去套一个背景显然这样是比较容易的。

玩法的来源

玩法的来源永远都是找原型,找到一个想做的游戏玩法,然后先给他1:1复刻出来,然后再根据想象力去扩展,或者改变这个玩法的规则,做加法,做减法 都可以,只要是让这个玩法变得更好。
找到一些参考的原型游戏,去看看评论区,玩家提出来的意见,反而是最重要的玩法修改参考依据。
这世界没有100%原创,就像你的名字在这世界上不是独一份的一样。有的只是 加法与减法 可能还有乘法。
乘法就是将多款玩法进行融合, 融合不是叠加,叠加就会变成小游戏合集,这显然不是独立游戏需要做的。

游戏的开发顺序是可以拆分的

这个问题很重要,重要到可以影响50%的开发时长。
为什么我这样说呢 ?(以下是个人观点,有很大讨论空间)
人员配置有限的情况下(可能只有自己),让开发去等美术(找资源),或者慢慢去调试shader,就让单个功能点时长无限延长。越是细节的地方越是耗费时间,所以让这部分工作放到开发完成之后。

开发方案A

前期每次功能点完成,都对应有美术效果,所以每次都要调整
假设功能完成5个点,可能会发现前面五次调整的效果并不和谐,又需要重新调整
方案A的优势是,经费充裕的情况下,可以将功能与表现拆开,由2个人进行开发,做表现只管统一风格做美化,开发就只管开发功能逻辑。

开发方案B

前期每次完成X个功能点,不要进行图形化,保留最基础的指示点
完成X个功能点,组成一个模块时候,再进行 图形化,丰富统一表现
方案B的优势是,预算不够的情况下,先将整体功能开发完成,再做美术上的迭代,可以将时间进一步压缩。

话说回来,我们都谈独立游戏开发了,就要打经济不富裕的仗,方案A这边只能pass了。

今天就想到这么多,最后再给一些资源推荐

有一些资源推荐

Tripo Ai

Tripo AI是一款由VAST发布的在线3D建模平台,它利用文本或图像在几秒钟内生成高质量且可立即使用的3D模型。这个平台为用户提供了一个快速、简便的方式来创建3D模型,无需复杂的建模技能或软件。目前,Tripo AI支持文生3D和图生3D两种能力,后续将推出纹理贴图功能。驱动该产品的通用3D大模型Tripo于2023年12月研发完成,基于海量3D高质量原生数据库训练,是一个数十亿参数级别的3D大模型。目前,Tripo已经实现8秒钟生成带纹理3D网格模型,可以进入传统管线进行二次编辑和调整。在此基础上,可以再用5分钟的时间进行优化,优化后的3D模型可以接近人类手工制作的3D模型质量,成功率超过95%。

Tripo Ai主要功能

  • 文生3D:根据文本描述生成3D模型。
  • 图生3D:将图像转换为3D模型。
  • 纹理贴图:为3D模型添加纹理。

价格

https://www.tripo3d.ai/

Mixamo

如果已经有了模型和贴图文件,可以直接在这个网站上进行T Pos绑定,有非常多的适配动画。

Mixamo主要功能如下:

  • 现成的角色:本身提供了一个高质量的3D角色库,从现实到卡通风格的角色都有,所有角色都已经完全纹理化和绑定。
  • 自动角色绑定:上传自定义的3D角色,它会自动为你的模型绑定一个完整的人体骨骼。
  • 动作捕捉动画:数千个全身角色动画,这些动画是由专业动作演员捕捉的。
  • 导出选项:多种格式下载。

镇山的虎

2024年9月7日 22:04

平时周末都是我俩带宝,今天领导去加班了,早上我爸给他送去公司,就剩下我跟宝两人。
早上宝是拒绝出门的……直到我同意给她买一包软糖。
有了糖果的激励,我跟宝一起度过了愉快的早晨,甚至还一起去买了个面包早餐。

结果到家之后,我说先吃点面包喝点豆浆,好家伙,宝直接用吸管插软糖一顿嚯嚯,然后告诉我软糖真难吃。
“啊,你把豆浆加软糖拌一起当然难吃啦。”我这样解释道。不知道是听明白了还是没有。

想起来爷爷带了鸡腿,算了,你就吃鸡腿吧。

车辆年检

吃好午饭陪老父亲去验车了,满六年需要年检了。年检出来车上全是警报。
年检花费360¥ 我是在不明白,年检到底是怎么检的能把车上警报灯全点亮。
是我俩去年检,也就避免不了所有小自动售货/小超市 的诱惑,宝要买一袋薯片。
正是这袋子薯片,造成了一系列反应。

午饭

领导上班家里没人烧饭了。我寻思要不就点个外卖吧。由于薯片刚吃饱了,午饭也不吃了,家里还没人镇得住她,就这个小吧台,上上下下五六趟,菜吃了一小口,饭是一口都没吃。

煮饭过家家

没有吃午饭,下午居然也没有饿,早上给她买的蛋糕与面包也没吃。
“你肚子饿吗?”
“我不饿爸爸”
“你吃饭呀,我都帮你盛好了,快吃呀”
以下省略千字过家家。

反思

晚上思来想去大概有这么两条;

  1. 以后就算跟她单独行动,再哭我也不买零食了,最多买小小的吃的。
  2. 家里还是要有镇山的虎。

自托管Photopea魔改

2024年9月7日 21:46

我有个需求挺简单的,就是将我这个头像的白色背景做个透明通道。
电脑也没有ps,随后想到了Photopea,初见这个网站他的布局非常有意思,我想着能不能自己也弄一个。
前面我也调研了下Photopea,他的整体几乎全是js构成,这也有有了改动的基础。

做了如下工作

隐藏了下面按钮或功能

  • 账户入口,
  • 关于等一些不必要的按钮
  • 隐藏云盘等

追加了对自己的网站访问,方便直接复制要修改的图。
有空就改了,挺有意思的,感兴趣可以在评论区交流。

演示地址点我,加载比较慢,大量js需要加载

不知不觉这个月搭了一堆服务

2024年9月6日 10:48

昨天晚上补充了下uptimerobot的网站监控列表,没想到多了那么多应用。

基本上都是自用的服务,小小的vps承受了难以承受之重。

有个服务想推荐一下

其中 思绪导图 (https://map.vrast.cn) 是开放的服务。我比较喜欢这个应用。之前下了好几个不同的思维导图,在家里的mac上,公司的电脑也没有相关的软件,主要是没找到合适的windows上的,刚好看到这个docker果断下手,结果就是真香。
它并没有在服务器存储东西,实际上是个本地文件编辑器,所以权限上是很让人放心的。
快捷键也是很全的,所以编辑起来比较顺手。下面是参考图。

你有什么推荐的docker应用吗?

❌
❌