今天试了下 VuePress 这个静态网页生成工具
制作了一个面试题集(会陆续增加功能,以及习题的增加)
前端代理解决跨越问题
在我的许多实际工程中,我并没有使用什么所谓前端代理去解决跨域问题,都是让运维大佬给我在配置里增加一下我的本机 ip。
今天乘着结束一个小项目的时候把玩下前端代理
首先我是用的技术栈是 react+antd+dva+umi,其中 umi 已经使用了 webpack-dev-server 插件 所以可以直接进行配置。
如果你用的也是 umijs 这个 react 应用框架 可以直接使用如下配置
react componentDidMount 使用的一些想法
React componentDidMount 中尽量别使用 setState 方法
在 componentDidMount()中,你可以立即调用 setState()。它将会触发一次额外的渲染,但是它将在浏览器刷新屏幕之前发生。这保证了在此情况下即使 render()将会调用两次,用户也不会看到中间状态。谨慎使用这一模式,因为它常导致性能问题。在大多数情况下,你可以 在 constructor()中使用赋值初始状态来代替。然而,有些情况下必须这样,比如像模态框和工具提示框。这时,你需要先测量这些 DOM 节点,才能渲染依赖尺寸或者位置的某些东西。
componentDidMount 本身处于一次更新中,我们又调用了一次 setState,就会在未来再进行一次 render,造成不必要的性能浪费,大多数情况可以设置初始值来搞定。当然在componentDidMount我们可以调用接口,再回调中去修改state。
js 浮点数运算--使用decimal.js
为了避免 js 运算出现如 这种情况
推荐使用 decimal.js 这个库来帮助我们处理精度问题
1.首先引入
(1). 标签引入方式 <script src="https://cdn.bootcss.com/decimal.js/10.2.0/decimal.js">
(2). npm intall decimal.js or yarn add decimal.js
2.使用方式
比特币痛点
比特币区块链难以建设一个去中心,民主平等的社会。
底层代码的核心团队与参与挖矿和运行的主要力量能够发挥更大的影响力。
受计算机运算能力的影响,比特币的挖矿和获得,并不是想宣传额那样人人都有平等的机会,竞争的结果,使得挖矿获得比特币的机会越来越集中到少数算力强大的矿池或者节点上。
比特币区块链’去信任’,’去中介’的点对点交易是有严格条件的。
即所有的人都参与到同一个比特币区块链网络平台,平台上运行的只能是比特币,而不能是比特币以外的其他资产或价值,比特币从其生产的源头就得到网络系统严密的验证和记录,难以造假或者篡改。因此,比特币需要在一个’干净’,基于比特币区块链网络平台的环境
区块链是什么
区块链是分布式数据储存,点对点传输,共识机制,加密算法等计算机的新型应用模式。所谓共识机制是指区块链系统中实现不同节点之间建立信任,获取权益的数学算法。
区块链是比特币的一个重要概念,本质上是一个去中心化的数据库。它是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易信息,用于验证其信息的有效性(防伪)和生成下一个区块,数据存储的每一个节点都会同步复制整个账本,信息透明难以篡改。
凡事需要更加公平,公正,公开的企业行业,都可以用到区块链技术,都可以用使用区块链技术来改造和实现;凡事需要数据存储,保护,授权,交易的企业,都可以用到区块链技术;凡事需要社会化协作,尤其是跨境,基于计算机网络可以完成的社会化分工和协作,都可以用到区块链技术
react组件转换成vue组件(1)
今天完成了一个 react 组件的 vue 化–vue-lazyload-pic
顺手重新撸了一把 vue
vue 的模版语法写的我实在蛋疼所以直接上了 jsx 语法,也方便双向绑定
方法:
(1): 增加两个插件
yarn add @vue/babel-helper-vue-jsx-merge-props
yarn add @vue/babel-preset-jsx
(2): 在.babelrc
文件内做如下修改:
1 | { |
就可以快乐的使用 jsx 语法了
例子: vue-lazyload-pic
1 | render() { |
上面代码 有个注意点就是