小编Wer*_*ght的帖子

如何为Kubernetes创建本地开发环境?

Kubernetes似乎都是将容器部署到集群云.它似乎没有触及的是开发和登台环境(或类似环境).

在开发期间,您希望尽可能接近生产环境并进行一些重要更改:

  • 在本地部署(或至少在您和您可以访问的地方部署)
  • 在页面刷新时使用最新的源代码(假设它是一个网站;理想情况下,本地文件保存页面自动刷新,如果您安装源代码并使用像Yeoman这样的东西可以完成).

同样,人们可能希望非公共环境进行持续集成.

Kubernetes是否支持这种开发环境,或者是必须构建的东西,希望在生产过程中它仍然可以工作?

docker google-cloud-platform openshift-origin kubernetes

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

如何在CMake中设置警告级别?

如何使用CMake项目(而不是整个解决方案)设置警告级别?应该在Visual StudioGCC上工作.

我找到了各种选项,但大多数似乎不工作或与文档不一致.

cmake warning-level

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

Redis哨兵与群集

我知道redis sentinel是一种在多个redis实例中配置HA(高可用性)的方法.正如我所看到的,在任何给定时间都有一个redis实例主动为客户端请求提供服务.有两个额外的服务器处于待机状态(等待故障发生,因此其中一个可以再次运行).

  • 浪费资源吗?
  • 有没有更好的方法来充分利用可用资源?
  • Redis是否会成为Redis哨兵的替代品?

我已经查找了redis文档的sentinelclustering,请有经验的人解释一下.

Redis哨兵中的主从配置 - 失败前

师父失败,奴隶开始行动

UPDATE

好.在我的实际部署方案中,我有两台专用于redis的服务器.我有另一台服务器,我的Jboss服务器正在运行.在Jboss中运行的应用程序配置为连接到redis主服务器(M).

故障转移方案

理想情况下,我认为当主缓存服务器出现故障(Redis进程出现故障或计算机出现故障)时,Jboss中的应用程序需要连接到Slave缓存服务器.我如何配置redis服务器来实现这一目标?

+--------+          +--------+
| Master  |---------| Slave  |
|         |         |        |
+--------+          +--------+

Configuration: quorum = 1
Run Code Online (Sandbox Code Playgroud)

redis

88
推荐指数
7
解决办法
6万
查看次数

获取磁盘上的文件大小

var length = new System.IO.FileInfo(path).Length;
Run Code Online (Sandbox Code Playgroud)

这给出了文件的逻辑大小,而不是磁盘上的大小.

我想在C#中获取磁盘上文件的大小(最好没有互操作),如Windows资源管理器所报告的那样.

它应该给出正确的大小,包括:

  • 压缩文件
  • 稀疏文件
  • 碎片文件

.net c# filesize

83
推荐指数
3
解决办法
8万
查看次数

Git提交公共子模块(master branch)

我有两个或更多的项目(我们称之为ProjectFooProjectBar),它们有一些我放在子模块中的公共代码.

我的理解是,如果我从ProjectFoo中提交子模块的更改,它将处于一个独立的头部,只有所有ProjectFoo克隆才能看到:

(master) $ cd ProjectFooBarCommoneSubmodule/
(master) $ git commit -am "Common code fix."
(56f21fb0...) $ git push
Everything up-to-date
Run Code Online (Sandbox Code Playgroud)

这可能是因为master分支没有改变.我可能会做类似的事情git checkout master && git merge Everything up-to-date但看起来很难看.可能git reset --hard master会做同样的事情,但似乎更加丑陋.

如何使用项目共享的公共代码,使用它的那些项目中更新?换句话说,提交到该子模块应该更新使用同一子模块的所有各种存储库(存储库,而不仅仅是克隆).

----编辑----

可见我的签出存储库搞砸了并且坏了.它应该从一开始就像那样(在本例中的ProjectFoo上):

