小编jos*_*erk的帖子

从命令行使用sendmail

我正在尝试编写一个bash脚本,由cron任务运行,在某些情况下会向我发送一封电子邮件.

为了尝试让sendmail使用我的Sendgrid SMTP设置,我使用以下内容编辑了/etc/postfix/main.cf文件:

smtp_sasl_password_maps = static:<username>:<password>
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = may
smtp_tls_security_level=encrypt
header_size_limit = 4096000
relayhost = [smtp.sendgrid.net]:587
Run Code Online (Sandbox Code Playgroud)

我使用sudo /etc/init.d/postfix restart重新启动了postfix

并尝试使用以下命令从命令行发送电子邮件:

sendmail my@email.com </tmp/email.txt

这导致以下输出:

您在/ var/mail/ubuntu中有新邮件

为什么sendgrid不使用我在main.cf中指定的Sendgrid SMTP详细信息发送我的电子邮件?

请注意,这个问题仅与sendmail有关,我不想安装其他SMTP客户端和应用程序,它需要按原样工作.

email cron sendmail

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

从命令行将MySQL变量传递给脚本

我有一个MySQL更新脚本我想从命令行运行,但我希望能够将一个阶段域变量传递给脚本.

我知道这不起作用,但这是我描述我想要做的最好的方式:

$ -uroot -hlocalhost mydatabase  --execute "SET @domain = 'mydomain.dev' " < ./sql/update_domain.sql
Run Code Online (Sandbox Code Playgroud)

在脚本内部,我使用@domain变量来更新配置表中的一些配置变量,使用如下命令:

UPDATE my_cfg SET value = @domain WHERE name = 'DOMAIN';
Run Code Online (Sandbox Code Playgroud)

基本上我想在update_domain.sql文件中为SET @domain添加前缀.

我有什么想法可以纠正我的做法?

mysql command-line command-line-arguments

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

在Elastic Beanstalk上启动/停止sqsd守护程序以查看SQS队列消息

我想查看SQS的消息,他们让我的魔豆弹性intstance拾起sqsd之前.有没有办法,一旦ssh进入实例,sqsd可以作为服务一起停止/启动?

amazon-elastic-beanstalk

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

Facebook PHP 3.0.1 SDK API,getUser()总是== 0!为什么?

我有以下代码:

$facebook = new Facebook(array(
    'appId' => '###',
    'secret' => '###'
));
$user = $facebook->getUser();
Run Code Online (Sandbox Code Playgroud)

$ user总是0,我的AppId和Secret都是100%正确的.我究竟做错了什么?

facebook

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

任何人都可以推荐外汇交易API吗?

我有兴趣使用PHP,JavaScript和新的HTML 5 canvas对象进行外汇交易试验.我看了一下,但想知道我可以用于外汇交易的JavaScript API.

谁能推荐任何东西?

trading

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

无法在 Mac OS X 上使用 C + libusb 声明 USB 接口

我有一个使用 PIC32 微控制器构建的复合 USB + CDC 设备,我正在尝试连接到该设备并将一些数据从我的 Mac 发送到 CDC 数据接口端点。

我知道电路可以 100% 工作,因为该设备同时注册为 HID 操纵杆,并且我能够使用 Zoc 终端在 /dev/tty.usbmodemfa132 上连接到该设备。我可以使用Zoc发送命令,并通过使电路上的一些 LED 闪烁来查看我的 MCU 对这些命令的响应。

我在 Mac OS X Mavericks 上运行它,但在几周前在 Mountain Lion 上我放弃了一个类似的例子时遇到了同样的问题。

我的代码如下所示:

// Includes -----------------------------------------------------------------------------------------------------------
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <libusb-1.0/libusb.h>
#include <unistd.h>

// Defines ------------------------------------------------------------------------------------------------------------
#define VID 0x04d8
#define PID 0x005e
#define CDC_DATA_INTERFACE_ID 2

// Function Declarations ----------------------------------------------------------------------------------------------
void print_device(libusb_device *device);
void send(libusb_context *usb_context, uint16_t vid, uint16_t pid);

// Function Definitions -----------------------------------------------------------------------------------------------

