小编mjn*_*mjn的帖子

如何使用JSF outputStylesheet实现CSS Cache Busting?

在JSF页面模板中,我使用此代码来包含CSS资源:

<h:outputStylesheet library="css" name="mystyles.css"  />
Run Code Online (Sandbox Code Playgroud)

实现CSS缓存清除的常用方法是添加版本参数v=123,但是在outputStyleSheet中不支持这种情况:

<h:outputStylesheet library="css" name="mystyles.css?v=123"  />
Run Code Online (Sandbox Code Playgroud)

将导致JSF1064警告,并且将找不到CSS.

css java jsf cache-control browser-cache

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

Free Pascal和Delphi的单源单元测试

有没有办法编写单元测试,以便可以使用Delphi和Free Pascal编译和运行它们?

Delphi和Free Pascal有不同的单元测试框架,这会导致针对两个编译器(例如,库和框架开发人员)的开发人员的重复工作.

所以也许有一种方法,使用DUnit或FPCUnit框架并调整测试用例源代码(或框架本身),以便它也可以与其他编译器一起使用.

基本上问题是:

  • 哪个框架(DUnit或FPCUnit)可以用两个编译器(Delphi和Free Pascal)编译,尽可能少的修改?

要么

  • 有没有第三个框架(感谢Arnaud提到TSynTest)与Delphi和FPC一起工作?

delphi unit-testing freepascal dunit

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

是否有DCC32选项将特定编译器警告视为错误?

对于命令行构建,我想将警告(例如"构造包含抽象方法的实例")视为错误.我在Delphi 2009中没有为此目的找到dcc32命令行选项.有没有办法,例如使用dcc32.cfg来执行此操作?

delphi compiler-warnings

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

GitHub 不断提示我选择帐户

git_提示符

如图所示,GitHub 不断要求我选择一个帐户(重复?),即使两个帐户具有相同的名称。我只在 GitHub 中添加了一个帐户,但在过去的几天里,我一直收到此弹出窗口以选择帐户。

git github

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

如何在Delphi控制台应用程序中处理Ctrl + C?

是否有可用的最佳实践和代码片段,说明如何在Delphi控制台应用程序中处理Ctrl + C?

我找到了一些文章,它们提供了一些关于调试器可能存在的问题的信息,包括异常处理,DLL的卸载,stdin的关闭,以及例如这个CodeGear论坛线程的最终化.

delphi console

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

Apache Maven可以免费获得Pascal的好处吗?

Apache Maven是Java开源生态圈中非常流行的构建和依赖管理工具.我做了一些测试,以确定它是否可以处理编译的Free Pascal/Delphi单元并且发现它易于实现.所以有可能

  • 发布在公共Maven存储库中为Free Pascal(或Delphi)预编译的开源库
  • 包含此存储库中包含依赖关系信息的元数据
  • 在命令行上使用Maven从公共存储库下载开源库,并自动解析所有依赖项
  • 作为代理工作的本地存储库可用于缓存经常使用的二进制文件
  • 自动校验和生成和验证(由Maven提供)将降低下载损坏的二进制文件的风险
  • 二进制文件可以提供源代码甚至文档文件
  • 可以提供带有或不带调试信息的二进制文件
  • Hudson,TeamCityCruiseControl等持续集成服务器可用于在将更改提交到源控制系统时构建项目,并通知开发人员有关构建错误的信息

这种依赖管理方式对于使用许多具有复杂依赖性的第三方库的开源项目非常有用.它可以避免因使用错误版本而导致的典型冲突.

对于开发人员,编辑和构建项目的工作流程将降至最低:

  • 从内部版本控制系统检出项目源
  • 编辑源文件
  • 运行mvn package以自动下载所有必需的第三方库(预编译单元),如果它们尚未在工作站的本地存储库中
  • 编译并运行

项目文件夹中唯一需要的Apache Maven附加文件是包含项目信息的POM.XML文件.

编辑:虽然Maven可用于一些必需的任务,但在本机Free Pascal中实现像Maven这样的解决方案会有一些优势:不需要Java SDK,支持Free Pascal可用的所有开发平台,Pascal中的维护和插件开发.

使用类似Maven的工具仅对开源项目没有帮助 - 商业项目也可以以相同的方式访问和使用公共Maven存储库中的工件.

Maven功能列于http://maven.apache.org/maven-features.html


更新:

一个用例可能是Lazarus的构建,其中Maven将下载所有必需的库并使用必要的构建路径参数调用编译器.较低级别的依赖关系的更改将自动传播到父级构建.

可能的好处:

  • 设置新工作站所需的时间更少,无需手动安装第三方库
  • 由错误的库版本引起的错误更少,检测到版本冲突(例如,如果两个库依赖于第三个库的不同版本)
  • 内部创建的工件可以添加到本地maven存储库,并在开发人员和项目之间共享,所有工件的中央存储与元数据
  • 只需使用相同的源和项目元数据文件(pom.xml),构建是可重现的
  • 可以缩短开发时间,提高项目稳定性

更新#2:FPMake

Free Pascal 的FPMake构建系统似乎是一个具有很大潜力的工具,在许多细节上它与Maven非常相似:

  • FPMake是一个基于pascal的构建系统,为FPC开发和分发
  • FPMake通过定义一些限制(如标准目录)来标准化建筑
  • 该命令fppkg <packagename>将在数据库中查找该包,将其解压缩,然后编译fpmake.pp并运行它
  • 它有标准的构建目标(清理,构建,安装......)
  • 它可以创建一个适合导入存储库(如mvn deploymvn install)的"清单"文件,清单是一个XML文件,看起来非常类似于Maven中的pom.xml:

FPMake清单文件:

      <packages>
        <package name="my-package">
          <version major="0" minor="7" micro="6" build="1"/>
          <filename>my-package-0.7.6-1.zip</filename>
          <author>my name</author> …
Run Code Online (Sandbox Code Playgroud)

delphi build-automation freepascal maven fpmake

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

有没有一个工具可以从Delphi表单文件中提取所有SQL命令字符串?

对于文档和进一步检查,我想在许多项目中的所有DFM文件上运行"提取字符串"以查找所有SQL语句.是否有可以执行此操作的命令行工具?DFM文件都是文本格式.

sql delphi extract dfm

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

接口对Delphi的执行速度有什么影响?

如果我用我的Delphi程序中的所有对象引用替换接口引用,并使用从TInterfacedObject继承的对象,生成的应用程序将以与以前相同的速度运行吗?或者引用计数是否在运行时添加了重要的执行开销?

delphi oop performance interface

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

有没有检测重复接口GUID的工具?

这是典型的复制粘贴错误:

如果包含带有GUID的接口声明的某些Delphi代码被复制粘贴,Delphi将不会抱怨和编译在不同位置重用相同GUID的代码.

"支持"功能使用基于其GUID的接口,因此可能出现错误.

是否有可以检测到它们的"质量保证"工具(可能是Peganza或Delphi Sonar插件)?

delphi guid

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

是否有免费下载的WebSphere MQ开发人员版本?

WebSphere Application Server 8.0在免费的开发人员版本中可用,还有一个可用于WebSphere MQ吗?

websphere ibm-mq

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