小编Cap*_*ate的帖子

.NET Core与Mono

.NET Core和Mono有什么区别?

我在官方网站上发现了一条声明:"为它编写的代码也可以在应用程序堆栈中移植,例如Mono."

我的目标是使用C#,LINQ,EF7和Visual Studio创建一个可以在Linux上运行/托管的网站.

有人告诉我,他希望它是"单声道",但我不知道这意味着什么.我知道我想使用上面列出的技术使用.NET Core 1.0.他还说他想使用"快速CGI".我也不知道这意味着什么.

你能帮我理解所有这些术语吗?如果我的期望是现实的吗?

.net c# mono .net-core

238
推荐指数
7
解决办法
11万
查看次数

在此上下文中*[Symbol.iterator]的含义是什么?

我在网上找到了一些代码.我已将原始代码压缩到这个小小的摘录中,当运行时,将1-20打印到控制台.

var NumbersFromOne = {
  *[Symbol.iterator] () {
    for (let i = 1;; ++i) yield i;
  }
};

var take = function* (numberToTake, iterable) {
  let remaining = numberToTake;

  for (let value of NumbersFromOne) {
    if (remaining-- <= 0) break;
    yield value;
  }
}


var printToTwenty = take(20, NumbersFromOne)

console.log(...printToTwenty);
Run Code Online (Sandbox Code Playgroud)

现在,我知道take()是一个GeneratorFunction.
调用take()时,会给它一个迭代器.
代码"... printToTwenty"使用spread运算符来遍历该函数.

我知道NumbersFromOne是一个对象.我来这里寻找这部分含义的解释:

*[Symbol.iterator] () {}
Run Code Online (Sandbox Code Playgroud)

声明生成器函数是这样完成的:function*(){}
所以我假设这不是声明生成器函数.

*也不代表函数名
*也不能用其他运算符替换(/, - ,+)

该语法有什么处理,为什么在[Symbol.iterator]之前的*
如果放在之后,它将不会运行.
我曾经认为*[Symbol.iterator]()是一种覆盖现有迭代器属性的方法,但是它不会说这个[Symbol.iterator].

谢谢!

javascript

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

从babel-preset-env中删除全局"use strict"

我想删除babel-preset-env与babel 6.x一起添加的全局'use strict'.

我读了关于es2015的另一篇文章.

我尝试了以下.babelrc配置,无济于事:

{
  "presets": [["env", {"loose":true}]],
  "plugins": [
    ["transform-es2015-modules-commonjs", {
      "strict" : false
    }]
  ]
}
Run Code Online (Sandbox Code Playgroud)

我不想像在es2015中建议的其他帖子一样编辑node_modules中的实际文件.这是一个非常黑客,不会坚持下去.

到目前为止,唯一的解决方案是使用gulp-iife来包装每个文件.真的没有办法在我的.babelrc文件中传递一个选项来禁用它吗?

'env'中的哪个插件甚至可以这样做?

谢谢

javascript babel node.js gulp-babel

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

为什么我的应用程序不会在Heroku上建立websocket连接?

我正在尝试在heroku上部署我的nodejs应用程序.我无法建立websocket连接.我已经阅读了我能找到的所有内容,尝试了每一个例子,但似乎没有一个适合我.

当我尝试打开我的页面"heroku open"时,nodejs正确地给了我html文件.然而,websocket'ws'连接永远不会建立.

我的server.js有以下配置:

var pport = process.env.PORT || 5000;
server.listen(pport, function(err) {
    if(!err) { console.log("Listening on port " + pport); }
});
Run Code Online (Sandbox Code Playgroud)

旁注 当我检查"Heroku的日志",我发现我的应用程序运行的端口是随机5位数字.(如28896,53365等)它实际上从未在下半场运行|| 5000.

但问题是,为了让我的game.html文件建立一个websocket连接,它需要知道什么端口.我尝试了以下客户端配置,没有一个工作:

1)

var host = location.origin.replace(/^http/, 'ws');
this.connection = new WebSocket(host);
Run Code Online (Sandbox Code Playgroud)

2)

var host = location.origin.replace(/^http/, 'ws');
host = host + ":5000";
this.connection = new WebSocket(host);
Run Code Online (Sandbox Code Playgroud)

3)

this.connection = new WebSocket('ws://infinite-earth-7708.herokuapp.com/');
Run Code Online (Sandbox Code Playgroud)

我也完成了他们网站所说的内容,并在部署我的应用后尝试使用以下内容:

heroku config:add NODE_ENV=production
Run Code Online (Sandbox Code Playgroud)

请指教

heroku websocket node.js

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

