Monthly Archives: 八月 2013

You are browsing the site archives by month.

Git的分支,其实质仅仅是个指向commit对象的可变指针。

Git会使用master作为分支的默认名字。

创建一个新的分支指针:

git branch <branch-name>

这个操作会在当前commit对象上新建一个分支指针:



屏幕剪辑的捕获时间: 2013-8-31 19:17

Git内部,保存着一个名为HEAD的特别指针,指向正在工作的本地指针,git branch命令仅仅建立了一个新的分支,但不会自动切换到这个分支。

切换到其他分支:

git checkout <branch-name>

切换后再次提交后HEAD会随分支移动但master会留在原来位置:


Read More →

获得Git仓库

 

从当前目录初始化:

git init

初始化后自动建立.git目录

 

从现有仓库克隆:

git clone git@github.com:progit/progit.git

克隆后可获得项目历史所有数据(,每一个文件的每一个版本)

如果需要定义新建的项目目录名称可在后面指定

git clone git@github.com:progit/progit.git myprogit

 

检查文件当前状态:

git status

File.Status.Lifecycle

 

将显示:

  • 当前所在分支(On branch **)
  • 已修改但尚未跟踪的文件(Untracked files)
  • 已跟踪但内容自上次跟踪发生过变化的文件(Changed but not updated)
  • 已暂存但尚未提交的文件(Changes to be committed)

  Read More →

前言:

作为一个不愿意为自己添麻烦的菜鸟程序员,我用git实在是需求驱动的——写的程序大了,因为反复迭代或重构没有个版本控制管理系统实在不方便,所以在今年5月份我正式开始用Git来管理代码,并很快实施在了我的第一个实际生产研究项目中,但是所有知识都是零星看的,而且也仅仅作为了一个记录代码版本的工具,并没怎么用到Git方便的非线性管理特性。现在项目总算告一段落,总算能抽出点空来好好学习啊Git了……

 

三种状态

对于任何一个文件,在Git内只有三种状态:

  • 已提交(committed)

文件已被安全地保存到本地数据库

  • 已修改(modified)

已修改,但还未提交保存

  • 已暂存(staged)

把已修改的文件放在下次提交时要保存的清单中

 

local.Operation

local Operation of Git Read More →

本文由Mathematrix译自由Jake Vanderplas撰写的Matplotlib Animation Tutorial

Matplotlib 1.1 版新添加了一些非常帅的用来制作动画的工具,你可以在Matplotlib的Example页看到一些非常棒的例子(OldExample, Example)。在这里我与大家分享下我使用这些工具的一些经验。

基本动画

动画工具的中心是matplotlib.animation.Animation基类,这个类提供了动画功能的基础。两个主要接口则分别是imeAnimation和FuncAnimation,你可以在这里查看API文档。下面我说说怎么使用我认为最实用的FuncAnimation。

首先我们用FuncAnimation做一个基本的动画,这个动画可以在屏幕上动态显示正弦函数的图像。

  1. “””  
  2. matplotlib animation example  
  3.  
  4. author: jake vanderplas  
  5. email: vanderplas@astro.washington.edu  
  6. website: http://jakevdp.github.com  
  7. license: bsd  
  8. please feel free to use and modify this, but keep the above information. thanks!  
  9. “””  
  10.   
  11. import numpy as np   
  12. from matplotlib import pyplot as plt   
  13. from matplotlib import animation   
  14.   
  15. # first set up the figure, the axis, and the plot element we want to animate   
  16. fig = plt.figure()   
  17. ax = plt.axes(xlim=(0, 2), ylim=(-2, 2))   
  18. line, = ax.plot([], [], lw=2)   
  19.   
  20. # initialization function: plot the background of each frame   
  21. def init():   
  22.     line.set_data([], [])   
  23.     return line,   
  24.   
  25. # animation function.  this is called sequentially   
  26. def animate(i):   
  27.     x = np.linspace(0, 2, 1000)   
  28.     y = np.sin(2 * np.pi * (x - 0.01 * i))   
  29.     line.set_data(x, y)   
  30.     return line,   
  31.   
  32. # call the animator.  blit=true means only re-draw the parts that have changed.   
  33. anim = animation.funcanimation(fig, animate, init_func=init,   
  34.                                frames=200, interval=20, blit=true)   
  35.   
  36. # save the animation as an mp4.  this requires ffmpeg or mencoder to be   
  37. # installed.  the extra_args ensure that the x264 codec is used, so that   
  38. # the video can be embedded in html5.  you may need to adjust this for   
  39. # your system: for more information, see   
  40. # http://matplotlib.sourceforge.net/api/animation_api.html   
  41. anim.save(‘basic_animation.mp4′, fps=30, extra_args=['-vcodec', 'libx264'])   
  42.   
  43. plt.show()  

 

让我们一步一步来研究这个并看看下面将会发生什么。在引入几个必须的numpy和matplotlib库后,脚本开始设置这个plot:
Read More →

今天把博客从3.2.1升级到了3.4.1,虽然不是什么最新版本但也算是我自从在sinaapp上安装wordpress以来第一次更新程序。
我对html和css并不怎么熟,只是想找个空间写写博客,选sinaapp也不过是图新浪名气大,稳定性应该不会太差,而且新浪云空间费用不高,还可以为以后做云上(这里特指PaaS)留点经验。国外的云空间普遍存在墙的问题,配置cdn在我看来也是件麻烦的事情,所以也就在这里安家落户,装个wordpress了事。

