小编kst*_*tis的帖子

Bash中的eval命令及其典型用法

阅读了bash手册页和关于这篇文章.

我仍然无法理解eval命令究竟是什么以及它的典型用途.例如,如果我们这样做:

bash$ set -- one two three  # sets $1 $2 $3
bash$ echo $1
one
bash$ n=1
bash$ echo ${$n}       ## First attempt to echo $1 using brackets fails
bash: ${$n}: bad substitution
bash$ echo $($n)       ## Second attempt to echo $1 using parentheses fails
bash: 1: command not found
bash$ eval echo \${$n} ## Third attempt to echo $1 using 'eval' succeeds
one
Run Code Online (Sandbox Code Playgroud)

这里究竟发生了什么,美元符号和反斜杠如何与问题相关联?

linux bash shell scripting eval

152
推荐指数
5
解决办法
33万
查看次数

如何使用html表单数据发送JSON对象

所以我有这个HTML表单:

<html>
<head><title>test</title></head>
<body>
    <form action="myurl" method="POST" name="myForm">
        <p><label for="first_name">First Name:</label>
        <input type="text" name="first_name" id="fname"></p>

        <p><label for="last_name">Last Name:</label>
        <input type="text" name="last_name" id="lname"></p>

        <input value="Submit" type="submit" onclick="submitform()">
    </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

当用户点击提交时,这是将此表单的数据作为JSON对象发送到我的服务器的最简单方法?

更新:我已经走了这么远,但它似乎不起作用:

