本次年终总结的时间范围为2024年02月26日到2025年2月16日(实际完工3.23)。

年度总结,有的人喜欢放在元旦,有的人喜欢放在春节,而我却基本上要放到春节后,眼瞅着2025的一季度都要结束了。可能跟公司的财年是4月份有关系?这个财年从4月份开始的惯例真是让人讨厌,非常不China。

回首24年,离40岁更近了,还在公司苟着。“你若不离我便不弃”。经济继续不景气,虽然从没放弃心中的理想,但又不敢乱动,只能不断的在心里内耗着,预期新的一年还要继续内耗,跟自己和解是不可能的了。继续小假小玩,大假大玩。五一去了台州临海和神仙居,暑假8月份去了西北小环线。钓鱼、养鱼还在继续,只是不怎么折腾了,偶尔去钓几条小鱼,放到鱼缸里养着。连续三年每年跑365公里的目标依然没实现,只跑了21公里(去年16公里),今年继续这个目标。

关于读书,去年一共读了31本书。整体来看,去年的阅读,大概分成几类。

一类是投资理财(炒股)。读了《日本蜡烛图技术》,《专业投机原理》,《金钱心理学》,《笑傲牛熊》,《笑傲股市》,还有一本《股市趋势技术分析》最近也读完了,都是很经典的炒股的书,看完之后,还是有很大的收获的,虽然没赚到多少。但是确实发现了之前炒股踩过的一些坑,比如“越跌越买被深度套牢”,“不能及时止损”,“频繁操作不敢空仓”等。当然,每本书里都讲了一些选股和买卖点的择机问题,看起来实现技术各种各样,但是个人觉得最重要的是,要学会自律,定好策略,坚决执行,不要被情绪左右。新的一年继续实践,形成自己的一套投资策略。

第二类是身心健康成长与儿童教育的。涉及到《经典中医启蒙》,《儿童健康讲记》,《精神健康讲记》,继续探索中医的奥秘。《看见孩子》,《真希望我父母读过这本书》这两本书主要是育儿的,儿童教育其实是家长的自我发现与个人成长的过程。《认知觉醒》,《微习惯》,《福格行为模型》个人成长类的,属于实践大于理论,如果不实践,读了也白读系列。

第三类是文学小说。终于读完了《哈利波特》的最后两部,本来是给小朋友买的,结果小朋友没看完,我倒先看完了。读完了《约翰克里斯朵夫》,120万字的长篇小说,真长。《银河帝国》看完了前3部,科幻类经典,非常精彩。当初了买了前12部,还剩下9部没看,争取今年看完。

其余的,重读了《人性的优点》和《人性的缺点》,上个世纪的“心灵鸡汤”。不过在处于人生的特定境况下,比如忧虑的时候,偶尔喝点“鸡汤”也确实有疗效。

去年多了很多书,大部分内容可能都记不住了。有时也会被问到读书有啥用,想想也确实没啥用。所以我一般回到,没啥用,就是图个乐子,就像有些人喜欢刷短视频,有些人喜欢跑步,而我恰好喜欢读书。

关于影视娱乐,24年一共看了19部影视作品,其中16部电影和3部连续剧。有娃之后,基本很少有时间来刷剧了,不像有的人喜欢用手机刷剧,这样可以随时随地去看。而我看电影或者电视剧,更喜欢在大屏上放下其他事情用一整段时间放松地享受的。而要在繁琐的工作和家庭生活之中,抽出一大段时间太难了。

所以现在很多时候是一家人去电影院看,不得不提年末的《哪吒之魔童闹海》,不仅刷新了国产动画的纪录,甚至在全球票房排行榜上都到了第五,不愧国货之光。另外,小朋友比较喜欢的《神偷奶爸》,《巧克力工厂》也陪着在电视上看了好几遍。《哈利波特》正好是看完书再去看电影,也很有趣。相比看新的作品,回味老的经典作品,也是别有一番风味。喜欢刷老剧,难道是老了的象征?

新的一年,期待很多。经济会复苏吗?AI会发展到什么程度?人形机器人要来了吗?今年能完成自己的计划吗?

上一篇文章是《你好,GitHub Pages!》

当时是用GitHub Pages搭建了新的博客,并把之前在WordPress里的文章迁移过来了。

用了一段时间之后,发现搜索不方便,虽然通过使用giscus实现了文章的评论。

后来,自己用Java开发了一个博客系统,但是由于购买的云主机性能比较差,运行Java系统特别慢,于是最近又迁移到了Typecho系统了。

希望这次是最后一次切换。果然差生文具多,文章没写几篇,博客系统换了好几个了。

计划把博客从云服务器的WordPress迁移到GitHub Pages上来。

今晚测试搭建,一切顺利。

后续逐步把历史的文章往这里迁移。

