美文网首页
整理一下做过的个人项目

整理一下做过的个人项目

作者: 周群力 | 来源:发表于2020-12-16 19:19 被阅读0次

整理一下除了工作项目外做过的个人项目,有的是解决问题的工具,有的是练手造轮子,有的是把灵机一动的idea实现出demo

在工作中解决痛点,一些提高效率的小工具,包括:

  • chrome debug插件
    https://github.com/seeflood/console.watch
    刚工作的时候前后端都要写,感觉前端debug别人的代码/开源框架比较烦(很多前端代码写的和套娃一样,可读性不高),写过一个chrome插件,提供“当对象的属性被修改时,控制台进断点”。后来发现做爬虫、分析别人的网页的时候也能用上
  • 自动生成sql建表语句的工具(Vue+jQuery);
    拿vue当模板引擎做的,一个根据数据库表设计生成DDL建表语句的工具。
    当然现在不用了,Visual Paradigm真香

  • 自动生成前端埋点代码的工具(Vue+jQuery);
    写前端的时候还得负责加埋点代码,很恶心,于是搞了个生成埋点代码的工具。
    同样是拿vue当模板引擎,配下要拦截哪些ajax请求,能自动生成埋点代码(代码逻辑:拦截指定ajax请求、抠出来需要的字段、发到后端打日志)
    生成的埋点代码不是这里加一句代码、那里加一句代码,而是一个独立的文件,拦截页面所有ajax请求、过滤出感兴趣的事件、做埋点逻辑。
    代码放在了https://github.com/seeflood/easy-life/blob/master/src/main/js/recorder/template.html
    后来换公司、不需要自己埋点了,这个就没再维护。现在看来这个思路可以优化:不仅可以拦截ajax请求,还可以拦截感兴趣的dom事件

自己造的一些轮子/玩具

  • PUA-RPC
    https://github.com/seeflood/PUA-RPC
    一个java的RPC框架,特点是具有PUA功能:每次RPC调用会打日志,日志中随机加入一条PUA语录以鼓励程序员,而如果出现了RPC调用失败/报错/性能问题等bad case,会在日志中加入批评程序员的话

  • 分布式定时任务调度系统
    毕业设计项目,使用Go语言实现的一个分布式定时任务调度系统,基于Etcd做存储,去中心化的调度(每台机器到了时间都去抢锁,谁抢到谁执行,没有中心化的调度节点),支持多种容错策略(at least once,at most once等)
    做的过程中学了一些分布式系统的理论才意识到分布式系统中的时钟是非常不可靠的东西(除非用原子钟),所以这种去中心化调度其实是有很多问题的,因此不看好同样架构的Elastic-Job(一个开源的分布式定时任务调度框架)

  • javascript容器库
    https://github.com/seeflood/jContainer
    javascript容器库,包含常用容器及相关算法

  • Copy-Paste-Data-Structures
    https://github.com/seeflood/Copy-Paste-Data-Structures
    一个java和Go的高级数据结构库,设计目标是任何数据结构都能单独复制粘贴出来、单独使用,文件和文件之间没有任何互相依赖,以便在打online-judge比赛(比如leetcode周赛,google比赛)的时候能够直接粘贴使用,或者把某个数据结构粘贴到自己的工作项目中做魔改。

  • Advanced-Concurrent
    https://github.com/seeflood/Advanced-Concurrent
    一个java的并发库,刚开的坑,完成度不高,现在只实现了“图线程池”框架,用户只需描述任务之间的拓扑关系、由框架来自动进行多线程调度。
  • 前端mvvm框架
    学习vue的时候看了原理自己写了一个简易版的mvvm框架,时间太久代码找不到了……
    核心就是个数据双向绑定,dom变了改内存变量,内存变量变了改dom

相关文章

网友评论

      本文标题:整理一下做过的个人项目

      本文链接:https://www.haomeiwen.com/subject/ghcngktx.html