小编mic*_*kig的帖子

你能用TortoiseGit与索引/暂存区域进行交互吗?

我的任务是向同事们介绍Git,他们几乎都是习惯使用TortoiseCVS的Windows用户.我已经使用Git大约一年了,但我几乎只使用了Unix命令行界面.

所以我一直在努力熟悉Windows GUI Git工具,包括TortoiseGit.但在我看来,这不仅仅是Git命令行界面上的GUI皮肤,而且实际上完全抽象了一些东西,特别是索引.

例如,当我在Windows资源管理器中右键单击一个新的无版本文件时,我可以从TortoiseGit菜单中选择"添加",然后提交此文件,但是已经在Git中的文件中缺少相同的菜单项,在哪种情况下我只看到"submodule add"选项.

有没有办法与TortoiseGit交互索引?

我在寻找类似物git add,git diff --cached以及git reset HEAD,具体.

以下是 Google小组关于此事的消息,但这是从去年夏天开始的.

我正在使用TortoiseGit版本1.6.5.0和msysgit版本1.7.4.msysgit.0,如果重要的话.我几天前安装了这些,所以它们可能是合理的最新版本.

git tortoisegit

31
推荐指数
1
解决办法
5013
查看次数

为什么MySQL语法错误消息如此糟糕?

MySQL语法错误通常很模糊,只指定发生错误的行.编写一个产生准确有用的错误消息的解析器并不是一件容易的事,但它并不是一个开放的研究问题:大多数通用编程语言的编译器会产生更有用的错误消息.

那么为什么MySQL的解析器不会产生更好的错误消息呢?它具体与MySQL有关,还是一般的SQL语法使得这非常困难?

这是一个例子:

SELECT * FROM foo
WHERE bar > 0
AND baz NOT NULL
ORDER BY qux ASC
Run Code Online (Sandbox Code Playgroud)

MySQL生成以下错误消息: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NULL ORDER BY qux ASC'

其实NOT NULL应该是IS NOT NULL.那么为什么MySQL不会产生错误Unexpected token NOT at line 3 column 8呢?

mysql syntax parsing

26
推荐指数
1
解决办法
2318
查看次数

你如何使用Paredit注释掉全部或部分Lisp s-exp?

在编辑Lisp代码时,有时完全注释掉顶级定义是有用的,如下所示:

;(defun some-fn-which-is-broken (x)
;  ...)
Run Code Online (Sandbox Code Playgroud)

...或只注释一个s表达式的一部分,如下所示:

(foo x
;    y
     z)
Run Code Online (Sandbox Code Playgroud)

...然后重新编译文件并在REPL中测试一些东西等.

启用paredit-mode后,这不起作用.如果该点恰好在下面的第一个paren之前,那么会发生什么:

(defun some-fn (x)
  ...)
Run Code Online (Sandbox Code Playgroud)

并键入分号,输入的是分号和换行符:

;
(defun some-fn (x)
  ...)
Run Code Online (Sandbox Code Playgroud)

与注释掉部分s表达式相同:

(foo x
;    
     y
     z)
Run Code Online (Sandbox Code Playgroud)

我认为,如果定义全部在一行,这有效:

;(defparameter *foo* 10)
Run Code Online (Sandbox Code Playgroud)

...但否则我无法知道如何做到这一点.Paredit很棒,我真的很想继续使用它.是否有任何Lispers知道解决这个问题的方法,或者Emacs -wizards谁可以掀起一些Emacs Lisp绑定到类似的东西paredit-comment-out-s-expr

如果有更多的Lispy或Emacsy方法完成基本相同的事情,请注释掉部分源代码以重新编译,请不要犹豫,建议它们!

lisp emacs paredit

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

mac OS中自动完成git无法正常工作?

