2018 年终总结
date
Feb 23, 2019
slug
mylife-of-2018
status
Published
tags
summary
type
Post
职业篇
博客
之前博客系统一直用的 Ghost,然而 Ghost 的新版在 vps 上升级迁移遇到很多问题,后来索性自己用 nodejs 写了一个,基于 nextjs。
翻译文章
花了一周的闲余时间,翻译了 maintainable css,访问地址 http://maintainablecss.wtser.com/
真的是好久没翻译文章了。
生产力
- 在项目中使用了 stylelint ,peritter 等工具,统一代码风格,提高代码质量。
- iterm2 插件
alias
alias gs="git status”
alias gitclean="git branch -vv | grep ' gone]’ | awk ‘{print $1}’ | xargs git branch -d”
快速跳转
使用 d 这个命令,列出最近访问过的各个目录
目录名简写与补全
比如我们要进入到 ~/workspace/src/dict,我们只需要输入每个目录的首字母就行,然后再 TAB 键补全
重复上一条命令
输入 r ,可以很便捷的重复执行上一条命令。
zsh-autosuggestions
- 了解了一些 tmux 相关的知识点,但是缺少实践。
研究与学习
算法学习
业务相关
- 给自己取了一个英文名 English name Finn
- 参与公司的一个 SPA 项目,react,学习了 redux state 相关的知识。
- SVG
use
with External Source
<svg viewBox="0 0 100 100"> <use xlink:href="defs.svg#icon-1"></use> </svg>
But, the external resource way doesn’t work in any version (up to 11 tested) of Internet Explorer. Even the ones that do support inline SVG: 9, 10, 11.
It works like this:
- If the browser is IE 9, 10, or 11 (User Agent sniff, but that’s the whole point here).
- Ajax for the SVG file referenced
- Find the needed bit, based on the ID referenced (e.g. #icon-1)
- Inject that into the
<svg>
on the page
- 使用 picture 元素实现 图片的 response
srcset only use for mobile img
<picture> <source srcset="mdn-logo-wide.png" media="(min-width: 600px)"> <img src="mdn-logo-narrow.png" alt="MDN"> </picture>
- overscroll-behavior 解决 modal 滚动带动底下页面滚动问题
auto
:其默认值。元素(容器)的滚动会传播给其祖先元素。有点类似 JavaScript 中的冒泡行为一样contain
:阻止滚动链接。滚动行为不会传播给其祖先元素,但会影响节点内的局部显示。例如,Android 上的光辉效果或 iOS 上的回弹效果。当用户触摸滚动边界时会通知用户。注意,overscroll-behavior:contain
在html
元素上使用,可以阻止导航滚动操作none
:和contain
一样,但它也可以防止节点本身的滚动效果
比较拙的解决方案就是给
body
添加overflow:hidden
,但这有可能会影响我们的操作,甚至影响你浏览你的页面。CSS 的
overscroll-behavior
,这个属性有三个可取值:overscroll-behavior 属性是 overscroll-behavior-x 和 overscroll-behavior-y 的简写,如果你只想控制其中一个方向的滚动行为,可以使用其中的某一个属性。
- 编写自定义视频播放器
fullscreen api
bug in safari
element:fullscreen{ }
针对被全屏的元素 (如果 element 是 iframe,:-webkit-full-screen-ancestor:not(iframe) {} 在 safari 不生效)
safari
iframe webkitIsFullScreen aways return false
event webkitfullscreenchange e.target return
document
when exit fullscreen- 一点开发的体验感受和想法
- 需求 基本来自客户 (需求评审)
- 功能点评审估时
- 后端的功能需求基本是清楚的
- 前端还存在很多需要细化的地方【例如响应式】)(前端评审 2+个前端)
- 尽量避免前后端在同一分支开发
- 建立分支用 feature-frontend
- 避免了冲突 总是需要 git pull —rebase 问题 (就我一个人开发 还时不时被 push reject)
- (不理解分支都懒得建的想法)
- 功能还未完善就去测试了
- (信息不对称) 测试不知道这个功能是否已达到测试标准?PM?
- (信息不充分)有些功能或样式是产品那边未定义,技术未做实现或者做了简单的处理,QA 主观感觉是 bug,直接 assign 给开发。
- 没有定义,界面没有混乱,无法明确界定是 bug 的,仅仅是主观感受不爽,应该先 assign PM
- pm 应该在 QA 测试之前进行 review
- 若依然遇到被 assign 此类问题直接 assign PM
- issue 修复后,再次测试 速度不够理想,基本来回个 2-3 天 (能否做到在第一 1 天修复 issue,第二天 review 完)
- 多个项目的时间管理安排
- 尽量避免多个项目穿插进行
- 人员调配