wwc
简单点就好

淘宝天猫的单点登陆如何做到的?

在开始之前我就在 login.taobao.com 登陆了自己的淘宝账户

之后打开 tmall

淘宝将认证 token 存放在 taobao.com 域名下


typescript的各种模块加载器

typescirpt在Js上面加上了类型支持,但如果需要使用则必须要编译成js,在使用tsc的过程中需要指定module来选择一种模块加载器


如何将任意TCP流量封装进代理?

很久没写东西了,一直都是扔在印象笔记里头,今天兴起写一篇 :)

先说我对于HTTP代理的理解

  1. Explicit HTTP
    需要在client上配置,GET http://www.baidu.com/index.html HTTP/1.1

    这种情况下直接检索请求行可以获得主机与端口

    CONNECT,需要client主动配合进行TLS预握手
    使用CONNECT会开放TCP隧道,可代理任意流量,不局限于http,即使CONNECT最初是为http而设计的
    但许多应用并不支持CONNECT,如何让他们也走代理?下面会提到

  2. no-Explicit HTTP
    透明代理,client无法感知到proxy的存在,往往使用iptables等内核特性实现


如何调试Vue-SSR?

client side render 最好处理,从 开发者工具 找到 webpack 的sourcemap, 然后在每个Vue文件的生命下断点,再配合 Vue dev tools 很简单

但许多的渲染问题是在SSR,对于 Object 对象没办法用 console.log 打印变量,(打印出[object, Object])

所以只能一步一步用 VScode 下断点调试,之前一直Google却没有找到方法,这次因为实在是不知道哪里出问题了,只能硬着来调试一下


Java使用Interface的default来实现假单例模式

刚开始想要通过工厂模式来实现,但发现为了创建不同的Outbound实例需要强制规定Outbound的实现者去实现一个public static Object getInstance(),虽然JDK1.8提供了Interface static,但实现者却不能Override。最终有了下面的解决办法:


Axios如何封装平台通用API

使用Vue SSR的时候将在server和client准备两套API,server使用nodejs的http实现,client使用XHR实现

所以检测代码的运行环境至关重要

这里直接是分析了Axios这个HTTP库的检测逻辑


(翻译)flex-basis和width不同

原文: The Difference Between Width and Flex Basis 有删节

Flex Item项目公式

1
centent -> width -> flex-basis(被max-width | min-width) 限制

如果没有flex-basis属性,那么flex-basis将会和 width保持一致

如下代码

1
2
3
4
container{
display: flex;
width: 1000px;
}

头条前端实习面试

一面二面紧挨着,视频面试只把记住的几个题记下来了
其余的都是我的 project 相关,没有列出来的必要


子网掩码

刚才在看 《Wireshark网络分析就是这么简单》

有这样一张图

我的问题是

A,B 位于不同的网络吗??

从A看来,B和自己在同一个子网

但从B看来,A和自己在同一个子网

我之前一直以为子网掩码不同所以AB之间一定通过网关

但事实上会出现三角形结构

B认为A不在同一个网段,则会发ARP请求网关MAC经网关送给A

A认为和B在同一个网段,会ARP获得B的MAC,直接发送给B


2018年终总结

现在是 2018-12-30 16:40 图书馆,等待Windows更新1809版本也没什么事,干脆就开始写了

之前没有写总结的习惯,打算从现在开始每年都写一篇,希望能守信

从大一到大三过了三年,所以趁这个机会把三年都写一遍,借这个机会审视一下过去的经历