E

Elmagnifico's Blog

后端与嵌入式、maya与游戏 | elmagnifico, Back-end engineer & Embedded System Lover | 这里是elmagnifico的个人博客,君子之交淡如水。

广东自驾游之粤东篇

Foreword 据说十一开始的前后两天,路上都非常堵,那我只能等到人不多的时候,开始自驾,逛一下广东周边,时间还是有点紧张,边走边记 自驾游 粤东大致路线 广州 一饭封神 本来想去曾师傅-宋·川菜珠江新城店,但是曾师傅的双人一饭封神体验餐十一不能用,只能现场点菜,这就比较麻烦了 后来还是先去了客·AKEN’S KITCHEN 私房菜,398¥一个人,一共大概是九个菜 法国AOP黄油葱香软法包 西班牙伊比利亚火腿萝卜糕 忠信镇黑蒜炖鸽子排骨汤 盐焗鸽腿酿鲍鱼 客家酒糟虾汤烧黄鱼 安格斯牛肉馅酿煮客家油豆腐 发酵番茄酸汤河源米粉 清汤枸杞叶 非遗刀工豆腐花 感觉一般,没有什么说是特别好吃的,吃完大概七分饱的样子,工艺属性拉满,仪式感高一点,其他的一般般吧。 还是推荐去吃大厨的,这种小厨、私房的东西还是有点拉了,和米其林的服务比起来还是差了一些 增城 莲塘古村建筑群 距离广州老远了,这也能算广州,我有点没想到 一去别人村里在摆宴,看了下刚好是今天10.3,还没开始,结婚的是两个姓陈的,而旁边就是陈氏祠堂,大户人家。 而里面的古村早就没人住了,能进去的就两间,全是马克思 古村里除了我以外一个游客都没有,一个都没有,甚至连工作人员都没有,这个地方真的是坑爹。 古村后面还有个小山,也是很久没人来了,我随便逛了下,糊了一脸蜘蛛网 小楼镇邓山村 邓山村也是非常偏,但他也是广州的,以为真的是个观星小镇,其实啥的没有,连个充电桩都是坏的。 古榄园,唯一一个能勉强算得上景点的地方,同样缺乏维护,更像是村里的村景,不大,一眼望得到头,十五分钟就能走一个来回了。 邓山村的路上,有一个小水坝,有不少家长带孩子来玩水,也有搭帐篷、露营的 正果老街 以前可能是真的老街,卖一些老东西、特产什么的,各种鱼干啥的,但是现在这个街翻修了,变成了仿古建筑了,狗屎一坨,然后这个街的石板路没铺平,高高低低的,走起来很别扭,很多商铺都还没人,没装修好。 不值得去,卖的那些东西,广东基本都能买得到,晚上住在这里的民宿,垃圾的一批。 老街附近的正果寺,没啥好看的,但是寺里这个桌上,放了个小乌龟,真的超级有才,特别是后面的院子里标着狗粮、乌龟粮,配合这个小茶桌上的小乌龟,别有一番风味。 蒙花布村 难评,也是河边的沙滩,晒得要死,有人租遮阳棚,河边本身是禁止游泳的,但是依然开放了这里,缺少救生员,都是家长带孩子来玩水、玩泥巴的 从化 溪头村 开车一个多小时,下了高速以后基本就到了,但是发现1.3km的路堵1小时以上,那不用想了,不是里面爆满了,就是路上出事了。趁我还没进去,直接掉头走人。 溪头村是有可能是那种可以溯溪玩的,可惜了,看起来可能和前面去的邓山村类似,都是一下高速,走一段就到景区了,估计也是个村景。 之前广州公众号里推的小镇,南平静休小镇、西和小镇、米埗小镇、生态设计小镇、吕田小镇、莲麻小镇,实话实话说都是只能观赏15分钟就得走的地方,但是距离一个赛一个远,基本距离广州市区都是1-2小时车程的 国道 好久没有走过村里的国道了,有的是真的修的不错,肉眼可见的好,有的是直接就在修的,很难走,还有就是那种大小补丁的路,一颠一颠的。 国道路过的大大小小的村落,其实都很偏,但是国道把这些小村子都串起来了。 云髻山 门票很便宜,34,云髻山不算特别高,走慢一点,大概45分钟-1小时就能登顶了,中间大概会路过三个瀑布,还行 总的来说勉勉强强吧,算是比其他几个地方好一点点,但是总体景区的指引缺少,卖水的都很少,全都是卖豆花、糖水什么的,很奇怪。山路台阶不太好走,高的老高了,窄的的又特别窄,放不下脚的那种。 人不算特别多,停车到景区山脚下就行。 龙川霍山风景区 时间太紧了,这个地方本来打算去的,但是看下下,这地方光是走路就得2小时起步,就算有电梯辅助,也少不了多少。 梅州 晚上去梅州路上第一次遇到高速堵车,大概是几个货车撞了,一个翻车,几个追尾,堵了一个半小时一动不动的那种。 叶剑英纪念馆、千佛塔、泮坑瀑布就不去了,红色、佛教没兴趣,瀑布由于要去黄满磜,这里就不去了,但是听说也不错的。 客家博物馆 客家博物馆附近是有点堵的,停车不容易,建议稍微开过一点,路边有很多停车的地方。 客家博物馆广场挺大的,但是没啥内容,空大,人都挤到博物馆内了,主要是客家起源、发展,大概了解一下。 值得吐槽的就是客家的冰箱贴可真贵啊,随便一个就二三十,重庆可是五块2个啊,这个价格有点离谱了,广东都这么有钱的嘛? 江北老街 江北老街,有点以前去厦门的那种风情街的意思,看起来都是新改造出来的,卖的自然也是游客价,略贵。 走出老街以后,吃了个掩面,确实挺便宜的,但是好像没我以前深圳吃的便宜,好像烧卖也是这里的特产?很多烧卖店,就是卖相有点难看了。 雁南飞茶田景区 雁南飞茶田景区包含两个,一个是茶田,一个是桥溪村,进去要做巴士,当然你也可以纯走进去,稍微远了点,建议能坐都坐,里面还有的你走呢。 茶田类似梯田一样,可以拍照打卡,其余的景色都一般般,只能说有,没啥玩乐的,纯逛。 桥溪村需要做巴士走盘山路,会路过一个大水坝,但是也只能远观,上去以后就是村口了 桥溪村应该是最拉的,服务人员还说限制时间,但是实际上地图所有标注的xx堂、xx楼全是别人家,你只能看看外表面,那里就是本地人自己住的房子,没有任何特殊的点,就纯骗,过来的人都有点不明所以。 然后桥溪就有个小溪一样的,有些位置可以给你稍微玩下水,再就是栈道,栈道尽头是养心谷(三个大字)没了,对没了,你还得原路返回,旁边你也能爬山,不高。 只能说这个景点有点点离谱,适合拍照,如果人多可以租一个接驳车,大概可以坐七八个人,然后在景区内逛比较方便,其他的就真的一般般了。 揭阳 揭阳的路是真的搓,车道线不明显,全磨没了,晚上根本看不见,大家都随便走,然后路上各种鼓大包,我悬架弄到最高我感觉都有点刮底盘。 揭阳学宫 有点孔庙的意思,带小孩逛逛还行,其他的就一般般吧,围绕整个学宫,弄了个揭阳古城,周边是些吃喝玩乐的地方 黄满磜瀑布群 行程中止,后续的行程只能下次再说了 爆胎 起因 万万没想到,离开揭阳前,从停车场出来,就撞上了这个石墩子,然后爆胎,右前铲又被干爆了。这个石墩子在车内360完全看不到,由于又是刚出停车场门口,本来近距离报警就一直响,就没注意,加上他这个本身就有个台阶还是个坡,能走的路就一点点,停车场出来不能直行(石墩子刚好档在了右侧),得先左打才能转出来。这个石墩子对比其他墩子都被蹭的黢黑,坑了不少人。 墩子旁的垃圾桶,是我撞完他才放过去的,可能他们也觉得这个东西有点问题 回看视频,行驶速度就5km每小时,但是就是干爆了轮胎,有点奇怪,车胎爆了以后,车机立马就提示了,然后就是小米道路救援,看本地是否能维修或者处理。以我上次的经验,这个前铲刮了、然后前保险杆有点翘皮了、轮胎爆了,必然要走报销,而且一两天都弄不完。 救援 协商了半天,揭阳本地修不了ultra,也没备件,最近只有汕头才行,但是行程就剩2天,咋都弄不完,那就拖回深圳处理。正常小米道路救援只能拖回邻近的城市,但是十一期间加上ultra会员,可以直接拖回用车城市,免费。 由于爆胎了,客服又说最好别移动了,会导致轮毂受损,失圆,换轮毂又是一笔不小的费用,但是我停在了停车场出口上,还好这个停车场是双出入口,我堵了一个,还有另一个,停车场的老哥直接立了个牌子让他们绕去那边,不然一直有车bb,谁也顶不住。 但是等拖车等了接近4个小时,从11点多等到16点,拖车才来。来了以后,小米流程很复杂,这也要拍照,那也要拍照,把拖车司机折磨疯了,等拖的时候拖车要横过来,卡住整个马路,然后发现拖不上去,会直接刮底,刮前铲,就只能重新协商,要我本人同意,自己开上拖车,失圆责任重新甩给我,无奈,所有人都等了一个多小时,只能接受,重新开上拖车,大概就10m,就能闻到右轮的焦皮味。 当晚我到家以后,车也同时到了小米售后中心,但是这个卸车没有接车人,司机直接把车卸路中间,人走了,不知道这该怪谁, 小米愿意提供服务,但是中间环节又有漏洞,难顶。 打车券 小米客服说是上了拖车以后就会发放打车券,500,我被重复发了,给了1000 可是打不到车,揭阳回深圳太难了,加价到一千,都没人接单,而这个打车券是高德的,只能打车,不能顺风车、也不能拼车,很无奈了,而且还有时限,也暂时用不上,浪费了 揭阳到深圳的高铁是一张票都没有啊,十一还是太恐怖了 顺风车之旅 约顺风车 于是乎只能滴滴打顺风车了,顺风车倒是不贵,独享也就430多,但是体验真的是一言难尽,怪不得那么多人喷顺风车,真的不是没道理。 顺风车一共打了六次,最后一次才真的上车,基本上前五个,每个都要私下加价,是直言不讳的说要加钱,一问加多少,加300,车费就430多,加300?你是真的敢叫,且不说还是些烂车。实际从揭阳到深圳大概300多公里,算上堵车最多是5小时,如果车费700多,算算时薪100+,这些司机是一个比一个黑。 最后一个打到的顺风车,算是比较好的体验了。 顺风内幕 最后一个司机也是职业顺风车司机,但是不是坑人的那种,大家聊了一路,大概了解了一下顺风车的内幕。前面不走的这种司机,不但加你价格,还要中途带人,一趟下来必须得盆满钵满才行。由于我是独享,那就更不愿意带你了,而你要是拼车,那算是完了,厉害的人家开2小时都出不了本市,贼离谱,一定要把拼车拼满才能走,时刻要保证车上满载,否则就得各种拼人,真的离谱。然后平台也默认拼车人的时间是没有上限的,你今天一天都耗到车上也完全没问题,这就导致了看似便宜的拼车,实际时间成本无限高。 平台本身在整个行进中是不允许司机和乘客同时关闭APP(杀后台)的,一旦同时关闭了,立马就有人工电话打进来询问情况,要求你和司机同时开启,这个也挺合理的,确实能保证安全。 行进过程中,如果司机开太久了(3小时),会强制要求司机休息(20分钟),否则之后就不给司机派单,直接拿捏你司机。 司机开的乐道L60,开顺风车的时候,直接智驾,其实3小时疲劳根本用不上,如果你不赶时间的话,智驾高速上驾驶比你自己稳多了。 聊天他就知道我很熟智驾所以不敢开,一直到后面聊熟了他才敢用智驾,顺风车开智驾不专心会被投诉 顺风而行 从揭阳去深圳,路上基本走沈海高速,但是沈海是真的堵啊,整个高速大概就有三四个堵车点,其中两个一个堵车14公里,一个堵车11公里,不绕,今晚就高速上过了。 司机和我一人一个导航,我百度,他高德,互补导航,我们各种在堵车前下高速,走过拥堵以后再上高速,这么来回走了2趟,总算是走过了所有拥堵路段,一路上就能看到很多类似的绕路车辆,基本都是粤A、粤B的。比较符合导航刻板印象的是,在一个红绿灯,所有高德导航都往左走去了乡间小道,而所有百度都直行走了国道或者省道。 乡间小单单行道,但是距离近,直接横穿了,但是晚上很多车,很多村里摩托,行车压力还是大一些的。 国道省道,那就是两车道或者三车道起步了,路宽也亮,摩托也少,就是绕路有点远。 而在路上,小米车主果然都是最符合刻板印象的车主,一路超车,单行道也要找机会各种超 最后走了接近5个半小时,中间停车充电了不到20分钟吧,总算回到了深圳。 整体也算是挺有意思的一趟,上次坐顺风车可能还是五年前了,大晚上走了好多村子,确实看到了好多以前没见过的。 广东的村子有的富有的穷,但是总体村里的道路都算不错的,有钱的村子,路边的家家户户都有灯带装饰,路灯上挂着灯笼,可能本地人看多了不觉得有啥,但是外地人光是路过就会觉得哎这个村子不错,然后晚上各处都在放烟花庆祝中秋,穷一些的村子就没这些了,有条路就不错了。 智驾 实际开了三天吧,走了935公里,基本能智驾就智驾,80%都是智驾开的,我只负责上下高速和城区或者村里。 长途驾驶或者堵车,基本都是很轻松的,高速上只要不乱搞,你不会主动发生事故,大部分情况也都能应付得过来,开车反倒变成了一种休息,景区里逛累了,开车去下个景点的时候休息一下,如此反复,还挺好的。 没升级到端到端之前,普通的NOA,还是挺好用的,130定速巡航,大弯都能稳稳的过,但是后面升级到了HAD就不行了,大弯会突然要接管,吓死个人。 然后城区使用HAD,开车决策还是过于肉了,超车变道也很慢,每次判断之前一定都会减速,然后后面跟的车,就会闪你或者b你,影响你的智驾使用体验。 如果没有其他车干扰,那这个东西确实能用,确实你可以不接管,完全给车自己开,但是现实情况人会受到外界其他车主的影响,而且行驶过程中遇到人行道、路口、红绿灯等等完全没有阻碍的情况下,他也会默认减速,就导致乘坐体验不太爽。 智驾过程中也遇到了极端天气的情况,超大暴雨,一瞬间就啥都看不到了,智驾会提示接管。但是如果是不那么极端,比如前后摄像头人眼已经不太能看清了(有水雾、脏东西等)似乎也能正常智驾,不会提示遮挡或者接管,不知道是靠什么实现的 Summary 以下行程就以后有机会再说吧,节假日就不乱跑了,真的太堵了,广东是真的人多车多,还是有钱惹的祸啊 汕头,早茶 潮州 汕尾,二马路,迎囍皇宫,品清湖,红海湾,上海外滩,汕尾风车岛 感觉自驾还是得多带一个人,可以帮忙看看导航,提前规划路线,能省好多事,说不定我也能不撞石墩子了呢? Quote https://mp.weixin.qq.com/s/l5U26QKp87wbi4HKJAm23A https://www.v2ex.com/t/803573 https://post.smzdm.com/p/688340/

