鄙人的网易博客整理(研究生一年级)- 关于vim学习曲线


目录:

  • 更新
  • 原文
  • 高级数据库笔记数据库不善于处理时间类型变量
  • 人月神话读后感
    • 焦油坑
    • 三种人月关系
    • 没有银弹
  • 转节选github的杀手锏分支
  • 高软笔记
  • 离散数学术语中英对照
  • 大数据项目第一次组会
  • 转gentoo系统简介
  • gcc g
  • 转设置Ubuntu默认打开方式
  • 转ubuntu终端颜色配置
  • 转shell字符串处理
  • vim使用技巧文件操作
  • 高级vim使用技巧用正则表达式查找替换删除字符串
  • 高正文没任何价值略
  • 一套很好的java swing学习视频
  • 原创sed和awk 两个强有力的批量处理数据文件命令


更新:

vim不是一无是处,用 vim 时用键盘就能完成大多数命令,这点还是非常先进的。在命令行下,确实只有 vim 相对好用。

知乎上看到的一句话:折腾vim没有想死过3次的人不算会用vim。

深以为然。我在研究生一年级折腾过vim只想死了一次,还差得很远呢。

很多现代编辑器 github atom 和 sublime 都有 vim 模式插件,这再一次证明了vim的价值。

原文:

这一年花了很多时间在vim的学习上,过程是愉快的,结果是毫无用处。
实习后发现公司里需要和团队一起开发代码,Eclipse或Intelij IDEA 13等IDE支持版本控制,代码补全,自动排版,debug工具。与其相比,vim唯一的好处就只剩下启动快了。

另外,有源代码的技术博客非常非常非常少。

高级数据库笔记——数据库不善于处理时间类型变量

金培权老师在课上说sql数据库不善于处理时间类型的变量,比如最小单位是0.003s,如果小于这个时间,四舍五入后将无法区分。(吐槽:用long保存到毫秒呗)
为了验证以上观点,我仔细查阅了MySQL中DATETIME类型数据的特性,MySQL5.7版的Manual中,新增了Time属性
http://dev.mysql.com/doc/refman/5.7/en/date-and-time-types.html

Data Type Zero Value Range
YEAR 0000 1901~2155
DATE ‘0000-00-00’ 1000-01-01~9999-12-31
TIME ‘00:00:00’
DATETIME ‘0000-00-00 00:00:00’ 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59
TIMESTAMP ‘0000-00-00 00:00:00’ 1970-01-01 00:00:01 ~2038

人月神话读后感

书名解读:“人月”其实是软件工程中衡量一个项目需要的成本单位。

焦油坑

焦油坑 - 远古时期,恐龙等大型动物容易陷在焦油坑中,越是挣扎,就越是陷得深,最后逃不过死亡的命运

在“焦油坑”这一章节中,一句话给我的触动特别大:“报纸上经常会出现这样的新闻,讲述两个程序员如何在经改造的简陋车库中,编出了超过大型团队工作量的重要程序。

接着,每个编程人员准备相信这样的神话,因为他知道自己能以超过产业化团队的1000代码行/年的生产率来开发任何程序”。注意到1000行/年这个数字实在是太微不足道了。但是作者马上给予了当头棒喝:图1中的”x3”表示成本是原来的三倍,也就是说,“车库编程小组”9000行/年的工作成本才相当于专业软件开发团队1000行/年的工作成本!



图1

三种人月关系






所以说,并不是所有项目投入更多人,完成时间就能减少。
单元测试和系统测试,顺序执行的过程中最需要时间的两步。作者给出了他的经验
1/3 计划
1/6 编码
1/4 构件测试
1/4 系统测试
可以注意到1/2的时间在测试。
这就是除去了神话色彩的人月。项目的时间依赖于顺序上的限制,人员的数量依赖于单个子任务的数量。从这两个数值可以推算出进度时间表,该表安排的人员较少,花费的时间较长(唯一的风险是产品可能会过时)。

没有银弹

[转][节选]github的杀手锏——分支

(吐槽:标题党,分支功能是所有VCS软件必备的一个功能,github只是简化了分支管理而已)
正文没任何价值,略

高软笔记

所谓回调,就是用户程序A要调用接口B中的方法,而接口B的方法的具体实现却是在A中实现的
(吐槽:整个高软课的笔记就一句话?)

离散数学术语中英对照

  1. wff - 合式公式
    well-formed formula,指命题标识符、逻辑联结词和圆括号按照一定的正确规则组成的合式,称为命题公式即合式公式,简称公式。
    not p
    (p^q)
    (pvq)
    (p implies q)
    (p equals q)
    • p^q is NOT a wff!
  2. iff - 当且仅当
  3. quantifier - 量词 all exist unique
  4. predicate - 谓词 P(x): x是人

Question:
Exist x, At(x,Stanford) implies Smart(x)
When is this true?
(吐槽:就这些?怪不得最后挂了)

大数据项目第一次组会

正文没任何价值,略

[转]gentoo系统简介

正文没任何价值,略
(吐槽:没用过gentoo系统就没资格写博客)

gcc g++

正文没任何价值,略
(吐槽:忘了这些吧,请用全平台C、Cxx的IDE - CodeBlocks)

[转]设置Ubuntu默认打开方式

