# 季诺Three Months总结
文章概要:就是对自己三个月的总结,一直想写,没啥时间,今天晚上不想学习了,写写总结换换脑子吧~
# 初来乍到
来季诺的原因:
- 面试官问的问题很"奇葩"~~~哈哈哈哈(特指Jude)
我明明面试的是前端岗位,但是所有问题加起来可能就琴姐问了几个前端问题,但是同时也觉得这个问题很新颖,深入浅出 ,如果好好答可以答好久,从浏览器解析url到DNS到网络传输再到CDN再到负载均衡再到kubernets再到容器再到响应请求,获取资源,解析资源,浏览器渲染,构建DOM树到CSS computing 形成渲染树 再到layout布局 最后render。如果细说就是个很好的题目,甚至可以构建起整个前端知识体系。
- 公司虽然是创业公司但是敢于实践新技术,敢于尝试,这点挺好的
这可能也是相辅相成吧,就是因为是创业公司才更敢技术创新(虽然之前项目全是vu3壳子vue2代码 hhh 其实vue3也不新了,尤大听了想打人~)
- 公司氛围挺好的
其实当时也就面了3家公司都给offer了,薪资季诺还是最低的,但是为什么来了呢,面试官占百分之80%,就是一种感觉你懂吧,其次就是个人对钱也不是很感冒(我说这个话良心居然没痛 (o^^o))
- 人也挺好的
(就不多吹了 哈哈哈哈哈哈)
# 基础薄弱
总结来说就是信息差导致大学白学或者说学了很多没用的什么sql ssh ssm andriod...啥的太杂了不成体系,现在忘的一干二净,hhhh,然后中途肠胃不好休息了好久好久,一个字节代码没敲过,总结就是菜的抠脚!
差在哪里就是计算机基础知识,整个知识架构太应用层了。 具体体现在如下:
1.计算组成原理(我是真的就只会组装hhh)
2.计算机网络(就是对各层协议整个网络通讯了解贼片面,完全不成体系)
3.编译原理(这个就不多说了只知道一个AST hhh)
4.数据结构与算法(就是之前好多不用全忘了,以前学c语言笔记做的老认真了)
# 技术更新与提升
废话一大堆,说说自己三个月以来技术栈的更新吧
- vue2全家桶 切换 vue3全家桶
学习了vu3 compositonApi,其实个人觉得就是react的hooks,响应式原理底层改为Proxy实现,等等
- vite
总结是一个字快!就完事了,还帮万老师解决了一个调了半天的bug hhh
- RxJs
其实这个得拜南风所赐,据了解是南风引进的Stomp协议等等,于是就有了RxJs的学习和WebSoket的学习
RxJs:个人感觉RxJs就是用来处理异步函数返回结果的相当于一个处理异步函数的中间件?可以对返回结果做链式调用等等
- WebSoket
个人感觉WebSoket主要是用于解决客户端和服务端即时通信的问题才诞生的,就跟HTTP2是为了解决HTTP1.1传输速度太慢,队头阻塞问题才诞生的.WebSoket就是HTTP上的Soket通信规范,是全双工通信协议,服务端可以主动推送消息,提供了类似TcpSocket的功能,但是由于浏览器这个沙盒的限制,不能直接获取TCP的数据,所以WebSoket就搭乘了HTTP的顺风车来实现类似TCPSocket的操作,WebSoket是对TCP的薄薄的一层封装,说是WebSoket over Tcp不过分吧。WebSoket按层级来分应该是和HTTP是一个层级的,它利用HTTP来进行WebSoket握手,然后就可以进行通信啦。
- Grid/Flex主流布局方案
- pwa
主要是就是利用serviceworker做离线缓存吧个人感觉
- React17以及全家桶
更像在写JS的一个前端库,比Vue更灵活些,学习难度也要陡峭一点,尤其对Redux的理解 Redux其实就是要创建sotre,连接sotre,分发命令,reducer聚合更新state。
- TailwindCss
个人很喜欢的一种书写css的方式,可惜当我拿到设计稿的时候发现并不是很好落地,目前还没找到解决方案
- ComponentStyles
组件样式也挺不错的 emotion styled-component
- TypeScript
有着强大的静态类型系统,尤其强调结构化类型并不是字面量类型。是JavaScript的超集,原理就是将编写好的TypeScript解析为TypeScript AST抽象语法书,然后做类型检查,让后编译为JavaScript再到javaScript AST 再到字节码的过程。总之TS尽可能的能让我们的程序出错暴露在编译阶段而不是运行时,这样可以让我们的程序更健壮,同时类型系统为我们的code也带来了很多便利,Ts内置很多Utility Types挺好用的,反正一个字,强!!!
- docker
说docker就要说三个东西
1.image:镜像,是一个只读模版,用来创建容器。
2.container: 容器,是一个可运行的镜像实例。
3.Dockerfile: 镜像构建的模版,描述镜像构建的步骤。
- kubernets
阿里云上面管理镜像容器的一个服务一个软件吧,可以管理很多的容器。
- 负载均衡
负载均衡最主要的作用是提供了公网Ip,以及对流量的分发。
- CDN
内容分发网络,个人理解其实CDN就一个代理服务器,上面保存了原站的很多资源,主要功能是降低网络延迟,CDN一般是利用了DNS来做负载均衡,当客户端访问某个域名的时候,首先会从浏览器缓存中找域名所对应的ip地址,没有从系统缓存找,没有从hosts文件找,没有从本地DNS服务器找,直到根域名服务器,然后根域名返回一个cname指向提供CDN服务的厂商(就拿CloudFlare为例吧),然后连接到CDN全局负载均衡GSLB,CDN做了一些列复杂算法,匹配了一个离用户最近的SLB并返回给客户端ip,于是客户端拿着这个ip访问就比较快了,CDN主要就是看缓存的命中率,回源次数。一般缓存静态资源。
- 域名
有了域名我们得去配置一个NS记录,来配置这个域名交给哪个域名服务器来解析。
等等等等列举一些有代表性的......
# 接触与完成的任务
# crowd聊天室(还需要迭代) TS
修复了bug,打通了之前没有通的逻辑
# Thor(聊天室独有websoket通信库) TS
修复了bug,打通逻辑,完善注释
# WindowChannel(Iframe通信库) TS
从Thor抽离并修复了bug,打通逻辑
# InfoJs(需要迭代) TS
公司第一个纯自己写的库,写的很垃圾,设计模式需要好好看看
# haiyaogame官网(性能不太好) Vue3 wowJs...
pc移动端都适配的响应式官网项目,就是好像性能挺差的*
# pyke落地页(还行) React17 axios react-router...
pc移动端都适配的响应式推广页面,百分百还原设计图*
# 阿狸招聘页(还行) React17 react-i18n...
移动端都适配的收集用户信息的页面支持国际化,百分百还原设计图*
# kennan游戏推广页(马上完成) React17...
pc移动响应式网站,这个项目由于设计图不是很规范,所以自己写的也很自由
# 对公司前端基建库有了个大概认识等等
# NaiveUi组件库PR!!!(我这三个月最开心的一件事)
由于在工作中使用了NaiveUi,但是发现一个月前的bug还是存在,于是斗胆去查看了源码,并发现了bug,最终很多人帮忙最后成功解决了bug,看着自己的名字在贡献者列表这种感觉真的挺爽的,或许这就是开源的魅力吧,这也让我更加坚定想做一个厉害的开源作者的梦醒,感谢NaiveUi对我的支持和鼓励~~~
# 基础巩固
由于欠缺的东西很多所以得碎片化学习,下面是自己三个月巩固基础学习的东西与记录(主要记录为书和看的一些教程吧)
# 看的书:
图解HTTP
图解TCP/IP
图解网络硬件
刻意练习
为什么精英都是时间控
过目不忘读书法
TypeScript编程
JavaScript高级程序设计第四版(未看完,已经被我拿来垫电脑了,后续会看完的)
# 看的视频:
透视HTTP协议
趣谈网络协议
React17精讲
2021前端主流布局方案(Grid/Flex)
# 总结展望
# 总结:
三个月很快,但是也收获满满,希望自己能在一条正确的路上继续前进,少走一点弯路
适当放慢一点学习的脚步,接下来要做知识沉淀,将知识进行输出,整理,形成知识体系
提高工作效率,不要钻牛角尖
继续坚持
# 展望:
后边要做的事情还很多,简单规划一下
复习HTTP 做输出
复习TCP/IP 做输出
算法与数据结构
设计模式
学习Electorn
学习NextJs
学习NestJs(这个是Node哦)
最重要的还是坚持,只有坚持,还是坚持~~~