小编Luk*_*non的帖子

取一个临时的地址是否安全?

在我的计划中,我想取一个临时的地址.这是一个例子:

#include <iostream>

struct Number {
    int value;
    Number(int n) {
        value = n;
    }
};

void print(Number *number) {
    std::cout << number->value << std::endl;
}

int main() {
    Number example(123);
    print(&example);
    print(&Number(456)); // Is this safe and reliable?
}
Run Code Online (Sandbox Code Playgroud)

这将输出:

123
456
Run Code Online (Sandbox Code Playgroud)

要编译,请重新-fpermissive标记该标志.

这里是我的问题:这是安全可靠?在什么情况下会出现问题?

c++ pointers memory-address

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

数组和ArrayBuffer有什么区别?

我只是想知道为什么每个人都使用ArrayBuffer而不仅仅是正常的array,string或者用字符串化JSON来从服务器向客户端发送消息.它效率更高吗?

另外,只是想知道Uint8Array它是什么,它是如何不同,在哪里使用两个等.

我目前正在使用带有Socket.io的Node.js,但WebSocket如果它是一种更好的方法,我很乐意改为纯s.

javascript websocket node.js socket.io arraybuffer

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

具有CSS过渡的可扩展Div

我的div页面顶部有一个包含一些标题文本,其中mouseenter,应该展开(高度),以显示一些较小的文本.然后,mouseleave它应该缩回.这比听起来更难......

解决方案必须:

  1. 从高处开始,只适合标题,高度适合所有文本.
  2. 从一个过渡到另一个.
  3. 尝试使用纯CSS.
  4. 如果鼠标离开,则扩展动画暂停,反之亦然(默认为CSS,但不是jQuery).

我试过了:

  1. :hover在我的样式表中使用,从设置像素值更改auto为,如此问题中所示(但在我的中它是纯CSS).这没有过渡.
  2. 在扩展时使用设置高度,这对不同的视口大小不起作用.
  3. 本问题所示,使用max-height并扩展到大于实际展开的大小.这意味着转换不能正常工作,并且在不同设备上看起来不同.div
  4. 使用jQuery .animate()auto的像素值,然后创建一个转换,如本问题所示,但动画必须在开始下一个之前完成,这意味着一系列动画可以在用户的​​鼠标后很长一段时间内继续远离div.

在此处查看以上四个示例.

如上所述,纯CSS将是理想的,但如果不可能,我会很好用JavaScript(我更喜欢jQuery).

谢谢!:)

html javascript css jquery css3

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

MMO WebSocket服务器:Node.js还是C++?

我一直在考虑使用WebSockets为网络制作实时游戏.我知道如何使用Node.js,并且很容易在那里使用它.但在我看来,C++似乎是流行的服务器语言,因为它的速度.

我应该在Node.js中制作它,然后再担心C++,或者我现在应该学习C++并从头开始学习它?

javascript c++ performance node.js server

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

在C中传递数组:方括号与指针

我想将一个数组传递给一个函数.从我所看到的,有两种方法可以做到这一点:

1.

void f (int array[]) {
    // Taking an array with square brackets
}
Run Code Online (Sandbox Code Playgroud)

2.

void f (int *array) {
    // Taking a pointer
}
Run Code Online (Sandbox Code Playgroud)

每个人都被称为:

int array[] = {0, 1, 2, 3, 4, 5};
f (array);
Run Code Online (Sandbox Code Playgroud)

这两种方法之间是否存在实际差异?

c memory arrays pointers function

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

自行编辑Google Chrome开发人员工具

有一天,我正在看谷歌Chrome开发者,我不小心拿着Ctrl和滚动mousewheel,当时,爆炸 -

在此输入图像描述

那么,这是否意味着Google Chrome开发者工具属于标准的Google Chrome界面?Google Chrome开发者工具本身是一个网页吗?我是否需要Google Chrome开发者工具的Google Chrome开发人员工具?

Dum dum dummmmmm

无论如何,假设谷歌Chrome开发者工具是一个网页,我如何访问?拿着它的文件在哪里?我如何创建自己的Google Chrome开发者工具版本?

那将是真棒.

html google-chrome developer-tools google-chrome-devtools

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

NPM是否取决于计算机的操作系统?

