碌碌无为的11月,全都花费在了专业课的实验上。于是乎11月又没有更新(上一次更新是补的10月的),今天补一个11月的更新,聊一聊最近实验中用到的一些新鲜玩意儿。
最近遭遇了数据库、大数据以及操作系统三门专业课的实验围攻。
前两个还好说,数据库没有指定语言,老师推荐用C#来写C/S和B/S结构,但是我喜欢Java(轻车熟路去谷歌复制粘贴JDBC的代码)。数据库我使用了PostgreSQL,而没有使用书上的SQL Server,Windows 10打开WSL2之后直接放进Docker里,虽然虚拟化会受影响,但是VMWare也不是不能用,更何况我也不是重度虚拟化用户,问题不大。关于C/S结构,涉及到客户端,换言之老师想看一个漂亮的GUI,这可算是难倒我了,好在JavaFX并不像前几代那么难用,IDEA自带的图形化编辑器就能解决问题。而B/S结构就是另一回事儿了:实话实说我并不太想用JSP,但是也不想跟Kotlin写Ktor一样什么都从头开始,对于一个专业课的实验来说,我认为这样可以,但没必要。最终框架选择了Javalin,是我切换到Ktor之前的选择,至于HTML,我发现了JTE,这东西更像是轻量级的JSP,或者Angular那种,按照语法定义if或者for之类的,你给数据,它就能根据模板渲染出HTML来。但我万万没想到的是,最大的困难竟在CSS上。做出了表格显示数据,我想是不是可以再做好看一些呢,比如加一点颜色,线框整的花哨一点,奇偶行颜色不一样什么的。遂写了16行CSS,一测试,没有一行跟我的预期相符,别说相符了,贴边的都没有。转念一想,黑白的也不是不能看,就此作罢,找老师验机,遂结束。
关于大数据的实验,主要用的还是Spark的RDD编程,在Udemy上买了个课提前学了一下,发现并不难。尽管老师指定了要用Python,但是我用Kotlin老师也认,总体来说顺顺利利。
操作系统的实验就是另一个故事了,准确的来说是操作系统的第三个实验:模拟一个二级目录文件系统。10月29号创建项目,语言选择的Java,这个任务涉及对二进制文件的读写,因为要模拟操作系统,所以必定要能够支持随机读写,这样一来一些描述类在写入文件的时候就不能用ObjectOutputStream了,因为它会根据输出时的动作自动往输出文件里写一些标志,之后如果使用RandomAccessFile就不好seek寻址了,尽管可以向磁带一样从头开始读,然后封装个方法假装它是随机读写,我总还是觉得那样不够纯粹,遂开始写自己的工具类。半个月一来啥也没干,光工具类就写了700多行。昨天算是写完了,1766行代码,还没有全面测试,等弄完了肯定会整理成文章发上来的。
新鲜玩意儿就到此为止了,毕竟实验这东西年年都有人做一样的,只不过JTE和PostgreSQL那些只是对我来说新鲜罢了。之后我会尝试将操作系统那个实验整理成文,作为12月(可能还有次年1月)的更新内容。
【随便写写】61 & No effort November &近况 由 天空 Blond 采用 知识共享 署名 - 非商业性使用 - 相同方式共享 4.0 国际 许可协议进行许可。
本许可协议授权之外的使用权限可以从 https://skyblond.info/about.html 处获得。