「技术变现」39岁想转行,面临巨大风险,他是如何各个击破的?

「技术变现」39岁想转行,面临巨大风险,他是如何各个击破的?

#黄帮主公号:扇贝编程课


很多人都觉得35岁是个坎,你觉得呢?

人一辈子总会面临各种选择,人生也会经历起起伏伏。

面对各种危机焦虑在所难免,但是如何去接受这些变化,去打破僵局,才是我们最应该去思考的。

黄帮主的学生之一@冯大少,是个特勇敢的哥们。他选择在39岁这种跳槽都要看存款的年纪,毅然选择转行从基层做起,这份勇气令人十分敬佩。




学习这件事,成年人更要需努力


初识冯大少是在编程课程的社群里,他十分好学勤快,工作之余一直勤奋刷题,不停地问黄帮主“如何达成最优的解法”。

后来通过聊天了解到:他在船运公司从事管理工作,已经十余年了。航运工作比较单一,而且经常加班出差,他萌生过转行的想法,却一度被“成年人的苦衷”给搁置了。

某一天,他在微信偶然看到了扇贝编程课程的推荐,当时出于兴趣,参加了体验课。在闻闻老师(黄帮主的同事)的指引下,开始初步了解和学习Python,冯大少没有想到的是:他人生的转机就此开始。

在接触Python前,他一直以为无论是Python, C++, 还是Java, 都是比较枯燥的。毕业于通信工程专业的他,在大学期间是学习过C语言的,但毕业后压根用不上,基本都忘光了。

「技术变现」39岁想转行,面临巨大风险,他是如何各个击破的?

所以刚接触Python的冯大少与你们一样,是一个近乎零基础的编程小白。

大部分男性只对计算机硬件感兴趣,他一开始很担心学不出成效来,但是通过4节体验课的学习,顿时豁然开朗。

他对黄帮主说了这样一番话:

“我不仅学到了Python知识,更重要的是锻炼了我的思维,也就是一种计算机思维!为了兴趣,也为了我自己未来的发展,我相信我能学好它。”


勤思考多练习,事半功倍


体验课只是跨过Python学习的第一道门槛,经过闻闻老师对后续课程的简单介绍,他决定继续学习。

正式课群里有黄帮主答疑,也有很多同学讨论、提问,学习氛围很好,甚至有些学得比较快的、基础好的同学参与答疑,他越发觉得自己和他们的差距比较大,学习的进度不理想。

很多人到了40岁就开始以记忆力下降为由拒绝学习新的知识,冯大少不信邪,为了强化记忆,他尝试了各种方法。

「技术变现」39岁想转行,面临巨大风险,他是如何各个击破的?

“我的大伯是一名已经退休的某重点大学的计算机专业教授。堂哥高中在多次全国奥数、计算机比赛中获得第一,被保送到国外大学,毕业后一直在微软总公司工作。堂弟在国外某科技公司从事软件开发的工作。堂姐在某500强的外资公司担任网络安全总监。出生在计算机世家的我,却一直对计算机不感兴趣,导致我毕业之后还是一只计算机小白......”

天赋异禀的家人们也让冯大少学习编程的心,一度压力山大。

为了更好更有效率地学习,他频繁地在网络上向亲戚们、老师们请教学习编程的技巧。

“原来学习这门课程,死记硬背是不行的...”字里行间都是他顿悟的喜悦,“只有跟随老师的知识要点,先自己理解,再反复练习才可以事半功倍。”

“学习条件语句时,我刚开始有点懵,后来想了想,原来与日常使用的 Excel里的 if 函数中单向分支和双向分支的思路同理。”他兴奋地在社群里分享自己的学习方法,打字的速度都带着喜悦。

“通过这个类比,我深刻理解了这节课的知识点,同时我也明白了方法不是唯一的,只要多思考,问题终能解决。”

人生的道路没有唯一解,办法总比问题多。


机会从来只给有准备的人


经过半年的学习,冯大少终于把基础课、爬虫课和数据分析这三门课程学完,并且顺利通过了2020年的Python二级考试。

黄帮主经常跟同学们说:具体问题具体分析,就好像我们在构思代码时,也要分清什么时候要用面对过程的思路,什么时候用面对对象的思路。每个人的思维习惯不一样,但总会找到适合自己的学习方法。

他对python的数据抓取、分析、应用等内容十分上心,尤其是Selenium 自动化这一板块在他看来非常有趣,课后通过对这一部分内容拓展学习,效果立竿见影。

「技术变现」39岁想转行,面临巨大风险,他是如何各个击破的?

“在学习过程中,遇到问题时,首先要自己想办法、找原因,不要马上问别人,不要依赖别人给你答案。”乐于在社群内给同学分享自己的学习方法,冯大少的利他主义精神感动了全体群员。“可以自己先在网上参考一些资料或者相关的解决方案,遇到报错,不要怕,要分析报错提示,最好能想出多种组合的可能性去尝试、去测试。”

后来船运公司合并重组,冯大少毅然决然地离职!基于他稳扎稳打的学习方法和处事态度,转行求职的过程自然是一帆风顺,成功转型成为了一家信息服务公司的数据工程师。

我问他:从管理岗到普通员工,这心理落差一定挺大的吧?

