小编Bij*_*lle的帖子

如何取消订阅socket.io订阅?

假设存在对套接字服务器进行订阅的对象,如下所示:

socket.on('news', obj.socketEvent)

这些对象的生命周期很短,并且经常被创建,从而生成许多订阅.这似乎是一个内存泄漏和容易出错的情况,直观地阻止这种情况:

socket.off('news', obj.socketEvent)

在删除对象之前,但唉,off套接字中没有方法.还有另一种方法吗?

编辑:找不到答案我正在指定一个空白方法来覆盖原始事件处理程序的包装器方法,下面是一个示例.

var _blank = function(){};

var cbProxy = function(){
    obj.socketEvent.apply(obj, arguments)
};
var cbProxyProxy = function(){
    cbProxy.apply ({}, arguments)
}
socket.on('news', cbProxyProxy);

// ...and to unsubscribe 
cbProxy = _blank;
Run Code Online (Sandbox Code Playgroud)

javascript publish-subscribe socket.io

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

在PHP 5中,我可以动态地实例化一个类吗?

是否可以使用变量动态实例化一个类?例如在PHP中可能是这样的吗?

class foo
{
    public $something;
}

$class_name = "foo";

$f = new $class_name();
Run Code Online (Sandbox Code Playgroud)

php class dynamic instantiation

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

在Haskell中使用ExistentialQuantification进行依赖注入反模式?

我是一个Haskell新手,我正在考虑如何模块化我的Rest应用程序,它实际上是在各处传递ReaderT.我已经设计了一个原始的工作示例,说明如何使用ExistentialQuantification(下图).在对相关答案的评论中,用户MathematicalOrchid声称类似于反模式.就是这个反模式?用新手来说,你能解释一下为什么会这样,并展示一个更好的选择吗?

{-# LANGUAGE ExistentialQuantification #-}

import Control.Monad.Reader
import Control.Monad.Trans
import Data.List (intersect)

data Config = Config Int Bool


data User = Jane | John | Robot deriving (Show)
listUsers = [Jane, John, Robot]

class Database d where
  search :: d -> String -> IO [User]
  fetch  :: d -> Int -> IO (Maybe User)


data LiveDb = LiveDb
instance Database LiveDb where
  search d q   = return $ filter ((q==) . intersect q . …
Run Code Online (Sandbox Code Playgroud)

haskell dependency-injection

11
推荐指数
2
解决办法
382
查看次数

目录上的NodeJS fs.watch仅在编辑器更改时触发,而不是shell或fs模块

当运行下面的代码时,只有在我使用ide,TextEditor.app或vim手动编辑和保存tmp.txt时才会触发监视.

它不是通过写入流或手动shell输出重定向的方法(键入echo"test"> /path/to/tmp.txt").

虽然如果我看文件本身,而不是它的名字,那么它是有效的.

var fs, Path, file, watchPath, w;

fs = require('fs' );
Path = require('path');
file = __dirname + '/tmp.txt';
watchPath = Path.dirname(file); // changing this to just file makes it trigger

w = fs.watch ( watchPath, function (e,f) {
    console.log("will not get here by itself");
    w.close();
});
fs.writeFileSync(file,"test","utf-8");

fs.createWriteStream(file, {
    flags:'w',
    mode: 0777
} )
.end('the_date="'+new Date+'";' ); // another method fails as well

setTimeout (function () {
    fs.writeFileSync(file,"test","utf-8");
},500); // as does this one
// child_process …
Run Code Online (Sandbox Code Playgroud)

macos fs node.js

8
推荐指数
2
解决办法
4358
查看次数

具有更多文本的元素会向下推送其他内联块元素.为什么?

这非常简单,我对这种行为感到困惑.我希望我的搜索结果显示在一个连续2个块的漂亮网格中.但相反,它显示出弯曲,其中带有更多文本的div会将其他内容推向其他内容.我怎样才能解决这个问题?

这是一个简单的示例,显示了FF和Chrome中的问题:

<html>
<body>
    <style>
    .search_result
    {
        border: thin solid;
        width: 250px;
        height:200px;
        display: inline-block;  
    }
    </style>
    <div style='width:508px'>
        <div class='search_result'> 
            Meerkats demonstrate altruistic behavior within their colonies; one or more meerkats stand sentry while others are foraging or playing, to warn them of approaching dangers ...
        </div>
        <div class='search_result'>
            one or more meerkats stand sentry
        </div>
        <div class='search_result'>
            meerkats
        </div>
    </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

html css

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

对于cabal,only-dependencies标志是什么意思?

我对Haskell相当新,看到这个标志后,例如在这个dockerfile中,我似乎无法找到它的作用的解释."只安装构建给定包所需的依赖项",cabal help install这对我来说并不多.

如果我没有在docker容器内构建,我使用沙箱.这个标志是否适用于这两种情况?

haskell cabal

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

一组有效的网站密码字符

嗨,我正在为我的网站的密码字段编写一个正则表达式,并有一个问题:

我应该阻止用户输入任何字符吗?如果是这样的话?

或者只是为了在处理数据时逃脱危险的字符,比如=和'?如果你愿意的话,列出用于转义那些的php函数似乎很好.

谢谢!

php regex passwords

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

为什么在phpunit测试中没有加载命名空间自动加载类?

为了赞美phpunit,autoload和namespace之间现有的大杂烩安排是这样的:

我创建了一个运行PhpUnit测试并使用命名空间自动加载的简单测试项目.我在bootstrap文件中注册自动加载,如下所示:

set_include_path(get_include_path() . PATH_SEPARATOR . "/path/to/classes/folder");
spl_autoload_register();
Run Code Online (Sandbox Code Playgroud)

在单元测试中,我加载并测试我的类,如下所示:

$obj = new \some\space\someClass(); // which is in the classes/some/space folder
$this->assertTrue($obj->foo()=='bar');
Run Code Online (Sandbox Code Playgroud)

我收到一个错误

致命错误:在testSomeClass.php中找不到类'\ some\space\someClass'...

php phpunit namespaces autoload

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

mapDispatchToProps应该调度初始化操作吗?

假设一个无状态的功能UserProfile组件显示给定URL的用户数据.假设它被包裹着connect(mapStateToProps, mapDispatchToProps)(UserProfile).最后,假设减速器减少到state.userProfile.每当url发生变化时,我都需要重新初始化state.userProfile,所以想到的解决方案就是在mapDispatchToProps中这样做:

function mapDispatchToProps(dispatch, ownProps) {
  dispatch(fetchUser(ownProps.userId))
  return {
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

如果thunked fetchUser通过与当前状态进行比较而忽略重复调用,这是否可以接受?或者是否存在与此地图功能立即调用调度相关的问题?

javascript redux react-redux

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

Perl正则表达式测试空白或表达式

为什么这个表达式对于字符1V(和其他)返回true ?我怎么能重写它,只有当它是空白或来自a-z?时它才会返回true ?

~((^$)||(^[a-z]$))~
Run Code Online (Sandbox Code Playgroud)

regex perl

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