小编hel*_*on3的帖子

SCP文件名中的变量不起作用?

我正在尝试每晚从一台服务器将备份的tgz文件保存到另一台服务器。备份脚本使用以下$ date var很好,但是当我为scp对其稍作修改时,它会中断:

#!/bin/sh
date=`date +%Y-%m-%d`
rbfile=`/backups/$date_00h00.tgz`
scp $rbfile user@myserverip:
Run Code Online (Sandbox Code Playgroud)

但是脚本死于错误:

/backups/.tgz: No such file or directory
Run Code Online (Sandbox Code Playgroud)

附带一提,我真的应该切换到rsync以获得更好的远程备份-tgz文件现在为3.5GB。有推荐的教程吗?

bash scp

5
推荐指数
0
解决办法
4348
查看次数

当现有提交哈希值发生更改时重新绑定

我想了解更多关于我们团队最近的git问题.我们有几层分支:

-> Master
   |-> Feature Branch
        |-> Individual developer branches
Run Code Online (Sandbox Code Playgroud)

小组开发人员在功能分支上工作,我们一次有几个不同的功能分支.

当一个与主合并特性分支业主将重订其功能分支.它们经常与从各个开发人员合并到功能分支的任何工作发生合并冲突.

修复合并冲突通常会在rebase期间更改提交哈希.

当一个开发人员将功能分支的rebase重新放入他们的开发分支时,技术上有两个提交哈希值用于已更正的项目:

  • 旧的提交哈希(pre-rebase/merge-conflicts)仍然保留在开发人员分支上
  • 新的提交哈希(post-rebase)现在存在于功能分支上.

当此开发人员尝试与功能分支进行比较时,旧提交将被视为新工作并且"拉扯"拉取请求.

我可以通过让他们从最新的功能分支创建一个新分支来轻松"解决"这个问题,然后挑选他们的工作.这会丢弃旧的提交哈希值,但这并不高效.

有没有办法以不同方式改变我们的做法或改变,以便我们可以在开发者分支中排除"已更改"的提交哈希值?

git

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

Firefox 中的 contextmenu/click 事件都触发,Webkit 中只有 contextmenu

Chrome 会触发一个contextmenu事件,但不会触发click右键单击事件。Firefox 会同时触发两者。

我试图找到一些官方参考或解释,我很惊讶我从来没有遇到过这个。

http://jsbin.com/zawifokumu/1/edit?js,console,output

document.addEventListener('click', function(event) {
  console.log('click');
});
document.addEventListener('contextmenu', function(event) {
  console.log('right click');
});
document.addEventListener('mousedown', function(event) {
  console.log('mousedown');
});
Run Code Online (Sandbox Code Playgroud)

javascript

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

使用正则表达式解析方括号

我一直很难用正则表达式.我一直在寻找帮助,但我找不到我想要的东西.

我有以下模式的文本块:

[php] ...这里有任何类型的代码示例[/ php]

我需要:

  • 检查的方括号,其中可以包含任意数量的20-30编程语言的名称(php,ruby,等).
  • 需要抓住开始和结束括号之间的所有代码.

我制定了以下正则表达式:

#\[([a-z]+)\]([^\[/]*)\[/([a-z]+)\]#i

这很好地匹配了一切.但是,当代码示例包含方括号时,它会中断.如何修改它以使这些打开/关闭括号之间的任何字符匹配以供以后使用?

php regex debugging

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

TestCafe是否在每个test/beforeEach中都需要useRole调用

我一直在评估TestCafe是否需要用户身份验证的应用程序.文档不是很清楚,我无法直接回答我们应该如何使用useRole.

我们的应用程序需要用户身份验证,现在我们只测试单个用户,因此我们无需切换用户会话.

我已经定义了一个Role并且它正确地进行了身份验证.但我注意到以下几点:

  1. 我需要useRole每个测试中首先调用才能使用经过身份验证的会话
  2. 每次useRole调用(每个测试中的第一个)TestCafe导航浏览器返回到原始登录URL(或preserveUrl登录后的任何保存)

这些陈述中哪一个是错的?我无法想象这在真实环境中是如何工作的,这是一个疯狂的重定向.

第2项似乎是正确的,devexpress github贡献者回答说"当前,TestCafe不能在没有重新加载或触发页面导航的情况下使用角色",所以如果我必须useRole在每个测试中调用,这会使HTTP导航负载翻倍.

testing automated-tests e2e-testing testcafe

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

防止使用git-svn将本地.gitignore推送到svn repo