10/9/2025
articleCard.readMore

河源游记

Foreword 七月份去的河源,太忙了,一直没空记录 河源 总体河源还是个小县城的样子,去河源的路有点难顶,高速一直在修,路上限速80,车还挺多,很多大车靠左走,非常离谱 万绿湖 万绿湖的云都特别好看 万绿湖内的民宿,可以看清整个景区,其实不大。万绿湖游玩主要是做游船去湖里的各个岛上去逛 万绿湖名义上是广东水库,所以一般是不允许你下去游泳什么的,但是由于万绿湖特别大,所以很多沿湖的边上,有一些缺口,就有人过去露营、游泳,玩水什么的。 有一说一,正好是雨季,晚霞特别好看 万绿湖附近都是以吃鱼为主的餐厅,感觉一般,客家菜很多,待了几天,每天桌上都有一个客家豆腐,吃吐了。 新丰江音乐喷泉 曾经的亚洲第一高喷泉位于河源大桥与珠河大桥之间的新丰江中心,每到夜晚时分,喷泉水型多样,变幻莫测,融声光水色于一体,十分壮观。喷泉表演一般在晚上八点左右开始,持续约半小时,在欢快愉悦的乐曲中,绚丽多彩的喷泉水柱随着音乐舞动,气势如虹。不论是专程前往,还是沿着新丰江漫步经过时,这里都值得去看看。 据说喷泉高度有190米,估计现在应该没这么高了,这玩意都20多年了,喷泉配合的广播、音乐还是20世纪的味道,这二十来年估计一点都没变,只能说20年前这里是真有钱啊 喷泉一共大概持续25分钟,前面就是各种循环没啥特殊的,就最后1分钟才喷最高高度,也就那么回事。 晚上很多老人、妇女,领着、抱着小孩来散步,隔江看,喷泉跟前停车可真的老困难了,江边的停车位都是满的,技术不行进都进不去,别说停了 茶山公园 车停在河源市政府,晚上市政府停车位很空,里面的不知道是保安还是啥,直接招手让我们进去,说免费停,还挺好的。 从市政府走过去,电视塔下的就是茶山公园,就是一些普通的街健的器具,有一些摆摊的老人,人不算特别多。 茶山公园有几个奇奇怪怪的罗马柱,风格不太搭,旁边的公测还在改造,但是造型是个大桔子 河源电视塔 电视塔一直播着各种广告,在城里挺显眼的 Summary 番外,河源机动车审批很离谱,各种按道理上不了路的车,在河源都能上,很多稀奇古怪的车,可能挂的都是河源的牌,粤P开头

9/30/2025
articleCard.readMore

博客十年-百万访问

Foreword 从建立这个博客开始,到现在(2025.9.25),已经快10年了,最近一看访问量有一百万了 Blog Blog经过多次修整,目前相对比较稳定了,能满足我自己用,也不太需要二次开发 2015.11.1 上线 2017.1.9 修正about页面的私有评论 2018.2.9 当前版本删除了双语文章支持 catalog正常工作 修改了head字体颜色为黑色 删除了Hux的portfolio等 修复c/c++代码注释问题(可能引起tab和space造成的不对齐的情况) 2021.4.28 Hux长期不更新,Hux用的js的cdn基本国内都挂了(导致网页加载时间极长),所以将部分link转成bootcdn部分直接作为本地文件存储了 修改代码中注释的渲染方式,看起来更明显了(之前的灰色斜体中文简直不是给人看的) 删除了一些没啥用的文件 移除Hux残留的一些编译文件 移除代码中早已过期的注释的内容 2021.4.30 添加latex公式支持(Hux自己的挂了2年了) 移除less等编译时用的内容 增加页面导航显示的排序 2022.2.23 替换Google追踪的代码,移除无用的相关代码 整理网站tag,所有图片替换成自己的图床 修改License,使用GPL 切换CDN为cloudflare 切换fontawesome-webfont为4.7.0,支持qq telgram等图标 2022.12.14 增加网站统计 增加页面统计 增加动态效果 增加顶部进度条 增加返回顶部按钮 增加页面谷歌翻译 背景显示彩带 2023.2.4 增加置顶功能 2023.3.25 支持Mermaid 增加导航页的顺序(about和tag顺序就可以设置了) 增加统计偏移量 2023.4.10 增加水印功能 2023.7.17 修复目录栏滚动条 修复引用链接过长,未分行处理 2023.12.12 所有动态效果和谷歌翻译变成可配置,默认关闭,会影响性能,cpu消耗较高 2025.11.1,Blog在线十周年 百万PV 最初的blog用的域名是elmagnifico.me,用了一年多,后来才换成了elmagnifico.tech 22年底,基本23年才算是接入了统计数据,之前的PV、UV一直没有统计,就估计了一个值,加上去做偏移了 site_pv_num = parseInt(site_pv,10) + 572573; site_uv_num = parseInt(site_uv,10) + 490731; 接入统计以后,3年大概就有40-50w的pv了 Summary 感谢Github,小Blog托管10年,接口都没变过,即使被DDOS,也没掉过线 Blog早年搬迁到自己的服务器了,但是Github pages一直在备份,从没出过问题 坚持写了十年,好多我自己关注的博主都断更或者变年更了,Blog从一开始的记录,变成了现在我自己的小众知识库,接触的东西越来越多,没办法记住所有的内容,不如写出Blog,需要的时候来翻一翻

9/25/2025
articleCard.readMore

Plane最佳实践

Foreword 之前写了Plane的基础指南,但是用了这么久以后,发现当时的理解还是有一些偏差,这里再补充一下Plane的最佳实践 Plane https://github.com/makeplane/plane Plane开源的项目管理工具,目前还是非常好用的,而且没有开源版本目前还没有做出来为了商业版做各种恶心人阉割的操作,目前还是值得推荐的 最近Plane的版本号从0.28直升到了1.0,意味着他认为他多数功能已经做完了,只是这个1.0版本到底更新了啥内容没有详细介绍,目前更新日志还对不上。 Plane也接入各种语言,目前中文也可以使用了,虽然还有一点点没翻译到位 最佳实践 还是以团队形式来说,如果只是小团队,每个人可能都身兼多职,没有生产等环节,单纯软件开发,那么这个工具按照我之前的流程使用基本就够了。 但是如果团队规模比较大,涉及到实际生产,那么可能之前介绍的用法就有一些过于简单了。 以下都是基于社区版的Plane进行的项目管理,社区版本缺少了任务流转、模板、细化权限等内容(商业版有),但是用下面的方式可以一定程度上人为补全缺少的功能。 下面的实践都是基于一个小项目组,比如10人以内,超过10人以后就应该再拆分一个项目组,对于整个项目来说可能还得有各组之间对齐的项目面板。 敏捷开发 如果只是敏捷开发,那么只需要在整个workspace做好工作规划即可,然后把规划后的内容逐步放入每个周期中,周期排的够多以后,每个周期都有一定的工作范围、实现目标,那么基本上整个项目规划自然而然就串起来了 整个项目的完成时间或者节点就可以通过周期视图来看出来了,只不过Plane的这个周期稍微有点不适合而已。 对应的就可以用Plane中的module模块或者Label来把各个模块打上标记,从而通过筛选后看到各个阶段完成的目标是什么。 到这里只是规定好了Plane每个部分怎么用,但是具体到每个人他应该怎么用Plane,哪些事情应该由他来做,哪些事情应该由别人来做,其实很多时候就是这个没定义清楚,导致大家不知道什么是他要做,什么是别人要做的,就会觉得这个东西有点难用了 完善状态 在开始之前,还需要完善一下Plane中工作项的状态 需求完善,需求细节还没有,但是已经有这个方向的想法了 待做,需求细节已有,产品主动切换到这个状态 开发中,研发进行中,研发主动切换到这个状态 等待测试,研发完成,等待测试进行测试,研发主动切换到这个状态 测试中,测试进行中,测试主动切换到这个状态 完成,产品和测试同时确认完成,产品主动切换到这个状态 延期完成,产生了任务延期,产品主动切换到这个状态 取消,取消任务,产品/研发/测试主动切换到这个状态 实操 先设定一个团队组成: 产品经理1 研发负责人1 研发n 测试n 首先是产品经理做好需求和规划,将这个部分全部建立对应的工作项,如果长期需求还没写好,那可以先把近期内的都先建好,任务状态是需求完善。 第二步研发负责人将需求进行分解,拆解成n个研发的任务,这部分任务就自然的建在需求的下面,作为子项,任务状态是待做 第三步测试负责人提出测试计划,测试用例,可能还有对应的自动化测试的任务,也是作为子项,任务状态是待做 完成以后类似此图,依此类推,就可以建立出来n个产品需求 第四步需要所有人一起核对排期,任务时间,确定这个需求总时间大概是多,比如七天或者八天,近期打算做的任务都需要这样大概排期一下。 第五步产品将需求排入周期中 这里对需求的大小有一些管控,如果需求过大超过了周期,需求需要分两步去做 同样的如果一个周期填不满,那么需要补充一部分下一个需求的内容到这个周期,等下个周期来了,再使用周期迁移把未完成的部分整体移动到新周期内 第六步周期正式开始了,此时研发开始填他各自的任务,时间,将每阶段完成情况回复到任务内,同理测试,任务状态是开发中或者是测试中 第七步开发基本完成,测试需要额外建立出来一个测试bug,并且一一指定到对应研发,任务状态是开发中或者是测试中 第八步,产品确认是否需求一一完成,符合预期,任务状态是完成或者是延期完成 到这里基本一个小循环、小周期就完成了,后续基本按照这个模式继续往下走就行了。 制造业的流程管控 上面说完了纯软的,但是到软硬都有的制造业,这里又有很多不一样的东西,导致上面的流程不足了,需要额外再利用起来Plane中的模块和视图内容 这里借一张图,制造业的时候,就不止一两个团队在项目中了,光是研发中就有5个团队介入了,这个时候Plane要怎么管理才能显得不乱呢。 研发过程类似上述的敏捷开发,这里不再重提,主要是说一下,在整个项目过程中各种职能的人要关注的内容如何用Plane实现 项目经理 项目经理需要关注各个阶段的内容,各个项目组是否按照预期完成了 所以项目经理需要建立几个大的模块,这个模块就按照项目阶段来分,比如EVT、DVT、PVT、MP 具体的任务就需要项目经理和各个项目的负责人(产品/研发)确认这个内容属于哪个模块 后续项目经理就要关注各个阶段的任务是否有完成,要协调各个组的事宜。 研发 研发这个部分就比较简单,按照敏捷开发流程来就行了 测试 此测试非各个小项目组内的测试,这个是做可靠性、产品方案验证等内容的测试,是对批量的测试,而不是简单单体级别的测试了 测试在这个过程中也依赖研发的支持,有些内容需要先开发完成才能进行测试,这个过程也需要项目经理进行协调、统筹 可靠性测试的内容,报告需要上传进Plane,Plane需要放开附件上传大小的限制,否则很多报告不够 生产 到了生产阶段,基本前面的流程都跑完了,这里关注的就是研发交接给生产的内容是否ok,生产发现的问题的追踪,改版改款的变更等内容了 每个生产批次也一样可以建立一个模块,具体的变更或者交接内容都存放在这里即可 质量 当批量出货或者在各个阶段的时候,出现质量问题时,质量就需要单独建立自己的质量追踪面板 在量产过程中发生的各种问题,质量就可以通过质量追踪面板去管理或者查看各个任务的情况 Summary Plane目前是这么玩的,可能有一些理想化,要把整个项目组的人都协调进去,教会他们使用Plane需要花一些时间,跑几次流程以后大家熟悉了,走起来就顺了。 Plane的商业化进度真的是挺慢的,甚至我写的插件和我们开放出来的Plane,Plane销售都认为我实在二次销售免费版Plane,有点搞笑了。 Plane取消了本地部署的商业版本,只保留在线版本,有点可惜了,很多商业环境是不允许使用你这种在线的版本的,更何况你的服务器还在国外,Plane销售甚至还想拉我做中国区代理,让我给拒了。 Plane的商业化实际还是会走向Jira等软件的老路,从简洁变复杂,最终年轻的勇者也会成为巨龙,再等下一个勇者。Plane目前看起来距离飞书的项目管理还有不小的差距,目前只能是赢在免费,轻量,大家用起来简单而已。

