0%
Python 闭包
发表于:
分类于:
tech
Python 闭包
首先还得从基本概念说起,什么是闭包呢?来看下维基上的解释: 在计算机科学中,闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。闭包在运行时可以有多个实例,不同的引用环境和相同的函数组合可以产生不同的实例。
MySQL 命令速查
发表于:
分类于:
tech
Tmux and Screen
发表于:
分类于:
tech
Terminal Multiplexers: Screen, Tmux
终端多路复用:Screen,Tmux
命令行选项
术语对照表
| 英文 | 中文 |
|---|---|
session | 会话 |
attach | 连接 |
detach | 脱离 |
prefix | 前缀 |
multiplexer | 多路复用 |
window | 窗口 |
regions | 区域 |
panes | 面板 |
buffer | 缓存 |
mark | 标记 |
| 用途 | screen | tmux |
|---|---|---|
| 创建指定名称的会话并连接 | screen -S foo | tmux new -s foo |
| 创建会话并脱离 | screen -S foo -d -m | tmux new -s foo -d |
| 列出所有会话 | screen -list | tmux ls |
| 连接 | screen -r | tmux attach |
| 连接到指定会话 | screen -r foo | tmux attach -t foo |
| 通过 pid 连接会话 | screen -r pid | |
| 连接到运行中的会话 | screen -x foo | |
| 销毁指定会话 | screen -r foo -X quit | tmux kill-session -t foo |
| 发送命令到指定会话 | screen -r foo -X command | tmux command -t foo |
| 脱离会话 | screen -d name |
按键绑定
| 用途 | screen | screen command | tmux | tmux command |
|---|---|---|---|---|
| 帮助 | ? | :help | ? | :help |
| 发送前缀至其他应用 | a | :meta | C-b | :send-prefix |
| 暂停多路复用 | C-z | :suspend | C-z | :suspend-client |
| 显示前一个多路复用终端信息 | m/C-m | :lastmsg | ~ | :show-messages |
| 加载配置文件 | :source filename | :source-file filename | ||
| session | ||||
| 新建会话 | :new | |||
| 新建命名会话 | :new -s name | |||
| 切换会话 | s | :choose-session | ||
| 重命名会话 | :sessionname newname | $ | rename-session newname | |
| 销毁会话 | C-\ | :quit | ||
| windows | ||||
| 创建窗口 | c/C-c | :screen | c | :new-window |
| 切换下一个窗口 | n/C-n/<SPACE> | :next | n | next-window |
| 切换上一个窗口 | p/h/C-p/<BACKSPACE> | :prev | p | :previous-window |
| 激活最近使用的窗口 | C-a | :other | ||
选择指定 number 窗口 | number/' number | number | :select-window -t number | |
| 列出所有窗口 | w/C-w | :windows | :list-windows | |
| 显示当前窗口信息 | N | :number | ||
重新分配窗口 number | . position | :move-window | ||
| 重新分配窗口所在会话 | . sessname. sessnum:position | |||
| 重绘当前窗口 | l/C-l | :redisplay | r | :refresh-client |
| 交互式选择窗口 | " | :windowlist -b | w | :choose-window |
| 重命名窗口 | A | :title | , | |
| 选择名为 foo 的窗口 | ' | :select | f foo | |
| 关闭当前窗口 | k | :kill | & | kill-window |
| 联合窗口 1 到当前窗口 | :join-pane -s 1 | |||
| 联合窗口 1 的区域 0 到当前窗口 | :join-pane -s 1.0 | |||
| regions | ||||
| 上下分割 | S | :split | ||
| 左右分割 | ` | /V` | :vsplit | |
| 切换到下一区域 | <TAB> | |||
| 使区域高度相同 | :resize = | |||
| 保留当前区域关闭其他区域 | Q | :only | ||
| 清除当前区域 | C | :clear | ||
| 关闭当前区域 | X | :remove | ||
| 输出日志到文件 | :log | |||
| 关闭日志 | log off | |||
| 调节当前区域行高 | :resize +/-n | |||
| 设置当前区域行高为 n | resize n | |||
| panes | ||||
| 上下分割 | " | :split-window | ||
| 左右分割 | % | :split-window -h | ||
| 切换下一区域 | o | :select-pane | ||
| 列出面板 | :list-panes | |||
| 显示面板编号 | q | :list-panes | ||
| 旋转面板 | C-o | :rotate-window | ||
| 反向旋转面板 | M-o | :rotate-window -D | ||
| 相同宽度的面板布局 | M-1 | |||
| 相同高度的面板布局 | M-2 | |||
| 交换当前与前一面板 | { | :swap-pane -U | ||
| 交换当前与后一面板 | } | :swap-pane -D | ||
| 修改面板布局 | <SPACE> | :next-layout | ||
| 关闭当前面板 | x | :confim-before kill-pane | ||
| break 当前面板至分离窗口 | ! | :break-pane | ||
| 清除当前面板 | :clear-history | |||
| 输出日志到文件 | :pipe-pane "cat > /tmp/tmux.log" | |||
| 关闭日志 | :pipe-pane | |||
| 调节左/上单元大小 | :resize-pane -L/U n | |||
| paste buffer | ||||
| 进入 copy 模式 | [/C-[/<ESC> | :copy | [ | :copy-mode |
| paste 最近的缓存 | ] | ] | :paste-buffer | |
| 缓存列表 | # | :list-buffers | ||
| 交互式选择缓存 | = | :choose-buffer | ||
| 缓存保存至文件 | > | :writebuf path | :save-buffer path | |
| copy 文件至缓存 | < | :readbuf path | :load-buffer path | |
| copy mode | ||||
| 默认绑定 | Vim style | Emacs-style | ||
| 设置标记 | <SPACE> | C-<SPACE> | ||
| copy from 标记点并退出 copy mode | <SPACE> | C-w | ||
| 单列移动 | h/l | C-b/C-h | ||
| 单行移动 | j/k | C-n/C-p | ||
| 行开头 | 0 | C-a | ||
| 行结尾 | $ | C-e | ||
| 下一个词 | e | M-f | ||
| 上一个词 | b | M-b | ||
| 向上翻页 | C-b | M-v | ||
| 向下翻页 | C-f | C-v | ||
| 缓存开头 | g | M-< | ||
| 缓存结尾 | G | M-> | ||
| 向上搜索 | ? phrase | C-r phrase | ||
| 向下搜索 | / phrase | C-s phrase | ||
| 退出 copy 模式 | <ESC> | q |
自定义
常用排序算法总结
发表于:
分类于:
tech
工具函数
Bubble Sort 冒泡排序
| |
Cocktail Sort 鸡尾酒排序
| |
Selection Sort 选择排序
Insertion Sort 插入排序
Shell Sort 希尔排序
Merge Sort归并排序
递归版本
Pandoc Markdown 文档
发表于:
分类于:
tech
Philosophy 哲学
Markdown is designed to be easy to write,and,even more importantly,easy to read.
A Markdown-formatted document should be publishable as-is,as plain text,without looking like it’s been marked up with tags or formatting instructions. - John Gruber
Paragraphs 段落
一个段落包含一行或多行文字,通过行后跟随一个或多个空白行,换行符(newlines)和空格(spaces)作用一样,如果需要硬换行(hard line break),在行后添加两个以上的空格。
Iptables 配置
发表于:
分类于:
tech