他说:有一点儿,但是既然认定了方向,就勇往直前吧。


学以致用,百尺竿头


Python的应用使他极大地提高了工作效率!因此,他兴奋地跟我说:想给有学习Python的念头却还在犹豫的同学们,简单地分享两个在日常工作中学以致用Python(中的Selenium 和 Scrapy板块)的例子。

以下是冯大少本人的应用攻略分享:

【Selenium 的应用】快速查询信息并下载,筛选所需信息

以著名的日本船公司ONE为例,当打开官网后,在 “SCHEDULE” 里,首先对 “Origin” 定位,

origin=browser.find_element_by_id('oriLocNm')

然后在输入框里,通过 origin.send_keys('SHEKOU, GUANGDONG, CHINA') 进行填充。

「技术变现」39岁想转行,面临巨大风险,他是如何各个击破的?

再对 “Destination” 定位,destination = browser.find_element_by_id('destLocNm')

然后在输入框里,通过 destination.send_keys('HAMBURG, HH, GERMANY') 进行填充。

「技术变现」39岁想转行,面临巨大风险,他是如何各个击破的?

在 “Destination” 下,可见还有一个 “Period” 的 date range,网页默认为当天的日期开始计算1个月的时间范围,可以选择这个默认的范围,或者改为自己所需的日期范围。例如,选择从06/20/2021 - 06/28/2021。

「技术变现」39岁想转行,面临巨大风险,他是如何各个击破的?

在 “Period” 包括 开始日期 ( name="srtDt") 和结束日期 (name="endDt"),在填充前,首先要通过 clear() 方法,把网页自带的日期先清除。

定位“View”view = browser.find_element_by_id('btnSchedule') , 通过view.click()的方法,执行查询。


「技术变现」39岁想转行,面临巨大风险,他是如何各个击破的?

浏览器自动打开一个新的分窗口,显示了各种的信息,定位 “Download”,然后执行下载。

「技术变现」39岁想转行,面临巨大风险,他是如何各个击破的?

下载了 Excel 后,还可以通过在数据分析课里学到的 Pandas 快速查询所需的信息。

读取下载的Excel, 例如我要查询相关的 Doc/VGM Cut off 和 Vessel/Voyage ,代码如下

df  = pd.read_excel('Point to Point Schedule.xlsx')
print(df[['Doc/VGM Cut off','Vessel/Voyage']])

看看输出是什么样子,下图可以看到,在第一行却显示了 NaN ( Not a Number),而且在 Doc/VGM Cut off 这一列,还多了一个换行符 “ ”。

再打开下载的 Excel 观察,发现第一,二行是合拼了单元格,而且 Doc/VGM Cut off 这一列的每个单元格里,使用了 “Ctrl + Enter” 的换行方式。

「技术变现」39岁想转行,面临巨大风险,他是如何各个击破的?

「技术变现」39岁想转行,面临巨大风险,他是如何各个击破的?

在了解原因后,可以通过匿名函数 lambda 把换行符去掉,再把第一行的 NaN 删除。

代码如下

df['Doc/VGM Cut off'] = df['Doc/VGM Cut off'].apply(lambda x:str(x).replace('
',''))
df.drop(0, inplace=True)

最终的输出结果。

「技术变现」39岁想转行,面临巨大风险,他是如何各个击破的?

通过 Selenium,我们可以设定所需要的条件,达到自动下载符合条件的文件,减少手动选择的重复动作。


【Scrapy的应用】快速下载多页的信息和相关超链接

同样也是通过ONE的官网,首先打开所有官方发布的消息页面。

所有的消息,都是嵌套在 class=” news-list” 的 label 里,而消息的超链接和内容分别是在一个 label和label 里。

「技术变现」39岁想转行,面临巨大风险,他是如何各个击破的?

然后定位 “Next Page”, 找到所有消息的超链接

response.css('p.news-list a::attr(href)').getall()

以及所有消息标题

response.css('p.news-list h3::text').getall() ,编写完整的代码,如下:

「技术变现」39岁想转行,面临巨大风险,他是如何各个击破的?

「技术变现」39岁想转行,面临巨大风险,他是如何各个击破的?

最后打开输出的文件,就得到一份包括消息标题和相对应的超链接。这样我们就可以搜索想看的消息,同样,也可以应用 Pandas 去实现各种方法。


通过应用 Scrapy 爬取我们所需的信息,大大地提高工作效率,避免用手动逐个点击 “Next Page” 去获取每一分页的内容。

「技术变现」39岁想转行,面临巨大风险,他是如何各个击破的?

通过以上两个在工作中的实例,相信同学们能感到自动化的强大和高效。

在 Selenium这部分,还有其它更加强大的应用,例如 Select库、ActionChains库,以及还可以结合 Java Script的应用等。感兴趣的同学,可以向黄帮主咨询学习路径。




前路坦荡,无惧风雨


黄帮主相信各位同学坚持系统性持续学习,加上大量的练习,肯定能如冯大少一样开拓出属于自己的发展道路。

你前路坦荡,又何必畏惧从头学习?

展开阅读全文

页面更新:2024-03-28

标签:闻闻   各个击破   船运   扇贝   帮主   学习方法   社群   风险   日期   同学   消息   课程   代码   计算机   美食   方法   工作   技术   信息

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top