第一篇:程序员入门进阶手册
这篇文章,我主要是让你成为更为专业的入门程序员。请注意,此时,你可能需要读一些比较枯燥的书,但我想说,这些是非常非常重要的。你一定要坚持住。
编程技能
在系统地学习编程技能之前,我希望你能先看一下 “ The Key To Accelerating Your Coding Skills”,这篇文章会告诉你如何有效地快速提高自己的编程能力。然后接下来是下面几大块内容,但还只是入门级的。
编程技巧方面这个阶段,你可以开始了解一下 Java 语言了,我个人觉得 Java 是世界上目前为止综合排名最好的语言。你一定要学好这门语言。推荐《Java 核心技术(卷 1)》,除了让你了解 Java 的语法,它还会让你了解面向对象编程是个什么概念(如果你觉得这本书有点深,那么,你可以降低难度看更为基础的《Head First Java》)。然后,既然开始学习Java 了,那就一定要学 Spring,推荐看看《Spring in Action》或是直接从最新的 Spring Boot 开始,推荐看看《Spring Boot 实战》。关于 Spring 的这两本书,里面可能会有很多你从来没有听说过的东西,比如,IoC 和 AOP 之类的东西,能看懂多少就看懂多少,没事儿。
操作系统。这里你可以看看《鸟哥的 Linux 私房菜》,这本书会让你对计算机和操作系统,以及 Linux 有一个非常全面的了解,并能够管理或是操作好一个 Linux 系统。当然,这本书有很多比较专业的知识,你可能会看不懂,没关系,就暂时略过就好了。这本书的确并不适合初学者,你能看多少就看多少吧。
网络协议你需要系统地了解一下数据库设计中的那些东西,这里推荐慕课网的一个在线课程--“数据库设计的那些事”。每个小课程不过 5-6 分钟,全部不到 2 个小时,我相信你一定能跟下来。你需要搞清楚数据的那几个范式,还有 SQL 语句的一些用法。当然,你还要学习和使用一下数据库,这里推荐学习开源的 MySQL。你可以看官方文档,也可以看一下这本书《MySQL 必知必会》。 前端方面在你处理中文时有时会发现有乱码出现,此时需要了解 ASCII 和 Unicode 这样的字符编码。这里推荐一篇文章Character encoding。还有 Github 上的这两个 Awesome 仓库:Awesome Unicode 和 Awesome Code Points。
为什么转成 Java 语言?
相信你可能会问,为什么之前学习的 Python 和 JavaScript 不接着学,而是直接切到 Java 语言上来,这样会不会切得太快了。这是一个好问题,这里需要说明一下,为什么我会切到 Java 这个语言上来,主要是有以下几方面考虑。1.Java 是所有语言里面综合实力最强的,这也是为什么几乎所有大型的互联网或是分布式架构基本上都是 Java 技术栈。所以,这是一个工业级的编程语言(Python 和 JavaScript 还达不到这样的水准)。
2.之所以,没有用 Java 来做入门语言而是用了 Python,这是因为编程是一件比较费脑子的事,一开始学习时,兴趣的培养很重要。Python 比较简单,容易上手,能够比较容易地提起兴趣,而用 Java 则可能比较难。3.在你有了一些编程语言的基础后,有了一些代码的逻辑后,切到工业级的编程语言上来,更为专业地学习编程,是非常有帮助的。像 Python 和 JavaScript 这样的动态语言用着是很爽,但是,只有像 C、C++ 和 Java 这样的静态语言才可以让你真正地进阶。
4.对于一个合格的程序员,掌握几门语言是非常正常的事情。一方面,这会让你对不同的语言进行比较,让你有更多的思考。另一方面,这也是一种学习能力的培养,会让你对于未来的新技术学习得更快。很多时候,一些程序员只在自己熟悉的技术而不是合适的技术上工作,这其实并不好,这会让你的视野受限,而视野会决定你的高度。综上所述,这就是在入门的时候我故意让你多学几门语言的原因。
编程工具
编程工具方面,你需要开始学习使用下面这些工具了。
编程的 IDE。传统一点的,你可以使用 Eclipse。当然,我推荐你使用 Intellij IDEA。这两个工具都可以开发各种语言,但是主要用在 Java。如果你想玩得更时髦一些的话,使用 Visual Studio Code 也不错,这个工具潜力十足,用其开发 Python、JavaScript、Java、Go、C 和 C++ 都能得心应手(教程-本文发布时还基本没怎么翻译完)。
版本管理工具。版本管理工具是非常重要的编程工具。传统的有 P4、SVN、CVS 等,但都会被 Git 取代,所以,你就只用学习Git 就好了。学习Git 的教程网上有很多,这里我推荐非常系统的 Pro Git 第二版(如 果你觉得 Pro Git 比较枯燥的话,备选猴子都能懂的 Git 入门),然后你要学会使用 GitHub。关于一些 Git 环境安装和准备以及 GitHub 使用,你可以自行 Google(比如:这篇Github and Git 图文教程 或是这篇Git 图文教程及详解)。
调试前端程序。你需要学会使用 Chrome 调试前端程序,Google 一下会有很多文章,你可以看看 超完整的 Chrome 浏览器客户端调试大全。 数据库设计工具。你需要学会使用 MySQL WorkBench,这个工具很容易使用。相关的手册,你可以看一下官方文档。
实践项目
这回我们需要设计一个投票系统的项目。业务上的需求如下:
用户只有在登录后,才可以生成投票表单。投票项可以单选,可以多选。
其它用户投票后显示当前投票结果(但是不能刷票)。投票有相应的时间,页面上需要出现倒计时。
投票结果需要用不同颜色不同长度的横条,并显示百分比和人数。
技术上的需求如下:
这回要用 Java Spring Boot 来实现了,然后,后端不返回任何的 HTML,只返回 JSon 数据给前端。
由前端的 JQuery 来处理并操作相关的 HTML 动态生成在前端展示的页面。
前端的页面还要是响应式的,也就是可以在手机端和电脑端有不同的呈现。这个可以用 Bootstrap 来完成。
如果你有兴趣,还可以挑战以下这些功能。
在微信中,通过微信授权后记录用户信息,以防止刷票。 可以不用刷页面,就可以动态地看到投票结果的变化。
Google 一些画图表的 JavaScript 库,然后把图片表得风骚一些。
小结 上面那些书和知识你要看完,还要能理解并掌握,我估计你最少也要花 1-2 年左右的时间。如果你能够走到这里,把前面的那些知识都了解了,不用精通,能独立地做出上面的那些实践项目,那么,你就算是真正的入门了。
而且,你已经是一个 “ 全栈工程师 ” 的样子了,在这里我要给你一个大大的赞。如果这个时候,你对编程还有很大的热情,那么我要恭喜你了,你可能会是一个非常不错的程序员。加油啊!
上面的那些技术已经算是比较专业的了。如果你已经大致掌握了,我相信你可以找到至少年薪 20 万以上的工作了,而且你的知识面算是有不错的广度了。但是深度还不够,这个时候,是一个比较关键点了。
你可能已经沉醉在沾沾自喜的骄傲的情绪中,那么你也可以就此止步,加入一些公司,在那里按部就班地完成一些功能性的开发,成为一个搬砖的码农。你也可以开始选择一个方向开始深入。
我给你的建议是选择一个方向开始深入。因为你并不知道你未来会有多大的可能性,也不知道你会成为什么样的人,所以为什么不再更努力一把呢?
后面,我们就开始非常专业的程序员之路了。这也是一般程序员和高级程序员的分水岭了,能不能过去就看你的了。
第二篇:视频会议入门手册
关于技术
Q 1.什么是视频会议系统?
A
视频会议是利用现有通信网(包括各种传输网络)和数字信号压缩处理技术,将音视频和数据信号处理后传到远端,实现面对面的交流。其交流形式为点到点,点对多点。主要设备包括MCU(多点控制单元)、视频会议终端、网关、网守和相关的配套外围设备。如显示设备,音响系统等。
Q 2.视频会议系统的作用是什么?
A
视频会议可以实现数据、视频、语音应用的有机融合与网络资源的高效利用,与远在千里之外的人进行面对面交谈,做到远在天边,近在咫尺,并能够随时自主地组织和召开会议,进行业务调度、远程管理、信息交流、技术培训等等,节约时间和差旅经费,大大提高工作效率。
Q 3.视频会议的发展趋势?
A
视频会议的发展经历了四代:
第一代是70年代。采用模拟传输,占用带宽大(960个话路),因此用户极少。
第二代是80年代。其传输由模拟转为数字传输,由最初的数字静态传输到动态图像传输,占用带宽8—34Mbps。
第三代为90年代。视频会议采用了国际电联(ITU)标准H.320。正是进入商用领域。传输带宽为64Kbps-2Mbps。
第四代为21世纪。视频会议进入多媒体通信。基于国际标准H.323和SIP,将音频、视频和数据融合与一体。适用于不同的用户,不同需求的融合通信。
Q 4.视频会议系统对网络的需求是什么?
A
视频会议系统可以广泛运行于IP、ISDN、FR、DDN、卫星网络等各种网络环境中。华为终端提供E1、IP、ISDN等多种线路接口。
Q 5.建立视频会议系统的成本包括那些?
A
视频会议系统的建设成本分为建设费和使用费。建设费是一次性投资,包括视频会议设备的购买费用,基础网络的建设费用和会议室的装修费用。使用费主要包括网络的使用费用,如电信线路的租费等。
Q 6.视频会议有哪些国际标准? A
视频会议行业的国际标准是由ITU(国际电信联合会)和IETF(国际工程师组织)制定的。主要以字母H开头。
视频会议行业的国际标准有H.320、H.323和SIP(H.324)三个主要的标准集。其中H.323是目前主流的标准。SIP是已经确定的下一代标准。常用的算法如下:
图像处理算法有:H.261、H.263、H.263++和H.264
图像清晰度:CIF(VCD)、4CIF(DVD)和10CIF(HD,16:9数字高清电视)
声音处理算法有:G.711、G.722、G.722.1 Annex C、G.723、G.728和G.729
声音清晰度:3.4KHz(电话音质)、7KHz(调幅收音机音质)、14KHz(调频收音机音质)和20KHz(CD音质)
双流算法有:H.239
加密通信算法有:H.235
Q 7.采购视频设备的时候需要注意什么?
A
稳定性、安全性、音视频质量、产品可扩展性、售后服务和性价比。
Q 8.在采购视频设备时,采用整体解决方案的好处是什么?
A
采购整体解决方案好。
整体解决方案不存在兼容性问题,先进技术的先进功能能够充分体现统一的管理平台,统一的操作界面,统一的技术支持。不存在售后服务扯皮问题。
华为实业界少数几个能提供端到端整体解决方案的厂家之一。
Q 9.视频会议的使用地点只能在会议室里吗?
A
传统的视频会议必须在会议室里召开。
最新的技术能够让参会人员在自己的办公桌的电脑上召开和参加会议,可以在出差的路上使用3G手机参加视频会议。
Q 10.视频会议除了能在单位内部使用,还能和兄弟单位开会吗?
A
可以。视频会议系统在满足单位内部使用的同时,还可以和由此类设备(符合相同国际标准协议)的兄弟单位开会,甚至可以和国外的合作伙伴开会。
Q 11.视频会议系统除了开会还能做什么?
A
视频会议除了基本功能开会外,视频会议还可以用于:远程应急事件处理、远程消防指挥、远程指挥、远程司法办公、远程教学、远程医疗、生产调度等等。
Q 12.华为的视频会议终端有什么特点?
A
华为于2006年在中国宣称其第四代视频会议终端ViewPoint8000已全面支持高清标准。在新一代的产品中,华为的技术优势体现得淋漓尽致。所有产品均支持H.264编码技术、4CIF高清晰图像、宽频语音(AAC-LD)和高清晰数据传送,最高可以提供8M会议带宽,为用户提供DVD画质的高清晰图像。而且秉承了华为产品的优良传统,ViewPoint8000系列仍然采用硬件功能一体化设计,所有功能均集成与一体,无需增加任何辅助硬件。新产品的内置MCU功能更是为用户提供了便捷丰富的多点会议方式,分屏显示及多画面功能让用户体验到视频会议的乐趣。
Q 13.华为的H.239技术有什么优点?
A
华为产品具备了市场上最全面的双流功能(H.239)。双流功能的实现是全内置的,不需要任何附加硬件。华为公司的双流模式包括:
活动图像+XGA(1289×1024)双流
活动图像+活动图像双流
活动图像+幻灯片双流(软件双流)
Q 14.华为 的MEPG4 AAC-LD音频编码技术有什么优势?
A
MEPG4 AAC-LD音频编码技术可以在32-64Kbps速率下提供20KHz宽带CD级音频,并且可以同时支持立体声传输技术。
Q 15.Aethra的AES加密技术有什么优点?
A
Aethra的AES加密技术严格遵守ITU H.235标准。保证了视频会议的安全通讯。
Q 16.如果用户在视频会议中有文档需要演示可否实现?
A
华为是业内实现双流功能最强大的厂家。用户有文档演示需要时可以通过视讯产品的双流功能进行传送,在显示设备上同时观看远端回传的人物图像和演示内容(演示内容可以是PC画面,也可以是辅助视频)。同时华为 MCU完全支持双流功能,和双流功能的级联。这意味着在多点会议中,用户可以任意发送双流,所有与会者均可以看到,即使通过MCU级联,一样可以实现。
Q 17.华为MCU的特点是什么?
A
华为MCU是业界最稳定的MCU,MCU架构基于广泛应用的电信交换机平台,成熟稳定,板件基于VxWork嵌入式实时操作系统,核心模块全部备份(主控、会议控制、交换、混音、时钟、呼叫)。采用高速多媒体总线结构主控模块和功能模块分离设计,面向端口设计的新理念,参加会议的所有用户都可以采用不同的音频视频协议、不同的速率、不同的分辩率入会,而传统的MCU只能支持一个会议采用某个固定的协议、速率和分辩率。华为 MCU还自带GK功能能够轻松实现会议的预约、召开,视频终端的呼入、呼出等。
Q 18.华为 MCU在多台级联使用时,是只能由各地的管理人员分别管理,而无法做到跨MCU的会议级联集中管理吗??
A
不是。华为公司的MCU可以在同一台PC机上同时控制多台MCU,并可以跨越多台MCU进行会议级联的集中控制管理。无论管理人员身处何处,通过密码进行认证,都可以实现对全网MCU的管理控制。
Q 19.华为的MCU支持那些呼叫方式?
A
Aethra MCU可以支持的呼叫方式如下:
1.不使用GK的直接IP呼叫:
2.注册到网守系统(GK),实现别名呼叫呼叫
Q 20.用户想同时看到多个会场的图像怎么办?
A
华为系统支持多分屏会议,可以在一个会场同时看到多个会场,从单屏到16分屏共有几十种不同的分屏方式,会议中,会议管理人员可以随时直接控制分屏方式。
Q 21.在会议中,用户能不能控制其它会场的摄像头?
A
华为的所有终端都支持FECC,即远程摄像机控制,在点对点的呼叫中可以轻松实现对远端摄像机的控制。华为的MCU同样支持FECC,因此,在多点会议中同样可以通过遥控器遥控其他会场的摄像机。
Q 22.华为在视讯领域有哪些关键事件?
A
华为自94年进入视讯领域,迄今为止,里程碑如下 :
l
1995年,华为推出国内首套自主知识产权的视讯终端ViewPoint® 1000。l
1997年,推出国内首套完整的ViewPoint® 2000视讯系统。
l
2000年,华为发布业界领先的ViewPoint® 8000电信级视讯系统。
l
2001年,ViewPoint® 8000 服务上海APEC会议。
l
2002年,ViewPoint® 8000 服务亚洲博鳌论坛。
l
2002年,承建全球覆盖面最广的企业视讯网络-中国远洋运输(集团)全球会议电视网。
l
2003年,ViewPoint® 8000 被国家科技部列为国家重点新产品。
l
2003年,ViewPoint® 8000 视讯终端获得国际IF造型大奖,是目前同类产品中唯一获得的此项大奖的产品。
l
2004年,中国电信采用ViewPoint® 8000 构建的新视通网络完成验收,标志着全球最大的视讯运营网投入运行。
l
2005年6月,华为在国内首家发布具有自主知识产权、支持H.264的标准高清视讯系统,标志着国内视讯技术已经完全和发达国家同步。
l
2006年6月,华为在新家坡亚太展发布主题为“实用的技术,贴心的伙伴”的中小企业视讯解决方案,标志华为已开始关注极具市场潜力的中小企业市场,并已全面启动其海外市场推广计划;
l
2006年9月,华为经过和业界主流厂家的对比测试,一举中标,这是我国通信设备第一次进入联合国应用;
Q 23.华为在视讯领域地位如何?
A
统计数据(Key Message)如下:
l
华为视讯产品市场地位国内第一,全球第四;
l
华为视讯终端06年累计出货7000台,华为已成为业界一流的视讯产品供应商;
l
华为是中国电信、中国移动、中国网通、铁通、国电、南方电网、俄罗斯中央电信、泰国AIS、等全球用户的合作伙伴;
l
视频会议领域重要组织ITU-T、Wainhouse的主要参与者;
l
截止到2006年Q1,固网终端已获得授权100多件; l
国内唯
一、业界少数几个具有自主知识产权H.323协议栈的厂家之一;
l
业界规模最大、技术最先进的专业图像实验室和声音实验室.关于多媒体会议室
Q 1.多媒体会议室需要具备哪些功能?
A
多媒体会议室除了要满足传统简单的会议要求外,还应具有高雅格调和优美音质、清晰图像演示,并且可以根据要求配备同声传译系统和投票表决功能以及会议电视系统。
它由大屏幕显示、多媒体音视频信号源、音响、切换和中央集成控制几大部分组成。选取具备先进功能的DVD和录像机以及实物和图文传送器通过大屏幕投影机还原其图像,为了更高效、实时地指挥需要配备一套中央集成控制设备,控制室内所有影音设备、信号切换、灯光、屏幕升降、音量调节等等功能,大大提高工作效率和简化复杂的操作,能适合所有人士使用而不需要具备专业知识。
我们可以将多媒体会议室系统分成几个子系统:投影显示系统、会议扩声系统、中央集成控制系统、多媒体音视频系统和视频会议系统。
Q 2.如何布置会议室的颜色?
A
影响画面质量的另一因素,是会场四周的景物和颜色,以及桌椅的色调。一般忌用“白色”、“黑色”之类的色调,这两种颜色对人体将产生“反光”及“夺光”的不良效应。所以无论墙壁四周、桌椅均采用浅色色调较为适宜,如墙壁四周米黄色,浅绿,桌椅浅咖啡色等,南方宜用冷色,北方宜用暖色。
Q 3.如何布置会议室的灯光?
A
灯光照度是会议室的基本必要条件。摄像机均有自动彩色均衡电路,能够提供真正自然的色彩,从窗户射入的光(色温约5800K)比日光灯(3500K)或三基色类(约3200K)偏高,如室内有这两种光源(自然及人工光源),就会产生有蓝色投影和红色阴影区域的视频图像;另一方面是召开会议的时间是随机的,上午、下午的自然光源照度与色温均不一样。因此会议室应避免采用自然光源,如果采用人工光源,所有窗户都应用深色窗帘遮挡,并且应选择冷光源,诸如“三色基灯”(R、G、B)效果最佳,避免使用热光源。
Q 4.如何减少会议室的回声和噪音?
A
a 为保证声源与吸声效果,室内应该铺有地毯、天花板、四周墙壁内都装隔音毯、窗户应采用双层玻璃,进出门应考虑间隔装置。
B 为保证声缘与吸声效果,室内一般需要铺地毯、挂遮光窗帘、配置吸音吊顶、包门等。同时吸声不要过量,避免声音干涩。声音信号输入功率放大器之前,应采用均衡器和反馈抑制器进行处理,以提高声音信号的质量。
C 为减少会议室的回声,使用尽可能少的麦克风,因为麦克风越多,越容易产生回声,引入的背景噪音会越强。
关键词
H.323
——是ITU-T制订的一套在分组网上提供实时音频、视频和数据通信的标准。
H.320
——是ITU-T制订的在ISDN和交换电路网络上提供实时音频、视频和数据通信的标准。
SIP
——是一个基于文本的应用层控制协议,用于建立、修改和终止IP网上的双方或多方多媒体会话的软交换协议。
H.239
——是在一个视频会议中用于使用、控制和标注两个同步视频通道的 国际标准。
H.264
——是国际电联最新通过的新一代甚低码率视频编码标准。
H.241
——是定义了如何在原有的H.300系列终端间应用H.264视频 编解码标准进行通信,废除了一一些不再适合H.264使用的信令,重新定义了一些扩展信令 来支持H.264。
H.350
——是一个视频会议目录服务的新标准。
G.722.1
——新标准G.722.1,能够在24或32kbps速率下提供7kHz的音频带宽,是普通电话呼叫质量的两倍 多,所用速率仅为先前标准的一半。
AAC_LD
——是一种提供最大清晰度和理解力的CD质量音频的编解码标准。
AGC
——自动增益控制。即指用户声音突然变化的情况下,不会对收听者产生较大的影响。介绍一个可行测试方法:保持环境安静,在距麦克风远近不同的地方讲话,远端倾听声音的变化情况,应无明显区别。
回音抑制
——当用户使用视频会议产品时,如果用的是喇叭加麦克风的组合,那么由于喇叭里放出的声音会被麦克风采进去,这样就形成回音,就好象我们在空旷的山谷里说话一样。好的视频会议产品都应该具备回音抑制的功能,用户使用时不会听到自己的声音。
噪音抑制
——顾名思义,我们使用视频会议时的环境是不可能完全没有噪音的。这里介绍一下可行的测试方法:发送端念一段报纸,麦克风旁摆放带风扇的机箱,或开启室内空调、风扇等发声设施。接收端收听声音以辨别质量。如果有噪音抑制可选项,则打开与关闭将有明显的语音质量区别。
数据协同会议——视频会议,尤其是网络视频会议,并不单纯使用声音和视频来展开会议。同时还可以应用其它网络数据传送手段来达到普通会议的功能,甚至超越普通会议。典型的数据协同会议应用模式有:电子白板;文字共享;桌面共享;文件共享;应用程序共享等。随着技术的发展,势必将有更多的协同功能的发展。
此文章来自:中国视讯论坛 http://www.xiexiebang.com/,原文地址:http://www.xiexiebang.com/viewthread.php?tid=3285
第三篇:php程序员入门必读
php程序员入门必读
php程序员入门必读:
1.概要:学习任何语言都需要多看、多想、多写、多问!写编程是一种熟能生巧的东西!学习PHP也一样,因为知识就那么多,你看多了就会觉得怎么都一样。
程序员就是炒冷饭的,一遍又一遍。代码多敲几遍就可以闭着眼睛写了,所以企业招聘都会问你写过多少行代码的!程序员最忌讳浮躁,有时候发现一段程序完全找不出错误,仅仅是因为少了或多了一个符号,程序员需要的是细心,粗心的人当不了程序员!
2.php参考手册是必须熟知的,有的新手会问一些很基础的问题,其实手册上面都有,所以建议新手先把手册看了,最好把常用函数抄几遍!再敲几遍手册里的代码。
当你把手册里的东西都熟悉了,你遇到问题的可能性就很小了。当然mysql手册,也要看一下,但可以不先看的那么细!至少要知道常用的sql语句,这是必须的!
3.觉得php最好的东西就是,网上能找的开源项目很多,而且一些都是大项目的。所以建议php程序新手可以看留言板代码,先熟悉常用的数据操作,然后可 以去看一下简单的企业网站或者博客,然后可以去研究一下ecshop之类,当你看懂这些,你可以去看看discuz,phpwind论坛源码,帝国,PHP168等开源CMS系统,里面的架构都是相当强悍的,当然这不是新手需要去做的,但是 总要有个做将军的理想!
4.要习惯,遇到问题自己先解决,在网络时代,要学会用百度,这是必须的。当你实在没法解决的时候再去寻求别人的帮助!
5.当你写完一个程序的时候,要学会分享出去,因为你是新手,你的程序也许会有很多不完善的地方,所以分享你写的程序对你更有益!多分享多交流!才
会让你写的程序更精!
6.记住,学了php你要不只是学会php,你要学会分析一个项目的实现方式或者一个程序的实现方式。都说算法是语言的基础,要学好php,你还得去学习和运用算法去实现你的程序,学会用算法可以用于任何语言,学会用php你只能用php.
第四篇:PHP程序员入门Plus
PHP程序员入门Plus
这篇文章和MySQL的那个一样,本文其实并不专指PHP,仅仅是因为搜索引擎的关系才用了这个名字。
我解除了很多新的不能再新的新人,发现新人的通病是不明白怎么做程序员,这是一个思想境界的问题,只能依靠顿悟,本文的作用也只是点拨,希望能对你有所帮助吧。
程序和语言
在我看来,哲学是一切知识的基础,艺术、语言、数学都是已不同的方式对哲学思想的表达,程序其实也是如此,它介于语言和数学之间。
程序,可以认为是过程和顺序的简称。和那句名言“万物皆对象”类似的,万事皆程序。如果说物是名词,那么事就是动词,所有的事都是有序发生的过程。我们不承认“莫须有”的原因导致的结果,只是可能我们还没有搞清楚而已。
也许你会认为C、Java、PHP、Perl之类的东西写出来的东西叫做程序,其实这只是表象。各种开发语言本质上和汉语、英语没有什么不同。也就是说,如果你能用汉语表达,那么就能用其他语言表达,最多可能需要借助翻译软件、词典等工具而已。对于C、Java、PHP来说,翻译软件可能没有,但是词典还是很容易找到的,那就是开发手册。不要迷信各种书籍、培训、视频,开发手册才是真正能帮到你并一直陪伴你的东西。
什么是程序员
程序员是指掌握了某种计算机语言的家伙,程序员可以把自然语言翻译为计算机可以识别的内容。没错,就是个翻译。
那么你就会问,我没吃过猪肉还没看过猪跑吗?翻译谁不会?可是为什么我还是写不出程序呢?
答案就是你还没顿悟。元芳你怎么看这句话知道吗?楼主你妈喊你回家吃饭这句话你知道吧?甄环体知道吗?都不知道?没关系,其实我的意思就是,你需要按照计算机的方式组织你的语言,这样的语言才能更容易的翻译为程序语言。
非程序员是没有这个觉悟的,这就是为什么开发之前都要进行需求分析的原因。客户告诉我们现实中发生了什么事情,需求分析的任务就是考虑怎么把这些事情在计算机上重现。
再举个例子,“我想在屏幕中间显示一个红色方框”就是客户的表达方式,而作为程序员,你应该这样理解这句话:使用代码为ff0000的颜色填充一个正方形并显示在屏幕上,且正方形距离屏幕顶部的距离和距离屏幕底部的距离相等,正方形距离屏幕左侧的距离和距离屏幕右侧的距离也相等,然后立刻抛出问题,正方形的边长是多少?客户如果回答50,那么我们就得到了一个常量,如果客户回答不一定,那么就知道边长是个变量。
这是一个矫枉过正的例子,现实中绝对没有这么二,但是其实差不多。
我该怎么做
计算机语言中的各种对象、函数其实就像是木匠手中的榔头和锤子。但是唯一的麻烦就就是:如果你是个木匠,我让你帮我做一套家具,你会明白一套家具至少包括柜子、床、书桌、椅子,因为你家有家具,而且你用过,并且知道大致的结构;可是你是个程序员,我让你帮我做一个电子商城,谁家有电子商城,谁用过电子商城(指后台),谁知道它是个啥东西拼起来的;这就是结症。
初学者最缺乏的是经验,经验依靠累计,不要去思考我学了半天还不会做网站的问题。网站是个统称,是个类,你应该已其实例为目标,比如,今天做个网页,展示一下我家的装修效果,明天做个网页发表一下我的学习经验,后天做个网页让大家给我留言。这种累积式必不可少的过程。
如果你还不理解,我真的没办法了。最后尝试用一种玄幻的风格告诉你答案:程序员就如修真者,而且是老厉害那种,言出法随,我让你输入6个字母作用户名你就不可能写5个,我让你填密码你就别想空着,只要你想,你就可以去做,别人喜欢不喜欢是别人的事(不过悲催的是给不给工钱也是别人的事)。
亲,加油吧,努力顿悟,早成正果!
如果你有什么意见和想法可以点击这里打开原文地址并通过回复的方式告诉我,只有注册用户才能回复哦。呵呵。
第五篇:程序员入门要学多久
程序员入门要学多久
程序员入门要学多久,那要看你通过什么样的渠道去学习,而且还要根据个人的情况来定,比如说自制力、时间是否充裕、对程序员的热情。程序员入门学习的方式主要有两种:培训和自学。某种意义上讲视频教学也属于自学。
培训:市面上程序员入门培训的时间在3~12个月不等。只有个别的方向根据培训内容的不同在三个月以下、一年以上。而在3~12个月之间,又以四个月最为见长。这样的一个时间段里,如果培训机构靠谱些,再加上你个人的努力,是可以胜任编程类基础性的工作。
例如一些热门的编程语如Java、HTML、Python等等,培训时间基本都是四个月上下。这也是一些比较传统的IT行业方向,基本都是以一门单一的编程语言作为整个工作的重点。
而对于一些复合性较强、应用范围比较广的岗位方向从业的程序员,入门学习的时间都在4个月以上。
比如IT里的新兴行业大数据和底层信息安全等。
要想学好大数据最好是理工科成绩过硬,这样以后的发展天花板高得多。前期你要有编程语言的基础,后期要培训自己的数据思维、统计学思维。
而底层信息安全,入门就需要有几门编程语言做基础,中期的Windows原理方方面面知识、安全知识、最后的实战技能,是一个知识量众多的行业方向。
比如我们机构15PB信息安全教育,培训时间就是7个月。相信很多打算培训或培训过的小伙伴都会觉得时间很长,但是7个月,已经是在保证授课质量的前提下,能达到的最短时间了。
自学:由于个人自制力和悟性的不同,自学的时间也有长有短,就总体情况来说四个月的培训课程一般的自学时间都在一年以上。我们机构7个月的课程,如果个人自制力够好、悟性够高入门自学时间也要2~3年,深入一些时间就更长了。我们机构的大BOSS任晓珲,自学时间长达4~5年。
个人建议:不管程序员入门学习要学多久,最终的目的都是获得一份工作进入一个行业。
而要想快速而有效率的的进入一个行业,培训要比自学更合适一些,它能解决方向上的问题,避免自己在自学的过程中没有侧重点的去学习,对就业方面的问题也有一定的帮助。培训机构肯定比你了解掌握什么样的知识、什么样的技能能找到工作。