我正在使用git-svn在本地使用git并部署客户端的svn repo.但是,在将svn ignore条目迁移到.gitignore后,我必须将它们提交给git.

但我不希望每次执行时都将该文件作为对svn repo的提交进行推送 git svn dcommit

有什么建议?

git git-svn

3
推荐指数
1
解决办法
816
查看次数

查询中的mysql用户定义变量

我正在尝试使用用户定义的变量替代表名,这样我就可以使用mysql而不需要任何其他语言.

这个例子很简单 - 真正的脚本使用表名很多,最终用户更容易改变变量而不是搜索/替换.

SET @tablename = 'mytable';
SELECT * FROM @tablename;
Run Code Online (Sandbox Code Playgroud)

这不起作用,但显示了我需要的最终结果.

mysql

3
推荐指数
1
解决办法
4753
查看次数

使用主键分块从大表中删除时仍然会看到锁等待超时

我有一个分布式应用程序,可以将数百万条记录记录到MySQL.有时每天一百万或一周,具体取决于用户.

我最近重写了一个"清除"系统,可以自动删除过时的记录.它每12小时运行一次,并根据用户设置的规则清除数据.由于数据库通常平均可以包含5000多万条记录,因此我设计了查询以使用主键分块.

每个删除查询仅按主键扫描有限数量的行.根据我的理解,这减少了"包含"其他条件所需的锁的数量.然后,下一个删除查询将在几秒钟后运行.

但是,我们的许多用户仍然看到"锁定等待超时",他们总是回到清除查询.

DELETE FROM prism_data WHERE prism_data.id >= 7564001 AND prism_data.id < 7568001 AND prism_data.epoch <= '1388566847'
Run Code Online (Sandbox Code Playgroud)

以下是引擎状态报告的一部分:

mysql tables in use 1, locked 1
LOCK WAIT 2 lock struct(s), heap size 1248, 1 row lock(s)
MySQL thread id 458, OS thread handle 0x7efed0c62700, query id 779832 localhost 127.0.0.1 prism updating
DELETE FROM prism_data WHERE prism_data.id >= 7564001 AND prism_data.id < 7568001 AND prism_data.epoch <= '1388566847'
------- TRX HAS BEEN WAITING 37 SEC FOR THIS LOCK …
Run Code Online (Sandbox Code Playgroud)

mysql sql

3
推荐指数
1
解决办法
2631
查看次数

轻松/高效地检查/删除SKScene sprite儿童?

使用SpriteKit处理iOS游戏.我的背景由地图图块组成(本质上是一个无限的图,程序生成).

我们的系统旨在管理地图的"块",我们只在播放器附近加载块.由于SpriteKit需要我们添加SKSpriteNodes,我们不再对不再靠近播放器的块/块的"卸载"精灵进行干净控制.

我意识到SpriteKit实际上不会在屏幕外渲染事物,但是如果我们无法移除不再需要的精灵,或者检查是否已经添加了块/块,它将会破坏性能.

既然SKNodes没有回应isEqual:,我只看到两种方法:

  • 为每个sprite命名一个带有chunk/tile坐标的名称,并在每次更新时检查此名称
  • 维护一个单独的加载图块数组并检查它

如果已添加精灵,有没有更简单的检查/删除方法?也许精灵名称上的部分字符串匹配?

我不确定使用SpriteKit是最好的解决方案(Xcode模拟器似乎以30fps的速度拖动,尚未在真实设备上进行测试).我们最初用Java构建这个游戏,我们正在渲染我们自己的纹理 - 因此只能加载并可以手动输入到opengl中.

-(void) renderToScene:(SKScene *)scene {

    for( Chunk *chunk in loadedChunks ){
        for( Tile *tile in [chunk getTiles] ){

            SKSpriteNode *sprite = [SKSpriteNode spriteNodeWithTexture:tileTexture];
            sprite.name = @"Tile";
            sprite.position = CGPointMake(realX,realY);
            [scene addChild:sprite];
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

objective-c ios sprite-kit

3
推荐指数
1
解决办法
1623
查看次数

声明一个外部模块函数

我正在尝试声明一个没有现有类型的外部模块,但我遗漏了一些东西。

该库导出一个不带参数并返回一个字符串的函数。

我正在尝试在.d.ts文件中使用它来定义它:

declare module "cuid" {
    export function cuid(): string;
}
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我有 import * as cuid from 'cuid';

然而,在我使用它的行上,cuid()我收到一个错误:

error TS2349: Cannot invoke an expression whose type lacks a call signature.

typescript

3
推荐指数
1
解决办法
3108
查看次数