9/18/2025
articleCard.readMore

WIFI模块ARP刷新问题

Foreword ARP相关的问题进行测试或者找问题的时候可真麻烦,很容易受到习以为常的一些操作的干扰,导致无法发现真实的原因 问题场景 设备不上线的问题太多了,各种各样的,还都是偶发,没有现场,无法复现,针对这个问题造成的情景很多,下面 一一列举: 设备上了AP,但是不上PC,重启电脑可以好 设备上了AP,但是不上PC,ping一下设备可以好 设备不上线,重启设备可以好 设备不上线,重启AP可以好 设备不上线,等待5分钟甚至更久自动就好了 以上问题大部分情况下基本都是同一个东西造成,mac表错误,设备发送的包全都被丢弃了,要理解这个问题需要知道下面的机制 机制 以下机制都经过了验证,确实会出现ARP广播 ARP机制 二层局域网中,如果设备之间通信不仅仅需要知道IP地址,还需要知道mac地址,ARP的作用就是在加入一个新的局域网的时候自动广播一次,告诉局域网内的其他设备,他加入了,其他设备就会存储他的mac和ip,下次通信时就知道包要发给哪个mac地址了。 ARP比较特殊,他是网络层协议,但是工作在数据链路层 有些路由器的控制软件,比如Winbox,就可以直接二层通信,只需要mac即可,完全不需要ip地址,这种就很方便,在IP配置错误的情况下,也能通过mac连接,然后修改正确 AP/路由的ARP机制 二层设备,AP一般都属于二层,他们都是不会主动进行ARP广播的,只会监听局域网内的ARP,并偷偷记录下来,遇到需要转发的包时就知道送给谁了,如果这个包的mac不存在就会直接丢掉 三次设备,路由器,这种设备会在内部维护路由表,联动ARP的mac表,他会自主进行维护,所以他会主动发起ARP广播 以上只是通常意义下的情况,特殊情况二层也是会广播的,比如在和二层设备通信时,他肯定需要主动广播ARP 还有一个特殊情况,ARP Proxy,这个东西会代理回复或者发起ARP,这个东西也算是搅局者,被干扰的话也比较难辨别 网口ARP机制 网卡被设置IP时会自动广播一次ARP,同样重启网卡、物理插拔也会重新广播ARP 相同设置再次设置时不会触发 设备端ARP 泛指客户端设备,比如WIFI模块、PC,他们在与PC或者其他东西通信时,内部会维护一个mac和ip的地址表,正常情况下这个表会在加入新网络或者网络断开时重新刷新,或者急速老化 Ping Ping比较特殊,在主动发起Ping时,设备方如果mac表中不存在对应设备,那么就会发起一次ARP广播,询问这个IP的mac是什么 同理,当被ping的设备收到了这个ping包,也会更新自己的mac表,记录下这个来访者 Wireshark Wireshark本身是被动抓包工具,默认不会主动发送ARP广播;但打开抓包后,可能出现“间接触发”的ARP流量,让你误以为是Wireshark发的; 可能的间接触发原因: 网卡被唤醒/切到D0全功率:驱动退出省电或关闭卸载后,操作系统/驱动可能立即发出GARP、ARP探测以刷新邻居表与交换机学习表; 关闭/调整硬件卸载:混杂模式与关闭RSC/合包等设置,会促使协议栈重新校验邻居条目,从而触发ARP; 地址/链路状态轻微抖动:开始抓包时网卡重配或状态切换,Windows可能发送GARP或进行DHCP续租,伴随ARP解析; 附带组件或其他工具:安装Npcap时若同时装了Nmap/nping并被调用,才可能主动发包;Wireshark自身不主动扫描; 开了Wireshark反而可能导致问题无法复现,主要还是改了网卡的设置,造成网卡重启了,ARP就广播了 问题成因 设备从SSID:A切换到SSID:B,发包时会重新问一次这个IP对应的mac是谁,如果相同就更新地址表的刷新时间,如果不同那就会替换成新的mac 我们目前出现不上线的问题,基本都是这里,设备端切换SSID后,没有更新他的目标mac地址(PC的mac地址),他发送的地址一直都是错误的,这个mac地址不存在,直接就被丢弃了,所以连上了AP,但是PC收不到。要等到设备主动更新他的mac地址、PC重启、网口重启、网口重设IP、电脑重启等任一条件发生,这个设备才会正常上线。 设备自身更新mac表要5分钟,所以就出现了等5分钟自己上线了 测试验证 测试验证设备是否正常上线 同一个AP同一个电脑同一个设备下2个SSID来回切换,没有问题 2个AP同一个电脑同一个设备下2个SSID来回切换,没有问题 2个AP分别连2个电脑,各开一个SSID,切换,有问题 2个AP分别连2个电脑,各开一个SSID,切换,ping一下飞机,没有问题 2个AP分别连2个电脑,各开一个SSID,切换,重启PC,没有问题 2个AP分别连2个电脑,各开一个SSID,切换,重启网卡,没有问题 2个AP分别连2个电脑,各开一个SSID,切换,缩短设备mac地址刷新时间,没有问题 2个AP分别连2个电脑,各开一个SSID,切换,打开Wireshark,没有问题 这里还混合了一个情况,PC自己有mac表管理,可能在测试的时候会出现pc自己主动发起了ARP,这个会搅和在测试中,某些情况就会受到影响,你分不清是谁让这个情况变好了 PC端ARP相关配置 查看网口设备 netsh interface ipv4 show interface Idx Met MTU 状态 名称 --- ---------- ---------- ------------ --------------------------- 1 75 4294967295 connected Loopback Pseudo-Interface 1 7 25 1500 disconnected WLAN 19 25 1500 disconnected 本地连接* 9 10 25 1500 disconnected 本地连接* 10 11 25 1500 connected 以太网 23 5 1500 disconnected 以太网 2 14 35 1500 disconnected 以太网 3 22 35 2800 connected ZeroTier One [b6079f73c6ba32c3] 13 65 1500 disconnected 蓝牙网络连接 3 查询具体网络设备的配置 netsh interface ipv4 show interface 7 接口 WLAN 参数 ---------------------------------------------- IfLuid : wireless_32768 IfIndex : 7 状态 : disconnected 跃点数 : 25 链接 MTU : 1500 字节 可访问时间 : 35000 毫秒 基本可访问时间 : 30000 毫秒 重传间隔 : 1000 毫秒 DAD 传输 : 3 站点前缀长度 : 64 站点 ID : 1 转发 : disabled 播发 : disabled 邻居发现 : enabled 邻居无法访问检测 : enabled 路由器发现 : dhcp 受管理的地址配置 : enabled 其他有状态的配置 : enabled 弱主机发送 : disabled 弱主机接收 : disabled 使用自动跃点数 : enabled 忽略默认路由 : disabled 播发的路由器生存期 : 1800 秒 播发默认路由 : disabled 当前跃点限制 : 0 强制 ARPND 唤醒模式 : disabled 定向 MAC 唤醒模式 : disabled ECN 功能 : application 基于 RA 的 DNS 配置(RFC 6106) : disabled DHCP/静态 IP 共存 : disabled 这里的可访问时间和基本可访问时间就是ARP表中的刷新时间 修改ARP时间 netsh interface ipv4 set interface 9 basereachable=60000 显示地址表 netsh interface ipv4 show neighbors ARP表项修改 # 设置为 4096 个条目 netsh interface ipv4 set global neighborcachelimit=4096 # 验证修改结果 netsh interface ipv4 show global neighborcachelimit 是新的取代ARP的,需要独立设置表项大小,PC上ARP的机制或者代号改来改去的,和系统有很大关系 Summary 一些大厂的WIFI模块,本身就有类似的测试用例,所以ARP相关机制都会补全,但是一些原生的WIFI模块,二次开发的,这块内容是否有验证,就很值得怀疑了,这个情况复杂,又不容易复现,很容易被各种推脱跳过去了。

9/11/2025
articleCard.readMore

冲出赛道

