小编Ion*_*chy的帖子

量角器片状

我维护一个复杂的Angular(1.5.x)应用程序,使用Protractor(2.5.x)进行E2E测试.我遇到了这种方法的问题,主要表现在测试看起来很脆弱的方式.在一个拉取请求中完美运行的测试在另一个拉取请求中失败.这涉及简单的定位器,例如by.linkTest(...).我调试了失败的测试,应用程序位于正确的页面上,链接存在且可访问.

有没有其他人遇到这些一致性问题?了解原因或解决方法?

selenium automation jasmine protractor jasmine2.0

12
推荐指数
2
解决办法
2730
查看次数

<ui:include>与动态src ...完全疯狂

我在JSF中完成一项非常简单的任务时遇到了很大的问题.问题:我有一些对象,这些对象具有聚合属性,这些属性的类型可以在不同对象之间变化.根据属性的类型,我想使用一组不同的输入字段.

子类型组件驻留在框架中并按需加载.为此,我使用以下代码:

<h:panelGroup id="zusatzdaten">
    <fieldset class="clear">
    <legend>#{tickerUI.ticker.tickerDescription.label}
          (#{tickerUI.ticker.tickerDescId})
    </legend>
    <h:panelGroup rendered="#{tickerUI.editComponentName != null}">
        <ui:include src="#{tickerUI.editComponentName}"/>
    </h:panelGroup>
    </fieldset>
</h:panelGroup>
Run Code Online (Sandbox Code Playgroud)

该组件的名称来自TickerUI,它是@SessionScope.现在令人眼花缭乱的一点:首次加载时,会显示正确的子组件.但是,当在导航中使用链接时,应该导致包含不同的组件,内容不会更新!这会导致错误,因为数据现在是不同的子类型,但表单组件仍然来自前一个.

从错误返回并再次单击链接时,将显示正确的组件.我记录了editComponentName的值,并返回了正确的值.这非常令人困惑.当getter将正确的组件名称返回到src属性时,为什么包含错误的内容?

非常感谢.

jsf-2

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

Postgres JSON类型的JPA2/Hibernate Criteria或CriteriaQuery

我有一个带有JSON字段的PostgreSQL数据库.我想构建一个通过JSON表达式限制结果的查询.我可以在psql中制定这个查询而不会出现问题:

select * from mytable where relation_id=100 AND CAST(jsonField->'key' AS float) >= 10.0;
Run Code Online (Sandbox Code Playgroud)

此查询组合了普通列和JSON列.

我不知道如何使用Criteria或Criteria查询在Hibernate中启动它.理论上,我可以使用HSQL语言,但我几乎可以肯定,当涉及到JSON列时,它会失败.

有谁知道如何解决这个问题?

postgresql json hibernate jpa-2.0

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

使用LLVM将问题与OSX上的boost :: program_options联系起来

由于Boost 1.49的问题,我无法在C++程序中完成链接阶段.我已经切换到C++(-std=c++11 -libc=libc++),它适用于另一段代码(也使用boost).使用自制软件安装Boost:

brew install boost --universal --with-mpi --with-icu
Run Code Online (Sandbox Code Playgroud)

问题始于boost::program_options.我得到这样的链接错误:

  "boost::program_options::validate(boost::any&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, int)", referenced from:

... etc. ...

ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)

这有点奇怪,因为在使用的库上做一个nm显示,符号似乎在那里:

nm -U /usr/local/lib/libboost_program_options-mt.dylib  | grep validate
0000000000019880 - 01 0000   FUN __ZN5boost15program_options8validateERNS_3anyERKSt6vectorISbIwSt11char_traitsIwESaIwEESaIS7_EEPSsi
0000000000019880 T __ZN5boost15program_options8validateERNS_3anyERKSt6vectorISbIwSt11char_traitsIwESaIwEESaIS7_EEPSsi
00000000000199e0 - 01 0000   FUN __ZN5boost15program_options8validateERNS_3anyERKSt6vectorISbIwSt11char_traitsIwESaIwEESaIS7_EEPbi
00000000000199e0 …
Run Code Online (Sandbox Code Playgroud)

c++ boost clang osx-lion c++11

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

Python,NetCDF4和HDF5

我不知道为什么这些软件包总是很难安装.我已经使用NetCDF/HDF5很长一段时间了,无论是在Linux还是OSX上,无论是C,C++还是现在的python,无论是在Linux还是OSX上,它总是让他们无法安装或正常运行.netcdf4和hdf5之间的简单依赖关系是许多人痛苦的源头,我真的希望这些软件包的开发人员最终能够做些什么.

所以,我面临的最新具体问题是:我正在尝试为python安装netCDF4.我收到以下错误:

Package hdf5 was not found in the pkg-config search path
Perhaps you should add the directory containing `hdf5.pc'
Run Code Online (Sandbox Code Playgroud)

我尝试使用apt-get安装hdf5软件包,包括:

  • libhdf5串行-dev的
  • libhdf5串行
  • libhdf5-7
  • 蟒蛇,h5py
  • libhdf5-dev的
  • HDF5工具
  • HDF5-助手
  • libhdf5-7-DBG

使用pip,我试过:

pip install h5py
Run Code Online (Sandbox Code Playgroud)

这很难以解决对Cython的依赖,然后我手动安装.之后安装(显然)但我无法在任何地方找到文件hdf5.pc.

我在这里拔毛.有谁知道如何解决这个问题?

python pip hdf5 netcdf python-2.7

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

是否可以在 Google Cloud Build 中动态生成标签?

首先:我对云构建有点陌生。与以前使用的方法相比,我发现它是一个令人痛苦、不成熟且相当烦人的框架。无尽的时间花费在让构建者去工作,而这些构建者应该是开箱即用的(例如 helm 构建器),而它的局限性是令人惊讶和令人沮丧的。也许下面的问题就是一个很好的例子:

我想构建并推送一个 docker 镜像。根据文档,最后推送到 docker 存储库的图像(我为此使用 GCR)位于我的 cloudbuild.yaml 文件中的以下配置部分:

images:
  - 'eu.gcr.io/$PROJECT_ID/my-project:${_TAG}'
  - 'eu.gcr.io/$PROJECT_ID/my-project:latest'
Run Code Online (Sandbox Code Playgroud)

我可以使用以下部分手动设置 _TAG 替换:

substitutions:
  _TAG: x.y.z
Run Code Online (Sandbox Code Playgroud)

但这意味着我每次都必须手动修复此文件中的版本号。更糟糕的是:如果我分支,我需要一直维护版本号。在这种情况下,我有一个 python 项目,它使用 setuptools,版本自然包含在 setup.py 文件中,我可以毫无问题地解析它。尝试将数字解析到特定文件并在图像部分中使用 $(cat VERSION) 会失败,因为系统声称它无法替换 $(cat VERSION) 部分。那么,如何在另一个构建步骤中覆盖 _TAG 变量,使其在“图像”部分中显示正确呢?

google-cloud-build

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

JSF 2.2 CDATA 被转义

升级到 Mojarra 2.2.3 后,我发现了一些奇怪的行为。以下 Javascript 声明被破坏:

在 .xhtml 文件中:

<script type="text/javascript">
<!-- /* <![CDATA[ */
    $(document).ready(function() {                                                                             
        if ($('#some_identifier').size() > 0) 
        ...
/* ]]> */-->
</script>
Run Code Online (Sandbox Code Playgroud)

这被混淆成以下废话:

<script type="text/javascript">
<!-- /* &lt;![CDATA[ */
    $(document).ready(function() {
        if ($('#some_identifier').size() &gt; 0)
        ...
/* ]]&gt; */-->
</script>
Run Code Online (Sandbox Code Playgroud)

这会破坏 .xhtml 文件中嵌入的所有 javascript 代码。我确认我们之前使用的版本 (2.0.x) 不会发生这种情况,所以我必须假设它与新的 Mojarra 版本有关。关于如何解决此问题或解决此问题的任何想法?

facelets cdata jsf-2 jsf-2.2

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

GoogleCloudStorageDownloadOperator “任务退出,返回码 -6”

我是气流的新手,我正在尝试使用 GoogleCloudStorageDownloadOperator 进行一些简单的操作:

default_args = {
    'start_date': airflow.utils.dates.days_ago(0),
    'schedule_interval': None,
    'retries': 1,
    'retry_delay': timedelta(minutes=5),
    'params': {
        'work_dir': '/tmp'
    }
}

dag = DAG(
    'foo',
    default_args=default_args,
    description='This is foobar',
    schedule_interval=timedelta(weeks=1),
    dagrun_timeout=timedelta(minutes=60))

mock_download = GoogleCloudStorageDownloadOperator(
    task_id='download-foo-from-gcp',
    bucket='foo-data',
    object='{% if (task_instance.pid % 2 == 0) %}foo{% else %}bar{% endif %}/data.tar.gz',
    filename='{{ params.work_dir }}/data.tar.gz',
    google_cloud_storage_conn_id='google_cloud_default',
    dag=dag
)
Run Code Online (Sandbox Code Playgroud)

例如,虽然我可以在 PyCharm 中运行此任务(使用airflow test),但从 Web 界面(预定)触发时它始终失败。日志中的错误消息完全没有用,至少可以说:

... 
[2020-01-09 17:04:18,871] {gcs_download_operator.py:86} INFO - Executing download: crunchbase-mock-data, foo/data.tar.gz, /tmp/data.tar.gz
[2020-01-09 17:04:28,751] {logging_mixin.py:112} INFO - [2020-01-09 17:04:28,751] {local_task_job.py:103} …
Run Code Online (Sandbox Code Playgroud)

airflow

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