小编Mut*_*Bob的帖子

Java计算String的SHA-1摘要的十六进制表示

我将用户密码存储在db上作为sha1哈希.

不幸的是,我得到了奇怪的答案.

我将字符串存储为:

MessageDigest cript = MessageDigest.getInstance("SHA-1");
              cript.reset();
              cript.update(userPass.getBytes("utf8"));
              this.password = new String(cript.digest());
Run Code Online (Sandbox Code Playgroud)

我想要这样的东西 - >

aff - >"0c05aa56405c447e6678b7f3127febde5c3a9238"

而不是

aff - > V@ \D~fx : 8

java hash sha1

58
推荐指数
5
解决办法
9万
查看次数

MP4/ISO 14496-12:您如何找到视频和音频访问单元?

我正在编写一个检查MP4文件的工具(又名ISO基础媒体文件格式,ISO 14496第12部分).

我可以解释ISO 14496-12中列出的大多数由OSS生成的框.我还没有弄清楚如何提取单个视频访问单元和音频访问单元.

我有理由相信'mdat'框中的H.264视频在NAL单元上没有ISO 14496-10附录B"0x000001"前缀.

我已经尝试解释SampleToChunkBox('stsc'),SampleSizeBox('stsz')和ChunkOffsetBox('stco')来定位'mdat'中的媒体样本,但我似乎无法找到任何我能解释的内容作为nal_unit()(ISO 14496-10第7.3.1节)或slice_header()(第7.3.3节).

我也很好奇SPS(7.3.2.1)和PPS(7.3.2.2)的存在.我怀疑这些人住在'trak'盒子里面的某个地方,但我还没弄明白哪里.

应用程序或库的指针实用性有限.我正在编写一个应用程序,与数学解释相比,外部源代码更难理解(受其自身框架的阻碍).

mp4 h.264

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

如何获得我的pygame窗口的大小(宽x高)

我用了创建了一个窗口

pygame.display.set_mode((width, height), 
                        pygame.OPENGL | pygame.DOUBLEBUF | pygame.RESIZABLE)
Run Code Online (Sandbox Code Playgroud)

稍后在应用程序中,我希望能够向窗口询问其宽度和高度,以便我可以决定如何处理鼠标位置.

如何在程序的其他位置访问该pygame窗口的维度?(事件处理循环)

python pygame

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

我如何解决“上游板条箱可能会添加新的特征实现”错误?

我创建了一个特性,用于从某些值转换为我需要的类型。对于许多类型,该转换已经包含在From/Into中,但不是我想要的所有类型。我以为我可以利用这一点,但很快就得到了一个错误“上游板条箱可能会添加一个新的特征实现”。

操场上的精简示例)

pub trait Cookable {
    fn cook(self) -> (String, Vec<i8>);
}

impl<T: Into<Vec<i8>>> Cookable for T {
    fn cook(self) -> (String, Vec<i8>) {
        (String::from("simple"), self.into())
    }
}

impl Cookable for &str {
    fn cook(self) -> (String, Vec<i8>) {
        (String::from("smelly"), vec![self.len()])
    }
}
Run Code Online (Sandbox Code Playgroud)

这会触发以下错误:

pub trait Cookable {
    fn cook(self) -> (String, Vec<i8>);
}

impl<T: Into<Vec<i8>>> Cookable for T {
    fn cook(self) -> (String, Vec<i8>) {
        (String::from("simple"), self.into())
    }
}

impl Cookable for &str …
Run Code Online (Sandbox Code Playgroud)

traits rust

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

已弃用的 SVGPoint javascript API 的替代品是什么?

我需要从 javascript 单击事件转换为 SVG 元素的坐标空间。我目前正在使用/sf/answers/3384808311/等技术,但是https://developer.mozilla.org/en-US/docs/Web/API/SVGPoint表示 SVGpoint “不再推荐” ”和“可能随时停止工作”。

不幸的是,它没有提到应该用什么API来代替它。

我应该如何重写代码示例

function screenToSVG(screenX, screenY) {
   var p = svg.createSVGPoint()
    p.x = screenX
    p.y = screenY
    return p.matrixTransform(svg.getScreenCTM().inverse());
}
Run Code Online (Sandbox Code Playgroud)

避免使用已弃用的 API?

javascript svg

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

使用 python,如何预测 SVG 中文本的像素宽度?

我正在使用 python 生成一个 SVG,其中的文本可能会有所不同,并且我想在其后面放置一个半透明矩形,以保证稍后将其覆盖在另一个图形元素上时的对比度。

不幸的是,我不知道如何预测 SVG 中特定文本字符串的像素范围。我可以选择我使用的字体(但我认为等宽字体是不可接受的)以及我使用的字体大小。

我将如何使用 python 来预测 SVG 文本的范围,以便生成适当大小的矩形?

python svg

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

