V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  chenqh  ›  全部回复第 43 页 / 共 113 页
回复总数  2250
1 ... 39  40  41  42  43  44  45  46  47  48 ... 113  
2021-07-04 19:55:12 +08:00
回复了 JasperHale 创建的主题 Python unittest discover 无法找到测试文件,因为一个模块内全局变量??
```
from .geoip import location

```
这个改成绝对路劲看一下?
2021-07-02 23:24:12 +08:00
回复了 zxCoder 创建的主题 问与答 求推荐一个技术选型(编程语言)
要单个可执行文件,估计只能 golang 了吧
2021-06-29 13:38:45 +08:00
回复了 maryshaw 创建的主题 问与答 想学一门后端语言,哪个比较用的多,写起来比较爽
golang 部署爽,写起来一点都不爽
2021-06-29 13:37:56 +08:00
回复了 peerless1029 创建的主题 问与答 咨询下已经买房的小伙伴,都是怎么存够首付的啊?
你们为什么都这么有钱呀
2021-06-29 13:37:17 +08:00
回复了 peerless1029 创建的主题 问与答 咨询下已经买房的小伙伴,都是怎么存够首付的啊?
你们都好能存钱呀
2021-06-28 10:00:07 +08:00
回复了 NowTime 创建的主题 问与答 你们钉钉正常吗?
怎么感觉订单还没有 ali 云稳定?
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` 不就好了码?
1 ... 39  40  41  42  43  44  45  46  47  48 ... 113  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1327 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 36ms · UTC 23:55 · PVG 07:55 · LAX 15:55 · JFK 18:55
Developed with CodeLauncher
♥ Do have faith in what you're doing.