V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Dffcc
V2EX  ›  程序员

Stack overflow 发问被踩

  •  
  •   Dffcc · 78 天前 · 7037 次点击
    这是一个创建于 78 天前的主题,其中的信息可能已经有所发展或是发生改变。

    为什么这样问会被踩呢? 我问得算明确吧?

    https://img.onl/uQAajh

    69 条回复
    czfy
        1
    czfy  
       78 天前
    中式英文看不懂,你写好中文之后用 deepl 翻译吧
    Dffcc
        2
    Dffcc  
    OP
       78 天前
    @czfy 我是用谷哥翻译
    darcyC
        3
    darcyC  
       78 天前
    不是专家,但是看了一下,我认为有几点明显可以优化的点:

    1. 毫无意义的标题,标题里居然写 “搞不懂 ... ” ,我认为虽然你说的是事实,但是很明显更一个更好的标题相比,格格不入,试试用 What, How 来开头,会显得更专业

    2. 问题中引用了一个命令,本身是非常好的,但是没有加 ``` ``` 来作为代码片段,读者看起来会比较累。

    3. 问题中有 3 个大 Question ,作者如果问题是相关的,就单独成句进行表述,如果直接写出 3 个问题,会很明显不符合提问的约定俗称规范,也就是一个帖子一个问题。
    Dffcc
        4
    Dffcc  
    OP
       78 天前
    @darcyC 谢谢
    Dffcc
        5
    Dffcc  
    OP
       78 天前
    这样可以吗?

    https://img.onl/L0uEJj
    Pteromyini
        6
    Pteromyini  
       78 天前   ❤️ 6
    我觉得现实情况就是不要把 so 想的太神圣,把他当成个技术版的贴吧或者知乎就是了,你能看到的乐子和深度好文都存在。被踩太正常了
    ck65
        7
    ck65  
       78 天前
    要不发个中文版?实在太不通顺了。
    chf007
        8
    chf007  
       78 天前   ❤️ 1
    你发这里不好么
    jpeg
        9
    jpeg  
       78 天前
    老外表示一脸懵逼看不懂,所以。。。
    ospider
        10
    ospider  
       78 天前
    你一个问题问好几问显然是不合适的……

    不过 SO 的版主都是老学究了,我特么回答别人问我写的库的问题,被当垃圾删了,笑死了……
    Dffcc
        11
    Dffcc  
    OP
       78 天前
    Docker run --name mytom -p 8081:8080 tomcat:8.5.49
    Docker attach mytom

    似乎只有启动和停止命令会产生日志,例如 "ctrl+c" 或是 ""Docker start mytom"" ,为什么点击 Tomcat 所服务的网站,却不会透过 ""Docker attach mytom"" 输出呢? 点击 Tomcat 的网站不算是标准输出吗? Tomcat 进程 Dockerfile 中的哪里,可找到所有可视为标准输出的日志类型?
    luodan
        12
    luodan  
       78 天前   ❤️ 13
    貌似中文也看不懂呢。
    imlonghao
        14
    imlonghao  
       78 天前
    > 点击 Tomcat 的网站不算是标准输出吗?

    听起来你想问 access_log ,我试了一下 access_log 并不输出到标准输出
    Dffcc
        15
    Dffcc  
    OP
       78 天前 via iPhone
    有推荐的 docker 教程?看这位讲师的课,有很多地方卡住..
    Dffcc
        16
    Dffcc  
    OP
       78 天前 via iPhone
    @imlonghao 所以你是怎么知道的?一样是用 Docker attach mytom 去检验? 无法看 Dockerfile 的文件去了解是不是标准输入?
    imlonghao
        17
    imlonghao  
       78 天前
    你可能在找:

    `docker exec -it mytom tail -f logs/localhost_access_log.2024-03-13.txt`
    Dffcc
        18
    Dffcc  
    OP
       78 天前 via iPhone
    @imlonghao 我知道它是访问日志,但问题是它算标准输入还是标准输出? 依据是什么
    imlonghao
        19
    imlonghao  
       78 天前 via iPhone
    @Dffcc 谁?这个文件吗,还是啥?
    Dffcc
        20
    Dffcc  
    OP
       78 天前 via iPhone
    还是就只能透过 Docker attach mytom 检查,算是半硬背的呢?
    Dffcc
        21
    Dffcc  
    OP
       78 天前 via iPhone
    logs/localhost_access_log.2024-03-13.txt
    Dffcc
        22
    Dffcc  
    OP
       78 天前 via iPhone
    这个文件又或是点击 Tomcat 网站时的产生日志(log)
    imlonghao
        23
    imlonghao  
       78 天前 via iPhone
    这个文件就只是单纯的 tomcat 记录的请求日志
    docker attach 个人而言非常非常少用
    你想看 docker 主程序的运行就 docker logs
    想进去容器里就 docker exec
    基本就这些了

    你问我这个文件怎么来的,就是 docker exec 进去之后 ls 一下我就看到这个文件夹,进去之后就看到这个文件了
    Dffcc
        24
    Dffcc  
    OP
       78 天前 via iPhone
    @imlonghao 我不懂的是,为何讲师一直要强调 Docker attach 指令是跟标准输入、标准输出及标准 error 有关?然后最后还说 Docker attach ,看 CMD 指令,搞得很混乱,也没具体解释 3 个该如何判别
    Dffcc
        25
    Dffcc  
    OP
       78 天前 via iPhone
    感觉就像是把两个完全不相关的东西,放在一起讲,也没解释个明白
    anUglyDog
        26
    anUglyDog  
       78 天前
    哈哈哈,我刚在 V2EX 发问不也被喷了~_~
    google2020
        27
    google2020  
       78 天前   ❤️ 3
    点踩已经是 so 社区文化的一部分了,好几年了,连梗图都有了。https://www.reddit.com/r/ProgrammerHumor/comments/qcdh4c/stack_overflow_in_a_nutshell/

    很多人笑话提问不准确,说真的,如果能准确提问的话,大多问题都能自己靠 Google 解决了,就是因为不知道形容问题才搜不到答案。
    nagisaushio
        28
    nagisaushio  
       78 天前 via Android
    但有一说一,这个问题换成中文我也不理解。。
    loveqianool
        29
    loveqianool  
       78 天前 via Android
    DefoliationM
        30
    DefoliationM  
       78 天前 via Android
    中文我也看不懂。。。
    siweipancc
        31
    siweipancc  
       78 天前 via iPhone   ❤️ 1
    你连官方新手教程都不看的吗?
    kwater
        32
    kwater  
       78 天前
    所以 op 的真实目的是 如下?

    Apache Tomcat configuration using syslog

    Tomcat: Send Access Logs to Syslog Using Logger
    kneo
        33
    kneo  
       78 天前 via Android   ❤️ 1
    stackoverflow 不是交互式论坛。它的基本原则是提供一个可复用的解决方案,能够让用户搜索到。

    所以:

    1. 问题必须要独立。几个问题混一起的,再见吧。

    2. 问题必须清晰明确,让有能力的人看你问题就知道怎么回答。因为这不是交互讨论的论坛模式。别想着别人通过追问来帮你一步步定位问题。

    3. 内容格式要规范化。毕竟是冲着被 Google 索引去的,谁也不想打开看到一串蹩脚的的英文和语无伦次的表达。

    4. 问题对别人有帮助。只能帮助你一个人的回答被视为无效问题。当然,这不是提问者一个人的事。

    总的来说 stackoverflow 对提问的要求比较高,即使是英文母语的也未必能正确提问。我不太建议使用 stackoverflow 来提问。你在上面提问估计是图上面牛人多,希望能帮助你解决问题,而不是为了锻炼自己的表达对吧?解决问题的方式有的是,没必要找不自在。
    kneo
        34
    kneo  
       78 天前 via Android
    @google2020 准确提问的人自己靠 Google 解决的前提,很大程度上是已经有前人在 stackoverflow 上准确提问过了。
    Dffcc
        35
    Dffcc  
    OP
       78 天前 via iPhone
    @loveqianool 这我翻成中文也看不懂 😵‍💫
    Dffcc
        36
    Dffcc  
    OP
       78 天前 via iPhone
    有没有更浅显的教程? 很可惜的是,我觉得这个讲师已经比其他人讲得更详细,但还是有听不懂的地方
    Dffcc
        37
    Dffcc  
    OP
       78 天前 via iPhone
    还是踩坑就跳过,慢慢理解,自然有一天就学会?我有问过 chatgpt4 和谷歌
    Dffcc
        38
    Dffcc  
    OP
       78 天前 via iPhone
    @kneo 谢谢建议🙏
    levelworm
        39
    levelworm  
       78 天前 via Android
    OP 行文的确需要改进,不过 SO 我现在基本上不去了。小的代码用 ChatGPT 足矣,大一些的去 reddit 问更友好。
    Avn
        40
    Avn  
       77 天前
    @Dffcc
    1. 通过 docker logs 可以看容器的标准输出;
    2. 通过 docker attach 既可以看容器的标准输出,也能连接到容器的标准输入、跟容器交互。如果只是想看标准输出的日志,那么用 docker logs 就行,docker attach 在看日志这个场景中不常用;
    3. 不是所有的日志都会被送到标准输出,如果你想看的日志在标准输出里没有(也就是通过 docker logs 和 docker attach 看不到),那可以通过 docker exec 进入容器,找到相关的文件,通过 tail 等命令来查看。
    RyougiShiki
        41
    RyougiShiki  
       77 天前
    积分少的新账号容易被踩
    Yukiteru
        42
    Yukiteru  
       77 天前
    stackoverflow 上提问姿势不对或者问题质量低都容易被点踩,更别说你这种英文都不对的。
    而且就连欧美人都不敢随便在 so 上面提问,也是害怕自己问的不对被踩,r/programmerhumor 上有很多这种 meme 。
    所以遇到问题还是要先 google ,实在搜索不到了再去问,问之前也得仔细检查自己的问题才行,不然就容易被踩。
    sunamask
        43
    sunamask  
       77 天前   ❤️ 1
    @Dffcc #5 发图不发原链接就算了,图床甚至都不是链接了……
    crocoBaby
        44
    crocoBaby  
       77 天前
    还不如问 chatgpt
    Rehtt
        45
    Rehtt  
       77 天前 via Android
    用 chatgpt 翻译和润色再发上去
    vfs
        46
    vfs  
       77 天前
    感觉最主要的问题还是英语翻译的不太好。。。。看了两边才大概猜到你想问的问题了。 另外,楼上也提到了,标题写的不太好, 你的标题应该描述你遇到的问题,而不是说你不明白。。。其实一个很好的提问模板是: 你在做什么, 遇到了什么问题,期待的结果是什么, 为此你已经做了哪些尝试。
    huoshanhui
        47
    huoshanhui  
       77 天前
    哪有楼上那么多原因。无非就是看到的人觉得提问不合胃口就踩了。
    sankooc
        48
    sankooc  
       77 天前
    最好不要直接贴翻译软件的结果 还得自己润色以下
    E1n
        49
    E1n  
       77 天前
    docker 容器实例日志简单的小问题,你还要翻译去 so 问,不觉得小题大做了吗:)
    journalistFromHK
        50
    journalistFromHK  
       77 天前
    这有啥大不了啊...
    czfy
        51
    czfy  
       77 天前
    @sankooc OP 一看就是英文基本不懂才会用翻译服务的,不然也不会中式英文都看不出来了,这种前提下如何润色呢..
    killva4624
        52
    killva4624  
       77 天前
    楼主你这和 docker 没关系,建议把问题分开来看。
    我试图归纳一下你的问题:
    1 、docker run XXX 会显示 tomcat 的日志,但没有访问日志。
    2 、访问日志是否不会输出到标准输出?
    3 、如何在 Dockerfile 里配置日志到标准输出?

    其实在问题 2 你就隐约猜到了,访问日志是否需要配置到标准输出,这样才能在 docker run 的时候看到访问日志。
    什么内容输出到标准输出,是 tomcat 进程或者说通过配置文件决定的,docker 只是把标准输出打出来而已,而你自己手动启动一个 tomcat 进程没区别。

    正常的排查逻辑应该是:
    - 查找 tomcat 文档,配置访问日志到标准输出;
    - 手动启动一个 tomcat 进程,看看访问日志是否按预期显示;
    - 通过 Dockerfile 把修改的配置文件部分重新打一个镜像,或者在容器启动的时候挂载并读入修改好的配置文件,确认访问日志按预期显示。
    MineDog
        53
    MineDog  
       77 天前
    日志在不在标准输出和程序写日志的方式有关吧,明显这是 tomcat 程序相关的问题,不是 docker 相关的问题
    thedinosaurmail
        54
    thedinosaurmail  
       77 天前
    搜索一下提问的智慧
    要先写:
    1 遇到什么问题
    2 自己做了什么努力
    3 努力之后报了什么错误,希望遇到什么帮助

    如果这么写,他们会很开心帮忙你的
    locoz
        55
    locoz  
       77 天前 via Android
    低质量问题就是这样的,到哪问都一样,国外的月亮并不会有多圆。把问题好好理清楚,难以描述的问题用实际样例给出完整信息,降低其他人判断问题的成本,自然会容易得到解答。

    而且机翻很考验表达技巧,有些比较口语化的表述用普通机翻根本没法翻译,大语言模型倒还能翻译一下。在需要用机翻交流的情况下,要么就把翻译前的原文也贴上,并且明确说明是用的哪个机翻,要么就用大语言模型去翻译出更好一点的表述语句。别人要是看都看不懂,怎么可能给你好的反馈…
    laminux29
        56
    laminux29  
       77 天前   ❤️ 1
    1.你来本站提问,只发图片,没法 URL ,我们如果要复制图片里面的文字,还要自己敲一遍。所以别人踩你的问题,也很正常了,因为你只顾自己提问,根本就没换位思考,没有站在回答者的角度去验证一遍。

    2.Stack overflow 很多问题与答案,也有被踩的情况,你没必要多想什么。

    3.努力提升自己的水平,多换位思考,才是你需要做的。
    Dffcc
        57
    Dffcc  
    OP
       77 天前
    会不会搜 google 和询问 Chatgpt4 不会的话,直接跳过就好? 因为有些知识,应该后面才会学到吧,你们觉得呢?
    fd9xr
        58
    fd9xr  
       77 天前 via iPhone
    看不懂你在说什么 你发的那个不是英文
    qwertty01
        59
    qwertty01  
       77 天前
    说实话 你的中文我都不能理解你想要问啥问题

    1. docker attach 这个命令基本上没有使用场景
    2. stdout 叫标准输出 一般都是输出在控制台

    感觉你连基础知识都不了解
    E1n
        60
    E1n  
       77 天前
    https://github.com/thelastpickle/cassandra-medusa/issues/718 最近的一个 Cassandra 集群使用 medusa 集群备份失败的求助,用 md 格式把问题描述清楚,开发者稍微指点问题就解决了。
    Terry166
        61
    Terry166  
       77 天前
    标题写的地道一些可以说:Can not figure out what Docker attach and STDOUT are, please help! / please give me some advice.
    另外中间很多语法错误让别人看不懂你的问题。
    puzzle9
        62
    puzzle9  
       77 天前
    https://www.v2ex.com/t/1023187

    恩 大佬都是付已行动的

    标题描述清楚或许会好点
    yidinghe
        63
    yidinghe  
       77 天前
    明确个鬼,怀疑你用中文写出来都不利索。建议在翻译成英语之前你先让 AI 帮你完善表达不通顺的地方。
    bxb100
        64
    bxb100  
       77 天前
    很简单,你被踩只是你在一个问题里面问了多个问题而已
    githmb
        65
    githmb  
       77 天前
    这和 docker 没吉尔关系,你先研究一下 tomcat 吧拜托
    TargaryenChen
        66
    TargaryenChen  
       77 天前   ❤️ 1
    用 gpt 吧 起码他不会说他看不懂你的问题,好久没在 stackoverflow 查问题了
    tikazyq
        67
    tikazyq  
       77 天前
    问得一头雾水,被踩正常
    forty
        68
    forty  
       77 天前
    中文我也看不懂。。。
    看来不是我一个人

    每一句都给我看懵了.
    比如 "点击 Tomcat 的网站不算是标准输出吗?" 这句, 核心就是"点击不算输出吗?", 点击行为是个输入, 输入算输出是什么鬼? 那么可以猜 OP 的意思大概、也许、可能、说不定是, http 请求后为什么没有在某个日志里输出什么内容
    siweipancc
        69
    siweipancc  
       77 天前 via iPhone
    会不会搜 google 和询问 Chatgpt4 不会的话,直接跳过就好? 因为有些知识,应该后面才会学到吧,你们觉得呢?

    额,我来揣测一下你段句话的意思啊。

    会不会谷歌之后出来的结果没有,gpt4 也没有输出解决方案的话,可以暂时跳过,也许之后的学习中会涉及这方面的内容?可以采取这样子的策略吗?

    我的结论是你先把中文表达清楚再考虑英文。不行就去高中找几节课旁听,把中文根基打好了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   957 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 21:20 · PVG 05:20 · LAX 14:20 · JFK 17:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.