我有一个项目,我想用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来说相对较新,但我(几乎)知道如何使用它来成功构建一个项目.
我想有一个'主'项目文件(如果可能的话),它指定项目模块的构建顺序,运行单元测试,如果有的话,整个构建过程都失败:
我如何编写这样一个"主项目"文件(或调用任何其他机制)来构建具有大量模块间依赖关系的项目?
我随着时间的推移编写了一堆脚本,我正在重新编写脚本以保持代码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)方法是什么?
我最近在我的Linux机器上安装了mono,以便能够在更熟悉的环境中进行一些.Net编程.
我试图从命令行构建一个解决方案,而不必激发繁重的monodevelop.在Windows上,这可以使用Msbuild.exe完成.我似乎无法使用单声道工具找到该文件.
最近的是mdtool(如果我理解的话)用于构建单个项目而不是整个解决方案).
如何使用mono在Linux上从命令行构建整个解决方案?
顺便说一下,我正在运行Ubuntu 10.0.4
我正在尝试为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) 我正在尝试使用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)
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)
# …
Run Code Online (Sandbox Code Playgroud) 我正在使用一些遗留的C代码,我需要重构和清理,删除意大利面条型编程,遵守DRY原则等.
我正在考虑使用C++进行重写,但我不想走得那么远,并希望尽可能保持与C的接近(同时使用一些OOP概念[无需手动编写代码]).
我最近遇到了GObject,Vala和Genie.后两者是最近的.是否有人知道在生产代码中使用Vala或Genie?
最后但并非最不重要 - 是否有两种语言之间的利弊比较列表.我倾向于Genie,因为我喜欢Python而且我对C#并不太热衷,但Genie(显而易见的)对标签的坚持可能在实践中有点烦人 - 我会对一系列的利弊感兴趣两种语言(假设其中一种或两种语言可供生产使用).
顺便说一句,我正在开发Linux,所以任何与Windows相关的问题都与我无关.
在使用Symfony 1.x几年后,我熟悉Symfony 2.
我需要创建一个具有自定义注册过程的会员网站.此外,该网站动态生成用户角色(以前credentials
在SF v1.x中),用于限制对站点部分的访问.
我看过FOSUserBundle ,除了菜谱中的" 如何从数据库加载用户 "链接提供的代码之外,我看不到它提供的内容.我有很多自定义逻辑涉及我的用户注册和用户管理,正如我前面提到的,我不希望经历使用FOSUserBundle的学习曲线,只需要覆盖很多方法等,用我自己的自定义方法.
我不太了解Symfony2是否要从菜谱代码中学习并在我自己的UserBundle中扩展它,或投入时间学习如何使用FOSUserBundle并使用我的自定义逻辑进行自定义.
总之,这是我想要对用户做的事情:
那么我的问题是 - 哪个课程需要最少的学习曲线和努力(我有不到一个星期的时间来启动和运行准系统站点 - 我只是在业余时间进行Web开发).
我是:
我正在尝试将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) 我正在使用Docker运行PostgreSQL服务.出于某种原因,PostgreSQL想要绑定到IPV6 - 虽然我没有在任何地方指定(至少据我所知).
结果,我无法连接到PG.相关细节如下:
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)
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) 我正在使用 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)
有没有办法从父对象的实例创建子对象(无需手动“解包”父对象的字段)?