小编Jim*_*ies的帖子

从Sinatra访问标题

我试图访问sinatra过滤器中的标头.我的请求包括标题"HTTP_AUTH",但我无法访问它.我的过滤器是

before do
    halt 403 unless request['HTTP_AUTH'] == 'test'
end
Run Code Online (Sandbox Code Playgroud)

它从我的机架测试中正常工作.

browser.get '/mypath', "CONTENT_TYPE" => "application/json", "HTTP_AUTH" => 'test'
Run Code Online (Sandbox Code Playgroud)

但是当我从其他来源尝试时,我无法访问它.如果我puts request.env可以看到令牌在请求中,但我无法访问它.

"HTTP_CONNECTION"=>"close", 
"HTTP_AUTH"=>"test", 
"HTTP_ACCEPT"=>"application/json", 
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

ruby sinatra http-headers

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

Action的通用约束无法按预期工作

我无法理解为什么以下代码段不会给我一个错误

public void SomeMethod<T>(T arg) where T : MyInterface
{
  MyInterface e = arg;
}
Run Code Online (Sandbox Code Playgroud)

但是这个,我期望由于泛型类型约束而工作

private readonly IList<Action<MyInterface>> myActionList = new List<Action<MyInterface>>();

public IDisposable Subscribe<T>(Action<T> callback) where T: MyInterface
{
  myActionList.Add(callback); // doesn't compile
  return null
}
Run Code Online (Sandbox Code Playgroud)

给出了这个错误

cannot convert from 'System.Action<T>' to 'System.Action<MyInterface>'
Run Code Online (Sandbox Code Playgroud)

我正在使用VS2012 sp1和.NET 4.5.

任何人都可以解释为什么约束不允许这个编译?

.net c# generics covariance contravariance

9
推荐指数
2
解决办法
1108
查看次数

无法让Scrapy管道工作

我有使用Scrapy框架编写的蜘蛛.我在使任何管道工作时遇到一些麻烦.我在pipelines.py中有以下代码:

class FilePipeline(object):

    def __init__(self):
        self.file = open('items.txt', 'wb')

    def process_item(self, item, spider):
        line = item['title'] + '\n'
        self.file.write(line)
        return item
Run Code Online (Sandbox Code Playgroud)

我的CrawlSpider子类有这一行来激活这个类的管道.

ITEM_PIPELINES = [
        'event.pipelines.FilePipeline'
    ]
Run Code Online (Sandbox Code Playgroud)

但是当我使用它时

scrapy crawl my_spider
Run Code Online (Sandbox Code Playgroud)

我得到一条线说

2010-11-03 20:24:06+0000 [scrapy] DEBUG: Enabled item pipelines:
Run Code Online (Sandbox Code Playgroud)

没有管道(我认为这是日志应该输出它们的地方).

我已经尝试查看文档,但似乎没有任何完整项目的完整示例,看看我是否遗漏了任何内容.

有关下一步尝试的建议吗?或者在哪里寻找进一步的文件?

python pipeline web-crawler scrapy scraper

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

python持续集成

我期待为python项目建立一个持续集成服务器.通常这会构建项目,但是因为python不是这样构建的,应该做什么呢?只是单元测试?或者是否有其他人可以推荐的步骤?

python continuous-integration

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

管理clojure中的括号数量

我是clojure的新手,我正在努力解决的主要问题是编写可读代码.我经常最终得到如下所示的功能.

(fn rep 
  ([lst n]
    (rep (rest lst)
    n
    (take n 
      (repeat (first lst)))))
  ([lst n out]
    (if
      (empty? lst)
      out
      (rep 
        (rest lst) n
        (concat out (take n 
          (repeat 
            (first lst))))))))
Run Code Online (Sandbox Code Playgroud)

有很多端括号的构建.有哪些方法可以减少这种情况或将其格式化,以便更容易找到丢失的括号?

lisp readability clojure code-readability

8
推荐指数
3
解决办法
1569
查看次数

不能将datetime_select与Mongoid一起使用

每次我尝试在视图中使用Datetime_select时,应用程序都会抛出属性错误.

Mongoid::Errors::UnknownAttribute:

   Problem:
     Attempted to set a value for 'fromtime(1i)' which is not allowed on the model Event.
   Summary:
     Without including Mongoid::Attributes::Dynamic in your model and the attribute does not already exist in the attributes hash, attempting to call Event#fromtime(1i)= for it is not allowed. This is also triggered by passing the attribute to any method that accepts an attributes hash, and is raised instead of getting a NoMethodError.
   Resolution:
     You can include Mongoid::Attributes::Dynamic if you expect to be writing …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails mongodb mongoid

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

为什么Linq没有头和尾?

我经常发现自己想在IEnumerables上使用Head和Tail方法,这些方法在Linq中不存在.虽然我可以很容易地写自己的,但我想知道他们是否被故意排除在外.例如,

var finalCondition = new Sql("WHERE @0 = @1", conditions.Head().Key, conditions.Head().Value);
foreach (var condition in conditions.Tail())
{
  finalCondition.Append("AND @0 = @1", condition.Key, condition.Value);
}
Run Code Online (Sandbox Code Playgroud)

那么,Linq的最佳实践是什么?事实上,我一直在寻找这个标志,我没有做推荐的事情吗?如果没有,那么为什么这个常见的功能范例没有在Linq中实现?

c# linq tail head

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

Python获取部分函数的参数

我正在寻找类似于这里所要求的东西获取python函数内的参数名列表,但使用部分函数.即.我需要获得部分函数的可能参数.我可以使用以下方法获取关键字参数

my_partial_func.keywords
Run Code Online (Sandbox Code Playgroud)

但我目前正在努力获得非关键字参数.检查模块也没有为这种特殊情况产生任何结果.任何建议都会很棒.

python parameters arguments introspection partial

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

应用函数和左边的任何一个

我一直在阅读这本伟大的好书,但我正在与Applicative Functors稍作讨论.

在下面的示例max中应用了两个Maybe functor的内容并返回Just 6.

max <$> Just 3 <*> Just 6
Run Code Online (Sandbox Code Playgroud)

为什么在以下示例中Left "Hello"返回而不是Either仿函数的内容:Left "Hello World"

(++) <$> Left "Hello" <*> Left " World"
Run Code Online (Sandbox Code Playgroud)

haskell functor either applicative

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

React故事书不会在更改时重新加载

我创建了一个React应用程序,create-react-app并向其中添加了故事书。当我运行yarn run storybook文件时,它不会重新加载。

我的应用程序布局像

src
->components
--->aComponent.js
->stories
--->index.js
->index.js
Run Code Online (Sandbox Code Playgroud)

这是我的package.json

{
  "name": "my-app",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "immutable": "^3.8.2",
    "react": "^16.2.0",
    "react-dom": "^16.2.0",
    "react-scripts": "1.1.1"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject",
    "storybook": "start-storybook -p 9009 -s public",
    "build-storybook": "build-storybook -s public"
  },
  "devDependencies": {
    "@storybook/addon-actions": "^3.3.14",
    "@storybook/addon-links": "^3.3.14",
    "@storybook/addons": "^3.3.14",
    "@storybook/react": "^3.3.14",
    "babel-core": "^6.26.0",
    "flow-bin": "^0.67.1"
  }
}
Run Code Online (Sandbox Code Playgroud)

我没有自定义Web Pack配置。我需要怎么做才能使热模块重新加载正常工作?

reactjs webpack storybook

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