小编sys*_*ult的帖子

MYSQL存储过程如果语句有问题

我在freebsd上使用Mysql 5.1.28-rc.我刚刚决定在MYSQL中使用存储过程并创建一个测试过程,如下所示:

DELIMITER $$ 
DROP PROCEDURE IF EXISTS test $$
CREATE PROCEDURE test( IN test VARCHAR(22) )
BEGIN
 DECLARE count INT(11);
 SET count = (SELECT COUNT(*) FROM Test WHERE test_column = test );
 SELECT count;
 IF count = 0 THEN
  SET count = 1;
 ELSE
  SET count = 2;
 ENDIF;
END $$
DELIMITER;

这个过程很好,没有IF语句,但是它给出了if语句, ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to …

mysql stored-procedures

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

用Ruby进行科学编程

我正在用python或octave进行数学计算,因为手头上有非常好的函数和库.但是最近我对ruby产生了兴趣,我想知道Ruby中是否存在类似于Python中用于科学编程的numpy,scipy.具体来说,我正在寻找一些我可以在matplotlib中绘制绘图的东西,并在numpy和scipy中快速进行数学,代数计算.

ruby math plot algebra scientific-computing

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

如何在Perl中按键对散列哈希值进行排序?

我想对一个实际上有一个哈希作为值的哈希进行排序.例如:

my %hash1=(
   field1=>"",
   field2=>"",
   count=>0,
);
my %hash2;
$hash2{"asd"}={%hash1};
Run Code Online (Sandbox Code Playgroud)

%hash2用不同的计数值插入了大量的哈希值%hash2.

如何%hash1根据计数值对其进行排序hash1

有没有办法在没有手动实现快速排序的情况下执行此操作,例如使用Perl的sort函数?

sorting perl hash

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

我如何使用Python的Perl库?

我编写了一堆Perl库(实际上是Perl类),我想在我的Python应用程序中使用它们中的一些.有没有一种自然的方法可以在不使用SWIG或为Python编写Perl API的情况下执行此操作.我要求PHP的Perl 接口采用类似的方式.如果在Python中没有Perl这样的工作.在python中使用Perl类的最简单方法是什么?

python api perl

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

Linux内核代码中的C宏扩展

我一般在用C语言编写时忽略了使用宏,但我想我知道它们的基本原理.当我在linux内核中阅读list的源代码时,我看到了类似的东西:

#define LIST_HEAD_INIT(name) { &(name), &(name) }
#define LIST_HEAD(name) \
    struct list_head name = LIST_HEAD_INIT(name)
Run Code Online (Sandbox Code Playgroud)

(您可以从此处访问代码的其余部分.)

我在LIST_HEAD_INIT中并不理解&符号的功能(我不认为它们是操作数的地址),因此在代码中使用了LIST_HEAD_INIT.如果有人能开导我,我会很感激.

c linux macros list c-preprocessor

6
推荐指数
2
解决办法
3145
查看次数

SFIO相对于STDIO的好处是否仍然有效?

我刚刚注意到一个库SFIO,用于在C中进行安全快速的IO处理.但它不是最新的.最新版本的库是在2005年发布的,如果与最新版本的标准IO库相比,SFIO相对于STDIO声称的优势仍然有效,我无法评估.在生产代码中使用此库也是合理的吗?

c linux io

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

ANTLR的BibTex语法

我正在寻找ANTLR中的bibtex语法用于业余爱好项目.我不想花时间编写ANTLR语法(这可能需要一些时间,因为它将涉及学习曲线).任何指针我都很感激.

注意: 我发现bibtex语法用于野牛和yacc但是找不到任何用于antlr的语法.

编辑: 正如Bart指出的那样,我不需要在引用的字符串中解析前导码和tex.

grammar parsing antlr bibtex

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

获取指针数据的大小

我尝试了以下代码,以了解如何获取指针数据的大小:

 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>

 int main(){
  char *test_char_ptr = "This is just a test";
  int *test_int_ptr = (int *) malloc(16*sizeof(int));
  for(int i = 0; i<16; i++){
    test_int_ptr[i] = i;
  }
  printf("%s\n",test_char_ptr);
  printf("Test char 1: %d\n", (int)sizeof test_char_ptr );
  printf("Test char 2:%d\n", (int)sizeof *test_char_ptr );
  printf("Test char 3: %d\n", (int)((strlen(test_char_ptr)+1) * sizeof(char)));
  printf("Test int 1:%d\n", (int)sizeof test_int_ptr );
  printf("Test int 2:%d\n", (int)sizeof *test_int_ptr );
  return EXIT_SUCCESS;
 }
Run Code Online (Sandbox Code Playgroud)

代码的输出是(On 32 bit gcc 4.3):

This is just a test
Test …
Run Code Online (Sandbox Code Playgroud)

c pointers memory-management sizeof

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

Cherrypick提交订单

这可能是一个天真的git问题,但这里是:

在执行pull-request之前,我通常会从上游的最新提交创建一个新分支,然后从我的开发分支中挑选重要的提交.然后从我的新分支向远程存储库发出pull-request请求.

但我讨厌合并冲突(尽管git mergetool在发生时会有很大的帮助).我怀疑这些冲突是由樱桃的顺序引起的.我通常会从最旧的提交到最新提交的一系列提交.这是正确的方法吗?或者提交命令对git无关紧要?

在挑选樱桃时,是否有其他技巧可以最大限度地减少合并冲突?

git merge-conflict-resolution git-cherry-pick

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

CPU 和 GPU 操作并行化

我有一个应用程序,它有 3 个主要功能,目前正在按顺序运行:

1)将数据加载到内存并对其进行预处理。

2)使用GPU和theano对数据执行一些计算。

3)监视GPU上的计算状态并将其打印到屏幕上。

这 3 个功能可以通过使用多线程实现并行化。但在 python 中,我按顺序执行所有这三个功能。部分原因是过去我在 Python 多线程和 GIL 问题上运气不佳。

在这种情况下,我不一定需要利用手头的多 CPU 的全部功能。我想做的就是在 GPU 上执行计算的同时加载数据并对其进行预处理,同时监视计算的状态。目前,大多数耗时的计算都是在 2) 处执行的,因此我在 2) 处的操作有点受时间限制。现在我的问题是:

*Python 可以并行化这 3 个操作而不产生新的瓶颈,例如:由于 GIL 问题。

*我应该使用多处理而不是多线程吗?

简而言之,如果我应该在 Python 中并行化这三个操作,应该如何并行化。

自从我上次为 CPU(尤其是 python)编写多线程代码以来已经有一段时间了,任何指导将不胜感激。

编辑:错别字。

python parallel-processing multithreading multiprocessing

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