-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path2020_sim_and_normal.html
1 lines (1 loc) · 14.2 KB
/
2020_sim_and_normal.html
1
<!doctype html><html lang="zh-CN" class="night"><head><meta charset="utf-8"><meta content="width=device-width,initial-scale=1,maximum-scale=4,user-scalable=0" name="viewport"><title>Ede's Blog</title><meta name="description" content="Try to be a qualified programmer"><meta property="og:type" content="website"><meta property="og:description" content="Try to be a qualified programmer"><meta property="og:title" content="Ede's Blog"><meta property="og:site_name" content="Ede's Blog"><meta property="og:url" content="https://ede.ink"><meta property="og:image" content="https://edeity.oss-cn-shenzhen.aliyuncs.com/public/edeity_o.png"><link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"><link rel="mainfest" href="/mainfest.json"><link rel="stylesheet" href="/public/css/common.css"><link rel="stylesheet" href="//at.alicdn.com/t/font_707055_4b9og9sc5lx.css"><script>!function(){var e=-1!==window.location.search.indexOf("theme=night")||"night"===window.localStorage.getItem("edeity-theme_theme"),t=-1!==window.location.search.indexOf("theme=light")||"light"===window.localStorage.getItem("edeity-theme_theme");(new Date).getHours();var n=document.querySelector("html");e?n.classList.add("night"):t?n.classList.remove("night"):n.classList.add("night")}(),document.addEventListener("DOMContentLoaded",function(){null!==document.querySelector("ol.toc")&&(document.querySelector("#nav-bar").style.cssText="display: block")})</script><script async src="https://www.googletagmanager.com/gtag/js?id=G-M3J9QSEE2Z"></script><script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-M3J9QSEE2Z")</script><meta name="generator" content="Hexo 5.0.0"></head><body><div class="loading"></div><div id="switch" data-switch="{"toc":true,"use_pwa":false}"></div><header class="fullscreen"><div class="toolbar"><i class="iconfont icon-menu"></i></div><h1><a href="/">Ede's Blog</a></h1><div class="head-link"><a class="btn waves" href="/"><span><i class="iconfont icon-home">Home </i></span></a><a class="btn waves" href="/about/index.html"><span><i class="iconfont icon-me">About </i></span></a><a class="btn waves" target="_blank" rel="noopener" href="https://github.com/edeink"><span><i class="iconfont icon-github">Github</i></span></a></div></header><div class="some-link"><a class="btn" id="light-or-not"><i class="iconfont icon-light"></i> </a><a style="display:none" class="btn" id="up-to-top"><i class="iconfont icon-up"></i></a></div><div id="nav-bar" style="display:none"><div class="toc"><ol class="toc"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%B7%A5%E4%BD%9C%E4%B8%8A"><span class="toc-number">1.</span> <span class="toc-text">工作上</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#Q1%EF%BC%9A"><span class="toc-number">1.1.</span> <span class="toc-text">Q1:</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#Q2%EF%BC%9A"><span class="toc-number">1.2.</span> <span class="toc-text">Q2:</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#Q3%EF%BC%9A"><span class="toc-number">1.3.</span> <span class="toc-text">Q3:</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#Q4%EF%BC%9A"><span class="toc-number">1.4.</span> <span class="toc-text">Q4:</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%99%AE%E9%80%9A%E4%BA%BA%EF%BC%8C%E5%B9%B3%E5%B8%B8%E4%BA%8B"><span class="toc-number">1.5.</span> <span class="toc-text">普通人,平常事</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#2021%E5%B9%B4%EF%BC%9F"><span class="toc-number">1.6.</span> <span class="toc-text">2021年?</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E7%94%9F%E6%B4%BB%E4%B8%8A"><span class="toc-number">2.</span> <span class="toc-text">生活上</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E4%B8%8A%E5%8D%8A%E5%B9%B4"><span class="toc-number">2.1.</span> <span class="toc-text">上半年</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E4%B8%8B%E5%8D%8A%E5%B9%B4"><span class="toc-number">2.2.</span> <span class="toc-text">下半年</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#2021%E5%B9%B4%EF%BC%9F-1"><span class="toc-number">2.3.</span> <span class="toc-text">2021年?</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E6%80%BB%E7%BB%93"><span class="toc-number">3.</span> <span class="toc-text">总结</span></a></li></ol></div></div><main id="content-main" class="section"><div class="list-item"><h1 class="post-title"><a id="2020 普通人,平常事" class="article-link" href="">2020 普通人,平常事</a></h1><div class="post-meta"><time class="meta published">Dec 31, 2020</time></div><div class="article"><div class="post-excerpt markdown-body"><p>年底比较忙,抽不出什么时间,但是2020年还是需要回顾一下的。</p><h2 id="工作上"><a href="#工作上" class="headerlink" title="工作上"></a>工作上</h2><h3 id="Q1:"><a href="#Q1:" class="headerlink" title="Q1:"></a>Q1:</h3><p>因为二月整公司的人都在自我隔离,其实Q1主要是一月和三月。一月做了移动端水滴拖拽交互优化、三月做了首屏打开速度优化。</p><p>打开速度其实也只做了最基本的两点,一个是划分级别,继续拆分代码,因为http2逐步普及的缘故,不需要所有js都打包,尽可能拆解核心包(大概2M),以100~200KB的分片,延迟加载部分优先级低的业务,以及提高缓存命中率。二是为部分高频访问的属性做缓存,减少初始化时频繁访问DOM属性导致的<code>recaculate style</code>消耗。</p><p>年后回顾,感觉一年之计在于春颇有道理,因为Q1做的两件事,基本就是整一年工作的基调了。</p><p>当然,二月赋闲在家也不可能啥事都不敢,调研了前端自动化可行性,具体的产出就是在<code>Jenkins</code>上搭建<code>puppeteer</code> + <code>mocha/chai</code>的自动化测试平台了。简介可见<a href="./search_of_auto_test.html">前端自动化测试探索</a>。因为是预研,所以只做了部分的基准(编辑性能 + 打开速度),部分横向比较(排版结果截图对比)。不过2021年的大部门目标出来了,要<code>风险前置</code>,估计2021年还可以在上面做文章。</p><h3 id="Q2:"><a href="#Q2:" class="headerlink" title="Q2:"></a>Q2:</h3><p>有感于为高频属性访问对象比较集中(一般是正文的滚动高度啊,可视区高度宽度之类),存在部分场景缓存更新不及时的情况,以及大老板对目前文字微交互不太满意。所以决定中途换轮子,将目前的原生滚动切换成模拟滚动,属性由代码维护提供,减少读取原生属性消耗。</p><p>本以为手写个模拟滚动很简单,一两周搞完,结果因为目前排版是阻塞的,改造没准要花几个月还存在高风险,只好另辟蹊径,陷入了漫长的优化中。详情可见<a href="/mock_scroll_bar.html">滑动优化填坑记</a>。</p><p>以及因为原本开展插件化的开发和公共组负责人闹掰了,中途接手插件化的工作。因为中途接手,且手上杂事较多,对插件化一直没有展开设计,导致Q3被别组的老大批评了,QAQ。不过并不阻碍插件化的正常推进,只是相对不好用罢了,感觉2021年要花点力气回填此坑。</p><h3 id="Q3:"><a href="#Q3:" class="headerlink" title="Q3:"></a>Q3:</h3><p>Q3主要就是填Q2的坑了。</p><p>断断续续优化了好久滑动优化,既有性能又有交互上的优化,最终在Q3上线,松了一大口气。</p><p>插件化方面,写写文档,写写单测,想点办法提高加载成功率。这种跨部门的事情,推进起来往往需要较多的耐心,多费点口舌。因为做得一般,就不展开了。</p><p>九月份插进来一个需求,<strong>全面适配Ipad</strong>。文字的这份苦差就落到我头上了,所以九月份都在加班。各种奇形怪状的BUG,整个大部门磨了一个月才结束。回过头,感觉忙碌了一个月,也只是知道了诸如尽可能避免hover,避免异步focus,要尽可能抹平touch/mouse差异这种小技巧。</p><h3 id="Q4:"><a href="#Q4:" class="headerlink" title="Q4:"></a>Q4:</h3><p>Q4被抽调到别的部门帮忙。</p><p>因为新部门基于div的<code>contenteditable</code>来做编辑器(用了开源框架),所以好多奇形怪状的BUG因涉及原生问题无法修复,需要额外的层来抹平正文交互上的浏览器差异。</p><p>参考了一圈竞品,没有可“参考”的方案。折腾了一个星期,才有了初步的方案:新建拦截层拦截点击输入事件,在确保兼容原框架的前提下,实现自定义的光标/选区。也还算通用的解决方案吧。</p><p>因为赶进度,除我外,还有一位同学。两个人,在克服奇形怪状的bug时,不会觉得特别的孤单。虽然此行径在技术评级时不能<code>独挡一面</code>,不过,在工作四年后,我已精神躺平的今天,技术评级便也不那么重要了。</p><h3 id="普通人,平常事"><a href="#普通人,平常事" class="headerlink" title="普通人,平常事"></a>普通人,平常事</h3><p>发现,身边不少以往成绩不错如今收入还行的同学朋友亲人,比那些以往成绩一般如今收入一般的同学过得还要焦虑,我认为根本原因,是我们在受教育阶段,从经济不发达的小县城往外冒的过程中,总扮演着相对亮眼的角色,总能在某方面争取名列前茅。但当我们真正来到社会,和我们PK的,不仅是成绩Or能力TOP系列的选手,且包括巨量资源的官N代、商N代,还包括站在风口上的幸运儿,单纯的比谁更努力已经不够了,失败似乎在所难免。但一旦意识到,我们其实也只是普通的人,脱离了特定的环境,我们也从终究从“别人家的孩子”变成“叉烧包”,所谓的成败似乎也没那么重要了。当一枚螺丝钉也好,前提是,是一枚<strong>开开心心</strong>的螺丝钉。</p><p>当我想通此事后,学会了<strong>接受自己的平庸</strong>,许多压力便消退了。</p><h3 id="2021年?"><a href="#2021年?" class="headerlink" title="2021年?"></a>2021年?</h3><p>本打算深入钻研React源码的,但是Q4的工作调度,使计划中止(其实也因为懒),只学了皮毛,<a target="_blank" rel="noopener" href="https://react.iamkasong.com/">React技术揭秘</a>讲述得不错,在此安利。</p><p>2021年,初步目标就是看看<code>编译原理</code> + <code>算法导论</code>这两本书,学习巩固基础,顺便找一下灵感。能静下心来看书,就是一种锻炼。</p><h2 id="生活上"><a href="#生活上" class="headerlink" title="生活上"></a>生活上</h2><h3 id="上半年"><a href="#上半年" class="headerlink" title="上半年"></a>上半年</h3><p>买房了:一线买不起,跑到二线。发现二线的房子也贼贵,于是买了旧一点的二手房。买完房,没钱装修,但做了防水,刷白了墙,感觉也挺好,比在大城市花好几百万买老破小要好,比租漂漂亮亮房子要好。</p><p>结婚了:因为疫情,也因为打算买房没钱,没有举办婚礼。本以为我将是大学六人组中最后一名结婚的,结果成了第一名。结婚了,生病的时候不会感到孤独,在家做饭会比外卖省钱。在三年的互怼时光里,我觉得,找到命中注定的那个人很难,但,学会相处,学会改变,让彼此变成命中注定的那个人,会容易一点。</p><h3 id="下半年"><a href="#下半年" class="headerlink" title="下半年"></a>下半年</h3><p>利用周末的时间,8月科目二,(9月加班),10月科目三,11月拿了驾照,学车进展还算顺利。当然,和大伙一样,人是晒傻了。</p><p>9月底,团建,去了趟江门,泡了下温泉,旅游手册上厚颜无耻说有海鲜自助,结果唯一的海鲜是虾,没准还是河虾。</p><p>国庆,回了趟老家,参加老婆弟弟的婚礼,见了趟高中的好基友和未来的弟妹,顺便去了临县,见识了以前的竞争对手,高州一中。回去前,老婆约了她姐姐,喝了顿早茶,发现自己越来越喜欢小孩了,肥嘟嘟的甚是可爱。</p><p><img src="https://edeity.oss-cn-shenzhen.aliyuncs.com/2020/baqi.jpg" alt="不屑"></p><p>12月,某舍友和她未来老婆被我从上海忽悠过来,去了一趟珠海长隆,看了看鲸鱼。两人都在大厂(阿里、字节)工作,不过作为底层打工人,其实混得都一般,首付估计和我一样得“骗”家里的钱。自打工作久了,感觉呆哪都一样,也没有了刚毕业时对大厂的崇拜。印象深刻的是,疫情期间,上海到珠海的飞机票价来回只要三百多,假若明年同学能顺利在上海买房上岸,我也可以光明正大白嫖迪士尼了。</p><p>其他,自打金山上市一周年(可以套现的时间),周围有钱人变多了,有人敢发一万红包,有人敢买3090,有人敢看保时捷…让只混了两千块上市红包的我,好不羡慕。毕竟,运气这东西,不是去追就有的。</p><h3 id="2021年?-1"><a href="#2021年?-1" class="headerlink" title="2021年?"></a>2021年?</h3><p>2021年?买辆便宜的车,生个漂漂亮亮的娃。</p><h2 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h2><p>祝大家新年快乐!</p></div></div></div><div class="more section"><div class="pre"><a class="article-link" href="/qinghai travel.html"><i class="iconfont icon-right"></i> <span>苦行青海</span></a></div><div class="next"><a class="article-link" href="/mock_scroll_bar.html">滑动优化填坑记 <i class="iconfont icon-right"></i></a></div></div></main></body><footer class="section fullscreen"><div class="footer-desc">Edeink © 2015-2022 · Powered by Hexo</div></footer><script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script><script src="/public/js/init.js"></script></html>