Foreword 不下赛道不知道,一下赛道就看出来了,车与车之间还是有差距的,之前坐看别人冲进砂石里,这次轮到我了。特别是AC里从原型车换成量产车(还是增强了抓地力的)圈速一下子就掉下去了,怎么都追不上的那种。 对应现实中,用纯原厂的车去开ZIC,大直道估计可以270+刹车,我最高是265,其他地方还不敢开到和模拟一个速度,怕刹车刹不住。 如果还想更快,或者说更安全的去刷更快的速度,还是需要一些改装支持的,可以把上限提的更高。 冲出赛道 第二次去ZIC,有信心多了,想试试直线最大速度大概能到哪里。刹车点和模拟器一模一样,都提前试过了,可以借鉴。事后回看录像,我一共跑了接近3圈的260+直线,最后一次冲出赛道,这个时候也差不多是我们这一节的结束时间了。 前面两次,260+都稳稳的刹下来了,除了大直线刹车比较狠,其他地方相对模拟器来说我基本都没咋推,也没狠刹车,所以单纯一个湾狠刹问题也不大。 但是最后一次,中间犹豫了一下,松了一下刹车,没有踩到底,我在200m的时候还有204的速度,正常刹车没问题的,进入到50m时速度还有147,这就不行了,已经很接近弯心了,再踩死刹车不足以在砂石缓冲区前刹住了 由于快速刹车,刹车盘不足以散热,自动就起火了,但是尴尬的是我在沙坑里退不出来,也没办法帮车散热,后续等到ZIC的工作人员带着铲车进来,把我拖出去了。 从来没有切换过n档,一开始手忙脚乱的,问了半天小爱同学怎么切n档,切完以后,拖车一开始还拖不动,基本上刹车锁死了,只能硬拽出来,就是这个硬拽损伤到了刹车盘、卡钳。 还是没经验,别人冲进去刹石坑不完全刹死,而是让车飘过砂石,尽量减速而已,后续还能正常从砂石里出来,损伤就小很多了。 后续车底兜了一车石头,维修的时候把小哥逗得… 比较麻烦的就是后续的维修了,刹车盘边角被磕出了坑(6000/个,正常这个盘基本能用到报废的级别),卡钳磨花了(1w+/个)和刹车皮(3k/套)过火了,建议更换,轴承4个(大几百倒是便宜),最后一看全量清单,6w多,着实离谱,刹车皮趁这个机会换成了ENDLESS的,其他问题不大的就没变动,Club会员还有打折维修券,能用都用上了。 参考一下原厂件的价格,外卖只能咸鱼才能买到 改装 参考 先看看大佬的改装,改装都快比车贵了,离谱。大头是绞牙避震,这个东西价格是真高啊,基本改到顶了,有需要的可以参考一下 音响改装 Ultra本来声浪就不大,更新以后声浪更小了,于是有人利用了一下闲置的前备箱,放了一个可控喇叭进去,连到车内去了,只能说真的大胆,这玩意很容易被抓到。 底盘灯 https://item.taobao.com/item.htm?id=937088018309 卖家看起来就是帮你接了2根线,可以动手自己弄 之前说到底盘灯在行车时无法控制,流光效果等等都无法自定义,很是鸡肋。 很快就有人看了控制的接口,拿了类似的一款设备直接移植过来就能控制了 控制的APP支持BanlanX,也支持米家直接控制 接入方式是通过蓝牙网关(车上自带一个),也可以随时蓝牙直连进去控制。 同时配合小爱同学的一些自动化,就可以完成类似原厂底盘灯的效果,目前su7、yu7、ultra都是支持改装的 安装 安装相对比较简单,但是也有点不好弄,建议直接让小米的帮忙处理一下 后备箱的隐藏空间的毛毡层是可以直接扣开的,本身是通过魔术贴占着的,但是这种方式只能半开,无法全部打开。打开就能直接看到里面原装的控制器。控制器电源线倒是留了空间用来走线,但是这个走线也很困难。 控制器是双面胶粘的,很早就掉了,所以加减速控制器会在里面有一点点晃动,这个地方没设计好 灯带的接线卡子,需要按住前面的小突起才能拔开,空间局促,操作起来很难受 换好以后,就可以移除老控制器,把新控制器放进去了,也没啥固定,单纯放进去就行了。 调试 启动车以后,控制器就自动供电了,先用BanlanX把控制器的默认上电行为改成关灯,否则这个灯总是亮着的,很奇怪。 然后打开米家,把设备加入即可,建议也不要叫底盘灯,用一个特殊的名字 小爱同学默认底盘灯是官方的底盘灯,同名下他分不清,就会回复你设备不存在,无法控制 打开车的设备漫游选项,然后车机米家上导入这个设备,之后就可以通过小爱同学随便控制了 表情灯 看到了一个后窗的点阵灯,感觉也有点意思,就是不支持接入米家,只能用遥控或者独立的APP去设置 还有一种小一些,但是点阵更密集,显示效果更好一些 业内好像也没有米家的点阵屏的控制器,不好DIY 刹车片 原厂是金博制动片,新换了ENDLESS MA45B的制动片,换一套要2w5 一般情况下金博的足够用,下了两次赛道+5000公里,金博皮还剩下1cm多,绰绰有余,但是如果要更好的制动效果,更大的摩擦力,就得换了。小米的这个刹车片也算是定制的,正常途径买不到。 刹车片买了就送安装服务,默认买了不需要邮寄直接就在店里取了,店里装 轮胎 第一次知道小米有品还卖轮胎,神了。赛轮的PT01比较适合下赛道,同样买了寄4s店,在店里安装即可。 如果只是下赛道可以换305+325的组合,比265好一点点,但是不适合上路,超宽了,本身是半热熔轮胎,需要赛道里热开了才能有足够的抓地力。 轮胎一套下来要1w1,之前据说有券可以9000多拿下,还是不错的 Summary 其他还有ENDLESS制动液、TROFEO RS半热熔轮胎(据说只给竞赛套的购买,普通ultra没资格)之类的就没必要了,只是玩玩而已,不得不说赛车玩起来可真贵啊,随便换点配件就是一两万起步,修个车就是好几万,这还是小事故,大事故可就不止这点了 上次ZIC是去的Ultra最多的一次,十六七辆,也是上个月开始总算有了Ultra的赛道群,全国一共也就一百多人,如果Ultra真卖了2w辆,那也就是不到1%的人拿来下赛道了,比例确实很低很低,做赛道活动,维持Ultra的热度啥的,是有一点亏的,还是得靠其他营销去撑热度

9/10/2025
articleCard.readMore

纽博格林?

Foreword 纽博格林 小米纽北活动 https://web.community.car.miui.com/activity/universal?actId=649122364&siteChannel=2&darkMode=true&skipLocal=true 上一次宣传直接内测了几个人,不知道怎么找的,突然就宣发了一下,这次总算来正式的了。 不过这个有点悬,就10个名额,候补很难转正,而且最好你得是有签证的。 看了一下德国签证,最早就只有广州这边,最快也只能排到9.20线下录指纹,签证能不能在9.25之前下来,没人能担保,瞬间骂娘,这根本就是内定好了人,给你抢,不是逗你玩呢嘛。 还好群里有大佬有经验,德国都是申根签证,随便选一个欧盟国家拿到的签证都可以通行,那么就不用卡签证了,但是9.25前还是有点点风险的 仔细一看,再一追问,这个纽北活动不给你开Ultra,只能坐着体验和之前的赛带体验是一样的,有点挫 相当于是5w块,小米带你玩了一圈德国纽北,租了个旅行团,还是不包机票和签证的旅行团,有点搞 申根签证 申根基本上在欧盟国家可以通用,唯一区别是这个签证也有入境或者出境国家要求,比如你要去德国,但是签证是法国入,而你实际没有去法国,直接入德国了,最后离开也是从德国离开了,那可能下次再来就有问题了。 申根签证能去德国家 ‌西欧‌:德国、法国、荷兰、比利时、卢森堡、奥地利、瑞士(非欧盟)、列支敦士登(非欧盟)。 ‌南欧‌:意大利、西班牙、葡萄牙、希腊、马耳他、克罗地亚(2023年加入)、斯洛文尼亚。 ‌北欧‌:丹麦、瑞典、芬兰、挪威(非欧盟)、冰岛(非欧盟)。 ‌东欧‌:波兰、捷克、匈牙利、斯洛伐克、立陶宛、拉脱维亚、爱沙尼亚、罗马尼亚(2024年加入)、保加利亚(2024年加入)。 申根签证是依据《申根协定》签发的短期签证,允许持证人在180天内于申根区内累计停留不超过90天,且可在成员国间自由流动 首次申请需录入指纹,有效期5年,指纹录入要线下,需要找就近负责的地方 最容易申请的是法国,所以很多时候大家都选法国、西班牙入境,然后再转去其他国家 在中国递交的签证申请均由法国总领事馆( 所辖领区有广州领区 、成都领区 、上海领区 、沈阳领区 、和武汉领区 )及法国驻华大使馆全权受理,他们是唯一有签证决策权的机构。 基本材料 护照(有效期覆盖返程后3个月,至少2页空白页)+旧护照(如有) 2张35×45mm白底证件照(近6个月拍摄) 近6个月银行流水(余额≥3万元,体现稳定收入) 在职证明(中英文对照,加盖公章) 在职公司营业执照 申根旅游保险(保额≥3万欧元,覆盖全境及医疗转运) 身份证 户口本 签证申请表 行程方面 机票预订单(无需付款,需与行程一致) 酒店预订单(覆盖全程,可取消房型) 行程表(每日行程、交通、景点名称) 个人申请 https://france-visas.gouv.fr/zh/les-etapes-de-la-demande-de-visa https://visa.vfsglobal.com/chn/zh/pol/attend-centre/what-happens-at-centre 不像日本,申根签证可以个人直接申请,不需要依赖旅行团等外力 但是不同国家的申根签证要去不同国家的领事官网上申请,略微麻烦一些 国际驾照 国际驾照有两种,IAA和IDP,之前去越南前就已经办了IAA的驾照 IAA IAA,国际驾照翻译件(International Automobile Association) 适用于180多个国家/地区,如法国、泰国、南非、阿联酋、土耳其、哈萨克斯坦等; 不适用于日本、韩国等国,但办理流程简单,最快3天寄达,非常适合旅游/工作人群; 需要与中国驾照原件一同使用 IAA直接支付宝或者微信小程序就可以申请 给出驾驶证、护照、照片等电子版资料就可以走申请流程了,价格是1299,有效期20年,10年1099,大概也是一周左右就下证了 IDP IDP,国际通用驾照(International Driving Permit) 由联合国道路交通公约授权签发;真正意义上的“国际驾照”; 中国大陆目前无法直接申请,因为未签署《日内瓦公约》或《维也纳公约》; 但可通过【香港、老挝等地】申请,适用于日本、韩国等地区;办理成本较高,流程较复杂。 IDP价格比较贵,2999而且有效期只有1年,目前大部分都是通过老挝办理驾照,再转成IDP,香港IDP更贵 个别国家必须要IDP才能驾驶,所以如果选这个纯属没办法 也存在一部分国家不认IAA和IDP的,外国人必须单独申请他们本国的驾照,比如越南,但是这种比较简单,很容易就能过了 Summary 活动资格秒没,群里只有两三个人抢到了,笑死,不愧是你,小米 Quote https://mp.weixin.qq.com/s?__biz=MzIyNjg5MTQ1MA==&mid=2247656845&idx=2&sn=459508e91f4f1cedfef02a968373456e&chksm=e93e2c6ec6196d2e98ffb794a34d4fc1b31b57d9e6dbf8d080de0354ba46b61051671be75ddc&scene=27

9/5/2025
articleCard.readMore

艺术与审美,第一阶段学习

