小编Tom*_*ica的帖子

为什么我的 powershell localhost 服务器这么慢?

我拼凑了一个简单的本地服务器来托管一个纯 HTML 的网络应用程序。我需要它是因为某些功能(如 AJAX 请求)无法通过直接从文件系统打开的 HTML 工作。

它看起来像这样并且确实有效。

# source: https://gist.github.com/19WAS85/5424431

$http = [System.Net.HttpListener]::new()
# Hostname and port to listen on
$http.Prefixes.Add("http://localhost:8080/")
# Start the Http Server
$http.Start()

Add-Type -AssemblyName System.Web
# Log ready message to terminal
if ($http.IsListening) {
    write-host "HTTP Server Ready!  " -f 'black' -b 'gre'
    write-host "$($http.Prefixes)" -f 'y'
    #write-host "then try going to $($http.Prefixes)other/path" -f 'y'
}

#New-PSDrive -Name MyPowerShellSite -PSProvider FileSystem -Root $PWD.Path
# INFINTE LOOP
# Used to listen for requests
while ($http.IsListening) …
Run Code Online (Sandbox Code Playgroud)

powershell localserver

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

如何在TSQL中缩短长UNION ALL查询

我需要缩短这个查询,虽然我擅长SQL,但我还在学习.

    SELECT
        'doejoh',
        DATETIME,
        [Recipient-Address], [Message-Subject], [Sender-Address] 
    FROM
        dbo.Logs 
    WHERE
        LEFT([Recipient-Address], 6) IN ('doejoh') 
UNION ALL 
    SELECT
        'doejoh',
        DATETIME,
        [Recipient-Address], [Message-Subject], [Sender-Address] 
    FROM
        dbo.Logs 
    WHERE
        LEFT([Recipient-Address], 10) IN ('john.doe@g') 
UNION ALL 
    SELECT
        'doejoh',
        DATETIME,
        [Recipient-Address], [Message-Subject], [Sender-Address] 
    FROM
        dbo.Logs 
    WHERE
            LEFT([Sender-Address], 6) IN ('doejoh') 
    UNION ALL 
    SELECT
        'doejoh',
        DATETIME,
        [Recipient-Address], [Message-Subject], [Sender-Address] 
    FROM
        dbo.Logs 
    WHERE
            LEFT([Sender-Address], 10) IN ('john.doe@g')
    ORDER BY
        DateTime
Run Code Online (Sandbox Code Playgroud)

我必须使用这个联合,因为在同一个表中,每个用户及其电子邮件地址有4种不同的可能性.话虽这么说,我有30个用户,所以在整个查询中30x4将是120个组.第一列必须是用户名的原因是因为我在Crystal Report中使用该列.

我只是想为我的查询创建一些逻辑来缩短它,同时将每个用户"分配"到适当的第一列.

编辑添加

虽然这会缩短我的查询,但我仍然需要有30个工会:

SELECT
   'doejoh',
   DATETIME,
   [Recipient-Address], [Message-Subject], [Sender-Address] 
FROM
   dbo.Logs 
WHERE
   LEFT([Recipient-Address], 6) IN ('doejoh') …
Run Code Online (Sandbox Code Playgroud)

t-sql logic

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

SQL 2005存储过程返回值或创建它(如果它不存在)

我遇到了存储过程的问题(SQL 2005).

我有一个叫tbrm_Tags两列的表,TagIDTagName.我想将TagName值传递给存储过程,然后我想:

  1. 检查是否Tagname存在以及是否确实返回TagID
  2. 如果Tagname不存在,我希望它插入表中并返回TagID.

这是我正在使用的存储过程:

  @TagID int = null,
  @TagName varchar(50)  

AS

DECLARE @returnValue int

  BEGIN
  IF EXISTS (SELECT * FROM tbrm_Tags WHERE TagName = @TagName)
  BEGIN

  SELECT

  TagID

  FROM tbrm_Tags

  WHERE TagName = @TagName

END
ELSE
BEGIN
IF NOT EXISTS (SELECT * FROM tbrm_Tags WHERE TagName = @TagName)

   INSERT INTO tbrm_Tags

  (
    TagName

  )
  VALUES
  (
    @TagName

      )

  SELECT @returnValue = @@IDENTITY

  END …
Run Code Online (Sandbox Code Playgroud)

sql stored-procedures

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

使用malloc创建指向指针的指针

代码是

char** p = (char **) malloc(sizeof(char **) * size); //Where size is some valid value.
p[1] = (char*) malloc(sizeof(char) * 30);
Run Code Online (Sandbox Code Playgroud)

以上代码是否正常?

我的理解是

p -> +---------+
     0 char*   + -> {c,o,d,e,\0}
     +---------+

     +---------+
     1 char*   + -> {t,o,a,d,\0} //The assignment of these values is not shown in the code.
     +---------+
