Oracle Cloud 可能把测试版界面放上来了

2021-06-20 04:20:43 +08:00
 Rocketer

不小心按了一下 F12,发现 console 里不停地蹦调试信息,难怪很多人说这是最难用的云计算操作台呢,简直是搞笑来的

6098 次点击
所在节点    云计算
37 条回复
jhdxr
2021-06-21 01:07:32 +08:00
说生产环境错误信息直接收集到日志服务器的都是后端开发吧???
Mitt
2021-06-21 02:34:18 +08:00
@Rocketer #4 你知道 windows 下有个软件叫 DebugView 吗,如果你打开这个软件你会发现 windows 上所有软件都在不停的给你报调试信息,包括 windows 自己,你会觉得 windows 是来搞笑的吗? DevTools 和 DebugView 性质一样,从你打开的那一刻你就开启了网站本身的调试模式,只不过是生产模式下的调试信息,你公司禁止在生产环境打印信息我不知道是出于什么目的,但是生产环境只要不是把开发版本发布出去,我不觉得这有啥问题

而且楼上说的前端收集日志反馈给后端的,这个是常规操作没错,但这不是唯一选啊,如果因为网络问题这些日志无法收集,难道前端 console 还不能把错误信息报出来吗,而且你作为一个用户你用 DevTools 本身就是个迷惑行为,大厂还用那么大的个字告诉你 console 粘贴代码执行是不安全的,从你决定打开 DevTools 的时候,这些调试信息就是给你看的,用 DevTools 不管是看 DOM 、console 、还是 network 本身都是“调试行为”

说真的,除非 console 里面把 oracle 内部私钥都给你打印出来,否则就算打印你输入的密码我也不觉得有啥大问题
ericls
2021-06-21 04:34:01 +08:00
@jhdxr C 端一样可以,C 端没有 source map 的情况下 错误信息本来就不好看。

而且如果等到用户遇到问题的时候,你会让用户手动去打开 devtool 截图给你看吗?这就已经晚了。
ericls
2021-06-21 04:36:43 +08:00
@Mitt 就像你说的,这些都是调试行为,所以你会在生产环境调试吗?
Rocketer
2021-06-21 05:14:53 +08:00
@Mitt 你说明的也只是“可以”这么做,而不是“应该”这么做。

我不知道具体为什么我工作过的公司都禁止在生产环境用 console.log ,也许我们只是“猴子不能吃香蕉”的受害者。

但我确实亲自体验过 console.log 导致的内存泄漏——有时下班懒得关闭浏览器,放在那儿继续运行,打印量大的话第二天早上就很可能看到浏览器死住或者崩溃。

所以我猜不在生产环境打印调试信息应该有这方面的考虑,毕竟总有一些用户的配置很低,可能很快就内存泄漏了。

再就是楼上的问题——在生产环境打印调试信息,这是要给谁看呢?
rannnn
2021-06-21 06:07:21 +08:00
前几楼也挺自以为是的,显示和不显示都有自己的道理。我们公司发到日志服务器,也打印一部分 log,另一部分 dev 可以用工具开启。2B 每个客户有各种各样的 integration,很多时候 dev 环境是不能复现问题的。所以我们的确会在生产环境经过用户授权后 impersonate 调试。
rannnn
2021-06-21 06:12:45 +08:00
还有 B 端用户 report 问题一般都是通过 IT 部门反馈的,所以本身反馈的人也是技术人员。直接打印出来也是为了他们在 file ticket 的时候就能直接附上一些常见信息。前面列举的 Facebook Twitter 都是 2C 的产品,你开几个 2B 比如 Azure,SAP,Workday 就可以看到多多少少会 log 一些东西。
JoJoJoJ
2021-06-21 07:41:12 +08:00
@yohole aws 一样难用
Rocketer
2021-06-21 08:01:35 +08:00
@rannnn 谢谢,27 楼的说法比较合理
netnr
2021-06-21 09:00:16 +08:00
歪,昨天刚注册,密码搞忘了(规则跟常用密码冲突),邮件重置密码链接打开报 404,无语
Mitt
2021-06-21 11:40:42 +08:00
@Rocketer 这就纯搞笑了 首先如果 devtools 不打开 console.log 不会产生任何内存数据,其次哪个正常用户会开着 console 用网页,请不要吧把自己开发者身份代入,还是我说的,windows 自己就有 debugview 照你这么说 windows 岂不是每秒都在导致内存爆炸
Rocketer
2021-06-21 11:48:33 +08:00
@Mitt 我是应用开发者,不是浏览器开发者,不懂浏览器的内存管理,谢谢扫盲
learningman
2021-06-21 15:07:48 +08:00
@Mitt #22 你说的是事件管理器吧。。。我是没见几个没事往这里面冒泡的,设备驱动之类的倒是会,但是人家本来就是这么通信的啊
jhdxr
2021-06-21 18:31:16 +08:00
@ericls 我不知道是我还是你对于调试这个词有什么误解。『打印日志』都能算作调试了???另外,C 端(客户端为主,网页有但不多)的确也有日志采集,但这和把日志打印出来并不冲突。


@Rocketer 你主贴里表达的是『不应该』这么做。 @Mitt 已经说明了『可以』这么做,这就足以反驳『不应该』了。
Rocketer
2021-06-21 23:19:22 +08:00
@jhdxr 我就不抠字眼玩文字游戏了。

本质上就是我见识太少,因为我工作过的公司都只在测试版里才打印日志,我就以为这是行业惯例了。但真理往往掌握在少数人手里,所以你是对的。
Mitt
2021-06-22 07:08:27 +08:00
@jhdxr #34 没有 我的意思是 DevTools 这个工具本身是属于调试工具,console.log 本身可能不完全算
Mitt
2021-06-22 07:20:47 +08:00
@jhdxr #34 而且其实打印日志本身的主要目的还是为了调试( Debug ),包括 mac 上的 console 日志,其目的还是为了辅助调试,mac 崩溃的时候会把日志本身上传,其目的就是辅助回溯调试信息,因为这些信息都不是给正常用户看或用的,而是为了开发者。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/784552

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX