Toggle navigation
william.chan's blog
Home
Archive
vue3-json-schema-form
zhuanlan
jingdong
Archive
keep hungry keep foolish
Show All
67
JavaScript
14
Linux
11
React
11
Ruby
6
CSS
5
Shell
5
Node.js
4
Redux
4
Gem
3
vscode
2
其他
1
开发文档
1
技巧
1
概念
1
Git
1
Halo
1
Jekyll
1
Mac
1
MySQL
1
Rails
1
Vue
1
css
1
frontend
1
geektime
1
git
1
webpack
1
2024
重学前端
halo主题开发流程
仅三行halo主题开发流程命令即可完成
2020
Git仓库迁移,包括所有的分支、标签、日志
仅三行命令即可完成
Vue route running on github pages
vue3 github-pages 404.html
3x3魔方-七步法
3x3魔方-七步法
概念: 什么是框架 framework
类比 Vue, React, koa, ruby on rails
Node.js: 50行代码学会koa2中间件原理
koa: Next generation web framework for Node.js
JavaScript: async函数
async函数是使用async关键字声明的函数。
JavaScript: bind,apply,call三者的区别
bind,call,apply的作用都是用来改变this指向的
JavaScript: 关于类型,有哪些你不知道的细节?
从运行时的角度去看 JavaScript 的类型系统
css: 要求超过两行的文本显示为两行文字
最多显示两行文字的css样式设置
JavaScript: 函数注释规范
JSDoc Guide
JavaScript: 立即执行函数前面添加分号';'的作用
;(function(){})();
CSS: 单行和多行文字溢出
ellipsis
CSS: canvas绘制曲线生成工具
二次贝赛尔曲线
CSS: calc() and line-height
CSS的单位及css3的calc()及line-height百分比
CSS: box-shadow
box-shadow: h-shadow v-shadow blur spread color inset;
JavaScript: event.clientX and offsetLeft
clientX, offsetLeft, offsetWidth
JavaScript: 避免事件重复触发
js性能优化
CSS: 在.css文件中对样式进行分组
将分组后的样式折叠起来
JavaScript: javascript 中x++和++x的不同
++ 含有隐式的赋值
JavaScript: es5 中的模块介绍
为模块定义引入包装函数,并保证它的返回值和模块的API保持一致。
JavaScript: 区分函数声明和表达式最简单的方法
function 关键字是否位于声明的开始
React: react UI组件的业务逻辑
import connect from 'react-redux';
React: 在react中通过ref获取input值
this.refs.user.value, ref='user'
React: 生命周期流程图
挂载、更新和卸载
JavaScript: 事件传递的3个阶段
addEventListener、捕获、事件处理阶段和冒泡
Node.js: nvm 和 npm 使用淘宝镜像
设置环境变量 NVM_NODEJS_ORG_MIRROR
Mac: mac2015菜单栏不显示隔空播放
2016年之前推出的 MacBook Pro不支持
Redux: store.dispatch(getAllProducts());
问什么 getAllProducts() 返回一个函数而不是一个action?
React 组件生命周期流程图
创建-更新-卸载
Linux: tree 命令
tree命令以树状图列出文件目录结构
webpack 4.43.0: TypeError: CleanWebpackPlugin is not a constructor
new CleanWebpackPlugin() // 清除文件
Git: .gitkeep
对于空目录的追踪我们可以用.gitkeep来做
浏览器站内搜索技巧
可以叠加使用下面的搜索技巧来搜索需要的内容
Node.js: npm -D -S -g -i 以及安装技巧
npm i webpack webpack-cli -D
vscode: Warnning Incorrect type. Expected "String"
vscode json format
Node: npm 默认源切换
npx nrm ls
React: 前端报错 node-pre-gyp WARN Using request for node-pre-gyp https download解决方法
这是权限不够的问题,下载的时候加上 --unsafe-perm
React: 生命周期方法
React中渲染过程的概览
React: 认识React
关于React的基本概念
React: 使用 react-router-dom 实现页面跳转
react router
JavaScript: false value
js中布尔值为false的6种情况和js数据类型
Redux 中几个常用方法
react + redux
React: mapStateToProps
https://react-redux.js.org
React: reducer visibilityFilter returned undefined
Error: Given action SET_VISIBILITY_FILTER, reducer visibilityFilter returned undefined.
CSS: 手动清除浮动 float
clear: both
记录读过的博客文章
说明一个概念或者解决了一个问题
Linux: sudo ls /root
谁可以使用 允许使用的主机=(以谁的身份) 可执行命令的列表
Linux: su命令与用户名之间的减号`-`
su - linuxprobe 这意味着完全切换到新的用户
linux 计划任务 at 和 crontab
at 一次性计划任务;crontab 周期性计划任务
Shell中的 exit 0 与 exit 1 的区别
echo $? 为 0 表示程序正常退出,非 0 表示程序异常
MySQL: show index && explain select ...
用 explain 语句判断select查询是否使用了索引
Linux: process VS thread
进程和线程的区别介绍
Gem: Sidekiq 如何处理异步任务
Gem: sidekiq清空队列的两种方式
一是使用sidekiq的api,二是直接操作redis
Ruby: 类查找中 :: 的作用
:: 表示从顶层开始搜索
Gem: 显示 Sidekiq Web UI
显示出sidekiq web ui的相关操作
Ruby 语法:File.expand_path
项目中看到的 ruby 语法备注
Linux 操作系统:/etc/passwd
《Linux 操作系统》用户账号文件 passwd
Linux 操作系统:zip压缩
《Linux 操作系统》zip 用法介绍
Linux 操作系统:tar
《Linux 操作系统》tar 归档程序的用法介绍
Jekyll 语法使用说明
收集和记录一些不熟悉的 Jekyll 语法
Linux 操作系统:gzip 和 gunzip
《Linux 操作系统》gzip 文件压缩程序的用法介绍
2019
Ruby 中的 require 和 加载路径 $LOAD_PATH
2018
JavaScript 对象模型
对象模型:基于类 class VS 基于原型 prototype
rails导出Excel数字类型数据出现乱码的问题
DONE IS BETTER THAN PERFECT