原来,JS 里面是不能直接设置 important 的:
1 2 3 |
|
需要用 setProperty 来设置:
1
|
|
原来,JS 里面是不能直接设置 important 的:
1 2 3 |
|
需要用 setProperty 来设置:
1
|
|
今天没宅家写代码,跟同事、以及同事的朋友,去试驾&提了一辆 #宝马(同事),简单谈谈体验与感受 & 生活流水账。好巧不巧,早上我带了两根香蕉🍌、他带了两个糖油粑粑。于是我们两人相互交换,这是早餐🍳。
开车过去到 4S 店的时候,快要接近正午🕛。先上车做了个简单直观的乘坐体验:3️⃣系空间紧凑,5️⃣系过于宽敞,7️⃣系更加商务风。然后也顺便体验了一下 SUV / X 系列,感觉不是一点点高,我这个小个子下车有点费劲。宝马全系车型的门感觉都有点怪怪的,声音比较硬,开门人要很靠边,不然容易撞到。7️⃣系的后门更离谱,还是个三角▶️区域,专业欺负短手,我差点儿要弯腰了。其实同事早就看好了车型,325长轴曜夜,今天过来只是为了谈价钱。毕竟在现在中国无论做个什么都想摇号的年代,错过一次指标再想要就很难了。如果说还有别的,那就是,让我试驾一下,真的。
谈判的过程得持续有3️⃣个小时那么久。对方是个销冠(1️⃣月份卖了 28 辆,1100 万的销售成绩🤔),然后还名同“林妹妹”。好说歹说,价格是差一点 30 万,只是送的东西还挺多,算得上有诚意了。至少,送了坐椅通风x1(在我要求后,x2)。我这同事不算很懂买车,并没有过问很多细节的东西。男人是不是到最后都只在乎自己爽了?他一开始竟然觉得副驾没有坐椅通风也还行?🙂↔️。我都说,你这正在找对象,深圳夏天这天气,没有坐椅通风对妹子可不友好。谈完很快就先交了订金,确认是订金(可以退),而不是定金(不可以退)。如今这些行业,用“订金”这我有点意外。再三确认,没错。
等了小半个小时才等来试驾🚘,销售直接用同事的身份证登记,都没有问我有没有驾照🪪,就直接很放心地让我去试驾了。对,是很放心地,竟然没有配试驾专员:
当然,上述这些只是我一个只碰过宝马3️⃣系2️⃣5️⃣分钟的人的一些鄙见。去年我自己在纠结😐我自己要买 325 还是 Model Y 的时候,当时也完全拿不定主意。拖了几个月也没下订,最终先给我爸买了一辆比亚迪代步,然后我爸其实当时还没驾照,所以这车是我在开。眼看这马上就快要到一年的驾驶体验来说,我肯定优先选 Model Y 了。电车在市区是真香,0.36元/度的电价让我有一种丢垃圾🗑️都想开车🚗去的想法。目前购车已有🔟个月,里程 2.8 万公里,我感觉还是 affordable/acceptable 的。其实当时也算过,如果我当时真买了宝马3️⃣系,平均来看,每个月的用车成本真的超过 2000. 有点肉痛。同事给我看了他这个月还不到半个月的信用卡帐单,~2500,然后我当着他的面打开了我的招商银行掌上生活,~5000. 他只是说了一句:shit bro,what the fuck……
最后,这家宝马 4S 店比较离谱,不仅迎宾竟然不发水,连午餐🍱也堪比街边 12 元快餐店。我今天穿着一身简单的“红衣”,也挺“出众”了吧?在店门口的几辆车之间兜兜转转了几圈,最终在试驾完拿着下订金✅的文件跑进大门时(因为下起了小雨🌧️),也没能被前台尴尬地问了一句:是来看车的吗?怎么,我拿着你们的“合同”,还不够混个脸熟吗?🤔 当然,这些都不是重点,我不介意。
光明新区看起来确实很新,建筑🏠、公路🛣️都很新,很干净。同事的朋友说光明新区是深圳的未来,我问未来多久到来?他不知道,我说,得有个至少 20 年吧?不管深圳有没有留住我,20 年后应该不是我的时代了。我只想,现在,快快乐乐。未来,未来。
末了,把同事带回了地铁站🚉,因为他预感今天会堵车,他还赶时间回福田陪他妈妈👩一起过母亲节。而我,拉着另外一位同事去南山吃了我最爱吃的一家椰汁🥥鸡,没别的,就算是个仪式感吧?这店家我之前经常跟我的另外一个同事去,每周去一次的程度,但是后来那个人——up and vanished like a fart in the wind——后,我也就不再是常客。所以当我拿出一张已经过期一周的优惠券时,一个陌生的阿姨说,过期了这个不能用不能用。我只是微笑着对阿姨说,好的好的,节日快乐。然后当老板过来的时候,我重复了同样的请求,老板肯定看我面熟,于是给我打了折。
我说我给家庭群发了个红包🧧,我问他你发了吗?他说没有,他 made a phone call 📞。我向来不爱跟家人用电话/语音沟通。因为我真的觉得没什么说的……就不聊聊日常。连人家 99 后的妹子都觉得跟我有代沟了……当然,这和父母之间的沟通不具可比性。我跟我父母相处得也很好,我只是想说,父母都是担心我吃🍽️好、睡💤好没有。我们日常都有在群里简单沟通,我真不习惯打电话 📞。我和很多人不一样。
同事的预感非常正确,从宝安到南山,区区 10 公里路程,我们堵了2️⃣个小时。就像和绝大部分高速公路拥挤一样,当你快速多次地穿梭于车辆之间后会发现,前面简直是畅通无阻、一片光明。什么,光明?我感觉今天的拥堵实属就是对同事买车最大的讽刺。
这是我未曾知道的关于 innerText 和 textContent 的区别:
发现上面第二篇文章页底竟然有详细的直方图访问量统计📊。
好像我的博客也有近几年的详细访问数据,只是没显示出来。
难道又要加 TODO……😭
Go 语言多少有点儿大病,以至于这种东西需要我自己实现,以至于我需要用我三脚猫功夫的模板/泛型才能实现。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
是谁当初说不需要三元/条件运算符的?我打断他的 🐶 腿。
我真是个天才。
如果评论中带列表(list),那么当前的列表会顺序递进样式:比如第一层用实心圆点儿,第二层用空心圆点儿,第三层用方块儿。这个行为是浏览器默认的。
但是我的评论列表也是用的 <ul>/<ol> 来描述,这种嵌套关系会导致评论内容中的列表表现不一样,所以需要重置列表项的样式(list-style-type)。做法也非常简单:
1 2 3 |
|
刚解决完这个问题后,我突发奇想:Markdown 是支持多种 Markers 符号官方的(就是用哪个符号表示要开始写列表了,比如:- + * . )),那么我为啥不保留原始的这个符号呢,这样更所见即所得?于是我就打开了 list-style-type 一看,竟然示例中第一个就是自定义样式🤣,这下不得不学了……
如我想像中的那样简单,常用的都预置了。但是 1) 2) 这种没有。我用 @at-rule 自己写了一个 marker 生成器:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
然后就是在文档渲染时解析 Markdown 的过程中判断一下 Marker 的类型并增加类名即可:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
然后就是一些例子🌰:
如愿
不知道是哪天,为了显得行文更正式一点儿,我特地给“妳”添加到了自定义短语里面,输入vq即可代替原本不是二级简码的vqiy。这样就和输入“你(wq)”一样只需要两笔。
然而,我几乎从来没有打过这个字。因为,没有一个她。

