问题列表 - 第318069页

java.lang.IllegalArgumentException:参数值 [2023-12-25T17:19:54.622Z] 与预期类型不匹配 [java.time.ZonedDateTime (n/a)]

我迁移了这段代码:

import org.joda.time.DateTime;

@Entity
@Table(name = "purchases")
@Getter
@Setter
public class Purchases {

  @Column(name = "purchase_time")
  @Type(type = "org.jadira.usertype.dateandtime.joda.PersistentDateTime")
  private DateTime purchaseTime;
}
Run Code Online (Sandbox Code Playgroud)

到这段代码:

import java.time.ZonedDateTime;

@Entity
@Table(name = "purchases")
@Getter
@Setter
public class Purchases {

  @Column(name = "purchase_time")
  private ZonedDateTime purchaseTime;
}
Run Code Online (Sandbox Code Playgroud)

现在我收到错误:

2024-01-24 17:20:00.219 ERROR 1 --- [eduler_Worker-1] .a.p.g.i.s.ProcessPendingPurchasesJob : Failed to start/complete pending job.

org.springframework.dao.InvalidDataAccessApiUsageException: Parameter value [2023-12-25T17:19:54.622Z] did not match expected type [java.time.ZonedDateTime (n/a)]; nested exception is java.lang.IllegalArgumentException: Parameter value [2023-12-25T17:19:54.622Z] did not match expected type …
Run Code Online (Sandbox Code Playgroud)

spring quartz-scheduler spring-boot java-time zoneddatetime

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

如何在 ScrollView 中实现居中对齐单元格的自定义 SwiftUI ScrollTargetBehavior?

我目前正在开发一个 SwiftUI 项目,我需要创建一个自定义垂直 ScrollView。要求是当用户停止滚动时,此 ScrollView 中的单元格捕捉到视图的中心。我知道 SwiftUI 的 ScrollView 通过修饰符提供了一定程度的自定义.scrollTargetBehavior(_:),但我发现的文档和示例并没有完全涵盖这种特定情况。

我尝试使用基本的scrollTargetBehavior .viewAligned,但捕捉行为不包括我正在寻找的捕捉效果。我知道 UIKit 通过 UICollectionView 和自定义布局属性提供了对滚动行为更精细的控制,但我的目标是纯粹在 SwiftUI 中实现这一点。

任何帮助将不胜感激。

干杯!

scrollview snapping swift swiftui

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

C 中函数类型的前向声明

我想在 C 中声明一个递归函数类型(声明自身的函数)。

\n

在像 Go 这样的语言中我可以这样做:

\n
type F func() F\n\nfunc foo() F {\n  return foo\n}\n
Run Code Online (Sandbox Code Playgroud)\n

如果我尝试在 C 中做同样的事情:

\n
typedef (*F)(F());\n
Run Code Online (Sandbox Code Playgroud)\n

我从 GCC 收到以下错误:

\n
main.c:1:14: error: unknown type name \xe2\x80\x98F\xe2\x80\x99\n    1 | typedef (*F)(F());\n
Run Code Online (Sandbox Code Playgroud)\n

这是有道理的,因为 F 在使用时并不存在。前向声明可以解决这个问题,如何在 C 中前向声明函数类型?

\n

c recursion types function go

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

(Ljava/lang/Object;I)Landroidx/compose/animation/core/KeyframesSpec$KeyframeEntity 没有虚拟方法

2024.01.00升级到 compose bom后,我在 CircularProgressIndicator 上收到以下错误2023.10.01。我究竟做错了什么?

堆栈跟踪:

java.lang.NoSuchMethodError: No virtual method at(Ljava/lang/Object;I)Landroidx/compose/animation/core/KeyframesSpec$KeyframeEntity; in class Landroidx/compose/animation/core/KeyframesSpec$KeyframesSpecConfig; or its super classes (declaration of 'androidx.compose.animation.core.KeyframesSpec$KeyframesSpecConfig' appears in /data/app/~~UsXlPxBRrCk6Kgqqdu5UvA==/me.jerryokafor.ihenkiri.debug-c4yfK-gLz9ZQ8fKqIz3WEw==/base.apk)
  at androidx.compose.material3.ProgressIndicatorKt$CircularProgressIndicator$endAngle$1.invoke(ProgressIndicator.kt:371)
  at androidx.compose.material3.ProgressIndicatorKt$CircularProgressIndicator$endAngle$1.invoke(ProgressIndicator.kt:369)
  at androidx.compose.animation.core.AnimationSpecKt.keyframes(AnimationSpec.kt:649)
  at androidx.compose.material3.ProgressIndicatorKt.CircularProgressIndicator-LxG7B9w(ProgressIndicator.kt:369)
  at me.jerryokafor.feature.movies.screen.MoviesScreenKt$MoviesScreen$3.invoke(MoviesScreen.kt:275)
  at me.jerryokafor.feature.movies.screen.MoviesScreenKt$MoviesScreen$3.invoke(MoviesScreen.kt:178)
  at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
  at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
  at me.jerryokafor.core.ui.components.BackgroundKt.Background(Background.kt:69)
  at me.jerryokafor.feature.movies.screen.MoviesScreenKt.MoviesScreen(MoviesScreen.kt:178)
  at me.jerryokafor.feature.movies.screen.MoviesScreenKt.MoviesScreen(MoviesScreen.kt:139)
  at me.jerryokafor.feature.movies.navigation.MoviesScreenKt$moviesScreen$1.invoke(MoviesScreen.kt:58)
  at me.jerryokafor.feature.movies.navigation.MoviesScreenKt$moviesScreen$1.invoke(MoviesScreen.kt:57)
  at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:139)
  at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
  at androidx.navigation.compose.NavHostKt$NavHost$14$1.invoke(NavHost.kt:308)
  at androidx.navigation.compose.NavHostKt$NavHost$14$1.invoke(NavHost.kt:306)
  at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
  at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
  at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:248)
  at androidx.compose.runtime.saveable.SaveableStateHolderImpl.SaveableStateProvider(SaveableStateHolder.kt:84)
  at androidx.navigation.compose.NavBackStackEntryProviderKt.SaveableStateProvider(NavBackStackEntryProvider.kt:65)
  at androidx.navigation.compose.NavBackStackEntryProviderKt.access$SaveableStateProvider(NavBackStackEntryProvider.kt:1)
  at androidx.navigation.compose.NavBackStackEntryProviderKt$LocalOwnersProvider$1.invoke(NavBackStackEntryProvider.kt:52)
  at androidx.navigation.compose.NavBackStackEntryProviderKt$LocalOwnersProvider$1.invoke(NavBackStackEntryProvider.kt:51)
  at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
  at …
Run Code Online (Sandbox Code Playgroud)

android android-jetpack-compose

20
推荐指数
1
解决办法
1574
查看次数

为什么 reqwest 将二进制文件下载为文本?

我正在尝试抓取一个自动下载 mp3 文件的页面https://dl251.filemate24.shop/?file=M3R4SUNiN3JsOHJ6WWRQNXNPUFN2cFdxRVJIOGhmSXBsY1l1d2hrdFN1QnRxNGc5M3UraGFPWkpLSzRNeEl1dVd1aGQ4VHZYVG9uZE93MlpwZFlyVWlESDhkOHh2QURmOHBvb0JJd2pjQS8zanZLMmxEUXoyeUg0Ym91SVI1NE9LQ1Zka1ZJNzN5eWh5L0wrbHpqSDZpdW1wVjJRSWlrYTRYME1PUHFOeEt3TzBISGJadVhoeDVrSXFIdk90Y29maTZYTDVWYWdoYUE3dnVOMlZrRjNlTTBNbjRuamd2VE8vQT09,但使用 get 请求并将输出放入 .txt 文件中会生成一个 28,000 行长的随机 unicode 字符文件。有什么方法可以获取实际的 mp3 文件吗?是的,我正在尝试下载一首随机的 Rammstein 歌曲作为对更大项目的测试。

