风一直吹,我一直跑——小记2016年终总结

2016年过去了,这个世界变好了一点了吗?你兑现了年初的承诺和计划了吗?

远方

事业

从2016年初找实习时的摩拳擦掌到10月份的卸甲归田,长达8个月的找工作过程终于落下了帷幕。这个过程中,基本上把能碰到的好事(BAT offer三选一、师兄师姐手把手带人、幸运转正、惊险过面试)和坏事(错过报名时间、进入鹅厂黑名单、内推石沉大海、HC缩水)全部翻了个牌,心情起起落落N次,好在最后都挺了过来,在这个过程中学习并成长了许多,最后选择去阿里巴巴开始我的编程生涯。

这里有几点想说的,首先一个就是“尽可能地去做正确的事情”,这么做可能短期内不会有什么见效,甚至进展还会很慢,但只要方向正确,那么效率可以后面慢慢提升,你的学习会像滚雪球一样越滚越快,最后在未来的某个时间节点给你巨大的回馈。

这里我以自己的亲身经历来举个简单的例子:我找的工作岗位是前端开发,而有的人会觉得前端不过是在切页面,比起后端和数据挖掘等岗位来说,技术难度会小一些,所以他们会倾向于忽视算法、数据结构、计算机网络等相对基础的东西,转而去追求时髦的技术框架等等其他的知识,而在我的认识中,前端开发是程序员的一个方向,而算法、数据结构等这类基础知识是一个程序员的内功,所以肯定是要好好学习和掌握的。

所以我的准备过程中,在学习前端知识的同时,还会去刷算法题、看计算机网络等基础知识,这些基础为以后学习新技术奠定了基础。在那么多次的面试,大部分公司对前端同学确实不怎么问这类基础知识,但我面阿里、百度、腾讯这类大公司时,就被问到了这些问题,特别是阿里,技术终面的面试官上来就直接让我写算法题,而那道题恰好我前几天做过,所以很顺利地写出来了。

还有一点感触比较深的,就是“只盯着问题和锁本身,是找不到钥匙的”,为什么这么说呢?因为有的时候,当你陷入焦虑时,就会一直盯着问题本身去寻找解决答案,而忘了答案其实根本就在别处。这里我再次以亲身经历举个简单例子:暑假在阿里实习时,到了8月份,很多人(包括我)都会很关心转正和HC(Hire Count,即招聘名额)的事儿,然后你就会看到一群人在大群里天天讨论这事儿,什么部门说今年不留人啦,什么转正答辩结果是内定的啦,有的人开始旁敲侧击主管和师兄,看看有没有什么内幕,一点点消息都拿出来在群里各种说,然后谣言满天飞。

针对这些,我想说的是,从长期来看,一个企业是否决定聘用你,取决你这个人自身的价值、为团队带来的贡献和为企业创造的收益,而HC的多少取决于企业当年的招聘规模,具体是多少,只有极少部分的中高层知道。在了解了这些基本信息后,我就从明白自己的注意力应该转移到“来阿里后学到了什么?为团队做了什么贡献?我是如何解决一个问题的?”上来了,利用最后的两个星期,在写业务逻辑代码的同时,对团队的架构和开发流程做了一点微小的贡献,并把它作为我的答辩PPT的主要内容,事后证明这对于我的转正起到了一定的作用,也让我答辩时更加有底气,因为我知道自己确实还是实实在在地做了一些事儿的。

技术 & 科研

2016年于我来说,在技术上,我是从一个搞Android的转型成一枚前端,并基本确定了自己接下来的方向,那就是围绕着业务去学习新技术,力求能用学到的知识提高自己和团队的开发效率,并打造更好的产品,

同时的话,也不忘提早布局埋点,多做一些技术储备(最近有点小迷机器学习)。2016年看得技术书不多(最后3个月都在搞科研),《深入浅出Node.js》让我入了Node.js的大门,《MongoDB权威指南》则展现了非关系型数据库在应对多变的数据结构时灵活性,《JavaScript高级程序编程》阐述了JavaScript这样一门语言是如何在浏览器中操纵一切的……还有一些书,这里就不一一列举了。总的来说呢,2016年前面的半年,自己在技术上的成长性还可以,但是10月份之后,由于各种原因(比如科研的压力),在技术上就成长得太少了,这也是引起我警惕的一件事件。

