一个人如何完成一整个网站的开发(推荐好文,看完绝对让你回味无穷)

一个正规的网站开发,理论上需要一个团队的配合,各自发挥自己的长处,网站需求分析、原型设计、效果图、切图、前台美工、后台代码、算法设计、数据库设计、服务器配置等等一系列的事情。

 一个人想面面俱到这些,还是需要花些时间的。所以对一个初学者来说,我的建议是:别管他三七二十一,不是想开发一个网站吗,别管懂不懂,先开发出来一个再说,在开发的过程中,遇到了问题,再找解决方案的过程中,自己获得了学习,等完成了一个网站,乱七八糟的知识也学了一些,有了一个感性的认识,再去系统性的、深入的去学习也不晚。

  这里提供一个我的开发思路和具体实现的方法:

  开发一个网站,大概是这些东西:

  1.有个整体的网站页面的样子,我们姑且称之为前端开发。

  2.前端有了,点击里面的按钮、链接、新增信息、修改信息等等的操作,需要后台编码,姑且称之为后台开发。

  3.前端有了,后台有了,数据放哪里啊,因此需要用到数据库了,姑且称之为数据库开发。

  4.前面一通完成后,网站可以看了,接下来需要找服务器发布了,姑且称之为网站发布。

  5.网站发布了,如果想让别人通过一个域名去访问,因此需要绑定域名了,姑且称之为域名绑定。

  6.大功告成,回过头来消化一下吧。姑且称之为回味无穷。

  接下来详细介绍。(建议先通读一下,别一上来就陷入某一个细节)

  一、前端开发

  1.先拿笔找张纸,大概想想自己网站有哪些页面,每个页面是什么样子,如果没有灵感,就上网乱逛一阵,借鉴一下别人的做法。

  2.网站大概样子心中有数了,接下来要开发了,别自己从头写代码了,可以用前端框架,各种前端框架我也不对比,也别让你挑的头疼,就用bootstrap吧,网址:http://getbootstrap.com/,twitter的工程师开发的,很多网站有用,开发一个凑合的网站不成问题。说白了,就是给你提供了css、javascript文件,对于一些页面布局、javascript效果,不用自己去写了,可以直接按照官方的说明去操作。具体的说明可以看官方网站,别嫌人家是英文的,其实没有几个单词你不认识,找找先练练,找找感觉。

  3.什么?过程中遇到了html、css、javascript等等问题,不明白的话,建议上这个网站扫个盲:http://www.w3school.com.cn/,自己再练练手,知识应该就够了。

  经过前面三步,应该能够开发出来一个差不多的效果的网站了,大概用上一个星期去看吧,足够了。

  注意:前端开发的过程中不用想着后端怎么实现?例如点击一个按钮怎么实现功能?专心开发前端页面就行了。前端和后端是独立分离的,只需要很小的整合就可以了。

  二、后台开发

  1.如果前端的页面都开发好了,接下来要实现页面上一些功能性的东西了,如果注册、登陆等等功能,就要后台开发了,这里我也建议用框架,后台开发框架也是海了去了,就用Thinkphp的吧,国产的框架,还行,套路还是比较明显的。网址:http://www.thinkphp.cn/,是PHP的,什么?没有学过PHP,以前学的是C#?java?等等,别担心,学一下php也花不了多长时间,关键是一边学ThinkPHP,一边就把PHP给学了吧。如何学习ThinkPHP,可以看官方的文档就好,如果看不懂,可以看一下这个哥们的视频教程:http://www.thinkphp.cn/document/258.html,讲的还是不错的。

  2.看完视频教程还是有些不解,什么乱七八糟MVC了等等概念,不用着急,继续前进吧,可能慢慢就能理解了,谁说不理解就不能前进的,是不?

  注意:这个过程可能有点儿难,不过也还是可以接受的,学明白了,以后修改起来会比较灵活,至少感觉比wordpress灵活。

  三、数据库开发

  1.后台开发过程中,要存一下数据,难免要用到数据库,那么就安装一下mysql吧, 如果觉得不好管理,可以再安装一个可视化的工具:Navicat,需要用什么表,就建什么表吧,反正以后觉得不合适了还要修改。

  2.如果数据库一点儿也不懂,那么网上随便搜搜相关知识,大概熟悉熟悉,会建表、增减数据就行了。有些数据库操作,用ThinkPHP的框架,非常简单的,不需要自己考虑太多东西。

  注意:数据库开发是要配合着后台开发一起的。大概后台开发完了,数据库也差不多建好了。

  四、网站发布

  1.有很多托管代码的服务器,有收费的,有免费的,我就推荐一个吧,用新浪的SAE,速度还可以的,刚开始就先找一个尝试吧,等以后有时间了,可以再尝试尝试别家的。这里SAE是支持ThinkPHP的SAE版本。因此上传上去代码就能看效果了,发布后网址大概样子为:****.sinaapp.com

  2.SAE是按访问流量收费的,弄一个实名认证,会送流量的,对于刚开始的网站,足够用了;如果不放心,可以申请一个中级开发者,每个月都会赠流量。之前是微博有加V就可以申请中级开发者,微博加V传一个自己的工作照就可以了。现在我的中级开发者,有需要推荐的,我也可以帮一下忙,反正我也不怎么用。

  3.如果想本地查看,可以安装一个Apache,至于部署,也不难。

  注意:能到发布这一步,我想应该就没有什么难的了吧。虽然曾经我与新浪各种死磕,今天还是无私的为他做了广告,我代表新浪,谢谢我自己了。(请别说我调皮)

  五、域名绑定

  1.网站建好了,如果感觉****.sinaapp.com不好看,想用自己的域名,也是可以的。

  2.去godaddy申请吧,为啥是godaddy,别人都说好,我也就用了,反正我申请了两个域名,到现在都不怎么用,就当玩儿了。

   3.有域名了,就可以登陆SAE后台,绑定域名了,操作步骤,会有很详细的说明。

  六、回味无穷

  1.经过前面一系列过程,一个你认为还可以的网站应该就可以诞生了。

  2.过程中还有哪些想学的知识,可以去学习了。

  3.开发完一个网站,这一套模板可以保存下来,再开发别的网站,自己也可以用了。

  4.多年以后,你会觉得你的网站好low,不过又能如何,这也是一种人生体味而已。


