如果有一天我不更新博客了

如果有一天我不更新博客了,或许我已经不是程序员了。

1.关于就业

选择就业方向是很重要的,有很多同学选择自己所学专业,一部分则选择了其他方向。无论选择什么方向,自己必须冷静思考后决定。有人问,到底要不要选择自己的兴趣作为工作?我的建议是尽量选择自己感兴趣的,因为这样你才会有动力,你才会坚定自己的方向,才能坚持走下去。

刚毕业那会儿,迷茫而慌张,记得那时候,出来实习,学习了一个星期的ActionScript3就开始搞项目了,搞的是房地产项目,经常往东莞那边跑,一个人蹲在堂皇的房子角落里吃着快餐看代码,一个笔记本,一个饭盒基本就待上一天,我甚至怀疑自己是不是程序员了,因为除了写代码,还要帮着接电线,安装路由器等,反正那时候,他们都管我叫“詹工”。一个月之后,我思考了一宿,终于还是提出了离职,开始正式的程序员生涯。

2.关于进阶

从起步到深究,已经有前辈写了一篇很好的博客:http://gityuan.com/2016/04/24/how-to-study-android/

这里谈谈自己的看法。

①视频:做安卓开发,入门的话,推荐先看视频,安卓视频看过不少,我记得张泽华老师的安卓入门视频最让我印象深刻,通俗易懂,让我有兴趣继续开发下去。入门之后,可以选择看一些针对性的视频,比如慕课网里的视频,还是不错的。

②博客:一定要多逛博客、论坛和社区,CSDN、博客园、StackOverflow、Github、简书、掘金、推酷、LeetCode(算法巩固必看,有时间的话磨一下你会发现世界原来这么大)、开源中国社区、segmentfault、APKBUS等等,有时间的话,一定要写自己的博客,将编程的经验分享给其他人,不也是一种快乐吗?

③书本:市场上的书本很多,各种各样,我买的书本将近40本,值得推荐的也就几本。首先《Java编程思想》,不要求每个字每页都看,但重要的知识点一定要钻,基础还是要打扎实。安卓进阶推荐《安卓群英传》和《Android开发艺术探索》,这两本进阶必看,如果有条件,还应该看看《安卓源码与设计模式》(好像是这个名字,不知道有没有记错)。后面,如果想从事底层开发,C语言一定要学好。要有自己的编程思想,不要成为了代码的“搬运工”。

关于编程语言,感兴趣的话,你可以多学,但你必须精一门,有所长,再去看其他的,术业有专攻,你不可能学会所有的语言。比如安卓开发,你必须熟练Java(或Kotlin)、C/C++次之(底层开发、驱动开发必须掌握),而其他的Python、go、PHP、H5、JS可量力而行。

然后就是一些比较高级的知识点了:

④Java:多线程、泛型、正则、集合、Http、Socket、注解、反射、23种设计模式,算法(推荐看啊哈磊的)、加密解密、虚拟机。

⑤UI:普通的View动画、属性动画、SVG矢量图、Material Design。

⑥安卓进阶:Binder、AIDL、NDK(FFmpeg视频处理、视频直播、语音变声、LBS、WAV无损音频解码、音频拼接与音频混声、美颜)、HOOK(反射、动态代理,需非常了解安卓实现流程)、安卓增量更新、安卓插件化、MultiDex。

⑦可以熟悉一些开源项目的使用,熟悉之后有时间研究一下其源码思想:

A.开发里的MVP模式你得会吧,大型项目你不可能在Activity里做所有操作,这样一个类一两天下来就超过一千行了。

B.网络请求的Okhttp。

C.RXAndroid(RXJava),很经典的框架。

D.ImageLoader、Glide、ViewPagerIndicator、xUtils3、PhotoPicker、AVLoadingIndicatorView、CircleImageView。

⑧常见SDK接入:

微信登录、QQ登录、微信支付、支付宝支付、Bmob、友盟统计、个推、极光推送。

⑨常用工具使用:

SVN、Git、Swagger UI、JIRA、SourceTree、阿里巴巴矢量图。

⑩必须:一定要注册成为应用开发者,发布自己写的应用到应用宝、360应用市场、谷歌应用市场,酷安,这是必经之路。

如果想从事底层开发,除了熟练运用Java,你要看C++了,看脚本,开始研究安卓源码,即使不从事底层开发,也要在心中有一个安卓蓝图,明白底层的实现流程。你至少也要自己动手,买一部谷歌手机,选择一个版本,编译一次安卓源码,烧录到手机上,途中你可能会遇到一些阻碍,比如天朝的墙等,只要你努力想办法,是可以跨越过去的,成功之后,你会发现,内心是多么兴奋!这就是安卓的吸引力之处,这就是开源的魅力!

3.关于理想

小时候常常在晚上仰望星空,多么向往外面的宇宙(现在抬头落你一脸灰),想过当宇航员,逐渐长大,喜欢上文学,又想当个语文老师,直到高中接触电脑,我就知道,以后自己一定是个程序员了。

