小编And*_*c ॐ的帖子

PHP中的命令行进度条

我目前正在尝试向命令行脚本添加进度条,我尝试了各种解决方案(包括Zend和Console_ProgressBar).它们两者有共同的问题是进度条不会粘在窗口的底部,因为在脚本中,输出新行和其他信息.

有没有办法让进度条保持在终端的底部,但仍然能够在脚本运行时输出其他信息?

[编辑]

我想到了:

而不是直接输出到STDOUT我实际上是抓取变量内的输出,我擦除屏幕echo chr(27) . '[2J'然后输出到STDOUT变量的内容然后追加我的进度条.

希望有道理:)

php

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

英语词典SQL转储?

我正在寻找一个开源的全英文字典,其中包括某种数据库格式的单词类型(即:形容词,过去时态等),无论是SQL还是可以轻松解析并变成sql的东西.

知道在哪里可以找到这样的东西吗?

dictionary database-dump

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

检查ruby中是否存在模块

例如,我正在从cli上传递的参数中动态定义模块名称 Required::Module::#{ARGV.first}

有没有办法检查该模块是否存在?另外,我怎么会在它上面运行方法而不知道它的确切名称?

ruby

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

代码和数据跟踪/部署

很长一段时间以来,我们已将数据保存在项目的存储库中.我们只是将所有内容保存在data/sql下,每个表都有自己的create_tablename.sql和data_tablename.sql文件.

我们现在刚刚将第二个项目部署到Scalr上,我们意识到它有点乱.

我们的部署方式:

我们有一个"packageup"脚本集合,将项目拆分为3个档案(数据,代码,静态文件),然后我们将其存储在S3上的3个独立存储桶中.

每当角色启动时,它会下载其中一个文件(取决于角色:data,nfs或web),然后"unpackage"脚本为每个角色设置所有内容,将数据加载到mysql,设置nfs等等.

我们这样做是因为我们不想保存服务器映像,我们总是从vanilla实例开始,我们使用各种内部构建的脚本从头开始安装所有内容.启动时间不是问题(我们在9分钟内准备好使用农场).

问题是,每当我们尝试设置新的开发构建时,尝试找到正确版本的数据库是一件痛苦的事情(在任何时候,我们都有大约4个开发版本用于项目).此外,一旦我们投入生产,git就会开始窒息,因为sql文件最终总计大约500mb.

问题是:

其他人如何管理数据库?我一直在寻找能够轻松地将数据从生产中转移到开发中,并将数据从开发人员迁移到生产中的东西,但是没有发现任何事情.

cloud deployment database-management dev-to-production scalr

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

测试child_process.exec stdout

我正试图用mocha测试子进程的输出.

我的测试看起来像这样:

var should = require("should"),
    exec = require("child_process").exec;

describe('users', function() {
  describe('andrei', function() {
    exec('id andrei', function(error, stdout, stderr) {
      it('should be part of group dev', function() {
        stdout.should.containEql('dev');
      })
    })
  })
})
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是it永远不会被执行.

我可以交换代码,使exec内部使用it,然后使用done以确保以正确的顺序运行,但这意味着我必须为我想针对孩子的stdout进行的每个测试运行相同的exec.

如何it针对子进程的stdout进行多个语句?

mocha.js node.js

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

BDD,有什么特色?

我刚开始使用BDD而且我正在尝试构建一个小应用程序,因此我可以看到它在真实环境中工作,但我无法确定应该是什么功能.我正在建一个小商店.

我决定"比较产品"将是一个功能,"用户可以作为客人结账"将是一个,但为了实现这一点,我首先需要列出产品.

我的问题是,"应该有一个产品清单"应该是一个功能吗?

谢谢!

bdd

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

OmniAuth - 当前会话未在OpenID回调中加载

我正在使用OmniAuth和Rails 3.1.4,我试图允许已经过身份验证的用户将多个OpenID提供商与他们的帐户相关联.

作为未经身份验证的用户,使用OpenID登录工作正常.作为经过身份验证的用户,当我尝试使用其他oid提供程序登录时,执行回调方法时,它看起来就像我之前未经过身份验证一样.

对我而言,看起来控制器在会话初始化之前执行(或者会话被完全跳过).

会是什么呢?

omniauth ruby-on-rails-3

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

通过<phingcall>调用的目标不会在调用目标中设置属性

在下面的phing xml中,在"skel"目标内部,我检查应用程序是否已配置,如果不是,则调用configure目标,然后将配置应用于多个文件.

问题是db.host在phingcall之后没有设置属性,即使它是在propertyprompt之后设置的.

我错过了什么?

<!-- base configuration -->
<property name="paths.config" value="config" />
<property name="paths.config.file" value="${paths.config}/environment.ini" />

<available file="${paths.config.file}" property="configured" />

<target name="configure">
    <if>
     <equals arg1="${configured}" arg2="true" />
     <then>
       <echo message="Reconfigure ..." />
     </then>
     <else>
       <echo message="Configure ..." />
     </else>
    </if>

    <propertyprompt propertyName="db.host" defaultValue="localhost" promptText="Mysql Server Host" />
</target>

<target name="skel">
    <echo msg="Skel files..." />

    <if>
     <equals arg1="${configured}" arg2="${configured}" />
     <then>
       <echo message="Missing config file ..." />
       <phingcall target="configure" />
     </then>
    </if>

    <echo message="${db.host}" />
    <copy todir="config">
        <mapper type="glob" …
Run Code Online (Sandbox Code Playgroud)

phing scope

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

选择与多个标签匹配的项目

这似乎很基本,但我无法弄清楚.

我有一个表"item_tags",我想选择与标签1和2匹配的所有项目(因为,每个项目都必须有两个标签).

我怎么在mysql中这样做?

创建表是:

CREATE TABLE `item_tags` (
  `uid_local` int(11) NOT NULL DEFAULT '0',
  `uid_foreign` int(11) NOT NULL DEFAULT '0',
  `sorting` int(11) NOT NULL DEFAULT '0',
  KEY `uid_local` (`uid_local`),
  KEY `uid_foreign` (`uid_foreign`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)

谢谢!

mysql sql many-to-many

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

在"ESC"上取消了通过AJAX调用的PHP进程吗?

如果我进行AJAX调用,如果用户按下"ESC"或离开该页面,是否会取消AJAX调用?

如果AJAX调用被取消,我的PHP脚本是否会继续运行,直到它完成它正在进行的操作(如果没有达到时间限制或任何其他服务器配置停止.),或者该进程会在同一时间被杀死它属于哪个Apache的孩子?

如果这个过程确实被Apache孩子杀死了,即使它没有完成,那么保持生命的最佳方法是什么,或者我应该考虑其他什么选择?(ZendX_Console_Process_Unix不是一个选项).

谢谢!

后来的发现:

如果我在Firefox中点击"ESC"(在firebug中检查),AJAX调用实际上会被取消.PHP进程继续,不受命中ESC或关闭选项卡的影响.

php ajax background-process request-cancelling

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