双向搜索算法是一种从起点和终点同时进行搜索的算法,可以有效地减少搜索的时间和空间复杂度。在MATLAB中,可以使用双向搜索算法来解决一些图论问题,如最短路径问题等。 双向搜索算法的基本思路是从起点和终点同时开始搜索,每次从两个方向中选择一个距离当前节点最近的节点进行扩展,直到两个搜索方向相遇。在搜索过程中,需要记录每个节点的前驱节点和到起点/终点的距离,以便在搜索结束后回溯出最短路径。 以下是一个简单的MATLAB实现示例: ```matlab function [path, dist] = bidirectional_search(graph, start, goal) % graph: 图的邻接矩阵 % start: 起点 % goal: 终点 n = size(graph, 1); % 节点数 visited1 = false(n,1); % 起点方向已访问的节点 visited2 = false(n, 1); % 终点方向已访问的节点 pred1 = zeros(n, 1); % 起点方向每个节点的前驱节点 pred2 = zeros(n, 1); % 终点方向每个节点的前驱节点 dist1 = inf(n, 1); % 起点方向每个节点到起点的距离 dist2 = inf(n, 1); % 终点方向每个节点到终点的距离 queue1 = start; % 起点方向的队列 queue2 = goal; % 终点方向的队列 visited1(start) = true; visited2(goal) = true; dist1(start) = 0; dist2(goal) = 0; while ~isempty(queue1) && ~isempty(queue2) % 从起点方向扩展节点 curr1 = queue1(1); queue1(1) = []; for i = 1:n if graph(curr1, i) > 0 && ~visited1(i) visited1(i) = true; pred1(i) = curr1; dist1(i) = dist1(curr1) + graph(curr1, i); queue1(end+1) = i; if visited2(i) % 相遇,回溯路径 path = backtrack_path(pred1, pred2, i); dist = dist1(i) + dist2(i); return; end end end % 从终点方向扩展节点 curr2 = queue2(1); queue2(1) = []; for i = 1:n if graph(i, curr2) > 0 && ~visited2(i) visited2(i) = true; pred2(i) = curr2; dist2(i) = dist2(curr2) + graph(i, curr2); queue2(end+1) = i; if visited1(i) % 相遇,回溯路径 path = backtrack_path(pred1, pred2, i); dist = dist1(i) + dist2(i); return; end end end end % 没有找到路径 path = []; dist = inf; function path = backtrack_path(pred1, pred2, i) % 回溯路径 path = [i]; while pred1(i) > 0 i = pred1(i); path = [i, path]; end i = pred2(path(end)); while i > 0 path = [path, i]; i = pred2(i); end end end ```
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值