我的技术和生活

  • 好吧,Google 暂时不打算强推 Chrome Extension MV3 规范

    好吧,Google 暂时不打算强推 Chrome Extension MV3 规范

    前几天朋友提醒,Google 没有强推 Chrome Extension MV3。如果我没记错的话,按照原本的计划,今年 1 月 1 日起,Chrome Web Store 就要下架所有 MV2 扩展,只允许企业内部进行组织部署;7 月 1 日后就连用户本地也不允许安装和运行 MV2 扩展了。所有扩展必须升级到 MV3。

    不过看 Manifest V2 support timeline 的最新内容,这些安排都延期和搁置了,至少到 2024 年 1 月之前,大家还能放心继续使用 MV2。至于之后能不能用,还在考虑之中。

    我找到了官方的延迟通知,在这里:暂停清单 V2 逐步淘汰更改 (google.com)。按照官方的说法,除了一些开发负担,还有很多之前没想到的问题,比如缺少 DOM,导致很多合理的功能在 MV3 完全无法实现。这点我之前的 Chrome Extension Manifest V3 升级笔记 一文也提到过。

    朋友推测,这里的原因在于:

    1. 做浏览器扩展并不赚钱
    2. 所以很多浏览器扩展的开发者现在都没有继续维护和开发了
    3. Google 要求大家必须升级,大家说:不让用不用,鬼理你
    4. 然后这些扩展的用户,尤其是很多工具类产品,甚至包括 Cyrpess、OpenResty Showman 等测试工具都依赖 MV2 扩展,就会迁移到其它支持 MV2 的浏览器,比如 Edge、Firefox

    相对来说,Google 推 GA4 就很硬气,猜测是因为 GA 没有什么特别大的竞争对手,从速度、效果、Adsense 等方面来看,GA 有巨大优势。而且升级 GA 很容易,换个 JS,改下初始化就行了。

    升级 MV3 很困难,各种不兼容的 API 变化,大量程序几乎要完全重写。而且,看过 Chrome Extension Manifest V3 升级笔记 的同学应该还记得,Google 最开始推 MV3 的时候,API 和文档烂的一塌糊涂,简直不能用。

    Chrome Web Store 团队会进一步聆听社区,讨论升级方案,并且在 2023 年 3 月拿出新方案(他们没有放弃!),所以大家也不要掉以轻心。

    总之,我的建议是:

    1. 如果大家现在要做扩展,建议还是做 MV3 版本
    2. 如果大家现在的工作依赖 MV2,可以继续放心大胆用
    3. 保持对 MV2/MV3 升级计划的关注

    如果你有把浏览器扩展从 MV2 升级 MV3 的问题、经验,欢迎跟我讨论分享。

  • 程序员副业闲聊:怎么领导一份副业

    程序员副业闲聊:怎么领导一份副业

    有位同学找我聊天,不知道是不是看了 聊聊我对接私单的看法:少接私单,多做 side project,想自己组个业余协作团队,一起做点事情。他问我,觉得是否可行,有没有哪些已知的坑?

    我:

    按我的经验,我们程序员最缺的是运营、增长、业务这些东西。即代码变现这个环节。正如很多老板会说“就差一个程序员了”,程序员团队也困于“就差个靠谱的老板了”。

    世间最难以琢磨的,就是缘分。双方都靠谱,能够互相理解、互相支持,在我们日常的种种关系中,都很难得。这里不同的是:双方组合为了搞钱,面对的压力更大、诱惑更多。

    某同学又问:

    嗯嗯 程序员团队 心目中 靠谱的老板 都包括什么呢?

    我:

    这里的老板不是雇你的人,是能把一整个业务跑起来的那种人。诚实可靠是基础,但远远不够。要能理解业务,找到业务瓶颈,找到合适的人填补空缺,说服所有人为这件事工作,能把业务跑起来,能把钱拿回来,知道怎么分配工作和所得。

    因为是 side project,不是有人出钱有人出力,大部分情况下都是集体出钱集体出力,所以更强调能力互补,而非督促、管理、下判断。程序员团队,大家都擅长需求落地,但是需求是什么,很多时候反而不清晰,这里就迫切需要一个能产出需求的人。

    某同学:

    嗯嗯 如果他不能真正懂得业务,但是懂得放权呢? 会不会好一点?我想象中的 理想的团队 是彼此可以协同服务的,而不是等级化、权力化的组织 ……

    我:

    你的理解不太对。这里不存在放权的需要,这里的管理是说服力。你在公司里给老板干活儿,老板让你干什么,你就干什么,反正最后老板会给你钱。

    你自己拉个队伍,比如我们4、5个人组队,大家都是平等的,都出力出钱,那听谁的呢?你想做笔记软件,我想做在线简历,A 想做电子钱包,听谁的?谁来负责?谁来运营?这跟等级、权力其实没有关系。

    需要有一个做事的核心,能把方向定下来,能告诉大家钱从哪儿来,能找到团队的短板、能最后把钱拿回来。

    一般的企业里,老板出钱,承担风险,享受超额利润。程序员只负责干活儿,能交付合格的产品就可以,卖不卖得掉基本不管。如果组织成副业团队,又不想只是接外包挣辛苦钱,就需要做出真正有价值的产品,还要把产品卖出去,还要把钱拿回来。这就需要团队里要有人承担传统架构里老板的角色。

    这里的老板不是管人的老板,他当然应该根据团队需要安排大家的角色,但这不是他的首要目标,也完全无关放权。他安排协调所有人的目的,就是更好的产出、更好的产品、更好的变现。尊重大家的意见,在这里毫无意义,如果一个产品靠集体投票就能胜出,那现在的世界绝不是这个样子。

    程序员副业团队,必须由愿意负责的人说服其他人,相信他的产品判断。然后大家一起努力把产品做好,满足市场需求。最后再想办法把产品变现。如果最后不能变现,其他人也要学会从产品和市场上找问题,而不是从别人身上。


    后来我们又聊了些效率之类的话题,有些分散,就不往上写了。

    我是一个想法很多的人,大家看我的博客里有很多 idea 之类的文章。有些想法后来看,的确有一些实际价值,也有人做出来做得很好;但是有些想法的确不怎么样。

    我经常会找朋友讨论这些想法,我发现,想说服一个人非常困难,在我的诸多尝试中,成功说服别人的几率不超过 10%。每个人的视角不同、背景知识不同、经验不同、最终做出的判断就不同。作为老板,愿意出资,承担风险,别人当然愿意听你的;如果大家一起做预期不明的东西,那就需要更强的说服力和领导力。

    2022 年比较难过,2023 年会怎么样,谁也不知道。希望大家在新的一年里,都有新的收获。如果你想做一些副业,创造自己的资产,或者改善自己的财务状态,我都支持。但如果你是程序员,想组个团队搞些事情,我希望你考虑一下我上面的观点。

    有任何意见建议,均欢迎留言讨论。期待更好的一年。

  • 【视频】Vuepress 搭建个人文档网站 GitHub Actions/GitHub Pages 免费资源用到饱

    【视频】Vuepress 搭建个人文档网站 GitHub Actions/GitHub Pages 免费资源用到饱

    这个视频其实我很早就录了,当时都还没阳。录制的过程中出现了一个问题,折腾很久才解决。所以中间必须补录一段,剪接拼贴,所以一直拖到现在。

    我在安装依赖的时候,按照习惯,使用 pnpm i vuepress@^2.0.0-beta.53,希望安装当时最新的 2.0.0-beta.53 版本,并且声明对后续版本的支持,只要大版本保持一致,可以接受小版本升级。

    但是实际安装的时候,不知道是什么原因,pnpm 给我装了一堆不合适的插件。(我怀疑跟 beta 有关),导致启动开发环境后白屏,报告一堆莫名其妙的错误。最后我把环境清空,从头开始配置,仔细看各种输出才猜出来。

    期间浪费了 40 分钟,我觉得直接放出来纯属浪费大家的时间,所以一直没有上传。前几天终于下定决心补录,并且处理了字幕,才最终上传。

    这则视频里介绍了:

    1. 使用 Vuepress 生成静态文档站
    2. 使用 GitHub Actions 执行特定的工作流程,在 master 更新后执行 pnpm run build
    3. 然后把生成的 dist 目录推送到新的分支,避免 /docs 污染代码仓库
    4. 利用域名 CNAME 突破科学上网的封锁,利用免费资源拥有自己的网站

    希望这段视频对大家有用。如果你有静态网站构建需求,或者想使用免费线上资源简历自己的网站,都可以学习这个视频。如果你有其它问题、意见、或建议,也欢迎评论留言。请看到的同学帮忙一键三连、完播、转发,谢谢。

  • 一起努力吧,2023

    一起努力吧,2023

    2019 年年底的时候,一毛不拔大师说,未来你们会怀念 2019 年,因为这会是未来十年中最好的一年。从后往前看,我觉得他说的有道理;同时,我也希望 2022 年,会是前后十年里,最惨的一年,实在实在很难顶。

    回顾 2022

    疫情进入到第三年,大家都觉得该有些变化了;大家猜对了开头,但是没有猜对结局。

    对于我而言,2022 其实还好。从金山离职之后,经过一番努力,还是拿到几个 offer,其中最好的是快看漫画。本来一切都谈好了,结果按照他们的薪资序列,给不到那么多的工资,offer 直接打了七折。我一时难以接受,加上 Danney 积极主动的招募,我就加入了 code.fun,继续为技术、为梦想拼搏。

    code.fun 的整体工作环境不错,可以全职远程工作,也有两个办公室。几个核心都是大龄程序员,有技术追求、有技术品味,大家沟通顺畅,目标统一,日常合作很愉快。

    另一方面,趁着年初没工作,我跟 Aw 老板合作了 mywordle.org 项目,凭借各种精心优化,我们得到了 Lighthouse 近乎满分的评价,继而在搜索中占据了很高的排名,收获了相当不错的自然流量。这个项目的成功,终于让我不再辛苦打白工。可惜这样的项目很难长久,没法做到真正的躺赚,要继续摸索下一个产品。

    下半年的时候,我报名了两场 hackathon,SF 组织的 Code for better _TiDB 的 Possibility at Scalable。前者出乎意料的获得了二等奖,实在让我喜出望外;后者则再次没做出想要的产品,惨遭淘汰。不过我也收获了不少新知,比如:Vercel serverless、NoCoDB 等,收获不小。

    技术总结

    Vue2

    code.fun 的前端产品主要基于 Vue2 + vue-property-decorator + TypeScript,后端服务器主要是 express + mongoose + TypeScript。今年从这里新学到了一些 mongoDB 和 TS 的知识。

    Vue3 + Vite + TailwindCSS+ DaisyUI

    今年的 Side Project 大部分使用这套工具栈,尤其是 Vite,尝试了很多新用法,学习了一些 esbuild、rollup、ESM 的知识。

    AirTable vs NoCoDB

    去年在金山留下不多的收获,就有 airtable。今年尝试用 airtable 作为数据源开发 JAMStack 产品,没有成功,它的收费樯就竖在羊毛党程序员的面前。

    下半年参加 TiDB Hackathon 的时候了解到 NoCoDB,以及 TiDB Cloud free tier(后改为 serverless 版),应该是 LeanCloud 外最适合薅的羊毛。

    Nuxt.js / Next.js / Vercel serverless

    今年学习到 Nuxt.js 和 Next.js 都有新发展,并且都可以适配 Vercel serverless 达到服务器端渲染和静态 Host 兼备的功能,感觉明年可以继续搞点事情。

    Shopify

    Shopify 提供非常好的主题开发环境,甚至可以拿来学习 React + Next,还能赚点小钱,值得学习。

    WebRTC

    没学会 WebRTC,失去了让 mywordle.org 多苟两个月的机会,是今年比较失败的地方。今年了解到 WebRTC 的基础,在跨网联机方面还没摸索出解法,来年要继续努力。

    PWA

    今年做的几个 Side Project 都以静态为主,所以 PWA 基本都是必备功能。应该说整体还是学到不少东西,可惜用药助手的定时通知没能完成,需要再摸索一下。

    生活方面

    社区健身房倒闭之后,我的体重稳步上升,从去年年底的 111kg,到年中的时候,已经上涨到 113.9kg,饮食上已经几乎没有缩减空间,医院体检报告却显示我四肢肌肉已经萎缩到低于平均值。于是,我一咬牙一跺脚,在新开的健身房办了卡,重新开始健身。

    没想到效果出乎意料的好,到染疫之前,我已经重回 105kg,而且这次是真的靠运动、科学饮食减下来的,让我重拾了强烈的信心。关于这次减肥经历,可以参考:聊聊减肥

    广州 12 月 1 日疫情解禁,本以为幸福生活就要来了,没想到马上迎来第一波冲击。月中的时候,全家依次病倒,然后缓慢恢复至今,都没有痊愈,每天还是要咳得 7、8 次。

    明天去开新卡,新的一年,还要继续减肥。

    知识分享

    全年写了 64 篇博客,具体内容就不在统计了,应该大部分都是技术分享。跟去年数字接近,不过应该上半年写的多,下半年主要都在做视频了。

    说到做视频,2022 年我在 B 站的成长很大。其实很意外,2021 年跳槽到金山之后,因为工作状态变化,我就停了直播和视频制作。今年也是一直犯懒,直到下半年,突然想说用 SFC Playground 教大家写个扫雷游戏吧,于是发了公告,然后直播,然后剪视频。没想到一下就火了——对于我而言。

    接下来的几个视频效果也很好,TailwindCSS 视频目前播放量 3k+,Web 渲染机制 1w+,聊私活的现在已经 2.2w 了。截止到目前粉丝数 1798,估计今年应该可以收关 1800。全年涨粉 1400,真是喜出望外。

    其它平台就没啥可说了,GitChat 处于关停边缘;知乎没做起来;慕课我们双方互相养鱼;思否感觉放弃了视频课程这条线;在行零星有几单。

    购物总结

    去年没出门,心理压力比较大,于是买了一些新设备解压,希望能用上 2、3 年:

    • Steam Deck——好东西
    • Zimaboard——最大的价值是了解和学会用 Jellyfin
    • Pico4——开始吃灰
    • SSD 若干
    • 内存 32Gx2
    • 1+ Ace Pro 手机
    • Insta360 Link 摄像头——好东西
    • Nuphy Air75——好东西,割爱给群里同学了
    • 显示器支架
    • 制冰机——去年买的最值的东西

    许愿 2023

    总结差不多了,整体来说,2022 年,收入尚可,生活受影响不大,目标完成了不少,算是比较满意的一年。接下来给新年许一些愿望吧:

    1. 继续锻炼,目标 100kg
    2. 把 side project 做起来:
      • 姆伊用药助手
      • 姆伊简历
    3. 争取做两个能挣钱的 side project
    4. 努力做视频,保证周更,目标 4k 粉
    5. 努力写博客,争取能提款
    6. 每天回答知乎/思否一个问题
    7. 除了思否、Hackathon,再至少参加 1、2 次开发者活动吧

    最后,又要找工作了……

    code.fun 最开始做的是低代码小程序,我并不看好。2021 年中开始转型,做设计稿 AI 转换代码。这个方向好很多,今年我加入的时候,还有很多问题,经过我们一整年的打磨、努力,到年底的时候,已经做得很好了,可以满足七八成的基础需求,可用性相当之高。

    可惜到年底,还没等我们具备自造血能力,就先被釜底抽了薪。于是我再次失业,又要重新找工作了。

    希望看到这篇总结的同学、大佬,多惦记着点我,能收留就收留,能引荐就引荐,提前感谢大家。

  • 新冠感染小记

    新冠感染小记

    我们一家住在广州,受疫情影响不大,也就在家假隔离过几天、小区不让外卖送上门之类的。12月1日放开后,本着有事不怕事,没事别惹事的原则,我们顺应国家政策,经常外出吃饭、购物,希望为本国经济作出力所能及的贡献。我们运气也不错,一直都没中招。

    周一,我们去宜家买了把新的办公椅。宜家送货 ¥140,不分远近,我家离宜家只有一公里,感觉很亏。于是我决定自己背回来。我就失策在这里。椅子含包装 23kg,不算太重,但是很大很难搬,我搬完就感觉不对,体内一阵阵发虚。睡了一觉也不见好,一测体温已经 37.5。

    接下来进入第一病程:发烧。我的温度不算太高,没超过 38.8,而且存在一些波动,偶尔会降到 37.8。我没有刻意降温、退烧或者捂汗,基本上根据日常经验确定自己不是真冷,就不管了。只是发烧伴随头昏,所以基本没法干活儿,于是前两天只能耍手机看视频。

    周三下午开始,我就不烧了,进入第二病程:咳嗽。然后了解了一下,发现厂里基本都倒下了……这个阶段就是频繁咳嗽,然后往往能咳出一大口浓痰。

    本以为自己恢复速度很快,没想到从周五开始,又出现新的上感症状:鼻塞。鼻塞会导致呼吸不畅,然后就不由自主用嘴呼吸,然后就很容易刺激咳嗽,很烦。

    自然,家里人也无法幸免。孩子周一晚上开始发烧,不过小朋友康复很快,周三就好了。老婆则是周三开始发烧,现在都还没完全退。

    我觉得目前这个环境,我们身边的病毒密度都相当高,没有安全区域。不过病毒也没那么大威力,可以无差别感染,还是要找到可乘之机。比如我这次搬东西累着,群里有些同学则是洗了个澡,等等。

    经验我就不分享了,其实也没啥经验。我甚至没怎么吃药,只在睡觉前吃一颗扑热息痛,以便安稳入睡。我们觉得最终大家都要感染一轮,无法避免,所以既然染病,那就好好养病,养好了好好工作、积极生活。

    状态不是很好,随便水一篇。七牛云越来越难用了,不知道是七牛云的问题还是 DNSPod 的问题,只好先切回 VPS。于是最近博客访问量跌得很难看。

    祝大家健健康康,Merry Christmas & Happy New Year。

  • 增加 Swap 解决 Sentry 频繁死机的问题

    增加 Swap 解决 Sentry 频繁死机的问题

    我厂 Code.fun 近期进步不小,产品力顺应民意,需求导向,收获了不错的效果。欢迎有大量页面需求的朋友联系试用。

    但是随之而来产生一个问题:Sentry 不定时死机。通过腾讯云的日志分析,死机前多半会有大量的 IO 读操作,除此之外也没找到别的信息。Sentry 跑在 docker compose 里,很多组件我都不熟悉,docker 里面调试的技能我也不会,除了 docker compose logs 看日志以外,我也没有更好的办法。所以问题一直没有定位到。

    于是,最近几周就变成要查问题 -> sentry 挂了 -> 重启 -> 又要查问题 -> sentry 又挂了 -> 又重启……这样的状态。中间我试着降低 Kafka 的定时清理频率,也没有收到效果。

    后来有一天我挂着 ServerCat 看服务器状态,突然发现 Sentry 的内存好高,在 95%~98% 之间摇摆。我想起来默认的 ubuntu 好像没有配置虚拟内存,那么如果内存满了,会不会就死了呢?虽然想不到和磁盘 IO 有什么关系,不过我决定试一试。

    还好我之前搞 Sentry 磁盘优化比较成功,现在 80G 的硬盘占用基本稳定在 40G~50G 之间,有 30G 左右的富余,可以用作 swap。

    首先,使用 sudo swapon --show 查看已经挂在的 swap,果然为空。

    接着,创建一个 5G 的 swap 文件(我记得我用的不是这个命令,但是现在只能搜到这个,我周末再试一下):

    sudo fallocate -l 5G /swapfile

    改变它的权限为 600,仅供系统使用:

    sudo chmod 600 /swapfile

    将其配置为 swap:

    sudo mkswap /swapfile

    启动为 swap

    sudo swapon /swapfile

    再次使用 sudo swapon --show 即可查看使用情况:

    NAME       TYPE SIZE USED PRIO
    /swapfile1 file   5G 2.1G   -2

    配置 swap 之后几次查看,内存用量逐步降低到 80% 附近,swap 可以用满。但是死机的情况彻底消失,基本可以断定是内存的问题。之前买服务器的时候,可着最低系统要求,4C8G,看来生产环境用起来的确不太够。群里有同学还说可以偷偷改最低要求的配置,在更小的服务器上安装,那就真的只能是自己开发试着玩了。

    准备周日上午趁着人最少的时候再把 swap 调大到 8G,应该足够未来一段时间的使用。不知道将来人更多的时候会不会更挤,看来有必要把大家的取样率都下降到 2%。说不定将来都用 Sentry SaaS 会更经济呢,欢迎有经验的同学来分享。

    希望上面的内容对大家有帮助。如果你遇到其它使用 Sentry 的问题,不妨发出来,我们一起讨论,共同学习。

  • B 站粉丝破 1000!

    B 站粉丝破 1000!

    早上起来,打开 B 站后台,喔耶,粉丝数终于突破 1000 了!

    其实今年拿到这个成绩蛮意外的。去年离开 OpenResty 加入金山,今年又加入 Code.fun,工作环境和工作内容变动很大,直播和录像其实都搁置了。本来就兴趣使然,结果别说挣钱,掏钱请人看都没人来,自然我就慢慢懈怠了。刚才看了一眼,今年第一次上传视频正是 9 月 18 日,也就是扫雷游戏那一期

    做扫雷游戏的初衷其实很早就有。一方面我很喜欢玩这个游戏,另一方面我觉得从内容复杂度来说,也很适合做成教程。再加上 vite、vue3 等一大票新技术可以分享,于是大半年东一榔头西一棒锤之后,我想再好好做一次教程。

    没想到得到自己的第一个小爆款,不知道被哪路神仙推荐了,观看人数暴涨,一下收获了 300+ 粉。虽然后面几期又恢复到正常的小几百观看人数,但是我的热情毫无疑问被调动起来。

    接下来我又开始把直播和录像当成一件事情在做,每周都播两三次。直到新一个爆款出现:从浏览器渲染机制理解 Web 性能。这个视频给我带来了 5k 播放,以及 800+ 收藏,我觉得后者对视频帮助很大。

    如何正确使用 TailwindCSS 也挺好的,将近 3k 的播放,38 条评论,算是我互动最好的视频了。

    总之吧,挺开心的,本来都想放弃了,没想到能在新的一年里有如此收获。希望来年再接再厉,一方面做自己感兴趣的内容,一方面做对大家有帮助的内容。分享的感觉特别好。

  • 【视频】从浏览器渲染机制理解 Web 性能

    【视频】从浏览器渲染机制理解 Web 性能

    群里有同学问:

    如何优化网页性能?比如做了个网页,觉得打开速度比较慢,该怎么优化?

    这是个好问题,也是个很难回答的问题,因为涉及到的内容很多,一句两句说不清楚。所以我特地做了这个视频,详细讲解浏览器渲染的每一步,有哪些影响因素,以及我们可以针对性采取什么样的优化策略。

    开始觉得可能要做 10+p 幻灯片,讲个 10+ 分钟;结果幻灯片做了 29p,讲了 40+ 分钟。自荐给大家,希望大家认真观看,能够在日后面对网页初始加载优化时,能够游刃有余。

    从中我们也可以找到那道经典面试题:“当我们输入 URL,然后按下回车之后,都会发生什么”的答案。可谓一举两得。

    视频用到的 slidev 放在这里:

    当然,时间有限,能力有限,这个视频只关注 web 前端及部分 web 全栈的内容,以及我们力有所及能够优化的部分,可能有些内容没有覆盖到。所以,如果你有疑问、或者觉得有问题,请留言。我很乐意跟大家讨论这些问题,也很希望能给视频打补丁。

    如果你觉得我做得不错,也请给我一键三连,转发给更多需要的人。提前感谢支持。

  • 聊聊减肥

    聊聊减肥

    最近几年比较懒,博客上基本都是技术分享,很少聊生活相关。因为技术分享有人看,但中年胖子的日常说实话我自己都不想看。不过最近有一些变化,我的体重终于在自己的努力下,降至 105kg 附近,所以今天想聊聊减肥。

    2020 年的时候,糖尿病复发,开始打利拉鲁肽,于是食量大减,办了小区健身房的卡,每天半小时有氧+4×3随机力量(哪台机器没人就练哪台),体重慢慢下降,到年底稳定在 106~108 之间。

    2021 年,疫情反复,小区健身房终于扛不住,破产清算,于是我好不容易形成的健身习惯就泡汤了。虽然也在家里健身环+Just Dance,但总归运动量有限。我的体重也满满增加,到年底已经涨回 111。

    今天情况也不好。在利拉鲁肽的影响之下,我的胃口已经很小了,跟我老婆接近,比 9 岁的儿子还小。每天上班,遛狗两次,按说消耗也不算低,但是体重仍然稳步上涨,直到 113.9。

    后来去医院查身体构成,发现肌肉量降得很厉害,四肢骨骼肌已经降到正常偏下,难怪不吃不喝还会变胖。此时正好小区旁边新开了一家健身房,于是我决定:

    1. 进行力量训练,增肌
    2. 看看减重门诊,看看医生有没有什么好建议

    新健身房专营私教,课巨贵,次卡 300/节,办年卡 1w4。先把美团羊毛薅完,接着犹豫再三之后,我选择办了张 30 次卡开始训练。必须得说,贵是贵了点,但是物有所值。

    1. 教练很专业,排课循序渐进,而且刚好卡着我的极限,虽然每次都练得死去活来,但是身体状态提升很快。
    2. 因为全私教,所以不需要抢器械,也不需要排队,效率很高。
    3. 教练帮忙纠正了我的一些不规范动作,避免受伤和运动损害。
    4. 虽然我自恃当过运动员,“哥们儿练过”,但其实 20 年过去,我的身体条件发生了巨大变化,当年的经验很多时候只是负担,必须重新学习、重新摸索,有教练在,大大缩短了这一过程。

    总之,在教练帮助下,我的身体状态恢复很快,各方面力量纬度都在快速提升,体脂肉眼可见的下降。

    另一方面,我去医院减重门诊看了几次。体验不太好,减重门诊的大夫是个干瘦老头,非常目标导向,他建议我练完健身连一个茶叶蛋都不要吃,原话是:“你一天少吃一个鸡蛋,就少长半两。不要小看半两,一年就是 18 斤,两年你体重就降到 100kg 以下了……“

    熟悉我的人都知道,我的低血糖反应很严重,各种不舒服。而且吃太少也很影响训练效果,所以我擅自调整了药量,配合训练。不过我也得到好几个有价值的信息:

    1. 利拉鲁肽最多可以打 3ml,我每天 1.5ml 其实量偏小
    2. 二甲双胍我应该每次吃 0.5mg,我现在吃少了

    所以我现在的安排是:

    1. 每周二、四晚上训练,偶尔周六加练
    2. 周一开始,到周四,算训练时间,利拉鲁肽打 1.2ml;周五到周日,打 1.8ml
    3. 训练的晚上,二甲双胍吃 0.25mg
    4. 每周休息 1~2 天,没有力量练习的时间,用 jo姐 的踏步操进行有氧训练

    我从 8 月回来广州,慢慢摸索慢慢坚持,体重逐步下降,现在基本能稳定在 105kg。乐观估计到年底应该可以下探到 104kg。

    在利拉鲁肽的控制下,我日常食欲很低,虽然还是爱吃,但是吃的很少,很容易饱。健身期间也不再优先吃蔬菜,会尽量吃优质蛋白质。

    无糖饮料对血糖的影响很小,所以可以放心喝,不过也不建议多喝,能喝白开水最好,其次是淡茶水。但是无糖不等于无热量,比如奶茶、拿铁咖啡,因为含有很多奶,所以热量也不小,尽量少喝。

    同时,甜味感和热量也没有必然联系。水果中的西瓜,因为含水量巨高,所以大体上可以放心吃,血糖影响和实际热量都不大——因为你通常吃不了那么多。但是香蕉的热量就很高,枣也很高,常被当作减肥食物的牛油果也很高,能不吃尽量不要吃。

    我们的骨骼肌无法产生热量,而且在日常活动中会消耗很多热量,所以通过力量练习提升骨骼肌,增加基础代谢是非常好的减肥手段。相比于难以测算的日常有氧,力量练习对减重帮助更大。

    其实我最初的目标没这么高,原想着能稳到 110 以下就可以。所以现在非常满意,准备续卡。也分享出来,供其他有减肥需要的同学参考。

  • 【视频】如何正确使用 TailwindCSS

    【视频】如何正确使用 TailwindCSS

    TailwindCSS 是一个争议很大的样式库。

    他封装了大量原子化的样式,比如 w-4,表示 width: 1remtext-gray-500,表示字体颜色为灰色500。如果我们某个节点同时需要两个样式,就是 class="w-4 text-gray-500"。极端一点的例子是这样子的:

    很明显,大家的争议点在于:

    1. 这么细碎的样式,我为什么不自己写?灵活性还高一些。
    2. 这么写跟 inline style 有什么区别?
    3. 开发一时爽,维护火葬场。

    基本上,发出这些疑问的都是前端。包括我,最初也是这样的想法。但是有一天,我要维护一个老项目,大部分组件都是现成的——引用自某个组件库,或者团队已经写好,只需要调整布局,我发现 TailwindCSS 简直是神器,太方便了。

    于是,当我反复看到大家争论该不该用 TailwindCSS 后,决定做一期视频,表达一下自己的态度:

    1. 我们做技术,要避免对一项技术做非黑即白的判断,更不应该轻易否定一项技术。同时,使用技术 A 并不代表就要拒绝技术 B。
    2. 具体到 TailwindCSS 上,使用它不代表我们从头到尾就要只能用 TailwindCSS;使用其它前端框架也不要求我们绝对不能使用 TailwindCSS。
    3. 所以正确的做法是,我们应该使用 TailwindCSS。
    4. 项目启动时,使用比较完整全面的前端框架,比如 Element UI、AntDesign,或者基于 TailwindCSS 打造的 DaisyUI;然后辅以 TailwindCSS。这样就可以同时照顾开发效率与维护效率,收获最佳效果。

    除了并不会降低开发效率之外,TailwindCSS 还有以下优势:

    1. 它跟内联样式有很大的区别,它的优先级很低,意味着我们也可以很容易覆盖、调整。
    2. TailwindCSS 样子很好看,直接能画出漂亮的界面。
    3. 基于 TailwindCSS 的代码分享很容易,只要复制粘贴 html 即可,在前端工程化日趋复杂的今天,简直是一股清流。
    4. 因为文档组织得更好,后端和其它领域的开发者也很喜欢使用 TailwindCSS 替代手写样式。

    所以无论如何,我都推荐所有团队所有开发者使用 TailwindCSS。当然,用其它原子化样式框架,比如 UnoCSS 也可以。

    如果你有其它意见和建议,欢迎提出讨论。如果你有 B 站账号,恳请三连+关注+转发,感谢。