小编Mat*_*son的帖子

如何使用命令行从私有github仓库下载单个原始文件?

在CI服务器上,我想获取我们在Github上维护的配置文件,以便可以在许多作业之间共享.我试图通过curl获取此文件,但这些方法都失败了(我得到了404):

# As advised by the oAuth docs
curl -H 'Authorization: token the_token' -L -o setup.sh https://raw.github.com/org/repo/file

# The url of the raw file after clicking to view it
curl -L https://raw.github.com/org/repo/file?login=username&token=the_token 
Run Code Online (Sandbox Code Playgroud)

curl oauth github

61
推荐指数
7
解决办法
5万
查看次数

如何使用一个SQL语句删除MySQL数据库中的所有触发器?

我有一个已克隆的数据库,现在所有日志记录触发器都指向原始模式中的日志表.我需要一次性删除所有这些(有几十个),以便我可以重新创建它们.如何用一个命令完成?

mysql triggers

31
推荐指数
4
解决办法
3万
查看次数

我应该将Rails 4 bin /目录添加到git吗?

升级到Rails 4后,bin /目录出现了.我是否需要将此提交给git,还是应该将其留给服务器上的bundler重新生成?

git ruby-on-rails ruby-on-rails-4

25
推荐指数
2
解决办法
6037
查看次数

MAMP - 升级到MySQL 5.6

是否可以将MAMP MySQL库升级到5.6?

或者我需要本地安装MySQL(Lion)?

如果有人能指出我正确的方向......

谢谢!

mysql macos mamp

19
推荐指数
3
解决办法
2万
查看次数

在RubyMine(以及PHPStorm,IntellijIDEA,PyCharm等)的"提交更改"对话框中,"提交"的键盘快捷键是什么?

选择git - > commit更改后,我的对话如下,右下角是'Commit'.它似乎有'i'加下划线,但是我无法弄清楚它的快捷方式是什么,因为没有通常的组合,例如Command-I,Command-Alt-I工作.有任何想法吗?

在此输入图像描述

git intellij-idea rubymine pycharm phpstorm

16
推荐指数
1
解决办法
3531
查看次数

ruby:如何正确要求(避免循环依赖)

今天我遇到了一个奇怪的问题:模块上出现"遗漏方法"错误,但方法就在那里,并且需要定义模块的文件.经过一番搜索,我找到了一个循环依赖,其中2个文件需要彼此,现在我认为ruby默默地中止循环要求.


编辑开始:示例

文件'a.rb':

require './b.rb'

module A
    def self.do_something
        puts 'doing..'
    end
end
Run Code Online (Sandbox Code Playgroud)

文件'b.rb':

require './a.rb'

module B
    def self.calling
        ::A.do_something
    end
end

B.calling
Run Code Online (Sandbox Code Playgroud)

执行b.rb给出b.rb:5:in 'calling': uninitialized constant A (NameError).对于两个文件都必须存在这些要求,因为它们要从命令行自行运行(我省略了该代码以保持简短).所以B.calling必须在那里.一种可能的解决方案是将需求包装起来if __FILE__ == $0,但这似乎不是正确的方法.

编辑结束


避免这些难以发现的错误(顺便说一下,如果要求抛出异常会不会更好?),是否有一些关于如何构建项目的指导方针/规则以及在哪里需要什么?例如,如果我有

module MainModule
  module SubModule
    module SubSubModule
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我应该在哪里需要子模块?所有在主要的,或只有主要的sub和sububub中的sub?

任何帮助都会很好.

摘要

在forforfs的回答和评论中讨论了为什么会发生这种情况的原因.