<script type="text/javascript">
    function submitform(){
        alert("Sending Json");
        var xhr = new XMLHttpRequest();
        xhr.open(form.method, form.action, true);
        xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
        var j = {
            "first_name":"binchen",
            "last_name":"heris",
        };
        xhr.send(JSON.stringify(j));
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

html javascript forms jquery json

114
推荐指数
5
解决办法
36万
查看次数

承诺回调承诺的回调

关于这两个很重要的来源:NZakas - 承诺链中的承诺MDN承诺,我想问以下问题:

每次我们从promise履行处理程序返回一个值时,该值是如何传递给从同一个处理程序返回的新promise?

例如,

let p1 = new Promise(function(resolve, reject) {
    resolve(42);
});

let p2 = new Promise(function(resolve, reject) {
    resolve(43);
});

let p3 = p1.then(function(value) {
    // first fulfillment handler
    console.log(value);     // 42
    return p2;
});

p3.then(function(value) {
    // second fulfillment handler
    console.log(value);     // 43
});
Run Code Online (Sandbox Code Playgroud)

在这个例子中,p2是一个承诺.p3也是源于p1履行处理者的承诺.但是p2 !== p3.相反,p2不知何故神奇地解决43(如何?),然后将该值传递给p3履行处理程序.即使是这里的句子也令人困惑.

你能否向我解释一下究竟发生了什么?我对这个概念感到困惑.

javascript node.js promise es6-promise

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

C语言中的struct serialization和通过MPI传输

我已经定义了一个自定义结构,并希望使用MPI_Bsend(或MPI_Send)将其发送到另一个MPI进程.

这是我的结构:

struct car{
  int shifts;
  int topSpeed;
}myCar;
Run Code Online (Sandbox Code Playgroud)

但是,除了原始类型之外,MPI似乎不支持复杂数据类型的直接"传输",如上面的结构.我听说我可能不得不使用"序列化".我该如何处理它并将'myCar'发送到进程5?

struct mpi

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

Django Rest Framework 3.1打破了pagination.PaginationSerializer

我刚刚更新到Django Rest Framework 3.1,似乎一切都崩溃了.

在我的serializers.py我有以下代码:

class TaskSerializer(serializers.ModelSerializer):
    class Meta:
    model = task
    exclude = ('key', ...)

class PaginatedTaskSerializer(pagination.PaginationSerializer):
    class Meta:
        object_serializer_class = TaskSerializer
Run Code Online (Sandbox Code Playgroud)

哪个工作得很好.现在随着3.1的发布,我无法找到关于如何做同样事情的例子,因为PaginationSerializer已经不存在了.我试图子类PageNumberPagination并使用它的默认paginate_querysetget_paginated_response方法,但我不能再将它们的结果序列化.

换句话说,我的问题是我不能再这样做了:

class Meta:
    object_serializer_class = TaskSerializer
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

提前致谢

python django pagination django-pagination django-rest-framework

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

PHPStorm类型提示基类的子类

关于这篇文章:

在PHPStorm中,当我有一个从每个子类返回不同类型的超类方法时,如何进行类型提示工作,

这个是关于PHPStorm类型提示的边缘情况.请尽量跟进 - 我会尽力让自己尽可能清楚:

所以,我有这个基础抽象类:

abstract class myBaseController {
    protected $_model;
    ...
}
Run Code Online (Sandbox Code Playgroud)

另一个类继承自:

class myController extends myBaseController {
    $hello = 'hello';
    ...
}
Run Code Online (Sandbox Code Playgroud)

并由第三类进一步扩展:

class myNewController extends myController {
    public $myvar;
    $this->_model = new myModel();
    ...

    public function myFunc(){
        // !!form is underlined as: "Method 'form' not found in class"!!
        $form = $this->_model->form($new_variable); 
    }
Run Code Online (Sandbox Code Playgroud)

下面是myModel类的示例:

class myModel extends BaseModel {
    $world = 'world';
    public function form($my_variable) {
        do_something();
    }
Run Code Online (Sandbox Code Playgroud)

我真正的问题是如何正确"phpdoc"这种情况:

子类myNewController使用继承变量_model来分配myModel具有唯一函数的另一个类的实例 …

php phpdoc phpstorm

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

使用纯Ruby脚本进行上传到S3

这个问题与这个问题有关:使用Ruby aws-sdk跟踪上传文件到S3的进度,

然而,由于没有明确的解决方案,我想知道是否有更好/更简单的方法(如果有的话)在2018年使用Ruby获取S3的文件上传进度?

在我目前的设置中,我基本上创建了一个新的Resource,获取我的桶和调用,upload_file但我还没有找到任何传递块的选项,这将有助于产生某种进展.

...
@connection = Aws::S3::Resource.new
@s3_bucket = @connection.bucket(bucket)
@s3_bucket.object(path).upload_file(data, {acl: 'public-read'})
...
Run Code Online (Sandbox Code Playgroud)

有没有办法使用最新的sdk-for-ruby v3?

任何帮助(或者更好的小例子)都会很棒.

ruby file-upload progress amazon-s3 aws-sdk

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

为什么我要为库更新重新编译整个程序?

关于以下链接:http: //www.archlinux.org/news/libpnglibtiff-rebuilds-move-from-testing/

有人可以向我解释为什么在更新其中一个库之后应该重建一个程序吗?

这有什么意义,因为"主"文件根本没有改变?

linux compiler-construction linker shared-libraries

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

使用ResampleMediaTask进行Powerpoint视频导出进度

我正在尝试使用进度指示将.pptx文件转换为.mp4视频文件.我正在使用Python 2.7.6以及win32com.client模块,以便在Microsoft Powerpoint 2013中自动执行一些操作.

到目前为止这是我的代码:

import win32com.client

powerpoint = win32com.client.Dispatch("Powerpoint.Application")
presentation = powerpoint.Presentations.Open(FileName='myFile.pptx',
                                           WithWindow=False)

try:
    # May need a few other parameters as well
    presentation.CreateVideo('out.wmv')
except:
    raise SystemExit
Run Code Online (Sandbox Code Playgroud)

我的问题是我没有得到导出到视频进展的迹象.我知道这些信息是可用的,因为从应用程序中导出视频时,Powerpoint本身会显示一个确切的进度条.

到目前为止,我设法检索的唯一信息是轮询该CreateVideoStatus属性,该属性仅告诉我转换是否已经结束.

while presentation.CreateVideoStatus == 1:
    time.sleep(1) 
Run Code Online (Sandbox Code Playgroud)

然而,根据这篇文章Powerpoint 2013 - 导出到视频的进展,用户Steve Rindsberg建议我们应该使用ResampleMediaTasks对象及其PercentComplete()方法来获得进展.

关于如何在Python中实现这一点的任何想法?

python powerpoint vsto pywin32 powerpoint-vba

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

块给定?在 erb 模板中总是返回 true

在 Rails 5.2.3 中,我需要渲染一个带有可选块的部分。

# users/_user.html.erb
...
<% if block_given? %>
  <%= yield %>
<% else %>
  <h1>Goodbye world</h1>
<% end %>
...

Run Code Online (Sandbox Code Playgroud)

但是,block_given?无论我选择使用哪个版本,都会返回 true:


<%# Version 1 - block_given? returns true %>
<%= render partial: "users/_user" do %>
  <h1>hello world</h1>
<% end %>

<%# Version 2 - block_given? also returns true %>
<%= render partial: "users/_user" %>

Run Code Online (Sandbox Code Playgroud)

这里发生了什么,为什么会这样?

ruby ruby-on-rails erb ruby-on-rails-5

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