#132 使用 git-daemon

2017-03-15

有时需要临时分享一个仓库给朋友,我们可以用 SSH 协议:

git clone ssh://catroll@192.168.64.234/home/catroll/Projects/catroll/lego

其实 git-daemon 是一个更好的方法。

#131 logging 时间格式

2017-03-12

import logging
LOG_LEVEL = logging.DEBUG
LOG_FORMAT = '%(asctime)s %(levelname)s %(message)s'
logging.basicConfig(level=LOG_LEVEL, format=LOG_FORMAT)
logging.info('hello world')

默认时间格式是 yyyy-mm-dd hh:mm:ss,xxx,如果我们要改这个格式可以用 datefmt 参数,遵循 time.strftime 的格式化参数格式。

问题有一个,毫秒从哪里来?

方法一:使用 msecs 占位符

最简单的办法:在格式字符串中使用 msecs 占位符,比如:

import logging
LOG_LEVEL = logging.DEBUG
LOG_FORMAT = '%(asctime)s.%(msecs)03d %(levelname)s %(message)s'
LOG_DATEFMT = '%H:%M:%S'
logging.basicConfig(level=LOG_LEVEL, format=LOG_FORMAT, datefmt=LOG_DATEFMT)
logging.info('hello world')

方法二:改用 datetime 对象

import logging
from datetime import datetime

class MyFormatter(logging.Formatter):
    converter = datetime.fromtimestamp

    def formatTime(self, record, datefmt=None):
        ct = self.converter(record.created)
        if datefmt:
            # s = time.strftime(datefmt, ct)
            s = ct.strftime(datefmt)
        else:
            # t = time.strftime("%Y-%m-%d %H:%M:%S", ct)
            t = ct.strftime("%Y-%m-%d %H:%M:%S")
            s = "%s,%03d" % (t, record.msecs)
        return s

logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
console = logging.StreamHandler()
logger.addHandler(console)
formatter = MyFormatter(fmt='%(asctime)s %(levelname)s %(message)s', datefmt='%H:%M:%S.%f')
console.setFormatter(formatter)
logging.info('hello world')

#130 为旧版本 CentOS 设置更新源

2017-02-08

总有些时候需要操作一些老旧的 CentOS 版本,如果需要更新就比较麻烦了,因为绝大部分更新源都不对老版本提供服务了。
这时我们只好使用 CentOS Vault,从官方接受这最后的支持,慢慢的下载更新。

#129 不加 sudo 执行 Docker 命令

2017-01-13

因为公司组织培训 Docker,为了更好参与课程,我提前一周开始预习 Docker 技术。

安装 Docker 之后,首次执行 docker info 时接到错误信息:“Cannot connect to the Docker daemon. Is the docker daemon running on this host?”。
当时,我再三确认了 Docker 服务运行状态,确实没有任何问题,傻眼了。
之后,加上 sudo 试试才运行正确。

#128 计量单位

2017-01-12

国际单位制

基本单位

类型 名称 符号 定义
时间 t s 铯-133 原子 在基态下的两个超精细能级之间跃迁
所对应辐射的 9192631770 个周期的时间
长度 L m 真空中,光一秒行程的 $\frac{1}{299792458}$
质量 m g
电流 I 毫安 A
热力学温度 T 开尔文 K
物质的量 n(v) 摩尔 mol
发光强度 l(lv) 坎德拉 cd

国际单位制词头

词头 符号 中文 系数
yotta Y 尧(它) $10^{24}$
zetta Z 泽(它) $10^{21}$
exa E 艾(可萨) $10^{18}$
peta P 拍(它) $10^{15}$
tera T 太(拉) $10^{12}$
giga G 吉(咖) $10^{9}$
mega M $10^{6}$
kilo k $10^{3}$
hecto h $10^{2}$
daca da $10^{1}$
deci d $10^{-1}$
centi c $10^{-2}$
milli m $10^{-3}$
micro μ, u $10^{-6}$
nano n 纳(诺) $10^{-9}$
pico p 皮(可) $10^{-12}$
femto f 飞(母托) $10^{-15}$
atto a 阿(托) $10^{-18}$
zepto z 仄(普托) ze4 $10^{-21}$
yocto y 幺(科托) $10^{-24}$

长度单位

长度的基本单位是米,标准是光在真空中 $1 / 299792458$ 秒内运动的距离。

市制

毫厘分寸尺丈

依据民国 18 年(1929 年)《度量衡法》。
1959 年《统一公制计量单位中文名称方案》基本沿用《度量衡法》,只是单位前面加一个 字,另外没有列出引、毫。

 1 米   = 3 尺
10 米   = 3 丈
 1 公里 = 2 里

1 里 =  15 引 = 150       丈 = 500 米
1 引 =  10 丈 =  33.333   米
1 丈 =  10 尺 =   3.333   米
1 尺 =  10 寸 =   0.333   米
1 寸 =  10 分 =   0.333 分米
1 分 =  10 厘 =   0.333 厘米
1 厘 =  10 毫 =   0.333 毫米
         1 毫 =   0.033 微米 = 33.333 微米

天文单位

