Some changes made in life in 2023
不熬夜,晚上 10 点左右睡觉,一般早上 6 点左右就醒
使用 GitHub Action 自动部署 Hexo
macOS 前端开发环境配置
切换 Shell 默认为 zsh
1 | chsh -s /bin/zsh |
安装 Homebrew
Homebrew 官方安装教程
1 | ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
国内安装 Homebrew
安装:
1 | /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" |
卸载脚本:
1 | /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh)" |
webpack 学习笔记
发表于
更新于
webpack 是什么?
它是一个模块打包工具
Loader 是什么?
webpack 不能识别 JavaScript 之外的文件,需要 loader 对它时行识别
file-loader
file-loader 就是在 JavaScript 代码里 import/require 一个文件时,会将该文件生成到输出目录,并且在 JavaScript 代码里返回该文件的地址。
1 | module.exports = { |
ffmpegGUI 开发笔记
如何开启硬件加速
注意: 在开启硬件加速时,转码的速度虽然快了,但视频质量会出现大幅下滑,目前解决办法只能通过设置高码率来解决,目前我的做法是在原码率的基础上提高 1.5 倍,基本能保证视频质量,但体积也会增加 1.5 倍(如果有更好的方法请告诉我)
以我这个项目为例,首先通过执行 ffmpeg -hwaccels
来获取当前机器支持哪些硬件加速的方法,不同的平台开启硬件加速的方法不一样
查看机器支持的硬件加速的方法:
1 | // node子进程的方式 |
1 | // 原生ffmpeg的方式 |
记 React 中一次复用与封装
前提
最近发现自己一直在写很多重复性的代码,比例公司的某个项目的搜索栏有很多的下拉选择器,而我的做法是不停的初始化store、配置api、引入select组件、配置select组件,这还只是其中一个下拉选择器,如果有多个就觉得这么写是不是很傻,所以最近一直在考虑如果优化。
当重复性的工作过多的时候,就应该考虑自己的代码写的是不是有问题。
封装:把客观事物封装成抽象的类,隐藏属性和方法的实现细节,仅对外公开接口。
初步想法是减少重复性的工作,而目前我能想到的解法方法有几个:
- 用 class 抽象成一个公共的组件(这种最简单也最实用)
- 用 HOC(高阶组件)抽象成一个公共的组件
- 用 Render Props (函数子组件 FaCC)抽象成一个公共的组件
React Router v4 Auth 例子解读
1 | import React from "react"; |