小编o_o*_*o--的帖子

朱莉娅阵列中的三点(...)有什么作用?他们为什么要更改类型签名?

鉴于波纹管类型的数据,下面的理解产生了两个Array{Any,1}PlayerS:

[[team.players for team in [big_team_1, big_team_2]]]
Run Code Online (Sandbox Code Playgroud)

然而,下一个理解产生了Array{Player,1}12个元素的期望结果:

[[team.players for team in [big_team_1, big_team_2]]...]
Run Code Online (Sandbox Code Playgroud)

到底是...做什么的?这记录在哪里?


数据:

type Player
  ranking::Int
end

type Team
  players::Array{Player}
end

team_1 = Team([Player(10_000), Player(11_000), Player(9_000), Player(8_500),
                   Player(20_000), Player(10_500)])

team_2 = Team([Player(i.ranking + 3000) for i in team_1.players])
Run Code Online (Sandbox Code Playgroud)

julia

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

PHP/MySQL形式:转义,消毒,散列....我甚至从哪里开始?

我通常非常有资源自己寻找信息,但是当谈到这个问题时,那里的东西确实令人生畏.我收到了一些信息超载.

我已经找到了几十篇关于个人安全主题的文章,但我无法理解大局以及它们在实践中如何融合在一起.

我需要看一个鸟瞰路线图.拿这个假设的例子:

一个简单的假设"评论"部分:

  • 注册:创建一个密码/用户名组合,安全地存储在MySQL表中.

  • 登录.

  • 发表评论.

这个最基本的案例将遵循什么是"安全路线图"?

这个星球上的每本教程和PHP书都使用MySQL扩展没有帮助,如果我理解正确的话,这是一个坏主意吗?

php mysql security passwords sql-injection

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

创建一个用于挂钩PDO查询的databaseDo()函数

所以我开始本教程作为PHP PDO的介绍.到目前为止,我只使用基本mysql_*类型查询.

我注意到,在整个教程中,connect -> do action -> disconnect模式重复,只有do action部分发生变化.

在现实环境中,通过创建可以传递查询的函数来消除重复是否是个好主意?

例如:

处理查询的函数:

<?php
function databaseDo($action) {
    $db_hostname = 'localhost';
    $db_username = 'root';
    $db_password = 'root';

    try {
        // Establish DB connection
        $dbh = new PDO("mysql:host=$hostname;dbname=mysql", 
                $db_username, $db_password);
        echo 'Connected to database';

        // Do something
        $action($dbh);        // <- here goes whatever action we wish to perform

        // Close connection
        $dbh = null;
    } 
    catch(PDOException $e) {
        echo $e->getMessage();
    }
?>
Run Code Online (Sandbox Code Playgroud)

然后,假设我想在PDO教程的第一个示例中执行操作,我会将其设置为:

<?php
// …
Run Code Online (Sandbox Code Playgroud)

php pdo function

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

在运行ExUnit测试时,如何将日志打印到控制台?

为了在失败的集成测试期间进行调试,我希望仍然能够看到我的应用程序日志.是否有一个命令可以传递给mix test任务来完成此任务?

elixir ex-unit

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

如何在 Ecto 模式中存储多维数组?

假设我希望将一组坐标 ( [[x1,y1], [x2,y2]]) 存储到 Postgres 中。首选的数据类型是什么?该文档允许采用以下形式的数组

:coordinates, {:array, :float}
Run Code Online (Sandbox Code Playgroud)

但这仅对一维数组有用。

elixir ecto

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

Postgres 在生成的进程中运行查询时断开连接?

我有一个生成进程的函数,它执行如下查询:

  def trigger_schedule(u = %User{}) do
    spawn(fn ->
      (Repo.preload(p, :tasks)).tasks
      |> Enum.map(fn ts -> trigger_schedule(ts) end)
    end)
    u
  end
Run Code Online (Sandbox Code Playgroud)

此代码由某些操作触发,仅用于在后台运行。但是,当我运行测试时,我开始看到:

00:37:33.324 [error] Postgrex.Protocol (#PID<0.789.0>) disconnected: ** (DBConnection.ConnectionError) owner #PID<0.1531.0> exited while client #PID<0.1533.0> is still running with: shutdown
Run Code Online (Sandbox Code Playgroud)

在跨区函数内执行查询是否不正确,或者是否有办法解决此错误?我认为这与PG连接池有关...

elixir ecto

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

为什么Nil增加一个枚举大小而不是另一个?如何为Rust枚举分配内存?

如果我定义以下枚举,Nil不会增加枚举的大小:

  use std::mem::size_of;

  enum Foo {
    Cons(~char)
  }

  enum Bar {
    Cons(~char),
    Nil
  }

  println!("{}", size_of::<Foo>());
  println!("{}", size_of::<Bar>());

  // -> 4
  // -> 4
Run Code Online (Sandbox Code Playgroud)

另一方面:

  enum Foo {
    Cons(char)
  }

  enum Foo {
    Cons(char),
    Nil
  }
Run Code Online (Sandbox Code Playgroud)

产量:

  // -> 4
  // -> 8
Run Code Online (Sandbox Code Playgroud)

定义枚举时发生了什么?如何为这些结构分配内存?

memory-management rust data-structures

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

如何仅在文件类型的缓冲区中取消映射键绑定?

我有一个映射;;移动到行尾并插入一个冒号(在类似c语言中很有用).在我的scheme.vim档案中,我有:

iunmap ;;
Run Code Online (Sandbox Code Playgroud)

问题是:

  1. 每次打开方案文件时它都会尝试运行此命令,此时它已经取消映射,所以我会收到警告.

  2. 它将全局取消映射此键,因此如果我在同一会话中打开非方案文件,它将不记得此绑定.

至少我想解决#1,如果绑定处于活动状态,它只会尝试取消映射,这样我就不会收到错误.

vim

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

如何制作以特定速率处理消息的 GenServer?(每 n 秒)

我的一项服务与速率受限的外部 API 通信,因此我想确保每 10 秒发送不超过 1 个调用。

我天真的方法是拥有一个长时间运行的 API 服务,并在每次调用后超时:

def handle_cast({:call_api, data}, state) do
  send_to_external_api(data)
  :timer.sleep(10000)
  {:noreply, state}
end
Run Code Online (Sandbox Code Playgroud)

我不确定是否有适当的方法来做到这一点。

elixir gen-server

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

如何同时定义多个模块?(宏尝试不起作用)

我需要我的所有模型来实现特定的协议。我目前的尝试是MyApp.Convert定义了这个宏的模块:

defmodule ConvertMacro do
  @moduledoc """
  All model structs need to implement the convert interface and must be added
  here.
  """

  defmacro defimpl_convert_for(modules) do
    Enum.map(modules, fn module ->
      quote do
        defimpl Units.Convert, for: unquote(module) do
          require Units

          def to_standard_metric(struct) do
            Units.to_standard_metric_for_struct(unquote(module), struct)
          end

          def to_user_data(struct) do
            Units.to_user_data_for_struct(unquote(module), struct)
          end
        end
      end
    end)
  end
end

ConvertMacto.defimpl_convert_for([MyApp.User, MyApp.Block])
Run Code Online (Sandbox Code Playgroud)

错误:

== Compilation error on file lib/protocols/units_convert.ex ==
** (UndefinedFunctionError) function ConvertMacro.defimpl_convert_for/1 is undefined or private. Did you mean one of:

      * …
Run Code Online (Sandbox Code Playgroud)

elixir

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