小编oct*_*bus的帖子

如何在Apache中集成Clojure Web应用程序

注意

鉴于此OP大约两年前编写,而不是再次提出相同的问题,我想知道是否存在分步说明,以便我可以将Noir或其他Clojure Web应用程序集成到Apache中,无论是Jetty,Tomcat , 或者是其他东西.Django也存在类似的指令,我想我明白Python在Django的情况下是作为引擎而不是环形框架运行的,所以Clojure Web应用程序更复杂.

结束注释

我深深爱上了Clojure,而Compojure似乎是一个整洁的Web框架.

但是当我想将我的应用程序部署在像Tomcat这样的常规应用程序服务器上作为WAR时,它就崩溃了.我实际上必须为静态文件和资源编写自定义Ring处理程序,这些文件和资源可以在本地Jetty和Tomcat上运行,因为库存处理程序没有,我不得不手动将上下文根添加到任何地方.

令我感到非常惊讶的是,我必须编写所有这些代码来创建可以在Jetty和Tomcat上运行的最简单的Web应用程序.我只有三种可能的解释:

  1. 除了使用Jetty进行本地开发之外,没有人使用Clojure/Compojure,即在生产中
  2. 每个人都在没有上下文根的专用Jetty上部署Clojure/Compojure应用程序(LIke人们使用Node.js应用程序)
  3. 有一种非常简单的方法来规避我遇到的问题,我不知道

您认为以下哪一种情况?或者是别的什么?

编辑:

请注意,创建一个战争文件是Maven/Leiningen的明智之举,而不是我的意思.我想知道我必须编写如此多的代码来使Compojure与Tomcat一起工作,基本的东西,如静态文件服务和上下文根知识应该开箱即用.

deployment clojure war compojure

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

为什么数据库行元组中的整数后缀为'L'?

我的问题是为什么MySQL行的整数值后缀为'L'?以下是详细信息:

以下词典 - 为了便于展示而人为地格式化 -

{'estimated': '', 
 'suffix': '', 
 'typeofread': 'g', 
  'acct_no': 901001000L, 
  'counter': 0, 
  'time_billed': datetime.datetime(2012, 5, 1, 9, 5, 33), 
  'date_read': datetime.datetime(2012, 3, 13, 23, 19, 45), 
  'reading': 3018L, 
  'meter_num': '26174200'}
Run Code Online (Sandbox Code Playgroud)

由一个MySQL数据库表的列压缩而成,其中包含从表中读取一次的结果.

我可以通过将这些值传递给int()来删除'L',所以如果该字典位于名为snapped_read的变量中,我可以这样做:

int(snapped_read['reading'])并将3018L改为3018.

我只是好奇为什么整数会以这种方式出现.

python mysql

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

如何为函数指针创建typedef

我认为如果我为函数指针创建了一个typedef会更容易使用函数指针,但我似乎让自己绊倒了一些语法或用法或类似于函数指针的typedef,我可以使用一些帮助.

我有

int foo(int i){ return i + 1;}
typedef <???> g;
int hvar;
hvar = g(3)
Run Code Online (Sandbox Code Playgroud)

这基本上就是我想要完成的事情,我是一个相当新的C程序员,这让我太过分了.有什么替代<???>

c typedef function-pointers

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

如何将gettext .mo文件转换为.po文件

当.po文件不再可用时,有没有办法将.mo文件转换为.po文件源?我需要编辑.mo文件的内容,但我没有.po文件.可能吗?

python translation gettext

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

如何更正MySQL加载错误

我不太确定类似的问题是由于我试图执行以下MySQL程序而关闭的.

mysql -e "load data local infile \
'/tmp/ept_inventory_wasp_export_04292013.csv' into \
table wasp_ept_inv fields terminated by ',' \
lines terminated by '\n' ;"
Run Code Online (Sandbox Code Playgroud)

在bash命令行中获取此错误

ERROR 1148 (42000) at line 1: The used command is not allowed with this MySQL version

我该如何解决这个问题?

