本文编写于 517 天前,最后修改于 507 天前,其中某些信息可能已经过时。

最近在准备python国二考试,毕竟还是普及性考试,两天看完指导教程,然后目前在做题库,顺便网上扒了扒相关的资源 留个存档

我的复习方式

先是用pm2挂载了个在线的jupyter notebook这样所有的实例代码以及运行结果都可以放在同一个笔记本界面,就十分方便,并且只要有网络的地方就都可以执行python代码,也就是说,可以在iPad上执行一点简单的python代码,不用新建环境,非常棒,并且它甚至还支持markdown

怎么挂载呢?

使用node模拟执行命令行命令即可,理论上可以实现所有shell操作

在普通安装完毕jupyter notebook后,新建一个js文件,把以下代码放进去,在pm2中执行就行

//jupyter.js
//指定运行用户
if (process.env.NODE_USER) {
    console.log("run as "+process.env.NODE_USER)
    process.setuid(process.env.NODE_USER)
}

var exec = require('child_process').exec;
var cmdStr = 'jupyter notebook --allow-root';
exec(cmdStr, function(err,stdout,stderr){
    if(err) {
        console.log('start notebook error:'+stderr);
    } else {
        console.log('ok!');
    }
}).on('exit', function (code) {
    console.log('子进程已退出, 退出码 ' + code);
});

解释:

  1. cmdStr中的jupyter notebook这句就是用来启动jupyter的语句,但一般你关了命令行界面,就停止执行了,所以要用pm2来进行进程守护操作
  2. exec(){}即用来执行相关的命令操作
  3. pm2 甚至可以用来托管php,比如我托管了一个基于swoole websocket的在线聊天室,你可以通过chat.moechu.cn访问

几个相关社区

  • stackoverflow,这是一个程序员的知识库;
  • v2ex:国内非常不错的编程社区,不仅仅是包含程序,也包含了程序员的生活
  • segmentfault:一家以编程问答为主的网站;
  • CSDN、知乎、简书、不正经程序员等。

推荐网站练习

  • crossin编程教室实例:相对于编程教室基础练习着重于单一知识点;
  • 编程实例训练对基础知识的融会贯通;
  • hackerrank:Python 部分难度循序渐进,符合学习曲线
  • 实验楼:提升编程水平从做项目开始;
  • codewar:社区型编程练习网站,内容由易到难;
  • leetcode:为编程面试准备,对初学者稍难;
  • 牛客网:提供 BAT 等大厂笔试题目;
  • codecombat:提供一边游戏一边编程;-
  • projecteuler:纯粹的编程练习网站;
  • 菜鸟教程100例:基于 Python 2 的基础练习;

参考资料

  1. 摘自CSDN博客
  2. 计算机专业学习资料总结