小编tho*_*iha的帖子

如何使卡列水平排序?

我有一个智能滚动的卡片列表,虽然我喜欢它的外观card-columns,但从上到下排序却非常令人沮丧,如下所示: 1 4 7 2 5 8 3 6 9

对于内容加载多个项目的任何内容,此垂直排序似乎基本无用.如果我有50个项目,一些最不重要的项目将位于顶部!

我尝试过使用flexbox的一些变种,但无法使用任何东西.有没有人有水平订购工作?

css twitter-bootstrap bootstrap-4

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

有没有办法让降价表可以排序?

我想在markdown文本中编写我的表,但允许它在渲染后在github上可以排序(通过单击列标题进行简单的asc/desc排序.

有什么办法吗?

markdown github github-flavored-markdown

14
推荐指数
2
解决办法
3775
查看次数

<div [innerHTML] = ....没有使用iframe html>在angular2 html注入

<div [innerHTML]="html"></div>当html包含Iframe时不起作用.我试图做一些安全绕过this.sanitizer.bypassSecurityTrustResourceUrl(...,但它仍然无法正常工作.

这是使用angular2无法正确注入的演示.

angular2-security angular

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

如何手动模拟websocket断开连接?(Firefox或Chrome开发工具)

如何手动模拟websocket断开连接?我正在尝试测试websocket重新连接逻辑,除了等待浏览器的10分钟websocket超时之外,我无法做到这一点.

firebug websocket google-chrome-devtools firefox-developer-tools

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

如何在 Jetpack Compose 中使用 LazyColumn 构建树?

在我的 jetpack-compose 应用程序中,我正在构建一个注释树,其中顶层和叶子是列表,最好使用LazyColumn.

其形式如下:

List<CommentNode>
...
CommentNode: {
  content: String
  children: List<CommentNode>
}
Run Code Online (Sandbox Code Playgroud)
@Composable
fun Nodes(nodes: List<CommentNode>) {
  LazyColumn {
    items(nodes) { node -> 
      Node(node)
    }
  }
}

@Composable
fun Node(node: CommentNode) {
  LazyColumn {
    item {
      Text(node.content)
    }
    item {
      Nodes(node.children)
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

在顶层,LazyColumn可以工作,但似乎我必须用于Column叶子,否则我会遇到无法解释的崩溃:

03-29 14:36:38.792  1658  6241 W ActivityTaskManager:   Force finishing activity com.jerboa/.MainActivity 
03-29 14:36:38.902  1658  3033 I WindowManager: WIN DEATH: Window{d3b902b u0 com.jerboa/com.jerboa.MainActivity}                      
03-29 14:36:38.902  1658  3033 W InputManager-JNI: Input …
Run Code Online (Sandbox Code Playgroud)

android android-jetpack-compose

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

如何删除 postgres 中的所有无效索引?

使用此查询:

我有数百个无效索引:

SELECT * FROM pg_class, pg_index WHERE pg_index.indisvalid = false AND pg_index.indexrelid = pg_class.oid;

 public  | post_aggregates_pkey_ccnew_ccnew_ccnew1
 public  | post_aggregates_post_id_key_ccnew_ccnew_ccnew1
 public  | idx_post_aggregates_stickied_hot_ccnew_ccnew_ccnew1
 public  | idx_post_aggregates_hot_ccnew_ccnew_ccnew1
...
Run Code Online (Sandbox Code Playgroud)

它们似乎没有被使用,而且我不知道为什么要创建它们(在我看来它们不应该保留),因为原始索引仍然存在。

postgresql indexing reindex

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

如何扩展 websocket 服务器?

我正在创建一个 websocket 聊天应用程序,并且正在考虑使其扩展。

我正在使用的类是: org.eclipse.jetty.websocket.api.Session

现在,我记得一个Set<Session>,但是制作这个秤的最佳方法是什么?由于不同的客户端可能会连接到不同的服务器,因此所有后端服务器是否都需要保留所有连接的集合,因此需要保留每个会话并将其复制到所有后端服务器上,以确保每个客户端收到广播?

如果服务器 A 只知道chatter tim,那么它就无法向其他用户广播消息。

另一方面,持久化会话似乎是错误的,因为共享连接池可能会变得非常大,并且持久化和重新加载它们可能会很复杂。

提前致谢。

java jetty websocket

5
推荐指数
0
解决办法
1321
查看次数

在 actix 线程中执行同步 http 客户端获取

我有一个 actix 端点,我需要执行同步 http 客户端获取来获取一些结果,并返回一些数据。我的端点无法使用async,因此我无法使用任何.await方法。

我尝试在我的端点中使用 reqwests 阻止客户端,如下所示:

{ ...

  let res = reqwest::blocking::get(&fetch_url)?
    .json::<MyResp>()?;
  ...
Run Code Online (Sandbox Code Playgroud)

但它给了我错误:

thread 'main' panicked at 'Cannot start a runtime from within a runtime. This happens because a function (like `block_on`) attempted to block the current thread while the thread is being used to drive asynchronous tasks.', /.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.9/src/runtime/enter.rs:19:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
Run Code Online (Sandbox Code Playgroud)

rust reqwest actix-web

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

构建分布式bittorrent-SQL数据库

我有一个分布式SQL数据库的想法,使用bittorrent协议来提取和写入其数据.

为了论证,我们假设这是一个消息传递应用程序,其中数千个用户运行包含消息传递窗口的程序,以及用于编写消息的输入框.

编写的每条消息都会对自己的sqlite DB进行INSERT.

如何做到这一点

  • 下载一个基本上包含用于创建数据库的模式/ DDL的.torrent文件,并在本地计算机上创建它.
  • 每当"写入"动作完成时(就像用户想要发送消息一样),INSERT行(有点像delta)会做两件事:
    • 写入自己的内部数据库
    • 从该行创建一个.torrent文件,名为messaging- [my-ip] - [UTC_timestamp] .torrent,并将其发布到跟踪器
  • 运行应用程序的每个人都在不断地在跟踪器上扫描这个特定名称的文件(可能在某个特定日期之后),下载.torrent并托管它,并在其本地数据库上运行INSERT命令.

你拥有的是大量的delta文件,所有的P2P托管都是为了冗余,在很多机器上更新本地的.sqlite数据库.

我遇到的一些问题

  • 如何刮取某个文件名的种子?我已经阅读了http bittorrent跟踪器规范,但您似乎只能根据其特定的信息名称查询文件.有没有办法查询一组文件,或基于文件名?

  • 如何从跟踪器下载.torrent文件?我是否需要在中央服务器上托管文件,还是可以使用跟踪器以某种方式下载文件?如果我必须自己托管.torrent文件......

    • 这不会破坏分散式数据库的目的,因为如果我的网站出现故障,应用程序将停止获取更新吗?

我在这里先向您的帮助表示感谢.

sql database sqlite bittorrent bittorrent-sync

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

如何防止可能想要更改/删除DHT数据的恶意DHT客户端?

好吧,让我们说我有一个DHT运行10个客户端,其中包含大量数据.

恶意客户端运行我的程序的备用版本是否相对容易,这可能会对我的数据执行潜在的破坏性操作(例如替换密钥,删除密钥,更改数据,删除整个DHT等等). ..)

我该如何防止这种情况发生?

我只能想到:

  • 校验和验证程序,只允许那些连接.但这会被黑客攻击吗?

  • 使用某种密钥验证每个DHT客户端.

有谁知道如何防止这种情况?提前致谢.

distributed dht distributed-database

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