小编dor*_*mon的帖子

如何将字符串哈希为8位数?

无论如何我是否可以将随机字符串散列为8位数而不自行实现任何算法?

python arrays random algorithm hash

70
推荐指数
4
解决办法
8万
查看次数

html按钮可以执行POST请求吗?

我想要一个提交类型按钮来发送POST请求.

我在考虑这样的事情:

<form action = "" method = "post">
    <button>Upvote</button>
<form>
Run Code Online (Sandbox Code Playgroud)

字符串"Upvote"将作为POST请求中的名称发送.

我知道这不起作用,我知道有一些方法可以使用AJAX(javascript),但我对这个领域还很新.我只是想知道这是否可能.

更新

有人建议使用<input>标签,我用它.问题是它生成一个GET而不是一个POST.

html

61
推荐指数
4
解决办法
18万
查看次数

Redis,分发与否?

问题1:我知道Redis将所有数据加载到内存中,从而提高了读/写速度.那么,这是否意味着如果我的内存大小是2G,最大数据集大小不应该大于2G?现在我的数据库有100G +数据,我服务器的内存不能大于32G,所以,Redis不再适合我吗?

问题2:Redis是否是分布式系统?当我使用谷歌搜索redis的CAP属性时,它说Redis不是分布式系统,因此,它与CAP无关 .但是从维基百科来看,它说它有一个主从架构,一个有很多奴隶的大师.多么令人困惑.

distributed nosql redis

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

Django:如何从时间上获得时差?

说我有一个模特课

 class Post(models.Model):
     time_posted = models.DateTimeField(auto_now_add=True, blank=True)

     def get_time_diff(self):
         timediff = timediff = datetime.datetime.now() - self.time_posted
         print timediff # this line is never executed
         return timediff
Run Code Online (Sandbox Code Playgroud)

我定义了一个get_time_diff来获取Post发布到现在的时间差,根据文档,DateTimeField应该能够自动转换为datetime,这是正确的吗?为什么print语句永远不会运行?你怎么能提取时差?

此外,如果您得到时差,是否有一种简单的方法可以将时差转换为整数,例如总时间的秒数.

python django datetime django-models

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

为什么shared_ptr的引用计数对象需要跟踪指向该对象的weak_ptrs的数量?

您好我正在阅读本文档和其他一些关于C++的文档shared_ptr,他们似乎都建议除了shared_ptr指向已分配对象的数量之外,引用计数对象还必须跟踪weak_ptr指向该对象的指针数量.我的问题是为什么?根据我的理解,weak_ptr是非拥有的,因此如果shared_ptr指向对象的计数达到零,则可以删除该对象.这就是为什么有时我们需要使用expired来检查a指向的对象的可用性weak_ptr.你能解释一下需要跟踪weak_ptrs 数的原因吗?

为什么我们这里需要弱计数? 在此输入图像描述

c++ shared-ptr weak-ptr c++11

17
推荐指数
2
解决办法
1943
查看次数

为什么 C++ 的 async/await 不需要事件循环?

对于有一些其他语言(Python/JavaScript)异步经验的人来说,在谈论 async/await 时,总是假设某处存在事件循环。但是对于 C++,我已经查看了文档并没有找到任何谈论事件循环的地方。为什么会这样?

对于 Node,它只有一个默认的事件循环。对于 Python,您可以根据需要创建多个。但是对于 C++ 来说,这个事件循环是否像 Node 一样?或者出于某种原因,我们根本不需要它吗?

c++ asynchronous coroutine c++20

17
推荐指数
3
解决办法
1866
查看次数

OCaml中monad的用途是什么?

这可能是一个愚蠢的问题,但由于OCaml不纯,内置副作用,OCaml中monad的用途是什么?

monads ocaml

15
推荐指数
2
解决办法
5119
查看次数

CDN 如何确定要使用哪个最近的服务器?

在此输入图像描述

由于大多数 CDN 声称他们可以根据用户的位置更快地提供静态内容,我想知道他们实际上是如何做到这一点的。

例如,如果我有这样的 HTML:

<html>
<head> title </title>
<body>
</h1>Hello world</h1>

<script src="https://cdnjs.cloudflare.com/ajax/libs/react/18.0.0-alpha-464f27572-20210713/umd/react.production.min.js" integrity="sha512-ajIHzHkfQaAO507V8rEsyK4ftf96GFD7TC4znUxoKaRr7D0U/qmRDCXAXpc5DmmwoUnHcNtx6gaz14R0PHtRrg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

CDN 提供商如何知道我位于英国并且应该连接到(例如 AWS 西欧)?他们有特殊的 DNS 设置吗?他们采用什么技术让我的浏览器知道应该在哪里请求资源?

我的猜测之一是他们有一台服务器可以读取用户的 IP 并相应地重定向,但这没有意义,因为如果服务器位于香港而我在纽约,那么往返将花费大部分时间潜伏期的时间。所以我猜他们一定有一些办法来解决 DNS 级别的这个问题。

我通过互联网进行了搜索,但找不到任何解释。你能向我解释一下吗?

ip dns tcp http cdn

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

Haskell:为什么这样做 - 一个记忆的例子?

嗨,我正在从Memoization看这个例子:

memoized_fib :: Int -> Integer
memoized_fib = (map fib [0 ..] !!)
    where fib 0 = 0
          fib 1 = 1
          fib n = memoized_fib (n-2) + memoized_fib (n-1)
Run Code Online (Sandbox Code Playgroud)

我只是想知道为什么这甚至可以工作,因为对我来说,如果你打电话,memoized_fib(n-2)那么你正在"创建"一个新列表并用它做事情,在你从它返回后,包含部分结果的列表将会消失?所以memorized_fib(n-1)不会从中受益吗?

haskell memoization dynamic-programming lazy-evaluation

11
推荐指数
2
解决办法
943
查看次数

Haskell:二叉树深度的尾递归版本

首先,我有两个不同的实现,我认为是正确的,并且已经对它们进行了描述并认为它们具有相同的性能:

depth::Tree a -> Int
depth Empty        = 0
depth (Branch b l r) = 1 + max (depth l) (depth r)


depthTailRec::Tree a -> Int
depthTailRec = depthTR 0 where
           depthTR d Empty          = d 
           depthTR d (Branch b l r) = let dl = depthTR (d+1) l; dr = depthTR (d+1) r in max dl dr 
Run Code Online (Sandbox Code Playgroud)

我只是想知道是不是人们都在谈论尾部递归如何有利于性能?很多问题都在我脑海中浮现:

  1. 如何让深度功能更快?
  2. 我读到了关于Haskell的懒惰如何减少尾递归的需要,是真的吗?
  3. 事实是每个递归都可以转换成尾递归吗?
  4. 最后,尾递归可以更快,更节省空间,因为它可以转换为循环,从而减少了推送和弹出堆栈的需要,我的理解是正确的吗?

tree recursion binary-tree haskell tail-recursion

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