第二十二期:1040 俄罗斯方块 和 周报生成器

180 阅读4分钟

这里记录工作中遇到的技术点,以及自己对生活的一些思考,周三或周五发布。

封面图

好友复刻的《俄罗斯方块》,终端版。

关于好友:精通各种语言,C,Python,GO, 后端所有的语言,没有他不精通的。一直是我的榜样。

好友的话

又一年1024,忘了从哪年开始,10.24被非官方认定为程序员节。

我从小喜欢计算机,写程序大概是从1994年开始,98年NOI之后,心里就隐约感觉我以后会不会吃上这碗“青春饭”,直到我已经不再青春。

程序员改变世界 -> 我是程序员 -> 我也不知道我改变了啥。可能因为我还没秃。即使我也许还是热爱这个事情的。

前几年的一次1024,我做了一个终端版本的贪吃蛇彩蛋,今年,我又花了三天时间,复刻了这个《俄罗斯方块》,俄罗斯方块的作者阿列克谢-帕基特诺夫,本身就是个非常资深的计算机科学家,1984年他弄出了这确确实实改变了世界的伟大游戏,然而诡异的版权问题并没有给他带来多少钱,虽然他自己并不怎么在意。

我有很多年的游戏从业黑历史,但是即使在“元宇宙”已经爆火的今天,我依然对最原始的console game情有独钟(第一个电子游戏是在示波器上做出来的),我认为,字符终端是程序员最纯粹的浪漫,最简单的平静。于是我毅然决然地在已经五六年没有写过c程序的上个星期,写出了“#include "curses.h"”。

为了兼容ssh方式,这个小程序完全基于ncurses,没有调用其它任何硬中断,所以玩起来可能不那么跟手,显示效果也很大程度依赖于使用的terminal emulator,下面的图,是在windows terminal截的,如果是个什么奇奇怪怪的vt100支持不完整的终端,或者用了什么非等宽字体,估计界面就支离破碎了。ncurses就这样 [Emm],同时,行宽默认是16块,玩起来可能有点累。

体验地址:ssh://np1024@101.42.101.44 密码也是np1024。 源码在这里:github.com/drnp/tetris1024

祝所有同行们节日快乐,少掉头发,少加班,多赚钱。[爱心][爱心][爱心]

Week Report 周报生成器

最近一直在思考一个问题: 我们在开发的过程中总是会遇到各种问题,产生问题的根本原因是因为我们没有对需求有一个真正的理解。在需求讨论会上,参与讨论的往往是产品和后端人员,前端人员似乎很少真正的参与到讨论中。

解决这个问题的方法似乎也很简单,需要我们对产品有一个全面的思考。业务逻辑,业务逻辑的细节,技术实现的细节都需要考虑到。

但是养成这种思考的习惯,并不是马上就能办到的事情。于是这几天就给自己找了个需求,试着看看自己能不能梳理一下,作出来一个东西。

很多程序员,产品,测试包括一些其他行业的人,都会有写周报的需求。那么就先撸一个周报生成器吧。

上面展示的是这周花了几个晚上,先撸的第一个版本。主要针对程序员的需求。也算是自己为了迎接1024的花的一点小心思吧。

布局上采用三栏布局。左侧周报名称,中间编辑区域,右侧预览区域,支持实时预览。

技术上使用:本地缓存IndexDB进行缓存。非常简单。

原本想做的复杂一点:预览区域支持自定义皮肤,可以选择部门,支持生成产品经理,测试人员的周报等等...

目前只支持程序员的模板,复制富文本到邮箱,导出PDF。

先就这样吧。

体验地址:www.909500.club/week_report…

源码在这里:gitee.com/mynoe/week-…

最后

公众号《javascript高级程序设计》,搜索关注吧