小编Via*_*iuk的帖子

如何按形式rc-XYZW的版本字符串顺序对git标签进行排序?

当我输入命令时:

git tag -l
Run Code Online (Sandbox Code Playgroud)

我得到了这样的结果:

rc-0.9.0.0
rc-0.9.0.1
rc-0.9.0.10
rc-0.9.0.11
rc-0.9.0.12
rc-0.9.0.2
rc-0.9.0.3
rc-0.9.0.4
rc-0.9.0.5
rc-0.9.0.6
rc-0.9.0.7
rc-0.9.0.8
rc-0.9.0.9
Run Code Online (Sandbox Code Playgroud)

而不是我想要的:

rc-0.9.0.0
rc-0.9.0.1
rc-0.9.0.2
rc-0.9.0.3
rc-0.9.0.4
rc-0.9.0.5
rc-0.9.0.6
rc-0.9.0.7
rc-0.9.0.8
rc-0.9.0.9
rc-0.9.0.10
rc-0.9.0.11
rc-0.9.0.12
Run Code Online (Sandbox Code Playgroud)

如何对当前列表进行排序以获得此类结果?

tags git sorting

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

Git:如何找出哪个分支标签?

我目前正忙着有很多分支的项目,我有一个标签,用于最后一次更改,其中一个分支完成.但是我不清楚这个标签在哪个分支上.

如何找出哪个分支标签?

tags git branch

56
推荐指数
5
解决办法
4万
查看次数

Git:如何从一个分支到另一个主要的提交和压缩提交?

我正在尝试将我的所有提交从当前分支重新压缩并压缩到主分支.这是我正在尝试做的事情:

git checkout -b new-feature
Run Code Online (Sandbox Code Playgroud)

在我尝试之后做了几次提交:

git rebase -i master
Run Code Online (Sandbox Code Playgroud)

在这种情况下,提交将保留在new-feature分支中

git checkout master
git rebase -i new-feature
Run Code Online (Sandbox Code Playgroud)

它给我和编辑带有noop消息的窗口.

我知道命令:

git merge --squash new-feature
Run Code Online (Sandbox Code Playgroud)

但我正在努力学习rebase命令.

git branch rebase squash

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

如何使我的帖子暂时不公开?

我正在使用jekyllgithub pages.我现在正忙于新帖,但还没有结束.我在不同的地方工作,这就是我需要push改变的原因github.我创建了新帖子并将其推上github.但在push我的半完成后,每个人都可以看到这个帖子.我不想让它显而易见,直到我完成它.

我怎么能隐藏它?有标准方式或标志吗?

我知道我可以将它复制到另一个文件夹,但它不是优先的方式.

jekyll github-pages

17
推荐指数
2
解决办法
5026
查看次数

Chrome网络标签中未显示来源地图

在Google Chrome更新之前,我在网络标签上的Chrome Devtools中看到了源地图文件.现在,在更新到版本后43.0.2357.134 m我没有看到它们.

也许我的代码错了?或者有意隐藏那些源地图?

google-chrome google-chrome-devtools source-maps

17
推荐指数
2
解决办法
2736
查看次数

在php的分支预测

刚读一篇关于分支预测的好文章.我试图用php语言重现它.

<?php

function microtime_float()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}

$time_start = microtime_float();

$count = 300000;
$sum = 0;
for ($i = 0; $i <= $count; $i++) {
    $array[] = rand(0, $count);
}

sort($array);

for ($i = 0; $i <= $count; $i++) {
    if ($array[$i] <= 150000) {
        $sum += $array[$i];
    }
}

$time_end = microtime_float();
$time = $time_end - $time_start;

echo $sum . '<br />';
echo 'End:' . $time;
?>
Run Code Online (Sandbox Code Playgroud)

但是我总是得到与排序相同的结果,没有它.也许我做错了什么?或者也许php内置了分支预测器的优化? …

php arrays optimization performance if-statement

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

如何为python龙卷风应用程序编写单元测试?

我想尝试在TDD练习后编写一些代码.我想基于python的龙卷风框架创建简单的应用程序.我正在通过互联网查看人们如何为龙卷风编写测试并找到类似这样的内容:

