小编and*_*oot的帖子

打印Redis中的键数

有没有办法在Redis中打印键数?

我知道

keys *
Run Code Online (Sandbox Code Playgroud)

但这似乎有点重. - 鉴于Redis是一个关键的价值商店,也许这是唯一的方法.但我仍然希望看到类似的东西

count keys *
Run Code Online (Sandbox Code Playgroud)

redis

141
推荐指数
9
解决办法
13万
查看次数

如何配置Jinja2模板?

我正在分析的Flask应用程序花费很长时间来渲染其Jinja2模板.

我已经安装了flask lineprofilerpanel这很有意思,但遗憾的是我不会深入到模板渲染中查看所有时间花在哪里.

分析Jinja2模板的最佳方法是什么?

python profiling jinja2 flask

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

Java - 反编译时字符串等于

我前几天反编译了一些Java代码并发现了这个:

String s1 = "something";
String s2 = "something_else";

if (s1 == s2) {
// Path 1
} else {
// Path 2
}
Run Code Online (Sandbox Code Playgroud)

显然使用'=='来测试字符串相等是不好的

但我想知道 - 这段代码已被编译和反编译.如果在编译时已经定义了所有字符串并且已经编译并且代码已经编译 - 是否可能s1.equals(s2)已经优化到's1 == s2'?

java string optimization equality string-interning

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

为什么在将移动值的成员分配给时,编译不会失败?

我正在通过示例中的Rust示例.

#[derive(Debug)]
struct Point {
    x: f64,
    y: f64,
}

#[derive(Debug)]
struct Rectangle {
    p1: Point,
    p2: Point,
}

