小编Sha*_*nak的帖子

每次执行python代码而不调用import语句

这是一个示例python脚本.如何从命令行多次运行此脚本,以便每次都不调用导入行?import语句加载时间太长.

import arcpy
val = arcpy.GetCellValue_management("D:\dem-merged\lidar_wsg84", "-95.090174910630012 29.973962146120652", "")
print str(val)
Run Code Online (Sandbox Code Playgroud)

python import command-line

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

Swift:双转换不一致.如何正确比较双打?

我有一个非常简单的功能,可将温度从˚C转换为˚K.

func convertKelvinToCelsius(temp:Double) ->Double {
        return temp - 273.15
}
Run Code Online (Sandbox Code Playgroud)

我有一个单元测试来驱动这个功能.这就是问题所在:

  func testKelvinToCelsius(){
            var check1 = conv.convertKelvinToCelsius(200.00) // -73.149999999999977
            var check2 = 200.00 - 273.15                     // -73.149999999999977
            var check3 = Double(-73.15)                      // -73.150000000000006

            //Passes
            XCTAssert(conv.convertKelvinToCelsius(200.00).description == Double(-73.15).description, "Shoud convert from celsius kelvin")

            //Fails
            XCTAssert(conv.convertKelvinToCelsius(200.00) == Double(-73.15), "Shoud convert from celsius kelvin")
     }
Run Code Online (Sandbox Code Playgroud)

当你添加一个断点并检查check1,check2和check3的值时,它们非常有趣:

check1  Double  -73.149999999999977
check2  Double  -73.149999999999977
check3  Double  -73.150000000000006
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 为什么Swift为check1/check2和check3返回不同的值

  2. 我怎样才能通过第二次测试,因为写它就像我测试1一样.为什么我必须将双打转换为字符串才能比较它们?

  3. 最后,当我printlncheck1,check2和check3时,它们都打印为'-73.15'.为什么?为什么不准确打印,而不是混淆程序员!?

重现:

只需输入200 - 273.15 == -73.15 您的游乐场并观看它false!

double swift

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

“aws s3 同步”CLI 更新 s3 存储桶内容后 Amazon CloudFront 缓存失效

我有一个 rails 应用程序,它使用 aws cli 将一堆内容和配置与我的 s3 存储桶同步,如下所示:

aws s3 sync --acl 'public-read' #{some_path} s3://#{bucket_path}

现在,我正在寻找一些简单的方法来将刚刚同步更新的所有内容标记为 CloudFront 的无效或过期。

我想知道是否有某种方法可以使用aws cli提供的-cache-control标志来实现这一点。这样就不会使CouldFont 失效,而只需将文件标记为已过期,这样CloudFront 将被迫从存储桶中获取新数据。

我知道CloudFront POST API可以将文件标记为失效,但这意味着我将检测到上次同步中的更改,然后进行 API 调用。我可能有 1000 到 1 个文件同步的任何地方。不是一个令人愉快的前景。但是,如果我必须走这条路,我将如何在不解析 s3 同步的控制台输出的情况下检测更改——当然。

还是有其他想法?

谢谢!

amazon-s3 amazon-web-services ruby-on-rails-3 amazon-cloudfront aws-cli

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

Angular UI-Router:$ state.current有时是未定义的

我正在使用ui.router我的角度应用程序,并在我的导航栏controller(包含在多个模板中)中,我编写了一个简单console.log($state.current)的测试它的行为.

我注意到,有时,在重新加载时,状态是未定义的:

Object {name: "", url: "^", views: null, abstract: true}
Run Code Online (Sandbox Code Playgroud)

有时它被定义:

Object {url: "/admin", templateUrl: "app/components/admin-dashboard/admin-dashboard.html", controller: "AdminCtrl", controllerAs: "vm", name: "admin-dashboard"}
Run Code Online (Sandbox Code Playgroud)

可能是这种行为的原因是什么?如何保证在加载视图时定义我的状态?

javascript angularjs angular-ui-router

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

$ .ajax成功后执行一个函数,而不直接将其放入回调中

我有这个函数,我的代码的很多部分都调用它.

