Orion's Studio.

Orion's Studio.

it's better to burn out than to fade away

记一次前端 Mac 新机配置之路

首先肯定是拷贝老机子的内容啦

这时候正好手边没有 U 盘,叫外卖性价比太低,京东又要等双十二才有优惠,怎么办呢?

这时候我们可以直接用局域网来传递,在老机子上执行:

1
2
3
npm i -g host-your-folder
host-your-folder -g
# listen on :::50771
自动批量请求

先来个问题,假设有如下一颗元素树,React 各个元素的渲染顺序和 useEffect 的顺序是怎样的?

1
2
3
4
5
    A
/ \
B C
/ \ / \
D E F G
跨域关于计算相差天数的两三事

前言

因为有个需求要展示活动的第几天,以及根据这个天数回查历史记录,所以要写一个函数计算两个日期相差的天数。

一般想到计算两个时间的差值,肯定就是转成时间戳然后相减,最后除以 86400000 就完事了嘛~

这在相隔时间超过 1 天的情况下基本都是没问题的,但是如果相差时间在同一天内,就没法直接通过差值来判断相差天数。

比如说 23:59:59 和 00:00:00 是相差 1 秒,00:00:00 和 00:00:01 也是相差 1 秒,但前者相隔了一天,而后者却是同一天。

产生这个问题的根源其实在于对于每一天的偏移量不同,即 23:59:59 几乎偏移了一整天,而 00:00:01 只偏移了 1 秒,如果把这部分偏移量去除干净,那比较的就是绝对的天数之差了。

跨域

跨域产生原因

首先要说下浏览器的同源策略,也就是相同协议、域名、端口的才算作同源,浏览器只允许同源之间互发请求

然后在不同源间发的请求就算作是跨域请求啦

因为只是浏览器的限制,所以在 Postman 或者 Electron 下就没有跨域限制

Gulp初探

概述

Gulp 是基于 NodeJS 的自动任务运行器,它可以自动化地完成测试、合并、压缩、格式化、生成文件、监听文件等任务

相比于 Grunt 的频繁 IO 操作,Gulp 的流操作更快,Gulp 还借鉴了 Unix 的管道(pipe)思想,前一级的输出直接变成后一级的输入

Grunt初探

概要

Grunt 是一款构建工具,它可以创建任务,完成对配置里的源文件执行插件对应的操作后生成目标文件的操作,从而实现压缩、编译、单元测试、linting 等工作

手把手搭建自己的UI库

在 github 建立一个云端仓库

右上角+号New repository,比如我在自己的shenyizhou账号下建了一个zy-ui仓库,默认不用 README.md

CSS的@规则

@规则

@charset

样式表的第一个元素,前面不得有任意字符,只有第一个会被使用,属性值大小写不敏感且必须用双引号,主常用于让content属性使用非ASCII字符

浏览器查找样式表字符编码顺序:

  1. BOM(byte-order mark)
  2. Content-Type: Http header中的charset属性
  3. @charset
  4. link元素的charset属性(HTML5标准已废弃)
  5. 假设文档是UTF-8