我有一个从源代码下载和构建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) 我想只匹配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.com或example.com域.
我听说正则表达式很慢,这将是我在页面上的第二个正则表达式,所以如果有没有正则表达式,请告诉我.
我正在寻找这个解决方案的JS/jQuery版本.
我一直在阅读Doctrine的文档,但是我找不到一种方法来对findAll()结果进行排序.
我正在使用symfony2 + doctrine,这是我在Controller中使用的语句:
$this->getDoctrine()->getRepository('MyBundle:MyTable')->findAll();
但我希望结果按升序用户名排序.
我一直试图以这种方式传递数组作为参数:
findAll( array('username' => 'ASC') );
但它不起作用(它也没有抱怨).
有没有办法在不构建DQL查询的情况下执行此操作?
我一直在尝试在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++中找到两个的交集?最好是内置功能?
非常感谢!
我一直在我的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编码数组.我只是认为在我的示例中放置特定代码不会增加任何值.
我正在尝试动态加载JS脚本,但使用jQuery不是一个选项.
我检查了jQuery源代码以了解如何实现getScript,以便我可以使用该方法使用本机JS加载脚本.但是,getScript只调用jQuery.get()
而且我无法找到get方法的实现位置.
所以我的问题是,
使用本机JavaScript实现自己的getScript方法的可靠方法是什么?
谢谢!
我正在尝试编写一个只计算符合条件的行的查询.
例如,在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) 我在程序中导入了数学库,我试图通过以下方式找到最少三个数字:
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整数时很好地利用了工作,所以我得出结论,这必须是我的程序的问题,而不是库本身. …
我有几个URL,如下所示:
{{domainID}}/action/{{userId}}/anotherAction
后面的URL指向:
http://localhost/viewA/{{domainID}}/action/{{userId}}/anotherAction
但是,如果我尝试加载viewA从viewB通过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) }}
但我得到这个错误:
哈希键必须是带引号的字符串,数字,名称或括在括号中的表达式
当我在浏览器中向下滚动(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小提琴,你可以看到错误:
我怎样才能解决这个问题?