我在将shell脚本转换为zsh时遇到问题.我定义了以下数组,但它抛出了错误unknown file attribute: \n.(我正在将一个dotfiles repo转换为我的zsh)
declare -r -a FILES_TO_SOURCE=(
"bash_aliases"
"bash_exports"
"bash_functions"
"bash_options"
"bash_prompt"
"bash.local"
)
Run Code Online (Sandbox Code Playgroud) 我为 Amazon S3 中的某些文件设置了 Web 存储。我正在使用它的 PHP SDK 来管理这些文件。我运行一个自动化脚本,在一段时间后从某个存储桶中删除文件。我刚刚意识到我不相信它实际上是在删除文件,而是用删除标记替换它们。当我使用 Transmission (Mac) 等程序查看存储桶时,它列出了自 2013 年我设置脚本以来的所有文件。但是,如果我在浏览器中进入管理界面,它只会列出我在脚本中设置的截止日期之前的文件。
我的问题是:当我不需要实际保留任何这些文件时,我是否需要为这些标记的存储支付更多的钱?以及如何永久删除这些文件?我发现这只是版本化存储桶的问题,但这个特定的存储桶没有版本化。根据文档,我需要在删除调用中包含对象的版本 ID 以删除标记,但此时,我如何检索该信息,因为“listObjects”不返回这些信息。
如果我使用 Transmission 下拉“已删除”文件,该文件仍然会打开并运行,就像从未被删除一样。
当我在 PHPstorm 中运行测试套件时,所有代码覆盖率都为 0%(我知道这不是真的),当我从命令行运行 PHPunit 时,记录的 HTML 输出文档显示我实际上确实有覆盖率并列出所有详细信息。
在 PHPstorm 中,我将 PHP 解释器设置为 /usr/local/bin/php (PHP 5.6.7) 和 xdebug 2.3.2 (屏幕截图: https: //dl.dropboxusercontent.com/u/379071/Screen%20Shot% 202015-04-20%20at%206.57.39%20PM.png)。在我的 PHPunit 首选项中,我将“脚本路径”设置为我的 Composer autoload.php 文件。在我的运行时配置中,我将 PHPunit 运行时设置为使用“定义的配置文件”运行(见下文)。当我运行时,所有测试都会运行并通过(失败会显示堆栈跟踪),但所有测试的代码覆盖率完全为零。
任何帮助将不胜感激。我确信我错过了一些东西。
我的 XML 配置文件的内容:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="./tests/bootstrap.php"
colors="true">
<testsuites>
<testsuite>
<directory>tests</directory>
</testsuite>
</testsuites>
<filter>
<whitelist>
<directory suffix=".php">src</directory>
</whitelist>
</filter>
<logging>
<log type="coverage-html" target="./log/codeCoverage" charset="UTF-8"
yui="true" highlight="true"
lowUpperBound="50" highLowerBound="80"/>
<log type="testdox-html" target="./log/testdox.html"/>
</logging>
</phpunit>
Run Code Online (Sandbox Code Playgroud) 我试图编写一个基本的cron脚本来运行和"转储"一个mysql数据库.出于某种原因,当它"成功保存文件"时,它会创建文件,但它是空的.如果不是保存文件,而是执行console.log,它会打印一个空字符串.对我可能做错了什么的任何想法?
提前致谢.
var mysql_backup = function(){
this.backup = '';
this.mysql = require('mysql'),
this.init = function(){
this.connection = this.mysql.createConnection({
user: 'root',
password: 'root',
database: 'test'
});
}
this.query = function(sql, callback) {
this.connection.query(sql, function (error, results, fields) {
if (error) {
throw error;
}
if (results.length > 0) {
callback(results);
}
});
}
this.get_tables = function(callback){
var me = this;
me.query('SHOW TABLES',
function(tables) {
for (var table in tables){
me.query(
'SHOW CREATE TABLE ' + tables[table].Tables_in_test,
function(r){
for (var t in …Run Code Online (Sandbox Code Playgroud) 将点表示法路径(甚至是字符串数组)转换为嵌套哈希键值的最佳方法是什么?例如:我需要转换'foo.bar.baz'为'qux'如下:
{
'foo' => {
'bar' => {
'baz' => 'qux'
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在PHP中完成了这个,但是我通过在数组中创建一个键然后通过引用将tmp变量设置为该数组键的值来管理它,因此任何更改也将在数组中发生.
我正在将我的一个项目从requestover切换到更轻量级的项目(例如 got、axios 或 fetch)。一切都进行得很顺利,但是,我在尝试上传文件流 (PUT和POST)时遇到了问题。它与请求包一起工作正常,但其他三个中的任何一个从服务器返回 500。
我知道 500 通常意味着服务器端的问题,但它仅与我正在测试的 HTTP 包一致。当我恢复我的代码以使用时request,它工作正常。
这是我当前的请求代码:
Request.put(`http://endpoint.com`, {
headers: {
Authorization: `Bearer ${account.token.access_token}`
},
formData: {
content: fs.createReadStream(localPath)
}
}, (err, response, body) => {
if (err) {
return callback(err);
}
return callback(null, body);
});
Run Code Online (Sandbox Code Playgroud)
这是使用另一个包的尝试之一(在这种情况下,得到了):
got.put(`http://endpoint.com`, {
headers: {
'Content-Type': 'multipart/form-data',
Authorization: `Bearer ${account.token.access_token}`,
},
body: {
content: fs.createReadStream(localPath)
}
})
.then(response => {
return callback(null, response.body);
})
.catch(err => {
return callback(err);
});
Run Code Online (Sandbox Code Playgroud)
根据获得的文档,我还尝试 …
从静态方法调用发出事件的最佳方法是什么,或者是否有最佳实践或解决方法?
假设我有一个 ES6 类,它upload以递归方式调用目录中的文件并将其上传到某个端点,并且我希望在成功上传每个单独的文件后发出一个事件。我知道我可以让类继承EventEmitter,但是如果不实例化类的新实例,则.on和.emit函数不存在。有没有办法解决?