问题列表 - 第20783页

在PHP中进行服务器端输出缓存的最佳方法是什么?

index.php现在非常复杂,我想每小时只运行一次.实现这一目标的最佳方法是什么?我有过一些想法

  • 把它放在APC中apc_store($page, 60*60*)- 我觉得这不是APC的用途,可能会对我网站的其他部分做些坏事
  • 将输出保存到某个文件系统 - 然后apache需要在某个地方进行写访问,这可能很麻烦
  • 以某种方式设置apache为我做缓存 - 这可能吗?

php apache indexing caching apc

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

体面的html5离线存储和缓存示例

我热衷于测试html离线存储和缓存,以期开发一个原型来展示html5的离线Web应用程序功能.

我发现了一些特定于webkit的样本,但我正在努力寻找任何可以在Firefox 3.6中运行的代码样本

对于一个样本,我会对以下内容有所帮助:

  • 我们公司广泛使用jquery所以我更喜欢使用该库或纯javascript的样本.
  • 它应该至少适用于Firefox(3.6+很好)

有人能指出一些提供一些指导和代码示例的链接吗?

jquery html5

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

是否有可能使Vim的completeopt出现在屏幕的底部?

让它改变我所做的一切真的很烦人.我宁愿它从底部弹出.我已经google了一下,没有找到办法做到这一点,或者一个有帮助的插件.

vim

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

通过有效词将一个词转换成另一个词的算法

我遇到了编辑距离问题的这种变化:

设计一种将源字转换为目标字的算法.例如:从头到尾,在每一步中,你只需要替换一个字符,并且该字必须有效.你会得到一本字典.

它显然是编辑距离问题的变体,但在编辑距离中我不关心该单词是否有效.那么如何添加此要求来编辑距离.

string algorithm transform

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

Java:调用hashCode()和equals()时自动抛出UnsupportedOperationException的干净方法?

我们有一个OO代码库,在很多情况下hashcode()并且equals()根本不起作用,主要是由于以下原因:

除非您愿意放弃面向对象抽象的好处,否则无法扩展可实例化的类并在保留equals合同的同时添加值组件.

这是Joshua Bloch撰写的"Effective Java"的引用,在这篇伟大的Artima文章中有关于该主题的更多内容:

http://www.artima.com/lejava/articles/equality.html

我们完全没问题,这不是这个问题的意思.

问题是:看到事实上,在某些情况下你无法满足equals()合同,什么是自动制作hashcode()equals()抛出UnsupportedOperationException 的干净方法?

注释会起作用吗?我正在考虑这样的事情@NotNull:每次@NotNull合同违规都会自动抛出异常,除了用你的参数/返回值注释之外别无他法@NotNull.

它很方便,因为它是8个字符("@NotNull")而不是不断重复相同的验证/抛出异常代码.

在我关注的情况下,在每个hashCode()/equals()没有意义的实现中,我们总是重复同样的事情:

@Override
public int hashCode() {
    throw new UnsupportedOperationException( "contract violation: calling hashCode() on such an object makes no sense" );
}

@Override
public boolean equals( Object o ) {
    throw new UnsupportedOperationException( "contract violation: calling equals() on such an object makes no sense" );
}
Run Code Online (Sandbox Code Playgroud)

然而,这很容易出错:我们可能会忘记剪切/粘贴此内容,这可能会导致用户滥用此类对象(例如,尝试将它们放入默认的Java集合中).

或者,如果无法创建注释来创建此行为,AOP是否有效?

有趣的是,真正的问题是Java层次结构的存在hashCode()和 …

java design-by-contract equals

14
推荐指数
3
解决办法
6967
查看次数

如何防止HttpWebRequest的数据包碎片

我在针对嵌入式设备上的HTTP守护进程使用HttpWebRequest时遇到问题.问题似乎是在写入套接字流的http标头与http有效负载(POST)之间存在足够的延迟,即套接字将套接字缓冲区中的内容释放到服务器.这导致HTTP请求被分割为两个数据包(碎片).

当然,这是完全有效的,但是如果分组被分割超过大约1.8ms,则另一端的服务器不能处理它.所以我想知道是否有任何现实的方法来控制它(在客户端上).

在HttpWebRequest上似乎没有任何属性可以对用于发送的套接字进行这种级别的控制,并且似乎无法访问套接字本身(即通过反射),因为它仅在发送期间创建,并且之后发布(作为出站http连接池的一部分).BufferWriteStream属性只缓冲webrequest中的正文内容(因此它仍然可用于重定向等...),并且似乎不会影响整个请求写入套接字的方式.

那么该怎么办?

(我真的试图避免从套接字重新编写HTTP客户端)

一种选择可能是编写HttpWebRequest发送给的某种代理(可能通过ServicePoint),并在该实现缓冲区中写入整个TCP请求.但这似乎是一项艰苦的工作.

