OpenEdx的外部评分系统,可与OJ配套使用

作者已经说明外部的评分系统很适合程序设计实践类课程,OpenEdx的LMS可以让学院提交作业的代码,外部评分系统可以测试并返回学生提交的代码的得分。

继续阅读OpenEdx的外部评分系统,可与OJ配套使用

关于NSX和软件定义网络

由于工作的原因,一直负责一个小型网络的维护,这个小型的网络有8台服务器,20多台交换机,4台防火墙和6台路由器,甚至还有一些无线控制器和无线接入点,平均算下来用户有500个。前几年自学了vSphere相关的技术,在实验室内部搭建了一个小型的虚拟化平台,并逐步扩展到了分布式交换机。通过这些技术的使用和相关经验的积累,这个网络的可靠性还是比较高的,也一直对这一块比较满意。对于SDN(软件定义网络)也一直只是听说,并没有实际应用。

继续阅读关于NSX和软件定义网络

OpenEdx证书功能的启用

     在OpenEdx(Ginkgo)的CMS界面中,课程管理的URL为/course/course-v1:edX+DemoX+Demo_Course,开始查找对应的URL文件。在urls.py文件中找了
url(r’^course/{}?$’.format(settings.COURSE_KEY_PATTERN), ‘course_handler’, name=’course_handler’),顺便看下COURSE_KEY_PATTERN的内容,在lms/envs/common.py文件中找到如下定义
COURSE_KEY_PATTERN = r'(?P<course_key_string>[^/+]+(/|\+)[^/+]+(/|\+)[^/?]+)’

继续阅读OpenEdx证书功能的启用

OpenEdx的购物车分析(ginkgo.1)

1、OpenEdx的购物车代码在lms/djangoapps/models.py文件中,首先分析模型:
class Order               #订单(含有一批物品)
class OrderItem       #订单中的一个物品,有一个外键 order指向Order类。
其中Order是用户的订单,其中Order.status为用户订单的状态。如果status==’cart’,则意味着该订单还未结算,物品仍在购物车。如果status==’paying’ 则意味着进入支付状态,此时相关信息不可修改。
2、两个和优惠码有关的类
class Coupon
class CouponRedemption   #优惠码赎回,因该是用户使用过的优惠码存储的地方。

在安装多个python的环境中用制定的版本的解释器运行程序

       由于Python的相关库版本众多,且库之间还有较大的差异。因此一个经常遇到的场景是在一台机器上使用”virtualenv”安装多个python环境,并用指定的python来执行某些程序。在人机交互的时候可以通过命令”source ./v1en/bin/active”进入相应的环境并执行程序,但有时需要用系统的定时任务crontab和supervisor来做这些事情。如下是对应的解决办法:
      在执行程序时直接写上带有绝对路径的python名称和对应的程序名称,例如
       /home/abc/v1env/bin/python /app/hello/abc.py
       如果程序所在的目录需要加入PYTHONPATH中则需要先进入这个目录,例如
       cd /app/hello/  &&  /home/abc/v1env/bin/python /app/hello/abc.py

关于React和DRF的整合(修改分页后返回的内容)

       对于前端的表格数据,需要返回数据本身的序号,不是这个记录的ID。如果直接使用DRF的序列化功能则不能产生这个序号,因此要对DRF内置的ListModelMixin类进行修改。

继续阅读关于React和DRF的整合(修改分页后返回的内容)