小编Fah*_*tha的帖子

Tomcat VS Jetty

我想知道每个服务器在生产环境方面的缺点.有没有人有其中一个功能的大问题?性能等我还快速看了一下新的Glassfish,它是否与简单的servlet容器匹配(它似乎至少有一个良好的管理界面)?

java webserver tomcat servlets jetty

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

从unordered_map获取键和值列表

vector从a获取键和值的列表(作为a )的最有效方法是unordered_map什么?

具体来说,假设有问题的地图是一个unordered_map<string, double>.然后我想把键作为a vector<string>,并将值作为a vector<double>.

unordered_map<string, double> um;

vector<string> vs = um.enum_keys();
vector<double> vd = um.enum_values(); 
Run Code Online (Sandbox Code Playgroud)

我可以遍历地图并收集结果,但是有更有效的方法吗?有一个方法也适用于常规地图会很好,因为我可能会切换到那个.

c++ unordered-map vector std c++11

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

Cmake无法找到Python库

得到此错误:

sudo: unable to resolve host coderw@ll
-- Could NOT find PythonLibs (missing:  PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS) 
CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108     
(message):
Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE)
Call Stack (most recent call first):
/usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:315  
(_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-2.8/Modules/FindPythonInterp.cmake:139 
(FIND_PACKAGE_HANDLE_STANDARD_ARGS)
Code/cmake/Modules/FindNumPy.cmake:10 (find_package)
CMakeLists.txt:114 (find_package)



-- Configuring incomplete, errors occurred!
See also "/home/coderwall/Desktop/rdkit/build/CMakeFiles/CMakeOutput.log".
See also "/home/coderwall/Desktop/rdkit/build/CMakeFiles/CMakeError.log".
Run Code Online (Sandbox Code Playgroud)

我已经安装了:

  1. sudo apt-get install python-dev
  2. 环境变量已设置如下:

    PYTHON_INCLUDE_DIRS=/usr/include/python2.7 
    PYTHON_LIBRARIES=/usr/lib/python2.7/config/libpython2.7.so
    
    Run Code Online (Sandbox Code Playgroud)

位置python.h:/usr/lib/include/python2.7/python.h

pythonlibs的位置:/usr/lib/python2.7/ 如何解决这个问题?

python cmake python-2.7

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

PostgreSQL数据库中具有大小(相对和绝对)的模式列表

我正在寻找一个返回任何数据库的表单结果的查询(请参阅下面的示例,假设数据库使用的总空间为40GB)

schema | size | relative size
----------+-------------------
foo    | 15GB |   37.5%      
bar    | 20GB |     50%
baz    |  5GB |   12.5%
Run Code Online (Sandbox Code Playgroud)

我已经设法使用按模式排序的数据库中的实体来编制一个空间列表,这很有用,但是从这个模式获取每个模式的摘要看起来并不那么容易.见下文.

SELECT relkind,
       relname,
       pg_catalog.pg_namespace.nspname,
       pg_size_pretty(pg_relation_size(pg_catalog.pg_class.oid))
FROM   pg_catalog.pg_class
       INNER JOIN pg_catalog.pg_namespace
         ON relnamespace = pg_catalog.pg_namespace.oid
ORDER  BY pg_catalog.pg_namespace.nspname,
          pg_relation_size(pg_catalog.pg_class.oid) DESC;
Run Code Online (Sandbox Code Playgroud)

这给出了结果

  relkind |                relname                |      nspname       | pg_size_pretty 
---------+---------------------------------------+--------------------+----------------
  r       | geno                                  | btsnp              | 11 GB
  i       | geno_pkey                             | btsnp              | 5838 MB
  r       | anno                                  | btsnp              | 63 MB
  i       | anno_fid_key                          | …
Run Code Online (Sandbox Code Playgroud)

postgresql

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

使用cbind从两个向量创建数据框

考虑以下R代码.

> x = cbind(c(10, 20), c("[]", "[]"), c("[[1,2]]","[[1,3]]"))
> x
     [,1] [,2] [,3]     
[1,] "10" "[]" "[[1,2]]"
[2,] "20" "[]" "[[1,3]]"
Run Code Online (Sandbox Code Playgroud)

同样

> x = rbind(c(10, "[]", "[[1,2]]"), c(20, "[]", "[[1,3]]"))
> x
     [,1] [,2] [,3]     
[1,] "10" "[]" "[[1,2]]"
[2,] "20" "[]" "[[1,3]]"
Run Code Online (Sandbox Code Playgroud)

现在,我不想要整数10并将20其转换为字符串.如何在没有任何转换的情况下执行此操作?我当然也想知道为什么会发生这种转换.我查看了cbind帮助,也尝试了谷歌搜索,但没有找到解决方案的运气.我也相信在某些情况下.R将字符串转换为因子,我也不希望这种情况发生,尽管这里似乎没有发生.

r dataframe

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

了解外部函数接口(FFI)和语言绑定

混合使用不同的编程语言一直是我不太了解的事情.根据这篇维基百科的文章,外部函数接口(或FFI)可以通过以下几种方式完成:

  1. 要求以特定方式指定或实现要作为主机语言可调用的客户语言函数; 经常使用某种兼容性库.
  2. 使用工具使用适当的粘合代码自动"包装"客户语言函数,该代码执行任何必要的转换.
  3. 使用包装器库
  4. 限制可以跨语言使用的主机语言功能集.例如,从C调用的C++函数可能(通常)不包括引用参数或抛出异常.

我的问题:

  1. 第一,第二和第三种方式有什么区别?在我看来,他们都是将被调用语言的代码编译成具有目标文件和头文件的库,然后由调用语言调用它们.
  2. 它链接的一个来源说,实现FFI可以通过以下几种方式完成:

    • 要求目标语言中的被调用函数实现特定协议.
    • 实现一个包含给定低语言函数的包装器库,并用代码"包装"它以与高级语言约定进行数据转换.
    • 要求声明为native的函数使用高级功能的子集(与低级语言兼容).

    我想知道链接源中的第一种方式是否与维基百科中的第一种方式相同?

    这个来源的第三种方式意味着什么?它与维基百科的第四种方式相对应吗?

  3. 同一个来源中,当比较它列出的三种方式时,似乎说填补两种语言之间差距的工作逐渐从被调用语言转移到调用语言.我想知道如何理解这一点?对于维基百科中的四种方式,这种转变也是如此吗?
  4. 语言绑定和FFI等价概念?他们是如何相关和不同的?

    从编程语言到库或OS服务的绑定是以该语言提供该服务的API.

  5. 我想知道维基百科的引文中的哪一种方式或以下每个例子所属的来源?

谢谢你的启示!最好的祝福!

language-agnostic binding programming-languages ffi

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

使用gcc 4.4的模板模板参数和可变参数模板

我在Debian上使用gcc 4.4.请考虑以下代码.

#include <map>
#include <string>
using std::map;
using std::string;

// Args lets the user specify additional explicit template arguments
template <typename T,
      template <typename T, typename... Args> class C,
      typename... Args>
C<T, Args...> foo()
{
  C<T, Args...> x;
  return x;
}

int main(void)
{
  map<string, int> a = foo<string, map, int>();
}
Run Code Online (Sandbox Code Playgroud)

所以,这里的想法是T匹配string,C匹配map和模板参数包Args匹配int.我可能有一些错误的语法,如果是这样,请更正.特别是,如果希望第一个模板参数class C匹配T而其余模板参数匹配模板参数包Args,template <typename T, typename... Args> class C …

c++ template-templates variadic-templates c++11

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

编写从命令行执行但不在解释器内执行的Common Lisp代码

在编写Common Lisp代码时,我使用SLIME.特别是,我使用CC Ck编译包含函数定义的缓冲区,然后切换到REPL以运行这些函数.将可执行代码放在缓冲区中运行这些函数似乎不能很好地工作.如果代码有错误,它可能会弄得一团糟.

有一种方法可以包含不在缓冲区中编译的代码,但是可以从命令行运行,例如在执行时

sbcl --script foo.lisp
Run Code Online (Sandbox Code Playgroud)

如果是这种情况,每次我想从命令行运行代码时,我都不必继续添加和删除代码.是否存在这样的情况?

这类似于Python条件.

if __name__=='__main__':
Run Code Online (Sandbox Code Playgroud)

如果将Python文件作为模块导入,则为false;如果将其作为脚本运行,则为true.

这篇由Googling随机发现的题为"使用SBCL for Common Lisp shell脚本"的博文有

;; If run from command line, the following if-test will succeed

(if (> (length sb-ext:*posix-argv*) 1)

    ;; Code that is executed from the command line only goes here

)
Run Code Online (Sandbox Code Playgroud)

包含的代码确实不会被SLIME中的编译器运行,但它也不会被运行sbcl --script.

更新:感谢Vsevolod Dyomkin的有用答案和后续行动.关于该答案的一些注释如下,从对该答案的评论中汇编而成.@Vsevolod,如果你将这些添加到你的答案中,我会删除它们.

  1. 首先,我问了一种从命令行运行代码的方法,但不是从解释器运行代码.提供的解决方案做得更多; 它还提供了一种从解释器而不是命令行运行代码的方法.

  2. 第一步是为宏字符定义一个阅读器宏功能#!.如链接"在遇到宏字符时,Lisp读者调用其读取器宏函数"中所述.读者功能由调用来定义set-dispatch-macro-character.因此,当#!看到该字符时,set-dispatch-macro-character会导致调用正文中定义的lambda函数.然后,此函数将关键字添加:noscript*features*变量中.另请参阅讨论哪些读取器宏在SO问题中 有用.阅读宏:您使用它们是什么?.

  3. 观察到关键字:noscript*features*#!角色存在时精确添加的.此外,#! …

command-line sbcl common-lisp slime

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

找到满足条件的numpy数组元素

一个可以使用numpyextract功能的元素阵列中的匹配.以下代码'a.'完全匹配数组中的元素.假设我想匹配所有包含的元素'.',我该怎么做?请注意,在这种情况下,将有两个匹配.我还想得到比赛的行数和列号.该方法不必使用extract; 任何方法都可以.谢谢.

In [110]: x = np.array([['a.','cd'],['ef','g.']])

In [111]: 'a.' == x
Out[111]: 
array([[ True, False],
       [False, False]], dtype=bool)

In [112]: np.extract('a.' == x, x)
Out[112]: 
array(['a.'], 
      dtype='|S2')
Run Code Online (Sandbox Code Playgroud)

python search numpy

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

SQLAlchemy中的PostgreSQL多维数组

我在Debian上使用SQLAlchemy 0.6.3和PostgreSQL 8.4.我想要一个表,其中一列在PostgreSQL中存储一些东西,它在Python中显示为整数列表或整数元组的元组列表.例如

((1,2), (3,4), (5,6,7))
Run Code Online (Sandbox Code Playgroud)

在下面的示例中,该列是model.我认为合理的方法可能是将东西存储为PG 2维表,这在PG中看起来像integer[][].我不知道SQLA将以什么形式将其返回给Python,但我希望它类似于元组的元组.

但是,我无法弄清楚如何告诉SQLA给我一个二维整数数组.该文档sqlalchemy.dialects.postgresql.ARRAY

item_type - 此数组项的数据类型.请注意,维度在这里是无关紧要的,因此像INTEGER [] []这样的多维数组被构造为ARRAY(整数),而不是ARRAY(ARRAY(整数))等.类型映射即时显示.

不幸的是,我不知道这意味着什么.类型映射如何在运行中实现这一点?它需要创建正确的DDL.我的第一个也是唯一的猜测是如何做到的ARRAY(ARRAY(Integer)).目前我有

  crossval_table = Table(
        name, meta,
        Column('id', Integer, primary_key=True),
        Column('created', TIMESTAMP(), default=now()),
        Column('sample', postgresql.ARRAY(Integer)),
        Column('model', postgresql.ARRAY(Integer)),
        Column('time', Float),
        schema = schema,
Run Code Online (Sandbox Code Playgroud)

这将创建以下DDL

CREATE TABLE crossval (
    id integer NOT NULL,
    created timestamp without time zone,
    sample integer[],
    model integer[],
    "time" double precision
);
Run Code Online (Sandbox Code Playgroud)

当然,这是不对的.我错过了什么?

python sqlalchemy multidimensional-array

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