V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
kevinhwang
V2EX  ›  Linux

如何改行成为 Linux 开发?

  •  
  •   kevinhwang · 2016-08-17 16:15:44 +08:00 · 6606 次点击
    这是一个创建于 3019 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    30 条回复    2016-08-18 21:23:33 +08:00
    billlee
        1
    billlee  
       2016-08-17 19:59:32 +08:00   ❤️ 3
    看 APUE, 然后自己写

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

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

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

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

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

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

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

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

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

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

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