小编the*_*dow的帖子

是否可以在javascript中创建"弱引用"?

在javascript中是否有任何方法可以创建另一个对象的"弱引用"?这是描述弱引用的维基页面. 这是另一篇用Java描述它们的文章.谁能想到在javascript中实现这种行为的方法?

javascript weak-references

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

Javascript:将一个值与多个值进行比较的最漂亮的方法

什么是将一个值与多个选项进行比较的最漂亮的方法?

我知道有很多方法可以做到这一点,但我正在寻找最好的方法.

我问,因为我希望这是可行的(当你看它时,它显然不是这样):

if (foobar == (foo||bar) ) {
     //do something
}
Run Code Online (Sandbox Code Playgroud)

javascript comparison

59
推荐指数
6
解决办法
9万
查看次数

使用Node.js缓存数据库查询

是否有一个纯粹在Node.js中编写的数据库(mysql)查询缓存的实现?

我正在编写一个Node web应用程序,并计划使用memcached缓存查询,但在考虑这一点时,我意识到可能通过单独的Node.js层进行缓存

解释:

您可以通过单独端口上的节点服务器查询数据库,从可用内存中返回数据,并将数据加载到内存中.

任何人都知道Node.js如何在散列数组的返回速度方面与memcache进行比较?这是一个梦想还是我应该看的东西?

mysql memcached caching node.js

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

长轮询选项:Nginx,PHP,Node.js

我正在设计一个长轮询应用程序,可以非常迅速地向很多用户广播小的变化.该应用程序将与运行相当标准的cms的网站串联运行.它们都将在一台服务器上运行,并且数据库也是如此.

我非常喜欢LAMP环境,我绝对是开发人员而不是系统管理员.那说我不怕尝试一些新东西.

我花了一天时间研究我的选择,我希望人们可以回答一些问题并给我一些建议.

我把它缩小到这些:

    A. Apache and php for the website, Node.js for the app
    B. Nginx and php for both the website and app
    C. Nginx and php for website, Nginx and Node.js for the app
Run Code Online (Sandbox Code Playgroud)

所以问题:

  1. Nginx如何处理PHP的非多线程;).PHP将证明与Apache长期轮询一样多的瓶颈吗?
  2. 我听说它建议我在Apache和Node.js之前使用nginx作为反向代理,这是一个比nginx更好的解决方案吗?如果是这样,为什么?
  3. 您使用/推荐哪个选项?

请记住,设置的简易性可能是一个因素,我对Apache非常熟悉,但我只使用Node,而且我从未安装过Nginx.

如果有人需要,我会很乐意提供澄清.

php comet nginx long-polling node.js

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

将 PSR-7 流写入文件

我正在构建一个通读图像缓存,并且正在寻找一种将 PSR-7 流写入服务器上的文件的方法。该文档对于如何执行此操作并不是非常清楚(它主要关注于提供文件,而不是编写文件)。

我目前最大的努力使用的$stream->detach()是不理想的(因为它破坏了底层流,然后我无法将其返回给用户)。有一个更好的方法吗?

/* @var GuzzleHttp\Client $httpClient */
$response = $httpClient->request(
  'GET', 'https://example.com/image.png'
);

// Validate response, etc.

$stream = $response->getBody();

$stream->isReadable(); // now true

$cachePath = '/path/to/local/cache/unique-name.png';

$writeHandle = fopen($cachePath, 'w');
stream_copy_to_stream($stream->detach(), $writeHandle);

$stream->isReadable(); // now false due to detach()

// To serve the data I'd need to create a new stream 
// from the image I've just created
return new GuzzleHttp\Psr7\Stream(fopen($cachePath, 'rb'))
Run Code Online (Sandbox Code Playgroud)

抢先解决所有“你为什么要这样做”的问题;我从远程服务获取这些图像。该服务的条款要求我在本地缓存图像。

php stream psr-7

5
推荐指数
0
解决办法
1861
查看次数

JS Proxying HTML5画布上下文

我希望代理画布API,以便我可以测试抽象方法实际绘制到画布,但是我遇到问题,在代理后我得到一个错误:

'strokeStyle' setter called on an object that does not implement interface CanvasRenderingContext2D

此代码已简化但引发相同的错误:

/** !NB: This snippet will probably only run in Firefox */
var canvas = document.createElement("canvas");
canvas.width = 100;
canvas.height = 100;
canvas.style.backgroundColor = '#FF0000';

var ctx = canvas.getContext("2d");                          
var calls = [];

var handler = {
    get( target, property, receiver ) {

        if ( typeof ctx[property] === 'function' ){
            return function( ...args ){
                calls.push( { call: property, args: args } )
                return ctx[property]( ...args );
            }; …
Run Code Online (Sandbox Code Playgroud)

javascript html5 canvas ecmascript-6 es6-proxy

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