以下测试下代码高亮:

class Solution{
  public static void main(String[] args){
    System.out.println("Hello, GitHub Pages!");
  }
}

2024年都过去两个月了,我的2023年度总结姗姗来迟。迟到总比不来好。

回首过去的2023年,工作上公司组织史无前例地频繁调整,而我,虽然几经波折,但还在公司"苟"着,期待着公司的“伟大复兴”。

生活上,大部分活动还是以娃为中心。平时上班,周末带娃去周边玩,长假带娃去长途旅行。三月份去了徽行古道,五一去了北京,七月份请长假去了新疆(提了好几年的计划终于实现了),国庆去了期待已久的武功山(结果遇上大雾,神往的高山草甸啥也没看到),春节去了海口和三亚。可能是由于过去三年的疫情的封控,今年旅游也是迎来了报复性增长,感觉一年光出去玩了,今年大概率要降低频率了。

两年前开始的钓鱼/养鱼活动,本来去年是连装备都卖掉了的。不过23年还是又重新开启了此项活动。最终在经过多轮的折腾后,截止目前鱼缸生态已经基本稳定,安心赏鱼了。大概是等天气暖和的季节,去采集一些新的品种来养。新的一年继续保持吧,作为个人爱好。

运动方面,本来希望养成陪娃每周打羽毛球的习惯,不过最终还是没坚持下来,打了几次就终止了。一年365km的跑量也只跑了16公里不到,西湖玫瑰线更是遥不可及。爬山+户外倒是去了几次。今年的运动目标,一个是继续365KM+西湖玫瑰线(三年前的目标),看看能达成多少,另外是能够开发一些跟娃一起参与的亲子运动项目。

读书是毕业后仍然没放下的一项爱好。23年读了23本书。印象比较深刻的有《万历十五年》,《置身事内》,《重走》,《自私的基因》,《人类群星闪耀时》,《以色列-一个名族的重生》。当然作为一名文(gu)学(shi)爱好者,今年继续读完了王小波的《白银时代/2010/黑铁时代》,另外跟娃一起读完了《哈利波特》前五部,还剩下两部留给今年了。年底还看完了陀思妥耶夫斯基的《罪与罚》。

2023年只看了14部影视作品,其中10部电影,大部分是陪娃看的儿童电影,尤其推荐小黄人的《神偷奶爸》,还有《查理和巧克力工厂》,适合与娃一起看。娃后来又自己重复看了不下十遍了。重温了83版的《天龙八部》,不愧是经典,小说写得好,电视剧拍得也好,当然,配乐更好。(PS:果然老了,已经开始听过去的音乐,看过去的电视)。

2024,没有计划,期待更精彩。

在IDEA中打开依赖的jar包中的class类时,编辑器右上方会提示下载源码。点击"Download Sources"会从maven仓库里下载jar包对应的源码。如下图所示:
20240201-idea-maven-download-sources.png

但是,最近就碰到了在点击Download Sources时,提示Cannot download sources。
20240201-idea-cannot-download-sources.png

使用“IDEA Cannot download sources”搜索,发现网上有很多种情况都会出现这种错误,但是也没说清楚原因,只是说几种方式都试下,当然,结果就是,有的或许碰巧就解决了问题,有的可能就无法解决。而我就是试了好几种都没起作用。

作为程序员,遇到问题的第一反应是去看日志。于是,想去查下出现上面的错误提示的时候,IDEA的日志里或许应该有出错的原因的提示。

在IDEA中,点击菜单栏中的Help--》Show Log In Explorer,就可以打开IDEA的日志文件夹,然后在此文件夹中找到idea.log这个日志文件,使用文本编辑器打开这个日志文件,拉到最下面查看最新的日志。可以看到如下的提示:
20240201-idea-maven-sources-logs.png
使用其中的关键词"NoRepositoryConnectorException: Blocked mirror for repositories"去搜索引擎或者chatgpt查询,基本就可以确定原因了。

大概原因就是,从maven 3.8.1版本之后,在配置文件中默认block了http的仓库地址链接,必须用https才可以。然后去检查了自己的本地主目录下的maven settings.xml的配置,果然仓库地址是使用了http协议的仓库地址,换成https协议的仓库地址,然后,在IDEA中关闭打开的工程,去删除工程根目录下的.idea文件夹内,之后再在IDEA中重新导入之前的工程, 就可以download sources了。

以上就是本次问题的排查思路。遇到问题直接搜索或者问chatgpt,未必能够获得答案,还是要自己思考排查,比如去看日志,然后再结合搜索引擎或者chatgpt,这样解决问题更加高效。

PS:在maven安装目录下的conf目录中的默认的settings.xml文件中,有如下配置,正是这个配置导致了Cannot download sources。

<mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:http:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
<blocked>true</blocked>
</mirror>