小编Nic*_*ady的帖子

flatMap在纱线测试javascript中不起作用

我有我的一个组件的方法一些代码使用flatMap。该代码在浏览器中工作正常,但是flatMap使用来运行代码时该方法不存在yarn test。以前有没有人看过这样的东西?

? Click Events › should copy table data

TypeError: children.map(...).flatMap is not a function

  181 |     const dataKeys = children
  182 |       .map(({ $: { data: dataKey } }) => dataKey)
> 183 |       .flatMap(k => k.split(LEVEL_DELIMITER));
      |        ^
Run Code Online (Sandbox Code Playgroud)

编辑-可重现的示例:创建了CRA库并添加了以下简单测试:

it('can flatMap', () => {
    [1, 2, 3, 4].flatMap(x => [x * 2]);
});
Run Code Online (Sandbox Code Playgroud)

有同样的错误:

 FAIL  src/App.test.js
? can flatMap

TypeError: [1,2,3,4].flatMap is not a function

  at Object.<anonymous>.it (src/App.test.js:12:16)
      at new …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing ecmascript-6 reactjs yarnpkg

10
推荐指数
2
解决办法
2112
查看次数

从 Jupyter Notebook 在 Voila 中下载文件

关于从 Jupyter Notebook 下载文件,有很多问题都有很好的答案。这是我之前添加的一个。这有效,但我无法为使用 Voila 启动的服务器单击并下载该文件。

最初我意识到当点击 Voila 时我无法下载基本案例。

from IPython.display import display, FileLink

local_file = FileLink('./demo.xlsx', result_html_prefix="Click here to download: ")
display(local_file)
Run Code Online (Sandbox Code Playgroud)

输出截图

那是我的笔记本。我可以点击链接并下载文件。当我用 Voila 启动我的笔记本时,它看起来更像这样.. 在此处输入图片说明

点击链接给出 404 ?? 瞧,服务器以

from IPython.display import display, FileLink

local_file = FileLink('./demo.xlsx', result_html_prefix="Click here to download: ")
display(local_file)
Run Code Online (Sandbox Code Playgroud)

由于文件显然没有被提供......我在这里找到了这个链接并尝试:

voila mynotebook.ipynb
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不起作用。

我看到可以提供静态内容,瞧.. 我会继续沿着这条路走下去。以前有人这样做过吗?

ipython jupyter jupyter-notebook voila

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

ansible 用户模块始终显示已更改

我正在努力正确使用 ansible 的用户模块。问题是每次我运行我的剧本时,我创建的用户总是显示为已更改,即使我已经创建了它们。

我在这里发现其他人也有同样的问题,尽管我正在努力根据 github 线程实际修复它。可能是我不明白的最有用的评论

我可以确认它看起来只是一个错误 - 将附加选项添加到两个任务中,这样它们就不会总是撤消另一个任务的工作,并修复了永久更改的触发器。我不需要添加“组:”

这是我的剧本的样子:

- name: Generate all users for the environment
  user:
    createhome: yes
    state: present # to delete
    name: "{{ item.user }}"
    groups: "{{ 'developers' if item.role == 'developer' else 'customers' }}"
    password: "{{ generic_password | password_hash('sha512') }}"
    append: yes
  with_items:
    - "{{ users }}"
Run Code Online (Sandbox Code Playgroud)

我的意图是让每个用户都属于他们自己的私人组(用户私人组),但也有一个开发人员属于开发人员组。使用当前的配置,它可以工作,问题是 ansible 总是将用户报告为 "changed"。然后我将该developers组添加到 sudoers 文件中;因此我想将用户添加到developers组中。

例如

vagrant@ubuntu-bionic:/home$ sudo su - nick
$ pwd
/home/nick
$ touch file.txt …
Run Code Online (Sandbox Code Playgroud)

ansible

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

在 Recompose for React 中定义 withHandler 函数

我查看的所有示例中,实际调用的函数withHandlers似乎都是从 调用函数props,但我不知道该函数是如何定义的。这是人类文档中的一个小例子。

compose(
  withState('count', 'setCount', 0),
  withHandlers({
    incrementCount: props => event => {
      event.preventDefault()
      props.setCount(props.count + 1)
    }
  })
)(ComponentToEnhance)
Run Code Online (Sandbox Code Playgroud)

我的理解是,这将创建一个带有“状态”的 HOC 来跟踪count。我将能够通过使用定义的处理程序的操作来增加计数(例如onClick={incrementCount})。

那么我的问题是,setCount实际定义在哪里..我正在想象类似的东西

function setCount(i) {
    return i+1;
}
Run Code Online (Sandbox Code Playgroud)

既然它是从 props 调用的,那么在使用组件时是否必须将其作为 props 传入?我很困惑为什么withState需要知道状态更新程序名称,或者如果是这种情况,它是如何相关的。

它是否只是自动为您定义一个函数,该函数将用您传递的任何参数替换状态参数(如果是的话,捂脸......)

reactjs recompose

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

elasticbeanstalk 无法部署工作环境 /var/pids/web.pid: no such file or directory

