课程目标包括:
◆ 精通liunx *** 作系统使用;
◆ 精通liunx下C和C++高级编程知识,熟练编写C和C++程序;
◆ 掌握ARM处理器平台及其接口硬件开发;
◆ 熟悉嵌入式Linux内核裁减移植及内核调试技巧;
◆ 熟悉嵌入式Linux下Bootloader的编写方法;
◆ 精通嵌入式Linux下常用接口的驱动开发;
◆ 掌握嵌入式liunx实际项目案例开发流程;
◆ 掌握无线通讯基本知识,2G到3G的演进和3G业务流程和主要协议。
通过本课程的学习,学员可以熟悉嵌入式Linux的开发环境,熟练掌握Linux下系统程序、网络编程、3G协议应用和业务编程,能从事3G通信系统嵌入式应用程序相关领域开发工作。
一、什么是大型网站运维
首先明确一下,全文所讲的”运维“是指:大型网站运维,与其它运维的区别还是蛮大的;然后我们再对大型网站与小型网站进行范围定义,此定义主要从运维复杂性角度考虑,如网站规范、知名度、服务器量级、pv量等考虑,其它因素不是重点;因此,我们先定义服务器规模大于1000台,pv每天至少上亿(至少国内排名前10),如sina、、,renrencom等等;其它小型网站可能没有真正意义上的运维工程师,这与网站规范不够和成本因素有关,更多的是集合网络、系统、开发工作于一身的“复合性人才”,就如有些公司把一些合同采购都纳入了运维职责范围,还有如IDC网络规划也纳入运维职责。所以,非常重要一定需要明白:运维对其它关联工种必须非常了解熟悉:网络、系统、系统开发、存储,安全,DB等;我在这里所讲的运维工程师就是指专职运维工程师。
我们再来说说一般产品的“出生”流程:
1、首先公司管理层给出指导思想,PM定位市场需求(或copy成熟应用)进行调研、分析、最终给出详细设计。
2、架构师根据产品设计的需求,如pv大小预估、服务器规模、应用架构等因素完成网络规划,架构设计等(基本上对网络变动不大,除非大项目)
3、开发工程师将设计code实现出来、测试工程师对应用进行测试。
4、好,到运维工程师出马了,首先明确一点不是说前三步就与运维工作无关了,恰恰相反,前三步与运维关系很大:应用的前期架构设计、软/硬件资源评估申请采购、应用设计性能隐患及评估、IDC、服务性能安全调优、服务器系统级优化(与特定应用有关)等都需运维全程参与,并主导整个应用上线项目;运维工程师负责产品服务器上架准备工作,服务器系统安装、网络、IP、通用工具集安装。运维工程师还需要对上线的应用系统架构是否合理、是否具备可扩展性、及安全隐患等因素负责,并负责最后将产品(程序)、网络、系统三者进行拼接并最优化的组合在一起,最终完成产品上线提供用户使用,并周而复使:需求->开发(升级)->测试->上线(性能、安全问题等之前预估外的问题随之慢慢就全出来了)在这里提一点:网站开发模式与传统软件开发完全不一样,网站一天开发上线1~5个升级版本是家常便饭,用户体验为王嘛,如果某个线上问题像M$需要1年解决,用户早跑光了;应用上线后,运维工作才刚开始,具体工作可能包括:升级版本上线工作、服务监控、应用状态统计、日常服务状态巡检、突发故障处理、服务日常变更调整、集群管理、服务性能评估优化、数据库管理优化、随着应用PV增减进行应用架构的伸缩、安全、运维开发工作:
a、尽量将日常机械性手工工作通过工具实现(如服务监控、应用状态统计、服务上线等等),提高效率。
b、解决现实中服务存在的问题,如高可靠性、可扩展性问题等。
c、大规模集群管理工具的开发,如1万台机器如何在1分钟内完成密码修改、或运行指定任务?2000台服务器如何快速安装 *** 作系统?各分布式IDC、存储集群中数PT级的数据如何快速的存储、共享、分析?等一系列挑战都需运维工程师的努力。
在此说明一下其它配合工种情况,在整个项目中,前端应用对于网络/系统工程师来说是黑匣子,同时开发工程师职责只是负责完成应用的功能性开发,并对应用本身性能、安全性等应用本身负责,它不负责或关心网络/系统架构方面事宜,当然软/硬件采购人员等事业部其它同事也不会关心这些问题,各司其职,但项目的核心是运维工程师~!所有其它部门的桥梁。
上面说了很多,我想大家应该对运维有一些概念了,在此打个比方吧,如果我们是一辆高速行驶在高速公路上的汽车,那运维工程师就是司机兼维修工,这个司机不简单,有时需要在高速行驶过程中换轮胎、并根据道路情况换档位、当汽车速度越来越快,汽车本身不能满足高速度时对汽车性能调优或零件升级、高速行进中解决汽车故障及性能问题、时刻关注前方安全问题,并先知先觉的采取规避手段。这就是运维工作~!
最后说一下运维工程师的职责:”确保线上稳定“,看似简单,但实属不容易,运维工程师必须在诸多不利因素中进行权衡:新产品模式对现有架构及技术的冲击、产品高频度的升级带来的线上BUG隐患、运维自动化管理承度不高导致的人为失误、IT行业追求的高效率导致流程执行上的缺失、用户增涨带来的性能及架构上的压力、IT行业宽松的技术管理文化、创新风险、互联网安全性问题等因素,都会是网站稳定的大敌,运维工程师必须把控好这最后一关,需具体高度的责任感、原则性及协调能力,如果能做到各因素的最佳平衡,那就是一名优秀的运维工程师了。
另外在此聊点题外话,我在这里看到有很多人要sina、、,51com等聊自已的运维方面的经验,其实这对于它们有点免为其难:
a、各公司自已网络架构、规模、或多或少还算是公司的核心秘密,要保密,另外,对于大家所熟知的通用软件、架构,由于很多公司会根据自已实际业务需要,同时因为原版性能、安全性、已知bug、功能等原因,进行过二次开发(如apache,php,mysql), *** 作系统内核也会根据不同业务类型进行定制的,如某些应用属于运算型、某些是高IO型、或大存储大内存型。根据这些特点进行内核优化定制,如sina就在memcache上进行过二次开发,搞出了一个MemcacheDB,具体做得如何我们不谈,但开源了,是值得称赞的,国内公司对于开源基本上是索取,没有贡献;另外,服务器也不是大家所熟知的型号,根据业务特点,大部份都是找DELL/HP/ibm进行过定制;另外,在分布式储存方面都有自已解决方案,要不就是使用现成开源hadoop等解决方案,或自已开发。但90%都是借鉴googleGFS的思想:分布式存储、计算、大表。
c、如上面所讲,目前大型网站运维还处于幼年时期理念和经验都比较零散,没有成熟的知识体系,可能具体什么是运维,大家都要先思索一番,或压根没想过,真正讨论也只是运维工作的冰山一角,局限于具体技术细节,或某某著名网站大的框架,真正运维体系化东西没有,这也许是目前网上运维相关资料比较少的原故吧。或者也是国内运维人员比较难招,比较牛的运维工程师比较少见的原因之一吧。
二、运维工作师需要什么样的技能及素质
做为一名运维工程师需要什么样的技能及素质呢,首先说说技能吧,如大家上面所看到,运维是一个集多IT工种技能与一身的岗位,对系统->网络->存储->协议->需求->开发->测试->安全等各环节都需要了解一些,但对于某些环节需熟悉甚至精通,如系统(基本 *** 作系统的熟悉使用,nix,windows)、协议、系统开发(日常很重要的工作是自动运维化相关开发、大规模集群工具开发、管理)、通用应用(如lvs、ha、webserver、db、中间件、存储等)、网络,IDC拓朴架构;
技能方面总结以下几点:
1、开发能力,这点非常重要,因为运维工具都需要自已开发,开发语言:c/c++(必备其中之一)、perl、python、php(其中之一)、shell(awk,sed,expect等),需要有过实际开发经验,否则工作会非常痛苦。
2、通用应用方面需要了解: *** 作系统(目前国内主要是linux、bsd)、webserver相关(nginx,apahe,php,lig>
3、系统、网络、安全,存储,CDN,DB等需要相当了解,知道其相关原理。
个人素质方面:
1、沟通能力、团队协作:运维工作跨部门、跨工种工作很多,需善于沟通、并且团队协作能力要强;这应该是现代企业的基本素质要求了,不多说。
2、工作中需胆大心细:胆大才能创新、不走寻常路,特别对于运维这种新的工种,更需创新才能促进发展;心细,运维工程师是网站admin,最高线上权限者,一不小心就会遗憾终生或打入十八层地狱。
3、主动性、执行力、精力旺盛、抗压能力强:由于IT行业的特性,变化快;往往计划赶不上变化,运维工作就更突出了,比如国内各大公司服务器往往是全国各地,哪里便宜性价比高,就那往搬,进行大规模服务迁移(牵扯的服务器成百上千台),这是一个非常头痛的问题;往往时间非常紧迫,如限1周内完成,这种情况下,运维工程师的主动性及执行力就有很高的要求了:计划、方案、服务无缝迁移、机器搬迁上架、环境准备、安全评估、性能评估、基建、各关联部门扯皮,7X24小紧急事故响应等。
4、其它就是一些基本素质了:头脑要灵光、逻辑思维能力强、为人谦虚稳重、亲和力、乐于助人、有大局观。
5、最后一点,做网站运维需要有探索创新精神,通过创新型思维解决现实中的问题,因为这是一个处于幼年的职业(国外也一样,但比国内起步早点),没有成熟体系或方法论可以借鉴,只能靠大家自已摸索努力。
三、怎样才算是一个合格的运维工程师
1、保证服务达到要求的线上标准,如999%;保证线上稳定,这是运维工程师的基本责职所在。
2、不断的提升应用的可靠性与健壮性、性能优化、安全提升;这方面非常考验主动性、和创新思维。
3、网站各层面监控、统计的覆盖度,软件、硬件、运行状态,能监控的都需要监控统计,避免监控死角、并能实时了解应用的运转情况。
4、通过创新思维解决运维效率问题;目前各公司大部份运维主要工作还是依赖人工 *** 作干预,需要尽可能的解放双手。
5、运维知识的积累与沉淀、文档的完备性,运维是一个经验性非常强的岗位,好的经验与陷阱都需积累下来,避免重复性范错。
6、计划性和执行力;工作有计划,计划后想法设法达到目标,不找借口。
以上只是技术上的一些层面,当然个人意识也是很重要的。
四、运维职业的迷惘、现状与发展前景
运维岗位不像其它岗位,如研发工程师、测试工程师等,有非常明确的职责定位及职业规划,比较有职业认同感与成就感;而运维工作可能给人的感觉是哪方面都了解一些,但又都比上专职工程师更精通、感觉平时被关注度比较低(除非线上出现故障),慢慢的大家就会迷惘,对职业发展产生困惑,为什么会有这种现象呢?除了职业本身特点外,主要还是因为对运维了解不深入、做得不深入导致;其实这个问题其它岗位也会出现,但我发现运维更典型,更容易出现这个问题;
针对这个问题我谈一下网站运维的现状及发展前景(也在思考中,可能不太深入全面,也请大家斧正补充)
运维现状:
2、技术层次比较低;主要处于技术探索、积累阶段,没有型成体系化的理念、技术。
3、体力劳动偏大;这个问题主要与第二点有关系,很多事情还是依靠人力进行,没有完成好的提练,对于大规模集群没有成熟的自动化管理方法,在此说明一下,大规模集群与运维工作是息息相关的如果只是百十来台机器,那就没有运维太大的生存空间了。
4、优秀运维人才的极度缺乏;目前各大公司基本上都靠自已培养,这个现状导致行业内运维人才的流动性非常低,非常多好的技术都局限在各大公司内部,如google50万台机器科学的管理,或者国内互联公司top10的一些运维经验,这些经验是非常有价值的东西并决定了一个公司的核心竞争力;这些问题进而导致业内先进运维技术的流通、贯通、与借签,并最终将限制了运维发展。
5、很多优秀的运维经验都掌握在大公司手中;这不在于公司的技术实力,而在于大公司的技术规模、海量PV、硬件规模足够大,如可怕的流量、51com海量数据~~~~这些因素决定了他们遇到的问题都是其它中/小公司还没有遇到的,或即将遇到。但大公司可能已有很好的解决方案或系统。
发展前景:
1、从行业角度来看,随着中国互联网的高速发展(目前中国网民已跃升为全球第一)、网站规模越来越来大、架构越来越复杂;对专职网站运维工程师、网站架构师的要求会越来越急迫,特别是对有经验的优秀运维人才需求量大,而且是越老越值钱;目前国内基本上都是选择毕业生培养(限于大公司),培养成本高,而且没有经验人才加入会导致公司技术更新缓慢、影响公司的技术发展;当然,毕业生也有好处:白纸一张,可塑性强,比较认同并容易融入企业文化。
2、从个人角度,运维工程师技术含量及要求会越来越高,同时也是对公司应用、架构最了解最熟悉的人、越来越得到重视。
3、网站运维将成为一个融合多学科(网络、系统、开发、安全、应用架构、存储等)的综合性技术岗位,给大家提供一个很好的个人能力与技术广度的发展空间。
4、运维工作的相关经验将会变得非常重要,而且也将成为个人的核心竞争力,具备很好的各层面问题的解决能力及方案提供、全局思考能力等。
5、特长发控和兴趣的培养;由于运维岗位所接触的知识面非常广阔,更容易培养或发挥出个人某些方面的特长或爱好,如内核、网络、开发、数据库等方面,可以做得非常深入精通、成为这方面的专家。
6、如果真要以后不想做运维了,转到其它岗位也比较容易,不会有太大的局限性。当然了,你得真正用心去做。
7、技术发展方向、网站/系统架构师。
要想成为系统的的物联网工程师需要系统学习。由浅入深地对嵌入式物联网技术以及Linux平台全面掌握,能够独立胜任物联网开发、嵌入式Linux应用开发、5G周边产品开发、底层系统开发、设备驱动开发、从终端到云技术开发以及Linux衍生产品等多方面工作。可以更加系统的了解嵌入式物联网相关行业知识。具体所学知识包括:
1嵌入式C语言高级编程及行业应用
2各常用数据结构与算法相关知识,以及面向接口的编程
3GUI图形库应用开发技术
4Linux *** 作系统使用
5Linux系统编程
6Linux系统网络编程
7Linux网络路由及数据交换技术
8嵌入式数据库
9嵌入式C++语言编程,以及面向模板库的应用开发
10OpenCV、OpenGL等图像处理
11AI模型训练及场景定位识别应用
12RFID场景应用
13zigbee低功耗网络技术
14Bluebooth组网技术
15MQTT云平台搭建技术
16NB-IOT各大云平台通信技术
17基于5G技术的嵌入式物联网行业应用
18ARM体系结构
19Bootloader启动过程
20常见Bootloader源码及平台移植
21嵌入式Linux内核裁减以及移植
22嵌入式Linux平台搭建技术及技巧
23Android ROM包制作流程
24Android底层驱动开发
25嵌入式从8位到64位硬件底层开发
26嵌入式Linux设备驱动移植以及开发
如果有机会通过十个左右的大项目实践,掌握物联网+嵌入式实际项目案例开发流程,提高研发技能。
物联网其实是互联网的一个延伸,互联网的终端是计算机(PC、服务器),我们运行的所有程序,都是计算机和网络中的数据处理和数据传输,除了计算机外,没有涉及任何其他的终端(硬件)。
物联网的本质还是互联网,只不过终端不再是计算机(PC、服务器),而是嵌入式计算机系统及其配套的传感器。这是计算机科技发展的必然结果,为人类服务的计算机呈现出各种形态,如穿戴设备、环境监控设备、虚拟现实设备等等。只要有硬件或产品连上网,发生数据交互,就叫物联网。
物联网就业机会非常多,因为物联网技术应用非常广泛,例如:
1、智能家居;智能家居是利用先进的计算机技术,物联网技术,通讯技术,将与家具生活的各种子系统有机的结合起来,通过统筹管理,让家具生活更舒适,方便,有效,与安全。
2、智能交通
3、智能医疗
4、智能电网;智能电网是在传统电网的基础上构建起来的集传感、通信、计算、决策与控制为一体的综合数物复合系统,通过获取电网各层节点资源和设备的运行状态,进行分层次的控制管理和电力调配,实现能量流、信息流和业务流的高度一体化,提高电力系统运行稳定性,以达到最大限度地提高设备效利用率,提高安全可靠性,节能减排,提高用户供电质量,提高可再生能源的利用效率。
5、智能物流
扩展资料
物联网是新一代信息技术的重要组成部分,也是"信息化"时代的重要发展阶段。其英文名称是:"Internet of things(IoT)"。顾名思义,物联网就是物物相连的互联网。这有两层意思:其一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;其二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信,也就是物物相息。
物联网通过智能感知、识别技术与普适计算等通信感知技术,广泛应用于网络的融合中,也因此被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。物联网是互联网的应用拓展,与其说物联网是网络,不如说物联网是业务和应用。因此,应用创新是物联网发展的核心,以用户体验为核心的创新20是物联网发展的灵魂。
活点定义:利用局部网络或互联网等通信技术把传感器、控制器、机器、人员和物等通过新的方式联在一起,形成人与物、物与物相联,实现信息化、远程管理控制和智能化的网络。物联网是互联网的延伸,它包括互联网及互联网上所有的资源,兼容互联网所有的应用,但物联网中所有的元素(所有的设备、资源及通信等)都是个性化和私有化。
物联网APP开发公司都有哪些极其流行,同样也是竞争力极其大的一种商业模式。虽然国内软件开发公司都发展壮大起来了,但是各地软件开发公司的实力及资质仍然参差不齐。下面为大家介绍下近期国内软件开发公司的排名汇总。
1:华盛恒辉科技有限公司
上榜理由:华盛恒辉是一家专注于高端软件定制开发服务和高端建设的服务机构,致力于为企业提供全面、系统的开发制作方案。在开发、建设到运营推广领域拥有丰富经验,我们通过建立对目标客户和用户行为的分析,整合高质量设计和极其新技术,为您打造创意十足、有价值的企业品牌。
在军工领域,合作客户包括:中央军委联合参谋(原总参)、中央军委后勤保障部(原总后)、中央军委装备发展部(原总装)、装备研究所、战略支援、军事科学院、研究所、航天科工集团、中国航天科技集团、中国船舶工业集团、中国船舶重工集团、第一研究所、训练器材所、装备技术研究所等单位。
在民用领域,公司大力拓展民用市场,目前合作的客户包括中国中铁电气化局集团、中国铁道科学研究院、济南机务段、东莞轨道交通公司、京港地铁、中国国电集团、电力科学研究院、水利部、国家发改委、中信银行、华为公司等大型客户。
2:五木恒润科技有限公司
上榜理由:五木恒润拥有员工300多人,技术人员占90%以上,是一家专业的军工信息化建设服务单位,为军工单位提供完整的信息化解决方案。公司设有股东会、董事会、监事会、工会等上层机构,同时设置总经理职位,由总经理管理公司的具体事务。公司下设有研发部、质量部、市场部、财务部、人事部等机构。公司下辖成都研发中心、西安研发中心、沈阳办事处、天津办事处等分支机构。
3、浪潮
浪潮集团有限公司是国家首批认定的规划布局内的重点软件企业,中国著名的企业管理软件、分行业ERP及服务供应商,在咨询服务、IT规划、软件及解决方案等方面具有强大的优势,形成了以浪潮ERP系列产品PS、GS、GSP三大主要产品。是目前中国高端企业管理软件领跑者、中国企业管理软件技术领先者、中国最大的行业ERP与集团管理软件供应商、国内服务满意度最高的管理软件企业。
4、德格Dagle
德格智能SaaS软件管理系统自德国工业40,并且结合国内工厂行业现状而打造的一款工厂智能化信息平台管理软件,具备工厂ERP管理、SCRM客户关系管理、BPM业务流程管理、
OMS订单管理等四大企业业务信息系统,不仅满足企业对生产进行简易管理的需求,并突破局域网应用的局限性,同时使数据管理延伸到互联网与移动商务,不论是内部的管理应用还是外部的移动应用,都可以在智能SaaS软件管理系统中进行业务流程的管控。
5、Manage
高亚的产品 (8Manage) 是美国经验中国研发的企业管理软件,整个系统架构基于移动互联网和一体化管理设计而成,其源代码编写采用的是最为广泛应用的
Java / J2EE 开发语言,这样的技术优势使 8Manage
可灵活地按需进行客制化,并且非常适用于移动互联网的业务直通式处理,让用户可以随时随地通过手机apps进行实时沟通与交易。
提到阿里巴巴(Alibaba),大家首先会想到淘宝,然后是支付宝,以及现在的阿里云计算,这是目前阿里最具代表性的产品。这两个产品从互联网时代到移动互联网时代,对人们生活的影响越来越大。面对即将到来的物联网时代,阿里当然也不会无动于衷,我们来聊聊阿里在物联网方面的产品策略。
阿里是一家很务实的公司,非常注重落地的能力,所以阿里在物联网方面的产品都是与其主营业务密切相关的。阿里在物联网方面的产品主要是两部分:
阿里智能开放平台,简称阿里智能(openalipluscom)。
阿里云物联网套件,属于阿里云(aliyuncom)的一个产品。
这两个产品背后的一些云端服务组件,可能有一些重叠,但总的来说是面向不同的客户群体,是两种不同的物联网解决方案。
阿里智能概述
阿里智能的目标是助力传统硬件智能化,让原来的传统家电厂商可以迅速利用阿里智能这样一个平台,把自己的产品智能化。这里智能化的含义主要是家电与手机APP以及互联网的云服务器之间的互 *** 作性。
阿里智能的交互示意图
阿里智能,主要面向的用户是家用电器产品的厂商或开发者,比如空调、洗衣机、窗帘、摄像头、空气净化器、照明、温控等。这些家电设备与手机以及云服务器之间通过阿里的私有协议alink互联。
阿里智能解决方案
阿里智能为用户提供的解决方案包括:连网模块、云端服务以及手机APP。
(1)联网模块
阿里智能提供的联网模块主要是WiFi模组。模组固件包括嵌入式OS以及Alink SDK,开发者可以基于Alink SDK构建自己的应用。ALINK SDK中主要封装了云端的一些交互和服务,如升级管理、配置管理等,另外还包含一个应用程序SMARTLED用来验证智能设备数据发送及指令处理。
(2)阿里智能APP
阿里智能APP
阿里智能提供了一个APP,通过这个APP可以控制所有阿里智能支持的设备,为用户提供一致的交互体验,以及设备间联动的 *** 作。
阿里智能APP设备面板使用HTML5技术开发,并通过H5 SDK开放自主开发能力。厂家及开发者可遵循阿里智能APP的设计和开发规范,自行开发APP设备控制界面。
(3)上架服务
产品开发完,一定是要卖的。加速产品开发流程,缩短产品上架周期,才是阿里智能的最终目标。所以阿里智能为用户提供的是从开发到上架的端到端服务。
阿里智能服务流程
阿里智能平台提供从入驻到上架的一站式接入服务,结合阿里电商平台,还提供售中-交易管理和售后-效果跟踪的服务。
总结
过去几年,智能家居和智能硬件产品兴起,很多家电企业都希望自己的产品也能搭上“智能”这趟列车,以体现自己产品的与时俱进,最起码不会让品牌显得落伍。阿里智能就是面向这样一种普遍性需求的。
另一方面,阿里的主营业务是电商。在阿里看来,这些家电厂商同样是一家家天猫店,产品上架才是最终目标。阿里帮助这些厂商更快地实现产品智能化,可以有效促进线上的产品销售,强化了自己对商家的服务。
对于这些观点,你怎么看?
留言说说~
喜欢我就关注我哟!
问题一:学习编程入门应该先学什么? 学C,c++,C#,数据结构,数据库,算法刚开始还是先学c语言吧,推荐下《C程序设计》,发行量第一的书,几乎人手一本比穿适合初学者,The C Programming Language也是本好书,推荐
问题二:学编程应该先学什么 我以前学过但后来放弃了 我可以给你点建议 希望对你有用!!
1编程一般来说还是先学C语言,其实你不学C直接学C++也行,因为在C++中也包含很多C语。。但是我还是建议先学c虽然要多花点时间但是对你以后过渡到C++和理解一些编程的基础知识,基本概念是很有好处的。学好了C之后就可以选择学java,c++,C#等。。。虽然语言多,但是他们都基于C只是有些地方不同,你可以根据你的就业方向选择一门学精,一定要。。。然后你在学其他的语言都相当简单。。就像你学好一门内功,其他武功学起来就简单了。
2我想谈的经验就是,新手经常问的要数学知识和英语知识的问题。。英语知识讲究就行不太影响大局。如果你的英语知识稍好的话,以后你定义函数名和看别人的程序这些都会帮你节约时间。。。我学编程以前很多人说数学不重要,其实对于编程来说是需要数学知识的,从某方面来说数学等于逻辑,众说周知编程是一项需要逻辑的知识。。。我数学很差,而且我又是自学编程,在开始学基础C++的时候还没有多大困难。。到后面学到了在编程中最关键的数据结构和算法的时候,我就被难住。这里要求数学要好。编程中的算法和数据结构是很重要的,以后你的程序编得好不好,就是看谁的算法和数据结构用得最恰当。最高效。。。。这也是导致我放弃的直接原因。。。
3学习方法。。编程是需要实践的,建议你买一个笔记本电脑。。然后有空就去图书馆上机练习。。做下课后的习题。。把书上的例题也自己做一遍。。
一本好书,你一遍是无法理解其中的全部精华的,真的,起码看,做两遍以上,
虽然浪费时间,但是每一次你就会对其中的知识点有新的理解。。。虽然很浪费时间,而且让人心情烦躁。。。但是一个程序员关键是能耐住寂寞。
4当你学得不错了,你可以和你志同道合的朋友一起去接一些小项目做,这样你才能看到自己的不足。。。看清楚实践和理论的差别。。。
5关于前供问题。。。依照这个社会的发展,电脑以后几乎像手机一样普及。所以你们前途的一定是光明的。。。。虽然这一行才出来工资或许不高,但是自己要能做个1年多,有经验了。。工资是普遍高的。。
6这一行是有趣的,你看网上这些东西不都是程序吗?也是累的。。最后的胜利者是耐得住寂寞。努力的人
问题三:零基础学习编程,我需要先学习什么 看你想要干什么。计算机程序有很多方向和用途。可以先学习一些对新手友好的语言,比如Python、VB、C语言,主要是锻炼自然语言思维到计算机语言思维的衔接过渡。然后可以考虑个人的开发方向,移动开发就学Java、Swift、C++,pc软件开发就学C#,C++
问题四:零基础想入门编程需要先学什么? 说真的, 如果你对编程是 0 认识的, 那我先恭喜你!! 因为你将会有个很好的开始 ( 像我这种老骨头, 很多坏习惯都改不了, 学习新的东西也有困难 ) 那, 我给你的建议是 :
1 如果你的英文还可以, 找英文的教材来学, 去外国的 forum 讨教 (如 StackOverflow), 你会有更好的领悟, 会有更多人可以帮到你 你会学到更好的编程思维, 最重要是, 学会 问对问题 ( 老外比较愿意一边批评你, 一边帮助你, 他们会给你引导居多, 迫你思考 )
2 首先要有编程的思路 你总要知道 你到底想做甚, 为甚要做甚, 你要做甚 一旦缺少其一, 你的行为便没有意思, 你的思路 和理解也会中断, 你会变得很迷失
3 你要明白编程的 4步曲 Input -> Process -> Output, 另加 Storage
4 你可以先尝试用人类的语言去编程 ( 我总是这教我的学生的 ) 你得用上 由 到, 当 就 , 如果 那 否则 (可以再加, 又如果 ) , 你可以试著这样写一个 我的一星期 的程序 当这写得出的时期, 那就代表了你已开始有 编程的思维, 你再看那些 for (), while(), if then elseif else 时, 你就能跟上了 但如果你还没做到这一点, 那代表, 你还没准备好
5 另外, 你也得有一些 OO (物件导向) 的概念, 如甚是 Object(Class), Attribute (Properties), Method; 甚是 Inheritance(继承), Polymorphy (多形继承), Encapsulation(封装) 那你就很容易掌握教程里的思路
6 以我本人的经历, 跟著教程是学不会的, 我会先前设一个目标, 如:我要写一个 闹钟记事本 , 无论我用甚(懂或不懂的)语言, 我都会循著上面 2,3,4 点的思路去一步一步找出答案 我要这个应用怎 *** 作 最後要得到甚结果 怎样做到这个介面 里面要有甚逻辑 里面会发生多少支节 最後就是你耕耘的收获
7 最後, 我会建议你先学会画流程图和规划程序, 才去想怎做程序, 连道理都没讲得通, 那是绝对不可能写得出个程序来的 yEd 是个不错的流程图软件, FreeMind 则是一个不错心智图软件, 你都可以试试
以上, 希望对你有帮助 但我说的也就这多了, 没补充了, 所以也不用追问了 Good luck! Happy Programming! =)
问题五:零基础初学者学习编程语言应该学习哪一种? 你打算一直学下去的话,就先学C,VB只是简单的,C学好后再深入学习java。c功透后只要两三个星期就能够把VB搞懂。现在大企业基本不是看你学的语言多少,而是你的编程基本功及可培养发展潜力!
问题六:编程入门因先学什么或先看什么书好 选择开始语言真的很重要,C语言容易掌握,如果要深究它却是最难的,C语言是一个面向过程的罚言它应用于硬件开发~其工资是所有编程语言不能比的,你要想当黑客C语言必须要精通,还有计算机的核心技术!用C语言做基础语言是很好的~
学过C语言的入java和c#就容易多了~!java是san公司c#是微软出的, 都是面向对象的语言~在面向对象的编程中万物皆对象!java要比c#难度高~不过工资也高!
学完以上语言还需要学数据库语言~SQL和Oracle,一个大型程序是少不了数据库的~
然后看选择是否进网页编程~网页编程需要以html语言做基础然后和java结合就是jsp语言~和c#就是asp语言!
以上只是给你了一个思路进入编程的领域是很辛苦的~需要有坚强的毅力~~呵呵不说太多了祝你学业有成
问题七:零基础编程入门自学先学什么 刚学程序的时候要切记:
1不要追风,不管别人说今天XX语言有多好,明天XX语言多流行。
2编码是件很枯燥,甚至很痛苦的事,所以一定要有耐心。
c,最基础也是最根本的( *** 作系统就是用c和c++编的),学了c后c++,c#就很好学了因为大体差不多其实只要学了一门语言学其他的就很快了
C#C++是由c语言发展出来的。vc就是visual c就是图形界面的c语言编程
Visual Studio2008只是个专业开发软件(很多大程序都在这个上开发)不是教学用的,也没有什么真正意义上的教学软件。编程嘛不管用什么程序编都一样,Visual Studio2008很不错,编程错误提示也很到位。
要去买本c语言的书,自己鼓捣是没用的。
问题八:零基础自学编程应该先学什么? 我自学的都是java,比较简单
问题九:编程入门先学什么,自学能学会吗? 这个问题问的挺广泛的。我先回答第二个问题,自学能学会。编程的话首先要学习计算机基础,打字,学习一些计算机基本原理,算法,数据结构相关的基础。然后学习C语言。然后根据自己的方向选择一门想学的语言,学习语法,做项目。
这个是很大致的说法。具体还要看你是什么基础,想做什么。而且做了才知道。
问题十:自学编程怎么入门(零基础) 因为你说是因为爱好才学,我便回一回这问题。
建议:去书店买一本c语言入门书籍看看。把书上的代码手工往电脑上录入,调试(我用了四个梗,所有工作之余的所有时间都在看、想……四个月勉强入门……),学会了这一种语言,其它的语言都很容易过渡的。
之后,再学数据结构,充分认识点,线、树、图形等等……这里我用的时间太多,但数基础不行,还有些都没有学会……
之后,你自己就知道怎么办了……
我也因为爱好才学的,也是自学。
你是高中生,比我好多了,我是初中生,你比我学习起来更容易。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)