Shangbin Yang
Shangbin Yang
> 本文永久地址:[github.com/rccoder/blog/issues/27](https://github.com/rccoder/blog/issues/27),其他平台可能不是最新文章。文章评论等也希望去原文进行。 [](https://juejin.im/post/5911dca544d904007bfdf8ab) ## 一、背景 我的毕业设计是用 React Native 写一款校园 APP,服务端采用 egg + MongoDB。 选用 React Native 一来是想借助他更加的学习巩固 React、Redux 生态系统;二来是做成 APP 而不是网站会在老师面前显得不是那么的 Low,同时借助双平台为忽悠填一份色彩;三来是 React Native 确实在性能上是优于 H5,不需要 XX 内核(如 UC、QQ等)来抹平杂乱机型的性能与兼容问题,同时还能和 H5...
[](https://juejin.im/post/5a641747518825732d7fb25f) > 本文翻译自:[An Introduction to React Router v4 and its Philosophy Toward Routing](https://medium.freecodecamp.org/react-router-v4-philosophy-and-introduction-730fd4fff9bc) React Router 4 引入了一种基于 component 的动态路由。 这篇文章中会讨论思考 React Router 背后的哲学,同时也会通过分析 React Router 文档中的示例代码来介绍一下它的语法。 更多 React Router 的介绍请戳...
 Hi,这里是浙江杭州,北京时间 2016.12.31 22:51。2016 的尾声,20 岁的开始。 从 **19** 到 **20**,学会了变成熟,学会了变得有担当。 从 **2016** 到 **2017**,去了一线互联网公司实习,去了北京、杭州、三亚。 从 **学校** 到 **社会**,看到了完备的工程体系,看到了以后的生活。 回顾 2016,脑海当中闪过一些印象深刻的切片: ## 找实习 第一次有 **实习** 这个名词的概念是 2015 年春季,总体来说有两件事刺激比较大: 1. 听开发组学长实习分享,被学长私信问要不要试着去 **支付宝**...
> 或许 XX 震惊部应该这样起名:《了解 Docker,看完这篇就行!》 ## 序 Docker 自开源以来受到了各大公司的广泛关注,或许现在互联网公司的运维体系不承载在 Docker(或 Pouch 等)之上都不好意思说自己的互联网公司。 本文会简单介绍下 Docker 的基础概念,入门级使用方式和一些使用 Docker 能大大提升效率的场景。 ## 原理 对 Docker 最简单并且带有一定错误的认知就是 “Docker 是一种性能非常好的虚拟机”。 正如上面所说,这是有一定错误的说法。Docker 相比于传统虚拟机的技术来说先进了不少,具体表现在 Docker 不是在宿主机上虚拟出一套硬件后再虚拟出一个操作系统,而是让 Docker 容器里面的进程直接运行在宿主机上(Docker...
> 妈妈,我再也不会滥用 Redux 了 ## 前言 context 是各种前后端框架中经常会用到的一个概念,著名 Node 框架 `Koa` 更是把 context 玩的尽兴。React 在很早之前就有 context 的概念,虽然是一个实验性质的 API,但 react-redux、react -router 等框架类库却把它玩了个够。 React 中爷爷和孙子,甚至是重孙之间传递值或者事件一直是个比较麻烦的事情,随着 Redux 等状态管理类库的出现,大家纷纷开始用这种框架去解决这种隔代传信息的问题,并且在或大或小的项目中都开始使用。 一回喜,二回忧,在前端视资源体积为金子的情况下 “滥用 Redux” 的情况越来越多。 React...
- 8-23 15:08 更新 - 补充 **前戏后的协商 —— 一些优化** - 8-22 14:44 更新 - 补充修正错误 **完事后的讨论 - 各种途径的访问** ## 前言 做为一个正宗的科班出身, 《计算机网络》 这门课程肯定是学过的,但到底有没有学细学透学明白,就不得而知了。 依旧是做为一个正宗的科班出身伪前端,在新的互联网寒冬之下又被某互联网公司的面试官喷了。 虽然曾经还是比较仔细的看过 HTTP 相关的东西,但长时间没有复习加上当时没有做笔记、写博客沉淀还是有很多的生疏。 回去之后查了一下相关的资料,算是做一次知识的沉淀(造轮子)。 ## 正文...
[](https://juejin.im/entry/577636e42e958a005579c3b0/detail) 由于安全的原因,浏览器做了很多方面的工作,由此也就引入了一系列的跨域问题,需要注意的是: **跨域并非浏览器限制了发起跨站请求,而是跨站请求可以正常发起,但是返回结果被浏览器拦截了。最好的例子是 `CSRF` 跨站攻击原理,请求是发送到了后端服务器无论是否跨域!注意:有些浏览器不允许从HTTPS的域跨域访问HTTP,比如Chrome和Firefox,这些浏览器在请求还未发出的时候就会拦截请求,这是一个特例** ## 1. JSONP `JSONP`的全称是 "JSON With Padding", 词面意思上理解就是 "填充式的JSON"。它不是一个新鲜的东西,隶属于 `JSON` 的一种使用方法,或者说是一种使用模式,可以解决一些常见的浏览器端网页跨域问题。 正如他的名称一样,它是指被包含在调用函数中的JSON,比如这样: ``` javascript callback({"Name": "小明", "Id" : 1823, "Rank": 7}) ``` 由于 `jQuery` 的一些原因,使得...
> 2016-09-19 补充性能相关  ## 石器时代 在 `CSS3` 出现之前,网页上的动画都是靠 `JavaScript` 来实现的,在这个时代,你可能会经常看见这样的代码片段: ``` JavaScript setTimeout(funcntion() { document.getElementById("test").style.opacity += 0.1; }, 300) ``` 上面这段代码片段就实现了这个 id 所描述内容的透明度渐变。 这样写起来看上去比较复杂,可维护性也比较差。除此之外,在移动端的性能也很是捉急。 ## CSS3 时代 石器时代终于过去,黎明已经到来,`CSS3` 的动画效果也随之而来。...
[](https://juejin.im/entry/57fa6a4e67f3560058752542/detail) ## 1. 讲个笑话 > JavaScript 是一门编程语言 ## 2. 异步编程 JavaScript 由于某种原因是被设计为单线程的,同时由于 JavaScript 在设计之初是用于浏览器的 GUI 编程,这也就需要线程不能进行阻塞。 所以在后续的发展过程中基本都采用异步非阻塞的编程模式。 简单来说,异步编程就是在执行一个指令之后不是马上得到结果,而是继续执行后面的指令,等到特定的事件触发后,才得到结果。 也正是因为这样,我们常常会说: JavaScript 是由事件驱动的。 ## 3. 异步实现 用 JavaScript 构建一个应用的时候经常会遇到异步编程,不管是 Node 服务端还是 Web...
![[email protected]](http://okujk9avg.bkt.clouddn.com/[email protected]) [](https://juejin.im/entry/58a6c88561ff4b006c4b2e8a/detail) ## 前言 如果曾经使用过 Python,尤其是 Django 的话,应该对 **装饰器** 的概念有些许的了解。在函数前加 `@user_login` 这样的语句就能判断出用户是否登录。 装饰器可以说是解决了不同类之间共享方法的问题(可以看做是弥补继承的不足)。 > A Python decorator is a function that takes another function, extending the behavior of the latter...