小编Sof*_*mur的帖子

如何在JavaScript中表示代数数据类型和模式匹配

在像OCaml这样的函数式语言中,我们有模式匹配.例如,我想在我的网站上记录用户的操作.一个动作可以是1)访问网页,2)删除项目,3)检查另一个用户的简档等.在OCaml中,我们可以写如下内容:

type Action = 
  | VisitPage of string (* www.myweb.com/help *)
  | DeletePost of int (* an integer post id *)
  | ViewUser of string (* a username *)
Run Code Online (Sandbox Code Playgroud)

但是,我不确定如何Action在JavaScript中定义它.我能想象的一种方式是

var action_1 = { pageVisited: "www.myweb.com/help", postDeleted: null, userViewed: null }
var action_2 = { pageVisited: null, postDeleted: 12345, userViewed: null }
var action_3 = { pageVisited: null, postDeleted: null, userViewed: "SoftTimur" }
Run Code Online (Sandbox Code Playgroud)

但是这种结构并没有表达出来pageVisited,postDeleted并且userViewed在它们中是排他性的.

任何人都可以在JavaScript中提出更好的代表吗?

有没有在JavaScript或TypeScript中进行模式匹配的常用方法?

javascript ocaml object pattern-matching typescript

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

字体文件被 CORS 策略阻止

我想构建一个由 CDN 提供商加速的服务器,为我的其他网站提供静态文件。我决定使用https://www.funfun.org.cn,然后例如https://www.funfun.org.cn/libs/font-awesome.min.csshttps://www.funfun.org .cn/libs/octicons.min.css应该可以被其他网站使用。

但是,当我通过本地主机中的网站测试此服务器时,我看到以下错误:

在此输入图像描述

例如,

从源“ https://localhost:3000 ”访问“ https://www.funfun.org.cn/libs/octicons.woff ”上的字体已被 CORS 策略阻止:无“Access-Control-Allow-Origin” ' 标头存在于所请求的资源上。因此,不允许访问来源“ https://localhost:3000 ”。

https://www.funfun.org.cn/fonts/fontawesome-webfont.woff2?v=4.4.0其他错误与和类似https://www.funfun.org.cn/libs/octicons.ttf,等等。

在我的网站中,上面的文件没有直接调用,我只有以下两行关于字体的内容,它们必须调用.ttf.woff2等。

<link rel="stylesheet" href="https://www.funfun.org.cn/libs/font-awesome.min.css"> 
<link rel="stylesheet" href="https://www.funfun.org.cn/libs/octicons.min.css">
Run Code Online (Sandbox Code Playgroud)

那么,有谁知道我可以做些什么来修复这些错误?

PS:我的nginx配置文件如下,所有文件都在 和/var/www/html/libs//var/www/html/fonts/

server {
    listen 443 ssl;

    ssl_certificate /etc/nginx/cert/1530490648293.pem;
    ssl_certificate_key /etc/nginx/cert/1530490648293.key;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_session_timeout 1d;
    ssl_stapling on;
    ssl_stapling_verify on;
    add_header Strict-Transport-Security max-age=15768000;

    root /var/www/html;

    server_name funfun.org.cn www.funfun.org.cn;

    location / …
Run Code Online (Sandbox Code Playgroud)

cdn nginx cors font-awesome octicons

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

在浏览器开发工具中显示\n和\r\n字符

在 JavaScript 中,我有包含换行符的字符串,例如var s = "123\n456"var s = "123\r\n456"

使用console.log(s),浏览器的开发工具在控制台中显示真正的换行符。

我想知道如何按字面打印字符串。例如,我想在开发工具或浏览器中查看123\n456或。123\r\n456

有人可以帮忙吗?

javascript ascii

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

如何使用Subversion,Ocaml,Emacs设置版本控制

我们是两名开发Ocaml项目的开发人员.似乎Subversion的版本控制是有用的和实用的.我想寻找非常基本和简单的工具,谁能告诉我从哪里开始?我们正在使用Linux,我使用的是Ubuntu.

非常感谢你!

编辑1:我在Emacs下编码Ocaml,所以更喜欢周围的工具......

svn version-control ocaml

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

Scheme中类型的精确术语

我正在寻找关于Scheme类型的标准文档.例如,As类型不需要在程序中明确指定,我不知道它是boolboolean; LISTLISTE; intNat; List[]还是List[alpha]......

另一个小问题是如何定义"原子表达".例如,是'(1 2 3)一个原子表达式?

lisp scheme types

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

Microsoft帐户登录服务器检测到太多重复的身份验证尝试

在1周内,尝试在Chrome中打开Excel Online时出现以下错误,而Safari中的Excel Online则有效.有谁知道如何修理它?

登入

出了点问题我们现在无法签你.请稍后再试.

Microsoft帐户登录服务器检测到太多重复的身份验证尝试.请稍等片刻再试一次.

在此输入图像描述

excel ms-office office365

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

AttributeError:'unicode'对象没有属性XXX

我正在尝试使用pipl.我想从邮件中获取信息并将其保存到Excel文件中.

from piplapis.search import SearchAPIRequest
from piplapis.search import SearchAPIError
from openpyxl import load_workbook

request = SearchAPIRequest(email=u'clark.kent@example.com', api_key='......')

try:
    response = request.send()
except SearchAPIError as e:
    print e.http_status_code, e

filename = "mails.xlsx"
wb = load_workbook(filename = filename)
ws = wb['Sheet1']
Run Code Online (Sandbox Code Playgroud)

print(response.raw_json) 回报

{
    "@http_status_code": 200,
    "@visible_sources": 3,
    "@available_sources": 3,
    "@persons_count": 1,
    "@search_id": "0",
    "query": {
        "emails": [
            {
                "address": "clark.kent@example.com",
                "address_md5": "2610ee49440fe757e3cc4e46e5b40819"
            }
        ]
    },
    "available_data": {
        "premium": {
            "relationships": 6,
            "usernames": 2,
            "jobs": 3,
            "addresses": 2,
            "ethnicities": 3, …
Run Code Online (Sandbox Code Playgroud)

python json python-2.7 python-unicode

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