小编use*_*624的帖子

如何使用redis发布/订阅

目前我使用node.js和redis来构建应用程序,我使用redis的原因是因为发布/订阅功能.该应用程序只是在用户进入用户或离开房间时通知管理员.

function publishMsg( channel , mssage){
    redisClient.publish(channel,JSON.stringify());
}

publishMsg('room/1/user/b',{'room':1,'user':'b'});
publishMsg('room/1/user/c',{'room':1,'user':'c'});
publishMsg('room/2/user/b',{'room':2,'user':'b'});
publishMsg('room/2/user/c',{'room':2,'user':'c'});

function subscribe(pattern){
    redisClient.psubscribe(pattern);
    redisClient.on('pmessage', function(pattern, channel, message){     
        console.log('on publish / subscribe   ',  pattern+"   "+channel+"    "+message+"   "+ JSON.parse( message) );
    });
}
Run Code Online (Sandbox Code Playgroud)

既然我想听加入和脱离事件,我的问题是我应该使用两个redisclient来听这两个事件,比如

   redisClient1.psubscribe('room/*/user/*/join');
   redisClient2.psubscribe('room/*/user/*/disjoin');
Run Code Online (Sandbox Code Playgroud)

或者只使用一个redisclient来监听和分离回调中的逻辑

   redisClient2.psubscribe('room/*/user/*');
Run Code Online (Sandbox Code Playgroud)

我知道这两种方式是可能的,但我不知道现实中人们如何使用它们,在哪种情况下呢?

publish-subscribe redis node.js

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

如何在three.js应用程序中为canvas分配一个id

我在three.js中创建了一个渲染对象,并将其与DomElment连接,如下所示

var renderer = new THREE.WebGLRenderer({
            antialias: true
        });
renderer.setClearColor( 0xAAAAAA, 1 );
renderer.setSize(window.innerWidth, window.innerHeight);
document.getElementById('webgl-container').appendChild(renderer.domElement);
Run Code Online (Sandbox Code Playgroud)

所以现在three.js会自动在webgl-container div中创建一个画布,但是现在我想给画布一个id,我怎么能这样做

javascript three.js html5-canvas

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

无法在 ubuntu 中使用 systemctl start minio 启动 minio 服务器

我按照https://www.digitalocean.com/community/tutorials/how-to-set-up-an-object-storage-server-using-minio-on-的指南在 ubuntu 18.04 上配置了 minio 实例服务器ubuntu-18-04。

\n

安装后,服务器无法使用命令“sudo systemctl start minio”启动,错误如下:

\n
root@iZbp1icuzly3aac0dmjz9aZ:~# sudo systemctl status  minio\n\xe2\x97\x8f minio.service - MinIO\n   Loaded: loaded (/etc/systemd/system/minio.service; enabled; vendor preset: enabled)\n   Active: failed (Result: exit-code) since Thu 2021-12-23 17:11:56 CST; 4s ago\n     Docs: https://docs.min.io\n  Process: 9085 ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES (code=exited, status=1/FAILURE)\n  Process: 9084 ExecStartPre=/bin/bash -c if [ -z "${MINIO_VOLUMES}" ]; then echo "Variable MINIO_VOLUMES not set in /etc/default/minio"; exit 1; fi (code=exited, status=0/SUCCESS)\n Main PID: 9085 (code=exited, status=1/FAILURE)\n\nDec 23 17:11:56 iZbp1icuzly3aac0dmjz9aZ systemd[1]: …
Run Code Online (Sandbox Code Playgroud)

minio

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

仅在重命名模板时无法在node.js ejs模板中查找视图

我在ejs 3模板中有一个node.js应用程序渲染.让我们说 - 有一个模板,course.ejs,它曾经在node.js中运行良好.

res.render('course', locals);
Run Code Online (Sandbox Code Playgroud)

但是,今天当我尝试更改内容时,让我们说 - course.ejs,它没有生效,node.js应用程序没有错误,传递给模板的数据也没问题.

我甚至复制粘贴了这个模板的内容,并创建了一个名称不同的新模板 - course1.ejs.并将我的代码更改为

res.render('course1', locals);
Run Code Online (Sandbox Code Playgroud)

然后,当应用程序再次运行时,会弹出错误说明

错误:无法查找视图"course1"模板.

node.js和template中的代码都可以,它应该以上面的方式工作.为什么它现在不起作用.我有我的ejs版本0.8.3,而在3.1.0中表达,在0.10.0中表示node.js

这是我的应用配置.