Foreword 2025.4.8开始学习艺术与审美的第一阶段课程 一直以来对于艺术、审美、感性的、美的,这些很偏文科或者艺术的东西搞不明白,小时候学画画也没画明白,虽然老师他爹非常牛逼,但是这种层次的人很难在当时的情况下能教会你这些东西。这次打算补全一下我自己对于艺术这方面的短板。 经常遇到的在CG、游戏、TA等领域的人,甚至群友,他们说这个建模不错,这个人体不错,这个是色胚,似乎他们的审美都不错,但是呢,又没人能告诉你为什么好,具体什么样的是美的,什么是好的,为什么美,为什么好。如果你问,那就是一句话,多看。 多看有用吗?有的,看的多了,多少会给你留下一些感性的认识,再看到类似的会感觉这个好像是好的,另一个好像不行,但是这种需要非常多的积累,他不够有条理,或者说他不够快速,不够理性,我无法明确感受到这种东西 直到我看到了他的这个视频,似乎懂了那么一点,似乎有一些以前觉得不以为然的东西,好像是有点用的。 读史而知兴替 以前觉得历史有什么用,虽然从小就看过各种史书,也学过历史,但一直觉得这些东西都是过去式,都是死物了,何必纠结于这些老东西,他们对当下的我来说没有任何意义。 以前只看到了历史中的王朝更迭,权力斗争,而这些东西持续了几千年,看厌了,看烦了;近两百年的科技爆发,将这几千年的历史碾成了渣,我们快速站在了巨人的肩膀上,对于两百年前那慢悠悠的岁月长河中到底发生了什么缺少了兴趣。小时候的历史更多关注的是大事或者说是政事,但其实对于科技、文化、艺术,他们都有各自的历史,然而这些东西在历史课本中只是很小很小的一个Tips或者是彩蛋,至于什么美术课那都是和尚念经,没什么意义,我忙着练习数理化。 对于艺术的历史,在整个教育体系里都是缺失的。现在的学生顶多是知道文艺复兴,然后呢?为什么?艺术风格经历了什么样的转变?达芬奇为什么杰出,仅仅是他解剖人体,研究人体肌肉骨骼嘛?至于现代艺术?包豪斯?后现代艺术、当代艺术等等他们又发展到了什么程度? 一无所知。 同样的,搞明白这个东西也能解决另一个问题,看展到底在看啥?经常有各种展,他们欣赏的是什么东西,这幅画哪里好看了,这个字哪里写的好了,这个艺术展到底表达了一个什么东西,我能得到啥?同理,历史博物馆也有类似的情况,这个古迹好在哪里,为什么可以被推崇上千年,甚至古人都叹为观止。 上完这个审美课或许可以给我一个答案,或者说给我一个认识他们的角度。 艺术与审美 艺术与审美课的课程内容如下,价格是1680,总共大概是23个课时,一节课大概是2-4小时,一共可能60小时左右。课程初期的时候是直播的,后续是直接给录播视频,自己看就行了,有问题可以直接联系老师本人,直接提问,还是非常好用的。 由于是录播所以整个视频可以倍速播放,自己看还是非常快的 下面是大概课程的标题,实话实说,唯伟老师的标题起的一塌糊涂,我逐课看都经常对不上号,课程介绍视频里一个标题、实际文件一个标题、课程录屏的ppt又有一个标题,三个都不统一,非常难受。 史前时代 原始绘画,符号的诞生(如何看懂人类早期绘画1) 原始绘画,面具背后的造型语言流变(如何看懂人类早期绘画2) 埃及的人体造型的数理逻辑(如何看懂早期壁画) 中华造型源头上(如何看懂中国传统装饰) 中华造型源头下(如何看懂中国传统装饰) 封建时代 古希腊与秦,写实艺术与人体传承(如何看懂写实绘画1-造像的演变) 从犍陀罗到龙兴寺(如何看懂写实绘画2-文化内容对造型的影响) 中国书法史的上半场(如何看懂中国绘画1-书法的影响) 从敦煌到山水(如何看懂中国绘画2-壁画和工笔的影响) 赵孟頫与董其昌(如何看懂中国绘画3-书法与绘画的交融) 大写意和形式抽象(如何看懂中国绘画4-市场化下的中国艺术) 工业时代 室内外的人像写生,笔墨视角下的欧洲绘画史(如何看油画) 水彩,西方绘画的另一种可能(如何看懂水彩) 素描,更早觉醒的笔墨(如何看懂素描) 达芬奇-概念设计的起点(如何看懂概念设计) 戏剧与绘画(如何看懂戏剧、插画与绘画的关系) 报纸、杜尚、默片、丁丁与迪士尼、漫画语言起源(如何看懂漫画艺术的运动和分镜) 从古希腊到伯里曼,古典人体美学下的角色设计(如何看懂角色设计造型语言) 绘本的历史主流与小众(如何看懂绘本的艺术设计) 日漫中机甲造型风格演变史(如何看懂机甲中的造型设计) 游戏场景背后的设计与用户需求演变(如何看懂游戏场景设计) 审美课还有二阶段和三阶段,二阶段已经上完了,也是录播形式,三阶段还没开始 笔记 早期 如何看懂人类早期绘画1-2 这两课主要就是说符合是怎么诞生出来的,其实就是早期人们只会用一些规整的符号,比如直线,三角形,菱形等等,同样的颜色也只能选择常见的红色、黑色,接着后面产生了复杂符号,曲线,更稀有的颜色等等。而这一切都是源于认知,人类的古早时期,对于世界的认知就这么点东西,也就只能使用这些方式去记录。随着人类文明的发展,人类对于世界认识的越来越多了,人们将对于世界的认知刻画在服装、雕塑、装饰品、陶器、首饰等等上面,这些都是人类朴素对于世界的反馈和记录。 以后再看到一些古早的人类遗迹的展,大概就知道了为什么他是这样画的,他记录下来的是什么东西,不再是一头雾水了。其实换个角度,审视一下自己,自己在缺少经验或者缺少相关知识的时候,对于未知的理解,也是非常本能、朴素的。正是因为有了教育,有人做了归纳总结,才让我们能快速建立一个庞大的知识体系,能站在巨人的肩膀上快速前进,适应当前的社会,而不是按照原始人的脚步再一步步走过来。 如何看懂早期壁画 视觉经验决定了你的画画,这一课以埃及绘画为例,讲解了为什么埃及壁画是这样的,壁画中的人体结构非常准确。而这一切都来源于尼罗河得天独厚的自然条件(这该死的地理知识,此时就派上了用场,地理、历史、艺术联动在一起),尼罗河作为人类早期文化发源地,养育了整个埃及,也让埃及诞生了这样的壁画。 雕塑,早期人类相机,可以通过很简单的覆膜灌铅的方式复刻形体,所以雕刻在早期发展的很快 造型艺术的研究是从比例到几何,再到动态的过程 埃及时人的形体(埃及人建立的3的倍数比例下的人体造型),形式美,规律,重复,数理逻辑(3)的美感隐藏到了艺术中,对比原始人的艺术是非常直接、浅显的,没有更深层次的内容,是不需要你去做阅读理解的。在埃及时代,你要读懂他们的美,就不能直接靠看了,就得理解他们文化的内涵,才能理解他们的艺术形式了。 艺术中的真实和现实的真实是有距离的,以前简单的理解绘画就是古代的相机,是吗?一部分是的,但是更多的不是,艺术是会对现实进行加工的,艺术源于生活,但是艺术本质上是你生活之外的东西,或者说他是你在能活着以后,才能思考的东西,追求的东西,那你必然会让他变得超越一点现实,这是人的本能吧,艺术他不会去拥抱平凡,他需要特立独行,需要与众不同的,但同时又要找到他内部的逻辑,也就是他自己也要逻辑自洽。这也是为什么艺术中人体的构型是有一种数学的美,结构的美感在的,他是有一套逻辑支撑的,并且获得了广泛的认可的,而那些没有被认可的就变得很小众了(其实也是艺术人的本质在作祟,本身这一套逻辑已经脱离了现实的人体,在这个套逻辑得到认可以后,又有人不满于现状,再次进行追求或者探索,于是又构建了另一套更小众的逻辑,而这恰恰体现了艺术的与众不同与持续追求)。 总体来说,暖饱思淫欲,现在普通人的生活基本等于过去贵族阶级的生活,因而有余力在生存之外进行思考,可以去追求生存以外的内容了。可能再过个一两百年,普通人的生活可以达到现在富人阶级的生活,那么此时普通人的审美追求可能会和现在富人阶级的审美追求相似,这也算是一种循环吧,艺术从小众变得大众,再变得小众,总体脱离不开时代的背景。 如何看懂中国传统装饰 旋转纹路,漩涡纹路,来源于星空,类似延迟摄影那样 龙的图形本质上来源于星象,古人先看到星象,再联系到生活中能看到的动物,进行一定的抽象就会变成各种形式的类似龙的图像 这一课主要是铺垫了很多中国古代天文相关的知识,其实是对之前课程内容的一个callback。如之前所说,中国古人崇拜、仰望的东西那就是天上的星空,由星空历法所起,紧密结合的就是古人的生产生活,继而在艺术创作或者记录的时候,人总是记录的就是类似星空的东西,或者说是把星空的形象拟人化、动物化,也可以说是神话或者美化。这些铺垫都和后续中国的装饰纹路有关系,大部都是来源于此的,古人对于这种遥远、看不明白的东西都是非常崇拜的。 从上古时期的尧舜禹到春秋战国,要理解这一时间段里的装饰,比如青铜器、服饰、墓葬等等上的信息,就得结合当时的文化变迁来理解,而此时恰好就是整个礼乐崩坏时期,就是天道统治转向人道通知的一个经过,过去古人是崇尚天道的,尊重天的,而之后随着生产力的发展,转向人道,人代表天来形式,某种程度上也能说是人类的认知进化了,思想觉醒了,天文历法知识的进步,改变了人们的思想,准确来说应该是最有文化、权势的那一波人的思想改变了,所以上古时期留下的器物等东西上就是代表着这些文化思想的变迁。 古人亦会考古,从古至今有很多先贤的智慧在时间的长河中流失了,所以古人考古的谬误,很多时候又被后人继承,遗留了千年,一直到现代历史学、考古学等等才正确的解释了当年很多东西是什么意思。举例中的苗族的传统服饰中的很多内容,这些现代的人已经不记得到底是什么意思了,而这种考古性的知识或者内容,都放在了现在的历史相关著作或者论文中,本族人对于这些关注的少,外界也一样的。随着时间的流逝,这些小众内容确实会慢慢被人忘记,淹没在了主流历史中。保护非遗的意义可能也就在此,人类的多样性随着时光逐渐变少了?(但其实还是不断会有新的文化、思潮会继续冲击人类社会) 在这里就可以想见,要想看懂一个展,或者看明白某一段历史,仅仅是靠博物馆这么一点解说或者是展品旁的一点附注,其实是很困难的。缺少这样的文化根基,很多时候这种走马观花是毫无意义的,如果想要做这类的科普或者说展馆,还是得想一想怎么可以更简单、更直观的让观众理解当时的情况,理解当时的思潮、文化,从而认识到这些留下来的东西他们的含义,只能说一块还有很大的发展空间。 结合到近年出圈的一些文创产品,算是比较好的古今结合,但是这样的东西也只是昙花一现,又有多少人会继续深入到其背后更深的内容呢。 文化的传承非常复杂,一个简简单单的小纹路后背所涵盖的文化、历史等知识非常复杂,这么多年过去了,他还能保留下来,其实很不容易,在后世不太明白这是什么意义的情况,依然选择了尊重、模仿,二创,继而再度被传承下去。这种文化的二创、二次解读都需要结合当下的社会,符合当下人们的需求,才能被广泛认可,甚至被流传下去。 古代的艺术-贵族艺术,和平民的关系不大,平民的东西很难保留下来,后续讲到工业时代,才有算是大众艺术 中期 如何看懂写实绘画1-造像的演变 这节课主要是讲雕塑的演变,从最开始的记录、写实,到神话、美化人体、再到后期的复杂化,然后再度进入一个删繁就简的时代,主要着重于人体审美的变化。 现代文件时古希腊文明的延续,现代文件风靡之时,同样也带来了古希腊的写实风格和审美风格,偏向于真实、健硕的肌肉、骨骼的人体审美。与之相反的就是白瘦幼的审美,基于韩国、日本、二次元等文化影响,这种对于时代的反抗也偷偷的扎根在我们的意识中。 基础审美语言不可逆,一旦一种审美形成了以后,很难转向另一种审美,这是一种文化的共性,扎根于潜意识中的东西。基础审美语言,在没有发生战争、经济倒退、人类灭绝、科技超级大爆炸的情况下,很难会出现倒退或者回到某一种过去的风潮,他基本上会跟随时代演进。这个对应到现在的电影、电视等领域中的妆造,现在的美白、磨皮、瘦脸和10年20年前演员、明星的造型相比,日后继续发展,也很难倒退回那时的审美了,所以基础审美语言不可逆。 如何看懂写实绘画2-文化内容对造型的影响 佛教的崛起,在国外的佛像是什么样的,到国内初期是什么样,他是怎么传播,怎么演变的,一些关键节点的介绍,佛像的造型上的对比,佛教的中国化,整个造像的中式演化。 可以看到佛像,从最初的写实,到形成一个体系或者说模板,然后再到中国形成自己的造型,这种造型的比例、协调感,佛像的表情、微笑可以感觉到那份微妙,这个东西难以用言语或者标准模板来说明,虽然实际上是有这么个模板的。但是你可以想象到当初设计这个模板的那个人,他是怎么想到要做成这样的,而后人也能感受到这份微妙,进而传承下去。 佛教从开始小乘佛教、到大乘佛教,再到后来的百花齐放,遍地佛经,极盛而衰,再次由繁到简,后续禅宗的出现有点像是结合了小乘和大乘的佛教理念,让人人归于本心,不再受到各种文字或者说法侵扰,直指个人内心。 而这样的思想理念和后续中国文化,书法艺术,绘画艺术的内核结合的非常好,有很多东西在当时是说不清、道不明的,而你又想表达出来,文字不足以,那么用什么来表达呢。自然就是书法、绘画等艺术形式了,这也很符合人性,人也是刚开始学习到了新东西时,总是张扬的,总是想把这个内容分享给别人,大白话直接教。而随着时间发展,阅历渐长,就开始高度内敛了,不倾向于平铺直叙了,而是迂回委婉,开始装高深了,这和中华文化千百年来的底色相符合。 如何看懂中国绘画1-书法的影响 早期文字是刻出来,存在于石壁、石碑之上的,甲骨文还属于象形文字,而之后的文字就开始抽象一些了,开始变得更加规整、更加均匀。从汉朝开始,碑刻和书写体的地位开始调转了,碑刻开始模仿书写体的写法了 小时候就不理解这种波磔感,明明一个简单的字,为什么要回笔,写的这么麻烦,小时候就喜欢简单、快速的,所以字也写得一塌糊涂。此时书法也从单纯的记录功能,开始转向艺术或者美感追求了,从单纯的线条控制,转向了面的控制。 对于书写速度的追求,一直到王羲之,书法才确立了汉字连笔的技巧和规则,这也是为什么王羲之在书法历史上这么重要,并不仅是平常看到王羲之写的楷书那么规整,那只是他的一部分贡献而已。很多前人的书法,也是被历代先人模仿和再次雕刻的,所以传到今天的王羲之真迹,也都是王羲之的后人,我们的古人模仿的。 楷书是书写体和碑刻体完美融合以后出现的一种书写体,由于战乱、历史等原因,真迹、纸上的字不一定能留存,但是碑刻很容易保留下来,继而有了后世之人对其的模仿和精进。碑刻和书写文字,是两种艺术形式,书写体的传承是依赖于碑刻的,碑刻的雕刻大师其实在雕这个字的时候也会进行二次创作,后世之人又对此进行模仿还原到纸上,又再次进行演变,碑刻和书法也就相辅相成,互相影响,所以整个书法史上留下了很多名碑,可以说是书法人与雕刻匠的高山流水、伯牙绝弦,但是历史上这样的雕刻巨匠,往往都没能留下名字,他们隐身在了这些书法大师背后。 唐朝时楷书达到了极致,百家齐放,几个大的楷书风格在此时形成了,与之对应的,这种这么标准的字体,就一定有狂放、潦草的一种字体出现,狂草也登场了。王羲之的行书、草书,则是狂草的基础,王羲之这么强就是他什么字都写了,还都是开创级别的那种。在狂草出现时,这种字的表达就不仅仅是用来服务于速记这么一个现实意义了,由于这个字形的大幅扭曲和抽象,他开始表达书写者的心情、修养、感情了。文字从实用,美学表现,开始抽象、情感表达了;楷书是一种静态,行书、草书、狂草,则就是动态的美感了,你能感受到书写人提笔时挥动的手腕、臂肘时的胸臆。 中国古代书法和西放古典绘画,他们之前的对比,发展脉络,其实非常的相似,大家对于艺术的精神追求是相通的。 我这里把书法和编程做一个类比,各种书法可以说就是各种编程语言,王羲之差不都相当于一个人开发了汇编、C、C++,后人又在这样的基础上开发了各种各样的语言。每种书法的代表人物基本可以认为是某种语言的创始人,每篇字、每个碑都可以认为一个工程,而到了颜真卿这里,那就不得了了。他的字里面开始为自己而写,他开始融合各种语言进去了,相当于是你一个工程里既有C++项目,又有python项目,还有java项目,他为了达到程序能运行,开始不择手段了,只要能完成他目的的东西就可以放进去,关键是他还能调用得当,安排组织在一起,完全没问题。可以说是集百家之众长,自成一派,也就是一个超级全栈了,什么都能做。 这里也解释了一下书法真迹,为什么要看真迹,要看原物,而不是看别人临摹或者后人弄出来的版本,确实真迹上保留了很多东西,比如笔墨的深浅、提笔用劲的脉络、笔触的变化,而后天劣质的印刷品往往无法还原这个部分,这部分恰恰是古人的精髓。 中国艺术的核心价值观,在艺术中呈现真实的自我。北宋时,已经出现了印刷术,楷体变得更加普通、机械了,此时苏轼就完成了各种书法融会贯通,而后到了元朝,汉人不如狗,汉人文化可能开倒车?赵孟頫又开启了新的时代。 到这里差不多才能明白为啥书法正统瞧不上他们江湖体了 https://www.bilibili.com/video/BV1wqoyY1Eey 如何看懂中国绘画2-壁画和工笔的影响 绘画的不可能三角 这里的肌理,说成纹理也可以 中国古代,由于缺少透视方向的理论基础,思维体系,在写实方面交出来的答卷也是非常惊人的。工笔画,借助线条的极致运用,表现出的写实感觉差不多是几百年后西方画家才达到的水平,但是同样的此时中国绘画中存在很多比例不协调的情况,这个无法避免。人物画在中期达到一个高峰之后,后人就再也赶不上了,文人也放弃了在人物画上继续做文章,都转去玩山水花鸟了。北宋后期开始出现留白,文人画的追求的意境美开始出现。从宋徽宗开始,诗书画开始逐步合体,再之后书法对于笔的运用开始融入画中,画的写实感进一步削弱,意境再度加深。黑白的山水画,基本玩的就是极致的线条,笔墨的深浅、粗细,抛弃了颜色和形状,用线条来完成形状和肌理的刻画,这是非常恐怖的,相当于你说你用c把全世界大部分程序都写了,把一个语言玩到了极致的情况。后来这一种操作或者画法就统称为笔触。 不可能三角,是你的画既要又要,还要,这实际很难做到,总是有一些冲突的,而这些冲突就会破坏原本的画面,导致这只能选其中2个或者一个。同理,AI绘画,其实看到这里我就大概明白了,AI距离真正的绘画还有很长的距离,平常常见的就是说AI画不好手,其实现在这个问题已经解决的差不多了,手主要是由于训练中标定的素材的比较少,手指又比较多,他是个立体的东西,本身就可以各种组合,在透视下又是各种各样的,导致训练之后的数据量不够,不足以形成手的知识,所以画出来总是奇奇怪怪的。而到这里,如何教会AI,什么是颜色、什么是形状、什么是笔触,其实是比较困难的,特别是当使用某一种方式去替代另一种方式的时候,这种技巧或者呈现的形式,我想在目前的模型中,标定学习的素材一定是不够多的,这个有点太专业了。 如何看懂中国绘画3-书法与绘画的交融 到这里其实就是赵孟頫、董其昌提出了一种流派或者玩法,就是对过去的画重新再画,但是不是复刻,而是用新的笔墨、新的笔触重新作画,看似画的内容或者表现的东西是一样的,但是实际细看的时候就发现这个画的笔触非常不同。 这里提出了一种观点,此时的中国绘画是一种表演艺术,比较像音乐,音乐是有创造者的,也有演奏者,而在赵、董的时期,可以认为此时过去的文人已经把可以画的对象都画了一遍了,各种各样的音乐乐谱已经有人提出来了。而赵、董则是再次引领时代,重新对过去的画谱再次用自己的理解去重画,而在这样的基础上,这种重画就开始融入作者本身的情感、感情,而不是平平常常的为了描绘这个形状、这个景色而画。这个发展过程非常类似书法的发展过程,刚开始大家都只是为了写出这个形,表达这个意思,后期才是个人作者在写字时表达自己的情绪,书法成了情绪的载体,这样就变成了艺术。同样的,中国绘画的山水、花鸟等等他们后期也变成了字形这样的东西了。 书法和绘画的交融,也就是在形的载体上,不断摸索各种笔触,表达自己的情绪,所以此时书画合流,统一了。赵、董带来的这样的风气,某种程度上就把中国绘画的正统给框死到这个里面了,画什么不重要,重要的是我怎么画的。同时这也导致了历史上,有很多仿画,很多时候为什么要追求原作,因为仿画是有很大可能弱于原作的,特别是古人仿古,经常真假难辨。 文人、艺术人士就是在不断追求与人不同,追求个性的表达。 如何看懂中国绘画4-市场化下的中国艺术 董、孟这种追求下,疯狂追求笔法(点线结构),随后出现的徐渭,开始追求墨法(点面结构),二者再次融合,最后就必然形成了中国画的大写意,中国画的抽象。当你不满足于原有绘画者的形时,你去思考用什么样东西重新构建他的形时,古人逐渐就提出了中国画的大写意,就是介于像和不像之间,这种控制,又恰巧融入了作者的情感、描绘对象的动态。 古人可能不会直接说、点线、点面这样的词汇,这是直接拿中国绘画和国外同时期对比、总结而来的。 全历史,完美竟然还有这么一个网页,这里能看到历史上各个阶段国内国外都处于什么时代,同时也能看到对应时期的画作,不过要注意一下可能看到伪作 https://www.allhistory.com/painting 现代 如何看懂油画 通过西方的肖像画,来理解油画的演变过程 西方绘画的进化,其实和背后的科学、透视学、光学、材料学的进步有非常大的关系。西方绘画早期都是壁画,后续随着材料学进步,开始有了油画,从室内绘画逐渐转向了室外绘画,这一转向,也就把后续的光学带进去了,光线对于颜色的本身的影响,对于作画的影响,也都带入其中了。油画从原来的写实,写形,到逐渐也意识到了笔触的存在,开始强调笔触。 油画类似以前古人的山水画,主要是追求笔触,追求点、线,而后续的水彩画,就转向了追求笔墨、追求面的造型了 如何看懂水彩画 十五到十七世纪的西方水彩画类似十二到十三世纪中国的南宋花鸟,以博物画为主。这一张主要是以威廉·透纳的经历来说明水彩是如何走出油画的技法,开拓出自己的一条路,足以与油画分庭抗礼。 好的艺术是会寻找到一个平衡点,既能让观众能看得懂,同时又有隐藏在其中的深意,值得艺术家去思索。 水彩的关键不是一味的涂抹颜色,而是用水和颜料混在一起,形成一种五光十色的黑,可以说西方的水彩画不是在追求那个墨法,而是在三要素中追求那个颜色,怎么极致的去表现这个颜色,笔触次之,形是最次的。透纳开启了水彩的湿画法,让水彩从写实,也走进了写意的时代。 素描功底,决定了你的水彩上限,这种玩笔触或者笔墨的,你的形摸不准,就达不到那种似像非像的境界,那种写意感就出不来,所以要玩水彩,得先练好素描 如何看懂素描 古典素描,有颜色,先刷底漆,然后用银针笔去刮,刮出来的就是素描画,这种画素描的方式起 源于铜版画 素描从开始的轮廓、排线,到后期的涂抹、晕染,扩张了笔触的形成方式。古早时期是没有素描这个概念,素描都是画家的草稿,为了画油画或者什么其他画而提前进行打底的东西,素描的目的是不一样,以前素描是为了快速确认后续的油画是要画成什么样的,而现在的素描本身就是为了素描,成为了一个独立的画种 到这里大概明白了素描是怎么欣赏的。 素描的手法大概就是那么几个,如果你特别牛逼,只用其中一种,然后构成了一幅绘画,那就很不错; 如果你使用其中的几种,然后排列组合也非常优雅得体,相得益彰,那也非常不错;这是纯技法角度的欣赏,同样还有画面的立意,他营造出来的那种感觉,是精致、细腻,还是随意、洒脱,这种感觉如果营造的非常厉害,那也是一幅好画。 为什么艺术他不能是完全自由的,不能像我们所想的我随便画几笔就是艺术了,这个课给了一个初步的,我认为的答案。 以文人画或者中国画为例,主要是笔墨的运用方面:首先这个画立意是给自己看的,他不是去谄媚或者讨好画的收藏者的。其次是文人画的技巧规则非常复杂,而且标准非常多。这种技巧规则,不是你随便画两笔大家就认可,他是经历了时间、有历史的,有很多前人在这个上面建立起来了一个系统的标准(当然如果你牛逼到随便就能建立一个前人没有的新东西,那你就是规则制定者,你说啥就是啥了,这在现在很难了,历史名家太多了,早就把你能想到的或者使用的东西玩到了极致),只有每个人在这套系统下去作画才能得到业界的认可。而这一套规则或者标准,是需要你去不断练习的,而如果你要掌握更多的规则,那就要付出更多的练习,绘画或者艺术他不像是数理公式,不是你知道了就立马可以运用自如了,他要经历很多练习,才能和那个技巧合而为一,到这里还不够,这种情况下你只是能随意使用技巧了。但是真正能出彩的地方,是你在往后的创作中,可以达到坐而忘道的程度,可以在绘画中,这技巧恰好该出现的时刻出现了,在另一个时刻出现了另一个技巧,这种融会贯通的程度才能把这个绘画带到一个新境界,才算是大师级别。这里的技巧练习只是让你人和工具更好的融合在一起。为什么文人画在这种方面可能是比西方的绘画艺术更强的存在,因为文人不仅仅画画,他还写书法,他还练字,书法中不断揣摩、沉淀下来的用笔技巧,这个经验非常恐怖,当这部分能力被转移运用道文人画中时,就能表达出非同寻常的细节和掌控力。 可以说这种规则他是你起步时的助力,他帮你建立了你的技巧,构建了整座大楼的基石,之后你才有可能超过规则,建立云端级别的艺术。这种规则他一定程度上束缚了你,这是一种辩证关系吧,没有规矩的自由,他什么都不是,他达不到突破规则后的那种自由的深度。 如何看懂概念设计 这一课主要是通过达芬奇的故事,天使的角色设计和飞行的机械设计来说明概念设计是怎么来的、怎么做的。 概念设计,一定是基于观察的,并且从中得到了某些规律、事实,变成自己的心得体会(总结),日后才能用上。而不是像抄书、复制粘贴,那样只会得到表象,但是不能做出自己的思考和设计。 概念设计的第一步是收集素材,把这些内容用于创作,收集其实很容易,但是总结比较难,很多人看了很多,但是没有具体的总结或者反思,形不成自己的思考,只是停留在这个东西的表象而已。 基础的素描,只能让你有了记录现实、写实的能力,但是素描不仅仅是这样,他再往下一步就需要你有设计能力,可能这样的设计会让你的形变样了或者和真实不一样了,但是没关系,这样的设计本身可能就是为了表达一个内容。 绘画是成本最低的记录想法,展现设计方案的视觉手段之一。一切设计皆有原型,扩展对原型的认知,是造型设计的开端。 第二课的概念设计是以朱峰为原型来介绍的,感觉和我差不多,某些时候工作时间或者说在行业上钻研学习的时间基本就是16小时起步,只不过他要喝咖啡红牛续命,我不用 如何看懂戏剧、插画与绘画的关系 戏剧的舞台布景对绘画提出了新的需求,透视、真实,这部分内容是可持续的。所以早期画家都是需要尽可能的画的真实 这种舞台布景和当时的壁画可以认为是类似的效果。舞台布景和绘画互相影响,结合上一课的概念设计,舞台成了绘画的原型,而绘画又成了舞台布景的参考对象,二者互相参考,形成了一个正向循环。 如何看懂近现代艺术 达利,奇特的人生,超忆症,偏执狂,反社会,自恋型人格,为了博得他人注意不惜一切,超现实主义,如果放在今天,大概率会被关进精神病院。他 用绘画描绘梦境、幻觉,自小就有白日做梦经验,远超其他人。 梵高, 畸形童年,幼年忧郁,和达利相反,梵高缺少关注, 常年酒精中毒,眩晕症,幻觉 可以看到超现实主义领域的作家,往往都能看到幻觉,天生就能把我们常规的东西扭曲,在他们精神正常的时刻就可以利用这样的幻觉经验进行作画,基于此,后续就有很多作家通过吸毒、酗酒,把自己维持在可以产生幻觉的世界中。 而为什么会有这么多艺术家非要去获取这样的幻觉的视觉经验呢?在进现代,经济高速发展,艺术品市场也非常繁荣,而独特是艺术品市场的刚需,你的作品不够独特就不能占用市场,就没有人会买,艺术品是难以复刻,唯一,保值率非常高的东西,如果作者死了,那就更值钱了,这样巨大利益的驱动下,无数艺术家前赴后继,而留下来的是我们能看到或者听说过的,哪天塌房了也不意外,更多的走上致幻路的艺术家都还在底层,被这个社会扫地出门了。 艺术被资本化以后就变成了现在这样,近百年来涌现的艺术家比过往的一千年还要多。 如何看懂漫画艺术的运动和分镜 报纸上的插图,一直介绍到漫画起源,然后后续的漫画领域的发展,动画领域发展。后半截课主要是探讨一张静态的画是如何表现速度感、运动感的,静态的漫画在表现运动感,动画则是在还原漫画的速度感,可以说是相辅相成。而其中很多例子又是用我很喜欢的猫和老鼠来表现的,设计者们借用通感,把一些我们日常习以为常的视觉、触觉、听觉等体验转化为了动画效果,这样的设计非常之经典,以至于现在看起来也不违和。 漫画至今也不会被动画取代,原因就是漫画就类似于语言,他通过这种缺少的信息,给我们的想象力留下来足够的空间,让我们去想象剩余的,更加丰富的漫画世界的内容,这种东西是动画带不来的,动画还原漫画更像是戴着镣铐去跳舞,反而有很大约束。 也是从龙珠的漫画开始,漫画的创作者其实本身更像是一个电影导演,每个分镜都的镜头感、速度感等等,其实都是漫画从电影创作里借鉴来的,新一代的漫画对于漫画创作者的要求其实就更高了,你不仅仅要有编剧的能力,还要有导演的视角,做画的基础功什么的更不用说了,想从漫画领域突围确实是比较难的一个事情。 如何看懂角色设计造型语言 这一课其实主要就是告诉你如何做一个概念设计或者角色设计,你要如何运用设计元素达成这么一个目的。几何形象或者是视觉形象是怎么影响到我们的感觉的。当我们看到更多的此类的设计语言,在潜移默化中我们就学会或者感觉到了这种设计语言的潜在含义,这种东西不是直接上课教你的,或者说他不是我们直接归纳总结发现的。这个东西其实是有历史的积淀,是有每个人成长或者接触到的视觉的内容的基础的,是在这个基础上,有人提炼出来了一些视觉经验,归纳总结了一套东西,而这一套东西又被后来的视觉工作者学习到了,然后进一步在他的视觉作品中去使用,作品再被普通人看到,传播,这个概念就一点点被强化,慢慢就变成了一种人的下意识。 还介绍了一个人,伯里曼,利用几何体来组装或者进行绘画创作。他制定了一整套工作流:几何体组装、定义链接方式、表现运动方式,这一套东西成为了西方很多大师或者是现在一些顶级视觉工作者的基础,他们把这一套视觉工作的经验或者工作流融入了后续的很多视觉作品中,比如迪士尼、漫威等等 而如果要创作一个自己的视觉的造型语言,就需要按照这么一套框架去做。可以说他提出来了这么一个框架,框架的内容你可以随便想,随便设定,但是最终实现的时候基本就是这么几方面,可以说是总结了一个套路、方法论。 为啥现在国漫是没有自己的风格,因为现代的这几种套路已经被广泛使用、并且被观众认可,而你要创新一个新的套路,很难很难的,至少现在还没有人能做得出来,即使你做出来了,但是没有受众,你也很难坚持下取,实现这个套里的迭代更新,少说也要两三代人的传承和发展。 如何看懂绘本的艺术设计 绘本今天是一种小众艺术形式。早期绘本有点连环画的意思,还记得我小时候也看过,不过那会感觉这种书内容好少,到底是谁会买这种书。大部分一个绘本就讲了一个小故事,故事的丰富程度很多要靠想象,我自己小时候是不怎么喜欢的。那会想不通这个东西到底有啥用,后来才明白小孩子不认识文字,符合的时候,这种绘本是建立认知很重要的途径,所以这个是给小孩子看的。 绘本是大人为小孩子朗读的书,不仅仅是绘画、还有他的语言文字设计,绘本的交互中涉及到了大人到小孩,他核心理念是要引导大人更好的为小孩子读,是一种亲情、文化继承的接力棒。绘本中图像是主导,文字是辅助,而亲子之间传递靠的就是大人对画面的描述,这让小孩子更好的理解故事的内容,认识世界。 绘本之后衍生出了立体书,让画超过了书本,变成更立体的东西,早期还是给孩子建立认知用的,后面就演变成了一种更小众的装置艺术。 这个主流艺术的发展趋势也比较符合我的认知,之前见过很多互动的装置艺术,涉及到的内容也非常广泛 大多数不仅仅对审美有要求,同时对于嵌入式、软件、特效、CG等等领域的内容都有一些要求,而很多艺术装置目前我看着还非常粗浅,互动性或者装置本身做的还是太粗糙了一点,就有点那种意犹未尽的感觉,可以做得更好。 游戏作为第九艺术,差不多也是这么个意思,不过互动装置这种比游戏的沉浸感可能会更好,类似VR、AR这种虚拟和显示叠加,让交互性或者感官上能造成的冲击更强了 如何看懂机甲中的造型设计 这节课以机甲为例,讲了各个时代里机甲造型的来源是什么,就是当下生活中那些你能看到的,存在于你潜意识中的东西,蒸汽时代的蒸汽结构,现代的液压结构,古代时人体结构,都是机甲设计造型的源头。艺术来源于生活,还真是这样。 游戏、电影、电视剧等等导演的审美是被这个时代潜移默化塑造出来的,这样的内容又潜移默化的塑造了观众,继而又影响到了下一代导演,代代如此,整个审美的主流都是随着这个事物的影响力逐渐演化下去的。但是事务发生的原理和审美判断不应该杂糅在一起看待,而是要分开,可当下社会中这个问题是被混淆在一起的,没有人可以脱离时代去存在,去撇开这种影响,这很困难。所以需要一个理性的眼睛,去分析,观察这个时代的审美根源是来自于哪里,这也是艺术历史存在的价值,他得客观,公正的站在一个超然的地位去审视当下或者过去。物理规律是好总结发现的,但是这种艺术性的东西,想要总结发现就很麻烦,你得找到各种各样的内容去论证他的存在,最终大家接受了,这个理论才成立,大家不接受,其实这个东西就不太存在了,就会消失在历史中。 讲到这里,基本上就说明了这个课的一个核心观念,审美他应该是一门有理有据的学科,这个美是有缘由的,只是你可能不知道或者说不清,但是并不是它不存在。很多培训或者教程,他们对于美的教学更像是一种经验的传递,这样是可以继承或者发扬的,但是这样的东西说不清背后的原理,特别是传多了以后。所以有一代代的大师从中感悟,再超越,但是大师并不一定是一个好的老师,他自己也不一定能准确的总结出来自己的绘画理论,并加以概括或者教学推广;就算能总结的,如果以理科的一个标准来审视,它更像是民科的自圆其说,有很多细节是说不清的,过于主观了。 如何看懂游戏场景设计 以塞尔达为例,讲解游戏场景是怎么设计的。 塞尔达驱动玩家的引力来自于哪里? 游戏场景如何为这样的引力设计或者服务,三角设计,大三角是玩家目标,中三角是道路上的阻碍,小三角则是调节行进节奏的东西,这三样符合基本的游戏难度曲线设计 游戏探索的节奏要怎么设计,这个没有标准答案,但是要找到自己设计的依据,而不是拍脑袋、随机生成 老师对于沙盒游戏的观点基本和我是差不多的,我玩过的肯定比老师多多了,游戏的引力对我非常重要,可能设计上的一点点创新就值得我体验一整个游戏,类似的3A这种有标准模板的游戏,早已经不能满足我对游戏引力的要求了,这也是为什么我喜欢一些独立的小游戏,他们身上那种灵光一现,是一般的大作里都看不到的东西,他们还有着那纯真的快乐。 一切设计的起源都是玩家的需求,自愿克服困难的快乐,其实说白了就是游戏里克服困难获得的反馈比现实中来得更快,也更直接。 现实中的困难,你可能需要常年累月的学习,可能还需要机会才能得到正向反馈,这也是为啥游戏容易上瘾,容易让人逃避现实。 这节课后面基本都是在讲MVP、需求、用户,某种程度上是产品经理的内容了,也挺意外的审美课讲起了产品。 马斯洛需求层次理论,公司愿景与个人是有一点点矛盾的,类似于暖饱思淫欲,当你可以轻松满足生存以后,就会自然而然的开始追求自我实现,而当你的自我实现与公司存在矛盾时,或者是分歧时,你就会更多的选择自我实现。自我实现是每个人的宿命,或长或短,每个人最终都会奔向这个目的地。 这节课的最后基本都是老师的人生经验分享了,课程的内容大概2小时就讲完了,有点用,恰巧了我就是用户-产品-研发一体的角色,关于产品的内容,刚好也经历过了一遍,其中感悟我感觉只有身在其中的人才能感觉到,经历过了才明白是怎么回事。 其他 人体素描课 https://www.bilibili.com/video/BV18uR2YREYa Summary 2025.8.28 凌晨2点,总算是把第一期的全部课程看完了,花了四个多月,其中忙的时候根本想不起来我还有课要上。课程中的理论或者知识,我在生活中也直接进行了验证,基本上是可以的,至少没有很矛盾或者有什么可以直接证反的东西。 很多时候思考一下是否他人没有受过类似的教育或者潜移默化的影响,就能理解为什么别人判断不出来或者感受不出来了,能更清晰的看出来他可能缺少了什么,有某个环节的内容他没见过,所以他自己的逻辑里就无法自圆其说了。 不知道为啥后续的审美课似乎都没答疑环节了,都是直接和老师私聊了嘛?这样会缺少一点看到其他人观点或者想法的的机会,少了点触类旁通的感觉。 总体来说课程是值得推荐的,特别是对于理性特别强的人来说,不希望凭感觉,而是想摸到审美的脉络的人,这个课程可以解答很多疑惑 Quote https://www.bilibili.com/video/BV1Cd4y1172b