我在mac中使用git.我正在尝试使用自动完成功能.我按照这些步骤(http://www.codethatmatters.com/2010/01/git-autocomplete-in-mac-os-x/)但我得到这个错误,任何想法?

:找不到命令-bash:/Users/me/git-completion.bash:第80行:未执行的令牌in -bash: /Users/me/git-completion.bash: line 80:案例"$ COMP_WORDBREAK" 附近的语法错误

git macos bash terminal

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

在失败的测试中显示预期和收到的整个输出

我有一个比较两组的测试,当它失败时,输出的形式如下:

    - Expected
    + Received

      Set {
        Position {
          "x": 0,
    -     "y": 0,
    +     "y": 2,
        },
        Position {
    -     "x": 1,
    -     "y": 1,
    +     "x": 0,
    +     "y": 0,
        },
        Position {
    -     "x": 2,
    +     "x": 1,
          "y": 1,
        },
        Position {
    -     "x": 2,
    -     "y": 0,
    +     "x": 1,
    +     "y": 2,
        },
      }
Run Code Online (Sandbox Code Playgroud)

我发现这很难阅读,因为它只是一个文本差异,真正的差异被掩盖了(集合相差 2 个元素,但输出很难分辨哪个)

这是我通过创建的应用程序create-react-app,我正在使用npm test或运行测试yarn test。我认为命令行 arg--expand可以解决问题,但这似乎并没有改变输出(yarn test -- --expand例如使用)我认为问题是通过命令行 …

javascript jestjs create-react-app

8
推荐指数
1
解决办法
1028
查看次数

BlackBerry上的EventInjector关闭相机 - 安全威胁?

我们在我们的应用程序中使用本机BlackBerry相机,使用Invoke类启动相机.我们监听正在写入文件系统的图像,当用户完成相机时,我们会打电话

Application.getApplication().requestForeground();
Run Code Online (Sandbox Code Playgroud)

在fileJournalChanged()里面回到我们的应用程序.

在某些情况下,这会导致相机在某些设备上停留在图像上时出现问题.如果你想要血腥的细节,你可以在一段时间后在BB论坛上看到我的帖子.

http://supportforums.blackberry.com/t5/Java-Development/restore-invoked-camera-after-deleting-an-image-from-the/mp/511332

我只想说,我仍在努力解决这个问题.使用EventInjector注入ESC键按下工作,但是在这个问题中

获得事件注射器许可

它被描述为安全威胁.然而,这被广泛建议作为关闭相机和解决其他问题的方法.有没有人使用这种方法来关闭相机或做其他事情?关闭相机是否有更好的"最佳实践"方法,因为显然在Android中(我实际上并不知道,这里的高级开发人员提到过它)?

通过"问题"我想我真的是指业务规则类型的问题...应用程序被组织列入黑名单,在应用程序商店中抨击等等?

在此先感谢,这一直困扰着我.

security blackberry

7
推荐指数
1
解决办法
668
查看次数

标准ML类型中的问号是什么意思?

例如:

vagrant@precise32:/vagrant$ rlwrap sml
Standard ML of New Jersey v110.76 [built: Mon May 12 17:11:57 2014]
- TextIO.StreamIO.inputLine ;
[autoloading]
[library $SMLNJ-BASIS/basis.cm is stable]
[autoloading done]
val it = fn : ?.TextIO.instream -> (string * ?.TextIO.instream) option
- val s = TextIO.openIn "README.md" ;
val s = - : TextIO.instream
- TextIO.StreamIO.inputLine s ;
stdIn:3.1-3.28 Error: operator and operand don't agree [tycon mismatch]
  operator domain: ?.TextIO.instream
  operand:         TextIO.instream
  in expression:
    TextIO.StreamIO.inputLine s
- 
Run Code Online (Sandbox Code Playgroud)

我知道由于值限制而创建的虚拟类型变量将在其中包含问号,例如

- [] @ []; …
Run Code Online (Sandbox Code Playgroud)

sml smlnj

6
推荐指数
1
解决办法
1050
查看次数

这是一个像Java的人吗?

忍受我...我不认为这太主观但也许我错了.

最近我想分解出一些在我们的BlackBerry应用程序上绘制自定义位图背景的重复代码.

(这个问题并不是关于黑莓的,所以我将在这里提供一些关于BB GUI的细节,以便非BB的Java人可以权衡......)

FullScreen类来自BB API - 它有一个方法paint(Graphics),框架调用它来绘制屏幕和添加到它的任何组件.可以覆盖它来进行自定义绘制 - 比如在任何其他绘制发生之前绘制位图背景(较新的BB API提供Background类但我们的应用程序必须在旧手机上工作).

我想要一堆具有相同背景的屏幕,每个屏幕都做了一些自定义绘画...这就是我想出的:

abstract public class BGFullScreen extends FullScreen {
    Bitmap bg;

    public BGFullScreen(Manager mgr, long style) {
        super(mgr, style);
        bg = Bitmap.getBitmapResource("bg.jpg");
    }

    abstract protected void innerPaint(Graphics g);

    protected void paint(Graphics g) {
        g.drawBitmap(new XYRect(0, 0, bg.getWidth(), bg.getHeight()), bg, 0, 0);

        innerPaint(g);

        super.paint(g);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,每个屏幕将子类化此抽象类并实现innerPaint().这样,当BB框架调用paint()方法时,每个屏幕都可以在绘制背景后进行自定义绘制(因此任何绘制都发生在背景之上)但是在绘制屏幕的组件之前,当使用FullScreen时. paint()被调用.

(我想出了这个,因为我在家里一直在研究Common Lisp,我想到我想要做的就像CLOS中的交错方法组合一样)

这是上面抽象类的示例实现:

public class MainAppScreen extends BGFullScreen {

    public MainAppScreen() {
        super(new VerticalFieldManager(), 0);
        // add some components to the screen:
        add(new …
Run Code Online (Sandbox Code Playgroud)

java oop blackberry

5
推荐指数
1
解决办法
214
查看次数

OCaml中的按位运算

在OCaml中编写bit-twiddling代码最常用的方法是什么?我知道非常酷的Bitstring库,虽然这是在某些协议中解析二进制数据的好方法,但它不支持像xor或移位这样的按位运算.

我相信该库使用的底层数据结构只是OCaml字符串,我知道这些字符串是可变的(并且相对紧凑?我想我读过那里的开销很少......)字节数组,但是你不能方便地做字符串作为字节数组的许多按位操作,因为xor,移位等没有在字符上定义,而只在整数类型上定义,所以你必须在int和chars之间来回转换...例如,逻辑移位左定义on chars(bytes):

let byte_lsl (x : char) (n : int) : char =
    Char.chr (255 land (Char.code x lsl n))

# byte_lsl '\x0f' 1 ;;
- : char = '\030'
Run Code Online (Sandbox Code Playgroud)

这是我们能做的最好的吗?

据推测,如果编译器没有将字符打包成机器字,这实际上并不是低效的,并且与Java中的情况大致相同......但是Haskell和Standard ML都提供了较小的无符号整数类型,从而产生了更清晰的代码, 恕我直言.

http://www.standardml.org/Basis/word.html#Word8:STR:SPEC

http://www.haskell.org/ghc/docs/latest/html/libraries/base/Data-Word.html#t:Word8

ocaml bit-manipulation

5
推荐指数
1
解决办法
2351
查看次数

如何阻止Intellij自动更改尚未编辑的行上的缩进?

我在Intellij中处理了很多项目,这些项目的格式不好或不合常规,特别是在“ Continuation”行的缩进明显不同于Intellij的配置方面。我不想在许多文件甚至整个文件中都解决此缩进问题(这违反了我们的技术团队的政策,因为这会破坏git-blame,也因为会导致嘈杂的差异或无关紧要的提交)

如果我要使用这样的缩进来编辑文件,则Intellij可以自动缩进新的代码行或已编辑的行,这很好。但是我经常发现它在文件的其他位置缩进了其他行,几乎总是这些“继续”行*

如何配置Intellij以停止更改这些设置?有一个配置选项可以仅删除已更改的行上的尾随空格,但是我找不到控制此行为的配置在哪里。FWIW不会在保存时发生这种情况,但似乎是在其他一些触发器之后发生的,但是我不确定是什么触发器。我认为当您自动导入类时可能会发生?

*我认为这就是所谓的,例如:

foo.bar() .baz() // a line that might be changed by Intellij

java intellij-idea

5
推荐指数
1
解决办法
1466
查看次数

在JavaScript中,为什么在循环中创建函数的具体原因可能是计算上的浪费?

在JavaScript中,为什么在循环中创建函数的具体原因可能是计算上的浪费?

在道格拉斯克罗克福德的JavaScript第39页上,"避免在循环中创建函数.它可能在计算上浪费".我似乎无法弄清楚为什么在循环中创建函数会比外部更浪费.

javascript loops computation

4
推荐指数
1
解决办法
521
查看次数