请选择 进入手机版 | 继续访问电脑版
查看: 1207|回复: 0

详细讲一下 Linux C/C++ 开发(Linux 服务器开发)这个方向。

[复制链接]

  离线 

 成长值: 2260

  • TA的每日心情
    开心
    4 天前
  • 签到天数: 76 天

    [LV.6]常住居民II

    346

    主题

    402

    帖子

    2452

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    2452
    发表于 2019-11-2 09:16:43 | 显示全部楼层 |阅读模式
    目前从事 Linux C/C++ 开发的程序员很多,尤其是像百度、腾讯、阿里这样的大公司,他们的网站流量巨大,业务逻辑复杂,会遇到很多瓶颈,需要开发底层服务来提高程序效率,快速响应用户请求。

    这些公司的 Linux C/C++ 开发属于底层开发(后台服务、算法支持等),而不是应用开发,编写的程序在后台运行,没有界面,不直接面向用户。

    从事应用开发(尤其是网站开发)的程序员,工作的前几年提升很快,工资也嗖嗖嗖往上涨,不知不觉年薪就到了 30W。但是这个时候,很多人会遇到瓶颈期,如果没有成为领导,工资就长得慢了。

    习惯了自我进步的程序员,怎么能让工资停滞呢,不进步就是退步呀,怎么办?领导不是每个人都能当的。

    可以转底层开发呀!!!有了数年应用开发的经验,对用户、业务、交互等都非常了解了,转底层开发很容易,也知道应用层的瓶颈在哪里,明白如何在底层做优化。

    底层开发比应用开发的工资要高一些,再过几年,年薪到五六十万不是问题。

    当然,上面说的是努力并且聪明的程序员,还有很多程序员工作十来年了依然在做应用层的开发。

    那么,这个方向到底适合不适合初学者呢?初学者肯定可以学习,也肯定能找到相关的工作,但是,如果没有应用开发的经验,个人认为只学底层开发是非常枯燥的,因为你做不出一个有趣的东西来,每天面对一堆理论,早晚吐血。

    初学者可以给自己树立一个目标,做一个类似 QQ 这样的软件出来,它可以有无限的优化空间,比如:
    • 刚开始只是用 Qt、GTK+、WxWidgets、Fltk 等 GUI 库构建了一个界面,并不能发送和接受信息。
    • 增加一对一聊天功能,在这个过程中可以学习通信(socket)。
    • 同时支持多人聊天,每增加一个对话就开启了一个线程,这个过程中可以学习多线程编程。
    • 提高服务器的性能,让单台服务器同时抗住一万个人聊天,这个时候你可能就需要去优化程序了,就需要关注线程创建、调度的开销,关注通信过程中的缓存。
    • 增加群聊功能,让服务器可以给多个用户发送消息,这个时候你对通信的理解将更加深入。
    • 最后呢,你可以将多台服务器联合起来,抗住几十万人甚至上百万人聊天。

    你可以自己完成这个项目,也可以组队完成,在这个过程中你将会全方位的学习 Linux C/C++ 编程。

    总之,初学者要让学习过程变得有趣,不要天天研究操作系统、数据结构、算法、内存、线程进程、通信等理论,一定要去实践。


    学习路线:
    游客,如果您要查看本帖隐藏内容请回复



    PS:本文来自于互联网,由系统自动采集!


    温馨提示:
    1、在论坛里发表的文章仅代表作者本人的观点,与本网站立场无关。
    2、论坛的所有内容都不保证其准确性,有效性,时间性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
    3、根据二○○二年一月一日《计算机软件保护条例》规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!谢谢
    4、若因线路及非本站所能控制范围的故障导致暂停服务期间造成的一切不便与损失,论坛不负任何责任。
    5、注册会员通过任何手段和方法针对论坛进行破坏,我们有权对其行为作出处理。并保留进一步追究其责任的权利。
    6、本站所有资源来自互联网,版权归原作者所有,所有资源仅供于学习、交流研究,请于下载24小时之后删除!
    7、当您在浏览本站时,发现有您自己创作的原创资源时侵犯了您的合法资源时,请您及时联系管理员,邮箱:2550721739@qq.com,我们会及时处理!
    使用 高级模式(可批量传图、插入视频等)
    您需要登录后才可以回帖 登录 | 立即注册