thumbnail
运维两周:乐学网的重建
山穷水尽疑无路,柳暗花明又一村 乐学网(https://cms.hit.edu.cn,现外网无法访问),是哈尔滨工业大学主管创立的一个教学服务平台。该平台最早由孙志岗老师创建,是以Moodle为框架,进行了大量的修改并且开发了许多独有的插件。 但是好景不长,2012年乐学网创始人孙老师从哈尔滨工业大学离职,乐学网的升级也出现了问题,大量老代码无法升…
thumbnail
鸟 枪 换 炮
众所周知,国内大部分学生,尤其是计算机的学生,特别喜欢使用Hexo作为自己博客的平台。我以前也是使用的是Hexo作为自己的博客平台,每次写Markdown写的不亦乐乎。 在Github Pages上部署Hexo有许多好处,首当其冲的是免费,而且Github Pages的部署可以做到自动化。在编写完新的文章之后,只要打一两行指令就能在远程部署。 但是…
thumbnail
基于Systemd的自动化上报
前言 本以为,回到学校之后,就没有每日上报了,没想到每日上报居然还像以前一样照常进行。我本来是想,不使用自动上报系统,每天手动上报。让我始料未及的是,学校一边把学生关学校里,一边让学生继续进行每日上报。这是在是脱了裤子放屁,应该让不正常的学生上报,而不是让所有学生(绝大部分还是正常的)上报。于是乎,我向好友琦琦(利用云服务器实现自动化的作者)索要了…
thumbnail
软件构造课程总结
如果说,离散数学、算法设计这些课是教我们如何如何称为计算机科学家的话,软件构造则是教我们如何成为一个更好的码农而已。 在计算机学院之中有这样一种风气,将写代码的码农抽象化为��������‍��,而将计算机科学家抽象为����‍��。甚至有的人觉得软件构造这门课根本没有必要,毕竟以后是做����‍��的人,学��������‍��这些技术根本没有用…
thumbnail
愉快地写Java————Java库的开发以及发布
前言 众所周知,Java编程语言的各种语法十分繁琐,很多东西使用起来十分不方便。比如Java就没有属性这一功能,使用就非常麻烦。 比如,超级语言中: public string Name { get; set; } 在Java中要达到相同的效果,就只能这么写: private String _name; public String getName(…
thumbnail
软件构造实战!重构HIT-Schedule-Master-Core!
前言 依稀记得,很久以前做过一个课表软件咕咕咕。在寒假的时候,做了一些微笑的工作,将前端与后端的代码分离到两个仓库里,然后@FerdinandSukhoi(下称SDL)将库重新搞了一下,形成了新的版本,还在其基础上开发出了命令行客户端。 在学习了软件构造的课程之后,感觉很多地方写的问题很大,因此这次在原来的基础上进行小规模的重构,使其符合软件工程的…
thumbnail
语法啰嗦——我为什么讨厌Java(2)
楔子 上回,我们引出了超级语言,并且介绍了超级语言的一些特性,讲超级语言与Java进行对比,我们今天讲的深一点,从深层的方面了解一下为什么我讨厌Java。 语言先天劣势 泛型,真的有吗? 我们观察一下以下的Java代码: int sampleInt = 5; Integer sampleInteger = 5; List<int> in…
thumbnail
介绍“超级语言”——我为什么讨厌Java(1)
什么是超级语言 超级语言是一种说法,描述的是一种十分好用的语言,这种语言的功能丰富、开发效率高、在使用这种语言开发程序的时候使用者能赏心悦目。 试着对比以下不同语言实现相同功能的代码: class Point { public: int x; int y; std::string tag; Point(int xVal, int yVal, con…
thumbnail
软件构造实验模板
模板介绍 近日,我将软件构造实验中的一些共性的部分提取了出来,并且创建了一个仓库存放这个模板,以供以后使用。这个模板配置了gradle与GitHub Actions,能够开箱即用,适应实验硬性规定的目录结构,还能在远端编译完成之后下载编译出的Jar。由于这个模板采用的是WTFPL开源协议,所以其是不受任何限制的。 虽然在这个模板里,我写了一个REA…