我实际上是从Python程序运行此命令,但是在bash命令行中尝试使用它来取消命令.

我已经看到了如何修改my.cnf(local-infile),但如果我能避免它,我不希望全局变化.

这是MySQL版本.

mysql Ver 14.14 Distrib 5.5.31, for debian-linux-gnu (i686) using readline 6.2

mysql csv import load local

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

灵活数组成员不在结构错误结束时的原因是什么?

我想知道为什么我error: flexible array member not at end of struct在调用malloc 时会一直出错.我有一个带有可变长度数组的结构,我不断收到此错误.

结构是,

typedef struct {
  size_t N;
  double data[];
  int label[];
} s_col; 
Run Code Online (Sandbox Code Playgroud)

而对malloc的调用是,

col = malloc(sizeof(s_col) + lc * (sizeof(double) + sizeof(int)));
Run Code Online (Sandbox Code Playgroud)

这是对malloc的正确调用吗?

c malloc struct

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

为什么我在尝试创建共享对象时遇到gcc"未定义引用"错误?

为什么我使用gcc得到"未定义的引用"错误?

我正在尝试创建一个导出一个函数的共享对象(.so),"external()".然后我尝试链接.so但得到"未定义的引用'外部'".我在这做错了什么?

文件:external.c

int external() {
    return 5;
}
Run Code Online (Sandbox Code Playgroud)

文件:program.c

int external();
int main(char** argv, int* argc) {
    return external();
}
Run Code Online (Sandbox Code Playgroud)

命令:

$ gcc -fPIC -c external.c
$ gcc -shared -o libexternal.so external.o
$ gcc -L. -lexternal -o program program.c
/tmp/cc3MmhAE.o: In function `main':
program.c:(.text+0x7): undefined reference to `external'
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

我甚至可以运行nm并看到.so正在定义'external':

命令:

$ nm libexternal.so | grep external
0000040c T external
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

c gcc shared-libraries ld

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

如何使用javascript从电子邮件地址中提取用户名?

鉴于以下电子邮件地址 - someone@example.com - 如何使用javascript从地址中提取某人?

谢谢.

javascript email

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

如何在MySQL存储过程中使用DROP TABLE IF EXISTS

我想知道如何DROP TABLE IF EXISTS在MySQL存储过程中使用.我正在编写一个相当长的mySQL存储过程,它将执行大量工作,然后加载带有结果的临时表.但是,我无法完成这项工作.

我已经看到了几种方法来做临时表的事情.基本上,您要么创建临时表,要对其进行处理,然后将其放在最后...或者如果它存在则将其删除,创建它,然后对其进行处理.

我更喜欢第二种方法,所以你总是开始干净,这是对表存在的内置检查.但是,我似乎无法让它工作:

这是我的例子:

这个作品:

DELIMITER//
    DROP PROCEDURE IF EXISTS pTest//
    CREATE PROCEDURE pTest()
    BEGIN
        CREATE TEMPORARY TABLE tblTest (
            OrderDate varchar(200)
        );
        DROP TEMPORARY TABLE tblTest;
    END//
 DELIMITER ;
CALL pTest();
Run Code Online (Sandbox Code Playgroud)

这个作品:

DELIMITER//
    DROP PROCEDURE IF EXISTS pTest//
    CREATE PROCEDURE pTest()
    BEGIN
        DROP TEMPORARY TABLE tblTest;
        CREATE TEMPORARY TABLE tblTest (
            OrderDate varchar(200)
        );
    END//
 DELIMITER ;
CALL pTest();
Run Code Online (Sandbox Code Playgroud)

这不是:

DELIMITER//
    DROP PROCEDURE IF EXISTS pTest//
    CREATE PROCEDURE pTest()
    BEGIN
        DROP TEMPORARY TABLE IF …
Run Code Online (Sandbox Code Playgroud)

mysql stored-procedures

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

如何将一个整数数组复制到另一个

复制整数数组的最佳方法是什么?我知道这memcpy()是一种方法.有什么功能strdup()吗?

c memory-management

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