这里提及一下AlphaGo击败李世石的事儿,作为一个坚定的技术进步派的支持者,能亲眼见证人工智能领域的重大突破,实在是特别值得高兴的一件事儿。这里再提及一下,很多人都在担心,未来会出现结构性失业,很多人的工作都将被机器取代,特别是一些低端、重复性,缺少创造性的工作,甚至部分以现在的来看的比较高端工作,比如咨询律师(“法小淘”)、司机(无人驾驶)、部分医生岗位(IBM的Wason),未来也很可能被取代。

这有点像什么?现在的情形,像极了18世纪的纺织工人看到巨大的蒸汽机时的情景,工人们陷入了被机器支配的恐惧。但是呢,后面的历史我们都知道了,蒸汽机的出现,将人类从一部分繁杂、危险、枯燥的工作中解放出来,大大提高了生产效率。社会上不仅没有出现大批工人下岗潮,反而涌现出了更多的工作岗位,史称“蒸汽机时代”。所以,以此类推,在这样一个即将起飞的时代,我们要做的,不应该是恐惧自己未来会被取代,或是沉迷于短暂且迅速的快乐中不可自拔,而应当去拥抱这个变化,去反思我们为何生而为人?有什么能力我们人类所特有的?

在可以预见的将来,自动驾驶技术将会普及,电动车将逐渐取代内燃机汽车。话说在知道了特斯拉之后,之前的那些法拉蒂、玛莎拉蒂之类的跑车就再也不能引起我哪怕一点点的兴趣了,这就好比是你天天穿拖鞋,突然给你一双靴子穿,那种感觉是质的提升。

关于技术方面,再讲下科研。严格来说,从2014年9月入学开始,一开始的半年时间半上课半出去玩,之后的一年半基本都在写代码和实习,所以我是一直到2016年11月才真正开始搞科研(感谢我的导师给予我莫大的自由和支持)。

从一开始的时候啥都不懂,到后来慢慢上手,成功地把第一阶段的仿真给做完,并且一篇篇论文看下来,并把论文中的方法用matlab实现,中间几度想过放弃,还好最后坚持了下去,在一个完全陌生的领域里迈出了一小步。有过这次搞毕设的经历,我想以后我再去学习一个新领域的时候,就会更加得心应手。

这里我总结一下在一个新领域进行学习的一些方法论。

首先,对于陌生的领域,一般人都会有些恐惧感,所以我们一定要明确我们做这件事的目的是什么,并为这个目的赋予一个重大的意义,只有足够强大的意义才会让这件事变成我们的刚需,变成一件根本就不需要所谓“坚持”去做的事情。举个例子来说,如果我们真的想要“锻炼身体”,那么最好为“锻炼身体”赋予一个比较重大的意义,如果你锻炼身体只是为了“留点汗”、“健身房拍拍照”,那么大概率你不会真的把这件事给做成,因为这对于你来说根本就是可有可无的事情。但如果,“锻炼身体”这件事能给你带来一笔丰厚的收入呢?我想大部分人都会立马冲进健身房吧。

接着,我们要明确自己在这个领域要达到的目标是什么。对于初学者来说,目标应该定得具体些,比如说我们要做一个滤波器(编程上来说,可能就是实现某项功能),然后我们再去搜集相关的资料,对于科研来说,重要的是去下载高影响因子的论文(对于编程来说,更多的是去买经典书籍,或者直接下载相关领域的论文),这里建议对同一块知识,多下载一些资料,形成相互对照,这样我们在看的时候能从多个角度切入,加深对概念的理解。

俗话说的好:“理论基础决定科研上限”(嗯,这句话其实是我说的),所以前面那些资料都是在补充理论知识,和我们真正开始动手做还是有很多不一样的,所以我们在这个阶段,就要在看理论的同时,多多写demo、做小实验来验证论文或书中的观点,从而巩固和加强我们对基础概念以及新方法的理解。

再下一个就是攻坚阶段了。我们要开始真正动手去实现、改进、创新论文中的方法了,这个阶段会很波折,我们需要反复测试,修改,调试我们的模型、修改我们的代码,直到最后的成功。

这里我们需要发动一切能找得到的资源,去多和这个领域的大牛、学者们多多交流,他们给出的意见很有参考价值,有的时候一句话能让你少走很多弯路,又或者,在和他们的交流中,你能对你的进度有一个预估,心里会更加有地。最后的最后,就是保持一颗耐心,哪怕结果曲线再烂,也要坚定地分析结果找原因,这都是成功路上的小台阶。

书 & 电影 & 音乐

2016看的书不多,在非虚构类小说中,最能引起共鸣、让我印象深刻的是李笑来老师的《把时间当做朋友》,这本书让我有一种找到同类的兴奋感,也让我对个人奋斗有了更深的了解。2016年的暑假,我有幸在《得到》上订阅了李笑来老师的《通往财富的自由之路》,更新了我许多的观念,让我见识到了一个更大更有趣的世界,也让我对自己的未来更加笃定。