Run Code Online (Sandbox Code Playgroud)

所以我们应该写

char** p = (char **) malloc(sizeof(char *) * size);
Run Code Online (Sandbox Code Playgroud)

我对么?

并且p [0]表示*(p + 1)其中p + 1将指向"toad",因此将返回"toad"?

c pointers

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

在新的OCV 2.4.3中配置摄像机属性

我可能只是谷歌搜索错误,但我找不到一种方法(读取功能)来改变新的Open CV中的相机属性.我需要禁用相机的自动曝光自动增益.
这甚至可能吗?

c++ webcam opencv

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

使用Boost.Asio只读取所需的字节数

我只是创建一个非常简单的C++类,它为我提供了几个方法,如connect()read(),而不是公开所有Boost.Asio的套接字调用.

现在,我正在尝试找出如何创建一个只读取所需字节数的方法:

SocketClient::read(int bytes, char* data); //reads desired amount of bytes and puts them in data, size of data>bytes!
Run Code Online (Sandbox Code Playgroud)

不幸的是,我read_byte在Boost.Asio中找不到任何功能.我不想丢弃已收到但尚未读取的字节.

这是我的课.

c++ sockets boost boost-asio

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

定义namespace :: int类

我有点希望使用命名空间允许我定义具有已存在类名称的类 - 因此命名空间将是区分它们的方式.我寻求这个,因为我有服务器协议有一些数据类型,所以我需要实现它们的类,以及它们转换为字节.
这就是我做的,它产生了错误:

#ifndef _PACKET_DATA_TYPES
#define _PACKET_DATA_TYPES
namespace mcp_t {
    class mcp_t::int {  //ERROR: expected an identifier

    }
}
#endif
Run Code Online (Sandbox Code Playgroud)

如果这是不可能的,名称空间在这里似乎有点无用 - mcp_int无论如何我将被迫使用.

c++ oop namespaces

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

从char*创建UTF-16字符串

所以我有标准的C字符串:

char* name = "Jakub";
Run Code Online (Sandbox Code Playgroud)

我想将其转换为UTF-16.我想出,UTF-16将是两倍长 - 一个角色需要两个字符.
所以我创建另一个字符串:

char name_utf_16[10];  //"Jakub" is 5 characters
Run Code Online (Sandbox Code Playgroud)

现在,我相信与ASCII字符我只会用低字节,所以对于所有的人就会像74 00J等.有了这个信念,我可以制作这样的代码:

void charToUtf16(char* input, char* output, int length) {
    /*Todo: how to check if output is long enough?*/
    for(int i=0; i<length; i+=2)  //Step over 2 bytes
    {
        //Lets use little-endian - smallest bytes first
        output[i] = input[i];
        output[i+1] = 0;  //We will never have any data for this field
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,通过这个过程,我结束了"Jkb".我知道无法正确测试 - 我刚刚将字符串发送到Minecraft Bukkit …

c++ utf-16 char character-encoding

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

在向量中创建新的空字段

所以我有一个向量,初始是空的,但肯定会被填满.它包含结构实例:

struct some {
    int number;
    MyClass classInstance;
}

/*Meanwhile later in the code:*/
vector<some> my_list;
Run Code Online (Sandbox Code Playgroud)

当它发生时,我想为向量添加值,我需要将其放大一个.但是,当然,我不想创建任何变量来做到这一点.没有这个请求,我会这样做:

//Adding new value:
some new_item;       //Declaring new variable - stupid, ain't it?
my_list.push_back(new_item); //Copying the variable to vector, now I have it twice!
Run Code Online (Sandbox Code Playgroud)

所以,相反,我想new_item通过增加它的大小来创建矢量 - 看看:

int index = my_list.size();
my_list.reserve(index+1);  //increase the size to current size+1 - that means increase by 1
my_list[index].number = 3;  //If the size was increased, index now contains offset of last item
Run Code Online (Sandbox Code Playgroud)

但这不起作用!似乎空间没有分配 - 我得到 …

c++ memory-management stdvector

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

将第一个boost :: regex匹配放入一个字符串中

不知何故,我没有找到,如何只将第一次出现或正则表达式放入字符串.我可以创建一个正则表达式对象:

static const boost::regex e("<(From )?([A-Za-z0-9_]+)>(.*?)"); 
Run Code Online (Sandbox Code Playgroud)

现在,我需要匹配([A-Za-z0-9_]+)std::string,说playername.

std::string chat_input("<Darker> Hello");
std::string playername = e.some_match_method(chat_input, 1);   //Get contents of the second (...)
Run Code Online (Sandbox Code Playgroud)

我错过了什么?
什么应该代替some_match_method和应该采取什么参数?

c++ stdstring boost-regex

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