我使用检查元素进行了检查,该站点所做的所有操作确实是一个以某种方式生成文件的获取请求。我很确定随机 unicode 与 LAME mp3 加密有关,但我不确定如何。有没有办法从 get 请求中获取 mp3 文件?生成所述文件的 Rust 代码:

#[tokio::main]
async fn get(url: &str,client: &reqwest::Client) -> String {
    let response = client
    .get(url).send()
    .await
    .unwrap()
    .text()
    .await
    .expect("GET failed");

    response

}
fn main() {
    let client = reqwest::Client::new();
    let url = "https://dl251.filemate24.shop/?file=M3R4SUNiN3JsOHJ6WWRQNXNPUFN2cFdxRVJIOGhmSXBsY1l1d2hrdFN1QnRxNGc5M3UraGFPWkpLSzRNeEl1dVd1aGQ4VHZYVG9uZE93MlpwZFlyVWlESDhkOHh2QURmOHBvb0JJd2pjQS8zanZLMmxEUXoyeUg0Ym91SVI1NE9LQ1Zka1ZJNzN5eWh5L0wrbHpqSDZpdW1wVjJRSWlrYTRYME1PUHFOeEt3TzBISGJadVhoeDVrSXFIdk90Y29maTZYTDVWYWdoYUE3dnVOMlZrRjNlTTBNbjRuamd2VE8vQT09";
    println!("{}",url);
    let mp3 = get(url,&client);
    let mut file = std::fs::File::create("a.txt");
    std::fs::write("a.txt",mp3);
}
Run Code Online (Sandbox Code Playgroud)

抱歉,如果这是一个愚蠢的问题;总的来说,我对 Rust 和编码还很陌生。

mp3 web-scraping rust

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

使用 AVSampleBufferAudioRenderer 播放流式 PCM 音频数据包(从 Opus 解码)

编辑:根据建议更新了代码,修复了 ASBD 并再次尝试使 PTS 正确。它仍然不播放任何音频,但至少不再有错误。


我正在开发一个 iOS 项目,在该项目中我接收 Opus 音频数据包并尝试使用 AVSampleBufferAudioRenderer 播放它们。现在我使用的是 Opus 自己的解码器,所以最终我只需要获取解码后的 PCM 数据包即可播放。从上到下的整个过程并没有很好的记录,但我想我已经很接近了。这是迄今为止我正在使用的代码(已进行编辑,并为简单起见使用了一些硬编码值)。

static AVSampleBufferAudioRenderer* audioRenderer;
static AVSampleBufferRenderSynchronizer* renderSynchronizer;

int samplesPerFrame = 240;
int channelCount    = 2;
int sampleRate      = 48000;
int streams         = 1;
int coupledStreams  = 1;
char mapping[8] = ['\0','\x01','\0','\0','\0','\0','\0','\0'];

CMTime startPTS;

