初次见面,请多关照
名字,袋鼠。WeChat:lihao33499 mail: 466178395@qq.com
Senior backend engineer based in Tokyo.
Senior backend engineer ,base HangZhou 。工行。
喜欢一些话,分享给大家:
坚持做正确的事情。
追求卓越,成功会来找你。
努力到感动上天,上天会来帮你。
前言:
下面是自己在家动手做的一些小demo。按照时间先后,记录下来。
1.SSM框架 从零开始搭建
Git path:https://github.com/lihao5257/lihao01.git
工作中用的比较多,但是还是独自从零开始做一遍的机会较少。思路比较简单,jar包,spring和mybatis 的整合,之后写个单元测试验证一下,之后与SpringMVC整合,web.xml文件的配置。过程中遇到些小问题,很快就解决了。但是有一个问题花的时间比较久。
问题描述:
使用了注解,在启动工程时,报错,没找到绑定的bean。这个东西,乍一看,认为原因很简单,肯定是注解哪里遗漏,可是查了两遍,发现注解部分没有问题啊!!!后来查明了原因。
解决方法:
在web.xml文件中,下面的监听器,我没有加上。
1 <listener> 2 <description>spring监听器</description> 3 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 4 </listener>
这个监听器有什么作用?在创建servlet容器的时候,创建Spring容器,并加载我们在context-param中配置的contextConfigLocation。
在这里再说一下,Spring容器和SpringMVC容器的关系。
Spring容器的启动是先于SpringMVC容器的,可以把Spring的容器看作父容器,SpringMVC的看作子容器。因为启动的先后顺序,所以,父容器不能使用子容器的bean,但是子容器可以使用父容器的bean。
2.短链接服务系统开发
Git path:https://github.com/lihao5257/lihao01.git
我看了一位前辈写的博文,觉得挺好的,就照着他的博客里的记述,自己动手实践。
博文:https://javadoop.com/post/url-shortener
(项目里面用到Guava cache ,找到了一片博文 http://bylijinnan.iteye.com/blog/2225074
里面讲Guava cache的主要知识点都涵盖了,推荐!有小伙伴不懂的,可以给我留言)
3.群发百万封邮件
想弄个带有自己名字域名的邮件,并且想群发百万邮件爽一爽。写着玩。目前,已经实现客户端正常接收、发送多封邮件。至于群发百万邮件,失败。
(失败原因,网络方面太多的限制,白名单设置等。最终运维,网络安全方面的限制,停下了。)
4.DSL语言控制流程
看到美团海盗中间件的一篇文章,很有感悟。
原文:https://tech.meituan.com/sep_service_arrange.html
因为美团的海盗中间件还未开源,自己想立个项目,创建一个类似的海盗开源中间件。
2019/02/19 追记
工作加班,现在正在coding。。。
2019/10/21 追记
放弃,思路凌乱!!!
5.蚂蚁金服开源项目 SOFARPC
负责H2的TLS部分,东西不难,挺有趣,学到很多知识,交到朋友。已提交代码,并且被采纳。
这是参与的第一个开源项目,有些紧张,但是,负责人很nice,也给了许多帮助。途中,解决一个个问题,到最后成功搞定,很有成就感。以后继续多多参与开源项目。
6.Elastic Search
想用Elastic Search 做点小东西,思考中。。。
2020/04/23 追记
筛选情侣号的一个小场景。
数据源有20,000,000个号码,需要后八位一样的号码为情侣号。将这些号码,插入到ElasticSearch中,进行索引。所有号码都放到索引A中,情侣号码放在索引B中。
2020/05/28 追记
上述内容完成。算是从零到一,搭建框架,了解基本的使用。
7.自己搭建梯子
2022.12.13 就是想看看墙外的世界。自己动手试了试,挺有意思的。
方案一
wget -N --no-check-certificate -q -O trojan_install.sh "https://raw.githubusercontent.com/V2RaySSR/Trojan/master/trojan_install.sh" && chmod +x trojan_install.sh && bash trojan_install.sh
推荐方案二
它带好用的管理平台。可以分配用户和
source <(curl -sL https://git.io/trojan-install)
上面是网上找的解决方案,亲自尝试都可以,推荐方案二。方案一,需要自己手动配置一下安全证书,此外,用户管理页面中,用户功能缺失。
8.搭建音乐服务器
2022.12.14 觉得有趣,照着前人的足迹一点点弄。
参照链接:
https://www.wdbyte.com/music-server.html
---------------------------------------------------------------------------------------------------------------------------------------------------------
读过的书籍:
《淘宝技术这十年》 子柳
书的内容写的一个长期的淘宝网站变化过程,具体的技术细节无法描述,但是对于掌握网站整体的脉络,还是有好处的。一天就可以读完,建议下载PDF版本阅读。
《Spring源码深度解析》 郝佳
我是工作一年后,阅读的这本书籍,当时啃了3个月,把第一部分核心实现(容器、bean)弄懂。啃得蛮辛苦的,经历了这么多年的框架肯定十分复杂,一遍遍读,一点点跟着作者跟踪源码分析,自己也学着画UML图,收获还是蛮大的。自此,再看其它源码,心中没有畏惧了。
《GRE词汇精选》
过了英语6级,有些懈怠,不爱背单词了,发现还是词汇匮乏,因此买了这本书,闲暇时背几个单词消遣时间。在国外工作,一个人的外语水平决定了发展的上限。语言这个东西一定要多使用,有机会的话就把自己放在外语的环境里磨炼,或是工作中查询google英文的搜索,少用百度进行工作相关的东西。
《Thinking in java》Bruce Eckel
Java经典书籍,不多说了。读了能有6、7遍了吧,帮助个人对Java语言的了解。
《Java并发编程实战》 Brian Goetz 与他人共同编写
并发经典书籍,补强了并发方面的基本功。随着能力的增长,不同时间读这本书,收获各有不同,强烈推荐。书中翻译的内容,确实略有瑕疵,但是能翻译到这样,已经非常不容易。请将精力放到书中的讲解的精华上面,一些错别字或是语义简单的不通,请忽略。
《深入理解 Java虚拟机》周志明
这本书是Java开发人员必备。GC的讲解,Java字节码的讲解,Class加载流程等,讲解的非常到位。
《Mysql技术内幕 InnoDB存储引擎》 姜承尧
此书对Mysql讲解的非常好。作者是有多年经验的DBA,对Mysql的细节讲解的非常到位(书中不包含分布式的内容),不要错过。
《大型网站技术架构 核心原理与案例分析》 李智慧
200多页的小册子,对互联网网站架构的讲解。互联网的知识如此浩瀚,200多页肯定不能非常详细。但是,作者已通过一些边框的讲解,让读者尽快地有个大体的认识。这已经非常好的。剩下,对某一方面感兴趣的,可以自己深入学习。
在此,附上一个架构学习的link,作者是一个facebook的lead,非常棒:
https://github.com/donnemartin/system-design-primer
《Effective Java》第三版 英文版
收获不大,讲解一些Java语言新版本的一些特性。在这个信息迭代如此快速的时代,这本书,个人觉得,帮助不大。
《凤凰架构》 周志明2021年出的新书,强烈推荐
描述了系统从单机转向微服务,网格服务,无服务,这种转变,配上了项目的代码非常棒。
还系统性地描述了系统安全、分布式事务相关的知识,受益匪浅。
《Netty实战优化》
这本书讲的很好,可惜本人工作中,IO部分用的偏少。
---------------------------------------------------------------------------------------------------------------------------------------------------------
好的链接、资源:
1.http://www.ruanyifeng.com/blog/
阮一峰老师博客,每周【更新科学爱好者周刊】,值得一看。
2.https://www.javadoop.com/
一位前辈,博客里不浮躁,不做作,认真求实的态度值得学习。干货很多。文章更新较慢(一是因为工作忙,二是确实需要大量时间来完成一篇优质文章)。
(目前,已经停更2年,离开魔都,希望博主保重)
3.https://nomadlist.com/
fantastic app helping people explore the world !
4.https://docker-curriculum.com/
docker toturial 从0开始学习docker,里面讲解的非常好。而且,还告诉你在亚马逊云上玩。很有趣。
5.https://nickcraver.com/
StackOverflow engineer写的博客,非常棒。整个网站的架构情况,里面写的很清楚。
陆续更新中。。。