在 Gentoo 上的 IntelliJ IDEA 中,由于 gentoo 不使用 rustup,我该如何附加 rust stdlib 源代码?

我正在使用 IntelliJ 的 rust 插件(版本 0.2.0.2114-182)和 IDEA(2018.2.3)。

我的编辑器窗口顶部有一个黄色栏,上面写着“不能在没有 rustup 的情况下自动附加 stdlib 源”。这并不奇怪,因为 gentoo 不使用 rustup。它从源代码编译 Rust。

有一个选项可以“手动附加”,但我不知道它要我选择哪个目录;甚至我应该寻找什么来找出正确的目录是什么;而且我什至不确定 gentoo ebuild 创建了一个包含必要 stdlib 源的目录。

如何以与 gentoo 的包管理系统兼容的方式向 rust 插件提供 stdlib 源代码?这似乎是如何为 IntelliJ IDEA 的 Rust 项目提供标准库源的答案绕过 gentoo 的 ebuild,可能会导致 cruft 随着时间的推移而积累。

gentoo rust

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

如何返回反向迭代器?

我正在编写一些代码,我想在其中使用迭代器,或者它的反向版本取决于标志,但简单的代码给出了错误

pub fn eggs<I,T>(iter:I)->Box<dyn Iterator<Item=T>>
where I:Iterator<Item=T>+DoubleEndedIterator
{
    Box::new(iter.rev())
}

pub fn bacon<I,T>(iter:I, reverse:bool) -> Box<dyn Iterator<Item=T>>
    where I:Iterator<Item=T>+DoubleEndedIterator
{
    if reverse {
        Box::new(iter.rev())
    } else {
        Box::new(iter)
    }

}

fn main()
{
    let pants:String = "pants".into();
    eggs(pants.chars());
}
Run Code Online (Sandbox Code Playgroud)

无法编译:

error[E0310]: the parameter type `I` may not live long enough
 --> src/main.rs:5:5
  |
2 | pub fn eggs<I,T>(iter:I)->Box<dyn Iterator<Item=T>>
  |             - help: consider adding an explicit lifetime bound...: `I: 'static`
...
5 |     Box::new(iter.rev())
  |     ^^^^^^^^^^^^^^^^^^^^ ...so that the type …
Run Code Online (Sandbox Code Playgroud)

rust

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

当我尝试恢复时,gdb 给了我无限的“程序接收信号 SIGTSTP”

我在 gdb 中运行 vlc 并使用 ^Z 中断它(因​​为 ^C 不起作用)。在检查了一些堆栈帧和变量后,我尝试使用“cont”来恢复程序,但它一直给我

Program received signal SIGTSTP, Stopped (user). 
[Switching to Thread 0x7fffd8d8e700 (LWP 19285)] 
0x00007ffff700247c in pthread_cond_wait@@GLIBC_2.3.2 ()
    from /lib64/libpthread.so.0
Run Code Online (Sandbox Code Playgroud)

实际上,只有第一行是相同的。LWP id 在 19285 和 19284 之间循环,地址和功能也交替。

我试过“cont -a”,但它说“-a”在全停模式下毫无意义。

恢复两个线程的正确程序是什么?

gdb pthreads

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

在 AVR (no_std) Rust 中共享对资源的锁定引用的正确方法是什么?

我有两个需要使用 SPI 总线的设备驱动程序。

幸运的是,想要“拥有”它的人使用一种特征,并且我可以插入我自己的实现。

如果这是常规的 RustArc<Mutex<SPI>>就足够了,但我遇到了挑战。


extern crate alloc;

use alloc::sync::Arc;
use avr_hal_generic::avr_device::interrupt::{CriticalSection, Mutex};

...

let spi = Arc::new(Mutex::new(spi));
let device_interface = SpiWorkaround::new(spi.clone(), cs, dc);
Run Code Online (Sandbox Code Playgroud)

当我尝试在基于https://github.com/Rahix/avr-hal-template的项目中编译它时,我得到

error[E0463]: can't find crate for `alloc`
 --> src/main.rs:5:1
  |
5 | extern crate alloc;
  | ^^^^^^^^^^^^^^^^^^^ can't find crate
Run Code Online (Sandbox Code Playgroud)

如果我添加alloc="*"Cargo.toml我得到

error: no matching package named `alloc` found
location searched: registry `crates-io`
Run Code Online (Sandbox Code Playgroud)

我能够使用这些来克服这些cargo build --release -Z build-std=core,alloc(有没有办法将其放入Cargo.toml?)并收到此错误:

error[E0432]: unresolved import `alloc::sync`
 --> src/main.rs:7:12 …
Run Code Online (Sandbox Code Playgroud)

rust

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

标签 统计

rust ×4

python ×2

svg ×2

gdb ×1

gentoo ×1

h.264 ×1

hash ×1

java ×1

javascript ×1

mp4 ×1

pthreads ×1

pygame ×1

sha1 ×1

traits ×1