一、最基本的网站建设流程网站开发基本流程
1、需求分析:目标定位 用户分析 市场前景
2、平台规划:内容策划 界面策划 网站功能
3、项目开发:界面设计 程序设计 系统整合
4、测试验收:项目人员测试 非项目人员测试 公开测试
二、
1、【需求分析】目标定位:
做这个网站干什么?这个网站的主要职能是什么?网站的用户对象是谁?他们用网站干什么?用户分析:网站主要用户的特点是什么?他们需要什么?他们厌恶什么?如何针对他们的特点引导他们?如何做好用户服务?市场前景:网站如同一个企业,它需要能养活自己。这是前提,否则任何惊天动地的目标都是虚无的。网站的市场结合点在哪里?
2、【平台规划】内容策划:
这个网站要经营那些内容?其中分重点、主要和辅助性内容,这些内容在网站中具有各自的体现形式.内容划分好以后,就进行文字策划(取名) ,把每个内容包装成栏目.界面策划:结合网站的主题进行风格策划.如色彩包括主色、辅色、突出色,版式设计包括全局、导航、核心区、内容区、广告区、版权区及板块设计。
网站功能:主要是管理功能和用户功能。管理功能是我们通常说的后台管理,关键是做到管理方便、智能化。而用户功能就是用户可以进行的 *** 作,这涉及交互设计,它是人和网站对话的接口,非常重要。
3、【项目开发】界面设计:
根据界面策划的原则,对网站界面进行设计及完善。程序设计:根据网站功能规划进行数据库设计和代码编写。系统整合:将程序于界面结合,并实施功能性调试。
4、【测试验收】项目人员测试:
项目经理,监察员及项目开发人员一同根据前期规划对项目进行测试和检验。非项目人员测试:邀请非项目参与人员作为不同的用户角色对平台进行使用性测试。公开测试:网站开通,并接受网友的使用测试,设立反馈信息平台。收集意见和建议信息,针对平台存在的不足进行思考和完善。
扩展资料
1、网络开发过程描述了开发网络时必须完成的墓本任务,而网络生命周期为描绘网络项目的开发提供了特定的理论模型,因此网络开发过程是指一次迭代过程。
2、由于一个网络工程项目从构思到最终退出应用,一般会遵循迭代模型,经历多个迭代周期。每个周期的各种工作可根据新网络的规模采用不同的迭代周期模型。
3、例如在网络建设初期,由于网络规模比较小,因此第一次迭代周期的开发工作应采用四阶段模式.随着应用的发展,需要基于初期建成的网络进行全面的网络升级,则可以在第二次迭代周期中采用五阶段或六阶段的模式。
4、由于中等规模的网络较多,并且应用范围较广,因此主要介绍五阶段迭代周期模型.这种模型也部分适用于要求比较单纯的大型网络,而且采用六阶段周期时也必须完成五阶段周期中要求的各项工作。
参考资料:百度百科-网站开发
1、前端知识。最好能了解一些前端知识(HTML,CSS,JavaScript等)。但在一些分工非常明确的公司,有些开发人员只做后端开发,不懂前端的知识也是可以的,这时需要前后端的开发人员进行配合。毫无疑问,前端开发人员掌握一些后端的知识或者后端开发人员了解一些前端的知识,能使项目联调过程更顺畅、效率更高。
2、Linux基础。由于在主流情况下项目部署都是使用的Linux系统,比如项目有一个Bug,在本地Windows上复现不了,就得ssh到部署的机器上想各种办法进行复现与分析。尽管Python是跨平台的,但各平台之间还是有不小的差异,因此掌握一些基础的Linux *** 作还是非常有必要的。
3、数据库系统。Web应用一般离不开对数据库的增加、删除、修改和查找,一般都会用到数据库。读者除了掌握这些常见的 *** 作外,最好能对数据库的原理有一些了解,虽然我们平时使用的是ORM,可能不会直接编写SQL语句,但归根结底到最后,都是在数据库中执行SQL语句,只有理解了SQL语句,才能设计出更合理的表结构,才能写出更优秀的SQL语句,才能更好地使用ORM提供的各种功能。
4、缓存系统。网站访问一般会出现热点内容,比如微博的热搜,将热点内容缓存到内存中,然后直接从内存中读取返回给查询的用户,这样无疑能极大地提高效率。有的开发人员可能觉得缓存系统比较简单,其实不然,如果深入了解各缓存系统的内存分配方式、Key淘汰算法、底层网络协议细节等,就要注意可能发生的比如缓存失效、缓存穿透、缓存雪崩等一系列问题。
5、HTTP协议。由于Web开发就是遵循HTTP协议来进行的,比如可以通过Expires,Cache-Control,Last-Modified和Etag等字段来设定浏览器的缓存行为。再比如实现一个下载的功能,如果不知道HTTP协议中的Content-Disposition这个响应报头和一些约定,就可能不知道应该如何下手。
6、网络协议(TCP/IP协议)。常见的TCP“三次握手”,“四次挥手”等过程,每一步的原理都要能够弄清楚。
7、数据结构和算法。算法可以说是程序员的内功,只有更好地掌握了算法,才能编写出更高效的程序。如果编写程序时不考虑性能,觉得自己的程序能用就行了,那么这样的程序远远达不到商业使用的标准。例如,数据结构中最基础的比如队列,栈,树等以及 *** 作它们的算法在编程过程中非常常用。
8、 *** 作系统。Web应用会运行在某个 *** 作系统的一个或多个进程中。比如从日志中看到有一个接口访问时特别慢,该怎么进行分析?影响的因素非常多,可能是网络缓慢、可能是服务器当前负载过高、可能是程序算法的复杂度高而效率低等。
1,计算机网络主要指的就是TCP/IP协议栈,是互联网的基石
2,容易忘是因为TCP/IP技术栈有一大部分都隐藏于 *** 作系统的内核态,较少被接触。
3,重点脉络:
(1,反复记忆。2,多问为什么)
一、TCP/IP协议体系的认知
(1)分层。一部分处于用户态,一部分处于内核态。数据链路层,网络层,传输层封装于 *** 作系统内核态。应用层存在于 *** 作系统的用户空间,包括DNS,FTP,HTTPs,HTTP,工作中接触较多的是应用层的部分。但其它层的原理必须理解,面试考察。
(2)层与层之间下层对上层是透明的,传输在每一层是对等的。
二、数据链路层。
(1)以太网帧的格式。(2)MTU(最大传输单元)的概念。(3)ARP协议和RARP协议(地址协议和逆地址协议,网卡MAC地址和IP地址互查机制)(网络层和链路层的中间层)ARP报文格式,查询原理,缓存机制
三、网络层
(1)掌握IP首部格式:如16位分片标识、DF不分片标志、MF更多分片标志、13位片偏移、8位生存时间TTL、16位的首部检验和等等。
(2)掌握如何IP分片:如总长大于MTU值,画分片情况;如何避免IP分片(在应用层或传输层做限制);确定分片顺序;确定分片是否全部到达。
(3)掌握IP选路。会看路由表。Routeprint。路由表每个字段的含义
(4)掌握ICMP(因特网控制报文协议):(理解为网络层和传输层的中间协议)报文格式;2种查询报文+5种差错报文。
四、传输层
(1)掌握UDP协议:无连接,不可靠的特点;首部各个字段
(2)掌握TCP协议(面试集中考察):面向连接,可靠;首部各字段(序号,确认号,首部长度,窗口大小,校验和等特别的,完成可靠功能的部分);TCP连接控制机制(三次握手,四次挥手,同时打开,同时关闭,半关闭);TCP流量控制机制(滑动窗口、慢启动、拥塞避免、快速重传、快速恢复的算法原理);TCP超时重传机制(四个定时器);一些问题(为什么三次握手四次挥手?为什么TCP和UDP都存在尾包头?)
五、应用层
(1)掌握DNS(域名解析)协议:名字空间;DNS指针查询(反向查找或逆向解析)基本原理、DNS缓存
(2)FTP协议(活化石):控制连接和数据连接(为什么需要这两种连接);两种工作模式(PASV+PORT);各种FTP指令和响应码;FTP断点续传,匿名FTP
(3)HTTP协议:报文格式(请求报文、响应报文、请求头各种字段、响应头各种字段);HTTP状态码。
(4)HTTPS协议:详细握手过程;各种算法(摘要算法、数字签名、数字证书的原理与过程)
这两个实质上都是编程系列,本质都是一样的。程序设计通指编程,包括:应用软件开发、游戏开发、网页开发等等,它是编程的另一种说法。
网络编程:主要是基于网络的程序开发。如WinSock编程、UNIX网络开发等。它主要是针对网络通信,如文件传输,网上聊天。
编程是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)