2023个人年度总结
时光如梭,2023年在不经意间就到了尾声,随着2023年的落幕,我坐在电脑前,回顾过去一年的旅程。对我来说,这不仅仅是时间的流逝,更是一个充满挑战与成长的年份。在这一年里,我经历了工作的变动,学习了新技能,也在个人层面上取得了不少进步,这篇文章权当对过去一年的记录。
时光如梭,2023年在不经意间就到了尾声,随着2023年的落幕,我坐在电脑前,回顾过去一年的旅程。对我来说,这不仅仅是时间的流逝,更是一个充满挑战与成长的年份。在这一年里,我经历了工作的变动,学习了新技能,也在个人层面上取得了不少进步,这篇文章权当对过去一年的记录。
在开发人生进度表期间,我遇到了一个有趣且富有教育意义的前端开发问题。这个项目需要在一个格子下同时显示多个里程碑,比如使用不同的颜色来区分不同的内容。2个颜色呈现上下分布,而4个颜色则形成四宫格,如下图所示:
自从在Mac上换了一次sshkey,而且是带passphrase的,每次git操作都会提示要我输入密码,特别麻烦,于是在google上一阵搜索,找到一个解决方案。在.zshrc文件最开头输入
1 | ssh-add --apple-use-keychain |
这样只会在第一次命令时要求输入密码,之后都不需要输入密码了。
周末没事干,正好被网上一个点子启发,做了个人生进度可视化的网页,网页功能比较简单,就是把每一天通过一个小格子显示在网页上,不同的阶段显示不同的颜色,同时也能切换时间单位。
最近有个项目是用nest.js作为后端框架,数据库是mongodb,ORM框架选择了目前nest.js圈最流行的prisma。项目本身很简单,在本地开发调试的时候出现了一个问题。
当我调用prismaService.save()
时,报错Transactions are not supported by this deployment,大意是mongodb的事务操作要求必须有replica,即使是在本地开发。
搜索之后找到一个issue,找到一个配置本地docker mongodb的replica参数
1 | 1 - start a mongo container |
配置完再执行事务就没问题了。
最近在重构Notion Converter插件的整体UI和功能,其中有个重构场景是当点击插件图标时,根据所在页面不同,行为也有所区别。如果在notion页面点击,弹出插件主题。如果在其他页面点击,弹出popup。
根据chrome插件文档说明,如果在manifest.json里配置了default_popup
,那么popup点击事件就不会发送了。于是思路便是不设置default_popup
,同时监听插件点击事件,获取当前tab的url,如果是在notion页面,发送消息通知content_script.js
最近在做一个编辑器项目,因为打算做跨平台应用,于是技术方案使用了electron,同时希望用React做渲染层,于是使用了https://github.com/electron-react-boilerplate/electron-react-boilerplate作为脚手架。在开发过程中遇到一些需要调用Node.js api的场景,比如读写文件,与子进程交互。
一开始尝试直接在React层写fs.readdir
,发现会报错需要webpack5的polyfill。于是尝试搜索electron nodejs webpack polyfill,发现出来的结果都需要很复杂的配置,于是我尝试在脚手架仓库issue里搜索相关问题,还真找到一个相近的讨论,具体可以点这里查看,总结如下:
最近接到一个需求,客户想要用vaadin(一个用Java构建web的框架)构建一个页面,然后接入picovoice,客户想要一个demo,能支持在网页上语音唤醒,音频识别,意图分析。
最近安装了最新版本的google chrome浏览器后,运行后发现设置里的proxy选项没有了,于是就导致无法登录google账号,且无法科学上网。经过搜索后发现,在Arch Linux | Manjaro下,想要设置google chrome的代理,需要通过/opt/google/chrome/chrome --proxy-server="[http://127.0.0.1:7890](http://127.0.0.1:7890/)"
启动后,才能正常科学上网。MacOS下的chrome目前没有这个问题。