在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) 你如何只过滤字符串的数字?
Example Pseudo Code:
number = $("thumb32").filternumbers()
number = 32
Run Code Online (Sandbox Code Playgroud) 我一直在寻找一个可以帮助嵌入在画布区域中的UI小部件的渲染和功能的库,例如组合框,复选框,单选按钮,文本区域,带滚动条的列表框等,而不会叠加普通的HTML将它们浮动在画布区域的顶部.Flex为Flash提供了所有这些功能,并且有许多Actionscript库可以在Flash"画布"中创建UI小部件组件(可以这么说).这些UI小部件库在某些情况下很好地服务于Flash社区,在HTML5画布中的类似情况下也需要这样做.
有谁知道这些库可以在哪里找到?
交易文件说:
"我们可能会弃用并最终删除事务"和"您可以使用Redis事务执行的所有操作,您也可以使用脚本"
http://redis.io/topics/transactions
但是呢?我发现这个问题.
在事务中,您可以监视多个变量,读取这些变量,并根据这些变量的唯一状态,您可以在调用EXEC之前创建完全不同的写入集.如果在干预时间内有任何干扰这些变量的状态,EXEC将不执行该事务.(这允许你重试它.这是一个完美的交易系统.)
EVAL脚本不允许您这样做.根据此页面上的文档:
"脚本作为纯函数......脚本总是使用相同的参数对给定相同输入数据集的Redis写入命令进行评估.脚本执行的操作不能依赖于任何隐藏(非显式)信息或可能更改为脚本的状态执行或在脚本的不同执行之间执行,也不依赖于来自I/O设备的任何外部输入."
我在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可能不是完全交易安全的?
看看这个例子,注意输出指示.
<?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来说是一种危险的行为,更多内容将在下面解释.)
我有以下两点要记住我为什么要这样做:
但是,如果我们想要在运行时覆盖属性(通过init方法),它将为父类重写它!从那时起,早期初始化的子课程(如兄弟的情况)意外地改变了你.
显然,这是子类没有自己的静态属性副本的结果,只要它没有在子类内部显式定义 - 而不是抛出错误,它会切换静态行为以访问父类.因此,是否存在某种方式,父类可以动态创建属于子类的属性,而不会出现在子类定义中?这样子类可以有自己的静态属性副本,静态关键字可以正确引用它,并且可以编写它以考虑父属性默认值.
还是有其他解决方案,好的,坏的还是丑的?
根据以下帖子,一些网络只允许连接到端口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通信?)
似乎有两种方法可以在 Dart 服务器和 Dart 客户端之间保持开放连接:ServerSocket 和 Websocket。
https://www.dartlang.org/dart-by-example/#sockets
https://www.dartlang.org/dart-by-example/#websockets
什么时候最好使用一种而不是另一种?
我的服务器是使用Nginx + PHP + FastCGI设置的.每当PHP抛出致命错误时,它会被记录在nginx/error.log中,但服务器会将HTTP Error 500报告回浏览器,而不是按照需要向浏览器显示PHP致命错误,这在其他设置中是典型的.我一直在寻找如何解决这个问题,并继续做空.有人对此有什么帮助吗?非常感激!
我想到了一个没有SSL的认证系统似乎相当安全.我忽略了重要的事情吗?
*请注意,步骤7中检索到的密码不能单向加密(通常的做法),以便步骤8工作.但是,双向加密系统仍可用于在数据库级别保护密码.(嘿,这带来了允许更加用户友好的密码恢复过程的附带好处.)
除了上面的说明,这个计划的优点和缺点是什么?
我的 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)