Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
kevinhwang
V2EX  ›  Linux

如何改行成为 Linux 开发?

  •  
  •   kevinhwang ·
    kevinhwang91 · Aug 17, 2016 · 8098 views
    This topic created in 3738 days ago, the information mentioned may be changed or developed.

    本人 EE 专业本科毕业工作两年,大概技能树是:硬件设计,嵌入式 MCU 和嵌入式 LINUX 。目标想用一个月内在深圳找份 10k+的 LINUX 开发做跳板,后续想深入图像处理进军 AR ,深知嵌入式很难做到。

    目前跟 LINUX 相关的技能只有 LINUX 驱动这一块,对内核也是一知半解,不会自己写复杂的 Makefile 。看了<<UNIX 环境高级编程>>,由于水平有限觉得像一本 API 书籍,没办法让我短期(过几天就失业了)提高 LINUX 技能水平。有什么开源项目可以抢救我一下???

    30 replies  •  2016-08-18 21:23:33 +08:00
    billlee
    billlee
    Aug 17, 2016❤️3
    1
    看 APUE, 然后自己写

    1. 一个多进程的 SOCKS4 代理
    2. 一个多线程的 SOCKS4 代理
    3. 一个单线程非阻塞的 SOCKS4 代理

    写完这些 POSIX 的网络部分你就学得差不多了
    hei1000
    hei1000
    Aug 17, 2016
    2
    做技术的工作两年了还怕找不到工作?
    hei1000
    hei1000
    Aug 17, 2016
    3
    @billlee APUE , TLPI 我都有,个人感觉 TLPI 更好
    kevinhwang
    kevinhwang
    OP
    Aug 17, 2016
    4
    @billlee 感谢,让我有方向!
    syslot
    syslot
    Aug 17, 2016 via iPhone
    5
    感觉如果后续是 ar&vr ,为什么要去看网络和多线程?直接去找 ar 相关就是了,这方向跟系统无关吧
    zonghua
    zonghua
    Aug 17, 2016
    6
    我想去学模拟电路,用一下 CAD 什么的
    mason961125
    mason961125
    Aug 18, 2016
    7
    @billlee 为什么是 SOCKS4 而不是 SOCKS5 ?
    changzh
    changzh
    Aug 18, 2016 via iPhone
    8
    @mason961125 因为 socks5 多出来的东西会增加难度 初学者没必要做 4 的内容已经足够了
    mason961125
    mason961125
    Aug 18, 2016
    9
    @changzh 我之前做过一个简易的 SOCKS5 代理,和 ss 差不多的东西。实现的也只有最基本的东西,认证什么的也没有去管,难度其实并不大。
    em70
    em70
    Aug 18, 2016
    10
    技术能速成? 你这个目标太激进了
    shijingshijing
    shijingshijing
    Aug 18, 2016❤️2
    11
    楼主,真心一劝,图像处理和 AR 下面都分的很细,都是大坑。我碰到过真正的图像和算法大牛, C 和 C++一句不会,只会用 Matlab ,我们当时一直的看法是,这是一个大后期。。。

    学到最顶层了,全是矩阵变换。
    pubby
    pubby
    Aug 18, 2016
    12
    @mason961125 只实现 CONNECT 的都差不多,再加上 BIND 和 UDP ASSOCIAT 就麻烦很多
    changzh
    changzh
    Aug 18, 2016 via iPhone
    13
    @mason961125
    非阻塞模式下 怎么处理两边速度比匹配的问题
    比如与客户 1M 带宽 与服务器 1G 带宽 客户代理了下载
    booboo
    booboo
    Aug 18, 2016
    14
    linux 应用开发都没掌握就做驱动开发,那应该就是最简单的驱动,框架都是别人写好的吧
    kevinhwang
    kevinhwang
    OP
    Aug 18, 2016
    15
    @zonghua 一般都用 CADENCE 的 ORCAD 和 ALLEGRO ,兴趣还好,工作还是慎重。
    kevinhwang
    kevinhwang
    OP
    Aug 18, 2016
    16
    @booboo 非原厂都是二次开发,修修改改。
    codesun
    codesun
    Aug 18, 2016
    17
    有硬件方面的知识,学习内核态开发应该是相对容易的,何苦做用户态开发?
    kevinhwang
    kevinhwang
    OP
    Aug 18, 2016
    18
    @shijingshijing 感谢提供的信息,现在还在观望,意志不太坚定。
    kevinhwang
    kevinhwang
    OP
    Aug 18, 2016
    19
    @codesun 时代不一样了,应用为王啊。平台都是大厂提供(大牛一般在大厂),像谷歌提供的 android ,是嵌入式分支,以后都会朝这个方向发展的。
    hitmanx
    hitmanx
    Aug 18, 2016 via iPhone
    20
    1 。有一本比 apue 浅,作为读 apue 前的铺垫很不错: https://m.douban.com/book/subject/4253716/

    哈佛大学的教授写的,虽然名字叫“ xxx 大学教程”,实际是中文翻译的问题

    2 。 ar 这些与 linux 其实是两个方向。虽然最后 ar 的产品可能是基于嵌入式 linux ,但是在大公司里,搞 ar 的和底层 linux 开发的肯定是两波人。如果你真心想搞 ar vr 的话,应该往算法方向靠靠,前提是你觉得搞些偏数学的东西不会让你感到枯燥
    Zachary
    Zachary
    Aug 18, 2016
    21
    看到了这个帖子我才知道 SOCKS 这个东西。。。。好惭愧
    waruqi
    waruqi
    Aug 18, 2016
    22
    这年头还用啥 makefile ,直接用我的 xmake+tbox 吧。。嘿嘿
    zonghua
    zonghua
    Aug 18, 2016 via iPhone
    23
    @shijingshijing 程序员只是做个翻译了?
    zwyc
    zwyc
    Aug 18, 2016❤️2
    24
    这技能线路真感人。劝楼主还是需要好好打听一下这些方向再做决定。

    我知道的国内一家做图像大厂的团队结构:

    A : 50 人左右做算法研究。大部分是博士,看重发过顶会的文章(CVPR etc.),只有纸笔和 matlab 。
    B : 10 人左右做算法优化。把算法团队做的东西优化到不同的架构: CPU SIMD , GPU , DSP etc ,看重体系结构,编译器优化方面的经验。
    C : 还有一个团队做平台移植(人数未知)。比如从一种 OS 到另外一种等。看重驱动,内核方面的经验。

    感觉每个方向都不小,楼主打算从 C 到 A 都来一遍么。。。
    shikimoon
    shikimoon
    Aug 18, 2016
    25
    楼主本科毕业的话,应该没这么做过研究看过 paper ,更别提发 paper 了,想要深入图像处理有些困难
    shijingshijing
    shijingshijing
    Aug 18, 2016❤️3
    26
    @zonghua 对的,一般图形图像处理,虚拟现实还有其他 3D 相关的,最顶层都是数学,各种矩阵变换,投影,涉及图像处理的还必须掌握数字信号处理,学过通信的都知道信号处理是大坑,傅立叶变换, Z 变换,拉普拉斯变换,时域变频域,复域分析,小波分析都是入门技能。再上去还一堆高级算法,图像增强,去噪,配准,特征提取,特征匹配,合成,模式识别,这还有一堆人工神经网络,主组元分析,机器学习等设计人工智能的算法;这些都会了上面还有每年更新的国际顶级会议的 paper 等着你, CVPR , PAMI , SIGGRAPH , ICIP 等等,这些都会了你凑合可以去读个图像方面的博士了,能不能毕业是另外一回事,能毕业你得有自己的 idea ,能出新的算法。

    等等,你以为这就完了么?这只是二次元的图像,放到三维空间里你把上面的过程还得重来一遍,有另外一套系统等着你。

    对了,上面忘记说了,最新的方向还有 High Performance Compunting 没放进去。 CUDA 加速什么的,这又是另外一个大坑。

    最后,说多了都是泪。。。。。 少年,你还是好好撸你的 web 开发、 app 开发和 Linux 底层吧,听我这个刚从坑里爬出来的真心一劝,这些个来钱快。
    kevinhwang
    kevinhwang
    OP
    Aug 18, 2016
    27
    @shijingshijing 还好来 V2 问了,心里已经有答案了,业余搞搞,会移植会调用 API 就心满意足了:)
    extreme
    extreme
    Aug 18, 2016
    28
    @hei1000 我也买了 TLPI 哈哈,我虽然没看完 TLPI 下册,不过刚刚去网上看了下 APUE 的目录,好像基本都在 TLPI 了解过了。
    而且 TLPI 下册还有挺多 APUE 没有的内容。
    Tianqi
    Tianqi
    Aug 18, 2016
    29
    lz 这技能树可以考虑转服务器
    billlee
    billlee
    Aug 18, 2016
    30
    @shijingshijing 楼主学 EE, 线性代数、信号处理的基础应该不差的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2322 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 13:23 · PVG 21:23 · LAX 05:23 · JFK 08:23
    ♥ Do have faith in what you're doing.