小编Cel*_*ggs的帖子

Nodejs与SignalR:为什么我们需要服务器端的JavaScript?

既然我已经了解了Node.js,我一直都是它的粉丝.但今天我发现了SignalR,它为ASP.NET提供了另一种异步 - 可扩展 - 实时模型.

据我所知,在的Node.js的SignalR的主要优点是客户机 - 服务器之间共享代码(另一个优势应该在于它是跨平台),和SignalR的主要优势是一个更加成熟的框架和更好工具(IDE)支持.所以我想知道:如果SignalR在这里,我们是否还需要Windows上的Node.js?我不知道Node.js有什么优点吗?

asp.net asynchronous node.js signalr

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

如何在非python travis配置中使用python 3作为构建脚本?

我正在尝试在使用基于python3的自定义构建脚本的C库上使用Travis CI.

在构建存储库时,它会失败,./configure因为configure使用的是默认情况下未安装的Python 3.

如果我正在构建一个Python项目,我会在我的.travis.yml:

python:
  - "3.4"
Run Code Online (Sandbox Code Playgroud)

然而,这似乎并没有影响到我的仓库,因为它是在C.(我试图运行which python3python --version,其报道称,巨蟒-3不存在和Python 2.7是在使用来代替.)

我试过的构建脚本:

language: c

python:
  - "3.4"
Run Code Online (Sandbox Code Playgroud)

当我的项目不是Python项目时,如何在Travis CI中使用Python 3?

python python-3.x travis-ci

28
推荐指数
3
解决办法
3214
查看次数

使用C中的指针的const用法

我正在讨论C并且对const使用指针有疑问.我理解以下代码:

const char *someArray
Run Code Online (Sandbox Code Playgroud)

这是定义指向char类型的指针,const修饰符意味着someArray不能更改存储的值.但是,以下是什么意思?

char * const array
Run Code Online (Sandbox Code Playgroud)

这是另一种指定参数的替代方法,该参数是指向名为"array" const且不能修改的数组的char指针吗?

最后,这个组合意味着什么:

const char * const s2
Run Code Online (Sandbox Code Playgroud)

作为参考,这些来自第7章中的Deitel C编程书,所有这些都用作传递给函数的参数.

c pointers const

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

ASM 5:初始化ClassWriter时,COMPUTE_MAXS和COMPUTE_FRAMES之间有什么区别?

我是格拉巴酒的维护者.此包通过使用ASM生成一个扩展解析器类的类,从Java代码在运行时生成解析器.

我已经从ASM 4迁移到ASM 5,从生成JVM 1.5字节码到生成JVM 1.6字节码,现在我已经成功生成了JVM 1.7字节码而不是......除了我不知道为什么这样做.

基本上,我做了以下事情:

  • 将参数更改为ClassWriter构造函数; 在它之前,它new ClassWriter(ClassWriter.COMPUTE_MAXS)现在是new ClassWriter(ClassWriter.COMPUTE_FRAMES)
  • 将每个调用.visit()方法的第一个参数更改Opcodes.V1_6Opcodes.V1_7.

现在,为什么我不明白为什么它有效有两个原因:

  • 我有几个电话给MethodVisitors:

    mv.visitMaxs(0, 0); // trigger automatic computing
    
    Run Code Online (Sandbox Code Playgroud)

    这是否意味着可以删除这些说明?

  • 起初我只是尝试和添加COMPUTE_FRAMES参数的ClassWriter构造函数,但它没有在一个点为我的测试中,我宣布一个:

    static class TestJoinParser
        extends EventBusParser<Object>
    {
        protected final JoinMatcherBuilder builder
            = join('a').using('b');
    }
    
    Run Code Online (Sandbox Code Playgroud)

    错误是:

    java.lang.ClassFormatError: Arguments can't fit into locals
    
    Run Code Online (Sandbox Code Playgroud)

    鉴于它是一个实例字段,我想它与在构造函数中初始化的特定参数有关吗?

无论如何,我所有的测试现在都有效,我正在尝试更重的测试......但是我的目标是更进一步,我想至少了解为什么我的修改工作了... .

java jvm bytecode-manipulation java-bytecode-asm

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

如何将System.nanoTime的结果转换为Java中的日期?

我想将结果转换System.nanoTime()为日期.

public void tempBan(Player p, Player banner, int timeInSeconds){
    Long timeInNano = (long) (timeInSeconds * 10^9);
    int newTime = (int) (System.nanoTime() + timeInNano);
    // here I want to convert newTime to a date 
}
Run Code Online (Sandbox Code Playgroud)

我已经通过乘以10 ^ 9将秒转换为纳秒.现在我需要将当前系统时间加上我转换为纳秒的参数转换为日期.

java date nanotime

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

无法在 Windows 7 64 位上为 python 安装 pylibmc

我有一台 Windows 7 64 位笔记本电脑并安装了 memcached,但在通过 pip 安装 pylibmc 时出现错误:

pip install pylibmc
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

PS C:\Users\ABC> pip install pylibmc
Collecting pylibmc
  Using cached pylibmc-1.5.0.tar.gz
Installing collected packages: pylibmc
  Running setup.py install for pylibmc
    Complete output from command C:\Python27\python.exe -c "import setuptools, tokenize;__file__='c:\\users\\ABC\\a
