草庐IT

探索Git内部原理

全部标签

ruby-on-rails - 生成 Rails 应用程序时从 Rails 模板内部访问应用程序名称

我正在使用rails2.3模板并希望能够在我的模板中使用应用程序名称作为变量,所以当我使用...railsappname-mpath/to/template.rb...我希望能够访问template.rb中的appname。有人知道怎么做吗?谢谢 最佳答案 我正在寻找这个问题的答案。不幸的是,上面的答案(@root)似乎在Rails3中不起作用。以下是您可以在Rails3应用程序模板中访问的变量(甚至更容易):@app_name@app_path 关于ruby-on-rails-生成Ra

ruby-on-rails - 如何使用来自 git hook post-receive 的特定 rvm gemset 进行 bundle 安装?

因此,我正在尝试在不使用capistrano的情况下实现类似heroku的部署。为了检查和安装gems,我尝试使用githook并将以下命令放入/hooks/post-receive:bundlecheck||bundleinstall但是当我运行gitpush时,我得到:remote:hooks/post-receive:line20:bundle:commandnotfound.我知道hook可能会从错误的环境中启动命令,并且我必须以某种方式从hook切换rvm环境。我尝试在接收后使用rvmuse1.8.7@rails3但它没有帮助。有什么想法吗? 最佳

ruby - # Ruby 中识别方法约定的基本原理/历史是什么?

例如,我一直看到称为String#split的方法,但从未见过String.split,这似乎更合乎逻辑。或者甚至可能是String::split,因为您可以认为#split位于String的命名空间中。当假定/隐含类(#split)时,我什至单独看到了该方法。我知道这是ri中识别方法的方式。哪个先出现?例如,这是为了区分方法和字段吗?我还听说这有助于区分实例方法和类方法。但这从哪里开始呢? 最佳答案 不同之处在于您如何访问这些方法。类方法使用::分隔符来表示消息可以发送到类/模块对象,而实例方法使用#分隔符表示消息可以发送到实例对

git submodule update --init --recursive 父子仓库

.gitmodules:记录子模块信息在父项目新建submodule添加:gitsubmoduleadd 子模块仓库地址  子模块在父模块目录下的存储路径。注意:路径不能以/结尾(会造成修改不生效)、不能是现有工程已有的目录(不能順利Clone)删除:首先删除.gitmodules文件下的对应子模块信息,然后 gitrm–cached 克隆下来的项目有submodule拉取submodule: gitsubmoduleupdate--init--recursive更新submodulegitsubmoduleupdate--remote或者在submodule打开gitbash,然后用gitp

H264压缩原理

1、为什么压缩的原始数据一般采用YUV格式(1)利用人对图片感觉的生理特性,对于亮度信息比较敏感,对于色度信息不太敏感,所以视频编码是将Y分量和UV分量分开来编码,并且可以减少UV分量.2、视频压缩原理(1)空间冗余:图像相邻像素之间的相关性,比如一帧图片被划分成多个16x16的块之后,相邻的块之间有很多明显的相似性。(2)时间冗余:时间相差较近的两张图片变化较小。(3)视觉冗余:我们的眼睛对某些细节不太敏感,对图像中的高频信息的敏感度小于低频信息,可以去除一些高频信息。(4)编码冗余:一幅图片中不同像素出现的概率是不同的,对于出现次数较多的像素,用少的位数来编码,对于出现次数较少的像素,用多

Python——程序的运行原理

Python程序运行原理Python是一种脚本语言,编辑完成的程序,也称源代码,可以直接运行。从计算机的角度看,Python程序的运行过程包含两个步骤:解释器将源代码翻译成字节码(即中间码),然后由虚拟机解释执行。Python程序文件的扩展名通常为.py。在执行时,首先由Python解释器将.py文件中的源代码翻译成中间码,这个中间码是一个扩展名为.pyc的文件,再由Python虚拟机(PythonVirtualMachine,PVM)逐条将中间码翻译成机器指令执行。需要说明的是,pyc文件保存在Python安装目录的pycache文件夹下,如果Python无法在用户的计算机上写人字节码,字节

css - gulp-ruby-sass - 'sass' 未被识别为内部或外部命令、可运行程序或批处理文件

我正在尝试在Windows上运行gulp-ruby-sass。我已经像这样安装了Ruby和Sass:$gem安装sass我的gulp.task看起来像这样:gulp.task('styles',function(){returnsass('src/scss/**/*.scss').on('error',sass.logError).pipe(gulp.dest('css'));});当我进入元素的根目录并运行$gulpstyles时,我明白了:[22:54:52]Usinggulpfilec:\wamp\www\wordpress\wp-content\themes\bootscore

ruby - vim 中的内部 ruby​​ 错误

我在使用vim时遇到这个问题已经有一段时间了。我第一次做任何与ruby​​交互的事情,比如:rubyputs"test",我得到:1:in'require':cannotloadsuchfile--rubygems.rb(LoadError).一些可能有用的诊断信息:我的操作系统是OSX10.11.2,Vim是7.4版,ruby是2.1.2,安装了rvm,我的shell是zsh(但bash也会这样),我的vim完全是Vanilla。$ruby--versionruby2.1.2p95(2014-05-08revision45877)[x86_64-darwin13.0]$rvmlist

Ruby:使用 self 关键字从内部调用私有(private)方法

classMyClassdeftestputsmy_idputsself.my_idendprivatedefmy_id115endendm=MyClass.newm.test此脚本产生输出:115priv.rb:4:in`test':privatemethod`my_id'calledfor#(NoMethodError)frompriv.rb:15:in`'使用self关键字和不使用关键字从内部调用方法有什么区别?根据我的Delphi和C#经验:没有区别,self可以用来避免与局部变量的名称冲突,表示我想调用实例函数或引用实例变量. 最佳答案

ruby - 从 Ruby 内部使用 bundler 验证 gem 的版本

有没有办法从Ruby程序中验证我是否拥有最新版本的gem?也就是说,有没有办法以编程方式执行bundleoutdated#{gemname}?我尝试查看bundler的源代码,但找不到直接的方法。目前我正在做这个,它很脆弱,很慢而且很不优雅:IO.popen(%w{/usr/bin/envbundleoutdatedgemname})do|proc|output=proc.readlines.join("\n")returnoutput.include?("Yourbundleisuptodate!")end 最佳答案 避免外部执行