问题列表 - 第41990页

通过PHP渲染纯文本

出于某种原因,我想通过PHP脚本提供我的robots.txt.我已经设置了apache,以便robots.txt文件请求(实际上所有文件请求)都来自单个PHP脚本.

我用来渲染robots.txt的代码是:

echo "User-agent: wget\n";
echo "Disallow: /\n";
Run Code Online (Sandbox Code Playgroud)

但是,它不处理换行符.如何正确地服务robots.txt,以便搜索引擎(或任何客户端)正确看到它?我是否必须为txt文件发送一些特殊标题?

编辑1:

现在我有以下代码:

header("Content-Type: text/plain");
echo "User-agent: wget\n";
echo "Disallow: /\n";
Run Code Online (Sandbox Code Playgroud)

它仍然不显示换行符(请参阅http://sarcastic-quotes.com/robots.txt).

编辑2:

有人提到它很好,没有在浏览器中显示.只是好奇这个如何正确显示:http://en.wikipedia.org/robots.txt

编辑3:

我通过wget下载了我的和维基百科,看到这个:

$ file en.wikipedia.org/robots.txt
en.wikipedia.org/robots.txt: UTF-8 Unicode English text

$ file sarcastic-quotes.com/robots.txt
sarcastic-quotes.com/robots.txt: ASCII text
Run Code Online (Sandbox Code Playgroud)

最终摘要:

主要问题是我没有设置标题.但是,还有另一个内部错误,它将Content-Type设为html.(这是因为我的请求实际上是通过内部代理提供的,但这是另一个问题).

浏览器不显示换行符的一些注释只是半正确的 - >如果content-type是text/plain,现代浏览器会正确显示换行符.我选择的答案与真正的问题非常匹配,并且没有上述略有误导性的误解:).谢谢大家的帮助和时间!

谢谢

J.P

php text robots.txt header plaintext

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

Android将color int转换为hexa String

public static int RGB(float[] hsv) {
    return Color.HSVToColor(hsv);
}
Run Code Online (Sandbox Code Playgroud)

这个函数添加一个int,froma颜色.如何将该int转换为hexa字符串:#efefef

android colors

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

在QT中在不同的线程中运行一个函数

在Qt应用程序代码中Class A有一个成员方法method1().我想在另一个成员函数中调用此方法并在另一个线程中method2()运行mehtod1().但是我从qt文档中发现的是以下内容.

  1. 继承一个新的class MyThread(假设)来自QThread.
  2. run()使用所需的代码覆盖函数方法.
  3. 创建一个MyThreadin 的对象,Class A然后在任何地方调用run函数.

但上面看起来有点复杂.在Qt中是否有任何机制,以便我可以立即创建一个新的QThread(没有继承)method1()method2()使用此线程运行,然后method1()在执行完成后返回?

如果我不清楚我的问题,请告诉我.

inheritance qt qthread

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

使用Greasemonkey(或类似的用户脚本引擎)更快地重定向?

我正在使用Greasemonkey将某些URL重定向到另一个URL,但我想在重定向加载的URL之前重定向.

目前我正在使用这个简单的脚本:

//==UserScript==
// @name Redirect Google
// @description Redirect Google to Yahoo!
// @include http://*.google.com/*
//==/UserScript==
window.location.replace("http://www.yahoo.com")
Run Code Online (Sandbox Code Playgroud)

在上面,谷歌出现了一秒钟,然后重定向到谷歌.我想马上去雅虎.有可能,怎么样?

javascript greasemonkey tampermonkey

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

如何在代码的另一部分中使用类中的Enum值?

来自当地大学夜校的C#背景,我开始用C++开始了.习惯了语法很痛苦.在编码技术方面,我还是非常环保.

从我的WinMain函数,我希望能够访问一个使用我在另一个类中声明的枚举的变量.

(inside core.h)
class Core
{
    public:
    enum GAME_MODE
    {
        INIT,
        MENUS,
        GAMEPLAY
    };
    GAME_MODE gameMode;

    Core();
    ~Core();
    ...OtherFunctions();
};

(inside main.cpp)
Core core;
int WINAPI WinMain(...)
{
    ... startup code here...

    core.gameMode = Core.GAME_MODE.INIT;

    ...etc...
}
Run Code Online (Sandbox Code Playgroud)

基本上我想将gameMode设置Init为我的WinMain函数中的枚举值或类似值.我也希望能够从其他领域阅读它.

我收到了错误......

expected primary-expression before '.' token
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用core.gameMode = Core::GAME_MODE.INIT;,那么我会得到同样的错误.

我并不喜欢最佳实践,因为我只是试图获得在文件之间传递C++变量的基本理解.一旦我习惯了语法的灵活性,我将确保变量受到保护并且稍后整齐地隐藏起来.

如果我没记错的话,C#允许我使用其他课程的Enums,我所要做的就是这样Core.ENUMNAME.ENUMVALUE.

