TODO集合

"来不及整理的就放在这吧"

Posted by yueLng on 2019-12-13

大纲

数据库系统、分布式系统、数据科学

待看文章

#程序员的自我修养
《程序员的自我修养》链接、装载与库2017年4月30日星期日
在golang1.8中使用插件
https://github.com/vladimirvivien/go-plugin-example
https://medium.com/learning-the-go-programming-language/writing-modular-go-programs-with-plugins-ec46381ee1a9

关于产品
纵观历史上所谓商业上成功的产品/发明,他们成功并不是因为 “being different”,而是因为在与已有替代品相似的基础上 “optimally distinct”。
https://wanqu.co/a/3827/2016-08-27-think-different-is-bad-advice.html?s=social

关于代码
https://dave.cheney.net/2016/08/20/solid-go-design?utm_source=wanqu.co&utm_campaign=Wanqu+Daily&utm_medium=website
https://www.youtube.com/watch?v=zzAdEt3xZ1M

http restful 设计
JSON Web Tokens (JWT) vs Sessions
https://float-middle.com/json-web-tokens-jwt-vs-sessions/?utm_source=wanqu.co&utm_campaign=Wanqu+Daily&utm_medium=website
https://tools.ietf.org/html/rfc7519

architecture
12-factors
https://12factor.net/zh_cn/
Microservices Ending up as a Distributed Monolith
https://www.infoq.com/news/2016/02/services-distributed-monolith?utm_source=wanqu.co&utm_campaign=Wanqu+Daily&utm_medium=website
The perils of shared code 共享代码的危险
https://www.innoq.com/en/blog/the-perils-of-shared-code/?utm_source=wanqu.co&utm_campaign=Wanqu+Daily&utm_medium=website

关于创业
创业公司的股权到底该怎么算
http://a16z.com/2016/08/24/options-ownership/?utm_source=wanqu.co&utm_campaign=Wanqu+Daily&utm_medium=website

关于代码部署
https://blog.box.com/blog/kubernetes-box-microservices-maximum-velocity/

  1. 董飞:2016年科技阅读列表
  2. 教你如何迅速秒杀掉:99%的海量数据处理面试题
  3. highscalability
  4. 新浪新兵训练营
    https://wanqu.co/a/4211/2016-11-09-making-time-for-side-projects.html?s=social
    https://gist.github.com/fat/a47b882eb5f84293c4ed
    Thing Explainer: Complicated Stuff in Simple Words
    英文原版阅读有哪些入门书籍推荐? - 知乎
  1. 数据统计方向 opentracing metric qps tps 计算 https://zhuanlan.zhihu.com/p/21348220
  2. 压测 tcpcopy Apache ab测试,golang测试,单元测试,微服务测试

优质资源(个人向)

dirtysalt’s homepage
digests dylanninin

基础教育

The Architecture of Open Source Applications
aosabook-500lines
about-unicode-and-character-sets
what-cs-majors-should-know/
must-see-tech-talks-for-every-programmer/
every-programmer-should-know
2016年科技阅读列表
50家硅谷IT公司技术博客
http://highscalability.com/
about_data_science_demo

TO DO

互联网广告、推荐系统、定向营销、电子商务、信息检索等方面的建模经验;
分布式计算平台的使用和并行算法开发经验;
严密的数学思维、突出的分析和归纳能力、优秀的沟通表达能力。

记录

  • 第三方登录,账户系统(token jwt)
  • 第三方支付
  • 微服务架构
  • 基础技术 golang、restful、web框架、gorm、protobuf、grpc、kafka、postgresql、mysql、redis、nginx、log记录、
    工作
    书籍
    框架源码(设计模式思想)
    算法题目
    Golang深入了解
    机器学习
    看大厂的博客 看看看!!!!
    使用golang的国外公司

如何验证创业想法
解决这些问题的方法就是在执行前先验证
在后台,我们把数据整合成图形进行分析。我们可以看到我们所说的各项选项的数据。点击“购买路径”和“安装软件”的用户百分比超过了我们预先设置的数值。
除此之外,通过首页的论坛留言功能,我们还获得了非常有建设性的用户评论。这些数据将对我们决定如何进行下一步裨益良多。

独树一帜的才称得上是伟大的想法,伟大的头脑从不人云亦云。

设计思维过程

共情(Empathize)定义(define),出方案/头脑风暴(Ideate), 原型制作(prototype),和测试 (Test)。
整个过程的最终目的是要创造出一个产品、服务或是体验。这个产品应该是人们想要的(desirability, 期许性),具有有用的潜质(viability, 生存能力),以及在技术方面能简单方便地实现(feasibility,可行性)。
https://zhuanlan.zhihu.com/p/24891146

