我只是偶然发现了用于 alpine 的 tzdata2020c 包的一个错误。在 2020 年 10 月 25 日下星期日的夏令时计划更改后,它不会计算欧洲/柏林的正确时间。 tzdata2020c 版本使用 CEST,例如 2020 年 10 月 31 日和欧洲/柏林时区,而 CET 是正确的。
有谁知道如何手动添加新版本的 tzdata2020d 数据库,该数据库可在此处获得。
我用 Go 编写的应用程序在 2020 年 10 月 31 日使用 tzdata2020c 错误地将 CEST 用于欧洲/柏林:

同一应用程序在 2020 年 10 月 31 日使用 tzdata2020a 正确使用了欧洲/柏林的 CET:

我有以下代码:
package main
import (
"fmt"
"time"
)
func main() {
loc := "Jan 06"
date := "2020-12-31 16:00:00 +0000 UTC"
layout := "2006-01-02 15:04:05 -0700 MST"
t, err := time.Parse(layout, date)
if err != nil {
fmt.Print("Error")
}
fmt.Println(t)
GetFormattedDate(t, loc)
}
func GetFormattedDate(date time.Time, layout string) (string, error) {
fmt.Println("\n\n====================================================")
fmt.Println("time.Now(): ", time.Now())
fmt.Println("time.Now().Location(): ", time.Now().Location())
fmt.Println("Converting: ", date)
configLocale := "Singapore"
fmt.Println("configLocale: ", configLocale)
loc, err := time.LoadLocation(configLocale)
fmt.Println("loc: ", loc)
if err != nil {
return …Run Code Online (Sandbox Code Playgroud) 我正在 Go / Gin 中构建一个简单的网络服务器,我想使用 cookie 来创建一个持久会话,以便在用户离开或跨多个页面导航时保持用户登录状态。
理想情况下,流程如下:
稍后的代码将验证 cookie 令牌值是否已过期和/或对应于数据库中的活动用户。
我尝试过的最新迭代是:
router := gin.Default();
token_value := func(c *gin.Context) string {
var value string
if cookie, err := c.Request.Cookie("session"); err == nil {
value = cookie.Value
} else {
value = RandToken(64)
}
return value
}
cookie_store := cookie.NewStore([]byte(token_value))
router.Use(sessions.Sessions("session",cookie_store))
Run Code Online (Sandbox Code Playgroud)
但这会失败,因为 token_value 是 func(c *gin.Context) 字符串类型,而不是字符串。
我知道我在这里缺少一些东西,并且我希望获得一些有关如何解决此问题的指导。
谢谢!
我在尝试运行 Docker 容器时遇到问题。我从 Dockerfile 构建图像:
docker build -t server -f ./backend/Dockerfile .
Run Code Online (Sandbox Code Playgroud)
运行:
docker run -it -p 8081:8081 server
Run Code Online (Sandbox Code Playgroud)
出现错误:
exec /app/backend/server: no such file or directory
Run Code Online (Sandbox Code Playgroud)
当我从 Docker Desktop 进行检查时,我会在容器内看到该文件存在,并且已按其应有的位置创建到该位置。
我还尝试从 golang:1.21-alpine更改第二阶段,但仍然遇到相同的错误。
通过FROM gcr.io/distroless/base-debian11我得到:
/app/backend/server: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /app/backend/server)
/app/backend/server: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /app/backend/server)
/app/backend/server: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /app/backend/server)
Run Code Online (Sandbox Code Playgroud)
我看了这里,这里并尝试了很多东西。我对 Docker 比较陌生,不知道如何解决这个问题。有人可以帮助我了解可能导致此错误的原因以及如何解决它吗?提前致谢!
我的 Dockerfile 如下:
# Stage 1: Building the …Run Code Online (Sandbox Code Playgroud) 如何使用 Flutter 在 Visual Studio Code 中启用引导线?
