my-dot-file
oh-my-zsh
1 | sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)" |
修改SHELL为zsh
1 | sudo usermod -s /bin/zsh $(whoami) |
安装fzf
1 | git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf |
git alias设置
1 | git config --global alias.st status |
Ubuntu上安装Python3.7
从Numpy中的ascontiguousarray说起
1. 概述
在使用Numpy的时候,有时候会遇到下面的错误:
1 | AttributeError: incompatible shape for a non-contiguous array |
看报错的字面意思,好像是不连续数组的shape不兼容。
有的时候,在看别人代码时会时不时看到ascontiguous()
这样的一个函数,查文档会发现函数说明只有一句话:“Return a contiguous array (ndim >= 1) in memory (C order).”
光靠这些信息,似乎没能道出Numpy里面contiguous array和non-contiguous array有什么区别,以及为什么需要进行ascontiguous
操作?带着这些疑问,我搜了比较多的资料,在stack overflow上发现一个比较详细的回答,简单明白地将Numpy里面的数组的连续性问题解释清楚了,因此这里翻译过来,希望能帮助到别的有同样疑问的小伙伴。
2. 额外知识: C order vs Fortran order
所谓C order
,指的是行优先的顺序(Row-major Order),即内存中同行的存在一起,而Fortran Order
则指的是列优先的顺序(Column-major Order),即内存中同列的存在一起。这种命名方式是根据C语言和Fortran语言中数组在内存中的存储方式不同而来的。Pascal, C,C++,Python都是行优先存储的,而Fortran,MatLab是列优先存储的。
Ubuntu安装NeoVim:一种最简单的方法
vim-plug:简洁高效的Vim插件管理工具
今天无意中发现了这个vim-plug这个简洁又高效的Vim插件管理工具,试了下,安装插件简直没法再容易,大大减小了配置难度,对于我这种既想要Vim及插件强大的功能但又不想花费太多时间到配置上的懒人来说,Vim-plug简直就是神器了。
借用作者的原话,Vim-plugin有下面的优点:
- Easier to setup: Single file. No boilerplate code required.
- Easier to use: Concise, intuitive syntax
- Super-fast parallel installation/update (with any of +job, +python, +python3, +ruby, or Neovim)
- Creates shallow clones to minimize disk space usage and download time
- On-demand loading for faster startup time
- Can review and rollback updates
- Branch/tag/commit support
- Post-update hooks
- Support for externally managed plugins
既然配置又简单,功能又强大,为甚不小小折腾一番,提高工作效率呢?下面我以在Vim中安装一个Python的检查器为例,对Vim-plugin的使用进行说明。
Git禁止大文件提交到仓库中
openpyxl-读写Excel文件的Python库
Move to NexT——博客迁移记录2019
这个博客以前是采用Disqus作为评论系统,之前Disqus还是偶尔能访问,最近是怎么着都没法访问了。写东西很多时候还是希望能得到反馈,因此为了更愉快的博客交流,我调查了下常见的还活着的的评论系统,最后发现了Valine。配置后发现真的是简单又好用,有任何想说的小伙伴都可以轻轻松松留言了,给有创造力的工程师们点赞!而且由于Hexo的NexT主题默认支持Valine配置(而之前使用的Jacman并不支持),所以也将博客的主题改成NexT了。于是从蓝花花变成了白花花~
后面说下这个博客经历的几次迁移记录,从2013-2019。