我知道的四个不属于国际单位制的天文学常用单位:

  1. 光秒, Light Second, ls, 299792458 m, 约等于 30 万公里
    PS: 换算成公制单位,1 ls ≈ 0.3 Gm (吉米)
  2. 光年, Light Year, ly, 大约等于 $9.46 × 10^{18}$ km (9.46 千亿公里)
    $$
    365.25 × 86400 = 31557600 \
    × 299792458 = 9460730472580800
    $$
  3. 天文单位, Astronomical Unit, au, 日地平均距离(地球和太阳之间距离的平均值)
    2012 年国际天文学大会 IAU 将其固定为 149,597,870,700 m, 也就是 1 AU ≈ 1.5 亿公里 ($10^{9}$)。
    PS: 换算成公制单位,1 au ≈ 149.6 Gm (吉米)
    PS: 1 au ≈ 499 ls,也就说光从太阳到地球大概需要 499 秒左右(8 分多钟)。
    PS: 作为参考: 月地距离 $3.844 × 10^{5}$ km 约等于 2.57 ‰ au; 太阳半径 $6.955 × 10^{5}$ km 约等于 4.65 ‰ au (太阳半径 = 1.81 月地距离)

  4. 秒差距, Parsec, pc, 通过时差来表示天文距离
    如果地球和太阳的连线,地球和另一个天体的连线,成 89 度角,那么太阳和这个天体之间的距离为 1 pc
    PS: 视察越大距离越近,视察越小距离越远

    示例图(非等比例绘制):
    img

    根据三角函数的计算,

    $$
    1 pc = \frac {1 au} {tan 1}
    = \frac {1 au} {\frac {1} {360} × \frac {π} {180}}
    = \frac {648000} {π} au
    $$

    约等于 206265 au, 或者 3.26 ly,或者 $3 × 10^{13}$ km (三万亿公里)。

英制

暂无更多信息。

面积单位

平方十米 $dam^{2}$, 平方百米 $hm^{2}$, 平方千米 $km^{2}$ ...
平方米 $m^{2}$,平方分米 $dm^{2}$,平方厘米 $cm^{2}$ ...

市制

毫厘分亩顷

1 顷 = 100 亩 = 600000 平方尺 = 66666.666 平方米
1 亩 =  10 分 =   6000 平方尺 =   666.666 平方米
1 分 =  10 厘 =    600 平方尺 =    66.666 平方米
1 厘 =  10 毫 =     60 平方尺 =     6.666 平方米
         1 毫 =      6 平方尺 =     0.666 平方米

公顷

1 平方米 =     9 平方尺
1 公顷   =    15 亩
         = 90000 平方尺
         = 10000 平方米
1 平方尺 =   100 平方寸
         =   1/9 平方米

英制

暂无更多信息。

体积单位

立方厘米,立方米...

不属于国际单位制的体积单位是:

  1. 升, liter, L, $\frac {1} {1000} m^3$

市制

重量单位

物理学上,叫做质量。

  1. 吨 = 1000 kg
  2. 千克,公斤,kilogram
  3. 克,gram

市制

1 担 = 100 斤 = 50   公斤
1 斤 =  10 两 =  0.5 公斤
1 两 =  10 钱
1 钱 =  10 分
1 分 =  10 厘

PS: 29 年的《度量衡法》中 1 斤 = 16 两,而 59 年的《统一公制计量单位中文名称方案》则是 1 斤 = 10 两。

英制

暂无更多信息。

信息计量单位

这里需要特别说明的是国际单位制是十进制的,而 IT 界一般遵循二进制的计量方式(IEC 60027-2)。

单位 符号 说明 近似 IEC 单位 符号 说明
byte B $10^{0}$bytes byte B $2^{0}$bytes
kilobyte KB $10^{3}$bytes kibibyte KiB $2^{10}$bytes
megabyte MB $10^{6}$bytes mebibyte MiB $2^{20}$bytes
gigabyte GB $10^{9}$bytes gibibyte GiB $2^{30}$bytes
terabyte TB $10^{12}$bytes tebibyte TiB $2^{40}$bytes
petabyte PB $10^{15}$bytes pebibyte PiB $2^{50}$bytes

#122 PATH 变量

2016-09-14

用等于号隔开的一组路径,当我们执行一个命令时,会逐个检查这些路径,直到找到一个可以执行的文件。

#121 转载:我是一块硬盘

2016-08-30

我知道 CPU 和内存是计算机的核心,毕竟所有的运算最后都得通过他们俩来完成,CPU 从内存里要取一条指令,做计算,然后再写回内存,如此周而复始。
但是这俩货却瞧不起我,说这是什么年代了,还在用机械式操作,读写数据的时候,还得一个磁头在多个盘片上滑来滑去,找来找去,速度慢的要死。

#120 转载:藏龙岛局部地块规划(2016-08-02)

2016-08-02

根据江夏区政府的申请,按照市政府对藏龙岛办事处局部地块规划用地性质调整的有关意见的批示精神,拟对武汉市新城组群 F0401、F0402、F0403、E0303 编制单元控制性详细规划导则进行规划调整,具体内容如下: