# Wxh16144 > Wuxh,前端工程师,Ant Design 贡献者(Top 20)与 UmiJS 团队成员。丰富的多端开发经验:Electron 桌面应用、H5、小程序、PC。这里记录工程实践与开源路上的笔记。 ## Pages - [About](https://wxhboy.cn/about.md): 个人简介:技术栈、开源贡献、联系方式 - [Notes](https://wxhboy.cn/notes.md): 按时间倒序的速记流水,含 Git / macOS / 编辑器等零散技巧 - [Bookmarks](https://wxhboy.cn/bookmarks.md): 设计与体验优秀的网站、工具合集 ## Posts ### 2099 - [有助于更好的理解 React 的文章 (持续更新)](https://wxhboy.cn/react-notes.md): 列举我平时读过的一些文章,帮助更好的理解 React 的一些概念。 (顺序由新到旧) - [TS的一些特殊示例 (持续更新)](https://wxhboy.cn/typescript-patterns.md): 该文章记录一些平时工作中一些特殊场景类型推导, 归纳总结一下。 - [常用文档 (持续更新)](https://wxhboy.cn/dev-resources.md): 记录自己比较常用的一些文档连接 ### 2026 - [用 AI 搓了一套简单的 hexo 个人博客主题](https://wxhboy.cn/rewrite-blog-theme.md): 换掉 hexo-theme-next,用 AI 搓了一套简单的 hexo 个人博客主题。 ### 2025 - [两台 MAC 数据同步方案](https://wxhboy.cn/mac-data-sync.md): 最近购入了一台 Mac mini,放在家里写写代码用。之前的 MacBook Pro 主要是用来公司工作和出差使用。两台 Mac 的数据同步一直是个问题。 介绍今天的方案,主要是基于 SSH 和 rs - [从我觉得可以到社区说不行 antd 贡献踩坑过程](https://wxhboy.cn/antd-contribution.md): 主要是记录一下自己在 antd 参与贡献过程中遇到的一些问题和解决方案,顺便给自己留个纪念。 - [一个奇淫技巧实现短网址](https://wxhboy.cn/github-short-urls.md): 这个方案只是出于学习和分享的目的,肯定是不建议在生产环境中使用的。并且不是最优的方案,只是一个简单的实现。 ### 2024 - [Ant Design 自定义组件空状态速记](https://wxhboy.cn/antd-empty-state.md): 最近在 antd 社区看到一个关于 Table fitler 查询条件下拉框的空状态有关 PR 发现 antd 的很多逻辑并没有在文档详细说明,索性写一个速记笔记方便自己日后 CV。 - [前端一些包总是需要依赖python](https://wxhboy.cn/frontend-python-deps.md): 如题,安装 npm 包时,经常需要宿主环境存在 python 经常遇到问题,罪魁祸首就是 node-gyp 写一个笔记记录一下平时解决的解决方案… - [antd 快捷键录制组件来了(社区版)](https://wxhboy.cn/antd-hotkey-recorder.md): 一切始于公司 Electron 项目对用户自定义快捷键功能的需求。 - [Ant Design 版本控,更新日志清爽利器](https://wxhboy.cn/antd-changelog.md): 我又来活跃账号了,这次分享一个我自己写的油猴脚本。 ### 2023 - [备份和分享你的 MacOS 应用程序配置文件](https://wxhboy.cn/macos-app-settings.md): 在2022年,我购买了一台MBP,并开始关注各位开源社区的大佬们分享的各种配置方法。我从中选取了一些适合自己的配置。 - [我觉得 antd 模态框不好用,所以选择了二开](https://wxhboy.cn/antd-modal.md): 2022 年我从 Vue 切换到 React 开发,在这过去的一年多时间,我待过 2 个团队,毫无意外的都是 React + Ant Design。我相信这是国内绝大多数团队都有使用过的 UI 框架。 - [你好,GitHub Actions](https://wxhboy.cn/github-actions.md): 很荣幸加入 Ant Design 团队成为社区成员。 antd 博客搬运,原文地址:你好,GitHub Actions - Ant Design blog’s ### 2022 - [给antd贡献github-action-workflow](https://wxhboy.cn/antd-github-actions.md): 之前自己的项目一直都有在用 Github Action, 比如我的 my-blog 仓库就有在用。 最近一段时间活跃在 Ant Design 社区, 看到偏右大佬创建了一个 issus #39303, - [使用FFmpeg拼接两个视频](https://wxhboy.cn/ffmpeg-merge-videos.md): 有些视频经常进行分段发布,尤其是某些短视频。最近在学习 React 性能优化,视频主进行了上、下两个章节进行讲解。 为了更好的学习,我把视频下载本地,进行学习交流。之前倒腾过 FFmpeg,今天小记一 - [Linux 命令之 grep xargs awk](https://wxhboy.cn/linux-text-tools.md): 使用了很久的 MacOS 系统,越来越依赖终端了,关于很多 Linux 命可以直接阅读 菜鸟教程-Linux 命令大全,本文记录一下我自己使用比较高频的命令; - [使用ohmyposh美化终端](https://wxhboy.cn/oh-my-posh.md): 之前一直使用 iterm2 + zsh 配置的终端和主题,今天折腾了一下 Oh My Posh。记录一下 - [解决SourceTree提交时候husky命令失败问题](https://wxhboy.cn/sourcetree-husky.md): 团队项目中使用了 husky 进行 code lint, 使用 terminal 执行 git commit 时一切正常。 但是使用 sourcetree 使用 GUI 进行提交就如图错误 - [使用.gitconfig配置多用户需求](https://wxhboy.cn/git-identities.md): ~/.gitconfig 配置用来存储用户相关的配置,当执行 Git 相关操作时,依次读取 .git/config > ~/.gitconfig - [分享一个关于我自己的命令行工具](https://wxhboy.cn/personal-cli.md): 是干嘛的本质就是使用 consloe.log 在控制台输出关于我的个人社交账号链接。比如 github, zhihu, weibo, twitter…通过命令行得到想要的输出。将其封装为工具,或许以后 - [记一笔Vue v-bind的一些语法糖](https://wxhboy.cn/vue-v-bind.md): 今天偶然看到 Vue3 的一个 issues#5462 大概意思是设置 DOM 属性 translate 为字符串 "no" 时不符合预期。Vue 核心成员给出的解决方案是使用 & - [写一个简单的CLI](https://wxhboy.cn/simple-cli.md): zipjson 这个 CLI 就是使用 JSON.stringify(code, null, 0) 方法把 .json 文件压缩成一行。 完… ### 2021 - [解决群晖此系统的可用硬盘空间不足问题](https://wxhboy.cn/synology-disk-space.md): 今天又去套件中心安装套件,发现系统又提醒我空间不足问题,之前没在意,今天遇到了着手解决下。 - [使用 rsync 增量备份远端文件](https://wxhboy.cn/rsync-backups.md): 记录一下使用 rsync 进行文件增量备份,把 nas 上的 docker 挂载的文件同步到本地计算机进行一个备份 - [Docker 创建 npm 私服](https://wxhboy.cn/docker-npm-registry.md):  记录一下如何使用 Docker 和 verdaccio 部署 NPM 私服。 - [Docker 创建 gitlab ce 服务](https://wxhboy.cn/docker-gitlab.md): 去年使用自己的 NAS 安装了 gitlab-ce 服务, 有些细节总是隐隐约约的, 用文章总结记录一下, 方便以后查阅。 之前使用 docker run 进行安装, 每次启动或者重新安装都需手动输入 - [记录一下npm源的一些配置](https://wxhboy.cn/npm-registries.md): 对于设置 npm 源的内容网上已经有很多了, 这次主要记录一下对于多个私有源地址如何进行设置。 偶然在群里看到某个朋友说到, 他的项目中依赖了多个私有包, 每次删除 node_modules 后需要设 - [使用config文件来维护SSH密钥](https://wxhboy.cn/ssh-config.md): 记录一次如何管理多个 SSH 密钥, GitHub 多个账号多个密钥如何区分管理问题。 - [记录一次迁移Docker挂载目录](https://wxhboy.cn/docker-volume-migration.md): 把原先在 Mac 上用 Docker 运行的 Jenkins 服务,迁移到 NAS 上用 Docker 运行。 - [Windows10 VSCode SSH Remote 过程试图写入的管道不存在解决方案](https://wxhboy.cn/vscode-ssh-pipe-error.md): 在家里搭建了 NAS 为了直接在远端快速编辑配置文件,于是想到 VSCode SSH Remote 开发 ### 2020 - [记录Git别名的一些玩法](https://wxhboy.cn/git-aliases.md): 个人还是经常使用 SourceTree 工具进行 Git 管理, 其次是 VsCode Git Graph 插件, 嗷~ 在其次就是命令行工具了. ### 2019 - [手写防抖和节流](https://wxhboy.cn/debounce-throttle.md): 记录手写防抖和节流 - [JS宏任务和微任务](https://wxhboy.cn/js-tasks.md): JS 事件循环机制之宏任务/微任务; - [装饰者模式之AOP实现"中间件模式"](https://wxhboy.cn/aop-middleware.md): 装饰者模式的定义: 在不改变对象自身的基础上, 在程序运行期间给对象动态地添加方法. - [用CSS3渐变背景实现进度条](https://wxhboy.cn/css-gradient-progress.md): 在开发中, 时不时会遇到写进度条的功能, 比如投票比例, 视频播放进度, 文件上传进度… - [用Vue.extend写一个全局使用的Alert](https://wxhboy.cn/vue-global-alert.md): 由于项目中经常会用到 alert 这种组件,平常都是全局注册标签,使用时引入,比较繁琐; - [在CentOS7安装PHP并配置Nginx](https://wxhboy.cn/centos-php-nginx.md): Windows server 翻车后,我就安装了 CentOS7,为了之前的某些 php 项目可以跑起来,我不得不去安装 php 环境和配置一些文件; - [node-js获取本机ip](https://wxhboy.cn/node-local-ip.md): 使用 node.js 获取本地 IPv4 地址 - [元素固定宽度文本不换行并且全部展示](https://wxhboy.cn/single-line-text.md): 前几天遇到一个需求, 用户名过长的时, 不允许换行使其文本全部显示在一行框内; - [仿微信关键字触发表情包动画效果](https://wxhboy.cn/wechat-emoji-animation.md): ❤521到了, 码农翻身;模仿微信聊天发送关键字 么么哒 触发表情包雨😘的效果; - [create.js使用分享](https://wxhboy.cn/create-js.md): 使用 create.js 包的时, 在浏览器直接使用会报错 - [node.js 获取控制台中命令行参数](https://wxhboy.cn/node-cli-args.md): postcss style.css -r viewportWidth=750; 如何获取到 viewportWidth=750 这个参数呢 ### 2018 - [new Date 使用需要注意的地方](https://wxhboy.cn/js-date-pitfalls.md): 使用 new Date() 方法时在测试的时候可能没有问题;可是在真机运行的时候就会出现 NAN - [NPM PLUGIN vue-photo-preview](https://wxhboy.cn/vue-photo-preview.md): 在开发项目过程中,遇到一个需求,能不能像微信朋友圈图片一样点击查看原图,并且放大查看 百度了解了一下 诸如此类的插件有 vue-photo-preview 、PhotoSwipe.js 、PinchZ - [Json生成Excel文件并下载到本地](https://wxhboy.cn/vue-json-excel.md): 项目中后端返回JSON数据,我们前端需要生成Excel文件并保存 - [关于IOS一系列适配问题](https://wxhboy.cn/ios-web-fixes.md): 总结与归纳在开发过程中遇到的IOS问题 - [使用 Swiper.js 在 iOS < 11 时出现错误](https://wxhboy.cn/swiper-ios-10.md): 使用 Swiper.js 在 iOS < 11 时出现下列错误SyntaxError: Unexpected keyword ‘const’. Const declarations are no - [解决微信H5在IOS中无法自动播放音乐问题](https://wxhboy.cn/wechat-ios-audio.md): 记录在开发微信公众号 h5 时,遇到 ios 设备无法自动播放音乐问题 - [H5竖屏提示](https://wxhboy.cn/landscape-prompt.md): 在做 h5 展示页面的时候 考虑到许多 css 样式在横屏会出现布局错乱, 为防止提示用户横屏显示 - [node-socket.io](https://wxhboy.cn/node-socket-io.md): 一个 node.js + socket.io 示例 - [Hello Hexo](https://wxhboy.cn/hello-hexo.md): 初次见面,请多关照 ## Find me - [github](https://github.com/wxh16144) - [twitter](https://twitter.com/wxh16144) - [x](https://x.com/wxh16144) - [weibo](https://weibo.com/wxh16144) - [zhihu](https://zhihu.com/people/wxh16144) - [telegram](https://t.me/wxh16144) - [blog](https://wxh16144.github.io) - [email](mailto:wxh16144@qq.com) - [dev](https://dev.to/wxh16144) - [npm](https://npmjs.com/~wxh16144) - [docker](https://hub.docker.com/u/wxh16144) - [v2ex](https://v2ex.com/member/wxh16144) - [wakatime](https://wakatime.com/@wxh16144) - [strava](https://strava.com/athletes/wxh16144) - [steam](https://steamcommunity.com/id/wxh16144)