小编OCD*_*Dev的帖子

只有'amd'和'系统'模块与--out一起支持

在VSCode中构建typescript时,我收到以下错误:

错误TS6082:在--out旁边只支持'amd'和'system'模块.

我的设置如下:

tsconfig.json

{
    "compilerOptions": {
        "target": "ES5",
        "module": "commonjs",
        "out": "current/game.js",
        "removeComments": true,
        "sourceMap": false
    }
}
Run Code Online (Sandbox Code Playgroud)

.vscode/tasks.json:

{
    "version": "0.1.0",

    // The command is tsc. Assumes that tsc has been installed using npm install -g typescript
    "command": "tsc",

    // The command is a shell script
    "isShellCommand": true,

    // Show the output window only if unrecognized errors occur.
    "showOutput": "silent",

    // args is the HelloWorld program to compile.
    "args": [],

    // use the standard tsc problem matcher to …
Run Code Online (Sandbox Code Playgroud)

typescript phaser-framework visual-studio-code

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

JQuery过滤字符串的数字

你如何只过滤字符串的数字?

Example Pseudo Code:
number = $("thumb32").filternumbers()
number = 32
Run Code Online (Sandbox Code Playgroud)

javascript string jquery

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

用于UI小部件的HTML5 Canvas库

我一直在寻找一个可以帮助嵌入在画布区域中的UI小部件的渲染和功能的库,例如组合框,复选框,单选按钮,文本区域,带滚动条的列表框等,而不会叠加普通的HTML将它们浮动在画布区域的顶部.Flex为Flash提供了所有这些功能,并且有许多Actionscript库可以在Flash"画布"中创建UI小部件组件(可以这么说).这些UI小部件库在某些情况下很好地服务于Flash社区,在HTML5画布中的类似情况下也需要这样做.

有谁知道这些库可以在哪里找到?

html5 canvas widget html5-canvas

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

Redis:为什么Lua脚本会取代交易?

交易文件说:

"我们可能会弃用并最终删除事务"和"您可以使用Redis事务执行的所有操作,您也可以使用脚本"

http://redis.io/topics/transactions

但是呢?我发现这个问题.

在事务中,您可以监视多个变量,读取这些变量,并根据这些变量的唯一状态,您可以在调用EXEC之前创建完全不同的写入集.如果在干预时间内有任何干扰这些变量的状态,EXEC将不执行该事务.(这允许你重试它.这是一个完美的交易系统.)

EVAL脚本不允许您这样做.根据此页面上的文档:

"脚本作为纯函数......脚本总是使用相同的参数对给定相同输入数据集的Redis写入命令进行评估.脚本执行的操作不能依赖于任何隐藏(非显式)信息或可能更改为脚本的状态执行或在脚本的不同执行之间执行,也不依赖于来自I/O设备的任何外部输入."

http://redis.io/commands/eval

我在EVAL中看到的问题是,您无法在脚本中获取这些变量的状态,并根据这些变量的状态创建一组唯一的写入.再说一遍:"在给定相同输入数据集的情况下,脚本始终使用相同的参数评估相同的Redis写入命令." 因此,已经确定了结果写入(从第一次运行缓存),并且EVAL脚本不关心脚本内部的GET值.您唯一能做的就是在调用EVAL之前对这些变量执行GET,然后将这些变量传递给EVAL脚本,但问题是:现在调用GET和调用EVAL之间存在原子性问题.

换句话说,您将为事务执行WATCH的所有变量,在EVAL的情况下,您需要获取这些变量,然后将它们传递给EVAL脚本.由于在脚本实际启动之前不保证脚本的原子性质,并且您需要在调用EVAL以启动脚本之前获取这些变量,这将留下一个开口,其中这些变量的状态可以在GET和传递它们之间发生变化到EVAL.因此,对于一组非常重要的用例,使用EVAL进行的WATCH保证了原子性.

那么,为什么会有关于弃用事务的讨论会导致重要的Redis功能丢失?或者实际上有一种方法可以使用我还不了解的EVAL脚本吗?或者是否有计划的功能可以为EVAL解决这个问题?(假设的例子:如果他们使WATCH使用EVAL与WATCH与EXEC一起工作的方式一样,那可能会有效.)

这个问题有方法解决吗?或者我是否明白,从长远来看,Redis可能不是完全交易安全的?

redis

15
推荐指数
2
解决办法
7150
查看次数

PHP 5.3:后期静态绑定在父类中定义但在子类中丢失时对属性不起作用

看看这个例子,注意输出指示.

<?php

class Mommy
{
    protected static $_data = "Mommy Data";

    public static function init( $data )
    {
        static::$_data = $data;
    }

    public static function showData()
    {
        echo static::$_data . "<br>";
    }
}

class Brother extends Mommy
{
}

class Sister extends Mommy
{
}

Brother::init( "Brother Data" );
Sister::init( "Sister Data" );

Brother::showData(); // Outputs: Sister Data
Sister::showData(); // Outputs: Sister Data

?>
Run Code Online (Sandbox Code Playgroud)

我的理解是使用static关键字将引用子类,但显然它只是在子类中缺少父类时神奇地应用于父类.(这对PHP来说是一种危险的行为,更多内容将在下面解释.)

我有以下两点要记住我为什么要这样做:

  1. 我不希望在所有子类中定义所有属性的冗余.
  2. 我希望将属性定义为父类中的默认值,并且我希望子类定义能够在需要时覆盖这些属性.每当默认情况发生时,子类需要排除属性,这就是为什么我没有在上面的示例中定义子类中的属性.

但是,如果我们想要在运行时覆盖属性(通过init方法),它将为父类重写它!从那时起,早期初始化的子课程(如兄弟的情况)意外地改变了你.

显然,这是子类没有自己的静态属性副本的结果,只要它没有在子类内部显式定义 - 而不是抛出错误,它会切换静态行为以访问父类.因此,是否存在某种方式,父类可以动态创建属于子类的属性,而不会出现在子类定义中?这样子类可以有自己的静态属性副本,静态关键字可以正确引用它,并且可以编写它以考虑父属性默认值.

还是有其他解决方案,好的,坏的还是丑的?

php oop late-static-binding php-5.3

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

将端口443用于Socket.IO是一个坏主意吗?

根据以下帖子,一些网络只允许连接到端口80和443: 套接字IO无法在公司网络内连接

编辑:为了澄清,问题是当最终用户在公司防火墙后面使用浏览器时.我的服务器防火墙设置在我的控制之下.

我已经阅读了关于Nginx使用proxy_pass到Socket.io监听另一个端口(我已经读过它的缺点)以及使用nodejitsu/node-http-proxy反向代理将非节点流量传递给Nginx(这有其它缺点) ).我有兴趣考虑所有可能的选择.