这几天虽然因为工作忙,没怎么更新博客,但并不代表不关注,其实我还是默默的在背后干了很多事情的,比如在新网申请了一个cn顶级域名,但是马上就发现不该买,原因太简单了,备案。备案这个事情我倒是也做过,很久以前在做论坛的时候,那时候是在某家代理商申的域名,当时申备案还比较容易,只要把资料填得差不多,提交上去就OK了,而现在……

所以买了这个域名但迟迟没有投入使用,也就这么先拿二级域名挂着……

再有是把内容导出了,打算搬家到点点。点点是几次无意中在Google东西时才知道的网站,做轻博客的,类似于Tumbler,轻博客这个概念还是比较火的,但大意无非还是微博+长博结合在一起。在我看来,微博是有存在的意义,人嘛,偶尔总想找个地方吐吐槽,叨叨两句,这个时候发到长博客略显不合适,和长篇的技术的或生活的或思考的文章混在一起,多变扭啊,所以轻博客这类我并不怎么感兴趣,甚至宁愿在博客里开个状态栏专门放微博(像QQ空间那样,虽然说着挺恶的,但是确实是这个意思)但是点点比较吸引我的是博客可以互相加关注,虽然说这个和百度空间没区别,但是在百度空间开的空间,一来域名上难看二来不够自由,所以我才放弃了维护近两三年的百度空间,至于点点,继承了百度的优点——我可以关注别人的站点,查看他们的更新,而且简单快捷省心;又避开了百度的缺点——域名上好看还可以绑定顶级域名,至于自由度么,国内现在的空间我只能说声呵呵……

据说文章的重点往往在但是之后,那么下面就是重点了:我尝试了N+M次的博客搬家但是都失败了,给点点博客的私信了两次也没回音,正如上面所说的,我对html和css不算一窍不通但也差不多,所以看了几下从wordpress导出的那个400+kb的文件也没看出个头绪来,这种搬家不成的不爽加上感觉点点博客设置的不自由最终让我还是打消了搬家的念头,嗯,如果不是点点的不给力,也许你现在看到的这篇文章网址已经变成diandian.com结尾了……

再说说威慑呢么升级博客程序吧,其实3.4.1早就出来了,现在貌似都3.6了,但是sae上跑的程序并不能直接照搬一般LAMP环境大家都知道,自己改程序不一定会出什么鸟事呢,何况我对php也不熟,所以只能等wp4sae这边更新,不过这边虽然3.4.1已经出了很久了,但是我3.2也一直用的好好的啊,何苦升级呢,我这人一向是要把麻烦排除在萌芽阶段的,但是前几天看着以前装的主题是在有些审美疲劳了,Twenty Ten虽好但也抵不住我看了一年了,所以决心换个主题,刚好看到一篇文章推荐Contango,自己看着也挺好,现代风格,清新简单,OK,就他了,sae版的wordpress不能直接在线安装主题,我就下下来,上sae后台传上去,在设置主题,结果,侧边全悲剧了,看了下出错的代码也没什么头绪,Google之,网上早有人碰到过这个问题,原来是wp3.4的文件组织改了,主题是面向新版本的,老版本自然被无情的抛弃了。

依我凡事烦则去之,易则取之的性格,我一看原来和程序版本还有关系,心里就打开退堂鼓了,这么麻烦,要么不换这个主题了,万一升级时候再出点什么事呢,而且插件也不一定好搞,现在工作这么忙哪有闲情逸致在这儿研究WordPress组织,SAE架构……既然看Twenty Ten看烦了那换成那个Twenty Eleven好了,简单省事。于是把主题换成那个了Twenty Eleven。

可是俗话说得好,人是会有执念的……即使换了Eleven,Contango还是在我脑海萦绕挥之不去,嗯,Contango啊,页面布局非常清晰,还有立体感,绿色调调主题看着还养眼,背景是个拟亚麻布材质,看着舒服……反正怎么都念着Contango的好。最终受不了了,升级博客版本吧,反正 wordpress for sae 人家都做好新版本了,应该不会有问题吧……

升级这个博客其实非常简单,只不过以前没弄过而已罢了,我电脑刚重装完,连git都没有,更别提svn了,所以就直接在后台新建了一个版本,下下来新版本的代码,往里面加个主题,填点别的东西,然后重新打包,往上一传,访问版本2的情况,一看基本没问题,就切换了默认版本,然后嫌占地方就把版本1删了。

不过说没问题也不对,那就是插件。上个版本自带了codebox和无觅,无觅对我来说也就是玩玩,可codebox可就影响重大了,毕竟博客上的代码可都靠这个插件来给我着色呢,现在可到好,全程白底黑字了。不过根据之前看的一些文章,似乎很多人都建议不要用着色插件,毕竟不利于博客搬家啊什么的,但是很久以前用的代码发芽弄出来的代码真心感觉不是很好看啊,差我sublime渲染出来的太多了,所以不愿意用,至于codebox虽然也也不怎么好看但胜在方便,于是以前就这样了,现在可要改了,稍稍挑了一下,准备用CodeRenderUnmi,虽然支持的语言不算多,但效果还是不错的,跟博客主题也挺搭,如果用到别的语言,就再拿代码发芽凑乎吧,或者以后再搞别的。

关于CodeRenderUnmi配置,主要参考了这篇文章

下面试试效果(这个是用Matplotlib做了一个二级摆的演示动画),以后再把以前的代码的高亮改了吧。 Read More →