小编Vad*_*nda的帖子

FIFO缓存与LRU缓存

我真的很抱歉这么简单的问题.我只是想确保我正确理解FIFO缓存模型,并希望有人能帮助我:)如果缓存已满,LRU缓存将删除最近访问过的条目.如果缓存需要可用空间,则FIFO删除先前添加的条目(?),如果缓存需要空闲空间(例如,如果'a' - 'v' - 'f' - 'k'是缓存中的条目,'a'是最早的如果条目需要空闲空间,则缓存将删除'a'.

我对吗?

hash caching fifo data-structures

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

这些图表的名称是什么?

我想生成类似于此的图表,但我不知道该寻找什么.

在此输入图像描述

diagram sequences flowchart

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

如何在 mongoDB 中使用 $cond 而不使用 else 表达式?

如果 site!= 'undefined',我想将 $site 的值添加到变量中,否则我必须跳过该文档并继续下一个文档。

我用了

{$addToSet: { $cond: { if: { $ne: [ "$site", 'undefined' ] }, then: "$site"}}}

但它返回“$cond 缺少'else'参数”

如果我添加一个 else 语句

1){$addToSet: { $cond: { if: { $ne: [ "$site", 'undefined' ] }, then: "$site", else: {} }}}

它将值返回到 addset {Object Object}

2){$addToSet: { $cond: { if: { $ne: [ "$site", 'undefined' ] }, then: "$site", else: null }}}

它向集合返回 null,如 ["sample1", "sample2", ]

3){$addToSet: { $cond: { if: { $ne: [ "$site", …

mongodb

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

ECTO unique_constraint无法按预期工作

我想创建一个包含3个字段的unique_constraint,并将其称为“ unique_user_product_shop”。当我这样做时,我的数据库抛出一个错误,表明尝试的插入不是唯一的:

错误:

18:04:18.830 [error] #PID<0.380.0> running Api.Router terminated
Server: 192.168.1.12:4000 (http)
Request: PUT /product/isinshop/?p_id=12&s_id=12&u_id=792200324272726
** (exit) an exception was raised:
    ** (FunctionClauseError) no function clause matching in Ecto.Changeset.add_constraint/6
        (ecto) lib/ecto/changeset.ex:2272: Ecto.Changeset.add_constraint(#Ecto.Changeset<action: nil, changes: %{p_id: 12, s_id: 12, u_id: "792200324272726", voted_in_shop: true, voted_not_in_shop: false}, errors: [], data: #Api.UserProductShop<>, valid?: true>, :unique, "unique_user_product_shop", :exact, [:p_id, :u_id, :s_id], {"has already been taken", []})
        (api) lib/api/models/user_product_shop.ex:37: Api.UserProductShop.insert_user_product_shop/2
        (api) lib/api/controllers/product/put_product_is_in_shop.ex:48: Api.Controllers.PutProductIsInShop.put_product_is_in_shop/1
        (api) lib/api/router.ex:1: Api.Router.plug_builder_call/2
        (api) lib/plug/debugger.ex:123: Api.Router.call/2
        (plug) lib/plug/adapters/cowboy/handler.ex:15: Plug.Adapters.Cowboy.Handler.upgrade/4
        (cowboy) /Users/Ben/Development/Projects/vepo/api/deps/cowboy/src/cowboy_protocol.erl:442: :cowboy_protocol.execute/4
Run Code Online (Sandbox Code Playgroud)

我的代码: …

elixir ecto

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

Elixir 中的条件循环

我已经开始学习 Elixir,但我正在努力应对从 OOP 的功能范式转变。

所以我正在做的练习要求我返回正确的字符串格式,将 DNA 转换为 RNA。

例如:RnaTranscription.to_rna('ACTG')应该返回'UGAC'

这是我到目前为止,但我不知道如何继续。我应该如何获取每个元素并替换它们?我想过为每个人使用 String.replace(dna, "A", "U") 但它不是 DRY。

defmodule RnaTranscription do
  def to_rna(dna) do
    map = %{"A" => "U", "C" => "G", "T" => "A", "G" => "C"}
    dna
    |> String.split("")
    |> Enum.map(dna, substitute(dna, x))
  end

  def substitute(x), do: x -> [ map[x] | substitute(tails) ]

end
Run Code Online (Sandbox Code Playgroud)

foreach dictionary loops phoenix elixir

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