回答几个读者提的问题

每周都会收到一些问题,集中回答一下,可能对你也有帮助。

问题一:

第一个问题是彭金意同学提出的,他给我看了一段代码,问 raise 后面为什么没东西了,如图:

640?wx_fmt=png这是Ansible里面的一段源码,一般情况下,我们看到的 raise 关键字后面会跟某个异常,而 raise 后面没有任何东西了的这种情况通常出现在 except 代码块里面,表示将异常重新抛出去,交给调用者自己去该处理异常,这段代码表示如果出现了异常,那么它尝试处理异常,如果处理不了,就继续将 UnicodeEncodeError 往外抛。如果你做过小程序开发,你可能也会碰到这种类似的编码错误。

问题二:

第二个问题是mark提出的,他提的一个问题是 flask 如果获取客户端的真实请求 IP,按照网上的说明做了还是不生效。

其实这个问题多半是没有了解原理。 flask 里面提供了一个api 可以直接获取ip,叫做 request.remote_addr ,但是如果我们的程序部署时,前面加了一层反向代理,如 Nginx,那么 remote_addr 的返回值就是 127.0.0.1了,因为请求都是本机的 nginx 转发过来的,正确的做法是在 Nginx 那一层先拿到客户端的IP,放在请求 Header 里面,再传给 Flask。

具体取决于nginx的配置,例如:

location / {
                proxy_set_header                Host            $host;
                proxy_set_header                X-Real-Ip       $remote_addr;
                proxy_pass                      http://flask_app/;
        }

这里加了一个 X-Real-Ip 头字段,值就是客户端的真实 IP,flask 这边获取的时候可以这样写:

if request.headers.getlist("X-Real-Ip"):
    ip = request.headers.getlist("X-Real-Ip")[0]
else:
    ip = request.remote_addr

问题三:

第三个问题是FD提的,问如何上手python?

这其实已经是月经题了,每个月都会有人会问这个问题,人之常理,这是初学者的必经之路。怎么说,学编程没什么捷径,关键还是你要把心思花在上面,牛逼都是用时间熬出来的,你把时间花在哪方面,那方面的技能就会提升。初学者关键问题是不知道来花这个时间。这需要你自己去摸索,多找人交流,找那些过来人交流,向他们请教。从入门到上手,套路都是那些,先挑本你能看懂的入门书,然后实践,找那种手把手教你的实践项目,跟着一起练,这一步至少要知道怎么用,至于为什么要这样用,可以以后再去研究。如果还是不会,就重复两遍。去哪找练手项目,多在网上找,找那些你能看懂的项目。最后,利用掌握的知识点自己撸个项目,发挥下你的创意,看看身边有什么痛点可不可以用程序来实现的,实在没有,可以去山寨个简版的v2ex,山寨头条,山寨豆瓣都可以。没有人学车是通过看书和看视频学会的,最重要的是去实践,哪个行业都一样。

如果你有任何编程及相关问题,在我时间允许以及能力范围内的问题提供免费解答。

这篇文章可能是2018年的最后一篇,谢谢大家一年以来的持续支持。2019 年再见。

推荐阅读

640?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值