我希望我想要做的是明确的:\我不知道很多正确的术语是什么.

c++ enums class

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

在Git中扁平旧历史

我有一个已经运行了一段时间的git项目,现在我想抛弃旧历史,比如说从现在开始到两年前.丢掉我的意思是用一次提交做同样的事情来替换这段时间内的多次提交.

我查了git rebase -i但是这并没有删除包含git所有提交的其他(完整)历史记录.

这里是图形表示(d是变更集):

(base) -> d1 -> d2 -> d3 -> (HEAD)
Run Code Online (Sandbox Code Playgroud)

我想要的是:

(base) -> d1,d2 -> d3 -> (HEAD)
Run Code Online (Sandbox Code Playgroud)

怎么可以这样做?谢谢.

编辑

我得到了它

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

使用cd1e8c9作为压缩的起始修订版(基础).然后我使用fixup将修订版本合并在一起.谢谢.

git git-rebase

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

在DOM中存储数据的正确方法是什么

我最近一直在各种HTML元素中使用title标签在DOM中以JSON格式存储数据.

这是一个不好的方法(我假设它是)?实现这一点的正确方法是什么,适用于jQuery?我的意思是"运作良好"

$("myButton").click(function (e) {
     var myData;
     eval("myData=" + $(this).attr("title"));
});
Run Code Online (Sandbox Code Playgroud)

工作得很好,但我再次假设有一个更好的方法来做到这一点没有?

PS:BTW HTML元素的标题标签实际上如何工作?我似乎无法找到它实际上最终被使用的地方?

PSS:我还可以获得基于jQuery和非jQuery的响应吗?(抱歉要挑剔)

html javascript asp.net jquery dom

7
推荐指数
2
解决办法
9645
查看次数

使用hgsubversion通过TortoiseHg推送到SVN服务器时发生"未发现任何更改"

我已经使用VisualSVN服务器设置了SVN服务器,并在我的开发PC中安装了TortoiseSVN,TortoiseHg,hgsubversion.我可以成功克隆SVN服务器的SVN repo,并使用TortoiseHg进行COMMIT更改.但是,当我想将更改推回到SVN服务器时,我总是收到以下消息:

pushing to svn+https://SVN.DEVTEAM:8443/svn/ProjectX/
searching for changes
no changes found
[command completed successfully Wed Dec 22 14:32:31 2010]
Run Code Online (Sandbox Code Playgroud)

我在Mercurial全局设置中有以下几行:

[extensions]
rebase=
hgsubversion = C:\hgsubversion\hgsubversion
Run Code Online (Sandbox Code Playgroud)

请指教!

谢谢,威廉

svn mercurial tortoisehg hgsubversion

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

Round Robin调度中的平均等待时间

等待时间定义为每个进程在获得时间片之前必须等待多长时间.在调度算法(例如Shorted Job First和First Come First Serve)中,我们可以轻松地找到等待时间,当我们排队作业并查看每个人在服务之前必须等待多长时间.

当谈到Round Robin或任何其他抢先算法时,我们发现长时间运行的作业在CPU中占用一点时间,当它们被抢占然后等待一段时间轮到它执行时,在它的某个时刻,它会执行直到完成.我想找到理解这种调度算法中作业"等待时间"的最佳方法.

我找到了一个公式,给出了等待时间:

Waiting Time = (Final Start Time - Previous Time in CPU - Arrival Time)
Run Code Online (Sandbox Code Playgroud)

但我不明白这个公式的推理.例如,考虑一个突发时间为30个单位的工作A,每5个单位发生一次循环.还有两个工作B(10)和C(15).

这些服务的顺序是:

0 A 5 B 10 C 15 A 20 B 25 C 30 A 35 C 40 A 45 A 50 A 55
Run Code Online (Sandbox Code Playgroud)

等待时间A = 40 - 5 - 0

  • 我选择40,因为40 A后永不等待.它只是得到它的时间切片,并继续下去.
  • 选择5,因为A在过程中预先花费在30到35之间.
  • 0是开始时间.

好吧,我对这个公式有疑问,为什么15 A 20不考虑?直觉上,当我们只考虑倒数第二次执行然后减去到达时间时,我无法知道这是如何让我们等待A的等待时间.

据我说,A的等候时间应该是:

  • 最终开始时间 - (它在处理中花费的所有时间的总和).

如果这个公式错了,为什么呢?

请帮助澄清我对这个概念的理解.

algorithm operating-system

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

在Java中混洗2D数组

我试图在Java中混洗2D对象数组.我认为Collections.shuffle可以解决这个问题,但看起来它只是将每行中的对象混合在一起,但不会将行混合在一起,这是我希望它做的.任何内置的方法或易于实现的方法可以为我洗牌2D数组?阵列是cards[13][4].

java arrays shuffle

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