小编Dav*_*idG的帖子

有没有"git touch",所以我可以用新的时间戳推送同一个文件?

我有一个自动构建工具,它使用输出中文件的修改日期.有没有办法"git touch"文件并将其保存到Git而无需实际修改文件?

git timestamp

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

apache如何动态使用"Header set Set-Cookie expires = <date>"

我使用apache作为负载均衡器和反向代理.对于会话粘性,我正在创建一个包含节点路径的cookie.

Header set Set-Cookie "h=.%{BALANCER_WORKER_ROUTE}e; path=/; domain=.domain.com" env=BALANCER_ROUTE_CHANGED
Run Code Online (Sandbox Code Playgroud)

如何expires将cookie中的值设置为从请求进入后X分钟?

mod_headers的文档甚至Set-Cookie没有详细介绍,因此没有动态语法的信息expires.

我尝试设置max-age但不幸的是max-age不适用于IE 11,我们的很多客户都使用它.

mod_rewrite cookie的文档确实涵盖了如何在cookie中设置生命周期,所以我可以使用这个丑陋的mod_rewrite hack来使用它,但我必须为每个路由做一个规则,因为它在我的<Proxy balancer://my_cluster>部分中不起作用:

RewriteCond %{HTTP_COOKIE} h=.1 [NC]
RewriteRule . -  [CO=h:.1:.domain.com:30:/]
RewriteCond %{HTTP_COOKIE} h=.2 [NC]
RewriteRule . -  [CO=h:.2:.domain.com:30:/]
RewriteCond %{HTTP_COOKIE} h=.3 [NC]
RewriteRule . -  [CO=h:.3:.domain.com:30:/]
RewriteCond %{HTTP_COOKIE} h=.4 [NC]
RewriteRule . -  [CO=h:.4:.domain.com:30:/]
RewriteCond %{HTTP_COOKIE} h=.5 [NC]
RewriteRule . -  [CO=h:.5:.domain.com:30:/]
RewriteCond %{HTTP_COOKIE} h=.6 [NC]
RewriteRule . -  [CO=h:.6:.domain.com:30:/]
RewriteCond %{HTTP_COOKIE} …
Run Code Online (Sandbox Code Playgroud)

apache cookies mod-rewrite mod-headers

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

Apache相当于Nginx`agex_buffering off`

我有一个应用程序,要求我在反向代理中禁用缓冲.我设法使用以下nginx配置:

server {
  listen       80;
  server_name  10.0.0.104;

  location / {
    proxy_buffering off;
    proxy_request_buffering off;
    proxy_http_version 1.1;
    proxy_set_header Connection "";
    proxy_pass http://http_backend;
    proxy_redirect default;
  }
}

upstream http_backend {
  server 10.0.0.86:8080;

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

我需要在Apache上使用相同的设置,但apache没有proxy_buffering off指令.我能够在mod_proxy文档中找到的唯一配置是ProxyIOBufferSize,ProxyReceiveBufferSize但它们具有最小值而不是禁用缓冲的选项.我测试了那些,但我的应用程序失败了.

apache reverse-proxy nginx mod-proxy

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

graphviz嵌入了svg图像

我正在尝试使用嵌入的svg图像生成图表.如果我使用常规svg命令运行graphviz,则仅引用图像.

dot -Tsvg diagram.dot -O

在这里它说要构建,-Tsvg:cairo但我得到以下内容:

dot -Tsvg:cairo diagram.dot -O

Warning: No loadimage plugin for "svg:cairo"
Run Code Online (Sandbox Code Playgroud)

我安装了lib cairo,所以我不知道我错过了什么.

我使用的是ubuntu 12.04 LTS,我在askubuntu中问了同样的问题,但那里没有任何graphviz标签.

dot graphviz cairo

6
推荐指数
0
解决办法
759
查看次数

如何在Linux下使用属于子用户命名空间的文件?

我正在使用启用了用户 ID 映射(用户名)的dockeron 。ubuntu 16.04我有以下设置:

\n\n

/etc/passwd \n\nmyusername:x:1000:1000:,,,:/home/myusername:/bin/bash\n

\n\n

/etc/subuid \n\nmyusername:100000:65536\n

\n\n

/etc/subguid \n\nmyusername:100000:65536\n

\n\n

当我启动容器时,文件会从 0(根)正确映射到我的 subuid 100000。

\n\n

主机\n\n-rw-r--r-- 1 100000 100000 0 M\xc3\xa4r 30 13:05 testfile\n

\n\n

容器\n\nrw-r--r-- 1 root root 0 Mar 30 13:05 testfile\n

\n\n

我可以读取主机上的文件,但无法编辑它。我的假设是这100000是“我的”subuid,所以我可以编辑这些文件。如何实现myusername无需 sudo 即可访问这些文件?

\n

linux docker

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

VIM:超时后如何关闭搜索突出显示(X秒)

我一直都知道:nohl并使用它,我也使用简单的动作,所以当移动到搜索位置时,突出显示不会影响我.按n或后它会挡住我的路N.

我正在寻找一种在3 seconds按下之后禁用搜索突出显示的方法,n或者N为了完整起见我想要一种方法也可以在搜索之后禁用它/search_word<CR>.

最后,它必须是一个非阻塞命令.

谢谢,我正在慢慢进入vimscript,但是这个已经超出了我的联盟,因为我还没有看到很多带有超时的命令示例.

编辑:

在一些评论和在线研究之后,有很多迹象表明使用vimscript做到这一点并不是一个好方法.

我正在寻找一种方法,以任何语言稳定地执行此操作,例如Perl,Python,Ruby.

编辑2:

这是我的解决方案,基于@ dhruva-sagar的回答:(我将他的答案标记为正确,因为他给了我骨架).

augroup NoHLSearch
  au!
  autocmd CursorHold,CursorMoved * call <SID>NoHLAfter(4)
augroup END

function! s:NoHLAfter(n)
  if !exists('g:nohl_starttime')
    let g:nohl_starttime = localtime()
  else
    if v:hlsearch && (localtime() - g:nohl_starttime) >= a:n
      :nohlsearch
      redraw
      unlet g:nohl_starttime
    endif
  endif
endfunction
Run Code Online (Sandbox Code Playgroud)

vim vim-syntax-highlighting

5
推荐指数
2
解决办法
1126
查看次数

红宝石:逐行匹配范围

有没有办法在Ruby中执行以下Perl结构?

while( my $line = $file->each_line() ) {
  if($line =~ /first_line/ .. /end_line_I_care_about/) {
   do_something; 
   # this will do something on a line per line basis on the range of the match
  }
}
Run Code Online (Sandbox Code Playgroud)

在红宝石中将显示如下内容:

file.each_line do |line|
  if line.match(/first_line/) .. line.match(/end_line_I_care_about/)
     do_something;
     # this will only do it based on the first match not the range.
  end
end
Run Code Online (Sandbox Code Playgroud)

将整个文件读入内存不是一种选择,而且我不知道范围的大小有多大。

编辑:

感谢您的回答,我得到的答案与我最初编写的代码基本相同。我遇到的问题是“它可以测试正确的操作数,并且在变为true的同一评估中变为false(如在awk中一样,但它一次仍返回true”。

“如果不希望它在下一次求值之前测试正确的操作数(如sed中那样,只需使用三个点(“ ...”)而不是两个点。在所有其他方面,“ ...”的行为就像“ ..”确实。”

我将正确答案标记为使我看到“ ..”可以在进行调用时关闭的答案。

供参考,我使用的代码是:

file.each_line do |line|
  if line.match(/first_line/) ... line.match(/end_line_I_care_about/)
     do_something;
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby regex range multiline

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