电影和电视剧上,最让我印象深刻的,就是《地球脉动》这部记录片了,每一次看都有想落泪的冲动,真的太美太有意思了。顺便说一句,我还把里面的地点都mark在了我的笔记本上,留待日后一个个地方标记下来,切身去感受这个星球的魅力。

2016年在音乐上,我惊喜地发现自己内心深处埋藏着一颗民谣的心!这一年里我听了好多好多的民谣歌曲,《董小姐》、《你曾是少年》、《你说今晚月光那么美,我说是的》……这些都是很好听的民谣歌曲,结结实实地击中了我的心。

个人生活

2016年,对健身有了更多的想法,深刻地意识到了一个好身材的重要性,现在基本上能坚持一周锻炼一次(我知道很不够,所以2017年会增加到一周两次、三次),每一次都对全身各个部位进行刺激,并享受这酣畅淋漓的过程。

最后写下自己对感情的一些想法:缘分固然重要,每个人都想拥有一份美好的爱情,和自己心爱的人过上幸福的生活。而这一切其实取决你自己是一个怎么样的人?你能否给对方带来美妙的爱情体验?你是不是那个能调动对方情绪的人?你对未来生活有什么样的想法?你想和怎么样的人过怎样的一生?这才是让那个“缘分”落地的关键,如此这般,才会有美妙的邂逅和后续的动人故事,否则你永远只是在等待罢了。

写在最后

祝各位的“小目标”都能一一实现!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
接入第三方登录是让用户方便快捷地使用已有账号登录你的网站或应用程序,提高用户体验的一种方式。本文将介绍如何使用 PHP 实现微信公众号第三方登录。 1. 获取微信授权 首先,需要获取微信用户的授权。具体步骤如下: 1)引导用户打开微信授权页面: ```php $appid = 'your_appid'; $redirect_uri = urlencode('http://yourdomain.com/callback.php'); $scope = 'snsapi_userinfo'; $url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=$appid&redirect_uri=$redirect_uri&response_type=code&scope=$scope&state=STATE#wechat_redirect"; header("Location: $url"); ``` 其中,`$appid` 是你的微信公众号的 AppID,`$redirect_uri` 是授权后回调的 URL,`$scope` 是授权作用域,可以是 `snsapi_base` 或 `snsapi_userinfo`,`$state` 是自定义参数,用于防止 CSRF 攻击。 2)获取授权码: 用户同意授权后,会重定向到 `$redirect_uri` 指定的 URL,带上授权码 `code` 和 `state` 参数。 ```php $code = $_GET['code']; $state = $_GET['state']; ``` 3)获取 access_token 和 openid: 使用授权码 `code` 获取 `access_token` 和 `openid`。 ```php $access_token_url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code"; $response = file_get_contents($access_token_url); $result = json_decode($response, true); $access_token = $result['access_token']; $openid = $result['openid']; ``` 其中,`$secret` 是你的微信公众号的 AppSecret。 2. 获取用户信息 获取到 `access_token` 和 `openid` 后,可以使用以下代码获取用户信息: ```php $userinfo_url = "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN"; $response = file_get_contents($userinfo_url); $userinfo = json_decode($response, true); ``` 其中,`$userinfo` 包含用户的昵称、头像等信息。 3. 将用户信息保存到数据库 最后,将获取到的用户信息保存到数据库中,以便下次使用时快速登录。 ```php // 连接数据库 $con = mysqli_connect('localhost', 'username', 'password', 'database'); mysqli_set_charset($con, "utf8"); // 查询用户是否已存在 $sql = "SELECT * FROM users WHERE openid='$openid'"; $result = mysqli_query($con, $sql); if (mysqli_num_rows($result) == 0) { // 用户不存在,插入新用户信息 $nickname = mysqli_real_escape_string($con, $userinfo['nickname']); $headimgurl = mysqli_real_escape_string($con, $userinfo['headimgurl']); $sql = "INSERT INTO users (openid, nickname, headimgurl) VALUES ('$openid', '$nickname', '$headimgurl')"; mysqli_query($con, $sql); } // 保存用户登录状态 $_SESSION['openid'] = $openid; ``` 以上就是使用 PHP 实现微信公众号第三方登录的步骤。需要注意的是,为了确保安全性,应该对用户输入的数据进行过滤和验证,防止 SQL 注入和 XSS 攻击等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值