4.关于思想

要有自己的思想,不要因为加班、忙碌而迷失了自己。我曾经多么有激情,于是一口气开发了好几款自认为对自己有帮助的APP,比如“应用备份”、比如方便下载音乐的“音乐之家”、可以自动更换手机铃声的“铃声自动换”,比如方便调查的“掌上问卷”,也因为曾经被人欺骗,开发了一个“短信轰炸机”去“教训”骗子。还有很多自己还没来得及或还没有足够能力开发出来的有趣应用,比如:

①自动停止播放音乐的应用。有些人喜欢戴着耳机听音乐睡觉,但是如果睡着之后,音乐一直播放的话,会影响我们的听力,能不能有这么一款播放器,侦查到主人睡着之后5分钟即停止播放音乐呢?目前应该还没有,目前的音乐播放器,都是定时停止播放,而让人无语的是,当音乐停止了,可能你还没睡着,或者是睡着很久之后才停止,这都是不理想的。而如何定义并监听用户睡着?这可能和硬件、传感器有关了,比如监听呼吸频率、心跳、脉搏等等,这需要开发相应的耳机,需要硬件的支持,而我对于硬件基本上是一窍不通,所以搁置了。×

②智能的联系人应用。面对面摇一摇或碰一下手机互换手机号码,这个应该涉及到LBS、传感器的,我暂时没时间去细究…

③在线一边看视频一边截gif的视频播放APP,目前好像已经有了,爱奇艺好像已经有这个功能,唉,很多想法,还没来得及去实现,就已经被别人实现了。×

④如果侦查到时间是凌晨,那么手机自动切换到静音状态,短信声音为静音,或者说进入震动模式。除非是通讯录里的人打电话进来,或者同一个人多次打电话进来,否则不会响铃,只会震动,防止干扰用户。这个360和联想手机已经实现了,360手机卫士有这个功能,联想乐檬手机自带这个模式,打开就可以了。×

⑤语音接电话。比如你在床上睡觉,手机在书桌上,电话来了,喊一句“帮我接通”就自动接电话并打开免提,适合懒人使用,嘿嘿。很可惜,华为、vivo已经实现了。×

⑥特权用户可以看到对方正在输入什么,当然对方可以设置不让其他人看。QQ有一个提示,就是“对方正在输入…”,但是正在输入什么内容呢,只有发送了才能知道。如果QQ有这么一个开关,“聊天时允许其他人查看我正在输入的内容”,打开的时候,那些会员用户,就有特权查看正在编辑的内容,每输入一个字都实时展现在聊天框的上方,直到发送。嘿嘿,说不定某天QQ就出了一个靛钻,靛钻用户才有权查看。唉,没办法,进不去腾讯,所以这个功能,还是交给腾讯的开发人员吧。×

⑦音轨下载网。我记得上大学的时候,专门有一个网站是下载字幕的,叫射手网,当时就在想,各种语言这么多,要是有个音轨下载的网站也不错啊,比如看香港的电影,我喜欢看原声粤语的,看欧美大片,我也喜欢看原声英语的。可惜对音像这一块不熟悉,后面也选择了安卓开发的道路,就此搁置了,还是交给有能力的人去实现吧。×

⑧管理电脑的APP,这个360快传好像实现了,连接同一个wifi,可以远程遥控笔记本电脑,并查看电脑里的文件,但是好像还不能把手机的东西拷贝到电脑。这个就交给360的开发人员去实现了。×

⑨我最想实现的一款应用:移动分享汇。我个人是比较喜欢听音乐的,于是突发奇想,在坐地铁的时候,能不能让周围的人也能听到我正在听的音乐?当然不是指外放了,这样会引起公愤的,我的想法是这样的:通过这个APP,把我正在听的音乐,以广播的形式播放出去,附近也使用这个应用的人,可以搜索到附近的所有的信号,点击则可以听到我正在听的音乐了,说不定还能找到志趣相投的好友呢。后面还可以和发射歌曲信号的人聊天,互发文件等等,这个应用,不是挺好的么。我现在是心有余而力不足,有志同道合的朋友,可以一起探讨下哈。(5年后我回头发现iPhone好像有AirDrop,而Android也有热点,辅助DLNA之类的,但是已经没有多大激情了,也许这就是成长吧)

5.关于锻炼

最后,当程序员一定要注意锻炼身体和休息,毕竟生活是根本,不要因为追逐理想而舍本求末!你会认识到一些有趣的伙伴,多爬山、看看电影、和同学朋友们聚会、去看看海、去拍风景照。如此生活才有趣,才能轻松应对人生道路的坎坷。共勉、祝福。

如果有一天我不更新博客了,或许我已经不是程序员了,但我应该还在从事互联网相关的项目,和大家一起,或项目管理,或技术支持,等等…未来,有一百万种可能,加油吧。

おすすめ

転載: blog.csdn.net/ithouse/article/details/64440172