小编Eya*_*lAr的帖子

Bootstrap 3 Navbar中的灵活宽度输入字段

我正在尝试创建一个包含输入字段的导航栏.我希望输入字段占用导航栏中的所有可用空间.

这个答案之后,我成功地创建了一个类似于我想要的布局,其中包含输入字段左侧的"插件"图标(参见此处的代码).

带有插件图标的输入字段

但是:我不希望输入字段附近的图标.

以下代码控制输入字段:

<form class="navbar-form">
  <div class="form-group" style="display:inline;">
    <div class="input-group">
      <span class="input-group-addon">
        <span class="glyphicon glyphicon-search"></span>
      </span>
      <input type="text" class="form-control">
    </div>
  </div>
</form>
Run Code Online (Sandbox Code Playgroud)

问题是删除去除<span class="input-group-addon">...</span>图标,使输入字段缩小到较小的尺寸并松散圆边(这不太重要.请参见此处的代码).

边缘较小的较小的场

当然,在"输入组"中包装单个输入字段是没有意义的.但是删除"input-group"包装会导致输入字段扩展并进入一个新行(请参阅此处的代码).

输入字段分为新行

在查看Bootstrap.css之后,我尝试创建一个新的css类,它模仿了类的相关代码input-group.这会在导航栏中将输入字段带回内联,但仍然不会使其扩展以占用所有可用空间(请参阅此处的代码).

带输入组模拟的输入字段

我的问题是:如何在没有图标的情况下获得我想要的布局?
额外奖励:为什么"输入组"和输入字段的图标会扩展?

所需的浏览器兼容性:Chrome,Firefox,IE8 +

css twitter-bootstrap-3

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

用于同源 CPU 密集型 iframe 的单独事件循环

假设我有一个 CPU 密集型 iframe。
它与父页面在同一个域中,因此跨域不适用,因此它共享父页面的事件循环。

是否可以为 iframe 设置一个单独的 JS 上下文(包括一个单独的事件循环),这样它就不会阻塞父级的 UI?

设置标签的sandbox属性iframe并不能解决这个问题,尽管文档声明 iframe 将被视为来自“唯一来源”。

这个问题是假设的/概念性的。我没有一个真正的用例。只是好奇。
我在徘徊像 JSFiddle 这样的网站如何运行用户的代码,显然它从来自不同域的 iframe 运行(在 JSFiddle 的情况下是 jshell.net)。

javascript iframe sandbox same-origin-policy

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

将 MongoClient 限制为只读操作

是否可以以只读模式连接到 MongoDB?

我目前正在使用 Node.js 的驱动程序来创建一个新的客户端MongoClient.connect

require('mongodb').MongoClient.connect(url, {
    // options object
}, function(err, client) {
    // ...
});
Run Code Online (Sandbox Code Playgroud)

我在文档中没有看到如何以只读模式创建客户端。

有可能的?如何?

背景:
我正在构建一个连接到 MongoDB 的应用程序。我团队中的其他开发人员使用消耗数据的插件扩展了这个应用程序。插件提供了一个client对象来访问数据库。我想防止其他开发人员意外更改数据库。

mongodb node.js

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

亚马逊s3重命名和覆盖文件,建议和风险

我有一个包含两种文件名的存储桶:

  1. [Bucket]/[file]
  2. [Bucket]/[folder]/[file]

例如,我可以:

  1. MyBucket/bar
  2. MyBucket/foo/bar

我想将所有[Bucket]/[folder]/[file]文件重命名为[Bucket]/[file]文件(从而覆盖/丢弃[Bucket]/[file]文件).
因此,在前面的示例中,我想MyBucket/foo/bar成为MyBucket/bar(并覆盖原始的/ duscard MyBucket/bar).

