从来没想到过,有的作者会在C语言的教材提出这样的问题,而且有的学生会看这样的教材。总之是个++i和i++的一个复杂组合问题,如果你没遇到这个问题,你还是不要看了,如果你遇到这个问题,说明你自己有问题(学习方法的问题)。问题如下: 继续阅读一个怪异C语言问题
作者:淘
OpenEdx用户登录失败次数过多导致的账户锁定问题
使用OpenEdx的过程中发现,当用户频繁登录失败会导致账号锁定。跟踪代码发现,相关的中文对应的英文如下:
This account has been temporarily locked due to excessive login failures
根据英文提示,找到在dogwood中对应的代码位置如下(在新版本中已经不再这个文件了):
Tutor版本的OpenEdx的初始配置
使用Tutor安装完成OpenEdx后即可通过域名方式进行访问,由于Tutor使用一个nginx的容器转发所有的网络流量,其利用域名分别处理对lms和cms的请求,但在内网中,这种方式反而麻烦。因此打算将其改成基于端口的模式,预期将lms和cms分别绑定在80和81端口。配置方式如下:
使用Tutor构建OpenEdx的ironwood版本镜像
本次拟打算用比较新的tutor版本来构建镜像,当前最新的tag是v3.12.2。在使用前下载安装好docker-compose,这个docker-compose一定要直接下载二进制文件安装,ubuntu16.04自带的docker-compose版本太老,达不到tutor的要求,安装tutor使用命令如下:
试用Tutor构建OpenEdx的Docker镜像
一、环境准备
本次打算使用”tutor”的 “release/hawthorn”的分支,在使用的过程中发现该分支需要使用”python3.6″的版本,因此先在Ubuntu16.04安装python3.6,安装过程不再描述。安装后使用virtualenv创建虚拟环境,创建并激活虚拟环境后用源码的方式安装”tutor”,下载并安装tutor的过程如下:
用tutor启动docker版本的openedx
一、安装的过程:
安装教程提到了简易的安装方式,即使用“tutor local quickstart”即可进行镜像下载和启动。该命令会在启动时提示用户输入网站域名等信息,这些信息会被保存在“~.local/share/tutor/env/local”目录中,其中有这个文件比较重要:
~.local/share/tutor/env/local/docker-compose.yml #存放服务的启动文件
~.local/share/tutor/env/local/docker-compose.jobs.yml #存放初始化的启动文件
~.local/share/tutor/env/apps/nginx/ #存放nginx的配置文件
~.local/share/tutor/env/apps/openedx/ #存放lms,cms的配置文件
OpenEdx修改IP地址产生的问题
由于OpenEdx安装复杂,一个简化安装的方法是使用云或者虚拟化的镜像功能,但镜像在重新部署后会遇到IP地址改变的问题,这个过程会导致OpenEdx的RabbitMQ(消息服务)丢失配置,并出现如下的错误信息,当前使用的OpenEdx为ginkgo.2版本。
多媒体信息处理与检索
课程信息、课件资源下载。点击“继续阅读”下载课件。
程序设计综合实践(2018-2019-1)
如何配置OpenEdx的Ecommerce
ecommerce是openedx的商品购买模块,在新的openedx版本中,ecommerce已经取代了原来的shoppingcart模块。由于ecommerce模块较为复杂,其与edx-platform通过API接口进行通信。由于这种原因其配置和调试较为困难。为了方便文档的表述,将ecommerce的域名为http://ecommerce.site,将edx-platform中lms模块的域名为http://lms.site,配置过程如下(本操作基于ginkgo.2版本):