小编ILi*_*cos的帖子

在Dockerfile中,如何更新PATH环境变量?

我有一个从源代码下载和构建GTK的dockerfile,但以下行没有更新我的图像的环境变量:

RUN PATH="/opt/gtk/bin:$PATH"
RUN export PATH
Run Code Online (Sandbox Code Playgroud)

我读到我应该使用ENV来设置环境值,但以下指令似乎也不起作用:

ENV PATH /opt/gtk/bin:$PATH

这是我的整个Dockerfile:

FROM ubuntu
RUN apt-get update
RUN apt-get install -y golang gcc make wget git libxml2-utils libwebkit2gtk-3.0-dev libcairo2 libcairo2-dev libcairo-gobject2 shared-mime-info libgdk-pixbuf2.0-* libglib2-* libatk1.0-* libpango1.0-* xserver-xorg xvfb

# Downloading GTKcd
RUN wget http://ftp.gnome.org/pub/gnome/sources/gtk+/3.12/gtk+-3.12.2.tar.xz
RUN tar xf gtk+-3.12.2.tar.xz
RUN cd gtk+-3.12.2

# Setting environment variables before running configure
RUN CPPFLAGS="-I/opt/gtk/include"
RUN LDFLAGS="-L/opt/gtk/lib"
RUN PKG_CONFIG_PATH="/opt/gtk/lib/pkgconfig"
RUN export CPPFLAGS LDFLAGS PKG_CONFIG_PATH
RUN ./configure --prefix=/opt/gtk
RUN make
RUN make install

# running ldconfig after …
Run Code Online (Sandbox Code Playgroud)

docker dockerhub

295
推荐指数
4
解决办法
18万
查看次数

从字符串中提取主机名

我想只匹配URL的根,而不是文本字符串中的整个URL.鉴于:

http://www.youtube.com/watch?v=ClkQA2Lb_iE
http://youtu.be/ClkQA2Lb_iE
http://www.example.com/12xy45
http://example.com/random
Run Code Online (Sandbox Code Playgroud)

我想让最后两个实例解析为www.example.comexample.com域.

我听说正则表达式很慢,这将是我在页面上的第二个正则表达式,所以如果有没有正则表达式,请告诉我.

我正在寻找这个解决方案的JS/jQuery版本.

javascript regex jquery

211
推荐指数
14
解决办法
21万
查看次数

如何排序findAll Doctrine的方法

我一直在阅读Doctrine的文档,但是我找不到一种方法来对findAll()结果进行排序.

我正在使用symfony2 + doctrine,这是我在Controller中使用的语句:

$this->getDoctrine()->getRepository('MyBundle:MyTable')->findAll();

但我希望结果按升序用户名排序.

我一直试图以这种方式传递数组作为参数:

findAll( array('username' => 'ASC') );

但它不起作用(它也没有抱怨).

有没有办法在不构建DQL查询的情况下执行此操作?

symfony doctrine-orm

101
推荐指数
8
解决办法
15万
查看次数

如何在C++中找到两个std :: set的交集?

我一直在尝试在C++中找到两个std :: set之间的交集,但我一直收到错误.

我为此创建了一个小样本测试

#include <iostream>
#include <vector>
#include <algorithm>
#include <set>
using namespace std;