我尝试了两种方法:

  1. 使用s3cmd的移动命令: s3cmd mv s3://MyBucket/foo/bar s3://MyBucket/bar
  2. 使用亚马逊的SDK for php: rename(s3://MyBucket/foo/bar, s3://MyBucket/bar)

这两种方法似乎都有效,但是 - 考虑到我必须在数千个文件上进行批处理,
我的问题是:

  1. 哪种方法更受青睐?
  2. 还有其他更好的方法吗?
  3. 我必须在移动/重命名之前删除旧文件吗?(没有它似乎工作正常,但我可能不知道涉及的风险)

谢谢.

amazon-s3 batch-rename

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

OpenCV具有检测和匹配功能 - 绘图匹配时的段错误

这个例子之后,
我正在尝试构建一个应用程序来识别视频中的对象.
我的程序由以下步骤组成(请参阅下面每个步骤的代码示例):

  1. 读取要识别的对象的图像到cv::Mat对象中.
  2. 检测对象和计算描述符中的关键点.
  3. 阅读视频的每一帧,
  4. 检测帧的关键点和计算描述符,
  5. 将框架的描述符与对象的描述符相匹配,
  6. 画出结果.

问题:第6步导致分段错误(参见下面的代码).
问题:是什么导致它,我该如何解决?

谢谢!

笔记:

  1. 该程序在segfault之前运行几帧.崩溃发生在帧23上,帧23是具有任何内容(即,不是完全黑色)的视频的第一帧.
  2. 通过消除线路drawMatches(...);没有崩溃.
  3. 在Windows 7,OpenCV 2.4.2,MinGW上运行.

Debuggind尝试:

通过gdb运行程序会产生以下消息:

Program received signal SIGSEGV, Segmentation fault.
0x685585db in _fu156___ZNSs4_Rep20_S_empty_rep_storageE () from c:\opencv\build\install\bin\libopencv_features2d242.dll
Run Code Online (Sandbox Code Playgroud)

第1步 - 读取对象的图像:

Mat object;
object = imread(OBJECT_FILE, CV_LOAD_IMAGE_GRAYSCALE);
Run Code Online (Sandbox Code Playgroud)

第2步 - 检测对象和计算描述符中的关键点:

SurfFeatureDetector detector(500);
SurfDescriptorExtractor extractor;
vector<KeyPoint> keypoints_object;
Mat descriptors_object;
detector.detect(object , keypoints_object);
extractor.compute(object, keypoints_object, descriptors_object);
Run Code Online (Sandbox Code Playgroud)

步骤3-6:

VideoCapture capture(VIDEO_FILE);
namedWindow("Output",0);
BFMatcher matcher(NORM_L2,true);
vector<KeyPoint> keypoints_frame;
vector<DMatch> matches;
Mat frame, …
Run Code Online (Sandbox Code Playgroud)

c++ opencv object-detection segmentation-fault surf

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

推断字符串中的数据类型

我想尝试推断字符串中的数据类型.

场景:
我有一个包含数据行的CSV文件,我想将这些数据存储在数据库中.
我不想将所有字段存储为字符串.
由于CSV中的字段可能会发生变化,因此我无法假设其类型.

示例(CSV文件):

[Row 1 - column names] --> "name", "age" , "children"
[Row 2 - data row    ] --> "John", "45.5", "3"
...
[Row n - data row    ] --> ...
Run Code Online (Sandbox Code Playgroud)

在这种情况下,通过查看行中的数据,我想推断出这name是一列字符串,age是一列浮点数,children是一列整数.

我的尝试:
最简单的方法是尝试转换,并在某个转换成功时决定类型.
我为此目的编写了一个方法,如下所示:

def deduceType(str):
    try:
        #first try to convert to int:
        int(str)
        return 0 #integer
    except ValueError:
        try:
            #not integer, try float:
            float(str)
            return 1 #float
        except ValueError:
            #not float, so deduct string
            return 2 #string
Run Code Online (Sandbox Code Playgroud)

我的问题: …

python type-conversion

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

在32位和64位系统上引用指针

以下代码在32位和64位系统上打印不同的结果:

#include <stdio.h>
void swapArray(int **a, int **b) 
{ 
    int *temp = *a; 
    *a = *b; 
    *b = temp; 
} 

int main() 
{ 
    int a[2] = {1, 3}; 
    int b[2] = {2, 4}; 
    swapArray(&a, &b); 
    printf("%d\n", a[0]); 
    printf("%d\n", a[1]); 
    return 0; 
}
Run Code Online (Sandbox Code Playgroud)

在32位系统中编译后,输出为:

2
3
Run Code Online (Sandbox Code Playgroud)

在64位上输出是:

2
4
Run Code Online (Sandbox Code Playgroud)

据我了解,该功能swapArray只交换指针在第一要素ab.所以在打电话之后swapArray,a应该指向2并且b应该指向1.
出于这个原因a[0]应该产生2,并且a[1]应该在内存中的下一个字节之后引用2,其中包含4.

有人可以解释一下吗?

编辑:
感谢评论和答案,我现在注意到&a …

c arrays pointers

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

使用释放的内存是否有风险?

假设我有一个char指针指向内存中的某个字符串.
并假设我想将该字符串复制到内存中的其他位置.

void cpy(char **dst, char *src)
{
    *dst = (char *) realloc(*dst, strlen(src) + 1);
    memcpy(*dst, src, strlen(src) + 1);
}
Run Code Online (Sandbox Code Playgroud)

(假设内存分配成功,并且src不是NULL)
如果我这样调用这个函数怎么办:

char *str = malloc(14);
memcpy(str,"hello, world!", 14);
cpy(&str,str+7);
Run Code Online (Sandbox Code Playgroud)

现在我希望srt指向字符串"world!"(它在我的测试中做了).
但是,我担心的是,在这个调用cpy,*dstsrc实际指向的不同位置相同的字符串.并且,在调用realloc*dst,可能会释放此内存.但在下一行我试图从那个地方复制memcpy.

所以问题是:它有什么问题吗?
或者用另一种方式 - 是否可以释放内存,然后立即使用它?

谢谢.

注意:示例已更新,以便realloc在使用时获得的内存上调用malloc.

c memory-management

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

交换所有出现的两个字符串

比方说,我有一个文档,其中所有括号都被翻转:

Lorem)ipsum(dolor)坐(amet

我想纠正它:

Lorem(ipsum)dolor(坐)amet

当然我不能用两个替换进行交换; 首先用全部替换全部(,)然后全部)替换(,因为那样我最终会得到:

Lorem(ipsum(dolor(坐着)

请提供一种在vim中为任何一对字符串执行此操作的方法.

更新:
感谢ernix提供了一个很好的答案.对于那些想知道tr函数是什么的人:http:
//vimdoc.sourceforge.net/htmldoc/eval.html#tr()

vim

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