经过多次搜索,我没有找到任何有关socket.io监听端口443的可能性的讨论,如下所示:

var io = require('socket.io').listen(443);
Run Code Online (Sandbox Code Playgroud)

客户端会像这样连接:

var socket = io.connect('http://url:443/', {secure: false, port: '443'});
Run Code Online (Sandbox Code Playgroud)

除了在该服务器上放弃使用https之外,还有其他任何缺点吗?(例如,企业网络是否阻止通过端口443进行非SSL通信?)

ssl https nginx node.js socket.io

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

ServerSockets 和 Websockets 有什么区别?

似乎有两种方法可以在 Dart 服务器和 Dart 客户端之间保持开放连接:ServerSocket 和 Websocket。

https://www.dartlang.org/dart-by-example/#sockets
https://www.dartlang.org/dart-by-example/#websockets

什么时候最好使用一种而不是另一种?

dart

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

当发生PHP致命错误时,Nginx会向浏览器报告HTTP错误500

我的服务器是使用Nginx + PHP + FastCGI设置的.每当PHP抛出致命错误时,它会被记录在nginx/error.log中,但服务器会将HTTP Error 500报告回浏览器,而不是按照需要向浏览器显示PHP致命错误,这在其他设置中是典型的.我一直在寻找如何解决这个问题,并继续做空.有人对此有什么帮助吗?非常感激!

php fastcgi nginx

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

没有SSL的安全认证

我想到了一个没有SSL的认证系统似乎相当安全.我忽略了重要的事情吗?

  1. 用户点击登录页面
  2. 服务器生成用于传输的盐(t-salt)并将其存储在会话中
  3. 服务器将t-salt作为加载的登录页面的一部分发送给用户
  4. 用户输入用户名和密码并点击提交
  5. 浏览器MD5加密密码和t-salt
  6. 浏览器将用户名和MD5(密码+ t-salt)发送到服务器
  7. 服务器使用用户名(*)从数据库中检索密码
  8. 服务器MD5加密从步骤7检索的密码以及在步骤2中存储在会话中的t-salt
  9. 服务器比较步骤6和步骤8中的两个MD5
  10. 如果它们相同,则登录成功进行身份验证
  11. 服务器从会话中删除t-salt(在步骤2中添加)以防止潜在的重放攻击

*请注意,步骤7中检索到的密码不能单向加密(通常的做法),以便步骤8工作.但是,双向加密系统仍可用于在数据库级别保护密码.(嘿,这带来了允许更加用户友好的密码恢复过程的附带好处.)

除了上面的说明,这个计划的优点和缺点是什么?

php mysql database security

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

构建具有“RUN apt-get update”的 Dockerfile 给我“rootfs 中的监狱进程导致‘perission denied’”

我的 docker 主机是 Ubuntu 19.04。我使用 snap 安装了 docker。我创建了一个 Dockerfile 如下:

FROM ubuntu:18.04
USER root
RUN apt-get update
RUN apt-get -y install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
RUN wget http://nginx.org/download/nginx-1.15.12.tar.gz
RUN tar -xzvf nginx-1.15.12.tar.gz
RUN cd nginx-1.15.12
RUN ./configure --sbin-path=/usr/bin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-pcre --pid-path=/var/run/nginx.pid --with-http_ssl_module
RUN make
RUN make install
Run Code Online (Sandbox Code Playgroud)

我用这个命令运行它:

须藤泊坞窗构建。

我得到这个输出:

Sending build context to Docker daemon  3.584kB
Step 1/10 : FROM ubuntu:18.04
 ---> d131e0fa2585
Step 2/10 : USER root
 ---> Running in 7078180cc950
Removing intermediate container …
Run Code Online (Sandbox Code Playgroud)

ubuntu apt nginx docker dockerfile

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