V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  chenqh  ›  全部回复第 49 页 / 共 119 页
回复总数  2378
1 ... 45  46  47  48  49  50  51  52  53  54 ... 119  
2021-07-08 21:38:56 +08:00
回复了 hyuka 创建的主题 职场话题 跳槽频繁再找工作时,各位有没什么建议?
我已经 GG 了
不悦正常呀, 毕竟能挣钱
@xuanbg 我也是接口级别的测试, 我不管是不是单测, 我只知道我需要测试
2021-07-07 19:42:50 +08:00
回复了 yyyyda 创建的主题 Java 技术老大对开发闭源了基础库,打算自己写一套代替
摸鱼不爽码?
2021-07-07 00:45:46 +08:00
回复了 turtlekey 创建的主题 问与答 人生第一套房,求避坑指南和建议
羡慕
2021-07-06 18:25:57 +08:00
回复了 GM 创建的主题 PHP ThinkPHP 是我用过(维护过)的最恶心的 PHP 框架,没有之一
想问下为什么 override 不了?
2021-07-06 18:22:49 +08:00
回复了 longmeier90 创建的主题 Python 有没有什么方法能够查看 djangoORM 的 SQL 语句消耗时间
cpu100%应该有会有 slow query 的吧
2021-07-04 23:04:31 +08:00
回复了 JasperHale 创建的主题 Python unittest discover 无法找到测试文件,因为一个模块内全局变量??
@JasperHale

没有搞懂
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 把
1 ... 45  46  47  48  49  50  51  52  53  54 ... 119  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2904 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 44ms · UTC 00:09 · PVG 08:09 · LAX 16:09 · JFK 19:09
Developed with CodeLauncher
♥ Do have faith in what you're doing.