fn main() {
    let mut point: Point = Point { x: 0.3, y: 0.4 };
    println!("point coordinates: ({}, {})", point.x, point.y);

    let rectangle = Rectangle {
        p1: Point { x: 1.0, y: 1.0 },
        p2: point,
    };

    point.x = 0.5; // Why does the compiler not break here,
    println!(" x is {}", point.x); // but it breaks here?

    println!("rectangle …
Run Code Online (Sandbox Code Playgroud)

rust

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

如何证明未正确发布的值的竞争条件?

我正在阅读"Java Concurrency in practice"并查看第51页的示例代码.

根据该书,如果没有正确发布,这段代码就有可能失败.因为我喜欢编写示例并打破它们来证明它们是如何工作的.我试图让它抛出AssertionError但失败了.(引导我回到上一个问题)

任何人都可以发布示例代码,以便抛出AssertionError吗?规则:不要修改Holder类.

public class Holder{
    private int n;

    public Holder(int n){
        this.n = n;
    }

    public void assertSanity(){
        if (n != n) {
            throw new AssertionError("This statement is false");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我修改了类以使其更脆弱但我仍然无法获得AssertionError.

class Holder2 {
    private int n;
    private int n2;

    public Holder2(int n) throws InterruptedException{
        this.n = n;
        Thread.sleep(200);
        this.n2 = n;
    }

    public void assertSanity(){
        if (n != n2) {
            throw new AssertionError("This statement is false");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

是否有可能使上述任何一个类抛出AssertionError?或者我们是否必须接受他们偶尔会这样做而且我们不能编写代码来证明它?

java concurrency

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

Java - ArrayList构造函数的线程安全性

我正在看这段代码.此构造函数委托给本机方法"System.arraycopy"

它是安全的吗?我的意思是它可以抛出一个ConcurrentModificationException吗?

public Collection<Object> getConnections(Collection<Object> someCollection) {
    return new ArrayList<Object>(someCollection);
}
Run Code Online (Sandbox Code Playgroud)

如果被复制的集合是ThreadSafe,例如CopyOnWriteArrayList,它会有什么不同吗?

public Collection<Object> getConnections(CopyOnWriteArrayList<Object> someCollection) {
    return new ArrayList<Object>(someCollection);
}
Run Code Online (Sandbox Code Playgroud)

编辑:我知道ThreadSafe!= ConcurrentModificationException.我试图在某个时间点拍摄数据快照.因此,如果另一个线程通过副本中途写入someCollection,我不在乎结果是否有新对象.我只是不希望它抛出ConcurrentModificationException或更糟

java collections concurrency

9
推荐指数
3
解决办法
4741
查看次数

哪款iPhone条码阅读器

有许多条形码阅读器可供iPhone开发.我打算编写一个使用条形码阅读器的应用程序.

VSBarcodeReader

商业许可证.支持所有iPhone

Pic2shop

免费许可证.支持所有iPhone

zbar和

免费许可证.支持3GS和4G

斑马线

免费许可证.支持所有iPhone

ShopSavvy

商业和广告支持的许可.

红色激光

商业许可证.支持3,3GS和4G

有没有人尝试过上面的几个读者?一个比另一个更可靠吗?更容易使用?商业产品更稳定吗?你会推荐或避免哪一个?

如果您使用过多种不同的条形码阅读器,请回答.

iphone barcode barcode-scanner

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

cume_dist vs percent_rank 或两者之间的差异

在以下查询中,我返回不同的结果,但无法弄清楚这两个函数是什么。

select firstname,gender,weight,height,
  cume_dist() over (order by height) cd,
  percent_rank() over (order by height) pr
from childstat order by height
Run Code Online (Sandbox Code Playgroud)
FIRSTNAME                                          GENDER     WEIGHT     HEIGHT         CD         PR
-------------------------------------------------- ------ ---------- ---------- ---------- ----------
buddy                                              m             150         15 0.2857142857          0 
Albert                                             m             923         15 0.2857142857          0 
rosemary                                           f             123         35 0.4285714286 0.3333333333 
lauren                                             f             876         54 0.5714285714        0.5 
furkar                                             m             198         76 0.7142857143 0.6666666667 
tommy                                              m             167         78 0.8571428571 0.8333333333 
simon                                              m             256         87          1          1 
Run Code Online (Sandbox Code Playgroud)

sql oracle plsql

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

让pdb与docker一起使用

我想让pdbdocker一起工作

我们刚刚开始在开发中使用docker.我在docker中运行python脚本

我可以附加到一个docker容器:

 docker exec  -ti 6e2355917804  /bin/bash 
Run Code Online (Sandbox Code Playgroud)

我可以拖尾输出

 docker attach 6e2355917804
Run Code Online (Sandbox Code Playgroud)

我读过这个,但我没有使用无花果.

我可以看到代码命中断点但我无法与PDB交互.

Docker版本1.7.1,

pdb docker

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

Bigquery:将数据分区超过2000个限制

从分区表上的BigQuery页面:

每个表最多可包含2,000个分区.

我们计划白天对数据进行分区.我们的大多数查询都是基于日期的,但我们有大约5年的历史数据,并计划从现在起每天收集更多.只有2000个分区:2000/365为我们提供了大约5.5年的数据.

想要超过2000个分区的表的最佳实践是什么?

  • 每年创建一个不同的表并在需要时连接表?
  • 是否可以按周或月分区?
  • 如果你问支持,可以增加2000分区限制吗?

google-bigquery

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

从Objective C调用C

我是客观c&c的新手.我试图在一个客观的c程序中使用这个随机生成器c库.我的理解是,目标c是c的严格超集,所以这应该是可能的.

我的代码编译并运行但我得到了很多警告.

  • 警告:函数'mt_seed32'的隐式声明
  • 警告:函数'mt_lrand'的隐式声明
  • 警告:语义问题:函数'mt_seed32'的隐式声明在C99中无效
  • 警告:语义问题:函数'mt_lrand'的隐式声明在C99中无效
  • 警告:语义问题:使用类型表达式初始化uint32_t *(aka unsigned int *)的指针转换不兼容整数int

我没有将C头文件导入到目标c类 - 它只是找到它.如果我导入它,我会得到重复的方法错误.

C库头文件:

extern void     mt_seed32(uint32_t seed);

extern uint32_t     mt_lrand(void); 
Run Code Online (Sandbox Code Playgroud)

调用它的代码:[我试过用[self method()]调用它但是崩溃了

mt_seed32(3);

uint32_t *i = mt_lrand();
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我如何摆脱这些警告?

c objective-c

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

Python使用列表推导从字典中删除

我想成为一名优秀的pythonista并尽可能使用列表推导...

为什么这不起作用?

[del my_dict[r] for r in to_remove]
Run Code Online (Sandbox Code Playgroud)

我们的目标是删除列表中的条目to_remove从我的字典对象my_dict 本:

for r in to_remove:
  del my_dict[r]
Run Code Online (Sandbox Code Playgroud)

工作正常,但我正在尝试使用列表推导

python

0
推荐指数
3
解决办法
2456
查看次数

Rust似乎在内存中为一个布尔数组分配了相同的空间作为一个8位整数数组

在rust中运行此代码:

fn main() {
    println!("{:?}", std::mem::size_of::<[u8; 1024]>());
    println!("{:?}", std::mem::size_of::<[bool; 1024]>());
}
Run Code Online (Sandbox Code Playgroud)

1024

1024

这不是我的预期.所以我编译并在发布模式下运行.但我得到了同样的答案.

为什么Rust编译器似乎为每个布尔值分配一个完整的字节?对我来说,似乎只是一个简单的优化,只分配128个字节.这个项目意味着我不是第一个想到这个的人.

这是编译器比看起来更难的情况吗?或者这不是优化的,因为它不是一个现实的场景?或者我在这里不明白?

rust

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