小编Jef*_*rey的帖子

如何为https Web服务器创建.pem文件

我在Node.js中使用Express框架来创建Web服务器.我希望传输基于SSL.

创建https Web服务器的代码如下.

var app = express.createServer({
  key: fs.readFileSync('./conf/key.pem'),
  cert: fs.readFileSync('./conf/cert.pem')
});
module.exports = app;
Run Code Online (Sandbox Code Playgroud)

问题:如何创建快递所需的key.pem和cert.pem?

ssl https webserver pem node.js

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

uglify-js可以删除console.log语句吗?

我正在使用uglify-js来缩小源代码.我想删除原始源代码的console.log语句.可能吗?或者还有其他压缩机工具支持吗?

我在Node.js中使用如下代码.

var uglify = require('uglify-js');
var originalSourceCode = 'var name = function(){var str = "test"; return str}; console.log("log data");';
var minifiedCode = uglify.minify(originalSourceCode, {
                fromString : true,
                mangle: {},
                warnings: true
            });
console.log(minifiedCode);
Run Code Online (Sandbox Code Playgroud)

输出是:

$node m.js
{ code: 'var name=function(){var a="test";return a};console.log("log data");',
  map: 'null' }
Run Code Online (Sandbox Code Playgroud)

在缩小的代码中,不会删除console.log.

javascript node.js uglifyjs2

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

JSON.NET JObject键比较不区分大小写

我正在使用Newtonsoft Json.net来解析JSON字符串.我将字符串转换为JObject.当通过键访问元素的值时,我希望比较是不区分大小写的.在下面的代码中,我使用"FROM"作为键.我希望它在行json ["FROM"]返回字符串"1".ToString().但它失败了.是否可以使下面的代码工作?

String ptString = "{from: 1, to: 3}";
var json = (JObject)JsonConvert.DeserializeObject(ptString);

String f = json["FROM"].ToString();
Run Code Online (Sandbox Code Playgroud)

c# json json.net

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

类模板中名称解析的实际结果与c ++ 03标准不同

我测试在C++标准ISO/IEC 14882-03 14.6.1/9上的Xcode 4.1和Visual Studio 2008两个编译器的输出都是从标准的预期的结果不同的代码.

代码粘贴在下面.

#include <stdio.h>
#include <iostream>
using namespace std;

void f(char);

template <class T > void g(T t)
{
    f(1);
    f(T(1));
    f(t);
}

void f(int);
void h()
{
    g(2);
    g('a');
}

void f(int)
{
     cout << "f int" << endl;
}


void f(char)
{
    cout << "f char" << endl;
}


