1. 简介
男,29岁,平凡本科毕业,性格慢热,喜欢宅在家,有点怀旧情怀,还有点咸鱼心态.
有钱时喜欢折腾尝试各种新鲜事物.没钱时降低生活质量也要试试.
音乐方面,钟爱Hans Zimmer,Two Steps From Hell等配乐工作室的各种气势恢宏的音乐.喜欢的歌手是欧美的Sia和本土的陈奕迅.
2. 重新认识自己
我是一个年近30的普通程序员,我希望在30岁能够不普通,35岁能够顺利度过中年危机.为此,我需要以下三个人的特质.
2.1. Madao
出处:<银魂>
全称:まるでダメなおっさん(简直是没有一点用处的大叔)
简称:マダオ(MADAO)
简介:在遇到银桑之前,他是一个人人敬仰的成功人士.之后,因为总总原因,变成了一个流浪街头的Loser.更加雪上加霜的,他每次的努力都被搅黄了.甚至有一次,他差点回到成功人士的阶层,不出意外,又被失败了.一般人经过这样多次的打击早就意志消沉,一蹶不振.可是MADAO同志,还是每天积极的迎接生活的打击.
永远用乐观的心态面对生活的打击.不要怨天尤人,不要自暴自弃,不管生活如何艰难,总有方法可以过下去.
2.2. 无证骑士
出处:<一拳超人>
简介:他是一名C级英雄,也就是比普通人稍微强一点点而已.但是当一名超S级的怪物出现在民众前时,为了民众的安全,他没有选择逃避,而是勇敢的挡在怪物的前面,一次次被戏弄般的打到,又一次次爬起.
正所谓,自古正邪不两立,我不入地狱,谁入地狱!勇敢的面对自己的职责,不管是对家人还是工作,永不逃避.宁可站着死,决不跪着生.
2.3. 一拳超人(秃头披风侠)
出处:<一拳超人>
简介:自从第一次艰难的战胜怪物后,每天俯卧撑100次,仰卧起坐100次,下蹲100次,10KM长跑,坚持了3年.“我秃了,我也变强了”.从此,普通人埼玉变成了一拳超人,不管多么强大的怪物,解决只需要一拳.
未来的一览众山小,是基于现在的付出.要得到无可比拟的力量,就得付出超乎常人的付出.我们总是高估一天的产出,而低估每天重复的积累.
正如以下公式
- $1.01^{365}=37.783$
- $0.99^{365}=0.026$
- $1.01^{183}*0.99^{183}=0.98$
三天打鱼,两天晒网也是完全什么用的,还会消耗自己为数不多的意志力.
3. 工作感悟
3.1. 编程
- 在快速实现时,不要删除代码,尤其是需求都没有特别明确时(2014.8,需求来回变更)
- 最好可以做一个备份文件
- 或者提交到备份分支上
- 开发初期尽量把关键信息区分开(2016),即使BOSS要求.最好有书面记录.
IBD刚开始确认只有现金支付(钱包充值+支付宝+微信)+易货额度—–>设计为0为意向订单->10~19为钱包支付失败,成功和其他保留状态,20,30依次类推
后额外增加红包+抵扣+易货额度+会员卡+现金支付,可互相叠加.多了若干中间状态.
- 项目越大,使用正则或普通替换就越要谨慎(<=2018.2.10,大小写替换)
- 经常提交,不要偷懒(<=2018.2.10,大小写和其它一起提交了,恢复)
- 时刻遵循分支管理的原则,哪怕一个人(2018.2.10,有些东西可以暂时提交到一个分支上)
- 不管是代码还是笔记,先想清楚,再下笔.否则浪费时间,浪费精力.
3.2. 职场
- 书面确认关键需求(2016),以及尽量去掉不合理需求
接上,多支付状态,以及会员卡和商户关系
- 上线前,向上级确认,并且必须保留书面信息(2017.11.x)
即使是昨天说今天必须上线.上线前也要确认.并且留下可查询的信息.
- 要控制自己的情绪(2017.11.X)
可以为下属背锅,高层扯皮做好自己.
- 每日报告工作进度(日清)
- 每日计划(奇妙清单)
- 尽量不要承接二手以及以上的工作,会导致沟通效率及其低下.而且还有可能传达错误信息(2019.1.30)
- 包括在公司中也是,不明白的,应该直接询问第一责任人.
4. 技术路线
4.1. 前端
- h5基础:
- semantic elements:语义元素
- attributes:属性
- doctype:声明
- css3要点:
- 布局:重要程度递增
- position:absolute和relative
- box model:盒子模型,margin,border,padding,content
- flexbox:弹性盒子模型,子元素的float,clear和vertical-align属性将失效
- grid:目前最强大的布局系统
- 编写css:
- custom properties:自定义属性
- –自定义属性名: 属性值
- var(–自定义属性名) 这样就是一个变量
- custom reusable css components:自定义可重用css组件,一种思路
- sass
- 变量
- nesting
- conditionals
- custom properties:自定义属性
- 其他:transitions:渐变
- css框架
- bootstrap
- tailwind CSS
- 布局:重要程度递增
- responsive design:响应式布局一些要点
- viewport:meta标签可视区域,比如,手机,平板,PC的大小
- media queries:和上面相关,判断设备大小
- fluid widths:流动宽度,不要使用fixed
- rem:字体相关,最好不要用px
- mobile first:设计思路,先制作移动端,然后制作PC端
- 瀑布流布局
- js
- 基础vanilla js(纯js)
- 基础
- dom
- json
- fetch api(request,response,ajax)
- es6
- 框架
- react(最流行)
- 状态管理:redux,hooks
- 服务端渲染: next
- 静态: gridsome
- angular(最难学,超大型应用,比如GCP)
- 状态管理ngrx,services
- vue(最简单)
- 状态管理:vuex
- 服务端渲染:nuxt
- 静态: gatsby
- react(最流行)
- 基础vanilla js(纯js)
- 工具和技术:
- svelte:编译成原生js
- apollo client(graph ql)
- typescript:js+java
- web assembly:浏览器端的js的字节码,可以用于3d,图形等
- axios(一个发送请求的基于promise的http库)
- 包管理:npm,yarn
- complie to js:
- 打包
- webpack
- parcel
- jamstack:比如hugo或者hexo
- 开发工具
- 浏览器dev tools
- vscode插件:
- Bracket Pair Colorizer
- live server
- live sass compiler
- react vue的插件
- ESLint
- Prettier
4.2. 服务端
- 语言
- node
- 框架:
- express
- koa
- adonis
- cms
- keystone
- enduro
- 框架:
- python
- 框架
- django
- flask
- 框架
- php
- 框架:
- laravel
- symfony
- slim
- cms:
- wordpress
- drupal
- 框架:
- c#
- 框架
- asp.net
- 框架
- ruby
- 框架:
- ruby on rails
- 框架:
- golang
- 框架
- revel
- bego
- 框架
- java
- 框架:
- spring
- 框架:
- rust
- node
- 数据库
- 关系:
- postgresql
- mysql
- nosql:
- mongodb
- rethinkdb
- couchdb
- 云数据库
- firebase
- AWS
- 轻量化
- redis
- sqlite
- 关系:
- 工具
- graphql:新的api类型
- apollo:客户端的graphql请求工具
- 服务器:nginx
- 云:linode,heroku
- 虚拟化: k8s,docker vagrant
- 测试:
- 单元测试
- 整合测试
- 功能测试
- 系统测试
- 检测
- load balancing
- monitor
- security
- graphql:新的api类型
- 思路
- 微服务
- faas
- serverless
4.3. 应用
4.3.1. APP
- flutter
- dart(js的变种)
- react native
- nativescript(js,vue….)
- Ionic:混合app
- xamarin: C#
4.3.1.1. pwa
上面的升级版,类似手机上菜鸟的应用.
也是h5,css,js组成,可安装(非编译,添加到桌面那种),有一定的离线功能(不会像native一样离开网络很多功能无法使用,二十能狗使用以前的数据)
4.3.2. 桌面
electron:比如vscode
5. 我的目标
2020年达到月薪税前30k.
- 三个月短期目标:完成计划,北,上,广.
- 一年短期:开始向底层学习
- 三年中期:T字型高手,PHP+GO+JAVA.
- 五年长期:成为一个人见人爱的强力工程师.
- 十年目标:不用担心中年危机.
5.1. 具体技术栈
查询了BOSS直聘,拉勾等平台后,得出的30k以上要求:(目前只有一半)
- 工作中的需求
- RESTful API接口
- 熟悉框架(Laravel,Yii,Phalcon,Swoole)
- PHP工作原理->TIPI
- feed流
- GitFlow
- 高并发大流量高负载
- 基础:
- IO和多线程
- HTTP协议:TCP/IP
- 大数据
- Hadoop
- Spark
- 缓存和消息队列
- Redis
- Memcached
- Mongodb
- Cassandra
- Kafka
- RabbitMQ
- DB:
- MySQL:分区,分表,集群等
- 数据结构->LeetCode
- 算法->LeetCode
- 设计模式
- RPC
- 微服务
- Linux+Shell
- 爬虫
- 其他语言
- Java:J2EE,Spring,JVM,SpringMVC
- Python
- Go
- Node