V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  bwangel  ›  全部回复第 6 页 / 共 32 页
回复总数  637
1 ... 2  3  4  5  6  7  8  9  10  11 ... 32  
@wellsc

额,是的,有什么更好的方案可以推荐一下吗?我用过 swagger,但它没办法要求客户端,感觉是一个交互式的 Markdown 。
2021-06-12 22:26:40 +08:00
回复了 zhanbiqiyu 创建的主题 随想 找不到自己每天活着的意义
每当听毛不易《像我这样的人》,就会有这样的体会。

小时候曾以为自己会改变世界,现在才发现,我真的好普通好普通好普通啊。
很多回复里都说 protobuf 的优势是编译后数据体积小。但我觉得这不是一个主要的优点,文本内容的压缩率很高的,Nginx 开启 gzip 压缩后,json 响应并不一定比 protobuf 响应要大很多。

我觉得主要优点就是强制性,定好一个规范后,通信的双方必须完全遵守它。

JSON 也可以做到这一点,但没有跨语言的解决方案,例如 21 楼老哥说的 rust 的 serde 就可以做到,但它不能跨语言,前后端无法使用同一份约束文件,那维护协议还是得靠 Markdown,还是不靠谱。

支持这几种主流语言( Java,PHP,Python,JS,Object-C,Swift,C++, Go )的数据序列化解决方案中,protobuf 是最好的选择。
@wellsc

这不仅仅是后端的事情,而是前后端要共同维护一份协议,告知双方现在在用哪些字段。维护一份 proto 文件,比维护一个 Markdown 文件要可靠的多。
@12101111

这不是语言的问题,这是程序的设计问题。前端版本由 V1 升级成了 V2,它们说不用 A,B,C 三个字段,这时候更新文档,告知后端,这是不可靠的,没准后端忙就忘了,反正也不会出错。如果前后端共用一份 protobuf 文件,那么就会强制后端更新接口,如果不更新会出错。

另外顺口问一句,哪家公司的 web 接口是用 rust 写的,让我膜拜一下。或者不一定是公司,哪个网站是用 rust 写的,让我膜拜膜拜。
@wellsc json 真的一点都不香。

前端要什么,后端就返回什么,一个字段不许少,一个字段不许多。

“一个字段不许多”。这一点很多接口都做不到。
2021-06-11 09:38:38 +08:00
回复了 googlehub 创建的主题 随想 今天是我的生日🎂🎂🎂🍰🍰🍰
生日快乐。V 友
2021-06-06 23:36:37 +08:00
回复了 fantastM 创建的主题 全球工单系统 B 站把我的用户画像记录得是有多饥渴?
原来我不是一个人

深受交友广告之害。
2021-06-03 14:00:33 +08:00
回复了 reexamine 创建的主题 Go 编程语言 大佬们求解一个 go map 无序的问题
如果这是个语言问题,我比较赞同 8 楼的做法,gjson foreach 输的 json key,value 对是按照解析顺序输出的,比较满足你的需求。

如果这是个工程问题,我不建议使用 "github.com/tidwall/gjson",因为这样写了之后让代码更加晦涩难懂了,不利于维护。

在 json.encoder 一方看来,调整 json 中 map 的顺序完全不会有什么影响,因为这样做是符合 json 规范的,但是一调整就挂了。解决方案就是需要在代码中写个注释,说明顺序千万千万不能改,但是我们都知道,注释是及其不靠谱的,很多时候代码和注释完全对不上。

所以我的建议是

在 json 数据中加一个 order 字段,表明期望得到的顺序,这是一个示例

https://play.golang.org/p/c2DIY3q_vjR
2021-06-01 13:02:47 +08:00
回复了 79lawyer 创建的主题 程序员 [水贴]被同事的变量名惊呆了
@bwangel #81

https://www.python.org/dev/peps/pep-0008/#comments

Python coders from non-English speaking countries: please write your comments in English, unless you are 120% sure that the code will never be read by people who don't speak your language.

我说的不太严谨,如果你的注释不会被不说中文的人阅读,那么 PEP8 中也是允许写中文注释的
2021-06-01 12:58:59 +08:00
回复了 79lawyer 创建的主题 程序员 [水贴]被同事的变量名惊呆了
python 是支持中文编程的。

所以可以写成

```
非测试用户 = False
if 非测试用户:
balabalabala
```

当然这不符合 pep8 的规范,https://www.python.org/dev/peps/pep-0008/#source-file-encoding

但 pep8 还要求所有注释都应该用英文来写(In addition, string literals and comments must also be in ASCII.),但有多少公司能够做到呢?所以,不用挣扎了,与其用这种中英结合的命名,还不如直接用中文命名
2021-05-27 14:08:49 +08:00
回复了 iblessyou 创建的主题 Docker Docker 现在有成熟的运行于非 root 用户的方案吗
@iblessyou 如果你能控制 dockerfile 的话,在 dockerfile 中指定以非 root 的用户运行 1 号进程,在宿主机上看到的进程也不会是 root 。

docker 不是虚拟机,容器内的账户和宿主机的账户系统是共享的,容器内是什么账户运行,宿主机上也是这个账户。
2021-05-27 10:13:51 +08:00
回复了 iblessyou 创建的主题 Docker Docker 现在有成熟的运行于非 root 用户的方案吗
> 接到客户提的一个要求,使用 ps -ef 查看到的应用进程,不能是 root 运行的。

感觉实现这个需求不需要 podman 啊?

FROM ubuntu:20.04
RUN useradd -m app
RUN exec setuidgid app app gunicorn

这样就会以 app 用户启动 1 号 进程 gunicorn,用户在容器内 ps 看到的进程都不属于 root
2021-05-26 13:36:47 +08:00
回复了 AllenHua 创建的主题 随想 今天,我取关了所有的公众号。
#83 s/也会去点 /也不会去点 /
2021-05-26 13:36:07 +08:00
回复了 AllenHua 创建的主题 随想 今天,我取关了所有的公众号。
我的微信有几百条未读,感觉对红点麻木了,看到红色的 99 也会去点。
2021-04-08 23:31:36 +08:00
回复了 mclarenCL 创建的主题 问与答 25 岁,到底应不应该要有存款?
25 岁我都买了一套房了。。










------ 装逼遭雷劈的分割线 ---------

这是因为我有个好父亲,给我出了 70%的首付
1 ... 2  3  4  5  6  7  8  9  10  11 ... 32  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2869 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 36ms · UTC 14:22 · PVG 22:22 · LAX 06:22 · JFK 09:22
♥ Do have faith in what you're doing.