专栏首页编程手持 Python 利剑,一路向前

手持 Python 利剑,一路向前

学习 Python 课程究竟有什么用?Python 课程学员假牙运用课程所学,在工作中设置自动化检验脚本,为团队排除 bug 规避风险。「最难受的时候再坚持一下,不要轻易放弃。放弃这种事儿,等到多试一次再去考虑。」从磨砺、失败到成长,假牙的学习经历值得一看,其学习感悟更值得你借鉴!

我是假牙

软件测试工程师一枚,主攻大数据方向。Python 课程期间因 Scrapy 爬虫初窥其神奇,这一年来开路填坑,也幸亏手中握有 Python。数据科学基础班三期参与复训,获得全额学费退还。我将继续在开智课程的路上勇猛精进。

磨砺

学会用 Python 编程是一件我从大学时代就在不断规划的事情,且屡试屡败。但最终还是在大妈的带领下,找到并达成了跳出循环的条件,然后执行了数据分析基础班(两次)。现在,准备投身深度学习。

当初报名,只是想要一把利剑,完成一个技能的收藏。在大妈言传身教的启发式教学方法的指导下,种下 Python 这棵技能树,才发觉我得到的是铸剑术,进入了一种「不服写点 Python 」的状态。

今年初,加入新项目组,遇到了一个尴尬的问题。我们产品基于一个内部工具构建,但是这个工具对开发者并不友好,很容易在开发和修改的过程中引入各种 bug,而且几乎只能在运行态才能发现这些问题。测试团队指责开发团队提供的产品质量低下,开发团队转而指责内部开发工具能力太弱,火药味儿很重。换一个开发工具?不行,这不在选项列表中。

这有点像 Python 基础班的时候,要求大家禁止使用 IDE 写代码,只能通过文本编辑器写出一个个的 .py 文件。对个人学习来说,这种放开手让自己犯错的方式确实很有用处,毕竟你不闹几回 敲成 、括号不匹配,是很难静下心来对待的。但对产品开发来说,这种套路就是灾难,因为这会降低开发测试效率,降低最终交付的产品质量,影响项目进展等等。

于是我决定用 Python 写一个静态扫描工具,在不依赖运行环境的情况下,发现尽可能多的问题,让开发修改。原型花了一周左右的时间,然后不断增加功能,优化扫描结果的日志。到前几个月停止维护,这个工具的代码行达到了 3k 左右,能识别出所有的静态问题,也能识别出只有产品运行才能发现的 bug。

之后,写了 Nmon 日志的解析脚本、MapReduce hist日志的解析脚本,基于数据科学基础班学习到的数据分析和可视化的技能,又给这些脚本增加了图形化的能力。月初,用 Flask 写个 Web Server 来当跳板机转发自动化执行机发出的 REST 请求,绕开了大小网环境网络不通的问题。周末加班玩了下 Fabric,又有信心做部门 500 多台服务器的日常维护了。

失败

「铸剑术」提供的优势是:见招拆招,四两拨千斤。在跨界或者领域交叉的情况下,这种优势会展现出降维打击的效果。可是,从 Python 基础班、数据科学基础班的经历来看,「报名参加课程」与「习得技能」并不等价,总有小伙伴没有走到终点线。

拿下 Python 课程,数据科学第一次课程失败,数据科学第二次课程再次成功完成。结业的时候,我总结成功的经验为「坚持」,想要放弃的时候再尝试一下另外一种可能。现在看来,这两个字总结的简单粗暴。