在我正在每天使用的电脑的一个很浅的备份目录内找到了7️⃣年前备份的“说说”(就是本碎念功能的前身)。看了下时间点,正好结束在隐藏说说功能前夕。
都是我的过去,为了不丢失,还是给它们“安个身”吧?毕竟也没有别的人这么多年陪着我,只有我的数据。
1 2 3 4 5 6 7 |
|
看起来有些年迈了。
哈哈哈,那时候的“说说”还记录了地点信息的:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
那还是我数据库时间用 datetime 的年代,想想当年好像是写了一整个的 PHP 文件来处理日期/时间📅。
评论就显得比较简单,竟然连作者邮箱都不用留的,随意留言,多么简单而又美好的年代:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
这篇关于在二进制位中定位包含 1 的位置的论文1 PDF 《Using de Bruijn Sequences to Index a 1 in a Computer Word》好奇怪,选择的时候一团糊(别说,还挺好看🤩)。导致我 MacOS 的单词快速查看(QuickLookup)功能也彻底废了。

为了在前端发一张带图片的碎碎念,写了一天的代码支持在前端上传⏫文件🥵,兜兜转转又回来了。
看了很多上传文件相关的文章,但是都没有采用(fetch + XMLHttpRequest)。
取而代之,用的是我自己的文件上传方案:通过 WebSocket 把 GRPC Stream 代理(双向拷贝)到前端。
这样的话接口就全部统一了。也可以很方便地增加上传进度展示(目前没有加,因为文件小)。
这好像是一个网上很少被提起的方案。
Go 的内嵌接口不会自动包含被内嵌的对象实现的接口,所以像下面这样的代码不会如预期的方式工作,不知道为什么,踩坑几次了😫:
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 |
|
现实代码是,我包裹了 http.ResponseWriter 通过重写 WriteHeader 的方式以实现捕捉到状态码:
1 2 3 4 |
|
然后就发现,我自己的 _ResponseWriter 没有实现 Hijacker 了,导致我的 WebSocket 升级失败。
现实是,很多代码都这样写,并且以为不会出问题。比如:
一直没明白为什么不支持。
发现了一个 Go1.20 新加入的功能:https://pkg.go.dev/net/http#NewResponseController 可以完成我要的功能。
1 2 3 4 5 6 7 8 9 10 11 |
|
使用 Rollup 给 js 打包的时候发现它有一个“奇怪”的格式化参数 -f iife。查了一下才知道,像下面这样的代码写法:
1 2 3 |
|
有一个专门的名字:Immediately invoked function expression / 立即调用函数表达式。
这个概念已经存在很久很久了,只是我今天才知道它有正式的名字,被这样缩写。
我好像很久没看书📖了。有点儿恐怖。
W3C 总是能给我整出恶心的东西,为什么把一个 Date 赋值给 <input type="datetime-local" /> 这么难?这tm是给人用的吗?🤔
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
而如果是 Go 的话,只需要下面这样一句就可以了:
1
|
|
五一本来是不打算出去玩儿的,节假日都不喜欢,太堵了,堵人堵车。但这次是个例外,是准备去董的家乡茂名旅游一圈。董的相亲对象竟然非常巧合地在高铁临近出发前错过了,于是一行四人,晚上十点,从深圳出发。
从未在节假日高峰开车出游过,没想到到虎门50公里开了4️⃣个小时。而全程不到500公里的路程居然次日早上11点才到。总共驾驶13个小时,除两次充电分别休息差不多半小时外,全程是我开车,是真的累,堵得累。有史以来连续开车最长的一次,不是炫耀。
早在 2015 年刚创建本博客程序的时候就有了一个简单的“说说”功能,相对于复杂的文章来说,就是用来发表日常吐槽。
可是本来是我技术起步阶段,就做得非常难用。后来就隐藏了这个功能,再后来就删除了这个功能。不知道以前的数据还在不在,如果在的话,抽空同步上来。
现在你看到的这个“碎碎念”,不再是另外一种单独的载体,而就是一篇普通的、没有标题的文章。之所以这样做,有很多好处:
当然,“碎碎念”默认不显示在首页、也不显示其首页评论、也不显示在 RSS 订阅中。
碎碎念不乏有一些比较隐私的内容,我该想一个较好的方案来隐私这部分细节?🤔
这篇 MDN 的 onsise 处理里面提到了一篇 throuttle 和 debounce 的文章,很好。
在这里讨论了博客评论分页如何永久有效的问题:https://github.com/movsb/taoblog/commit/366c66d2841377c2ddf155af7b31e703a6c39ee2。
关于 HTML 在特殊符号是否需要转码的问题。这篇文章写得比如清楚,但是,个人觉得只适合手写的情况。
准备把博客的评论改在后端生成,改了半天发现,我直接把所有评论用 js 返回给前端,前端用 js 渲染出来不就行了吗?妈的,写了半天,浪费时间……🙄
终于把拖了几年的通行密钥给上线到博客了,太难了!
发现 iPad 上的浏览器的 user agent 是桌面电脑的,因为设置里面“请求桌面网站”一直是打开的。但是,桌面版不魂 touch event,iPad 支持。那我要如何区分?
通过 alert('ontouchstart' in window) 可以判断出来。
一句错误的代码:
1
|
|
正确的写法:
1
|
|
火狐的提示比谷歌详细很多。
简写:
1 2 |
|
连发音都是一样的,不能说毫无关系🤔。

不知道啥时候把 blog@twofei.com 这个邮箱发件人的昵称命名成了 “damn” 🥵,找了好一会儿设置才将其改掉了。
给博客加上了自动重新部署的逻辑,通过 GitHub 的 Webhooks。
了解了一下新的 Go 1.22 版本的 ServeMux,已经支持 带 METHOD 的 Handler 了。可以废掉我在 TaoBlog 中写的带 Method 的 ServeMux 了。
每次点击 Obsidian 的 “open today's daily note“ 发现是个新页面时,就恐惧又是新的一天,好像昨天什么也没做一样。
苹果要完,这应该怎么破? #bugOS