小编Sah*_*and的帖子

Javascript引用计数中的循环引用

在Nicholas Zakas的书中,他解释了在Javascript中使用引用计数进行垃圾收集时循环引用的问题.他使用以下示例:

function problem(){
    var objectA = new Object();
    var objectB = new Object();

    objectA.someOtherObject = objectB;
    objectB.anotherObject = objectA;
}
Run Code Online (Sandbox Code Playgroud)

解释说这两个对象永远不会释放分配给它们的内存,因为它们在函数内部有两个对它们的引用.我想澄清一下这是如何工作的.

显然,每个对象有两个引用.第一个对象既有objectAobjectB.anotherObject指向它.情况类似于第二个对象.所以每个对象的引用计数是2.但是当函数退出时会发生什么?书中没有真正描述过这一点.他说,只要对该值的引用被另一个值覆盖,引用计数就会递减.我认为这意味着:

function problem(){
    var objectA = new Object();
    var objectB = new Object();

    objectA.someOtherObject = objectB;
    objectB.anotherObject = objectA;
    objectA.someOtherObject = objectA; //<-- that if I were to do this, 
                                       //the reference count of the second object (B) 
                                       //would become 1, and 3 for the first object (A). 

}
Run Code Online (Sandbox Code Playgroud)

但是当函数退出时会发生什么?据我所知,两个objectAobjectB它们各自相互引用的属性都将被销毁,因此,两个对象的引用计数将减少2.我没有看到Zakas谈到的"循环引用问题" …

javascript

12
推荐指数
2
解决办法
906
查看次数

节点获取POST请求的问题

在邮递员中,我可以成功地提出这个要求:

在此输入图像描述

得到这个回应:

在此输入图像描述

现在我想在node.js中的server.js文件中执行相同的请求:

const fetch = require('node-fetch')
const SEN_URL =  "http://www.sentiment140.com/api/bulkClassifyJson" // URL of sentiment analysis
app.get('/api/sentimenttest', async (req, res) => {
  try{
    var sentiments = await fetch(SEN_URL, {method: "POST", body: {"data": [{"text": "I love you"}, {"text": "I hate you"}]}})
    console.log(sentiments)
    res.send(sentiments)
  }catch(error){
    console.log(error)
  }
})
Run Code Online (Sandbox Code Playgroud)

这不起作用.这是我去localhost时在浏览器中显示的内容:5000/api/sentimenttest:

{"size":0,"timeout":0}
Run Code Online (Sandbox Code Playgroud)

