小编Mic*_*sch的帖子

生成shell脚本调用树

我已经交了一个项目,包括几十个(可能超过100个,我没有计算)bash脚本.大多数脚本至少调用另一个脚本.我想得到一个调用图的等价物,其中节点是脚本而不是函数.

有没有现成的软件可以做到这一点?

如果没有,是否有人对如何做到这一点有聪明的想法?

我能想出的最佳计划是枚举脚本并检查基本名称是否唯一(它们跨越多个目录).如果有重复的基本名称,则哭,因为脚本路径通常以变量名称保存,因此您可能无法消除歧义.如果它们是唯一的,那么grep脚本中的名称并使用这些结果来构建图形.使用一些工具(建议?)来可视化图形.

建议?

shell scripting graph-visualization

7
推荐指数
1
解决办法
3038
查看次数

在运行Laravel 5迁移时如何提示输入数据库密码

Laravel迁移执行DDL操作时,需要以特别高的特权级别运行。我想以命名用户身份进行迁移,而不将密码存储在任何地方。当他们从命令行运行迁移时,这将要求提示用户输入密码。我找不到通过连接配置实现此目的的任何方法。

有没有一种方法可以通过连接配置来实现?

如果不是,是否有一种方法可以在顶部使用一薄层自定义代码执行迁移,从而以自定义方式建立数据库连接?例如编写一个脚本/工匠命令来执行提示,连接到数据库,然后将其余的委托给Laravel现有的迁移代码?

laravel laravel-5

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

要针对多个xsd架构验证XML

我正在写xsd和代码来验证,所以我在这里有很好的控制权.

我想有一个上传工具,可以根据xml文件向我的应用程序添加内容.应根据其他部分中的某个值,针对不同的模式验证xml文件的一部分.这是一个例子来说明:

<foo>
  <name>Harold</name>
  <bar>Alpha</bar>
  <baz>Mercury</baz>
  <!-- ... more general info that applies to all foos ... -->

  <bar-config>
    <!-- the content here is specific to the bar named "Alpha" -->
  </bar-config>
  <baz-config>
    <!-- the content here is specific to the baz named "Mercury" -->
  </baz>
</foo>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,内容有一些受控的词汇表<bar>,我可以处理那部分就好了.然后,根据条形值,应使用适当的xml架构来验证bar-config的内容.同样适用于baz和baz-config.

执行解析/验证的代码是用Java编写的.不确定解决方案的语言依赖性.

理想情况下,该解决方案将允许xml作者声明适当的模式位置以及什么不是,以便他/她可以在足够智能的编辑器中动态验证xml.

此外,对于可能的值<bar><baz>是正交的,所以我不希望通过延长每一个可能的酒吧/巴兹组合来做到这一点.我的意思是,如果有24个可能的条形值/模式和8个可能的baz值/模式,我希望能够写出1 + 24 + 8 = 33个总模式,而不是1*24*8 = 192个模式.

另外,如果可能的话,我宁愿不将bar-config和baz-config分解成单独的xml文件.我意识到可能会使所有问题变得更容易,因为每个xml文件都有一个模式,但我正在尝试查看是否有一个好的单xml文件解决方案.

java xml xsd

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

具有更一般类型参数的Java列表的只读视图

假设我有类Foo扩展超类.我理解为什么我不能这样做:

List<Foo> fooList = getFooList();
List<Superclass> supList = fooList;
Run Code Online (Sandbox Code Playgroud)

但是,如果supList以某种方式"只读",那对我来说似乎是合理的.然后,一切都将是一致的,因为objList中出现的所有东西都是Foo,它是一个超类.

我可能会编写一个List实现,它将采用基础列表和更通用的类型参数,然后将所有内容作为更通用的类型而不是特定类型返回.它会像返回一样工作,Collections.unmodifiableList()除了类型会更加通用.

有没有更简单的方法?

我正在考虑这样做的原因是我正在实现一个接口,要求我返回一个(不可修改的)List <Superclass>,但在内部我需要使用Foos,所以我有一个List <Foo>.我不能只是演员.

java generics

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

标签 统计

java ×2

generics ×1

graph-visualization ×1

laravel ×1

laravel-5 ×1

scripting ×1

shell ×1

xml ×1

xsd ×1