失败可以分为两种,系统性失败和非系统性失败( http://t.cn/RGk5uRJ ),偶尔遭遇技术难题导致作业不能准时提交,或者学习进展暂时阻塞的,其实只是非系统性失败。这种失败是良性的,可以通过上面说的「再尝试一下另外一种可能」或者求助他人从而得到解决。

但阻碍的自己没能走到终点的,更多的是系统性失败。系统性失败的原因有几种:短期压力与长期目标冲突;周遭环境不利于实现目标和工作时间过长。

数据科学第一次课程的失败其实受多个因素的影响。具体来说,自己原本存在拖延的习惯,没有将每周任务拆解落实到每天,期间突发出差任务导致工作时间过长(每天工作十几个小时)。拖延症碰上没时间,死局。所以在数据科学第二次课程的时候,不管发生什么事情,拼死确保周末两天有足够的时间投入学习,采取各种措施来规避系统性风险。

从理性的角度来考量,这次的深度学习班也有可能失败,逆向思考一下失败的可能原因:

突发出差或者工作任务过于忙碌,导致课程学习时间投入不足

学习「深度学习」的门槛知识不满足,影响课程消化

继续犯拖延症,或不能很好得处理好短期压力与长期目标之间的冲突

日常练习不足,影响对基础知识的理解,进而根基不牢

成长

但,再次失败了也没什么。单纯的结果导向,是僵固型心智的表现。

非系统性失败指出了具体的改进方向,是优化、夯实系统内部要素的机会。系统性失败暴露出系统本身固有的缺陷,描述了当前框架下的瓶颈与极限,其意义就像是鱼儿终于发现了水。这两者都指向了「学习」的根本目的:改变。

第一序改变处理非系统性失败,在不改变原有系统的前提下,对系统内部元素、元素间关系进行优化。第二序改变则是改变系统本身,即改变自身时间管理能力、改变自控力、改换一个有助于实现自己目标的环境。

所以,不管是 Python 班还是考驾照,技能学习仅仅是一小部分,更多的是要学习新的思维方式,反思自身时间管理能力、自控力、学习方法、固有的方法论,后者才是更需要 Study and Practice 的对象。扔掉单一标准,使用多维视角来看待分析问题,这样才能前进得更远。

本文来自企鹅号 - 开智微播媒体

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 人工智能该怎么学

    人工智能就像一个突然爆红的明星一样,唯一不同的是,它不会像明星那样会短时间过气。有些人想迫不及待的学习人工智能,从事人工智能。那么人工智能该怎么去学习呢?初学者...

    企鹅号小编
  • 学 Python 就是为了当程序员?不止一种可能性

    大学的时候,每年过年回家都会参加同学聚会,吐槽一下自己的专业,炫耀一下刚处的女朋友,还是有挺多的话题。 但是前年毕业后,再参加聚会就味道变了……我吐槽着自己在上...

    企鹅号小编
  • 10x Python开发者必读:本月Python文章TOP 10

    翻译 | AI科技大本营 参与 | 刘畅 编辑 | Donna 【AI科技大本营导语】Medium热门博客Mybridge AI例行评出本月10篇有助于提升你职...

    企鹅号小编
  • springBoot服务监控

    引入web依赖和admin依赖,spring security依赖是为了做安全验证,不需要则不加入也可以 application.properties配置

    歪歪梯
  • 不该存在的语言之争

    G20在杭举行,各国首脑人物纷纷抵达。在二十国集团的领导人中,除我天朝首领习大大以外,最引人注目的莫过于美国总统奥巴马了。对于奥巴马的狗仔传闻,在峰会开幕前几天...

    用户1608022
  • Python入门必学:数据类型和变量的用

    Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。如果你觉得理解的还不够透彻...

    py3study
  • 为什么C语言屹立不倒?

    近年来,谷歌一直致力于开发出自己的编程语言以取代当今世上最常用的C、C++和JavaScript。在系统语言方向,谷歌的Go语言能够为用户在数据中心内建立大型软...

    程序员互动联盟
  • 这部美剧要改编成中文版,还号称是亚洲第一部 AI 网剧

    华策影视旗下的克顿传媒在几日前,宣布正在打造的「亚洲顶级科幻巨制网剧《完美芯机人》」正式开机。

    HyperAI超神经
  • 美韩大学教授联合改进柔性超级电容器,能量密度性能直逼电池 | 黑科技

    镁客网
  • 3段认同的理念

    崔文远TroyCui

扫码关注云+社区

领取腾讯云代金券