// called when the stream is about to start
void AudioInit()
{
    renderSynchronizer = [[AVSampleBufferRenderSynchronizer alloc] init];
    audioRenderer = [[AVSampleBufferAudioRenderer alloc] init];
    [renderSynchronizer addRenderer:audioRenderer];
    
    int decodedPacketSize = samplesPerFrame * sizeof(short) * …
Run Code Online (Sandbox Code Playgroud)

objective-c core-audio avfoundation audiotoolbox ios

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

“永远不会读取值”警告似乎不正确。我应该忽略它吗?

我用 Rust 编程才几个月。话虽这么说,我遇到了一条警告,内容如下:

warning: value assigned to `amount` is never read
   --> src\execute_action_functions.rs:428:21
    |
428 |             let mut amount: Option<f64> = None;
    |                     ^^^^^^
    |
    = help: maybe it is overwritten before being read?
Run Code Online (Sandbox Code Playgroud)

为了清楚起见并避免意外错过关键细节,整个函数如下:

pub async fn handle_all_gemini(prefix: &str, message: &str, shared_neural_network: Arc<Mutex<NeuralNetwork>>, divisor: &f64) {


    if prefix.contains("Gemini received") {
        if message.contains("heartbeat") {
            return;
        }
        else {
            let data: Result<Value, serde_json::Error> = serde_json::from_str(message);

            let mut amount: Option<f64> = None;
            let mut price: Option<f64> = None;

            match data {
                Ok(value) …
Run Code Online (Sandbox Code Playgroud)

rust

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

为什么将函数声明为内联但没有定义会导致链接器错误?

我知道声明为的函数inline必须在其自己的翻译单元中有定义(正如标准所说:内联函数应在使用它的每个翻译单元中定义)。

以前,我对这个要求的理解是,编译器会尝试内联用inline关键字声明的函数,因此虽然内联不是强制性的,但定义首先应该对编译器可见。

根据这种理解,我认为不提供定义应该会导致编译器错误。事实上,我从来没有编写过inline没有定义的函数。但后来我在我的玩具程序中故意尝试了这个错误,它导致了链接器错误。

所以,我只是好奇为什么 C++ 不将这个问题保留为编译时错误并让编译器捕获该错误?而且,根据我的理解,inline函数默认具有外部链接,因此链接器到底如何在幕后捕获此错误?


一个例子:

// main.cpp:

inline void InlineFun();

int main()
{
    InlineFun();
}

// other.cpp:

#include<iostream>
#include<string>

inline void InlineFun()
{
    std::cout << "From other TU" << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

我在 Windows 10 上使用 Visual Studio 2022 和 C++20。我遇到的错误是LNK2001 和LNK1120。评论中提供的示例也非常好。


后续示例:

// main.cpp:

inline void InlineFun();

int main()
{
    InlineFun();  // From other TU
}

// other.cpp:

#include<iostream>
#include<string>

inline void InlineFun()
{
    std::cout << "From …
Run Code Online (Sandbox Code Playgroud)

c++ inline function

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

通道未在第一个 API 请求上发送数据

我有一个SSE端点将数据发送到前端,并且该数据是从另一个API端点检索的。channels我对in还很陌生go,似乎我必须触发 API 端点两次,以便 SSE 端点将数据发送到前端一次。就目前而言,我还没有编写前端代码来建立 SSE 连接,因为我仍在使用通道。有人可以解释为什么这需要调用 API 两次才能让 SSE 发送数据吗?

上交所路线

func SendSSE(appCtx *fiber.Ctx, dataChannel chan string) error {
    appCtx.Set("Content-Type", "text/event-stream")
    appCtx.Set("Cache-Control", "no-cache")
    appCtx.Set("Connection", "keep-alive")
    appCtx.Set("Transfer-Encoding", "chunked")

    appCtx.Context().SetBodyStreamWriter(fasthttp.StreamWriter(func(w *bufio.Writer) {
        log.Println("SSE Opened")
        for {
            log.Println("Retrieving data channel..")
            fmt.Fprintf(w, "data: Message: %s\n\n", <-dataChannel)
            log.Println(<-dataChannel)

            err := w.Flush()
            if err != nil {
                // Refreshing page in web browser will establish a new
                // SSE connection, but only (the last) one is alive, …
Run Code Online (Sandbox Code Playgroud)

channel go go-fiber

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

如何在模板工具包中连接两个变量值

我正在模板工具包中进行 concat,但目前我遇到了问题。在我的程序中,我定义了一个具有 switch case 的宏,并且我有从多个变量中获取的 case 值。请找到示例代码

[%- MACRO get_seq(seq) BLOCK %]
[% SWITCH seq -%]
[% CASE '000' -%]
apply seq_0
[% CASE '001' -%]
apply seq_1
[% CASE '010' -%]
apply seq_2
[% CASE '011' -%]
apply seq_3
[% CASE '100' -%]
apply seq_4
[% CASE '101' -%]
apply seq_5
[% CASE '110' -%]
apply seq_6
[% CASE '111' -%]
apply seq_7
[% CASE  -%]
apply seq_z
[% END %]
[% END %]

[% set data1 = '11110000' …
Run Code Online (Sandbox Code Playgroud)

perl template-toolkit

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