app.configure(function(){
    app.engine('.html', require('ejs').__express);
    app.set('view engine', 'html');
    app.set('views',__dirname+'/views');

    app.use(express.favicon(__dirname + '/public/favicon.ico'));

  app.use(express.compress({
    filter: function (req, res) {
      return /json|text|javascript|css/.test(res.getHeader('Content-Type'));
    },
    level: 9
  }));  

    app.use(express.bodyParser({uploadDir:__dirname+'/public/uploads',keepExtensions: true,limit: '50mb'}));
    app.use(express.methodOverride());
    app.use(express.cookieParser());
    app.use(express.session({ 
                      cookie: { maxAge: 24 * 60 * 60 * 1000 }
                      ,store: sessionStore
                      ,secret: config.sessionSecret
                      ,key: 'express.sid'
                      ,clear_interval: 3600
    }));


    app.use(express.csrf()); 
    app.use(function(req, res, next){
      res.locals.token = req.session._csrf;
      next();
    });


    app.use(express.static(__dirname+'/public'));   

}
Run Code Online (Sandbox Code Playgroud)

我的静态文件位于公用文件夹中,所有模板都在视图文件夹中.

我想知道以前有没有人遇到过这种问题

ejs node.js

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

如何向ace编辑器添加警告或错误通知

我正在使用ACE编辑器进行交互式python编辑,同时我在后端有一个python解释器,它将python代码解析为结果.

当用户将代码提交到后端时,python解析器会将代码解析为结果,如果发生错误,它将返回行和列,以及JSON格式的错误描述

现在问题是ACE如何在某个位置显示错误

code-editor ace-editor

4
推荐指数
2
解决办法
3749
查看次数

Qt 5.2 Mac 10.10.1架构x86_64的未定义符号

我正在我的mac计算机上使用opencv,Qt应用程序,然而,编译给我的错误就像

Undefined symbols for architecture x86_64
Run Code Online (Sandbox Code Playgroud)

我从这里创建解决方案,Qt5.1/Qt5.2 + Mac OS 10.9(Mavericks)+ XCode 5.0.2,架构x86_64的未定义符号

我改变了/usr/local/Cellar/qt5/5.3.2/mkspecs/macx-clang/qmake.conf

QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6
Run Code Online (Sandbox Code Playgroud)

QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.9
Run Code Online (Sandbox Code Playgroud)

清洁项目后,它不起作用,我不知道其他任何改变?

/////更新////

以前我发现我的默认套件使用g ++作为编译器,现在我改为clang作为默认编译器,你可以在这里看到我的配置 https://www.dropbox.com/s/93viwvf1a70s347/Screenshot%202015-02-13 %2002.43.23.png?DL = 0

但是什么是有线的,错误'架构x86_64的未定义符号'仍然存在,还有另一个错误说:错误:链接器命令失败,退出代码1(使用-v查看调用)

怎么了??

///更新////

#-------------------------------------------------
#
# Project created by QtCreator 2014-06-08T01:54:11
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets webkitwidgets

TARGET = particle_filter
TEMPLATE = app
QT += network

SOURCES += main.cpp\

HEADERS  += \


FORMS    += \
    parkingapp.ui \

#-------------------------------------------------

INCLUDEPATH += /usr/local/Cellar/opencv/2.4.9/include

LIBS += …
Run Code Online (Sandbox Code Playgroud)

c++ macos qt opencv

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

如何在numpy的二维矩阵中随机采样

我有一个像这样的二维数组/矩阵,我将如何从这个二维矩阵中随机选择值,例如获得像[-62, 29.23]. 我看了看,numpy.choice但它是为一维数组构建的。

以下是我的 4 行 8 列示例

Space_Position=[
      [[-62,29.23],[-49.73,29.23],[-31.82,29.23],[-14.2,29.23],[3.51,29.23],[21.21,29.23],[39.04,29.23],[57.1,29.23]],

      [[-62,11.28],[-49.73,11.28],[-31.82,11.28],[-14.2,11.28],[3.51,11.28],[21.21,11.28] ,[39.04,11.28],[57.1,11.8]],

      [[-62,-5.54],[-49.73,-5.54],[-31.82,-5.54] ,[-14.2,-5.54],[3.51,-5.54],[21.21,-5.54],[39.04,-5.54],[57.1,-5.54]],

      [[-62,-23.1],[-49.73,-23.1],[-31.82,-23.1],[-14.2,-23.1],[3.51,-23.1],[21.21,-23.1],[39.04,-23.1] ,[57.1,-23.1]]
      ]
Run Code Online (Sandbox Code Playgroud)

在答案中给出了以下解决方案:

random_index1 = np.random.randint(0, Space_Position.shape[0])
random_index2 = np.random.randint(0, Space_Position.shape[1])
Space_Position[random_index1][random_index2]
Run Code Online (Sandbox Code Playgroud)

这确实可以给我一个样本,多一个样本怎么样np.choice()

我在想的另一种方法是将矩阵转换为数组而不是矩阵,例如,

Space_Position=[
      [-62,29.23],[-49.73,29.23],[-31.82,29.23],[-14.2,29.23],[3.51,29.23],[21.21,29.23],[39.04,29.23],[57.1,29.23], .....   ]
Run Code Online (Sandbox Code Playgroud)

最后使用np.choice(),但是我找不到进行转换的方法,np.flatten()使数组像

Space_Position=[-62,29.23,-49.73,29.2, ....]
Run Code Online (Sandbox Code Playgroud)

python arrays random numpy matrix

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

将像素转换为LatLng来自谷歌静态图像的坐标

我正在从谷歌静态地图API加载图像,加载的卫星图像是一个数百米宽和长度的地方.

https://maps.googleapis.com/maps/api/staticmap?center=53.4055429,-2.9976502&zoom=16&size=400x400&maptype=satellite&key=YOUR_API_KEY
Run Code Online (Sandbox Code Playgroud)

此外,图像分辨率显示为10米,如下所示

在此输入图像描述.

在此输入图像描述

我的问题是

因为我知道(53.4055429,-2.9976502)这个静态图像的居中地理位置和分辨率,我怎么能够扩展它来计算图像中左上或右下的地理位置,最后计算图像的每个像素

python google-maps geolocation google-maps-api-3

4
推荐指数
2
解决办法
3745
查看次数

从角度5更改为角度6时,无法找到本地工作空间文件('angular.json')

我按照更新将我的角度5项目更新为角度6

npm install --save-dev @angular/cli@latest
ng update @angular/cli
ng update @angular/core
ng update @angular/material
ng update rxjs
Run Code Online (Sandbox Code Playgroud)

但是当运行ng服务时,错误会不断出现,如下所示

找不到本地工作区文件('angular.json')

我被告知.angular-cli.json被一个新的替换:angular.json,但架构不再是旧版本,

这是我当前的angular-cli.json,我怎么能改成angular.json

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "project": {
    "name": "ngx-admin-demo"
  },
  "apps": [
    {
      "root": "src",
      "outDir": "dist",
      "assets": [
        "assets",
        "favicon.ico",
        "favicon.png",
        {
          "glob": "**/*",
          "input": "../node_modules/leaflet/dist/images",
          "output": "./assets/img/markers"
        }
      ],
      "index": "index.html",
      "main": "main.ts",
      "polyfills": "polyfills.ts",
      "test": "test.ts",
      "tsconfig": "tsconfig.app.json",
      "testTsconfig": "tsconfig.spec.json",
      "styles": [
        "../node_modules/bootstrap/dist/css/bootstrap.css",

        "./app/@theme/styles/styles.scss",
        "../node_modules/primeng/resources/themes/omega/theme.css",
        "../node_modules/primeng/resources/primeng.min.css",
        "styles.scss"
      ],
      "scripts": [


        "../node_modules/pace-js/pace.min.js",
        "../node_modules/echarts/dist/echarts.min.js",
        "../node_modules/chart.js/dist/Chart.min.js",
        "../src/assets/paho-mqtt.js"
      ],
      "environmentSource": "environments/environment.ts",
      "environments": …
Run Code Online (Sandbox Code Playgroud)

angular6

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

复制因子:3 大于启动 kafka 时可用的代理:1

我去年在我的mac上安装了一个kafka,系统内有很多主题。现在我将zookeeper和kafka升级到最新版本。

通过运行zookeeper,就成功了

zookeeper-server-start /usr/local/etc/kafka/zookeeper.properties
Run Code Online (Sandbox Code Playgroud)

然后是经纪人:

kafka-server-start /usr/local/etc/kafka/server.properties
Run Code Online (Sandbox Code Playgroud)

但是它出现了错误

INFO [Admin Manager on Broker 0]: Error processing create topic request CreatableTopic(name='_confluent-license', numPartitions=1, replicationFactor=3, assignments=[], configs=[CreateableTopicConfig(name='cleanup.policy', value='compact'), CreateableTopicConfig(name='min.insync.replicas', value='2')]) (kafka.server.AdminManager)
org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 3 larger than available brokers: 1.
Run Code Online (Sandbox Code Playgroud)

我该如何解决呢?

apache-kafka

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