jzGradeChecker - 优雅查成绩 Graceful Grade-Checking Experience

链接 Links

  • 网站 Website (包含导出数据查看网页 Includes a webpage for reading the exported file)
  • 演示 Demo (这是扩展的欢迎界面,显示效果与实际扩展工作情况无异 This is the introduction page of the extension, which reuses the same core scripts of the parsing code, working identically to the extension)
  • Chrome Web Store

重要提示 Notice

由于原网站在今年改版,成绩查询服务器已经下线,该扩展的读取成绩功能已经无法工作。但因为扩展自定义了一套 JSON 数据结构,即便服务器不可用,仍可通过离线数据实现信息显示,因此在线演示、导出成绩查看器等仍可查看。

Due to the original website upgrade, this Chrome extension cannot fetch grade data any more (the grade check server is down). However, the demo and the exported data reader still work, because I have implemented a customized JSON data structure, which make the code functional by reading the JSON data even if the remote server is unavailable. 继续阅读“jzGradeChecker - 优雅查成绩 Graceful Grade-Checking Experience”

魔方机器人(网页与 Python 控制程序) Rubik's Cube Solving Robot

介绍 Introduction

本作品为本科专业必修课《科研项目指导与训练》的课程项目。我们选择实现一台魔方机器人,可对打乱的三阶魔方在进行表面颜色识别后,恢复至六面同色状态。

This is a course project for "Scientific Research Project Guidance and Training" course of my major. We chose to build a Rubik's cube solving robot, which can identify a third-order cube's pattern and solve it.

该机器人拥有六个自由度,对六个面进行旋转,并有四个摄像头从四个角进行颜色的识别。此外,机器人采用树莓派作为上位机进行总体控制,采用 Arduino 作为下位机进行步进电机的控制。

The robot has six degrees of freedom, rotating the six sides. It identifies the cube by four cameras from the four corners. A Raspberry Pi is used as an upper controller for the general control, and an Arduino board as a lower controller for the motor control.

项目在最终结题答辩时获得非常高的评价,同一课程中共有 9 组项目。

The project gets an excellent feedback at the final presentation among 9 projects of the course.

继续阅读“魔方机器人(网页与 Python 控制程序) Rubik's Cube Solving Robot”

瞬移吧,时光(飞逝金中 2017 年创意网页)

介绍 Introduction

这是一个利用 canvas 技术的互动相册,其中共有 12 组照片。用手涂抹旧照片会显示出新照片,此外还有可能触发一些“信息点”提示。

You can see this as an interactive album with canvas technology, in which the scene in a same place changes over time by wiping it with your finger, and stories hid behind specific positions in the photo may pop up.

该页面上线后,通过校友的微信朋友圈自发传播,截至 2017 年 5 月已获得近 5000 次点击,完整体验次数达 1000 余次,留言 72 条。

I put 12 couples of photos in the album. After sharing the webpage on the social media, ~5000 page views and 1000+ full journeys have been made to date (May 2017), while 72 comments with thoughts about the high school in the album are left.

继续阅读“瞬移吧,时光(飞逝金中 2017 年创意网页)”

分享一些打磨单页网页的经验

这一篇想讲点老本行。寒假的时候做了一个网页,类似于相册。用大家熟悉的词说,有点“H5”的感觉(然而并不想用这个词)。在这个项目里,我很多精力都被用在优化用户体验上了,觉得应该分享一下。

网页性能的优化

页面用到了 canvas。这部分我是在别人的代码的基础上做了很大的改造再完成的。

跟图形处理一相关,网页的运算性能就会变得很重要,尤其是每一次交互操作都需要进行绘图、需要在手机上运行的时候,要是画面跟不上交互,看着就特别难受。在把基本功能都实现了之后,自然需要处理这个问题。 继续阅读“分享一些打磨单页网页的经验”

学院综合测评系统 Student Evaluation System

效果 Influence

学院每学期会对学生进行“综合测评”。测评规则最早较为简单,可以通过网上常用的电子表单服务实现,但随着测评规则和配套表格的复杂化,其他班级不得不回到填写 Word 表格后手工统计的模式。本系统集成了测评表格和计算规则,设计用于班级内的测评表格收集、自动统计,直接导出要求的测评结果表格,并支持多班级分别使用。

系统在班内(29 人)已使用两个学期,应实际使用需求,在使用过程中增加了测评项目、单次填写多学期的支持。此外系统也为其他 1 个班级提供过服务。使用过的班长均反馈效果良好。 继续阅读“学院综合测评系统 Student Evaluation System”