是否可以将一组NPM安装文件和相关文件从Mac计算机复制到Windows计算机,并使所有这些文件都能工作?

例如,将Node.js带有其他一些NPM文件的文件从Mac传输到Windows,然后node app.js在该目录中运行(在Windows命令提示符下)。

谢谢!:)

node.js npm

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

将MediaRecorder音频转换为base64

我正在使用MediaRecorder API在页面上录制音频。

我需要将此音频转换为base64。

这个例子

每次有新数据可用时,它将数据推入数组,如下所示:

function handleDataAvailable(event) {
  if (event.data && event.data.size > 0) {
    recordedBlobs.push(event.data);
  }
}
Run Code Online (Sandbox Code Playgroud)

然后,它将所有这些数据合并在一起,如下所示:

var superBuffer = new Blob(recordedBlobs, {type: 'video/webm'});
Run Code Online (Sandbox Code Playgroud)

那么如何将其转换superBuffer为base64?

html javascript audio base64 blob

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

Redis GREORADIUS:包括海拔高度吗?

我正在寻找使用 Redis 的GEORADIUS命令。

但是,该命令仅在给定经度和纬度周围的二维圆范围内搜索。我还需要搜索高度,从而在三维球体范围内找到结果。

我如何在 Redis 中实现这一目标?

database search geolocation redis altitude

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

Bash条件基于退出命令代码

在Bash中,我想要一个if语句,它基于运行命令的退出代码.例如:

#!/bin/bash

if [ ./success.sh ]; then
    echo "First: success!"
else
    echo "First: failure!"
fi

if [ ./failure.sh ]; then
    echo "Second: success!"
else
    echo "Second: failure!"
fi
Run Code Online (Sandbox Code Playgroud)

success.sh

#!/bin/bash

exit 0
Run Code Online (Sandbox Code Playgroud)

failure.sh

#!/bin/bash

exit 1
Run Code Online (Sandbox Code Playgroud)

这应打印出来:

First: success!
Second: failure!
Run Code Online (Sandbox Code Playgroud)

我怎么做到这一点?谢谢!

bash shell command process exit-code

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

聊天应用后端架构?

我正在考虑聊天应用程序后端架构的两种替代方案:

  • 每个房间的服务器:用户连接到同一服务器,该服务器直接转发消息和其他事件。数据库用于持久化。
    • 优点:消息传递更快、更高效、涉及的服务器更少
  • 每个用户的服务器:每个用户连接到一个服务器,该服务器通过消息代理(即 Redis)将消息和其他事件转发到其他服务器,再由其他服务器将这些事件转发给用户。同样,数据库用于持久性。
    • 优点:架构简单,用户连接到单个服务器,更可靠

注意:术语“服务器”不是指物理机器,而是指特定的地址/端口。

每种模型还有哪些其他优点和缺点?在什么情况下我会使用哪种模型?还有其他可能的后端架构吗?

如果这是相关的:该应用程序侧重于 2 个用户房间(即直接消息传递),不太重视团体或非常大的房间。

如果这不是正确的 Stack Exchange 网络,请告诉我,我可以转移问题。谢谢你!

architecture chat backend instant-messaging server

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

对于不同的字符串和salt,PHP .crypt()结果相同

因为我使用的是旧版本的PHP,所以我必须使用.crypt().我正在测试一些密码验证,服务器验证错误的密码是正确的.然后我决定尽可能进行最基本的测试,我仍然有这个问题:

<?php
echo crypt("cryptcryptcrypt","salt");
echo "<br>";
echo crypt("cryptcryptcrypta","salta");
?>
Run Code Online (Sandbox Code Playgroud)

- 结果是:

saRyxun8Pn/K6
saRyxun8Pn/K6
Run Code Online (Sandbox Code Playgroud)

为什么这是hapening?


出于测试目的,我正在使用PhpFiddle,因此您在回答时可能会发现这很有用......

php security crypt cryptography password-encryption

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

如何在Socket.io中模拟延迟?

目前,我正在localhost连接到我的路由器的设备上测试我的Node.js,Socket.io服务器.

出于测试目的,我想模拟发送消息的延迟,因此我知道它对全世界的用户来说会是什么样的.

有没有有效的方法呢?

simulation latency websocket node.js socket.io

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