从总体上讲,步骤如下:

  /etc/gnome/defaults.list 保存了全局的打开方式

  /.local/share/applications/mimeapps.list 保存了个人的打开方式

  当两着不一致是,优先采用局部的个人设置。

  例如,ubuntu8.04下多媒体文件默认是用Totem打开的,如果你想要改成用smplayer(本人比较喜欢用这个)来打开的话,可以按照以下步聚来进行:

  1.进入/etc/gnome目录 命令 cd /etc/gnome

  2.复制要改变打开方式的那些内容行到mimeapps.list文件 命令 grep “totem” defaults.list >> ~/.local/share/applications/mimeapps.list

  3.进入~/.local/share/applications目录 命令 cd ~/.local/share/applications

  4.编缉mimeapps.list文件 命令: sudo vim mimeapps.list

  5.在vim中执行 命令:%s/totem/smplayer/g

  6.然后执行保存命令:wq

  7.完成

  想要改其它类型的可照此类推,比如我就把音频文件换成了audacious来打开,文本文件用gvim来默认打开。

需要涉及到以下几个目录和文件
~/.local/share/applications
/etc/gnome/defaults.list
/usr/share/applications
/usr/share/applications/mimeinfo.cache
~/.local/share/applications/mimeinfo.cache
去这几个目录看一下,就会发现很多以 desktop 为后缀的文件。
这些文件是多功能的,第一,它们是组成GNMOE的“开始”菜单的一部分,即“开始”
菜单里的一些应用程序项,在这里都能找到。你可以运行 alacarte , 这里会
列出整个菜单的结构,你可以编辑它,但是很多项你没法删除,因为没有权限,
你试着用root权限去运行 alacarte ,抱歉,你还是没有权限删除,要删除它们,
只有在/usr/share/applications下面找到对应的文件,直接删除这个文件即可。

从总体上讲
/etc/gnome/defaults.list 保存了全局的打开方式
~/.local/share/applications/defaults.list 保存了个人的打开方式
当两着不一致是,优先采用局部的个人设置。

~/.local/share/applications
/usr/share/applications
这两个分别是局部的desktop项和全局的desktop项

/usr/share/applications/mimeinfo.cache
~/.local/share/applications/mimeinfo.cache
这两个分别是全局的和局部的打开方式缓存

先看一下/etc/gnome/defaults.list的结构

[Default Applications]
application/csv=gnumeric.desktop
application/excel=ooo-calc.desktop
application/msexcel=ooo-calc.desktop
application/msword=ooo-writer.desktop
application/ogg=mplayer.desktop
application/pdf=evince.desktop
application/postscript=evince.desktop
……………..
text/x-chdr=vim.desktop
text/x-csrc=vim.desktop
text/x-dtd=vim.desktop
text/x-java=vim.desktop
text/mathml=vim.desktop
text/x-python=vim.desktop
text/x-sql=vim.desktop
text/xml=firefox.desktop
video/dv=mplayer.desktop
video/mp4=mplayer.desktop
video/mpeg=mplayer.desktop
video/msvideo=mplayer.desktop
video/quicktime=mplayer.desktop
video/vnd.rn-realvideo=mplayer.desktop
video/x-anim=mplayer.desktop
video/x-avi=mplayer.desktop
video/x-flc=mplayer.desktop
………………….

不难发现
是这样的一种形式
程序的类型/文件类型=打开这个文件的项[;项2]…[;项n]
候选打开方式可以有好几种
中间用;隔开,不留其余字符

要修改一个文件的打开方式,需要先确定这个文件的类型
以纯文本文件为例 类型是plain 打开方式默认为vim.desktop
候选的是firefox.desktop
text/plain=vim.desktop;firefox.desktop

可以直接编辑
~/.local/share/applications/defaults.list
/etc/gnome/defaults.list
编辑完之后,手工修改
/usr/share/applications/mimeinfo.cache
~/.local/share/applications/mimeinfo.cache
这两个cache文件。
这样就立即生效了

下面看一下desktop文件的结构

[Desktop Entry]
Encoding=UTF-8 //字符编码
Name=vim  //现实的名字
MimeType=text/plain; //类型
Exec=vim %f //运行的程序 %f表示一个参数
Type=Application //类型
Terminal=true //是否使用终端
NoDisplay=true //是否显示在gnome菜单里

知道这些
就可以很方便的定制“开始”菜单和文件的打开方式了

[转]ubuntu终端颜色配置

正文没任何价值,略
(吐槽:忘了这些吧,Ubuntu 16.04 终端无边框,而且在首选项里可以改字体,颜色和背景透明度,黑底绿字,背景80%透明,超赞!)

[转]shell字符串处理

正文没任何价值,略

vim使用技巧:文件操作

正文没任何价值,略

高级vim使用技巧:用正则表达式查找替换删除字符串

正文没任何价值,略
(吐槽:常用的查找替换还要记正则表达式,无力吐槽)

高正文没任何价值,略

正文没任何价值,略

一套很好的java swing学习视频

正文没任何价值,略
(吐槽:swing是瑞士军刀,然而不能切西瓜)

[原创]sed和awk: 两个强有力的批量处理数据文件命令

正文没任何价值,略
(吐槽:两个命令加起来没用过10次,没资格写博客)

你可能感兴趣的:(IT杂谈)