V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  chenqh  ›  全部回复第 38 页 / 共 108 页
回复总数  2143
1 ... 34  35  36  37  38  39  40  41  42  43 ... 108  
2021-06-25 23:14:21 +08:00
回复了 wowbaby 创建的主题 Go 编程语言 都说 go 挺好使的,准备用 go 写几个接口
@lanjz 网上还说 golang 有 py 80%的开发速度,感觉就是在吹牛
2021-06-25 20:41:06 +08:00
回复了 wowbaby 创建的主题 Go 编程语言 都说 go 挺好使的,准备用 go 写几个接口
给你看一下我后台的一个接口

```
func ApiAdminUserUpdate(c *gin.Context) {
var err error = func() error {
user, err := service.GinGetUser(c)
if err != nil {
return err
}
err = service.CheckUserRoleError(user, enum_data.UserRoleListPlat...)
if err != nil {
return err
}
d, err := utils.GinRequestD(c)
if err != nil {
return err
}

local_id, err := lerror.GinDGet(d, "local_id")
if err != nil {
return err
}
update_at, err := lerror.GinDGet(d, "update_at")
if err != nil {
return err
}
targetUser, err := service.UserFindByLocalId(local_id)
if err != nil {
return err
}

err = service.UserCheckUpdatAtStr(targetUser, update_at)
if err != nil {
return err
}

var fnSendOk = func() {
lerror.HandlerResponseOk(c)
}

var createEvent = func(event, detail string) error {
LocalId, err := model.RedisIntKey()
if err != nil {
return err
}
var actionLog = model.MActionLog{
LocalId: LocalId,
UserId: user.LocalId,
Business: enum_data.ActionBusinessUser,
Event: event,
Detail: detail,
Ip: utils.GinRequestIp(c),
UserAgent: c.Request.UserAgent(),
RefId: user.LocalId,
RefTable: "m_user",
}
err = model.Db.Create(&actionLog).Error
return err
}

status, flag := d["status"]
var event string
var detail string
if flag {
// 禁用|启用 用户
statusI, err := strconv.ParseInt(status, 10, 64)
if err != nil {
return err
}
event = enum_data.ActionEventUnActive
detail = enum_data.ActionUserUnactiveFormat(user, targetUser)
if statusI == int64(1) {
event = enum_data.ActionEventActive
detail = enum_data.ActionUserActiveFormat(user, targetUser)
}
err = service.UserUpdate(targetUser, gin.H{
"status": statusI,
"update_at": time.Now().Unix(),
})

if err != nil {
return err
}

err = createEvent(event, detail)
if err != nil {
return err
}

fnSendOk()
return nil
}

ms_auth_status, flag := d["ms_auth_status"]
if flag {
ms_auth_status_i, err := strconv.ParseInt(ms_auth_status, 10, 64)
if err != nil {
return err
}
event = enum_data.ActionEventMsUnActive
detail = enum_data.ActionUserMsAuthUnActiveFormat(user, targetUser)

if ms_auth_status_i == int64(1) {
event = enum_data.ActionEventMsActive
detail = enum_data.ActionUserMsAuthActiveFormat(user, targetUser)
}
err = service.UserUpdate(targetUser, gin.H{
"ms_auth_status": ms_auth_status_i,
"update_at": time.Now().Unix(),
})
if err != nil {
return err
}
err = createEvent(event, detail)
if err != nil {
return err
}
fnSendOk()
return nil
}
name, err := lerror.GinDGet(d, "name")
if err != nil {
return err
}
nameCount, err := service.UserCount(utils.NewSqlCnd().Eq("name", name).NotEq("local_id", targetUser))
if err != nil {
return err
}

if nameCount > 1 {
return lerror.NewMsgError(fmt.Sprintf("用户账号重复 [%s]", name))
}
// 更新用户
nick, err := lerror.GinDGet(d, "nick")
if err != nil {
return err
}
count, err := service.UserCount(utils.NewSqlCnd().Eq("nick", nick).NotEq("local_id", targetUser))
if err != nil {
return err
}
if count > 0 {
return lerror.NewMsgError(fmt.Sprintf("昵称重复 [%s]", nick))
}

ms_auth_secret, err := lerror.GinDGet(d, "ms_auth_secret")
if err != nil {
return err
}

secret, err := lerror.GinDGet(d, "secret")
if err != nil {
return err
}
update_d := gin.H{
"nick": nick,
"ms_auth_secret": ms_auth_secret,
"secret": secret,
"update_at": time.Now().Unix(),
}
err = service.UserUpdate(targetUser, update_d)
if err != nil {
return err
}

return nil
}()
if err != nil {
logging.Info("err:%s", err)
lerror.HandlerResponseError(c, err)
return
}
}



```
2021-06-25 18:45:12 +08:00
回复了 rockyliang 创建的主题 程序员 小公司都是怎么部署代码到生产环境服务器的?
@hkllzh 我 py 也这样,虽然是用 ansible 重启
2021-06-25 18:43:53 +08:00
回复了 rockyliang 创建的主题 程序员 小公司都是怎么部署代码到生产环境服务器的?
ansible 一把锁
不去刷视频, B 把
2021-06-24 14:05:54 +08:00
回复了 piqizhu8 创建的主题 问与答 有没有觉得, Python 这个语言,越来越复杂(繁杂)了
反正 golang 在我看来最主要的有点就是性能和直接 2 进制了, 如果做 web 的话,2 进制可能没有那么大的必要, 毕竟服务器你要配置 mysql, nginx, supervisor 或者 docker 为什么不能顺便配置一下语言环境
2021-06-24 11:32:36 +08:00
回复了 piqizhu8 创建的主题 问与答 有没有觉得, Python 这个语言,越来越复杂(繁杂)了
@encro golang 是 gc 语言里面的直接支持编译成 2 进制的, 成功正常呀
2021-06-23 22:14:04 +08:00
回复了 piqizhu8 创建的主题 问与答 有没有觉得, Python 这个语言,越来越复杂(繁杂)了
@lonewolfakela 别呀,想 lua 这种 list, dict 不分的语言, dict 还有空洞的语言,还是不用为好把
2021-06-23 22:13:12 +08:00
回复了 piqizhu8 创建的主题 问与答 有没有觉得, Python 这个语言,越来越复杂(繁杂)了
@TypeError py 转 golang 基本都是因为性能,
用心做 CG?
2021-06-23 22:05:05 +08:00
回复了 Elliota 创建的主题 程序员 大家在 Python 下都用什么 MySQL 客户端库?
pymysql
2021-06-23 14:11:17 +08:00
回复了 piqizhu8 创建的主题 问与答 有没有觉得, Python 这个语言,越来越复杂(繁杂)了
@laoyur 在 `if ` 加个 `1 == 2` 不就好了码?
2021-06-23 13:51:03 +08:00
回复了 piqizhu8 创建的主题 问与答 有没有觉得, Python 这个语言,越来越复杂(繁杂)了
感觉还是性能不行, 别说 nodejs, 连 php8 都赶不上,过几年估计 ruby 都比 py 快了
2021-06-23 13:42:25 +08:00
回复了 kensoz 创建的主题 程序员 中小公司开发人员包揽测试,在行业内属于正常嘛?
包揽测试正常,但是包揽测试报告不正常
2021-06-23 11:30:36 +08:00
回复了 piqizhu8 创建的主题 问与答 有没有觉得, Python 这个语言,越来越复杂(繁杂)了
我只希望 py 的速度有 nodejs 那么快
@find456789 python 跑了三四个示例项目, 还有一个 mattermost, 没内存了,升到了 4G
2021-06-22 16:19:44 +08:00
回复了 szq8014 创建的主题 程序员 你们的项目启动时间是几秒?
@byte10 golang 是启动快,但是写的时候想死
800M 内存就够了?为什么我自己的 2G 不够用呀, 你用的 C?
2021-06-22 15:02:22 +08:00
回复了 szq8014 创建的主题 程序员 你们的项目启动时间是几秒?
@zzzmh 10 来此重启,我 2 分钟就用完了
1 ... 34  35  36  37  38  39  40  41  42  43 ... 108  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2059 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 32ms · UTC 12:18 · PVG 20:18 · LAX 05:18 · JFK 08:18
Developed with CodeLauncher
♥ Do have faith in what you're doing.