Hibop Yuan
Hibop Yuan
 - 跳转,Redirect 301 Move Permanently(永久移动); 302 Found 临时移动 类似 307 Temporary Redirect【注意区别 304 Not Modified】 - 是否有缓存,APP cache 304 Not Modified 200 from memory cch - DNS查找,域名解析ip 客户端收到你输入的域名地址后,它首先去找本地的hosts文件,检查在该文件中是否有相应的域名、IP对应关系,如果有,则向其IP地址发送请求,如果没有,再去找DNS服务器。一般用户很少去编辑修改hosts文件。 -...
很好的文章 - 译文:https://juejin.im/post/5d8adb8ff265da5ba12cd173 - 原文: https://martinfowler.com/articles/micro-frontends.html - demo: https://demo.microfrontends.com/restaurant/4 - github: https://github.com/micro-frontends-demo 国内thoughtWork推微前端大神Phodal Huang - https://github.com/phodal/microfrontends
#### [以前的一些理解](https://hibop.github.io/2017/11/29/%E5%85%B3%E4%BA%8E%E5%89%8D%E7%AB%AF%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E7%9A%84%E4%B8%80%E4%BA%9B%E7%90%86%E8%A7%A3/) ### 提纲(基础) > - 什么是可视化 > - 可视化场景与工具 > - 怎样可视化 > - 可视化过程中的常见问题 ## 一、什么是可视化(Data Visualization) **定义**: 将大量离散或者连续数据转化为有联系、可交互的图形或图像,增强表达方式和人为认知,从而达到实现从数据到分析、发现、决策、学习等目的; - 数据是源, 可视化过程是桥梁,图形分析、决策、学习是根本目的 - 实质是IO: fn(data) => UI **广义数据可视化**涉及信息技术、自然科学、统计分析、图形学、交互、地理信息等多种学科。...
## 异步操作: - IO - ajax请求 - 计时器:setTimeout、setInterval ## Promise挂载的方法 - 静态方法:Static Method - Promise.all() - Promise.race() - Promise.resolve() - Promise.reject() - 实例方法: - Promise.protype.then(resoleve, reject) - Promise.protype.catch() - Promise.protype.finally()...
## 关于实现iframe功能替代方案 > 使用iframe能很好的嵌入其他的网页或者网站,但是iframe每次加载都会浪费好多的时间,且会阻止其他元素的加载,搜索引擎也不能识别页面ifram框架中被调用的链接、文本、图片等等内容的。 #### Html代码 ```html about news product contact ``` #### 实现功能的Javascript代码 ```js $(document).ready(function(){ $.get("a.html",function(data){ //初始將a.html include div#iframe $("#iframe").html(data); }); $(function(){ $('.list-side li').click(function() { // 找出 li 中的超链接...
```js var x = 1; // 定义一个全局变量 x function foo(y) { var x = 2; // 定义一个局部变量 x function bar(z) { // 定义一个内部函数 B console.log(x + y + z); }...
## 键盘事件 - keydown:按下键盘键 - keypress:紧接着keydown事件触发(只有按下**字符键**时触发) - keyup:释放键盘键 **顺序为:keydown -> keypress ->keyup** 如果用户按下了一个字符键不放,就会重复触发keydown和keypress事件,直到用户松开该键为止 #### 注意点 - 键盘中的键 分为字符键 (可打印) 和 功能键 (不可打印) - keyCode 键码 - charCode 字符编码 - 在keyup...
> 程序设计中: **每个函数的使用都会在内存中建立与之对应的作用域,并保存其上下文; 尾调用是通过减少内存使用达到优化目的 ** A.  B.  A、B两种写法都能得到相同的结果:sum / 2 = 3 在A中,当程序运行到return fomatSum的时候,此时comp函数已经做完了它该做的事情,只需要呼叫comp做接下来的事情。 相当于接力赛,comp把接力棒(传入所需参数)给fomatSum后,comp就可以休息了(释放掉),故 不用保存comp的调用帧 。 在B中,当程序运行到fomatSum函数的时候,就跑去执行fomatSum了,但是需要返回值给result(这时候就需要通过调用帧 回到comp函数中),然后return这个值。 相当于餐馆点餐,服务员comp把菜单(传入所需参数)给厨师fomatSum后,comp还需要等待fomatSum把东西做好,再给顾客上餐,所以需要调用帧去找到服务员comp。 关于深入理解尾调用(tail-call)以及尾递归(tail-recursive),建议配合 上下文 进行理解其目的和意义。 
```html Document 控件 setTimeout(() => { // 插入十万条数据 const total = 100000 // 一次插入 20 条,如果觉得性能不好就减少 const once = 20 // 渲染数据总共需要几次 const loopCount = total / once let countOfRender...
## Midllewares > 中间件 是一种拦截器的思想,用于在某个特定的输入输出之间添加一些额外处理,同时不影响原有操作。 最开始接触 中间件是在服务端使用 express 和 koa 的时候,后来从服务端延伸到前端,看到其在redux的设计中也得到的极大的发挥。中间件的设计思想也为许多框架带来了灵活而强大的扩展性。 ### 参考链接 http://www.shadowvip.com/topic/5b9a22996a5aa70cdafd141d