/** …
Run Code Online (Sandbox Code Playgroud)

c usb cdc libusb libusb-1.0

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

在运行时使用反射确定Typescript属性类型

将TypeScript转换为JavaScript时,我的理解是TypeScript类型信息会丢失,并且诸如反射之类的功能只能以非常有限的方式工作。我们在运行时使用JavaScript反射,这可以理解地限制了有关TypeScript类型的“知识”。

是否可以在运行时检索TypeScript类型信息?

让我们看一下codepen.io上的以下代码片段:

class Book {
    public title: string;
    public isbn: string;
}

class Author {
    public name: string = '';
    public books: Book[] = [];

    constructor() {
        const r = Reflect.getOwnPropertyDescriptor(this, 'books');

        console.log(`typeof: ${typeof this.books}`);
        console.log(`constructor: ${this.books.constructor.name}`);
        console.log(r);
    }
}

const author = new Author();
Run Code Online (Sandbox Code Playgroud)

日志输出“对象”,“数组”和:

Object {
    configurable: true,
    enumerable: true,
    value: [],
    writeable: true
}
Run Code Online (Sandbox Code Playgroud)

我想遍历Author的属性,并确定Author.books的类型或任何属性。我希望能够在运行时确定Author.books是Books数组。仅仅知道它是一个对象或数组对我要实现的目标毫无帮助。

有什么想法可以实现吗?

reflection typescript typescript2.0

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

多人UDP联网策略,需要建议

我正在尝试为实时3D游戏创建一个C++插件.虽然我相信对UDP的理论,它是如何工作的,它的优点和缺点有一个坚定的把握,但我关注的主要问题是性能,可扩展性和可能的​​统计数据.我知道,在UDP甚至TCP方面,我可能只知道海洋的价值下降.

问题:

在某种情况下,典型的专用服务器在任何时候都能够应对多少玩家.

现在为场景......

让我们假设我们有一个MMORPG游戏,所有玩家都可以在"游戏世界"的任何地方.每个人都向同一个服务器/服务器中心发送和接收数据,因为每个人都必须能够......在他们的路径最终交叉时看到并与其他人互动.这是一个实时的第一人称游戏,所以玩家的位置必须是最新的,非常及时.

让我们说我们有1000名(甚至10000名)在线玩家......

这里需要做三件事:

  1. 每个玩家通过UDP将其数据流式传输到游戏服务器,例如每秒14次发送.简而言之,这些数据包括每个玩家的身份,地点和内容.发送的数据已经过标准化,并针对大小和速度进行了优化,以鼓励最小的带宽使用.

  2. 服务器每秒14次接收这些分组多达1000个(用于演示目的的非虚构图),因此每秒处理14 000个分组.该处理阶段通常涉及更新中央存储器数据结构,其中玩家旧的x,y,z位置数据将用他的新位置和时间戳更新.服务器上的此数据结构包含整个游戏世界中所有玩家的所有数据.

  3. 服务器(可能是一个单独的线程,甚至可能是一个单独的机器)现在需要将数据包广播给所有其他玩家,因此他们可以更新他们的屏幕以显示地图上的其他玩家.这也是每秒发生14次.(其中14可能通常是动态数字,根据使用的CPU容量,繁忙的CPU,较少的帧速率而反之亦然).

重要的是:对于玩家X,只有他位置的视觉范围内的其他玩家的数据被发送到相应的玩家.因此,如果玩家Y在2英里外,他的数据需要发送到X,但如果玩家Z在行星的另一边,他的数据不会被分派到X作为节省带宽的尝试.这当然涉及更多的处理,因为必须使用最有效的索引解决方案来迭代和过滤数据.

现在我担心的是,从客户端机器发送数据包,将其送入服务器RAM,稍微处理更新数据,并选择性地将信息广播给其他玩家,需要时间.这意味着,服务器能够处理某个阈值,是的,取决于我的实现的有效性,所用硬件的速度和能力,当然还有其他外部因素,如互联网速度,交通和nr.太阳耀斑每秒击中地球......开个玩笑.

我试图从其他人那里了解,他们已经完成了这个过程,陷阱是什么,以及在创建多人插件时我可以期待的典型表现.

我可以很容易地说:"我想要同时为同一台服务器上的10000个人提供服务",你可能会说:"每个服务器100个是更现实和可能的数字."

所以我知道我可能需要提出一个多服务器/云计算中心来处理我的数千个请求和调度,在多台机器上分配处理负载.所以我可能有一些机器只处理接收数据,一个巨大的中央盒子,就像所有接收和调度机器以某种方式共享的内存数据库,当然还有一系列调度机器.

显然,存在技术限制,我真的不知道会发生什么以及它们是什么.并且在问题上抛出额外的CPU和服务器盒将不会成功地解决问题,因为机器之间的更多相互通信也将使该过程减慢一些.我认为你投入的CPU越多,可能会降低效率甚至在某个阈值时反转CPU工作效率.

可以而且我应该考虑P2P(Peer To Peer)进行多人游戏!

我是否现实地说我能够在任何时候满足2500名玩家的需求?

几年后可以扩展到10000名玩家吗?

我知道这个问题很长,所以请接受我真诚的道歉.

networking udp multiplayer

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

如何检查类型是否是另一种类型的子类?

我需要检查由Field.getType()检索的反射Field类型的实例是否是扩展特定类GenericModel的另一个类的实例.

我正在尝试下面的伪代码片段:

if(field.getType() "is_a_superclass_of" GenericModel) {
    ... then do something with it
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

当我尝试这样的事情:

field.getType().isAssignableFrom(Language.class)
Run Code Online (Sandbox Code Playgroud)

我得到一个结果,true,这意味着它是Language类,它扩展了GenericModel.然而;

field.getType().isAssignableFrom(GenericModel.class)
Run Code Online (Sandbox Code Playgroud)

返回false?

field.getType() == "za.co.company.package.model.Language"
Run Code Online (Sandbox Code Playgroud)

java

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

使用GLSL在平面上渲染平滑参考网格

我正在尝试编写GLSL片段着色器,该着色器在平坦的地平面上呈现参考网格。我正在使用BabylonJS创建一个WebGL应用程序。

可以在此处查看代码:

http://www.babylonjs.com/cyos/#IBHRN#2

#extension GL_OES_standard_derivatives : enable

precision highp float;

varying vec2 vUV;

void main(void) {
    float divisions = 10.0;
    float thickness = 0.01;
    float delta = 0.05 / 2.0;

    float x = fract(vUV.x / (1.0 / divisions));
    float xdelta = fwidth(x) * 2.5;
    x = smoothstep(x - xdelta, x + xdelta, thickness);

    float y = fract(vUV.y / (1.0 / divisions));
    float ydelta = fwidth(y) * 2.5;
    y = smoothstep(y - ydelta, y + ydelta, thickness);

    float c = clamp(x …
Run Code Online (Sandbox Code Playgroud)

shader glsl webgl fragment-shader babylonjs

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