bPlanner 多学生教务信息整合系统

介绍 Introduction

bPlanner 是一个多学生教务信息整合系统,利用它可以获得一部分学生的课程情况、考试成绩、考试地点汇总等信息,可利用于活动时间安排、考试成绩分析等用途。

虽然系统目前仍是作者个人使用为主,但其已经为作者所在的班级提供多次服务。

其由三部分组成:

  • 开源的 PHP 教务系统读取库,以对象形式调用并处理正方教务系统中的课表、校历、成绩等信息,且可自动利用调课信息对课表进行修改;
    通过替换这一库文件,可对其他使用不同教务系统的学校进行支持;
  • 调用上述接口,将教务信息保存至系统内,并导出为 JSON 文件的 PHP 采集模块
  • 读取导出的 JSON 文件,在浏览器内离线对教务信息进行分析显示的分析模块

借助读取库和一小点代码,可将课表生成为 iCalendar 文件,导入进日历软件。 继续阅读“bPlanner 多学生教务信息整合系统”

汕头实时公交网页设计 Realtime Bus in Shantou

简介 Introduction

汕头市位于广东省,是中国第一批 4 个经济特区之一。目前其市区内的实时公交信息只通过一款手机应用发放,其对于日常使用而言,体验仍过于复杂,乘客需要打开应用 > 手动输入线路或点击“当前站点”按钮后、选择当前站点和线路 > 查看线路情况。

在参考了 CitymapperTransit 等应用的设计后,给出了一个基于网页的实时公交查询设计。在同一个页面上,由上至下列出当前位置附近所有方向线路的来车状态,并以站点分组,点击线路后会显示路线图和车辆情况,大大优化了日常查询实时公交的体验。

网页显示的实时公交数据,需要借助后端 PHP 程序抓取。程序设置了缓存机制,此外还通过保存每辆车的历史位置,对长时间不移动的车辆进行标注提示,提升了数据的可信度。 继续阅读“汕头实时公交网页设计 Realtime Bus in Shantou”

关注选课和刷课的人们 / 特稿

好久不见的特稿,我们来关注大学里很重要的教学环节:选课。

(1) 背景

选课,说起来是个需要技术和运气的工作。或许你觉得「不就选个课还要什么技术」,可在十年前,当正方教务系统刚刚开始在我们学校运行的时候,学生们可是得提前看着选课手册,在规定时间,到机房去完成这件神圣的事情。而现在,趴在床上或许就把课给选了。

现在北理工采用的是,必修课由教务处老师预先排定,不能更改,自己选择选修课的方法。这样的选课没有以前那么复杂,然而也还是有人说自己「莫名其妙地」被选上了几门通选课,结果没去上课,自然就挂了。要是不重视,怎么会连教务系统也不去看?那里面可是可以自己退掉必修课的呢。

背景介绍完了,上干货。

(2) 年级分布

我通过公开渠道,拿到了教务系统 2016 年 1 月选课期间的一些日志,并进行了分析。这些日志的内容为:某用户在某时间访问了教务系统的某个模块。 继续阅读“关注选课和刷课的人们 / 特稿”

从实时公交,看汕头公交现状

汕头公交 App 界面

上世纪 90 年代,汕头曾使用双层公交车运营常规公交线路,看起来十分“拉风”,然而由于各种原因很快就取消了。而今,汕头中心城区的公交少了些华丽,多了些朴实,服务百姓生活是第一要务,近年来也有了不小的发展。

然而,这些年我和身边很多人的体验是:汕头的公交车,班次跟不上其他城市的脚步,服务也差强人意。这能通过实时公交服务说明吗? 继续阅读“从实时公交,看汕头公交现状”

换个方式看汕头轨道交通规划

上周,汕头有关部门公布了这座城市的轨道交通规划的初稿,听起来还是让人小激动的。毕竟,前几年规划还在传说阶段的时候,网友最狠毒的评价就是“汕头也就只能规划规划吧”。

想必你没有仔细研究这个规划的主体内容——路线走向。原谅我这篇来得有点晚,但是我们来换个角度看看这份规划。

1. 哪种轨道交通?什么时候建好?

按照南方日报的新闻稿,汕头将建设“跨座式单轨”。这种轨道交通长下面这个样子。 继续阅读“换个方式看汕头轨道交通规划”