function test() {
  $.ajax({
    url : url,
    type : 'GET',
    success : {
      verifyID();
      verifyName();
      verifyBlah();
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

我还有其他功能:

addProductCart(productID);
Run Code Online (Sandbox Code Playgroud)

在我打电话之前addProductCart(),我需要调用测试功能,但是,其他进程调用测试功能.

我想这样做:

test() ---> if test ok (success) ----> addProductCart()
Run Code Online (Sandbox Code Playgroud)

但我无法将我的函数(addProductCart)设置为成功测试函数,因为,正如我所说,许多其他进程调用测试函数.

我怎样才能做到这一点?

javascript ajax jquery

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

Rmagick 损坏:库未加载:/usr/local/lib/libMagickCore-6.Q16.1.dylib

Rmagick 抱怨在尝试运行任何迁移时它坏了。在 OSX Sierra 上。

/Users/xyz/.rvm/gems/ruby-2.4.0@nucloud/gems/rmagick-2.16.0/lib/rmagick_internal.rb:12:in `require': dlopen(/Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/rmagick-2.16.0/lib/RMagick2.bundle, 9): Library not loaded: /usr/local/lib/libMagickCore-6.Q16.2.dylib
  Referenced from: /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/rmagick-2.16.0/lib/RMagick2.bundle
  Reason: image not found - /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/rmagick-2.16.0/lib/RMagick2.bundle (LoadError)
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/rmagick-2.16.0/lib/rmagick_internal.rb:12:in `<top (required)>'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/rmagick-2.16.0/lib/rmagick.rb:1:in `require'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/rmagick-2.16.0/lib/rmagick.rb:1:in `<top (required)>'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/bundler-1.15.1/lib/bundler/runtime.rb:82:in `require'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/bundler-1.15.1/lib/bundler/runtime.rb:82:in `block (2 levels) in require'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/bundler-1.15.1/lib/bundler/runtime.rb:77:in `each'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/bundler-1.15.1/lib/bundler/runtime.rb:77:in `block in require'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/bundler-1.15.1/lib/bundler/runtime.rb:66:in `each'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/bundler-1.15.1/lib/bundler/runtime.rb:66:in `require'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/bundler-1.15.1/lib/bundler.rb:108:in `require'
    from /Users/xyz/code/nc_rails5/config/application.rb:7:in `<top (required)>'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/spring-1.7.2/lib/spring/application.rb:82:in `require'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/spring-1.7.2/lib/spring/application.rb:82:in `preload'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/spring-1.7.2/lib/spring/application.rb:143:in `serve'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/spring-1.7.2/lib/spring/application.rb:131:in `block in run'
    from …
Run Code Online (Sandbox Code Playgroud)

macos ruby-on-rails rmagick bundler ruby-on-rails-5

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

如何使用 module.exports 和 require() 在 Node.js 中导出类和超类?

这可能是显而易见的,但我不明白如何使用module.export导出子类和超类。我目前收到错误ReferenceError: not defined。这是一个示例子Dalmatian/js/dalmatian.js

class Dalmatian extends Dog{
  constructor(){
       super();
      /// stuff
  }
}

module.exports = {
  Dalmatian : Dalmatian
}
Run Code Online (Sandbox Code Playgroud)

如果我然后将此类导出到另一个*.js文件中,则会遇到问题:

require('../js/dog.js');   // this works
require('../js/dalmatian.js');   // this fails

ReferenceError: Dog is not defined
Run Code Online (Sandbox Code Playgroud)

我不明白。超级构造函数在 Dalmatian 中使用,即super();.

如何导出基类(此处为Dog)以免出现此错误?

javascript module node.js

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

最优雅的方式使这个JavaScript代码干

以下是我想要干扰的JavaScript代码片段:

if(agency == 'abcd')map.entities.push(abcd);
if(agency == 'efgh')map.entities.push(efgh);
if(agency == 'xyz')map.entities.push(xyz);
if(agency == 'pqrs') map.entities.push(pqrs);
if(agency == 'values')map.entities.push(values);
Run Code Online (Sandbox Code Playgroud)

现在将来可能会有更多不同密钥的ifs.JavaScript不提供HashMap的构建,我可以在这里使用.使用数组和id的东西使它干得太俗气了.有更简单的解决方案吗?可能是这样的

if(agency == 'abcd')map.entities.push(stringToVariable('abcd'));
Run Code Online (Sandbox Code Playgroud)

然后我可以使用for和迭代键.我不确定这在JavaScript中是否可行.

javascript dry

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

在轨道上的红宝石中找到最接近给定时间的记录

背景

我有一个ror应用程序,它不断记录并在网站上显示实时传感器数据.然后我有一个名为传感器的表,其中包含所有传感器的唯一列表并存储最新值.

我还有另一个表历史记录,它转储了每个传感器收到的所有传感器值.

因此关系是 "传感器有很多历史",time_stamp col记录创建时间戳.

并非所有传感器都以相同的间隔或频率更新.

问题

现在我想从用户那里获取输入时间戳,过去的日期和时间,并显示传感器当时显示的内容.例如,我想看看昨天下午2点所有传感器的样子,一旦我有来自用户的这个时间戳,我如何从历史表中检索最接近输入时间戳的一个传感器值.

我希望在Sensor模型中添加一个方法,它将time_stamp作为参数,并从历史表中检索最接近输入time_stamp的值.

编写此活动记录查询的最简单方法是什么?

谢谢Shaunak

timestamp ruby-on-rails

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

Rails:直接从控制器渲染 HTML。

我需要一些帮助来处理 AJAX 调用的响应。这是我想要做的:

  1. 对我的 Rails 应用程序进行 AJAX 调用以获取 HTML 文档。
  2. 在 Rails 控制器内,从磁盘读取 HTML 文档。然后使用“render html:@htmldoc”将文档发送到视图
  3. 在视图中,我在一个 div 中有一个标签 ID“课程”。使用来自包含 HTML 文档的 AJAX 调用的响应,我将文档放入“课程”标记中。但是 HTML 呈现为带有“课程”标签的 TEXTNODE,而我需要将其呈现为 HTML。

这是我在 new.html.erb 中的观点:

    <div id="lesson">
      <h2>Choose a lesson on the left panel to start your study module.</h2>
    </div>
    <div>
      <button type="button" class="btn btn-primary"id="btn_next">Next</button>
    </div>
Run Code Online (Sandbox Code Playgroud)

这是我在 new.html.erb 中的 AJAX 调用:

    $(document).ready(function(){
      $("#btn_next").click(function(){
      $.ajax({
        type:'POST',
        url:'/study',
        data: { id: "demo.html" },
        success:function(result){
          $("#lesson").html(result);
        }
      });
    });
Run Code Online (Sandbox Code Playgroud)

});

这是我的routes.rb:

    get     '/study',           to: 'study_sessions#new'
    post    '/study', …
Run Code Online (Sandbox Code Playgroud)

html ajax ruby-on-rails

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