(master) $ cd ProjectFooBarCommoneSubmodule/
(master) $ git commit -am "Common code fix."
(master) $ git push
....
   fbfdd71..0acce63  master -> master
(master) $ …
Run Code Online (Sandbox Code Playgroud)

git commit git-submodules

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

如何在表达式中重用另一个结果列的结果列

例:

SELECT
   (SELECT SUM(...) FROM ...) as turnover,
   (SELECT SUM(...) FROM ...) as cost,
   turnover - cost as profit
Run Code Online (Sandbox Code Playgroud)

当然这是无效的(至少在Postgres中)但如何在查询中实现相同而不重写子查询两次?

sql postgresql subquery

47
推荐指数
4
解决办法
8万
查看次数

什么是Google Test,Death Tests

我看到该功能的文档似乎非常重要,因为它在Google测试概述功能中并详细介绍:https:
//github.com/google/googletest/blob/master/googletest/docs/advanced.md#death-tests

它们看起来像标准,assert()但它们是Google Test的一部分,因此是一个xUnit测试框架.因此,我想知道使用这些死亡测试的真正用途或优点是什么.

c++ testing googletest

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

Git 4路合并

我曾经使用三向合并工具,如BC3,SourceGear或P4,它们通常显示4个组件:base,left,rightmerged result.

什么混帐似乎做的,在案件确实如此特别是git rebase --onto似乎是一个4路合并:左底座,,右的基础,正确的,合并的结果.或者换句话说,在左侧(本地)侧完成差异补丁,并尝试将其与在右侧(远程)侧完成的差异补丁合并.

合并=左 - 差 - 路径+右 - 差 - 路径

如果现在有这样的支持,你会知道任何显示这4个组件的好工具吗?

git version-control merge

19
推荐指数
1
解决办法
3001
查看次数

如何推/拉Git rebase

我想使用git rebase它来干净地合并主分支中的一个功能(在较少的提交中或至少在更改日志的顶部).请注意,我是唯一一个在存储库上工作的人.

在阅读了Git工作流程和rebase vs merge问题之后,我发现它git rebase会非常好,就像Micah一样,我想重新git push定义更改只是因为我正在从不同的地方工作(例如:我的笔记本,我的家,另一台PC. ..)

所以这里有两个解决方案(对于双向难看的合并):

  1. 使用git push -f推送,然后拉动其他机器,但如何在其他机器上干净利落地获得最新版本?
  2. 使用merge将主更改合并到功能分支,git push/pull,并且一旦成熟,就执行一个rebase(在一个或多个提交中干净利落)

(2)如下所示:

git co -b feature-a
... change files
git push origin feature-a
... moving to another PC
git pull origin feature-a
... change files
git merge master
... change files (not the "special rebase")
git rebase master
git co master
git merge feature-a
git branch -d feature-a
git push origin :feature-a
Run Code Online (Sandbox Code Playgroud)

您认为哪种解决方案有效?到目前为止,我还没有尝试过其中任何一种(主要是因为害怕让我的日志变得更加混乱).

git git-pull git-merge git-rebase

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

如何使用Vim提取正则表达式匹配

样品:

case Foo:
    ...
    break;
case Bar:
    ...
    break;
case More: case Complex:
    ...
    break:
...
Run Code Online (Sandbox Code Playgroud)

我想取回所有正则表达式匹配(整个匹配的文本,甚至更好,之间的部分\(\)正则表达式的),case \([^:]*\):应该给像(在新新的文件):

Foo
Bar
More
Complex
...
Run Code Online (Sandbox Code Playgroud)

用例的另一个例子是从HTML文件中提取某些部分,比如图像URL.

有没有一种简单的方法来绘制所有RegEx匹配并将它们放在Vim的缓冲区中?

注意:它类似于使用vim提取文本,但我也有兴趣删除不匹配的行,最好没有庞大或复杂的RegEx.

regex vim text-extraction match

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