V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  awanganddong  ›  全部回复第 1 页 / 共 26 页
回复总数  506
1  2  3  4  5  6  7  8  9  10 ... 26  
6 天前
回复了 awanganddong 创建的主题 程序员 网络问题请教下大家怎么定位。
大家,除了搞专线,有没有方便测试快的方案
6 天前
回复了 awanganddong 创建的主题 程序员 网络问题请教下大家怎么定位。
@hisimplee ssh 服务我们还没配置代理,只不过是电脑设置全局访问。
6 天前
回复了 awanganddong 创建的主题 程序员 网络问题请教下大家怎么定位。
ping ip Request timeout for icmp_seq 0
traceroute 后期一直***

@tool2dx 我试下这个
你这个属于社交类型,ui 切图基本上 5k-1w 搞定。这种玩意,最核心的就是运营和推广。

注册公司需要 100 万。交 4 个人社保,然后注册文网文+icp 。
然后就是服务器+im 等第三方成本。

如果纯粹技术不建议。
37 天前
回复了 awanganddong 创建的主题 Go 编程语言 golang 依赖循环的问题。
我定义 service 主要是处理业务逻辑。tasks 主要是队列相关,用的包是 asynq 。比如服务端一些定时器。我是在 tasks 触发,然后调用这个任务,然后这个任务执行完成之后,在十秒之后会再次执行。这时候就需要在 task 内调用这个任务。
如果这两个公用一个调用方法,就会依赖循环。
38 天前
回复了 awanganddong 创建的主题 Go 编程语言 golang 依赖循环的问题。
我有一些悟了。
这是我依托 chatgpt 生成的目录结构。
这样就可以实现,从 service 和 task 内部对任务的调用。
下一个环节就是对调用的抽离,支持所有的 task 。( HandleTask )主要是这个方法。

package main

import (
"context"
"fmt"
"log"
"time"

"github.com/hibiken/asynq"
)

// 定义一个任务类型
const TaskType = "task:example"

// 定义一个通用的 TaskEnqueuer 结构体
type TaskEnqueuer struct {
Client *asynq.Client
}

// 公共的 EnqueueTask 方法
func (te *TaskEnqueuer) EnqueueTask(taskType string, payload interface{}, delay time.Duration) error {
task := asynq.NewTask(taskType, asynq.PayloadFrom(payload))
_, err := te.Client.Enqueue(task, asynq.ProcessIn(delay))
return err
}

// TaskHandler 结构体,现在包含一个 TaskEnqueuer
type TaskHandler struct {
Enqueuer *TaskEnqueuer
}

// HandleTask 方法,用于处理任务
func (h *TaskHandler) HandleTask(ctx context.Context, task *asynq.Task) error {
var depth int
err := task.Payload().Unmarshal(&depth)
if err != nil {
return err
}

fmt.Printf("Executing task, Depth: %d\n", depth)

if depth > 0 {
// 调用公共的 EnqueueTask 方法,递归调用自身
return h.Enqueuer.EnqueueTask(TaskType, depth-1, 1*time.Second)
}

return nil
}

// NewTaskHandler 工厂函数,用于初始化 TaskHandler 和 TaskEnqueuer
func NewTaskHandler(redisAddr string) (*TaskHandler, *asynq.Server) {
r := asynq.RedisClientOpt{Addr: redisAddr}

client := asynq.NewClient(r)
enqueuer := &TaskEnqueuer{Client: client}
server := asynq.NewServer(r, asynq.Config{
Concurrency: 10,
})

return &TaskHandler{Enqueuer: enqueuer}, server
}

// SetupAndRunServer 函数用于设置和启动服务器
func SetupAndRunServer(server *asynq.Server, handler *TaskHandler) {
mux := asynq.NewServeMux()
mux.Handle(TaskType, asynq.HandlerFunc(handler.HandleTask))

if err := server.Run(mux); err != nil {
log.Fatalf("could not run server: %v", err)
}
}

// main 函数作为程序入口
func main() {
redisAddr := "127.0.0.1:6379"
handler, server := NewTaskHandler(redisAddr)
defer handler.Enqueuer.Client.Close()

// 初始化任务并加入队列
err := handler.Enqueuer.EnqueueTask(TaskType, 3, 0) // 递归深度为 3 ,立即执行
if err != nil {
log.Fatalf("could not enqueue task: %v", err)
}

// 启动服务器处理任务
SetupAndRunServer(server, handler)
}
40 天前
回复了 awanganddong 创建的主题 Go 编程语言 golang 依赖循环的问题。
大家说的我理解了,但是我不知道怎么入手,有 demo 吗
刚试用了一下,根据我的关键词生成的视频真的相差甚远。
我还是直接用回 aws ,不然太麻烦。
公司之前买的 https 证书是从小公司来的,我导入 aws 之后,https ios 不能用。要改中间证书,比较麻烦
我看了这些帖子和我要的感觉不太一样。最主要问题在于我在 elb 之前又加了一个 nginx 当作负载均衡。
76 天前
回复了 awanganddong 创建的主题 Go 编程语言 golang 怎么实现 rsa 加解密
这个代码实现了 RSA 加密和解密的一些功能,以下是对代码的详细解释:

错误定义
定义了一些可能会在 RSA 加密/解密过程中遇到的错误:

ErrDataToLarge:
ErrDataLen:
ErrDataBroken:
ErrKeyPairDismatch:
ErrDecryption:
ErrPublicKey:
ErrPrivateKey: 获取私钥错误。
公钥解密函数
pubKeyDecrypt
用公钥解密数据:

计算模数的字节长度,并检查数据长度是否符合要求。
将数据转换为大整数,并检查数据是否超出模数的范围。
通过模幂运算解密数据。
去掉填充字节,返回解密后的数据。
LeftUnPad
去掉左边的填充字节:

检查第一个字节是否为 0 。
检查第二个字节是否为 0 或 1 。
找到第一个非零字节的索引,返回剩余的数据。
RightUnPad
去掉右边的填充字节:

从右边开始找到第一个非零字节的索引,返回剩余的数据。
私钥加密函数
priKeyEncrypt
用私钥加密数据:

计算模数的字节长度,检查数据长度是否符合要求。
创建加密的消息,填充数据。
通过模幂运算加密数据,返回加密后的数据。
公钥和私钥加密/解密读写器
pubKeyIO
用公钥进行加密或解密:

根据是否加密,调整块大小。
读取数据块,加密或解密数据块,写入输出。
priKeyIO
用私钥进行加密或解密:

根据是否加密,调整块大小。
读取数据块,加密或解密数据块,写入输出。
公钥和私钥加密/解密字节数组
PubKeyByte
用公钥加密或解密字节数组:

根据是否加密,调整块大小。
如果数据长度小于块大小,直接加密或解密。
否则,通过读写器进行处理,返回处理后的数据。
PriKeyByte
用私钥加密或解密字节数组:

根据是否加密,调整块大小。
如果数据长度小于块大小,直接加密或解密。
否则,通过读写器进行处理,返回处理后的数据。
获取公钥和私钥函数
GetPubKey
从 Base64 编码的字符串中读取公钥:

解码 Base64 字符串,调用 GetPubKeyFromPem 解析 PEM 格式的公钥。
GetPubKeyFromPem


解码 PEM 格式的公钥,解析成 RSA 公钥。
GetPriKey
从 Base64 编码的字符串中读取私钥:

解码 Base64 字符串,调用 GetPriKeyFromPem 解析 PEM 格式的私钥。
GetPriKeyFromPem
从 PEM 格式的字节数组中读取私钥:

解码 PEM 格式的私钥,解析成 RSA 私钥。
内部工具函数
encrypt
加密函数,执行模幂运算。

decrypt
解密函数,执行模幂运算。

copyWithLeftPad
在左边填充 0 以适应指定大小。

nonZeroRandomBytes
生成非零的随机字节。

leftPad
在左边填充字节以适应指定大小。

modInverse
计算

这些函数和方法共同实现了 RSA 公钥加密、私钥解密、私钥加密、公钥解密的功能,包括读取和解析公钥/私钥文件,处理填充和数据块的分割等。
76 天前
回复了 awanganddong 创建的主题 Go 编程语言 golang 怎么实现 rsa 加解密
谢谢大家,@sophos 你写的我让 chatgpt 给解析下
77 天前
回复了 awanganddong 创建的主题 Go 编程语言 golang 怎么实现 rsa 加解密
go get github.com/farmerx/gorsa
找到了这个扩展
77 天前
回复了 awanganddong 创建的主题 Go 编程语言 golang 怎么实现 rsa 加解密
@hellolinuxer 我需要的是公钥解密
107 天前
回复了 xiaoqi6pi112 创建的主题 Android 请问在苏州有哪些 APP 开发的公司靠谱?
个人给的建议是直接买一套第三方的代码,就可以了。代码方面的话建议 php 的,主要这个是最简单的。后期业务量大的话,就可以用 golang 进行替换。这种项目推广为主,先挣钱再说。
不是,是一些牵扯到扣费的逻辑,为了保证用户余额的一致性,然后串行扣费。
@rahuahua Kratos 一套轻量级 Go 微服务框架,包含大量微服务相关功能及工具。 我刚看了下项目结构,和我需要的不太相符。
@qloog 你发的代码连接地址我看了。增加了 repo 层,我看看 kratos 框架。
找到解决方案了,可以再重新起一个 server

然后记得指定就可以了
client.Enqueue(task1, asynq.Queue("notifications"))
1  2  3  4  5  6  7  8  9  10 ... 26  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5756 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 02:01 · PVG 10:01 · LAX 19:01 · JFK 22:01
Developed with CodeLauncher
♥ Do have faith in what you're doing.