ppdata\\local\\temp\\pip-build-ecqocv\\pylibmc\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().
replace('\r\n', '\n'), __file__, 'exec'))" install --record c:\users\ABC\appdata\local\temp\pip-gcnwr7-record\insta
ll-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-2.7
    creating build\lib.win32-2.7\pylibmc
    copying src\pylibmc\client.py -> build\lib.win32-2.7\pylibmc
    copying src\pylibmc\consts.py -> build\lib.win32-2.7\pylibmc
    copying src\pylibmc\pools.py -> build\lib.win32-2.7\pylibmc
    copying …
Run Code Online (Sandbox Code Playgroud)

memcached visual-studio python-2.7 pylibmc

8
推荐指数
0
解决办法
1410
查看次数

什么时候关闭CAsyncSocket是安全的?

CAsyncSocket如果我CAsyncSocket在调用之后Connect但在OnConnect调用回调之前删除了应用程序,则会崩溃我的应用程序. ASSERT(pSocket != NULL)失败CAsyncSocket::DoCallBack并且应用程序退出.

换句话说,如果我创建一个CAsyncSocket,尝试将其连接到服务器,然后在该连接成功或失败之前将其终止,我就会遇到问题.我可以通过实现OnConnect和设置一个标志来避免这种特殊的崩溃,该标志指示连接尝试已完成.如果标志为false,我知道删除是不安全的.

在删除对象之前是否还需要检查其他情况?有没有一种方法来检查它是否安全?或者我需要实现我可能会启动任何操作所有的回调(OnReceive,OnSend,OnConnect),并确保这些回调已经叫什么名字?

c++ sockets windows mfc casyncsocket

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

Instagram API实时地理位置订阅 - 请求太少

我通过订阅5个地理位置在Instagram API上实现了实时功能.这些地区几乎覆盖了布加勒斯特地区,所以我想我应该从Instagram的服务器上获得很多动作.

这是我在PHP中实现所有内容的方式(CodeIgniter):

  • 我为所有5个地理位置创建了一个回调页面,用于分析Instagram API中的原始帖子,获取地理ID,然后根据相应的地理ID 请求从该区域上传到地理终点的最近照片
  • 我解析了这个响应并缓存了照片的数据,以便稍后检索
  • 我在http://hipstagram.ro/上显示了最后30个结果

问题是我通过手机从其中一个区域拍摄照片进行了一些测试,有时我的照片显示,有时则没有.实现不会抛出任何错误,但它的工作原理很奇怪.因此......我有几个未回答的问题:

问:我可以丢失请求吗?它在Instagram API文档中说我应该在不到2秒的时间内确认请求.这是我的代码在回调方法(PHP CodeIgniter)中的样子:

if ($_SERVER ['REQUEST_METHOD'] == 'POST') {
    header("Content-Length: 0");
    header("Connection: close");
    flush();

    // do stuff with file_get_contents('php://input')
    // also, get new photos...

    $data   = json_decode (file_get_contents('php://input'));

    if (is_array ($data))
        foreach ($data as $geo) {
            $this->db->query ("LOGGING SOMETHING HERE...");

            // make some a cURL request to the geography endpoint
            // get the photos, save them in the database
            $this->live->updateGeo ($geo->object_id);
        }
}
Run Code Online (Sandbox Code Playgroud)

问:如果我遗漏了请求:

  • 是因为回调时间太长 …

api geography subscription instagram

6
推荐指数
0
解决办法
1923
查看次数

iOS 目标 c 套接字 p2p 连接与 NAT 后面的对等方

我必须在位于 NAT 后面(在不同网络中)的两个对等点之间在 iOS (Objective-C) 中实现套接字通信。是否有任何技术可以让我实现这一目标?基本上,我正在寻找一些 STUN、TURN 实现,它可以让我找出外部 IP/端口地址。

提前致谢,列昂尼德

sockets objective-c nat stun ios

6
推荐指数
0
解决办法
756
查看次数

逃逸以防止正确的外壳注入

我需要从嵌入到另一个 Mac/Windows 应用程序的 Lua 解释器运行一些 shell 命令,其中 shell 命令是实现某些事情的唯一方法,比如在浏览器中打开帮助页面。如果我有一个参数列表(这可能是用户输入的结果),我该如何转义每个参数以防止出现问题?

本文启发,一个简单的解决方案似乎是转义所有非字母数字字符,在类 Unix 系统上使用\,在 Windows 上使用^. 据我所知,这可以防止任何争论导致

  • 由于插入换行符;(Unix)或&(Windows)而执行另一个命令
  • Unix 上的命令替换$`
  • Windows 上的变量评估 %
  • 重定向<|>

此外,在相应平台上用作转义字符的任何字符都将被正确转义。

这对我来说似乎听起来不错,但是有没有我可能错过的陷阱?我知道在 bash 中,\后跟换行符将有效地删除换行符,这在这里不是问题。

编辑

我的结论是:没有一种机制可以通过交换转义字符在 Windows 和 *nix 上都有效。事实证明,确保 Windows 程序实际看到我们希望它看到的命令行参数并不是那么简单,因为在 Windows 上将命令字符串拆分为参数不是由外壳处理,而是由被调用程序本身处理。

因此需要考虑两层转义:

  1. 首先,Windows shell 将处理我们给它的东西。它可能做的是变量替换 at %,拆分为多个命令 at&或管道到另一个命令 at |
  2. 然后,它会将单个命令字符串传递给该程序将拆分的被调用程序,理想情况下但不一定遵循Microsoft 描述规则

假设它遵循这些规则,你可以向后工作,首先转义到这些规则,然后进一步转义到 shell。

bash shell escaping batch-file code-injection

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