小编dan*_*nze的帖子

IProgress <T>同步

我在C#中有以下内容

public static void Main()
{
    var result = Foo(new Progress<int>(i =>
        Console.WriteLine("Progress: " + i)));

    Console.WriteLine("Result: " + result);            
    Console.ReadLine();
}

static int Foo(IProgress<int> progress)
{
    for (int i = 0; i < 10; i++)
        progress.Report(i);

    return 1001;
}
Run Code Online (Sandbox Code Playgroud)

Main的一些输出是:

第一次运行:

Result: 1001
Progress: 4
Progress: 6
Progress: 7
Progress: 8
Progress: 9
Progress: 3
Progress: 0
Progress: 1
Progress: 5
Progress: 2
Run Code Online (Sandbox Code Playgroud)

第二轮:

Progress: 4
Progress: 5
Progress: 6
Progress: 7
Progress: 8
Progress: 9
Progress: 0
Progress: …
Run Code Online (Sandbox Code Playgroud)

.net c#

12
推荐指数
3
解决办法
3420
查看次数

使用 OAuth2 SSO 在 spring-boot 应用程序中禁用 CSRF

我有一个 spring-boot 服务,它使用 OpenID Connect/OAuth2 通过 Okta Platform API 对用户进行身份验证。当用户尝试访问我的服务时,他们被重定向到 Okta 登录页面并进行身份验证,然后 Okta 将他们重定向回我的服务。

这是我的 pom.xml 的相关部分

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-oauth2</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-security</artifactId>
    </dependency>
</dependencies>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
Run Code Online (Sandbox Code Playgroud)

这是我的控制器代码:

@RestController
@EnableOAuth2Sso
@SpringBootApplication
public class Application {

    @RequestMapping(path = "/", method = RequestMethod.GET)
    public String home(Authentication auth) {
        return "Home: " + auth.getName();
    }

    @RequestMapping(path = "/app", method = RequestMethod.POST)
    public String app(Authentication auth) {
        return "App: " + auth.getName();
    } …
Run Code Online (Sandbox Code Playgroud)

java csrf oauth-2.0 spring-boot okta-api

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

从C中的文本文件中读取CSV

我正在尝试从C中的文本文件中读取CSV.文本文件格式为

1,Bob,bob@gmail.com
2,Daniel,daniel@gmail.com
3,John,john@gmail.com
Run Code Online (Sandbox Code Playgroud)

当我运行程序时,数字显示正常,但名称和电子邮件显示为垃圾.这是我的计划......

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct {
    int number;
    char* name;
    char* email;
} Owner;

Owner owners[100];

int load(char* filename)
{
    char buffer[200];
    char token[50];
    Owner* owner;
    int owners_size = 0;
    FILE* file = fopen(filename, "r");

    while(fgets(buffer, 200, file) != NULL)
    {
        owner = (Owner*)malloc(sizeof(Owner));
        owner->number = atoi(strtok(buffer, ","));
        owner->name = strtok(NULL, ",");
        owner->email = strtok(NULL, ",");
        owners[owners_size++] = *owner;
    }

    fclose(file);
    return owners_size;
}

int main()
{
    int choise, owners_size, index;
    char* …
Run Code Online (Sandbox Code Playgroud)

c

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

满足接口的Go结构方法的类型

给出以下Go代码示例:

package main

import "fmt"

type greeter interface {
    hello()
    goodbye()
}

type tourGuide struct {
    name string
}

func (t tourGuide) hello() {
    fmt.Println("Hello", t.name)
}

func (t *tourGuide) goodbye() {
    fmt.Println("Goodbye", t.name)
}

func main() {
    var t1 tourGuide = tourGuide{"James"}
    t1.hello()   // Hello James
    t1.goodbye() // Goodbye James (same as (&t1).goodbye())

    var t2 *tourGuide = &tourGuide{"Smith"}
    t2.hello()   // Hello Smith
    t2.goodbye() // Goodbye Smith (same as (*t2).hello())

    // illegal: t1 is not assignable to g1 (why?)
    // …
Run Code Online (Sandbox Code Playgroud)

methods struct pointers interface go

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

将nullables列表转换为对象列表

为什么第二次转换失败了

InvalidCastException: Unable to cast object of type 'System.Collections.Generic.List`1[System.Nullable`1[System.Boolean]]' to type 'System.Collections.Generic.IEnumerable`1[System.Object]'.
object list1 = new List<string>() { "a", "b" };
object list2 = new List<bool?>() { true, false };

IEnumerable<object> bind1 = (IEnumerable<object>)list1;
IEnumerable<object> bind2 = (IEnumerable<object>)list2;
Run Code Online (Sandbox Code Playgroud)

任何想法,将不胜感激.

c#

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

仅在填充时验证 Go 结构字段

我正在使用这个库来验证我的 Go 结构。 https://pkg.go.dev/github.com/go-playground/validator/v10

如何仅在填充字段时验证字段?例如,我的结构之一中有一个可选的电话号码字段。如果用户提供了这个值,我想使用 E.164 格式验证它。

Phone string  `validate:"e164"`
Run Code Online (Sandbox Code Playgroud)

我搜索了“可选”标签,但找不到。

go

0
推荐指数
2
解决办法
92
查看次数

标签 统计

c# ×2

go ×2

.net ×1

c ×1

csrf ×1

interface ×1

java ×1

methods ×1

oauth-2.0 ×1

okta-api ×1

pointers ×1

spring-boot ×1

struct ×1