内联onclick vs addeventlistener的顺序是什么?为什么?

考虑这个按钮:

<button id="the_button" onclick="RunOnClick();">Click</button>
Run Code Online (Sandbox Code Playgroud)

此按钮具有内联onclick事件处理程序.RunOnClick函数的内容与此问题无关.

如果我还附加了另一个单击事件监听器,如下所示:

var btn = document.getElementById('the_button');

btn.addEventListener("click", function(){
    // Do Something
});
Run Code Online (Sandbox Code Playgroud)

我观察到在内onclick =""之后,使用addEventListener注册的处理程序似乎总是最后运行.再次,'onclick =""'似乎总是首先运行.

我想知道为什么以及我是否总能依赖这个订单.意思是,我可以始终依靠单个内联onclick来先激活,然后在onclick完成后依次添加addEventListener.

这是侥幸吗?或者它实际上是以那种方式设计的,也是ecmascript规范的一部分.

这感觉就像回到了问题的基本质量,但我不知道答案.

html javascript

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

滚动ios设备手指输入标签

我在一个带有一些输入字段的网站上有一个基本表单.如果用户试图滚动页面,并通过将手指放在输入框中开始滚动,则不会让页面滚动.如果他们用手指在身体某处开始滚动,页面滚动就好了.

这个人似乎也有同样的问题,但是他说以前的开发人员有目的地实现了这个问题,我肯定没有这个问题. 输入字段可防止页面在iphone上滚动

有任何想法吗?

html css ios

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

.Net Core 2.0-Azure Active Directory-NGinX反向代理-HTTPS

我有一个.NET Core 2.0网站,在Linux上运行,侦听端口5000,位于NGinX反向代理后面,该代理侦听端口80和442。NGinX配置为将HTTP通信重定向到HTTPS,并处理所有通过HTTPS进行的通信。NGinx反向代理和Asp.Net Core应用位于共享网络中各自的docker容器中。

此设置当前正在按所述方式工作。

但是,我现在想根据我们的Azure Active Directory对用户进行身份验证。我遇到了一个问题,不知道从这里去哪里。

首先,让我向您展示如何配置其中的大部分功能,然后再解释我的错误。

NGinx(nginx.conf)

worker_processes 2;

events { worker_connections 1024; }

http {
    sendfile on;

    upstream docker-dotnet {
        server mycomp_prod:5000;
    }

    server {
            listen 80;
            server_name sales.mycompany.com;
            return 301 https://$host$request_uri;
    }

    server {
        listen 443 ssl;
        server_name sales.mycompany.com;
        ssl_certificate     /etc/nginx/ssl/combined.crt;
        ssl_certificate_key /etc/nginx/ssl/salesmycompany.key;

        location / {
            proxy_pass         http://docker-dotnet;
            proxy_redirect     off;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Host $server_name;
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

Dotnet:Startup.cs ConfigureServices()

services.AddAuthentication(sharedOptions =>
{
     sharedOptions.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
     sharedOptions.DefaultChallengeScheme = …
Run Code Online (Sandbox Code Playgroud)

azure azure-active-directory asp.net-core

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

密码重置链接存储在wordpress数据库中的位置

如果您使用 Wordpress 的内置密码重置服务,它将是这样的:

  1. 点击忘记密码
  2. 输入您的电子邮件或用户名
  3. 在您的电子邮件收件箱中接收链接
  4. 点击链接
  5. 填写表格

您单击的链接将如下所示:

http://yourdomain/wp-login.php?action=rp&key=vqwwSPzf6OK6bUv42XPk&login=natelough

如果您尝试将 &login 更改为其他名称,它会拒绝您。因此,某个“密钥”正在以某种方式存储并进行比较。

它存储在数据库中的什么位置?我导出了数据库并在数据库中搜索了该字符串。它没有返回任何结果。

那么什么给呢?

wordpress

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

如何传递多个参数以与 Ramda.JS 组合

我正在使用 Ramda.js,并且正在努力完成一项简单的任务。有人可以告诉我:1)为什么它不起作用,2)我怎样才能使它起作用

考虑以下代码:

// Defined in utils.js
const makeArrayFromNum = num => [num]
const multByTen = num => num * 10
const multByTwo = num => num * 2
const makeThing = compose(
  map(multByTwo),
  concat,
  map(multByTen),
  makeArrayFromNum
)

// Otherfile.js
// import makeThing from .......
// Call it from a different file (does not share scope with above things)
// ---------------
// Expect to get back: [100, 18] because:
// 1) 5 -> makeArrayFromNum -> [5]
// 2) [5] -> …
Run Code Online (Sandbox Code Playgroud)

javascript ramda.js

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