8/28/2025
articleCard.readMore

iMa知识库体验

Foreword 我的blog基本就是我的知识库,都是一些比较冷门的知识点,我自己按照我的逻辑整理成的,之前就考虑过能不能结合我自己的知识库做一个AI,很久之前看过王登科的把自己的聊天记录做成了模仿自己说话语气内容的AI数字人,不过模仿语气我感觉不太需要,能正常提问回答出来我知识库的内容就够用了,语气什么的,客观就行了。 我也试过有道的、wolai的只能说在文档提问这一块还是有点挫,特别是wolai的基本是垃圾,不知道做这玩意干啥用,完全没有可用性。 iMa https://iMa.qq.com/download/ 最近听说腾讯的iMa知识库,试用一下,发现挺不错的,内容总结也可以,导入速度也挺快的,有原始的markdown文档就可以。 上手很简单,直接把我的blog的post全都丢给他,然后进行提问即可,速度很快,回答内容基本也是根据我文档来的? 目前支持常规的文档格式,好像支持剪藏?(需要浏览器插件),多端都可以使用 知识库建立好了以后,可以直接分享给其他人,也可以公开分享。 幻觉 如果提问知识库内没有的内容,他会从外部生成,iMa提到的42篇知识库资料完全和这个问题没关系 在我问到我写过的软件或者工具有哪些的时候,出现了幻觉,这个完全是胡说了,一共四行,四行内容都各说各话 读图能力 引入图片以后,也会有一个图片的概括,只是如果图片过多,整体解析速率就会降低非常多,图片的问题是他没有联系上下文,不知道这个图片所在位置关系,就缺少了很多关键性信息 但是,文档里如果包含这个图片,并且这个图片是相对路径的,那么iMa就不能解析了,他不知道这个图片路径在哪里,但是实际上我已经把图片传进去 图片解析也存在部分图片无法解析,有的再次尝试以后可以正常概况了,有的完全不行 原理 可以看到基本每篇内容在上传的时候都直接进行了一次AI总结,打了标签,总结以后作为一个搜索目录,再次问到相关内容,就从这个里面快速匹配 结合wolai wolai的文档导出,是整个空间导出,需要一点时间,下载下来压缩包超级大,里面基本上是wolai的所有文件。 看了一下文件大概就有四五千个,总体md文件倒是没多大,一共也才15M左右,其他文件很多,图片、视频、各种数据文件等等。 wolai整体可以直接通过markdown的链接跳转,所有链接都是内部链接,用typora打卡之前wolai很卡的文档也非常轻松。 接着把这四千多个文件导入到iMa,做成知识库,大概花了将近40分钟才把文件全部转换完成。 由于wolai文档本身没有按照空间划分,这就导致了所有文档是混在一起的,关联关系丢失了。空间划分也丢失了,同时也看出来了整个AI在做文件检索的时候,其实失去了文件结构的信息,比如文件下的子文件,这种都是有隶属关系的,但是大模型是不懂这部分内容的,iMa本身的提示词应该也没有处理这个的能力。这样就导致了提问的东西如果涉及到很多个文档的内容,会出现内容拼接,把新老内容拼接在一起,那么得到的答案就有点离谱了 需要注意一下,由于wolai直接导出,内容十分多,也有很多敏感信息,这部分内容需要单独剔除,还是挺麻烦的,特别是各种账号密码记录的哪里都有,每个文档都需要单独删除 其次也发现了一个新问题,文档怎么更新? iMa本身好像没有更新这个概念,那我重新导出一次新的wolai,就要重新走一遍前面的文档导入流程,改几个字都得这样,这也太麻烦了。iMa可能本意是把用户或者知识库留在他本身,可能没想到外部更新的情况 结合wolai,由于wolai的每个文档都有对应wolai的后缀,那么就可以利用这个后缀加个批处理程序,把原生wolai的链接给写回原文,这样需要找对应wolai文档的时候就可以直接跳转访问,很简单 import os # user for replace pic fomart str in markdown doc head # first get all file dir = r"K:\Download\LCXkl4\pages" origin_str = "Forward" replace_str = "Foreword" line_num_limit = 30 delete_file_list = [ "81SN8ME8AdNA16WrmgFLfL", "wKojQFStFZDQ5JXDkULrUn", ] for file in os.listdir(dir): # show file name print(file) # 检查文件后缀是否为.md if not file.endswith('.md'): continue # 获取文件名中下划线到点之间的内容 parts = file.split('_') if len(parts) > 1: # 如果有下划线,取最后一部分并去掉.md后缀 name = parts[-1].split('.')[0] doc_name = parts[0] #print(f"提取的内容: {name}") # 如果文件名在删除列表中则跳过 if name in delete_file_list: print(f"删除文件: {name}") os.remove(dir + "\\" + file) continue url = "https://www.wolai.com/你的用户名/"+name #print(url) insert_str = "["+doc_name+"原文链接]("+url+")" #print(insert_str) file_path = dir + "\\" + file f = open(file_path, encoding='utf-8') content = f.readlines() f.close() # 在第二行插入链接 new_file = "" for i, line in enumerate(content): if i == 1: # 在第二行插入 new_file += insert_str + "\n\n" # 添加两个换行确保格式正确 new_file += line # 写回文件 f = open(file_path, 'w', encoding='utf-8') f.write(new_file) f.close() 这样就可以在访问内容的时候快速跳转到原文 如果只是服务于搜索,那只需要添加wolai的pages就行了,但是如果还要内容,还需要把image也同时加进去,否则所有图片链接都是无效的,只不过加了图片以后文件数量就好几万了,大小也一下来到了3g多,上传速度就比较慢了 Summary 实际回答效果咋样和具体用啥模型还是有关系的,只是iMa帮你把这部分内容给你结合起来了,做好了文档梳理。 总体分享还是非常便捷的,但是文档笔记本身书写体验还是比较挫的,本质上是markdown的一个变体。 iMa文档内容可以逐步增加,可以给不同人权限,作为新人初期了解一下新公司,制度,新行业的内容,还是挺方便的,直接提问就行了。 但是这个东西只能作为内部的搜索的一个环节,大家交流的文档本质上还是要基于更细化的管理,协同,内容审阅,这个部分iMa过于缺了,实际用起来可能也是你想到了用一下iMa提问,没想起来那就找人问了,iMa的存在感略微有一点低。 还有一种就是iMa放出来对外的接口,作为一个小服务,类似F1,问号,Office的大眼睛那种存在的方式进行,iMa相当于是其后端管理,或许还有一些额外的发展。 Quote https://iMa.qq.com/

