Saber2pr's Blog
视觉设计
线性渐变色:
#0184FE -> #02B1FF #FFAE00 -> #FFFF00
浏览器基础
从输入URL到页面渲染
页面回流与重绘
页面渲染原理
PWA离线应用
浏览器内核
MacOS相关
启用任何来源
DS_Store文件
查看CPU架构
清理磁盘占用
练习
来测试一下?
Echarts
图表实例初始化和更新逻辑
公共配置项
HTML超文本标记语言
可编辑区域
列表
常用meta和link标签
Iframe
表单输入
移动端禁用双指放大
表格
前端构建工具
包管理器
yarn配置文件
npm常用命令
Babel
安装
Docker
docker项目更新
前端项目docker部署
WSL内存占用过高解决
一键清理none镜像
清理overlay2
ubuntu安装docker
在docker镜像中安装docker
构建指定平台镜像
k8s基本概念
拷贝镜像文件到本地
WSL数据迁移
查看后台日志
docker容器使用宿主http代理
CI环境docker镜像拉取次数限制
Webpack
webpack之loader和plugin
真机(远程)调试
关闭dev-server的log
接入jsdelivr
Plugin
Banner plugin
热更新watchOptions
webpack缓存原理
cra构建工具react-scripts
Terser
terser快捷压缩命令
阿里oss
在nodejs上使用ossApi
Nginx
nginx日志
使用nginx部署nextjs
使用nginx来升级HTTPS
nginx安装和常用命令
nginx目录结构
Golang基础
golang快速上手
浏览器API
pageX,pageY,offsetX,offsetY,clientX,clientY,x,y,screenX,screenY区别
DOM对象继承体系
clientHeight与scrollHeight区别
Document element
offset、client、scroll区别
移动端获取clientXY
Request animation frame
requestIdleCallback方法
navigator对象
Mutation observer
HTTP协议
HTTP缓存机制
基本概念
为服务器配置HTTPS
HTTP跨域之OPTIONS请求
HTTP加密
网络基础
github访问超时优化
ipv4
Nest js
nestjs断点调试
定时
参数字段过滤器
entity设计规范
类加载关系及异常定位
使用nowsh-serverless部署nestjs
Wordpress
数据库连接问题
数据库
Mysql
在512MB服务上运行mysql8
使用docker安装mysql
常用命令
Mongodb
Nodejs操作mongodb
添加数据库管理员
mongodb增删査改
随便写点儿?
查看npm包版本兼容
vim列编辑
一些让人抓狂的
文件中转站
提效方法论
泰拉瑞亚发展路线
行动踪迹
收藏网址
关于前端复用性
副业:创业的起点
项目规范
每日总结
障
popmotion库的坑
moment注意
双系统使用原则
记录一次bug:nextjs同构环境下的环境变量
正则匹配结果伪数组解构报错
echarts之zrender的clone函数问题
如果是我面试别人
记录一次bug:js整数溢出
Html2canvas
ios兼容
浏览器打印dom节点
Reflect反射原理
依赖注入(IOC)实现
reflect-metadata实现及其原理
reflect-metadata中HashMap巨大Object的读取速度优化
实现一个基于IOC的HttpServer框架
实现一个基于IOC的HttpServer框架(下)
实现一个基于IOC的HttpServer框架(上)
微信小程序
webview小程序基本架构设计
webview调试方法
webview小程序解决方案
公众号H5登录
loginCode和加密向量
小程序审核注意项
webview小程序3种登录方案
获取url参数
返回前刷新上一个页面
view、text和block
React常用组件
图片预占位组件
ErrorBoundary异常处理组件
图片hover组件
懒加载组件
React组件编写建议
读取一次即销毁的refValue
Async Hook组件
利用vsc-styled插件来写内联样式
复制剪贴板hook
Event Hook组件
验证码发送计时组件
下拉菜单
React-Hooks
Use input history
useI18N
Use form modal
Use modal
Use echarts
Use timer
Use async
Use copy
Use interval
Use derived state from props
Use progress
Use set partical state
Use load script
Use router
Use intersection
Javascript基础
偏函数与柯理化
矩形相交
组合子
保存文件到本地
解决Promise竞态问题
随机颜色
ES7,ES8,ES9,ES10新特性
Classnames
封装一个ajax
Canvas
rgba与hex转换
ImageData操作
canvas路径绘制
打印到图片
rem布局原理
is常用判断
拖拽排序
es7
async-await原理
监听拖拽
文件读取与文件拖拽上传
去除文档中nbsp
返回网页顶部
获取元素距离文档顶部的距离
深拷贝
简单算法(需求)
双向绑定
判断页面滚动到底部(React)
原型链
进入视口范围检测
发布订阅
数组克隆-数组 ES6 API实现
上传和发送图片
获取文件夹名
vdom渲染
bind call apply和原理
剪贴板操作
chatgpt最大输入token限制截取
作用域和闭包
localStorage缓存
Try async
可迭代对象(iterable)
iframe心跳检测
es6
promise原理
节流防抖
HTML特殊字符转义
判断是不是移动端
实现URL参数parser
Join
JSONP跨域
监听组合键
类和继承
常用工具函数包
滚动到顶部
图片转base64
fiber遍历
事件捕获冒泡
文件下载
Redux状态管理
Compose
Create store
nextListener的双缓冲技术
Combine reducers
redux思想
Bind action creators
redux-thunk
Apply middleware
Github-API
使用Action自动化发布Pages
github鉴权
使用Action自动化发布Docker镜像
使用github-issue api做评论系统
使用github-action发布npm包
RestFul-v3
Kubernetes
运行第一个docker实例
Haskell基础
函数式编程基本概念
搭建haskell环境
Haskell与JS
函数式设计
Typescript基础
Typescript类型运算
axios拦截器类型
使用ts-compiler来遍历AST处理你的代码
远程kv缓存优化
对比Monad在TS和Haskell中的使用
类型协变与逆变
基础设施建设
使用gitlab和drone实现自动化部署
Saber2pr's Blog
博客建设日志
博客前台的更新程序发布!
Privacy policy
网站重构、优化日志
网站架构和技术栈
网站建设过程
编译原理
Jsx语法BNF实现
不确定下推自动机
理解递归下降分析和parsec应用
React原理
组件通信
React函数组件对比class组件
数据结构类型
关于TSX的类型定义
Fiber数据结构
服务端渲染SSR原理
context_rerender方案代替redux
propTypes验证
keep-live方法
react-key与defaultValue
React底层XSS防御
Batch update
React性能优化
如何找到alternate
reconciler实现
Commit all work
全局变量
Update host properties
Create element
Begin work
Hook
Use state
Use ref
Create context
Use memo
Use effect
Commit work
Perform unit of work
Render
Perform work
Work loop
Reconcile children
React函数式编程
React中的错误处理
Context造成的rerender
事件冒泡与Portals
ref转发
ref为什么能保持引用
useState使用props初始化的注意点
React-Fiber实现
生命周期
遍历Fiber链表
useEffect的deps规则
React生态
hoist-non-react-statics源码阅读
useSelector和reselect源码阅读
react16以后不需要的一些操作
React生态源码阅读
React-Redux干了什么
数据结构算法
排序算法
计算字符串hash指纹
base64算法
KMP算法
树遍历、删除节点
凯撒加密
Linux相关
shell命令
设置全局http代理
ssh连接服务器
双系统重装后恢复ubuntu引导
安装最新nodejs
开放端口
ubuntu维护
tty终端
正则表达式
理解正则表达式及常用正则表达式整理
Combine replacers
常用正则
基础语法
学习技巧
Git版本控制
Git提交报错RPCfailed-HTTP2
设置用户名
Branch
fork之后更新upstream
github与git
git清除登录状态
Rebase
克隆git仓库中的文件夹或路径
Checkout
撤销上一次提交
日报生成
检查最近1次提交变更内容
Log
pull自动合并使用本地版本
浅克隆
使用密码连接github
Nextjs服务端渲染
Nextjs首屏渲染速度优化
nextjs微服务原理
封装接口请求函数
token转发
api路由拦截
非api反向代理
定义next-config类型
Nextjs自动静态优化存在的问题
利用Link实现Tab的问题与优化
ssr项目架构注意与优化
proxy服务
Nextjs数据context传递
C++基础
qt图形库
qbs配置
命名空间
右值引用与移动语义
虚函数表
函数类型与函数指针
模板与constexpr
CSS层叠样式表
水平垂直居中
盒子模型
CSS3选择器
图片(替换型元素)内容填充和对齐方式
视觉设计
垂直居中
styled-components使用
三角形
水平居中
IOS安全区边距
媒体查询
Flex
input样式重置
躲避点击
水平滚动容器
解决z-index不起作用
mask蒙版
常用layout
线性渐变
css实现八卦图
伪元素实现分割线
控制元素打印时样式
Node
从URL加载commonjs模块
cli头注释
koa中间件机制
获取本机IP(IPV4)
执行命令
Promisify
node解析url参数
简单的文件读写封装
base64
接收base64图片
获取post-body
在node中混合加载esm
下载tarball并解压到目录
node路由
每日总结:993966897/2837329691
2021年1月11日
2021-Q2
其他常用命令
win常用命令
cad基础命令
Ant-Design组件
学习antd组件设计
table前端分页与后端分页
Table transfer
排序表格
antd中的一些坑的细节(持续更新)
Modal遮罩双层滚动问题
input样式重置
form表单验证
右键菜单
重置Modal样式
Modal中form-reset无效
异步初始化表单项
form中使用checkbox
antd按需加载
Menu组件样式选择器
图片上传
VSCode插件开发
实现一个WebIDE实时编译React
vscode插件路径相关
使用默认浏览器打开链接
Iceworks篇
iceworks-app实现原理简介
iceworks-project-creator实现原理简介
iceworks-i18n多语言原理
vscode插件编写教程
性能优化
关于时间计算
api缓存
用于撤销与反撤销的对象池
memorize函数
打包优化
并发请求队列
前端性能优化
Web3
提高合约期货交易员水平的五个关键点
搭建freqtrade加密货币量化交易机器人
freqtrade加仓间隔优化技巧
Sol
什么是永续合约
Web3行业技能要求总结
Eth
Freqtrade回测移动止损陷阱
Btc
如何抓住加密货币空投机会
什么是加密货币套利交易
进入主流加密时代
如何制作NFT
2024年使用加密货币赚钱的8种最佳方法
freqtrade策略跟随BTC涨跌优化
Freqtrade避免滑点的技巧
什么是加密货币对冲
freqtrade策略如何优化
什么是加密货币质押
了解Solana的历史
Freqtrade如何正确DCA
freqtrade多空仓位均衡管理策略优化
如何使用freqtrade通过Python回测策略并交易加密货币
趋势交易与背离交易优缺点对比分析
Freqtrade量化策略的现状与挑战
优化比特币策略网格中的网格增量
freqtrade策略E0V1E支撑位解读
比特币减半将如何影响其未来价格
BOLL布林线怎么看
freqtrade配置文件说明
freqtrade指标EWO抄底指标分析