<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[面向对象的夜猫子]]></title><description><![CDATA[专注于设计模式，前端技术，ES6,typescript,nodejs,vuejs,reactjs,webpack,git...]]></description><link>https://blog.youkuaiyun.com/sreddouilyongxia</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sreddouilyongxia]]></copyright><item><title><![CDATA[前端需要了解的 SSO 与 CAS 知识]]></title><link>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78479440</link><guid>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78479440</guid><author>sreddouilyongxia</author><pubDate>Wed, 08 Nov 2017 15:35:51 +0800</pubDate><description><![CDATA[不管是什么公司，只要产品数量大于一个，那么单点登录势必是绕不过去的一个问题。作为前端程序员，我们对其虽然接触不多，但适当的了解还是必要的。本文就来谈谈单点登录相关的问题。
前置知识
了解 SSO，最好具备以下知识。当然，如果不是特别熟，也不影响阅读。


cookie及session
浏览器同源策略及跨域
了解登录系统的构成



什么是 SSO 与 CAS?
SSO
S]]></description><category></category></item><item><title><![CDATA[[V8]找出可能影响性能的代码（模式）]]></title><link>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78421508</link><guid>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78421508</guid><author>sreddouilyongxia</author><pubDate>Thu, 02 Nov 2017 09:56:45 +0800</pubDate><description><![CDATA[原文地址：Tracing
 Patterns that Might Hinder Performance原文作者：Jakub
 Rożek译文出自：掘金翻译计划本文永久链接：github.com/xitu/gold-m…译者：薛定谔的猫校对者：AceLeeWinnie、HydeSong

找出可能影响性能的代码（模式）
现在你很可能会遇到不止一个响应迟钝的 app 或加载缓慢的页面。已经]]></description><category></category></item><item><title><![CDATA[Webpack经典入门]]></title><link>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78421414</link><guid>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78421414</guid><author>sreddouilyongxia</author><pubDate>Thu, 02 Nov 2017 09:51:18 +0800</pubDate><description><![CDATA[October 16th, 2015 by Maxime Fabre
(中文译本更新于2017年10月22日，由于webpack已更新至3.8.1，因此译文有改动)



Webpack your bags
之前你可能已经听说过这个叫webpack的很酷的工具，如果你没仔细了解过这个工具，你可能会有些困惑，因为有人说它像 Gulp 之类的构建工具，也有人说它像 Browserify 之]]></description><category></category></item><item><title><![CDATA[8大前端安全问题]]></title><link>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78420932</link><guid>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78420932</guid><author>sreddouilyongxia</author><pubDate>Thu, 02 Nov 2017 09:07:43 +0800</pubDate><description><![CDATA[当我们说“前端安全问题”的时候，我们在说什么
“安全”是个很大的话题，各种安全问题的类型也是种类繁多。如果我们把安全问题按照所发生的区域来进行分类的话，那么所有发生在后端服务器、应用、服务当中的安全问题就是“后端安全问题”，所有发生在浏览器、单页面应用、Web页面当中的安全问题则算是“前端安全问题”。比如说，SQL注入漏洞发生在后端应用中，是后端安全问题，跨站脚本攻击（XSS）则是前端安全问题，]]></description><category></category></item><item><title><![CDATA[移动端页面平滑翻页的解决方案]]></title><link>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78402504</link><guid>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78402504</guid><author>sreddouilyongxia</author><pubDate>Tue, 31 Oct 2017 13:45:01 +0800</pubDate><description><![CDATA[随着近几年移动营销页的火爆，催生了一个中国式的名词「H5」。而 H5 最常见的形态就是类似幻灯片翻页效果。
我们需要制作 H5 的时候，最快的办法就是使用一些滑动插件库，如 iDangero.us 出品的 Swiper，百度
 BE-FE 出品的 iSlider。通过这些翻页库提供的强大的配置功能，我们就能实现很酷炫的翻页效果。当然，这些库还支持自动播放，点击切换和当前页面指示等配置，所以还能]]></description><category></category></item><item><title><![CDATA[JavaScript Event Loop 机制详解与 Vue.js 中实践应用]]></title><link>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78328259</link><guid>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78328259</guid><author>sreddouilyongxia</author><pubDate>Tue, 24 Oct 2017 12:35:01 +0800</pubDate><description><![CDATA[JavaScript Event Loop 机制详解与 Vue.js 中实践应用归纳于笔者的现代
 JavaScript 开发：语法基础与实践技巧系列文章。本文依次介绍了函数调用栈、MacroTask 与 MicroTask 执行顺序、浅析 Vue.js 中 nextTick 实现等内容；本文中引用的参考资料统一声明在 JavaScript
 学习与实践资料索引。

1. 事件循环机制详解]]></description><category></category></item><item><title><![CDATA[ES6 变量声明与赋值：值传递、浅拷贝与深拷贝详解]]></title><link>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78328254</link><guid>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78328254</guid><author>sreddouilyongxia</author><pubDate>Tue, 24 Oct 2017 12:33:28 +0800</pubDate><description><![CDATA[ES6 变量声明与赋值：值传递、浅拷贝与深拷贝详解归纳于笔者的现代
 JavaScript 开发：语法基础与实践技巧系列文章。本文首先介绍 ES6 中常用的三种变量声明方式，然后讨论了 JavaScript 按值传递的特性，最后介绍了复合类型拷贝的技巧；有兴趣的可以阅读下一章节 ES6
 变量作用域与提升：变量的生命周期详解。

变量声明与赋值

ES6 为我们引入了 let 与 co]]></description><category></category></item><item><title><![CDATA[ES6 变量作用域与提升：变量的生命周期详解]]></title><link>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78328243</link><guid>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78328243</guid><author>sreddouilyongxia</author><pubDate>Tue, 24 Oct 2017 12:31:26 +0800</pubDate><description><![CDATA[ES6 变量作用域与提升：变量的生命周期详解从属于笔者的现代
 JavaScript 开发：语法基础与实践技巧系列文章。本文详细讨论了 JavaScript 中作用域、执行上下文、不同作用域下变量提升与函数提升的表现、顶层对象以及如何避免创建全局对象等内容；建议阅读前文 ES6
 变量声明与赋值。

变量作用域与提升

在 ES6 之前，JavaScript 中只存在着函数作用域；而在]]></description><category></category></item><item><title><![CDATA[WebAssembly 实践：如何写代码]]></title><link>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78328035</link><guid>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78328035</guid><author>sreddouilyongxia</author><pubDate>Tue, 24 Oct 2017 11:56:49 +0800</pubDate><description><![CDATA[本文不讨论 WebAssembly 的发展，只是一步一步地教你怎么写 WebAssembly 的各种 demo。文中给出的例子我都放在 GitHub 中了（仓库地址），包含了编译脚本和编译好的可执行文件，只需再有一个支持
 WebAssembly 的浏览器就可以直接运行。

配置开发调试环境

安装编译工具

略。 参考官方 Developer’s Guide 和 Advanced]]></description><category></category></item><item><title><![CDATA[前端之路:工具化与工程化]]></title><link>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78327859</link><guid>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78327859</guid><author>sreddouilyongxia</author><pubDate>Tue, 24 Oct 2017 11:41:38 +0800</pubDate><description><![CDATA[前言

二十载光辉岁月


近年来，随着浏览器性能的提升与移动互联网浪潮的汹涌而来，Web前端开发进入了高歌猛进，日新月异的时代。这是最好的时代，我们永远在前行，这也是最坏的时代，无数的前端开发框架、技术体系争妍斗艳，让开发者们陷入困惑，乃至于无所适从。Web前端开发可以追溯于1991年蒂姆·伯纳斯-李公开提及HTML描述，而后1999年W3C发布HTML4标准，这个阶段主要是BS架构，]]></description><category></category></item><item><title><![CDATA[解决前端跨域的正确姿势]]></title><link>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78325606</link><guid>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78325606</guid><author>sreddouilyongxia</author><pubDate>Tue, 24 Oct 2017 09:03:16 +0800</pubDate><description><![CDATA[一、 跨域请求的含义




浏览器的同源策略，出于防范跨站脚本的攻击，禁止客户端脚本（如 JavaScript）对不同域的服务进行跨站调用。




一般的，只要网站的 协议名protocol、 主机host、 端口号port 这三个中的任意一个不同，网站间的数据请求与传输便构成了跨域调用。这也是我们下面实践的理论基础。我们利用 NodeJs 创建了两个服务器，分别监听 30]]></description><category></category></item><item><title><![CDATA[js创建一条通用链表]]></title><link>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78325582</link><guid>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78325582</guid><author>sreddouilyongxia</author><pubDate>Tue, 24 Oct 2017 09:01:33 +0800</pubDate><description><![CDATA[js创建一条通用链表

by leeenx on 2017-10-13



什么是「链表科普」？


链表是一种物理存储单元上非连续、非顺序的存储结构，数据元素的逻辑顺序是通过链表中的指针链接次序实现的。


什么是「顺序存储结构科普」？


在计算机中用一组地址连续的存储单元依次存储线性表的各个数据元素,称作线性表的顺序存储结构。


多数高级语言的「数组」]]></description><category></category></item><item><title><![CDATA[谈谈HTTP协议中的短轮询、长轮询、长连接和短连接]]></title><link>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78325559</link><guid>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78325559</guid><author>sreddouilyongxia</author><pubDate>Tue, 24 Oct 2017 08:59:55 +0800</pubDate><description><![CDATA[引言

最近刚到公司不到一个月，正处于熟悉项目和源码的阶段，因此最近经常会看一些源码。在研究一个项目的时候，源码里面用到了HTTP的长轮询。由于之前没太接触过，因此LZ便趁着这个机会，好好了解了一下HTTP的长长短短。

了解的方式主要都是LZ在网络上获取的，这里只是谈一下LZ对于这四种叫法最直观的理解。如果你之前不懂的话，可以帮你普及一下，如果你之前就懂得话，可以互相对照一下。

以]]></description><category></category></item><item><title><![CDATA[JavaScript 字符串转数字：陷阱（示例）]]></title><link>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78325549</link><guid>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78325549</guid><author>sreddouilyongxia</author><pubDate>Tue, 24 Oct 2017 08:58:11 +0800</pubDate><description><![CDATA[有很多种方式可以将字符串转为数字。我能想到的方式就至少有5种！





parseInt(num); //
 默认方式 (没有基数)

parseInt(num, 10); //
 parseInt 使用基数 (十进制)

parseFloat(num) //
 浮点型

Number(num); //
 Number 构造函数

~~num //
 按位取]]></description><category></category></item><item><title><![CDATA[移动web开发问题和优化小结]]></title><link>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78325531</link><guid>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78325531</guid><author>sreddouilyongxia</author><pubDate>Tue, 24 Oct 2017 08:55:50 +0800</pubDate><description><![CDATA[1.前言

到目前为止，互联网行业里，手机越来越智能化，移动端占有的比例越来越高，尤其实在电商，新闻，广告，游戏领域。用户要求越来越高，网站功能越来越好，效果越来越炫酷，这就要求我们产品质量越来越高，web前端开发而言是一个挑战，是一个难题，也是一个机遇。如何让我们所开发的手机页面能有更好的交互体验，就是这篇文章的主旨：移动web开发问题和优化小结。这个只是我自己在开发的时候知道的坑，如果大家]]></description><category></category></item><item><title><![CDATA[JavaScript是如何工作的：内存管理 + 如何处理4个常见的内存泄露]]></title><link>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78325514</link><guid>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78325514</guid><author>sreddouilyongxia</author><pubDate>Tue, 24 Oct 2017 08:53:52 +0800</pubDate><description><![CDATA[几周前，我们开始写一个系列，深入探讨JavaScript和它的工作原理。我们认为了解JavaScript的构成以及它们如何协作，有助于编写出更好的代码和应用程序。

本系列第一篇重点介绍了引擎、运行时、调用栈。第二篇揭示了谷歌V8 JavaScript引擎的内部机制，并且提供了一些关于如何写出更好的JavaScript代码的建议。

本文作为第三篇，将会讨论另一个开发者容易忽视的重要主题 ]]></description><category></category></item><item><title><![CDATA[前端高性能计算之一：WebWorkers]]></title><link>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78325484</link><guid>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78325484</guid><author>sreddouilyongxia</author><pubDate>Tue, 24 Oct 2017 08:50:45 +0800</pubDate><description><![CDATA[最近做一个项目，里面涉及到在前端做大量计算，直接用js跑了一下，大概需要15s的时间， 也就是用户的浏览器会卡死15s，这个完全接受不了。

虽说有V8这样牛逼的引擎，但大家知道js并不适合做CPU密集型的计算，一是因为单线程，二是因为动态语言。我们就从这两个突破口入手，首先搞定“单线程”的限制，尝试用WebWorkers来加速计算。

什么是WebWorkers

简单说，WebW]]></description><category></category></item><item><title><![CDATA[关于cookie的详细讲解]]></title><link>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78325477</link><guid>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78325477</guid><author>sreddouilyongxia</author><pubDate>Tue, 24 Oct 2017 08:48:21 +0800</pubDate><description><![CDATA[在学以致用的工作学习里，对于不怎么使用的部分，多少有些雾里探花的窘迫感～差不多是了解一二，然而又非真切的明晰；这就使得再用的时候，总要去再搜索一番；如此颇为难受，倒不如总结纪录下来，一方面加深认知，也易便于查阅；对于某相关技术，不断学习、运用、总结、更新，积淀过后也能对别人给予帮助。写博，真是一件值得去做的事。


背景
在HTTP协议的定义中，采用了一种机制来记录客户端和服务器端交互的信]]></description><category></category></item><item><title><![CDATA[详解 CORS 跨域资源共享]]></title><link>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78325466</link><guid>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78325466</guid><author>sreddouilyongxia</author><pubDate>Tue, 24 Oct 2017 08:45:57 +0800</pubDate><description><![CDATA[CORS是一个W3C标准，全称是"跨域资源共享"（Cross-origin resource sharing）。

它允许浏览器向跨源服务器，发出XMLHttpRequest请求，从而克服了AJAX只能同源使用的限制。

本文详细介绍CORS的内部机制。

一、简介

CORS需要浏览器和服务器同时支持。目前，所有浏览器都支持该功能，IE浏览器不能低于IE10。

整个CORS]]></description><category></category></item><item><title><![CDATA[教你从零开始搭建一款前端脚手架工具]]></title><link>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78296000</link><guid>https://blog.youkuaiyun.com/sreddouilyongxia/article/details/78296000</guid><author>sreddouilyongxia</author><pubDate>Fri, 20 Oct 2017 15:28:36 +0800</pubDate><description><![CDATA[前言

在实际的开发过程中，从零开始建立项目的结构是一件让人头疼的事情，所以各种各样的脚手架工具应运而生。笔者使用较多的yoeman，express-generator和vue-cli便是当中之一。它们功能丰富，但最核心的功能都是能够快速搭建一个完整的项目的结构，开发者只需要在生成的项目结构的基础上进行开发即可，非常简单高效。

作为一个不折腾会死星人，在熟悉了使用方法以后就开始琢磨起它们]]></description><category></category></item></channel></rss>