这是控制台输出:

 Response {
   size: 0,
   timeout: 0,
   [Symbol(Body internals)]: 
    { body: 
       PassThrough {
         _readableState: [ReadableState],
         readable: true,
         _events: [Object],
         _eventsCount: 2,
         _maxListeners: undefined,
         _writableState: [WritableState],
         writable: false,
         allowHalfOpen: true,
         _transformState: [Object] }, …
Run Code Online (Sandbox Code Playgroud)

javascript node.js node-fetch

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

在Python中,'返回self'是否返回对象或指针的副本?

假设我有一堂课

class A:
    def method(self):
        return self
Run Code Online (Sandbox Code Playgroud)

如果method被调用,是指向A要返回的对象的指针,还是对象的副本?

python pointers class

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

运行maven依赖时如何排除项目内依赖:go-offline

我有一个多模块项目,我想下载所有依赖项以供离线使用。我使用mvn dependency:go-offline目标来做到这一点。项目中,有一个模块X依赖另一个模块Y,由于dependency:go-offline命令没有构建模块,所以在构建X的时候报错说没有找到依赖Y:

$ mvn dependency:go-offline -Dmaven.artifact.threads=30

 Failure to find se.cust.id:Y:jar:1.2.3-SNAPSHOT in https://mvn.com.com/repository/com-snapshots/ was cached in the local repository, resolution will not be reattempted until the update interval of com-snapshots has elapsed or updates are forced
Run Code Online (Sandbox Code Playgroud)

我试图通过运行让 Maven 忽略这个依赖

$ mvn dependency:go-offline -DexcludeArtifactIds=Y
Run Code Online (Sandbox Code Playgroud)

但这会导致相同的错误。在这里排除依赖项的正确方法是什么?

maven

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

Python unittest导入问题

我很难理解软件包,尤其是如何对软件包使用unittest。我看了这个问题(),但该问题的正确答案并不能解决我的问题。我有以下结构:

model
|-- __init__.py
|-- boardmodel.py
|
|-- exceptions
|   |
|   |-- __init__.py
|   |-- exceptions.py
|
|-- test
    |-- __init__.py
    |-- test_boardmodel.py
Run Code Online (Sandbox Code Playgroud)

具有以下文件/导入:

型号/__init__.py:

import model.exceptions.exceptions
import model.boardmodel
Run Code Online (Sandbox Code Playgroud)

模型/异常/__init__.py:

不包含任何内容

型号/测试/__init__.py:

不包含任何内容

boardmodel.py中导入:

from model.exceptions.exceptions import ZeroError, OverlapError, ArgumentError, ProximityError
Run Code Online (Sandbox Code Playgroud)

导入test_boardmodel.py内部

import unittest

from model.boardmodel import Board, Ball, Wall
from model.exceptions.exceptions import ProximityError
Run Code Online (Sandbox Code Playgroud)

我将自己放在模型目录中,然后运行python -m unittest test.test_boardmodel.py。我收到以下消息:

ERROR: test_boardmodel (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: test_boardmodel
Traceback (most recent …
Run Code Online (Sandbox Code Playgroud)

python unit-testing packages

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

将sync.WaitGroup与外部函数一起使用的最佳方法

我有以下代码的一些问题:

package main

import (
"fmt"
"sync"
)
// This program should go to 11, but sometimes it only prints 1 to 10.
func main() {
    ch := make(chan int)
    var wg sync.WaitGroup
    wg.Add(2)
    go Print(ch, wg) //
    go func(){

        for i := 1; i <= 11; i++ {
            ch <- i
        }

        close(ch) 
        defer wg.Done()


    }()

    wg.Wait() //deadlock here
}

// Print prints all numbers sent on the channel.
// The function returns when the channel is closed.
func …
Run Code Online (Sandbox Code Playgroud)

synchronization go

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

禁用jupyter笔记本中的警告

我在jupyter笔记本中收到这个警告.

/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py:10: DeprecationWarning: object of type <class 'float'> cannot be safely interpreted as an integer.
  # Remove the CWD from sys.path while we load stuff.
/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py:11: DeprecationWarning: object of type <class 'float'> cannot be safely interpreted as an integer.
  # This is added back by InteractiveShellApp.init_path()
Run Code Online (Sandbox Code Playgroud)

这很烦人,因为它出现在我做的每一次跑步中:

在此输入图像描述

我该如何修复或禁用它?

python jupyter-notebook

8
推荐指数
4
解决办法
8636
查看次数

如何使生成器可调用?

我正在尝试从具有784位长行的CSV文件创建数据集。这是我的代码:

import tensorflow as tf

f = open("test.csv", "r")
csvreader = csv.reader(f)
gen = (row for row in csvreader)
ds = tf.data.Dataset()
ds.from_generator(gen, [tf.uint8]*28**2)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-22-4b244ea66c1d> in <module>()
     12 gen = (row for row in csvreader_pat_trn)
     13 ds = tf.data.Dataset()
---> 14 ds.from_generator(gen, [tf.uint8]*28**2)

~/Documents/Programming/ANN/labs/lib/python3.6/site-packages/tensorflow/python/data/ops/dataset_ops.py in from_generator(generator, output_types, output_shapes)
    317     """
    318     if not callable(generator):
--> 319       raise TypeError("`generator` must be callable.")
    320     if output_shapes is None:
    321       output_shapes = nest.map_structure(

TypeError: `generator` …
Run Code Online (Sandbox Code Playgroud)

python

8
推荐指数
2
解决办法
2784
查看次数

PyCharm在同一文件夹中找不到导入

在此处输入图片说明

我正在使用PyCharm,并且正在从同一目录中的另一个python文件导入一些常量。导入在运行时有效,但是每次在该文件中使用常量时,我​​都会在import语句上得到这个令人讨厌的红色下划线。

这是文件层次结构

在此处输入图片说明

(请忽略文件夹上的红色下划线,它们与此无关)

是什么导致此行为,我该如何解决?

python pycharm

8
推荐指数
2
解决办法
1741
查看次数

指纹的目的(GPG)

关于指纹的问题:

假设我和我的朋友手头上有很多时间,而且我们的记忆力非常好。

我把我的公钥发给他。为了证明他电脑上的钥匙与我寄给他的钥匙是一样的,我继续打电话给他,用 ASCII 读出整个钥匙,当他对照电脑上的内容进行检查时。(我知道如果我要通过电话阅读,根本没有必要发送密钥,但这只是为了举例。)

我的问题是:

通过电话向另一个人大声朗读整个密钥,并让他将其与计算机上的内容进行核对是否等同于比较密钥的指纹?即,指纹是否只是确保消息未被截取和篡改的一种手段?

gnupg fingerprint

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