程序员常用的技能

  • 重构是程序员的主力技能
  • 工作日志可以提高脑容量
  • 先有profiler调查,后有优化
  • 要写注释,要写注释,要写注释
  • 写单元测试总是不会错的
  • 从实现中提炼框架
  • 代码层次清晰,结构清楚
  • 管理行不行,就看工作流
  • 编码不要畏惧变化,要拥抱变化
  • 常充电,程序员只有一种死法,土死的
  • 把不靠谱的需求放到最后再做,很可能到时候需求就改了
  • 可维护性比性能更重要
  • 解决专业问题的时候,请找专业人士,不要自己瞎钻
  • 学习新技术,先过一遍文档,后看博客
  • 删代码,找bug
  • 搜索、debug、看书、多写代码、多思考、多学习新知识、多运动

  • 闭环原则 做事要有头有尾

  • 谁难受谁推进 积极主动去挑重担
  • think bigger 尽量站在另一个高度看问题

  • 选择一个可行的目标

  • 设定目标的SMART原则
  • 挑选重要但是不紧急的事
  • 读书、写代码、英文,按计划生活,更加自律,更加有规律的生活
  • 建立生活习惯
  • 算法,循环队列

做更少的事情,更好
决定哪些事情更重要
跟所有其它的事情说“不”
当一些琐碎的事情发生时,重读第2步

眼前事立断立行,长远计日拱一卒
Vision/视野 Scope/边界 Schedule/务实 Rework/重来 Team Building/团队战力
做事的专注,做人的稳重
知止而后有定,定而后能静,静而后能安,安而后能虑,虑而后能得。 ——《大学》

工作性质不能局限思维活动,体力活动的水平不应该限制脑力活动的水平

redis数据结构与对象
  • 字符串对象
  • 列表对象(list object)
  • 哈希对象(hash object)
  • 集合对象(set object)
  • 有序集合对象(sorted set object)

关于API

A well defined pipeline to process requests
REST API done right (methods, status code and headers)
Validation made easy(validation应该简单,对不符合预期的一概拒绝)
Security beared in mind (authorization,使用jwt、“Authorization”头,采用https保护token)
Policy based request throttling (ACL有时候API有特殊的要求,例如指定国内7点到9点可以访问)
Easy to add new APIs
Easy to document and test(应该包含method、path、request、response)
Introspection(API应该有基本的速度访问控制)

再谈API的撰写-架构

Little Manual of API Design

什么是真正的restful架构,什么是非典型restful架构

“thin controllers, fat services” methodology

*Education is an admirable thing. But it is well to remember from time to time that **nothing that is worth knowing can be taught

  • 查看文档,基本的运维说明
  • 配置环境,拉取源码,查看项目结构
  • 采用git源码管理,手动部署项目,使用简易脚本切换 机器,部署代码而不是敲命令。

工程化

如何配置golang开发环境

如何建立基本的git源码管理(gitlab服务器)

如何运维,更加方便快捷的连接到服务器,jump web data sandbox

是否应该使用 jenkins或者其他的部署工具,

使用微服务,如何处理订单或者处理服务间的事务

微服务部署的最佳实践方式,单个服务的快捷部署。

微服务的kubernetes运维

一个微服务的基本结构

kc:一个服务主要分为client,service

  • service主要实现该服务的具体方法,直接与dao层数据库交互
  • client抽象封装了grpc的调用过程,使得外界调用参数更加简化,基本是调用本身服务
  • 加载配置文件,根据配置文件生成连接客户端,mysql、ssdb、kafka
  • 所有的微服务都使用同一个 数据库,所以事务保证就可以很容易做了(使用不同的库?还是相同的库)
  • 统一使用protobuf作为序列化工具,从服务间调用到restful调用

微信登录原理与流程,grantToken,验证码,

web框架的原理,tornado、beego、gin

golang 正则表达式(regexp.MustCompile(“Bearer (\S+)”)) bearerTokenRegex.FindSubmatch

base controller 基本信息设置,获取token,输出json

日志级别与收集,

缓存的利用

代码级别的事务如何实现

reportresult、getcouponlist

简历该怎么写

1.负责企业应用微服务架构的模块设计,承担核心功能模块的代码编写;
2.互联网新技术的预研和产品化的工作;
3.优化系统性能以及重构系统。

实现了什么功能、选型、方案?遇到了哪些问题?

HTTP