未来IT行业的掌控者
(题外话,我发现很多高手都喜欢讲代码实现,喜欢贴代码贴图,我个人不大喜欢这种方式,我觉得最重要的是思想,是想法,具体的实现代码实现步骤由读者自己去实现。这纯属我个人喜好,望各大内高手勿喷,可能是本人水平还未达到的原因吧!)
未来的IT行业不是由知识量大的人所掌控,而是由自学能力强有独立创新思维的人所掌控!
IT行业知识更新速度快,新的知识产生速度快,如果大脑知识更新度不能与时代共进,那么注定被时代所落下!此外,光有知识更新还不够,还有一点比较重要的就是要具有独立创新思维!举个例子,在这个网络日益发展的时代,安全问题备受关注,一部分人每天想着如何让信息更安全,研究各种加密算法,除了这些人以外,还有一部分人整天想着如何破解人家的密码,如何提取加密信息,还有更猖狂的角色,脑子里正琢磨着如何盗刷别人的银行卡里的钱,为了破解,这些人于是就想出了各个方向的破解方法,比如反汇编,暴力破解,分布式拒绝攻击,渗透,逆向,社会工程学,网络监控等方式百出,他们想出来的方法花样百出,可谓是百花争艳吧,还有的方式更让人惊颤,他们得不到的话就直接把主机给毁了,毁掉的方法也多,比如通过“u盘”,这个u盘是加引号的,只是外形和u盘一样,里面可以通过电源短接方式把主机销毁;如果他们遇到了高强度,安全性高的防火墙时,他们可能会发起DOS攻击,让对方的服务器不能给合法用户提供服务,从而给对方带来经济损失,甚至让对方服务器直接死机,死机了之后对方就会重新启动系统,在这启动的短时间里就是这些攻击者还忙活的时候了,系统刚启动时,各个防火墙还没完全打开,他们就可以在这时进入主机,关闭防火墙安装后门等这些工作!
好了,扯了一些如何攻击的题外话之后该重新回到话题上来了,为什么他们会想到这么多的奇思妙想的方法呢?我只能说他们太机智了!既然他们这么机智,如果我们这些开发者,维护者不跟着比他们机智的话,那么互联网还有什么安全可言呢?抛开这些独创思维想法,我们再站在技术层级上讲,现在又陆续出现生物智能了,把超低功耗的晶片直接植入人体,通过这些超高速计算微型计算机来破解,至于具体的方法不是我等屌丝人物所能得知的!可见,如果我们在技术方面的知识不更新换代的话,无疑会被时代所抛弃!
思维创新很多时候都得建立在核心的理论基础之上,就比如说人家为什么想到反汇编,因为主机处理器运行时得一条条的跟着指令走,而这些指令集合又放在ram当中,如果我们把这些指令集提取出来不就知道处理器干了些什么不为人知的秘密了吗?由于这个集合过于庞大,为了能够方便我们这些猿猴来阅读,把它们转成汇编代码以便查阅!暴力破解就不用顺了吧,因为不管什么加密算法,你的密码永远在计算机的存储世界里永远是一串01组合,为了方便看,转为asca码,在asca码时间里,密码就永远是一串asca码的组合,把所有组合全罗列出来在时间允许的情况下一定能破解,这也是为什么ATM机一天只让你输错2次密码!
分布式拒绝攻击前面以说过,下面说说渗透吧。渗透通常是指从一网域进入另一个网域去操作那个网域的主机,这就涉及到TCP/IP协议与端口号,路由表以及IP过滤等这些东东了,对方之所以能渗透进你的网域是因为在你配置以上文件时不经意间给他人打开了一条秘密通道。
讲 IT行业就不能光说网络安全这一子类,下面就拿开发手机为例从底层硬件到上层应用软件说吧!<1>从底层的硬件电路设计开始吧,伴随着新型传感器,新型的显示技术,存储技术的不断出现,如果要在市场上博得欢心,就应该采用物美价廉的新技术,因此也就必须去了解,学习这些技术。除了硬件选型,由于现在的微处理器大都是g级频率,铺设信号线时就得考虑到时延,过冲,阻抗匹配不对时产生的回波信号而发生在门门限的震荡现象,不光有回波,有时还有驻波的存在(在频率高于100mhz时的信号线是带有较大的寄生电感与寄生电容的,),所以一般高频部分电路集中在一块,有时还得借助屏蔽层,微带线来增强信号线的稳定度。<2>在电路全都设计完工之后,得把这躯体赋予灵魂了,那就是底层软件开发了,你必须了解微处理器的工作机理,比如系统时钟,片上外设,以及外围模块的工作机理,比如sdram(多数是DDR,DDR2,DDR3,DDR4),flash(多数是landflash,norflash,emmc,SD),显示屏幕,摄像头,陀螺仪等,知道了这些就可以开始进行启动系统(bootloader)开发,配置好初始环境以引导操作系统(IOS,安卓,linux,vxworks,wince等),这一步必须能与操作系统进行对接(操作系统的入口地址,存放整个系统硬件数据参数的结构体地址,堆栈地址等这些参数都要能传递给操作系统(内核),否则引导不了操作系统,也就进不了操作系统,从而也没了后级的上层app设计工作了)!假如没有较强的自学能力与习惯的话,那就很难实现使用新技术了<3>既然已经有了操作系统接口,接下来当然是裁剪操作系统了,这一步涉及的比较深,得了解操作系统内核对进程的调度策略,进程与进程间的通信(管道,邮箱,信号量,消息队列,socket,以及内存共享等),和锁机志(比如自旋锁,互旋锁,以及一些避免发生死锁现象{类似以前windows经常出现的死机现象}的条件),除了这些还有内存管理机秩,中断机秩,还有网络这一大头(包含各种通信协议,如TCP/IP,UDP,ICMP等上千种),要做好这一步得要资深的高级工程师去完成了!<4>有了操作系统我们就能调用操作系统提供出来的api接口进行上层开发,我们能轻而易举的让屏幕显示出我们想要的图像,让扬声器播放出悦耳的旋律,假如我把操作系统给去掉,再要你去实现它,那么在裸机上开发来实现的话就麻烦多了,上层开发的语言也不断出世,也越来越好用方便,像一些面向对象的c++,qt(基于c++的类库),c#,java等,以及一些多用于网页开发的Python,php,JavaScript,CSS等,还有一些用于系统管理的脚本语言,它们让我们的开发速度与效果越来越好,如果要掌握好新而高效的编程语言,那只有靠自学,想要精通的话,那就的靠经验多领捂,多思考多琢磨,如何让效果更佳,那么也就要求在数据结构,算法上下深功夫了!为了不被IT界所淘汰,我们赶紧努力吧!!!
写的有点多,是时候说拜拜了!