int main() { 
    h();  
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

作为标准的描述.预期的产出应该是

f char
f int
f int
f char
f char
f char
Run Code Online (Sandbox Code Playgroud)

在Xcode 4.1上构建并运行代码.输出如下.在构建设置中,我尝试将"Compiler for C/C++/Object-C"更改为Apple …

c++ standards xcode token-name-resolution

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

如何在Mac OS X上检查已安装的Qt版本

是否有命令检查Mac OS X上已安装的Qt的版本.我的Mac OS X版本是10.6.7.

Eidt:更新状态10/28/2011

运行/ usr/sbin/system_profiler SPFrameworksDataType时,QTkit的版本是7.6.6.

qglobal.h中宏QT_VERSION_STR的值为"4.7.2".

我很困惑为什么两个版本字符串不同?显然,版本字符串"4.7.2"是我想要的.

谢谢,杰弗里

macos qt

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

如何使用node-gyp在Mac上生成XCode项目

我正在使用node-gyp来构建node.js附加组件.binding.gyp文件的内容是

{
  'targets': [
    {
      'target_name': 'myapp',
      'include_dirs': ['api-sdk'],
      'sources': [ 'main.cpp', 'lib.cpp'],
      'cflags!': [ '-fno-exceptions' ],
      'cflags_cc!': [ '-fno-exceptions' ],
      'conditions': [
        ['OS=="mac"', {
          'xcode_settings': {
            'GCC_ENABLE_CPP_EXCEPTIONS': 'YES'
          }
        }]
      ]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

在Windows上,当我运行时node-gyp configure,Visual Studio项目会自动生成.但在Mac上,它在执行后不会生成相应的XCode项目node-gyp configure.

有人知道如何使用Node-gyp生成XCode项目吗?我应该在binding.gyp文件中添加一些设置吗?

谢谢,

杰弗里

macos xcode node.js node-gyp

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

如何检查Boost :: asio中的套接字连接是否存在?

我正在使用Boost :: asio来实现客户端/服务器应用程序.下面的客户端代码用于连接远程服务器.

   try
    {
        boost::asio::io_service         m_io_service;
        boost::asio::ip::tcp::socket    m_socket(m_io_service);
        boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::address::from_string("127.0.0.1"), 17);
        m_socket.connect(endpoint);
    }
    catch (std::exception& e)
    {
        std::cerr << e.what() << std::endl;
    }
Run Code Online (Sandbox Code Playgroud)

在客户端,我想检查连接是否有效.功能" m_socket.is_open();"不起作用.当服务器套接字关闭时," m_socket.is_open();"仍然在客户端返回true.有没有办法检查连接?

c++ boost boost-asio

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

如何在Node中发送OAuth请求

我想访问node.js中的WS REST API.我有oauth_consumer_keyoauth_tokenAPI端点.oauth_signature_method是HMAC-SHA1.

如何在Node中发送OAuth请求?

是否有模块/库来生成请求标头?我期望的功能如下:

var httprequest = createRequest(url, method, consumer_key, token);
Run Code Online (Sandbox Code Playgroud)
  • 更新10/14/2012.添加解决方案.

我正在使用下面的代码.

var OAuth = require('oauth').OAuth;

consumer = new OAuth('http://term.ie/oauth/example/request_token.php',
                    'http://term.ie/oauth/example/access_token.php',
                    'key', 'secret', '1.0',
                    null, 'HMAC-SHA1');

// Get the request token                    
consumer.getOAuthRequestToken(function(err, oauth_token, oauth_token_secret, results ){
    console.log('==>Get the request token');
    console.log(arguments);
});


// Get the authorized access_token with the un-authorized one.
consumer.getOAuthAccessToken('requestkey', 'requestsecret', function (err, oauth_token, oauth_token_secret, results){
    console.log('==>Get the access token');
    console.log(arguments);
});

// Access the protected resource with access token
var url='http://term.ie/oauth/example/echo_api.php?method=foo&bar=baz'; …
Run Code Online (Sandbox Code Playgroud)

module oauth node.js

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

节点永远不能在Ubuntu 12.04.1上运行

当我在Ubuntu 12.04.1上永远玩得开心时,我将node.js从v0.6.12升级到v0.8.15后得到了以下错误.在升级之前它运作良好.以前有人遇到过这种问题吗?

$ forever

module.js:340
    throw err;
          ^
Error: Cannot find module './daemon.v0.8.15'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/forever/node_modules/daemon/lib/daemon.js:12:11)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:362:17)
Run Code Online (Sandbox Code Playgroud)

我的环境是

node v0.8.15
npm 1.1.66
Run Code Online (Sandbox Code Playgroud)

我用命令行打击安装了node和npm

$ sudo apt-get install python-software-properties -y
$ sudo add-apt-repository ppa:chris-lea/node.js
$ sudo apt-get update
$ sudo apt-get install nodejs npm -y
Run Code Online (Sandbox Code Playgroud)

我用命令行永远安装

$ sudo npm install forever -g
Run Code Online (Sandbox Code Playgroud)

ubuntu node.js forever

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

Cache-Control的优先级:max-age和ETag

我使用AWS S3存储桶保存图像文件.我max-age=315360000为每个文件添加一个元数据.

图像文件的响应头如下.在标题中,Cache-Control:max-age = 315360000和etag都已设置.

Cache-Control:max-age=315360000
Date:Thu, 15 Sep 2016 11:03:31 GMT
ETag:"326ae27d85f6d847f819e19955c0f0aa"
Last-Modified:Tue, 06 Sep 2016 03:23:26 GMT
Server:AmazonS3
x-amz-id-2:O/kt/JoZ/hmxSXUWGvkVLudMs6H4MDk8vgS2hIuZvAgGKMdYJsqSiqx/PnpT5AGsJ6FH8O3MGb4=
x-amz-request-id:9289AFE7D3BACB96
x-amz-version-id:P7bZwWZ9PO4I__ZHzwk5tXeiaU6QLSWJ
Run Code Online (Sandbox Code Playgroud)

问题1:哪一个控制缓存的优先级更高?

如果Cache-Control:max-age=315360000具有更高的吸引力,则应该是下一个请求的响应200 from cache.如果ETag具有更高的吸引力,则应该是下一个请求的响应304.

我在Mac chrome(版本53.0.2785.89(64位))上进行测试.我得到一个奇怪的行为.

  • 测试1 - 访问图像URL到浏览器.回应是304.
  • 测试2 - 访问包含图像元素的html文件以引用图像.回应是200 from cache

我使用chrome dev工具将这两个请求复制为curl命令行.

Test 1 curl command lines

curl 'http://s3.cn-north-1.amazonaws.com.cn/xxxx/xxxx.jpg' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.89 Safari/537.36' -H 'Referer: http://pano.shejijia.com/?locale=zh-CN&data=http%3A%2F%2Fjuran-prod-contents.s3.cn-north-1.amazonaws.com.cn%2FAsset%2Fpanos%2F9b57a2b1-0ff7-4c79-ad3d-3343d95f2ad9%2F2702d299-c269-442f-804b-49d94296454e.json&mode=navipano&designId=9b57a2b1-0ff7-4c79-ad3d-3343d95f2ad9' -H 'Origin: http://pano.shejijia.com' …
Run Code Online (Sandbox Code Playgroud)

cache-control browser-cache

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