V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  afxcn  ›  全部回复第 1 页 / 共 7 页
回复总数  123
1  2  3  4  5  6  7  
8 小时 53 分钟前
回复了 afxcn 创建的主题 Go 编程语言 请教, sync.Pool 怎么正确缓存一个列表?
@cannotagreemore 您指的是这个:type ApplicationCollection []Application ?

还是这个:

_applicationsPool = sync.Pool{
New: func() any {
applications := &ApplicationCollection{}
return applications
}}
20 小时 35 分钟前
回复了 afxcn 创建的主题 Go 编程语言 请教, sync.Pool 怎么正确缓存一个列表?
@Orlion 用的是这个库: https://github.com/gostartkit/web/blob/master/application.go

主要代码是这个 #218 - #221 行

```go
if rel, ok := val.(IRelease); ok {
rel.Release()
val = nil
}
```
21 小时 37 分钟前
回复了 crc8 创建的主题 程序员 DV 证书能给 APP 签名吗?
@crc8 #10 @tool2dx 说的应该是对的,属性不同。

如果你是自签证书的话,意义不大。

我们最近也做了个工具,准备推出的时候也遇到了签名的问题,打算改成用 nodejs 调用 webassembly 的方式,也不知道是不是可以,不行的话就直接开源算了。
22 小时 18 分钟前
回复了 jasonxu114514 创建的主题 宽带症候群 求推薦廣州市區的寬帶
广州的移动宽带还不错的说,特别是访问香港和美西,速度相当好。
22 小时 21 分钟前
回复了 crc8 创建的主题 程序员 DV 证书能给 APP 签名吗?
不一样的,代码签名证书一般也只有 EV 和 OV 的,如果不差钱,最好还得弄个 EV 的代码签名证书。
@nagisaushio 也就是说对象不能自己 Release 自己,因为自己还指向自己?

如果是这样的话,我的整个写法都是错误的了。得好好验证。
@dyllen 返回的数据是错误的,就是有些数据丢失,有些重复了。

@zzhaolei 个人习惯,只要是全局变量都加个下划线 。
@Nazz 缓存的是对象,不是数据,主要是在并发高的时候可以少占点内存吧。
我自己怀疑问题可能出在:

*applications = append(*applications, *application)



*o = (*o)[0:0]

这些代码里。
3 天前
回复了 afxcn 创建的主题 Go 编程语言 使用 go 遇到的一个奇怪问题,求教
@zzhaolei 当时猜可能是因为_seededRand 被回收了,所以加了个判断。

因为知道自己是猜的,所以心里不踏实,一段时间后改成用 crypto/rand 。

crypto/rand 倒是没出过问题,只是生成出来的字符串中没有大写的字母,有点奇怪。

@Citrus 说 crypto/rand 性能很差,因为只是生成 token 的时候用到,还未成为优先问题。
3 天前
回复了 afxcn 创建的主题 Go 编程语言 使用 go 遇到的一个奇怪问题,求教
@sztink 我也是从网上搜的,印像中 golang random string 它排最前面.
3 天前
回复了 afxcn 创建的主题 Go 编程语言 使用 go 遇到的一个奇怪问题,求教
@kneo 确实是几年前遇到的问题,当时解决起来也容易,换种写法就可以了,只是到目前为止还是没搞清楚是因为什么,所以来问了。

说是返回 32 个 0 可能也不是绝对准确的,也可能只是注意到了全是 0 的 token ,因为它最明显。
3 天前
回复了 afxcn 创建的主题 Go 编程语言 使用 go 遇到的一个奇怪问题,求教
@hxzhouh1 很难重现了,21 年的事情,应该是当时最新版本的 go ,但我当时在自己的电脑跑,都没办法重现。

只有在测试服务器上出现,而且不是一次;第一次出现的时候以为是服务器被黑了,后来才定位到这段代码。
3 天前
回复了 afxcn 创建的主题 Go 编程语言 使用 go 遇到的一个奇怪问题,求教
@AceGo 换了写法后,好几年了,没出现过这种情况,不过后来我们又改了,改成用 crypto/rand 了,所以也不是 100%确定#2 的写法是不是对的。

```go
package utils

import (
"crypto/rand"
"encoding/hex"
)

// RandomString random string
func RandomString(len int) (string, error) {

b := make([]byte, len/2)

_, err := rand.Read(b)

if err != nil {
return "", err
}

return hex.EncodeToString(b), nil
}
```
3 天前
回复了 afxcn 创建的主题 Go 编程语言 使用 go 遇到的一个奇怪问题,求教
@AceGo 我们在预上线的测试环境上发现的,我们用它来生成 token ,突然发现 token 表里出现大量全是 32 个 0 这样的 token 。
3 天前
回复了 afxcn 创建的主题 Go 编程语言 使用 go 遇到的一个奇怪问题,求教
@kneo 应该和线程安全没什么关系吧,我也不确定。

换成下面的代码这样,就不会出现返回全为 0 的情况了。

```go
func createRand() *rand.Rand {

if _seededRand == nil {
_seededRand = rand.New(rand.NewSource(time.Now().UnixNano()))
}

return _seededRand
}

// RandStringWithCharset rand string with charset
func RandStringWithCharset(length int, charset string) string {
b := make([]byte, length)
l := len(charset)
for i := range b {
b[i] = charset[createRand().Intn(l)]
}
return string(b)
}
```
其实桥里是有埋感应器的,只是这些数据的采集,上报不互通。
自己把后端代码干了,前端想要什么接口就自己搞。

我们公司的 gskctl 正在内部测试阶段,想要玩的可以 @ 我。

https://gostartkit.com/docs/getting-started/

我们通过这样的标签来描述类之间的关系。

// Entity model
// @Entity tableName="entities"
type Entity struct {
// @PrimaryKey
ID uint64 `json:"id"`
// @Ref Application.ID
ApplicationID uint64 `json:"applicationID"`
// @DataType mysql=varchar(127)
EntityName string `json:"entityName"`
// @Comment "-1 deleted 0 pendding 1 valid"
Status int `json:"status"`
CreatedAt *time.Time `json:"createdAt"`
UpdatedAt *time.Time `json:"updatedAt"`
}
15 天前
回复了 hermin 创建的主题 VPS Vultr 搭 Discuz 不能发送邮件,我觉得它在作死
还要 身份证(驾驶证),信用卡?我申请直接给拒了,都不给提供证件的机会。
15 天前
回复了 raptor 创建的主题 VPS 吐槽一下 Vultr 那个变态居然禁止 25 端口外发
十年了,我也遇到类似的问题。
1  2  3  4  5  6  7  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1256 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 22ms · UTC 23:16 · PVG 07:16 · LAX 16:16 · JFK 19:16
Developed with CodeLauncher
♥ Do have faith in what you're doing.