在运行程序的过程中,我喜欢用git来管理代码版本。有时候需要尝试加入新的功能,直接新建一个branch,然后在branch中开发,不会影响到master,十分方便。但是新的问题也随之产生了:我的程序常常运行一遍需要好几天,在此期间我显然不应当对当前目录下的代码进行修改,这时候worktree就派上用 ...
pandas dataframe数据与python内置字典的相互转换
Pandas是一个相当流行的数据处理模块,常用的数据结构被称为DataFrame。DataFrame与Python内置的字典类型可以方便地相互转化。代码如下: 输出如下:Name Value0 string1 2.01 string2 1.02 string1 3.03 ...
在Ubuntu中设置开机启动项
Ubuntu提供了一个叫做Startup Applications的工具,在这个工具中可以很方便的设置各种开机启动的程序或者脚本。这种方法操作简便,基本一看就会,这里不多介绍。但是这种方法有个缺陷:不能以root用户的身份来执行程序。为了能够以root身份运行,在ubuntu中大体上有三种方法: ...
Numpy中控制不同的变量拥有不同的随机数种子
在numpy中,我们知道可以通常设置随机数种子来控制随机数的生成情况,在相同随机数种子的情况下,无论何时运行程序,生成的随机数序列都是相同的。这也从一个方面印证了自带的随机是伪随机。在使用随机数种子的时候,最简单的方法是:numpy.random.seed(seed=1234) 但是这样做设置的随机 ...
使用python修改文件的修改时间和访问时间
事情起源于我一个很简单的需求:将文件夹中显示的文件按照自定义的规则排序。我有一堆文件夹,文件夹的名称最后一个字符是我想要的排序关键字。我用的是Ubuntu系统,找了一圈也没发现系统提供这个功能。最后只好自己实现。思路很简单: 先用python中的os.listdir()方法将文件名读进列表 然后以 ...
使用ssh反向代理进行内网穿透
之前我们介绍过使用ngrok和n2n这样的工具来进行内网穿透。这样的工具自己用当然是很棒,但是很多时候亲朋好友会遇到一些问题需要你用ssh连上帮忙解决的时候,以上两个工具配置起来还是太麻烦了。用ssh的好处是几乎每个现代的计算机上都会自带ssh工具,省去了配置的麻烦。 服务器ssh -fCNL *: ...
使用n2n搭建虚拟局域网
n2n是一个P2P(peer to peer)的网络工具。与我们之前介绍过的ngrok不同,n2n不是简单的将端口暴露到具有公有ip的服务器上,而是存在一个supernode,supernode的作用是帮助client完成点到点的连接,完成连接之后客户机相当于处在同一个局域网内。n2n项目页面:ht ...
提升编程效率的玄学方法
众所周知, 天气、季节、坐姿、朝向、饱食度、疲劳度等诸多因素会对程序员的编程效率产生影响。其中心情也是影响编程效率的一个重要因素。在输出或者注释中加入一些神奇的ascii图案,能够显著的提高心情。https://www.text-image.com/convert/ascii.html 这个网站可以 ...
使用metapost作图
metapost是一个历史悠久的作图工具,生成的是postscript矢量图,在一些领域有比较多的使用。本文讲述如何在Ubuntu下安装使用metapost。metapost的作者是大名鼎鼎的Donald Knuth,也是tex的主要作者。在Ubuntu中想使用metapost首先要安装tex。su ...