小编Nem*_* Ga的帖子

Redux:减速器收到的先前状态有意外类型的"功能"

当我为chrome扩展添加中间件时,reducers在站点上停止正常工作(但chrome/redux调试工具正常工作)+我在控制台中出现以下错误:

减速器接收的先前状态具有意外类型的"功能".预期参数为具有以下键的对象:"auth","common","home"

这是代码:

import { applyMiddleware, createStore } from 'redux';
import { promiseMiddleware, localStorageMiddleware } from './middleware';
import reducer from './reducer';

const middleware = applyMiddleware(promiseMiddleware, localStorageMiddleware);

const store = createStore(reducer, middleware,
      window.devToolsExtension ? window.devToolsExtension() : f => f);

export default store;
Run Code Online (Sandbox Code Playgroud)

如果我删除铬部分:

,window.devToolsExtension ? window.devToolsExtension() : f => f
Run Code Online (Sandbox Code Playgroud)

如果再次正常工作.

reactjs redux react-redux

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

Proxy + Selenium + PhantomJS无法更改User-Agent

当使用带有phantomjs的代理时,它使用默认的python用户代理.

在ubuntu 14.04上运行:Python 3.5.1

service_args = []

if self.proxy:
    service_args.extend([
        '--proxy={}:{}'.format(self.proxy.host, self.proxy.port),
        '--proxy-type={}'.format(self.proxy.proto),
    ])

    if self.proxy.username and self.proxy.password:
        service_args.append(
            '--proxy-auth={}:{}'.format(self.proxy.username, self.proxy.password)
        )

dcap = dict(DesiredCapabilities.PHANTOMJS)
dcap["phantomjs.page.settings.userAgent"] = (
    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/53 "
    "(KHTML, like Gecko) Chrome/15.0.87"
)

self.webdriver = webdriver.PhantomJS(service_args=service_args, desired_capabilities=dcap)
Run Code Online (Sandbox Code Playgroud)

并且错误:

消息:错误消息=>'无法找到带有css选择器的元素'#navcnt td.cur''由Request => {"headers"引起:{"接受":"application/json","Accept-Encoding":"同一性", "连接": "关闭", "内容长度": "105", "内容类型": "应用/ JSON;字符集= UTF-8", "主机": "127.0.0.1:39281" ,"User-Agent":"Python-urllib/3.5" } ...

在类似的问题中得出结论,问题是由代理提供商通过在服务器级别设置用户代理引起的,但是我怀疑这是因为我可以使用带有chrome的代理修改它.

python phantomjs selenium-webdriver

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

用胖箭头vs冒号映射(毒药 - json解码)

ab = %{a: 1}
ac = %{"a" => 1}
Run Code Online (Sandbox Code Playgroud)

究竟有什么区别?为什么Poison.decode!返回格式#2(我需要#1与Ecto.Changeset.change一起使用).

Json响应来自API,看起来像

[{"a":3}]
Run Code Online (Sandbox Code Playgroud)

elixir elixir-poison

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

Material-ui @next自定义按钮颜色?

我正在努力修改Material-UI @ next(v1)中的按钮颜色.

我如何将muitheme设置为与bootstrap相似,所以我可以使用"btn-danger"表示红色,"btn-success"表示绿色...?

我尝试使用自定义className但它无法正常工作(悬停颜色不会改变),它似乎重复.我有什么选择?

javascript material-ui

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

流浪的rsync超级慢

我在vagrantfile中有这个:

config.vm.synced_folder ".", "/vagrant",
type: "rsync", rsync__auto: true, rsync__exclude: [".git/", "django/"]
Run Code Online (Sandbox Code Playgroud)

+我vagrant rsync-auto在单独的标签中运行.

在对文件进行更改后,需要使用vagrant~5s来获取它并进行rsync.

无论如何加快这个速度?我用它来进行webpack/hot-module-reloading.

rsync vagrant

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

Ecto - 更新嵌套嵌入

我无法使用ecto更新嵌套设置,我得到"无变化"变更集或错误.移民:

def change do
  create table(:trees) do
  ...
  add :settings, :map
Run Code Online (Sandbox Code Playgroud)

设置如下:

defmodule Final.TreeSettings do
  use Ecto.Schema

  embedded_schema do
    ...
    field :columns, :map       
    timestamps
  end
end
Run Code Online (Sandbox Code Playgroud)

注意嵌套列映射.

我可以轻松地插入新的Tree行:

changeset = Tree.changeset(%Tree{}, %{user_id: user_id, name: x})
      |> Ecto.Changeset.put_embed(:settings, treeSettings)
Run Code Online (Sandbox Code Playgroud)

但以相同的方式更新它不起作用:

get_tree = Repo.one! from p in Tree, where: p.name == ^tree["name"], where: p.user_id == ^user_id
settingss = get_tree.settings
settingss = Kernel.update_in(settingss.columns[tree["setting"]][tree["type"]], fn x -> "asdasd" end)
# IO.inspect(settingss) shows correct changes here.
changeset =
    get_tree
    |> Ecto.Changeset.change
    |> Ecto.Changeset.put_embed(:settings, settingss)    
    IO.inspect …
