程序员节的个人记录
程序员节
程序员节(英语:Programmer’s Day)在俄罗斯定为每年的第256天(256 = 2的8次方 ),在中国常常被定义在10月24日(1024 = 2 的10次方,也是存储单位换算时的比例)
-
给自己一点鼓励
1
([~!+[]+{}][~+[]]+{})[!+[]*!+[]]+({}+[])[[~!+[]]*~+[]]
打开浏览器,按下 F12,在 console 中输入上面代码回车,嗯… 果然 NB!
-
网页编辑器
1
document.body.contentEditable='true';
打开浏览器,按下 F12,在 console 中输入上面代码回车,然后你就可以像编辑 word 一样编辑网页。
-
用python画个❤
1
python -c "print('\n'.join([''.join([('1024'[(x-y) % len('1024')] if str(((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3-0.00001).startswith('-') else ' ') for x in range(-30, 30)]) for y in range(15, -15, -1)]))"
任何有 python 环境的地方(例如cmd)执行上面的代码,可以看到用字符画组成的心形
编程语言的学习
从2023年6月决定转码,到现在已经完成的学习内容:
Java语言:Java SE,JavaWeb,JDBC,SpringBoot,JavaFX
数据库:MySQL语法、Druid连接池、MyBatis-Plus
前端页面:HTML和JavaScript语法、Vue使用
博客改版记录
托管在Github上的网站,既可以用来展示自己写的学习心得,也可以提供对外展示的窗口。最初为了节省建站折腾的时间,使用 Gridea 平台编写文章后发布,最初只是发布一些工作中的软件使用总结,方便自己在后续使用时查找。2021年底因为换了一台工作用的电脑,而新电脑上Gridea无法正常连接到个人网站的项目,我当时又没有足够的时间精力完成网站重新部署,因此网站有一年多的时间不再更新。
在决定转码之后,觉得自己有必要完善一下个人页面,因此随着Java语言的学习进入到JavaWeb阶段,开始接触HTML和JavaScript语法时,我开始在网上浏览其他人的主页,我应该怎么设计我的博客?如何搭建一个体验好的博客? | 张洪Heo (zhheo.com) 对我的触动很大。我最终决定使用 Fomalhaut开源模板 重新搭建网站,最终在2023年10月2日上线新页面。为了避免再次出现无法将变动上传到项目main分支的问题,我在本地调试完成后,先将源代码上传到Github私有仓库,由系统自动调用Github Action实现网站更新。
个性化变动
-
背景图片:从我的个人微博下载了带水印的照片,再经过一次压缩即可作为网页背景使用。默认黑夜背景是在泰国拍摄的蒸汽旅游列车;默认白天背景在桌面端是上海莘庄拍摄的国铁普速和轨交5号线列车同框,在手机端是上海恒丰路天桥拍摄的沪宁城际、京沪铁路、轨交三四号线列车同框。在可供替换的背景图中,也有一些我拍摄的好图。
-
随页面进度滚动的船锚:根据唐志远博客的文章 请收下这只可爱的猫咪吧 布置,感觉在船锚外边框如果加一个轮廓会和背景配合更好,但感觉对页面整体效果影响不大,因此暂时维持现状。
-
Github贡献图:在我的Github首页使用了 Platane/snk 代码实现贪吃蛇效果,在个人网站的“关于”页面引入 hexo-github-calendar 项目的技术。
-
文章统计表格:参考 Hexo 博客文章统计图 | Eurkon 布置,在上线过程中也出过无法显示的问题,感谢作者提供的解答。
引入的功能
- 利用不蒜子API实现的访问次数统计
- 参考文章 基于 Hexo 键入评论功能 利用MongoDB数据库实现的Twikoo评论功能
解决的bug
-
由于博客的IP地理坐标API,对于来自其他地区的请求存在限制,在我上线后测试时,公告栏的欢迎窗口时常不能正常显示,在控制台输出
Uncaught ReferenceError: ipLoacation is not defined at showWelcome (fomal.js:100:61)
。- 为了支持其他地区的访问请求,切换了ip地理信息请求的API源。但由于浏览器访问https网站时,会拦截向http协议发出的请求,导致本地在 localhost 环境下虽然能正常显示,部署后却无法正常加载。
- 最终解决:利用Vercel反向代理,获取访问数据源的IP后,向API源发出请求,将返回结果打包封装后转给前端页面。
-
文章页面显示为空白:在Github Action的使用教程中,建议将网站上线的版本和本地版本保持一致,避免出现布局错误。
- 本地部署的node版本是v18.18.0,一开始将 Node.js 也配置为最新版,结果造成博客中的文章加载时都是空白。
- 后续将配置文件中的 Node.js 版本设置为v14,又出现了
error workbox-build@6.6.1: The engine "node" is incompatible with this module. Expected version ">=16.0.0". Got "14.21.3"
的错误。 - 最终解决:将 Node.js 版本设为 v16,避免版本太低或太高
尝试后失败
- i18n国际化,尝试安装 hexo-generator-i18n 实现英文界面的切换,但是菜单栏没法按设想的随语言变化
- 将不同的Vercel项目集中在一起:尝试将Github Calendar 和地理信息API放在一个项目下共同管理。实际调试中频频报错,最终未能成功