小编xpt*_*xpt的帖子

Go中不区分大小写的字符串替换

NewReplacer.Replace可以执行不区分大小写的字符串替换吗?

r := strings.NewReplacer("html", "xml")
fmt.Println(r.Replace("This is <b>HTML</b>!"))
Run Code Online (Sandbox Code Playgroud)

如果没有,在Go中进行不区分大小写的字符串替换的最佳方法是什么?

string replace go

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

为什么systemd无法启动golang web app,没有答案

当我使用systemd时,我的golang web应用程序无法启动,但在手动启动时它可以正常工作.我的systemd配置有什么问题?

goweb.service

$ cat goweb.service 
[Unit]
Description=Backend service
After=network.target

[Service]
User=myapp
Group=myapp
Restart=on-failure
ExecStart=/u01/backend

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

backend 是使用命令编译的二进制文件: env GOOS=linux GOARCH=amd64 go build -v bitbucket.org/myapp/backend

systemd服务状态

$ sudo service goweb status
Redirecting to /bin/systemctl status  goweb.service
? goweb.service - Backend service
   Loaded: loaded (/usr/lib/systemd/system/goweb.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

May 18 10:55:56 instance-1 systemd[1]: Started Backend service.
May 18 10:55:56 instance-1 systemd[1]: Starting Backend service...
Run Code Online (Sandbox Code Playgroud)

P/S:看起来我的网络应用程序已启动,但随后立即停止.

我尝试配置Type=forking,然后服务状态显示如下.有人可以解释为什么日志Started Backend service.Starting Backend service... …

deployment go supervisord systemd

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

非贪婪的正则表达匹配不同的行为

我发现非贪婪的正则表达式匹配在锚定到前面而不是结束时变得非贪婪:

$ echo abcabcabc | perl -ne 'print $1 if /^(a.*c)/'
abcabcabc
# OK, greedy match

$ echo abcabcabc | perl -ne 'print $1 if /^(a.*?c)/'
abc
# YES! non-greedy match
Run Code Online (Sandbox Code Playgroud)

现在看看这个,当锚定到最后:

$ echo abcabcabc | perl -ne 'print $1 if /(a.*c)$/'
abcabcabc
# OK, greedy match

$ echo abcabcabc | perl -ne 'print $1 if /(a.*?c)$/'
abcabcabc
# what, non-greedy become greedy?
Run Code Online (Sandbox Code Playgroud)

这是为什么?怎么不打印abc像以前一样?

(问题出现在我的Go代码中,但为了简单起见,在Perl中进行了说明).

regex perl go

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

如何遍历目录,根据文件时间排序

Go 提供了一个开箱即用的目录迭代功能,filepath.Walkpath/filepath包中。

但是,filepath.Walk 按词法顺序遍历文件树。如何按照最后修改日期的顺序遍历文件树?谢谢

PS(接受答案后)我认为Gofilepath.Walk函数应该为人们提供一种自己提供排序的方式,如下面的答案,其中接受type ByModTime就是人们自己对文件进行排序所需要的。

directory iteration directory-structure go

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

SQLite 时差计算 HH:MM:SS 格式

如何在 SQLite 中计算 HH:MM:SS 格式的时差?

SELECT time(strftime('%s','2017-11-01 22:25:28') - strftime('%s','2017-11-01')); 给我:

12:00:00

SELECT datetime(strftime('%s','2017-11-01 22:25:28') - strftime('%s','2017-11-01')); 给我:

-4492-12-04 12:00:00

sqlite time datetime difference

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

如何删除电报组

如何删除我刚刚创建的电报组?

注意,它是关于删除电报组的,不是

等。

telegram

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

如何仅在使用 ffmpeg 添加相同速度的分离音频流时更改视频速度?

我正在使用 ffmpeg 作为视频过滤器。

但是,当我改变视频速度时,我遇到了问题

我想将音频的长度设置为与视频的长度相同。

  • 最短=将音频流扩展到与视频流相同的长度

就我而言,shortest不起作用。视频文件和音频文件,都是不同的,然后合并成一个视频文件。视频的最后一帧停止,音频继续工作。

ffmpeg frame-rate video-streaming

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

快速路由参数与 HTTP 查询参数

我一直想知道下面的是什么符号,

GET /user/:name/books/:title

以及如何解释它,直到最近,当我了解到它们是 Express 路线的形式,并且带有的":"是 Express 路线参数时。

所以这是我找不到答案的问题,比如说,

问题是,如果大多数甚至所有参数都是可选的怎么办?Express路线如何处理?

问题是,对于 HTTP 查询参数,例如

https://example.org/?page=2&limit=3&sort=price

查询参数的顺序可以是任意的,而对于 Express 路线,在我看来,路线参数必须以非常严格的方式/顺序指定。那么如果所有路由参数都是可选的,而我只需要指定最后一个呢?(无论你如何排列路由参数顺序,总会有最后一个)

我确实了解到 Express 可以处理querystring.parse(parsedUrl.query),但我问这个问题的原因确实是因为这个 - https://github.com/go Fiber /docs/blob/master/original/routing.md#parameters

即,go Fiber 遵循/使用 Express 路由约定来处理路由参数,并且我需要所有路由参数都是可选的。

该怎么处理呢?

parameters routes optional-parameters express

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

git 致命错误:不支持的 SSL 后端“schannel”

尝试git-bash使用 canonical访问准备好的 git repo git,我得到:

$ git pull
fatal: Unsupported SSL backend 'schannel'. Supported SSL backends:
        gnutls
Run Code Online (Sandbox Code Playgroud)

WSL 下使用 Git Bash之后,我完成了git config http.sslBackend openssl

$ git config http.sslBackend 
openssl

$ git config --global http.sslBackend
openssl
Run Code Online (Sandbox Code Playgroud)

按照reddit 的提示,我已经完成了:

sudo apt install -y gnutls-bin

# and here are my installed packages:
ii gnutls-bin  amd64 GNU TLS library - commandline utilities
ii libcurl3-gnutls:amd64  amd64 easy-to-use client-side URL transfer library (GnuTLS flavour)
ii libgnutls-dane0:amd64  amd64 …
Run Code Online (Sandbox Code Playgroud)

git configuration windows-subsystem-for-linux

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

TSQL将HHMMSS的VARCHAR转换为TIME

我有一个VARCHAR字段,具有下面列出的示例值,我想将其转换为HH:MM:SS。有什么建议吗?

151200
085800
080100
210100
083300
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server datetime sql-convert

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