8/26/2025
articleCard.readMore

Vsprintf与Vsnprintf造成的栈越界

Foreword 一个陈年老问题,总算找到根源,由此也发现了很多之前不曾注意的一些细节,这些地方都有可能造成栈越界 之前有发现栈越界,但是实际追查起来还是比较困难的,特别是想知道从哪一刻哪个位置开始栈越界,就更难查了 https://elmagnifico.tech/2025/04/10/StackOverflow/ vsprintf vsprintf vsprintf就是一个根据列表参数进行格式化的函数,转成我们熟悉的printf里输出的内容 int vsprintf(char *str, const char *format, va_list arg) 一般都是这样组合在一起 va_list ap; va_start(ap, fmt); vsprintf(str, fmt, ap); va_end(ap); vsprintf有两个大问题,第一个它本身内存不安全,如果你转换内容过多,而承载的str指针不够的化,那么就会溢出,踩栈。 同时,vsprintf的实现对于栈的消耗非常大,与格式化的内容有关系,浮动可能很大 vsnprintf vsnprintf,是限制了str转换后的字节大小,如果内容过多,就截断了,而不会越界,相对安全一些。 类似的vsprintf_s,也是限制了这个缓冲区大小,和vsnprintf差不多 嵌入式vsprintf 以uboot中的vsprintf为例,标准库的vsprintf本身是支持很多特性的,但是实际我们输出的时候其实并不会用一些花里胡哨的输出方式,所以嵌入式里的vsprintf都会重写vsprintf,尽可能精简其内容,去掉了不常用的特性 int vsprintf(char *buf, const char *fmt, va_list args) { int len; #ifdef CFG_64BIT_VSPRINTF unsigned long long num; #else unsigned long num; #endif int i, base; char * str; const char *s; int flags; /* flags to number() */ int field_width; /* width of output field */ int precision; /* min. # of digits for integers; max number of chars for from string */ int qualifier; /* 'h', 'l', or 'q' for integer fields */ for (str=buf ; *fmt ; ++fmt) { if (*fmt != '%') { *str++ = *fmt; continue; } /* process flags */ flags = 0; repeat: ++fmt; /* this also skips first '%' */ switch (*fmt) { case '-': flags |= LEFT; goto repeat; case '+': flags |= PLUS; goto repeat; case ' ': flags |= SPACE; goto repeat; case '#': flags |= SPECIAL; goto repeat; case '0': flags |= ZEROPAD; goto repeat; } /* get field width */ field_width = -1; if (is_digit(*fmt)) field_width = skip_atoi(&fmt); else if (*fmt == '*') { ++fmt; /* it's the next argument */ field_width = va_arg(args, int); if (field_width < 0) { field_width = -field_width; flags |= LEFT; } } /* get the precision */ precision = -1; if (*fmt == '.') { ++fmt; if (is_digit(*fmt)) precision = skip_atoi(&fmt); else if (*fmt == '*') { ++fmt; /* it's the next argument */ precision = va_arg(args, int); } if (precision < 0) precision = 0; } /* get the conversion qualifier */ qualifier = -1; if (*fmt == 'h' || *fmt == 'l' || *fmt == 'q') { qualifier = *fmt; ++fmt; } /* default base */ base = 10; switch (*fmt) { case 'c': if (!(flags & LEFT)) while (--field_width > 0) *str++ = ' '; *str++ = (unsigned char) va_arg(args, int); while (--field_width > 0) *str++ = ' '; continue; case 's': s = va_arg(args, char *); if (!s) s = "<NULL>"; len = strnlen(s, precision); if (!(flags & LEFT)) while (len < field_width--) *str++ = ' '; for (i = 0; i < len; ++i) *str++ = *s++; while (len < field_width--) *str++ = ' '; continue; case 'p': if (field_width == -1) { field_width = 2*sizeof(void *); flags |= ZEROPAD; } str = number(str, (unsigned long) va_arg(args, void *), 16, field_width, precision, flags); continue; case 'n': if (qualifier == 'l') { long * ip = va_arg(args, long *); *ip = (str - buf); } else { int * ip = va_arg(args, int *); *ip = (str - buf); } continue; case '%': *str++ = '%'; continue; /* integer number formats - set up the flags and "break" */ case 'o': base = 8; break; case 'X': flags |= LARGE; case 'x': base = 16; break; case 'd': case 'i': flags |= SIGN; case 'u': break; default: *str++ = '%'; if (*fmt) *str++ = *fmt; else --fmt; continue; } #ifdef CFG_64BIT_VSPRINTF if (qualifier == 'q') /* "quad" for 64 bit variables */ num = va_arg(args, unsigned long long); else #endif if (qualifier == 'l') num = va_arg(args, unsigned long); else if (qualifier == 'h') { num = (unsigned short) va_arg(args, int); if (flags & SIGN) num = (short) num; } else if (flags & SIGN) num = va_arg(args, int); else num = va_arg(args, unsigned int); str = number(str, num, base, field_width, precision, flags); } *str = '\0'; return str-buf; } 类似的memcpy等一些标准库函数,都有可能有额外的栈空间消耗,而在内存紧张的嵌入式环境里,这部分可能都需要重写,防止栈越界或者溢出错误导致更严重的后果 Summary vsprintf就有点windows里的记事本的意思,看似简单的、不起眼的一个小函数,实际后面的细节非常丰富,业务很复杂。 对于嵌入式栈是否溢出的评估,有时候只看表面的一些局部变量可能看不出来,特别是一些库函数,他的层次可能很深,不能单步进去。 这个时候就要借助操作系统或者外部工具,又或者是直接追栈顶指针,来看是否会出现栈溢出。 一般正常情况下就是上面的判断标准,但是这个栈的评估还需要结合异常情况,结合代码各种可能分支的覆盖情况来看,有可能在异常分支中存在栈过度使用,调用过深,导致实际栈溢出的情况,不做覆盖性测试是无法发现这个问题的 Quote https://www.runoob.com/cprogramming/c-function-vsprintf.html

8/25/2025
articleCard.readMore