int main() {
  set<int> s1;
  set<int> s2;

  s1.insert(1);
  s1.insert(2);
  s1.insert(3);
  s1.insert(4);

  s2.insert(1);
  s2.insert(6);
  s2.insert(3);
  s2.insert(0);

  set_intersection(s1.begin(),s1.end(),s2.begin(),s2.end());
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

后一个程序不生成任何输出,但我希望有一个新的集合(让我们称之为s3)具有以下值:

s3 = [ 1 , 3 ]
Run Code Online (Sandbox Code Playgroud)

相反,我得到错误:

test.cpp: In function ‘int main()’:
test.cpp:19: error: no matching function for call to ‘set_intersection(std::_Rb_tree_const_iterator<int>, std::_Rb_tree_const_iterator<int>, std::_Rb_tree_const_iterator<int>, std::_Rb_tree_const_iterator<int>)’
Run Code Online (Sandbox Code Playgroud)

我从这个错误中理解的是,没有定义set_intersection接受Rb_tree_const_iterator<int>参数.

此外,我想该std::set.begin()方法返回这种类型的对象,

有没有更好的方法std::set在C++中找到两个的交集?最好是内置功能?

非常感谢!

c++ std stdset stl-algorithm

77
推荐指数
4
解决办法
6万
查看次数

如何在PHP中有效地使用try ... catch块

我一直在我的PHP代码中使用try..catch块,但我不确定我是否一直在正确使用它们.

例如,我的一些代码如下所示:

 try {
      $tableAresults = $dbHandler->doSomethingWithTableA();
      $tableBresults = $dbHandler->doSomethingElseWithTableB();
 } catch (Exception $e) {
      return $e;
 }
Run Code Online (Sandbox Code Playgroud)

所以我在同一个try/catch块中对多个数据库操作进行分组,因为如果在任何事务中发生任何异常,我将能够处理它.

我这样做是因为我认为它比以下更具可读性和效率:

 try {
       $tableAresults = $dbHandler->doSomethingWithTableA();
 } catch (Exception $e) {
       return $e;
 }
 try {
       $tableBresults = $dbHandler->doSomethingWithTableB();
 } catch (Exception $e) {
       return $e;
 }
Run Code Online (Sandbox Code Playgroud)

虽然,我不确定我所做的是一种好的做法,还是一种懒惰的方法来捕捉异常.

我的假设是,只有异常需要特殊处理时,它才应该有自己的try/catch块,否则将它们分组到同一个try/catch中应该没问题.

所以我的问题是:

每个数据库事务使用try/catch块有什么好处吗?或者我仍然可以在同一个try/catch块中对多个数据库事务进行分组而没有任何问题?

嵌套try/catch块可以吗?谢谢!

编辑

return语句主要仅用于演示目的,但我也使用了返回,catch()因为我正在向该方法发出AJAX请求,而Javascript期待一个JSON对象,然后如果发生异常,我返回一个空的JSON编码数组.我只是认为在我的示例中放置特定代码不会增加任何值.

php exception-handling try-catch

75
推荐指数
5
解决办法
12万
查看次数

本机JavaScript中的jQuery.getScript替代方案

我正在尝试动态加载JS脚本,但使用jQuery不是一个选项.

我检查了jQuery源代码以了解如何实现getScript,以便我可以使用该方法使用本机JS加载脚本.但是,getScript只调用jQuery.get()

而且我无法找到get方法的实现位置.

所以我的问题是,

使用本机JavaScript实现自己的getScript方法的可靠方法是什么?

谢谢!

javascript jquery getscript

44
推荐指数
6
解决办法
3万
查看次数

在Redshift/Postgres中,如何计算符合条件的行?

我正在尝试编写一个只计算符合条件的行的查询.

例如,在MySQL中我会这样写:

SELECT
    COUNT(IF(grade < 70), 1, NULL)
FROM
    grades
ORDER BY
    id DESC;
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试在Redshift上执行此操作时,它会返回以下错误:

错误:函数if(布尔,整数,"未知")不存在

提示:没有函数匹配给定的名称和参数类型.您可能需要添加显式类型转换.

我检查了条件语句的文档,我找到了

NULLIF(value1, value2)

但它只比较value1和value2,如果这些值相等,则返回null.

我找不到一个简单的IF语句,乍一看我找不到办法去做我想做的事情.

我试图使用CASE表达式,但我没有得到我想要的结果:

SELECT 
    CASE
        WHEN grade < 70 THEN COUNT(rank)
        ELSE COUNT(rank)
    END
FROM
   grades
Run Code Online (Sandbox Code Playgroud)

这是我想要计算的方式:

  • 失败(等级<70)

  • 平均值(70 <=等级<80)

  • 好(80 <=等级<90)

  • 优秀(90 <=等级<= 100)

这就是我期望看到的结果:

+========+=========+======+===========+
| failed | average | good | excellent |
+========+=========+======+===========+
|   4    |    2    |  1   |     4     |
+========+=========+======+===========+
Run Code Online (Sandbox Code Playgroud)

但是我得到了这个:

+========+=========+======+===========+
| failed | average | good | excellent |
+========+=========+======+===========+
| …
Run Code Online (Sandbox Code Playgroud)

postgresql amazon-redshift

43
推荐指数
4
解决办法
6万
查看次数

在Go中找到两个整数之间的最小值的正确方法是什么?

我在程序中导入了数学库,我试图通过以下方式找到最少三个数字:

v1[j+1] = math.Min(v1[j]+1, math.Min(v0[j+1]+1, v0[j]+cost))

其中v1声明为:

t := "stackoverflow"
v1 := make([]int, len(t)+1)
Run Code Online (Sandbox Code Playgroud)

但是,当我运行我的程序时,我收到以下错误:

./levenshtein_distance.go:36: cannot use int(v0[j + 1] + 1) (type int) as type float64 in argument to math.Min
Run Code Online (Sandbox Code Playgroud)

我觉得这很奇怪,因为我写了另一个程序

fmt.Println(math.Min(2,3))

而该计划的输出2没有抱怨.

所以我最终将值转换为float64,这样math.Min可以工作:

v1[j+1] = math.Min(float64(v1[j]+1), math.Min(float64(v0[j+1]+1), float64(v0[j]+cost)))
Run Code Online (Sandbox Code Playgroud)

通过这种方法,我收到以下错误:

./levenshtein_distance.go:36: cannot use math.Min(int(v1[j] + 1), math.Min(int(v0[j + 1] + 1), int(v0[j] + cost))) (type float64) as type int in assignment
Run Code Online (Sandbox Code Playgroud)

所以为了摆脱这个问题,我只是把结果归还给了 int

我认为这是非常低效和难以阅读:

v1[j+1] = int(math.Min(float64(v1[j]+1), math.Min(float64(v0[j+1]+1), float64(v0[j]+cost))))
Run Code Online (Sandbox Code Playgroud)

我还写了一个小minInt函数,但我认为这应该是不必要的,因为其他程序在使用math.Min整数时很好地利用了工作,所以我得出结论,这必须是我的程序的问题,而不是库本身. …

go

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

在TWIG中,是否可以获得带有枝条变量的链接的绝对URL?

我有几个URL,如下所示:

{{domainID}}/action/{{userId}}/anotherAction

后面的URL指向:

http://localhost/viewA/{{domainID}}/action/{{userId}}/anotherAction

但是,如果我尝试加载viewAviewB通过iframe中,内部链接viewA而不是指向:

http://localhost/viewA/{{domainID}}/action/{{userId}}/anotherAction

它会指向:

http://localhost/viewB/{{domainID}}/action/{{userId}}/anotherAction

如果用户遵循后者,则用户将最终进入404页面.

我的问题是:

无论如何要获得在树枝上建造的网址的绝对路径?

编辑

路线定义是:

@Route("/domain/details/{domainId}", name="domain_detailed_view")

我试图通过这种方式获得绝对路径:

{{ url({{domainID}}/action/{{userId}}/anotherAction) }}

但我得到这个错误:

哈希键必须是带引号的字符串,数字,名称或括在括号中的表达式

symfony twig

28
推荐指数
3
解决办法
5万
查看次数

Bootstrap词缀不保持列布局

当我在浏览器中向下滚动(chrome)时,右列被一直推到左边,我的侧边栏被推到背景,并且所有右侧内容都在左侧边栏上.

这只有在我将附加属性应用到侧边栏div时才会发生.

如果您注意到,在正常情况下,页面呈现没有问题,如下所示: 在此输入图像描述

但是,当我向下滚动时,它的样子如下: 在此输入图像描述

供您参考,这就是我实现词缀div的方式:

<div class="row content-wrapper">
    <div data-spy="affix" data-offset-top="200" data-offset-bottom="200" id="myAffix">
        <div class="col-lg-3">
            <!-- Sidebar code -->
        </div>
    </div>
    <div class="col-lg-9">
            <!-- content -->
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是JS小提琴的链接,以便您可以看到实时发生的问题:

这是一个JS小提琴,你可以看到错误:

http://jsfiddle.net/fH46S/2/

我怎样才能解决这个问题?

css jquery twitter-bootstrap affix

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