光标操作

移动

  • 文首:gg / :0
  • 文末:shift + g / :$
  • 行首:0
  • 行末:$
  • 到第一个不是空字符的位置:^
  • 到最后一个不是空字符的位置:g_
more>>

生产者消费者模式(以下简称PC)

生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生产者和消费者的处理能力。

more>>

本文所有快捷键基于iterm2. 有些快捷键被系统屏蔽了,到系统偏好设置中删除无用的快捷键即可 光标操作 显示光标位置: command + / 移动到行首: ctrl + a 移动到行尾: ctrl + e 向前移动一个字符: ctrl + f = Forward 向后移动一个字符: ctrl + b = Backward 向前移动一个单词: alt + f 向后移动一个单词: alt + ...
more>>

翻译:Python’s super() considered super!基础如果你没有惊讶于Python内置的super(),那么很可能你并没有真正知道它能做什么以及它如何有效的使用。本文章就主要在已有的python super()解释的基础上做出进一步的深入,主要包括: 提供了实际的使用cases 给出了理论模型,演示它如何工作 展示如何使super()发挥它的作用 使用super()的建议 ...
more>>

python generator的设计考虑

在一般的程序设计中,function的调用是这样的:从第一行开始,一种执行到return语句结束。这种模式有一个特点:

  1. 单一入口(entry point), 无论调用多少次,都从函数第一行开始
  2. 无状态(Stateless),即函数的local变量每次都重新初始化,上一次被调用的状态丢失
  3. return返回控制权给caller,除非再次调用,控制权不会回来。

而在有些情况下,我们希望的函数可以:yield一些值,也即函数暂时交出控制权给caller,你暂时不要销毁我的本地变量一些状态,因为将来还需要caller返回控制权,我可以继续执行下去。这就是yield以及生成器的设计初衷。

more>>

对于每个系统管理员或网络管理员来说,每天要监控和调试 Linux 系统性能问题都是非常困难的工作。我已经有5年 Linux 管理员的工作经历,知道如何监控系统使其保持正常运行。为此,我们编写了对于 Linux/Unix 系统管理员非常有用的并且最常用的20个命令行系统监视工具。这些命令可以在所有版本的 Linux 下使用去监控和查找系统性能的实际原因。这些监控命令足够你选择适合你的监控场景。

more>>

ssh远程登录

服务器需要开启远程服务

1
2
3
4
5
6
7
8
9
# 针对fedora
service sshd status
# 通用检测方法:
ps -e | grep ssh
# fedora
service sshd start
# ubuntu
/etc/init.d/ssh start[/stop/restart]
more>>

提纲

本文主要从以下几个方面分析python的参数机制:

  1. 固定参数(位置参数)
  2. 默认参数
  3. 可变参数
  4. 关键字参数

在每个部分中,我们区分函数的定义函数的调用
对于函数定义时的参数,我们称为parameter(形参);对于函数调用时的参数,我们称之为argument(实参)。区分这两点对于解释清楚一些混淆的东西很重要

所以,以上的参数机制其实都是指的是函数定义时的形参,而不是调用时的实参!

more>>

解析

Apache/Nginx应该叫做HTTP Server;而Tomcat则是一个Web App Server,更准确的说是JSP/Servlet的Web App Server,因为其他语言开发的web应用无法在Tomcat上运行。

more>>