小编aza*_*uha的帖子

Microsoft Edge不允许对websockets进行localhost环回

我有网站和桌面应用程序,我想通过websockets连接它们.所以我的网站尝试连接到wss:// localhost:8080,例如.

它适用于IE11,但在"MS Edge"中我有一个错误:

不允许跨区域请求

我在Win10 10240上遇到此问题,因此默认情况下启用"允许localhost环回"标志,但它没有帮助.

当我使用CheckNetIsolation LoopbackExempt -a -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe"或此实用程序时,所有工作都按预期工作.

那么,这是一个案例,在新版本的"MS Edge"环回允许http,但不允许websockets?如果是这样,是否有可能做出一些解决方法,而不是强迫我的用户运行一些shell命令或下载externall实用程序?

相关问题:无法在Windows 10预览中的Microsoft Edge(Project Spartan)中打开localhost

loopback websocket microsoft-edge

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

如何在Haskell中基于CLI的应用程序中处理箭头键?

我正在编写简单的控制台Pomodoro计时器(作为我的Haskell学习练习): 番茄-CLI

直到那个时间菜单基于提示行.但现在我想用基于箭头的菜单替换它,就像在Yeoman中一样: http://yeoman.io/codelab/install-generators.html

我怎么能在Haskell中做到这一点?我阅读了有关System.Console.Terminfo.Keys和其他System.Console软件包的信息,但找不到我的问题的解决方案.

haskell command-line-interface

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

Haskell中的`join`和`fmap join`是否等于(从类别理论的角度来看)?

我的问题来自Haskell的monad第一定律:join . fmap join = join . join.

Haskell/Category_theory中,该法律由以下图片证明:

在此输入图像描述

我对这个例子使用类型的实例而不是类型的事实感到困惑.因为类别Hask中的对象是类型,而不是它们的实例.

所以我尝试用类型重绘这个例子,这里我得到了: 在此输入图像描述

在这张照片中,两个箭头(joinfmap join)通向M(M(X)).这是同一个对象,还是有两个不同M(M(X))

monads haskell types category-theory

6
推荐指数
2
解决办法
179
查看次数

Bootstrap 4按钮示例:按钮之间的空间来自哪里?

我试图检查Bootstrap 4中的"按钮"示例.它们有一个看起来很漂亮的按钮,如下所示:

在此输入图像描述

http://getbootstrap.com/docs/4.0/components/buttons/

但我不明白,按钮之间的空间来自哪里.

在此输入图像描述

这不是边距,不是柔性框对齐,不是透明边框.那么,它是如何工作的?实际上,我禁用了dev-tools中的所有样式,但该空间并没有消失.

css twitter-bootstrap

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

T[keyof T] 是否像分配条件类型一样工作?

我试图从分布式条件类型部分理解这个例子:

条件类型与映射类型结合使用时特别有用:

type FunctionPropertyNames<T> = {
  [K in keyof T]: T[K] extends Function ? K : never;
}[keyof T];
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我不清楚索引访问运算符的用法。这是使用相同想法的最简单示例(据我所知):

type Foo = {
    prop1: never;
    prop2: never
    method1: "method1";
    method2: "method2";
}

type FunctionPropertyNames = Foo[keyof Foo] // "method1" | "method2"
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是:索引访问运算符的这种用法只是分布式条件类型的一种特殊情况吗?因为它看起来像结果类型是 T[K] 的所有应用程序的联合,never因为是空联合”而被过滤never


更新。我将尝试更准确地表述这个问题:TS 手册描述了映射类型和条件类型的语法是什么。但是,我没有找到这种类型定义形式的任何描述:

type Keys = 'name1' | 'name2' | 'name3'
type Foo = Bar[Keys]
Run Code Online (Sandbox Code Playgroud)

或者,更现实的:

type Foo = Bar[keyof Bar]
Run Code Online (Sandbox Code Playgroud)

它看起来像是某种映射,但它也提供过滤功能,如果 Keys 包含never …

typescript typescript-generics

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

如何通过缓冲加速Haskell IO?

我在"真实世界Haskell"(第7章,第189页)中读到了IO缓冲,并尝试测试不同的缓冲大小如何影响性能.

import System.IO
import Data.Time.Clock
import Data.Char(toUpper)

main :: IO ()
main = do
  hInp <- openFile "bigFile.txt" ReadMode
  let bufferSize = truncate $ 2**10
  hSetBuffering hInp (BlockBuffering (Just bufferSize))
  bufferMode <- hGetBuffering hInp
  putStrLn $ "Current buffering mode: " ++ (show bufferMode)

  startTime <- getCurrentTime
  inp <- hGetContents hInp
  writeFile "processed.txt" (map toUpper inp)
  hClose hInp
  finishTime <- getCurrentTime
  print $ diffUTCTime finishTime startTime
  return ()
Run Code Online (Sandbox Code Playgroud)

然后我创建了一个"bigFile.txt"

-rw-rw-r-- 1 user user 96M ???.  26 09:49 bigFile.txt
Run Code Online (Sandbox Code Playgroud)

并使用不同的缓冲区大小对此文件运行我的程序:

Current buffering …
Run Code Online (Sandbox Code Playgroud)

io performance haskell buffering

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

Haskell中的所有Monad实例是否都有不同的方式从Hask映射到Hask?

我正在阅读Haskell/Category理论,以下是该文章中monad定义:

monad是一种特殊类型的仿函数,从类别到同一类别,支持一些额外的结构.所以,归结为定义.monad是一个仿函数M:C-> C,以及C中每个对象X的两个态射:

单位:X - > M(X)

连接:M(M(X)) - > M(X)

据我所知,在Haskell return中相当于unit.但return我可以写:

x :: [Int]  -- x is a member of Lst category
x = return 5
Run Code Online (Sandbox Code Playgroud)

这是Haskell中的有效代码.现在,正如你所看到的,5这里不是一个成员Lst,而是return为它工作.

所以,我想这Lst是不是СL:C->Ç.但是谁呢?

也许正确的答案是Hask,但我不确定" 从类别到其子类别的仿函数 "与" 从类别到同一类别的仿函数"相同.

monads haskell category-theory

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