到目前为止,最佳实践(如lain指出或暗示)似乎如下(如果我错了,请纠正我):

  1. 将顶级命名空间中的每个模块或类放在以模块/类命名的文件中.在我的例子中,这将是一个名为'main_module.rb'的文件.如果有子模块或子类,则创建一个以模块/类命名的目录(在我的示例中为目录'main_module',并将子类/子模块的文件放在那里(在示例1中名为'sub_module.rb'的文件中)对命名空间的每个级别重复此操作.
  2. 需要一步一步(在示例中,MainModule将需要SubModule,Submodule并将需要SubSubModule)
  3. 将"运行"代码与"定义"代码分开.在运行代码中需要一次您的顶级模块/类,因此2.由于您的所有库功能现在都应该可用,并且您可以运行任何已定义的方法.

感谢所有回答/评论的人,这对我帮助很大!

ruby dependencies circular-dependency dependency-management

14
推荐指数
2
解决办法
1万
查看次数

通过jest运行测试,我在包含的.jsx文件中得到"Unexpected token"

我正在使用jest和Babel 6并尝试运行包含.jsx文件的测试.由于某种原因,该文件未被选为.jsx并且似乎被视为纯js,导致具有React组件的行上的错误.

这是测试:

var searchPath = '../../../../../app/assets/javascripts/components/navigation/search_icon.js.jsx';
jest.dontMock(searchPath);

import React from 'react';
import ReactDOM from 'react-dom';
import TestUtils from 'react-addons-test-utils'

const SearchIcon = require(searchPath);

describe('components', () => {
  describe('SearchIcon', () => {
    it('Should dispatch an action to toggle the search bar when clicked', () => {

      var icon = TestUtils.renderIntoDocument(
        <SearchIcon labelOn="On" labelOff="Off"/>
      );

      // Smoke test - I can't even get this far :(
      expect(true).to.eq(true)

    })
  })
});
Run Code Online (Sandbox Code Playgroud)

我的package.json在这里:

{
  "name": "fd-v5-web",
  "version": "1.0.0",
  "description": "Farmdrop mobile site",
  "dependencies": …
Run Code Online (Sandbox Code Playgroud)

npm reactjs jestjs babeljs

14
推荐指数
1
解决办法
2万
查看次数

为什么PHP允许通过子类中的覆盖使受保护的和私有的方法公开?

从一些简短的提示,我发现当我执行以下操作时覆盖子类中的超类方法时出现错误:

  • 使用私有子类方法覆盖受保护的超类方法
  • 使用protected或private子类方法重写公共超类方法

但是,如果我在另一个方向执行此操作,则不会抛出任何错误:

  • 使用受保护或公共子类方法覆盖私有超类方法
  • 使用公共子类方法覆盖受保护的超类方法

这对我来说似乎很直观 - 我希望它能以相反的方式工作,以强制执行信息隐藏和封装.这似乎允许糟糕的设计,允许内部以可能破坏其他方法的方式暴露,我不能看到这是一个好主意的情况.为什么以这种方式实施,我错过了什么?

此外,这是其他编程语言的标准做法吗?

php oop inheritance encapsulation visibility

12
推荐指数
2
解决办法
8145
查看次数

我喜欢git,但对我的同事来说太重了......哪些DVC进入门槛最低?

TL; DR:我正在寻找一个比Git更简单(也更危险)的命令集的DVCS,它在Windows和MacOS X上晃动.

给你一些背景知识:

我是唯一一个在我公司测试Git for Revision Control大约6个月的人.

我今天意识到,当我不得不花费大量时间恢复损坏的存储库时,Git实际上对我的同事来说太沉重了.

我是一名.NET和Rails开发人员,我非常喜欢UNIX!

我的其他学院都是数据生成器和Excel开发人员(尽情享受,但他们在Excel VBA和T-SQL中使用数据做了一些非常严峻的核心内容).

另一方面,除了怀旧之外,他们无法忍受unix和barf使用命令行的想法.

虽然我知道现在有一些很棒的Git GUI,并且CLI已经看到了一些重大的改进,但Git仍然是他们工作流程的巨大差异,因为他们使用当前的Dropbox来协作工作表代码等.

目前唯一的选择似乎是Mercurial.

这是否足够接近我们需要的东西,或者是否有更简单的东西(一个伟大的GUI也会很好)?

顺便说一下:开源不是必需的,我们愿意花一些钱.


经过深思熟虑,我决定暂时离开.我自己真的很喜欢Git,但有些人无法加入版本控制.

所以我会继续强迫Git加入网络团队,但留下数据书呆子!

git version-control excel mercurial

10
推荐指数
4
解决办法
2656
查看次数

如何使用XHProf从命令行配置PHPUnit测试?

我有一些非常慢的PHPUnit测试(43次测试需要8分钟),我需要使用XHProf来找出问题所在.

我怎么能从命令行执行此操作?我在项目的/ vendor目录中有PHPUnit,通过composer加载.

php phpunit xhprof

9
推荐指数
2
解决办法
3052
查看次数