Run Code Online (Sandbox Code Playgroud)

elixir ecto

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

Django - SQL bulk get_or_create possible?

I am using get_or_create to insert objects to database but the problem is that doing 1000 at once takes too long time.

I tried bulk_create but it doesn't provide functionality I need (creates duplicates, ignores unique value, doesn't trigger post_save signals I need).

甚至可以通过自定义的SQL查询批量进行get_or_create吗?

这是我的示例代码:

related_data = json.loads(urllib2.urlopen(final_url).read())

for item in related_data:

    kw = item['keyword']
    e, c = KW.objects.get_or_create(KWuser=kw, author=author)
    e.project.add(id)
    #Add m2m to parent project
Run Code Online (Sandbox Code Playgroud)

related_data包含1000行,如下所示:

[{"cmp":0,"ams":3350000,"cpc":0.71,"keyword":"apple."},
{"cmp":0.01,"ams":3350000,"cpc":1.54,"keyword":"apple -10810"}......]
Run Code Online (Sandbox Code Playgroud)

KW模型还会发送我用来创建另一个父模型的信号:

@receiver(post_save, sender=KW)
def grepw(sender, **kwargs):
    if kwargs.get('created', False):
        id …
Run Code Online (Sandbox Code Playgroud)

sql django postgresql django-models

6
推荐指数
2
解决办法
2318
查看次数

defaultdict如何获取列表中所有值的总和?

这是代码:

models = [Url1, Url2, Url3, Url4, Url5, Url6, Url7, Url8, Url9, Url10]
d = defaultdict(list)

for model in models:

    getids = model.objects.values_list('keyword', 'score')
    for kw, score in getids:
        d[kw].append(score)
Run Code Online (Sandbox Code Playgroud)

这使'd'输出:

defaultdict(<type 'list'>, {198: [-70, 0, 5, -70, 5, 5, 0, 0, -50, -70],     
199: [0, -70, -70, -70, -70, -70, -100, -70, -70, -70]})
Run Code Online (Sandbox Code Playgroud)

如何让它返回:

defaultdict({198: -245, 199: -660}) #sum of all numbers inside lists, returned as values to both keys.
Run Code Online (Sandbox Code Playgroud)

我尝试循环但是deafultdict似乎不像普通列表那样工作.

python

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

Django .update不会调用覆盖保存?

我试图在模型中调用这个覆盖保存方法:

def save(self, *args, **kwargs):
    if self.done is True:
        if self.averagepa is None:
            pass
        elif self.averagepa < 26:
            self.links = 5
        elif self.averagepa < 31:
            self.links = 10
        elif self.averagepa < 36:
            self.links = 15
        elif self.averagepa < 41:
            self.links = 20
        else:
            self.links = 99
super(KW, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

如果我只是在管理面板中保存模型,这非常有效.但是,当我尝试通过./manage.py shell这样更新它:

KW.objects.filter(id=138).update()
Run Code Online (Sandbox Code Playgroud)

它不会触发它.如何通过shell更新调用保存覆盖方法?

python django django-models

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

Elixir Ecto - 未知领域

试图复制trello示例,无法使变更集与foreignkeys一起使用:

移民:

defmodule Final.Repo.Migrations.CreateKw do
  use Ecto.Migration

  def change do
    create table(:kw) do
      add :keyo_id, references(:keyo), null: false
      add :users_id, references(:users), null: false


      timestamps
    end
    create index(:kw, [:keyo_id])
    create index(:kw, [:users_id])
    create unique_index(:kw, [:keyo_id, :users_id])
  end
end
Run Code Online (Sandbox Code Playgroud)

模型:

defmodule Final.Kw do
  use Final.Web, :model

  alias Final.Repo


  schema "kw" do
    belongs_to :keyo, Final.Keyo
    belongs_to :user, Final.User

    timestamps
  end

  @required_fields ~w(keyo_id users_id)
  @optional_fields ~w()    

  def changeset(model, params \\ :empty) do
    model
    |> cast(params, @required_fields, @optional_fields)
  end

end
Run Code Online (Sandbox Code Playgroud)

完整错误:

**(ArgumentError)未知字段users_id(请注意,变更集中仅支持字段,嵌入,belongs_to,has_one和has_many关联)

导致它的命令: …

elixir ecto

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

展平/合并嵌套地图

假设我们有这样的地图:

%{"a": %{"b": 2, "c":5}, "d": 1}
Run Code Online (Sandbox Code Playgroud)

elixr 中是否有类似的函数(js 回答同一问题)?

最终结果应该是:

%{"a.b": 4, "a.c":5, "d": 1}
Run Code Online (Sandbox Code Playgroud)

elixir

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

Ecto ILIKE 多个关键字?

所以现在我正在使用这个:

dynamic(
  [u],
  ilike(
    u.name, ^"%#{String.replace(term, "%", "\\%")}%"
  ) 
)
Run Code Online (Sandbox Code Playgroud)

该术语是一个简单的字符串,例如"charlie"。我如何将其与术语列表一起使用,例如:["charlie", "dennis", "frank"]- 没有片段是否可能?

elixir ecto

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