小编Ave*_*ery的帖子

Ruby对卷曲进行系统调用的正确语法是什么?

要刷新Redmine,我需要SVN从我们的post-commit钩子ping我们的Redmine安装.我们的post-commit钩子是一个生成电子邮件的Ruby脚本.我想插入一个电话这样做:

curl --insecure https://redmineserver+webappkey

此调用从命令行工作,但当我尝试这样做时:

#!/usr/bin/ruby -w

REFRESH_DRADIS_URL = "https://redmineserver+webappkey"
system("/usr/bin/curl", "--insecure", "#{REFRESH_DRADIS_URL}")
Run Code Online (Sandbox Code Playgroud)

它不起作用.我如何在ruby中执行此操作?我用Google搜索了'ruby system curl',但我只是有一堆链接将curl整合到ruby中(这不是我感兴趣的).

ruby curl

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

什么是构建MySQL查询的结构化方法?

我认为自己在理解和操纵C-ish语言方面相当称职; 我想出一个算法并用任何C语言实现它都不是问题.

编写SQL(在我的特定情况下,MySQL)查询时遇到了极大的困难.对于非常简单的查询,这不是问题,但对于复杂的查询,我会因为不知道从哪里开始而感到沮丧.阅读MySQL文档很困难,主要是因为语法描述和解释组织得不是很好.

例如,SELECT文档遍布地图:它从看起来像psuedo-BNF开始,但随后(因为聚合描述的文本不可点击......就像select_expr)它很快就会陷入这种令人沮丧的尝试通过打开多个浏览器窗口将语法拼凑在一起.

够了抱怨.

我想知道人们如何逐步开始构建复杂的MySQL查询.这是一个具体的例子.我有三张桌子.我想要SELECT一组具有以下特征的行:

userInfouserProgram表,我要选择userName,isApprovedmodifiedTimestamp领域,UNION他们为一组.从这一组我想ORDER通过modifiedTimestamp采取MAX(modifiedTimestamp)为每个用户(即应该只有一个唯一行userName,并与用户名关联应该是尽可能高的时间戳).

user表,我想匹配firstName,并lastName与该关联userName,以便它看起来是这样的:

+-----------+----------+----------+-------------------+
| firstName | lastName | userName | modifiedTimestamp |
+-----------+----------+----------+-------------------+
| JJ        | Prof     | jjprofUs |        1289914725 |
| User      | 2        | user2    |        1289914722 |
| User      | 1        | user1    |        1289914716 …
Run Code Online (Sandbox Code Playgroud)

mysql sql

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

何时使用实例变量比使用let()更有利?

let()在rspec中使用初始化变量似乎有很多支持.使用实例变量(即@name)的情况有哪些?

variables rspec

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

如何配置git继承我特定的$ PATH环境变量?

我的目标是在我拥有的许多shell帐户之间共享一组点文件,以便我可以在每个帐户中拥有类似的环境.因此,我不希望我的.git文件或.bash文件中的机器/环境特定信息.

在我的MacOSX机器上,默认的emacs版本是22.我已经安装了较新版本的emacs(24)/usr/local/bin.在我的.bashrc文件中,我将默认编辑器设置为emacs : export EDITOR=emacs. 在此之前,我还设置了我/usr/local/bin之前的路径,以便/usr/bin选择较新版本的emacs.

当我使用git创建提交消息时,它总是选择一个/usr/bin而不是一个/usr/local/bin.Git忽略了我的$PATH设置.我曾经在我的.gitconfigure文件中硬编码我想要的emacs版本的位置,但是当我在我的Ubuntu服务器上使用相同的.gitconfigure文件时,这不起作用.(如果不清楚,我所说的是修改我的.gitconfigure编辑器选项以指向硬编码对我来说不起作用).

为什么git不尊重我的$PATH设置?

如何配置git以使用正确的emacs?


编辑:添加更多上下文

有一个建议将环境变量放入.profile/.bash_profile.这是我.bashrc和我的一些相关代码.bash_profile

.bashrc

注意:我写了一个名为bash的函数vercomp来比较版本号.

OS=''                                                                                                
case $OSTYPE in                                                                                      
  darwin*)  OS='Mac' ;;                                                                              
  linux*)   OS='Linux'  ;;                                                                           
  *)        OS='UNKNOWN' ;;                                                                          
esac                                                                                                 

export EDITOR=emacs 

if [[ $OS = 'Mac' ]]; then                                                                           
    ### EMACS VERSION CHECK                                                                          
    # make sure that we're working with emacs >= 24                                                  
    wanted_ver=24                                                                                    
    curr_ver=`emacs --version | grep -oE '[[:digit:]]+\.[.[:digit:]]*'`                              
    vercomp …
Run Code Online (Sandbox Code Playgroud)

git macos emacs bash

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

Javascript进程是否有多个执行线程?

背景

我正在创建一个"地址簿"类型的应用程序.有很多条目要加载.一个想法是最初加载一小部分条目,以启动用户,然后排队剩余的条目,优先考虑用户点击的条目.(例如,如果他们单击以X开头的名称,则在处理队列的其余部分之前先加载这些名称).我们的想法是在初始化时(通过AJAX)加载初始数据集,然后在后台加载其余的数据集(进行大量的AJAX调用).

我的很多问题

从概念上讲,我知道如何做到这一点,但我不清楚Javascript引擎的局限性:

  1. 执行浏览器的顺序是否依赖?我尝试做的其中一件事就是排队一组条目(A,B,C等),然后同时发出一大堆请求.这不是很成功.我收回了大部分电话,但没有按任何特定顺序.我需要回复所有电话.:)

  2. 我该如何调试/跟踪这个?我不确定Javascript如何处理响应; 单个响应很容易,但我不确定如何处理来自服务器的多个相对较大的响应.

  3. 给定页面是否有单个执行线程?也就是说,如果Javascript从服务器获得响应但仍在执行代码,那么事务是否会阻塞,直到当前正在执行的代码完成?

  4. 是否建议在请求之间延迟?这也可能导致问题,因为加载和发送请求(截至目前)处于初始化阶段; 如果我必须在请求之间休眠(),那么我也可以强迫用户等待加载所有数据而不尝试逐步加载.

我环顾四周但是没有找到任何有用的东西.我很好奇JS如何处理这些异步请求/响应.

到目前为止我做了什么

只是为了让人们更好地了解正在发生的事情,这就是我在执行顺序中所做的事情.有5种硬编码搜索类别:名字,姓氏,类别,地区,州.这些类别中的每一个都有范围.例如,名字类别可能有26个范围,每个字母对应一个字母:"Aardvark - Azariah"将是一个范围的示例.每个范围都包含该范围内每个用户的用户信息.我有两个表:范围表和用户表.

  1. 初始化范围表和范围数据源对象.将范围表对象映射到特定事件.
  2. AJAX调用以获取每个类别的所有范围.我们在继续之前等待这个.
  3. 与范围表类似,初始化用户表.
  4. 构建加载队列以获取每个范围的所有用户.加载队列如下所示:[lastNames ['S'],states ['CA'],regions ['northwest'],lastNames ['A']等]
  5. 预先选择名字类别,"A"名字范围和该范围内的零用户.(这只是我为用户提供一个起点的随意选择)
  6. AJAX调用以获取firstName ['A']的所有用户.从加载队列中删除firstNames ['A']范围.
  7. 填充适当的UI元素
  8. 循环遍历加载队列,出列范围并构造数据的AJAX请求.

还有很多其他细节......但这是它的基本要点.

发生的事情是我的范围表填充得很好......但是浏览器只是阻塞(spod)然后我的users表会在其中填充所有种类的疯狂数据.显然后者是我的UI漏洞,所以我必须对此进行调查,但我不清楚这是最好的方法.

在步骤7,我不确定请求之间是否应该有延迟.理想情况下,如果用户选择了特定范围,比如说州['AK'],我们首先处理该请求,从我们的加载队列中调整该范围.但如果我在前端发送所有请求,那么我们永远不会有机会给我们选择的范围提供适当的优先级.

javascript ajax

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

"rake"如何知道在哪里寻找Rakefiles?

我想更好地了解它是如何rake工作的.我已经在rake网站上查看它是如何工作的,但是对于如何rake搜索Rakefiles以及它在解决依赖关系中所采取的步骤没有明确的解释.有人可以解释一下rake有效吗?

rake

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

通过 JavaScript 对 HTML 表格进行排序的最有效方法是什么?

我正在编写一些 JS 来对 HTML 表进行排序:HTML 表有一个标题行,单击列的标题可根据该列对行进行排序。我的一般算法如下:

  1. 将 HTML 转换为 JavaScript 数组。
  2. 对 JavaScript 数组进行排序。
  3. 将 JavaScript 数组重新转换为 HTML 表格。

现在,我的代码替换了表格的所有innerHTML 元素。基本上,在对 JS 数组进行排序后,它会触及表的每个节点,重写它的 innerHTML 值。我觉得可能有更有效的方法来做到这一点,但我想不出。

编辑:

这是执行上述算法的第 (3) 部分的代码。我编辑掉了不相关的部分(只是一些字符串转换)。索引有点奇怪,因为我在将表转换为数组时跳过了标题行,所以我在重写表时对此进行了补偿。

for (var i = 0; i < numRows-1; i++){
 for (var j = 0; j < numCols; j++){
        var arrCell = tableArr[i][cols[j]];
        tableEl.rows[i+1].cells[j].innerHTML = arrCell;
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript sorting html-table

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

如何查看我的SVN存储库使用的文件系统?

我已经创建了我的存储库并且已经使用了一段时间.我想检查它使用的文件系统数据存储:Berkeley DB或FSFS.我不知道怎么检查这个.我看过svnadmin,svnlook等等.有关如何做到这一点的任何提示?

svn filesystems berkeley-db fsfs

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

如何通过JS确定是否在我的样式中应用了截断?

我正在使用CSS样式应用截断:

.yui-skin-sam td:not(.yui-dt-editable) .yui-dt-liner{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -ms-text-overflow: ellipsis;        
    -o-text-overflow: ellipsis;
    -moz-binding: url('ellipsis.xml#ellipsis');     
}

.yui-skin-sam td[class~=yui-dt-editable] .yui-dt-liner{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -ms-text-overflow: ellipsis;        
    -o-text-overflow: ellipsis;
}
Run Code Online (Sandbox Code Playgroud)

(旁注:我不确定这是否是编写我的CSS的最佳方式.这是一个特定于Firefox的解决方法,因为在Firefox上截断只能进行排序).

我想要一个工具提示出现在被截断的文本上.如何检测文本是否被截断以便我可以显示工具提示?

javascript css tooltip truncation

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

如何从使用 `grep -P` 转换为 `grep -E`?

我有一个在 Ubuntu (Linux) 上使用的脚本,我想将其转换为在 Ubuntu (Linux) 和 MacOS X 上使用。Linux 上的脚本与FreeBSD(即 MacOS X)上grep的不同;MacOS X 上不支持该选项。不幸的是,在两个平台上使用该选项不会产生相同的结果。考虑以下在 Linux 上运行的代码:grepgrep-P-E

wip_scenarios=$(grep -oP "^\d+ scenarios?" log/report.log | grep -oP "\d+")
echo "\n"
echo $wip_scenarios
Run Code Online (Sandbox Code Playgroud)

这会0在 Linux 上返回 a。将所有内容替换-P-E使得它可以在 MacOS X 上工作,但在 Linux 上,这只会返回 a null,当我使用如下条件时,这对我的脚本的其余部分没有帮助:

if [ $wip_scenarios != 0 ];then
Run Code Online (Sandbox Code Playgroud)

一种解决方案是在前面放置一个标志,并根据平台使用适当的选项集,但我希望有一个跨平台的解决方案。有没有办法做到这一点?

linux macos ubuntu grep bsd

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

如何为Emacs修复损坏的Lisp目录路径?

我安装了新版本的emacs(对我来说是新的).我不想覆盖股票副本,所以我把它放在一个组可读的目录~admin/sw.我指向我的$ PATH并且我能够接受它,但是当我运行~admin/sw/bin/emacs时,我得到了一大堆警告和错误:

Warning: arch-dependent data dir (/usr/local/libexec/emacs/23.1/x86_64-unknown-linux-gnu/) does not exist.
Warning: Lisp directory `/usr/local/share/emacs/23.1/site-lisp' does not exist.
Warning: Lisp directory `/usr/local/share/emacs/23.1/lisp' does not exist.
Warning: Lisp directory `/usr/local/share/emacs/23.1/leim' does not exist.
Run Code Online (Sandbox Code Playgroud)

当我编译emacs时,我做到了:make install prefix=~admin/sw.所有这些目录确实存在,但它们存在于~admin/sw/share/...

如何配置我的环境以便emacs在那里查找文件?谢谢!

lisp emacs install path

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

如何确定我在git中签出的分支/标签?

我使用克隆我的源代码git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git w/.然后我通过执行git checkout <tag name>或指定特定的分支/标记git checkout origin/REL<release number>.有时我会忘记我所在的分支或标签.

在SVN中,我会svn info找出我正在使用的分支/标记(我意识到git具有不同的定义branch,tag但就我的目的而言,它们是相同的).

如何确定我所在的分支/标签?

git tagging branch

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

如何在emacs中找到所有出现的字符串?

有一个命令我可以让Emacs查找文件中所有出现的字符串.这会打开一个缓冲区,以便我浏览它们.我忘记了那个命令是什么.它是什么?

emacs search

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