class TestSomeHandler(AsyncHTTPTestCase):
    def test_success(self):
        response = self.fetch('/something')
        self.assertEqual(response.code, 200)
Run Code Online (Sandbox Code Playgroud)

如果我错了,请纠正我但看起来更像集成测试.而不是它我试图为一些虚拟处理程序编写简单的单元测试.例如这样一个:

class SomeHandler(BaseHandler):
    @gen.coroutine
    def get(self):
        try:
            from_date = self.get_query_argument("from", default=None)
            datetime.datetime.strptime(from_date, '%Y-%m-%d')
        except ValueError:
            raise ValueError("Incorrect argument value for from_date = %s, should be YYYY-MM-DD" % from_date)
Run Code Online (Sandbox Code Playgroud)

测试看起来像:

class TestSomeHandler(AsyncHTTPTestCase):

    def test_no_from_date_param(self):
        handler = SomeHandler()
        with self.assertRaises(ValueError):
            handler.get()
Run Code Online (Sandbox Code Playgroud)

我知道我错过了get()申请和要求.尚未处理如何创建它们.

但我的问题是,人们是否像第一个例子那样为龙卷风编写测试,或者有人在app中调用处理程序?要遵循什么模式?如果有人有相关的代码可以分享,那就太好了.

python unit-testing tornado

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

HTML1115:X-UA兼容的META标记('IE = 9,IE = 8,chrome = 1')被忽略,因为文档模式已经完成

我得到了这样的警告:

HTML1115: X-UA-Compatible META tag ('IE=9, IE=8, chrome=1') ignored because document mode is already finalized.
Run Code Online (Sandbox Code Playgroud)

当我尝试在IE9上打开我的网站时.我添加了这个脚本:

<script type="text/javascript" src="https://s7.addthis.com/js/250/addthis_widget.js#async=1"></script>
Run Code Online (Sandbox Code Playgroud)

它添加了谷歌+按钮

<a class="addthis_button_google_plusone" g:plusone:size="medium"></a>
Run Code Online (Sandbox Code Playgroud)

当我评论这一行时 - 警告消失.我怎么解决这个问题?

addthis x-ua-compatible google-plus

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

什么git提交练习更好?

我真的相信在一个问题上有一个提交是一个好习惯.我确定我在"最佳实践"这样的文章中的某处读过它.

因此,我的工作流程如下:

  • 对于一个新问题,我创建了一个新的本地分支git checkout -b new-issue.
  • 将所有更改提交到其中.有时这涉及很多提交.
  • 完成后,我squash提交并将rebase它们转换为当前的主题分支.
  • 如果出现问题,我可以git revert提交,找到错误,修复它,并将新补丁提交到专题分支.我不会更改远程存储库的历史记录.

但今天,我听到以下工作流程后感到很惊讶:

  • 为新问题创建新分支.
  • 承诺一切.
  • 使用merge --no-ff合并与专题分支问题分支(所以我们必须"合并提交",我们可以revert).
  • 如果出现问题,我们可以git bisect用来查找错误.

根据第一种方法,我们将有一个干净的git历史,并且不知道在开发过程中使用的开销分支.

根据第二种方法,我们将有一个非常混乱的历史,有很多丑陋,不必要的合并和承诺只有一个问题.但是,我们可以git bisect用来查找错误.(也许这对于重构更好?)


  • 您对这两种方法有什么利弊?

  • 你使用哪种方法,为什么?

  • 在实践中,你真的习惯git bisect了找虫子吗?(我还没......)

git merge commit rebase bisect

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

C:数据结构对齐

我正在使用结构,并对它们有几个问题.据我所知,结构变量将按顺序放在内存中.块长度(字)取决于机器架构(32位--4字节,64位 - 8字节).

假设我们有2个数据结构:

struct ST1 {
    char c1;
    short s;
    char c2;
    double d;
    int i;
};
Run Code Online (Sandbox Code Playgroud)

在内存中它将是:

32 bit - 20 bytes    
 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
------------------------------------------------------------------------------------------
 c1| PB| s | s | c1| PB| PB| PB| d | d | d …
Run Code Online (Sandbox Code Playgroud)

c c++ alignment data-structures

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