我正在为 EBS 苦苦挣扎,因为我认为它的架构相对简单。我有一个 Django 应用程序。这个 Django 应用程序将包含我的工作环境和我的 WebServer 的代码。我一直在很好地部署到一个 WebServer,当我尝试合并它时,我的工作环境只有这个问题。这个可怜的家伙有同样的问题,社区似乎没有很好的答案。

这是我学到的第一个错误,因为没有很好的方法来分离配置。

从我收到此错误开始:

2020/09/03 20:17:59.065285 [ERROR] update processes [web sqsd nginx healthd cfn-hup] pid symlinks failed with error Read pid source file /var/pids/web.pid failed with error:open /var/pids /web.pid: 没有那个文件或目录

这个链接,我认为是由于我.platform的 nginx 覆盖(仅修改 gzip 以打开它)以某种方式导致了这个。我已将其删除并重新部署,但错误不存在,因此似乎合乎逻辑。不幸的是,它看起来相当喜怒无常,因为它又回来了(在我已经部署了几次之后!!!!)。

我第一次尝试解决这个问题是使用 saved_configs/

??? .elasticbeanstalk
?   ??? config.yml
?   ??? saved_configs
?       ??? web.cfg.yml
?       ??? worker.cfg.yml
Run Code Online (Sandbox Code Playgroud)

并像这样调用它:

eb create testweb --cfg web
eb create testwrkr -t worker --cfg worker …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-elastic-beanstalk

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

如何在 PureScript 中发表评论?

我想知道如何在 PureScript 代码中进行注释。

在 Python 中,等价的是:

# Here is a comment
Run Code Online (Sandbox Code Playgroud)

或者 JavaScript

// Another comment
Run Code Online (Sandbox Code Playgroud)

PureScript 中的等效项是什么?

purescript

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

为什么将ICMP校验和移位16位

我正在努力理解为什么ICMP校验和总数(在补码之前)是此代码行中的总数+向右移16位:

checksum bs = let bs' = (if (BL.length bs) `mod` 2 == 0 then bs else BL.snoc bs 0)
                  ws = runGet listOfWord16 bs'
                  total = sum (map fromIntegral ws) :: Word32
              in complement (fromIntegral total + fromIntegral (total `shiftR` 16))
Run Code Online (Sandbox Code Playgroud)

RFC 792关于计算校验和的说法是这样的:

校验和

校验和是ICMP消息以ICMP类型开头的补码和的16位补码。为了计算校验和,校验和字段应为零。如果总长度为奇数,则用零的一个八位位组填充接收到的数据以计算校验和。将来可能会替换此校验和。

我理解为什么bs'要按照“如果总长度为奇数,则将接收到的数据填充一个零的八位位组以计算校验和”的要求进行计算。

我也可以理解将本行代码中完成的16位字的总和 total = sum (map fromIntegral ws) :: Word32

我只是不知道为什么在这行代码中:

complement (fromIntegral total + fromIntegral (total `shiftR` 16))
Run Code Online (Sandbox Code Playgroud)

+ fromIntegral (total `shiftR` 16)应该包括在所有。

注意:我已经用wireshark验证了校验和是正确的,仅当我total …

haskell checksum icmp

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

pre-commit run 路径python3.6(来自--python=python3.6)不存在

我正在尝试遵循JupyterHub贡献文档,但在运行时出现错误pre-commit run

该错误与我的 python 版本有关。3.6尽管一切都安装了 Python ,但出于某种原因,它仍然在期待3.7.3。这是运行命令的输出:

(.hub)  {~/jupyter/jupyterhub} (master %)$  pre-commit run
[INFO] Initializing environment for https://github.com/asottile/reorder_python_imports.
[INFO] Initializing environment for https://github.com/ambv/black.
[INFO] Initializing environment for https://github.com/pre-commit/pre-commit-hooks.
[INFO] Installing environment for https://github.com/asottile/reorder_python_imports.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
An unexpected error has occurred: CalledProcessError: Command: ('/Users/nicholasbrady/jupyter/jupyterhub/.hub/bin/python3', '-mvirtualenv', '/Users/nicholasbrady/.cache/pre-commit/repo5hv9ofak/py_env-python3.6', '-p', 'python3.6')
Return code: 3
Expected return code: 0
Output: 
    The path python3.6 …
Run Code Online (Sandbox Code Playgroud)

jupyterhub pre-commit.com

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

material-ui的“ maxWidth居中”对话框(模式)

我正在尝试设置max-widthon material-uiDialog组件。当我设置最大宽度时,模态将变得不居中。我在这里创建了一个最小的示例:

//npm install material-ui
import React from 'react'
import Dialog from 'material-ui/Dialog';
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';

function App() {
  return(
    <MuiThemeProvider>
      <div>
        <Dialog open={true} style={{maxWidth: '300px'}}>
          <h2>nice box</h2>
        </Dialog>
        <h1>React App</h1>
      </div>
    </MuiThemeProvider>
  );
}

export default App
Run Code Online (Sandbox Code Playgroud)

结果看起来像这样:

在此处输入图片说明

如果删除style={{maxWidth: '300px'}},则Dialog组件及其子项将按预期居中。

在此处输入图片说明

如何在对话框组件上放置maxWidth并保持其正确居中?我已经尝试了很多次,但是没有很多运气。

reactjs material-ui

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