当我运行Fidder时也会正常工作(出于同样的原因)但在我们的生产环境中这不是一个真正的选择......

[ps:我知道这肯定是碎片数据包之间的间隔问题,因为我敲了一个套接字级别的测试,我使用NoDelay套接字显式控制了碎片]

.net sockets httpwebrequest fragmentation

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

迭代结构变量

我想得到一个结构变量的迭代器,以根据枚举ID在运行时设置一个特定的变量.例如 -

struct {
char _char;
int _int;
char* pchar;
};

enum {
_CHAR, //0
_INT,  //1
PCHAR  //2
};

int main()
{
    int i = 1; //_INT
    //if i = 1 then set variable _int of struct to some value.
}
Run Code Online (Sandbox Code Playgroud)

如果没有if/else或switch case语句,你能做到吗?

c++ iterator

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

如何使用JDialogs在JOptionPane上垂直堆叠按钮?

我正在尝试使用createDialog将三个按钮垂直堆叠到JOptionPane上,但它不能完全使用GridLayout.此外,我不知道如何摆脱'确定​​'按钮.你可能想知道我为什么这样做,但这是我被告知这样做的方式.我想我可以使用JFrame,但我不认为这与JOptionPane相处得很好,因为这就是我希望按钮堆叠的地方.

它应该是这样的:
| 需要帮助|
| 帮助我|
| 计数|

我需要在某些时候添加动作侦听器的可访问性,但在我甚至可以达到这一点之前,这似乎变得复杂.

import java.awt.Container;
import java.awt.GridLayout;

import javax.swing.*;
public class ThreeButtons {

    static JDialog dialog;
    public static void main(String[] args) {

        JOptionPane optionPane = new JOptionPane();
        optionPane.setMessage("Set Message");
        optionPane.setMessageType(JOptionPane.INFORMATION_MESSAGE);
        optionPane.setLayout(new GridLayout(3,1));
        String[] buttonTxt = {"Need Help","Help Me","Counting"};
        JButton[] buttons = new JButton[buttonTxt.length];
        for (int i = 0; i < buttonTxt.length; i++)
        {
            buttons[i] = new JButton(buttonTxt[i]); 
            optionPane.add(buttons[i]);
        }
        dialog = optionPane.createDialog(null, "Icon/Text Button");
        dialog.setVisible(true);

    }

}
Run Code Online (Sandbox Code Playgroud)

java user-interface swing

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

什么是在PHP中向用户显示错误/消息的好方法?

我多年来一直在使用自己的方法,但我想也许这不是最好的方法.

基本上当我想向用户抛出错误或显示成功操作的确认时,我会执行以下操作:

if($something == "condition") {

   $_SESSION["message"] = "Your passwords didnt match! Make sure they are the same in both fields!";
   $_SESSION["message_type"] = 1;
   header("Location:register.php");
   exit();

}
Run Code Online (Sandbox Code Playgroud)

然后我有一个像这样的功能

function show_message() {
   global $_SESSION;

   if (isset($_SESSION["message"])) { 
      echo "<div class='site_message type_" . $_SESSION["message_type"] . "'>" . $_SESSION["message"] . "</div>"; 
      unset($_SESSION["message"]); 
      unset($_SESSION["message_type"]); 
   }
}
Run Code Online (Sandbox Code Playgroud)

我把show_message(); 在每个页面的顶部显示可能出现在此页面上的错误.

这可能有什么问题?

php error-handling

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

Unity注册实例并解决

我写了一个类,它有一些从unity容器中解析出来的依赖项.

从我的主类我创建一个新对象

MyObject myObject = new MyObject();
Run Code Online (Sandbox Code Playgroud)

我用我的Unity容器注册它

UContainer.RegisterInstance<MyObject>(myObject, new ExternallyControlledLifetimeManager());
Run Code Online (Sandbox Code Playgroud)

我创建了需要它作为依赖的类型

ConsumerObject consumer = new ConsumerObject();
Run Code Online (Sandbox Code Playgroud)

消费者看起来像这样:

public class ConsumerObject
{
    public ConsumberObject()
    {
         theObject = (MyObject)UContainer.Resolve(typeof(MyObject));    
    }
}
Run Code Online (Sandbox Code Playgroud)

这引发了一个异常:

依赖项的解析失败,type ="MyObject",name ="".异常消息是:当前构建操作(构建密钥Build Key [MyObject,null])失败:尝试调用构造函数MyObject(IPreferenceStorageProvider pp)时无法解析参数pp.(策略类型BuildPlanStrategy,索引3)

为什么我的解决方案会尝试在该类型上调用另一个contsructor?我已经创建了它并注册了实例..我也试过它:theObject = UContainer.Resolve<MyObject>(); 似乎没有任何区别..

谢谢

c# dependency-injection exception-handling unity-container

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