我希望通过"智能" HTTP提供git存储库,只有我可以推送,但任何人(或任何有帐户的人)都可以克隆/获取.
在git-http-backend(1)联机帮助页中,可以找到Apache Web服务器的以下示例配置:
确保启用mod_cgi,mod_alias和mod_env,适当设置GIT_PROJECT_ROOT(或DocumentRoot),并为CGI创建ScriptAlias:
Run Code Online (Sandbox Code Playgroud)SetEnv GIT_PROJECT_ROOT /var/www/git SetEnv GIT_HTTP_EXPORT_ALL ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/要启用匿名读访问但经过身份验证的写访问,需要使用LocationMatch指令进行授权:
Run Code Online (Sandbox Code Playgroud)<LocationMatch "^/git/.*/git-receive-pack$"> AuthType Basic AuthName "Git Access" Require group committers #... </LocationMatch>
不幸的是,这种配置不起作用.我可以毫无问题地获取/克隆存储库,而不需要验证,但推送失败:
$ git push origin master
error: Cannot access URL http://localhost/git/test.git/, return code 22
fatal: git-http-push failed
Run Code Online (Sandbox Code Playgroud)
检查error.logApache Web服务器没有帮助:
[...] Service not enabled: 'receive-pack' [...] Request not supported: '/var/www/git/test.git/'
在access.log告诉我们,git push第一次使用GET方法上/git/test.git/info/refs?service=git-receive-pack基于查询的URL,这是不包括在LocationMatch指令:
[...] "GET /git/test.git/info/refs?service=git-receive-pack HTTP/1.1" 403 304 "-" "git/1.7.10.4" [...] "GET /git/test.git/info/refs HTTP/1.1" …
如何对无限范围内的一维积分进行数值积分(采用什么数值方法,以及使用什么技巧),其中被积函数中的一个或多个函数是1d量子谐振子波函数.其中我想在谐振子基础上计算某些函数的矩阵元素:
披Ñ(X)= N ñ ħ Ñ(X)EXP(-x 2 /2)
其中H Ñ(x)是厄米多项式V m,n =\int _ { - infinity} ^ {infinity} phi m(x)V(x)phi n(x)dx
同样在存在具有不同宽度的量子谐波波函数的情况下.
问题是波函数phi n(x)具有振荡行为,这对于大n是一个问题,并且来自GSL(GNU Scientific Library)的自适应Gauss-Kronrod积分算法花费很长时间来计算,并且具有大的误差.
numerical physics numerical-analysis numerical-methods numerical-integration
所以我在一张幻灯片上有两个itemize,在它们下面都有一个图形:
\onslide<1>{
\begin{itemize}
...
\end{itemize}
}
\onslide<2>{
\begin{itemize}
...
\end{itemize}
}
\includegraphics[width=5cm]{abc.eps}
Run Code Online (Sandbox Code Playgroud)
所以我想要的是第一个itemize在第一张幻灯片上可见,第二个itemize是不可见的而不占用任何空间.类似地,当我转到下一张幻灯片时,我希望第一个逐项列表不可见,并且在显示第二个逐项时不占用任何空格.我希望图形可见,并保持在两张幻灯片上的相同位置.
这可能吗?
如何使用HTML + CSS获取以下布局:
| |x| |
| |x| |
Run Code Online (Sandbox Code Playgroud)
所有三列(两列和分隔符)都应该接触,即它们的背景颜色必须接触而没有任何间隙.
我创建这样的布局的问题是我希望"分隔符"的宽度以em(即基于字体宽度)测量,而主要内容列则适合包含元素的其余宽度(即约50%) .我希望保留此布局,而不会在字体大小上独立地覆盖左侧或右侧内容列(即,如果我增加或减少字体宽度,则应保留布局).
请注意,此布局位于其他容器内,并且可以在页面中重复这些容器.因此,我无法使用任何绝对定位解决方案.
容器也不应使用固定宽度:将其视为具有width: 100%;或width: auto;(或未设置宽度)的容器.
如果可以在缺少左列或右列(即空列)的情况下创建布局,则可以获得奖励积分.
大多数现代版本控制工具都有一个命令来查找通过二进制搜索(二等分)历史记录引入错误的更改.此类命令可能是内置的,也可能是作为扩展或插件提供的.例子包括Git中的git-bisect,Mercurial中的" hg bisect"(早期可用作hbisect扩展)和Bazar的bzr-bisect插件.
即使存在非线性历史(分支点和合并),挑战在于以自动或半自动方式进行.目标通常是在最少的步骤中找到"坏"修订,或者更详细地找到提交以测试哪个,如果可能的话,将提交的图提交到测试(提交的DAG)的一半.我认为,这个问题很好地解决了.
但是不稳定的提交存在问题,例如,如果某些修订代码甚至没有编译,或者如果它编译它不会启动/运行(或找到与您正在搜索的错误无关的错误).这意味着您现在有三种可能的状态,而不是简单地将提交标记为"好"或"坏".
某些版本控制系统(SCM)允许您"跳过"此类提交,通常转到父修订版作为下一个要测试的版本.
问题是:
如果您处理了这种情况,意味着您使用了二分法并偶然发现了不可测试的修订,那么您的经验是什么,这些不可测试的提交的分发?它们是单独发生的(单个不可测试的提交),还是它们出现在范围内(修订版本a..b是不可测试的)?您是否发现自己处于提交后必须跳过提交的情况?
是否有一些材料模型(比如列表/线性历史的简单二等分,甚至用于二等分修改的任意DAG)或算法(可能是启发式),它允许优化跳过不可测试的提交.目标是再次在存在不可测试提交(或不相关的错误)的情况下最小化(平均)测试版本的数量.
您是否使用版本控制系统,或某些附加/扩展/插件用于修订控制系统,或者某些实现此类算法的第三方工具,除了允许通过转到邻居修订简单地"跳过"不可测试的提交?这个VCS或工具是什么?它使用什么算法(如果你知道的话)?
希望这会导致更容易(半)自动发现错误...
添加06-06-2009:
当使用Git的高级功能时,有一种情况是你可以有一个完整的untestable提交分支(或者至少很难测试),即你使用" subtree "merge来连接两个历史单独的项目(例如,使用"子树"合并单独开发的一些驱动程序的完整Linux内核).在提出处理不稳定提交的算法时需要考虑这一点:对于非线性历史,可以存在整个不可稳定提交的分支,并且算法必须考虑拓扑(在某种程度上).
有没有办法让记录器真正的网络流量到Web服务器,例如从Web服务器日志(Apache),并在实际负载下将此流量重放到配置文件Web应用程序(在Perl中),或者在选择之前比较不同实现的速度非此即彼?
如果重要的话,webapp是用Perl编写的,并在普通的CGI,FastCGI,mod_perl(通过ModPerl :: Registry),PSGI(通过Plack :: App :: WrapCGI)下运行.
转向Pro网站管理员
服务器故障的类似问题:
编辑: 添加了重要说明,它是关于调试 MPI 应用程序的
系统安装的共享库没有调试符号:
$ readelf -S /usr/lib64/libfftw3.so | grep debug
$
Run Code Online (Sandbox Code Playgroud)
因此,我在我的主目录中编译并安装了我自己的版本,并启用了调试(--with-debug CFLAGS=-g):
$ $ readelf -S ~/lib64/libfftw3.so | grep debug
[26] .debug_aranges PROGBITS 0000000000000000 001d3902
[27] .debug_pubnames PROGBITS 0000000000000000 001d8552
[28] .debug_info PROGBITS 0000000000000000 001ddebd
[29] .debug_abbrev PROGBITS 0000000000000000 003e221c
[30] .debug_line PROGBITS 0000000000000000 00414306
[31] .debug_str PROGBITS 0000000000000000 0044aa23
[32] .debug_loc PROGBITS 0000000000000000 004514de
[33] .debug_ranges PROGBITS 0000000000000000 0046bc82
Run Code Online (Sandbox Code Playgroud)
我已将 LD_LIBRARY_PATH 和 LD_RUN_PATH 设置为~/lib64首先包含,并ldd program确认应使用本地版本的库:
$ ldd a.out | grep …Run Code Online (Sandbox Code Playgroud) 我正在为C库编写Fortran绑定.
使用枚举翻译定义的常量(在库头中)的最佳实践是什么,例如
typedef enum cufftType_t {
CUFFT_R2C = 0x2a, // Real to Complex (interleaved)
CUFFT_C2R = 0x2c, // Complex (interleaved) to Real
CUFFT_C2C = 0x29, // Complex to Complex, interleaved
CUFFT_D2Z = 0x6a, // Double to Double-Complex
CUFFT_Z2D = 0x6c, // Double-Complex to Double
CUFFT_Z2Z = 0x69 // Double-Complex to Double-Complex
} cufftType;
Run Code Online (Sandbox Code Playgroud)
以及如何使用翻译常数#define,例如
#define CUFFT_FORWARD -1 // Forward FFT
#define CUFFT_INVERSE 1 // Inverse FFT
Run Code Online (Sandbox Code Playgroud)
或这些的组合
typedef enum cufftCompatibility_t {
CUFFT_COMPATIBILITY_NATIVE = 0x00, …Run Code Online (Sandbox Code Playgroud) 按“运行”后我收到此消息:
即将报告钓鱼网站!Google Chrome 已阻止访问 fiddle.jshell.net。该网站已被报告为网络钓鱼网站。网络钓鱼网站旨在通过伪装成您可能信任的其他网站来诱骗您泄露您的登录名、密码或其他敏感信息。了解更多 返回 高级
这是一个屏幕截图:

我在Perl中有一个CGI脚本,它自己生成HTTP错误页面.我使用以下Apache2配置通过ModPerl :: Registry在mod_perl下运行它:
Alias /perl "/var/www/perl"
<Directory "/var/www/perl">
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
Options Indexes FollowSymlinks +ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
一切都很好,除了一个小问题:当标题中打印的HTTP状态不同于200(例如404)时,Apache会将默认的HTML错误文档附加到我自己生成的响应中.
以下面的简单CGI脚本为例:
#!/usr/bin/perl
use strict;
use warnings;
use CGI qw(:standard :escapeHTML -nosticky);
use CGI::Carp qw(fatalsToBrowser);
use Apache2::Const qw(:http :common);
our $cgi = CGI->new();
print $cgi->header(-type=>'text/html', -charset => 'utf-8',
-status=> '404 Not Found');
our $mod_perl_version = $ENV{'MOD_PERL'} ? " $ENV{'MOD_PERL'}" : '';
print <<"EOF";
<html>
<head>
<title>die_error_minimal$mod_perl_version
</head>
<body>
404 error
</body>
</html> …Run Code Online (Sandbox Code Playgroud)