小编Hom*_*lli的帖子

automake和项目依赖

我有一个项目,我想用automake构建.该项目由不同的组件或模块组成,并且存在模块间依赖关系,这需要以特定顺序构建项目.

例如:

project dir/
  module1 (core C shared lib)
  module2 (C++ shared lib wrapper around module 1)
  module3 (C++ application with dependency on module2)
  module4 (C library with dependency on module1)
  module5 (C application with dependency on module4)
Run Code Online (Sandbox Code Playgroud)

我对automake来说相对较新,但我(几乎)知道如何使用它来成功构建一个项目.

我想有一个'主'项目文件(如果可能的话),它指定项目模块的构建顺序,运行单元测试,如果有的话,整个构建过程都失败:

  • 其中一个模块无法构建
  • 其中一个模块未通过单元测试

我如何编写这样一个"主项目"文件(或调用任何其他机制)来构建具有大量模块间依赖关系的项目?

c c++ automake makefile

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

Python:从不同模块登录到同一文件的正确方法

我随着时间的推移编写了一堆脚本,我正在重新编写脚本以保持代码DRY.我目前在各种脚本中使用这些内容:

if __name__ == '__main__':
    logger = logging.getLogger('dbinit')
    hdlr = logging.FileHandler('/var/logs/tmp/foo.log')
    formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
    hdlr.setFormatter(formatter)
    logger.addHandler(hdlr) 
    logger.setLevel(logging.WARNING)
Run Code Online (Sandbox Code Playgroud)

我想在每个脚本(即"模块")中重复这个,而不是在某个地方完成这个记录器初始化,并通过各种脚本访问(嗯,可能包装在单个类中?).

如果我不能这样做(即将记录器初始化代码放在一个核心模块中),我假设通过在logging.FileHandler()调用中使用相同的日志文件名,各种脚本将写入同一文件.

这个假设是否正确?

最后但并非最不重要的是,解决这个问题的最佳实践(即Pythonic)方法是什么?

python logging

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

mono:在Linux上的命令行中构建.Net解决方案

我最近在我的Linux机器上安装了mono,以便能够在更熟悉的环境中进行一些.Net编程.

我试图从命令行构建一个解决方案,而不必激发繁重的monodevelop.在Windows上,这可以使用Msbuild.exe完成.我似乎无法使用单声道工具找到该文件.

最近的是mdtool(如果我理解的话)用于构建单个项目而不是整个解决方案).

如何使用mono在Linux上从命令行构建整个解决方案

顺便说一下,我正在运行Ubuntu 10.0.4

.net ubuntu mono

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

java.lang.NoClassDefFoundError:java.awt.Container

我正在尝试为UML安装Visual Paradigm.在安装过程中它崩溃了.这是堆栈跟踪:

Unpacking JRE ...
Preparing JRE ...
Starting Installer ...
java.lang.NoClassDefFoundError: java.awt.Container
    at com.install4j.runtime.installer.frontend.headless.AbstractHeadlessScreenExecutor.init(Unknown Source)
    at com.install4j.runtime.installer.frontend.headless.ConsoleScreenExecutor.<init>(Unknown Source)
    at com.install4j.runtime.installer.frontend.headless.InstallerConsoleScreenExecutor.<init>(Unknown Source)
    at com.install4j.runtime.installer.Installer.getScreenExecutor(Unknown Source)
    at com.install4j.runtime.installer.Installer.runInProcess(Unknown Source)
    at com.install4j.runtime.installer.Installer.main(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
    at com.install4j.runtime.launcher.Launcher.main(Unknown Source)
java.lang.NoClassDefFoundError: java.awt.Component
    at javax.swing.ImageIcon.<clinit>(Unknown Source)
    at com.install4j.runtime.installer.frontend.GUIHelper.loadIcon(Unknown Source)
    at com.install4j.runtime.installer.frontend.GUIHelper.<clinit>(Unknown Source)
    at com.install4j.runtime.installer.helper.InstallerUtil.reportException(Unknown Source)
    at com.install4j.runtime.installer.Installer.main(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.exe4j.runtime.LauncherEngine.launch(Unknown …
Run Code Online (Sandbox Code Playgroud)

java awt

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

Docker PostgreSQL 9.6 - 安装扩展plpython3u(与分位数扩展冲突)

我正在尝试使用plpython安装PostgreSQL dockerised服务.我能够成功构建映像,但是当我来运行容器时,我收到以下错误:

错误:无法打开扩展控制文件"/usr/share/postgresql/9.5/extension/plpython3u.control":没有这样的文件或目录STATEMENT:CREATE EXTENSION"plpython3u"; psql:/docker-entrypoint-initdb.d/create_db.sql:7:错误:无法打开扩展控制文件"/usr/share/postgresql/9.5/extension/plpython3u.control":没有这样的文件或目录

我的目录布局:

me@yourbox:~/Projects/experimental/docker/scratchdb$ tree
.
??? Dockerfile
??? sql
    ??? create_db.sql
    ??? schemas
        ??? DDL
            ??? db_schema_foo.sql
Run Code Online (Sandbox Code Playgroud)

Dockerfile

FROM library/postgres:9.6
FROM zitsen/postgres-pgxn

RUN apt-get update \
 && apt-get install -y --no-install-recommends \
    python3 postgresql-plpython3-9.6

RUN pgxn install quantile

COPY sql /docker-entrypoint-initdb.d/ 

# Add VOLUMEs to allow backup of config, logs and databases
VOLUME  ["/etc/postgresql", "/var/log/postgresql", "/var/lib/postgresql"]

# Set the default command to run when starting the container
# CMD ["/usr/lib/postgresql/9.6/bin/postgres", "-D", "/var/lib/postgresql/9.6/main", "-c", "config_file=/etc/postgresql/9.6/main/postgresql.conf"]
Run Code Online (Sandbox Code Playgroud)

create_db.sql

# …
Run Code Online (Sandbox Code Playgroud)

postgresql docker

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

Vala和Genie生产准备好了吗?

我正在使用一些遗留的C代码,我需要重构和清理,删除意大利面条型编程,遵守DRY原则等.

我正在考虑使用C++进行重写,但我不想走得那么远,并希望尽可能保持与C的接近(同时使用一些OOP概念[无需手动编写代码]).

我最近遇到了GObject,Vala和Genie.后两者是最近的.是否有人知道在生产代码中使用Vala或Genie?

最后但并非最不重要 - 是否有两种语言之间的利弊比较列表.我倾向于Genie,因​​为我喜欢Python而且我对C#并不太热衷,但Genie(显而易见的)对标签的坚持可能在实践中有点烦人 - 我会对一系列的利弊感兴趣两种语言(假设其中一种或两种语言可供生产使用).

顺便说一句,我正在开发Linux,所以任何与Windows相关的问题都与我无关.

c gobject vala genie

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

Symfony2用户管理,使用FOSUserBundle或使用Symfony cookbook代码作为起点滚动我自己?

在使用Symfony 1.x几年后,我熟悉Symfony 2.

我需要创建一个具有自定义注册过程的会员网站.此外,该网站动态生成用户角色(以前credentialsSF v1.x中),用于限制对站点部分的访问.

我看过FOSUserBundle ,除了菜谱中的" 如何从数据库加载用户 "链接提供的代码之外,我看不到它提供的内容.我有很多自定义逻辑涉及我的用户注册和用户管理,正如我前面提到的,我不希望经历使用FOSUserBundle的学习曲线,只需要覆盖很多方法等,用我自己的自定义方法.

我不太了解Symfony2是否要从菜谱代码中学习并在我自己的UserBundle中扩展它,投入时间学习如何使用FOSUserBundle并使用我的自定义逻辑进行自定义.

总之,这是我想要对用户做的事情:

  1. 提供自定义注册工作流程
  2. 动态更新用户角色/组成员身份(最初在登录期间,随后在会话期间).

那么我的问题是 - 哪个课程需要最少的学习曲线和努力(我有不到一个星期的时间来启动和运行准系统站点 - 我只是在业余时间进行Web开发).

我是:

  • 编写我自己的UserBundle,使用cookbook中的代码作为起点
  • 了解如何使用FOSUserBundle并使用我的自定义逻辑对其进行自定义?(往上看)

php symfony

9
推荐指数
2
解决办法
3707
查看次数

命令行Docile与Silex的ORM:您在项目中缺少"cli-config.php"或"config/cli-config.php"文件

我正在尝试将Doctrine ORM与Silex一起使用,并且由于缺乏一致的文档而发现它是令人沮丧的经历.

当我vendor/bin/doctrine在控制台运行时,我得到以下输出:

输出:

You are missing a "cli-config.php" or "config/cli-config.php" file in your
project, which is required to get the Doctrine Console working. You can use the
following sample as a template:

<?php
use Doctrine\ORM\Tools\Console\ConsoleRunner;

// replace with file to your own project bootstrap
require_once 'bootstrap.php';

// replace with mechanism to retrieve EntityManager in your app
$entityManager = GetEntityManager();

return ConsoleRunner::createHelperSet($entityManager);
Run Code Online (Sandbox Code Playgroud)

这是我的composer.json文件:

{
    "require": { 
        "silex/silex": "2.0.*@dev",
        "symfony/yaml": "2.6.7",
        "doctrine/dbal": "~2.2",
        "dflydev/doctrine-orm-service-provider": "2.0.*@dev",
        "khepin/yaml-fixtures-bundle": "~0.8.1"
    },
    "config": …
Run Code Online (Sandbox Code Playgroud)

php doctrine symfony silex

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

Docker PostgreSQL服务:无法绑定IPv6套接字:无法分配请求的地址

我正在使用Docker运行PostgreSQL服务.出于某种原因,PostgreSQL想要绑定到IPV6 - 虽然我没有在任何地方指定(至少据我所知).

结果,我无法连接到PG.相关细节如下:

Dockerfile

FROM postgres:9.6

RUN apt-get update \
 && apt-get -y install apt-utils \
 && apt-get -y install python3 \
 && apt-get -y install postgresql-plpython3-9.6

COPY sql /docker-entrypoint-initdb.d/ 

EXPOSE 5432

# Add VOLUMEs to allow backup of config, logs and databases
VOLUME  ["/etc/postgresql", "/var/log/postgresql", "/var/lib/postgresql"]
Run Code Online (Sandbox Code Playgroud)

PostgreSQL日志文件内容

LOG:  received fast shutdown request
LOG:  aborting any active transactions
waiting for server to shut down....LOG:  autovacuum launcher shutting down
LOG:  shutting down
LOG:  database system is shut down
 done
server …
Run Code Online (Sandbox Code Playgroud)

postgresql docker

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

Django模型继承-基于父实例创建子对象

我正在使用 Django 4.0

我有以下型号:

class Parent(models.Model):
    # fields ommitted for the sake of brevity
    pass

class Child(Parent):
   child_only_field = models.CharField(max_length=64)
Run Code Online (Sandbox Code Playgroud)

代码

p = Parent.objects.create(**fields_dict)
c1 = Child.objects.create(child_only_field='Hello 123', p) # Obviously won't work
# c2 = ...
Run Code Online (Sandbox Code Playgroud)

有没有办法从父对象的实例创建子对象(无需手动“解包”父对象的字段)?

python django django-models

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

标签 统计

c ×2

docker ×2

php ×2

postgresql ×2

python ×2

symfony ×2

.net ×1

automake ×1

awt ×1

c++ ×1

django ×1

django-models ×1

doctrine ×1

genie ×1

gobject ×1

java ×1

logging ×1

makefile ×1

mono ×1

silex ×1

ubuntu ×1

vala ×1