做一个网站真的有那么难吗?

Java开发教程视频

关注我们,领取500G开发教程视频

现在这个互联网时代,什么都跟互联网挂钩,哪怕卖水果都开始用网店了(其实我也想卖水果%>_<%)。下面就讲一下水果哥和水果妹的依托互联网+卖水果的故事。

背景介绍

话说再很久很久以前,有两个小伙伴一起合伙卖水果。一个叫做水果哥,一个叫做水果妹。地点是一个普通的小乡村,水果哥只会闷头搞技术,水果妹却是精通运营之道。(怎么一看这么像程序猿跟产品|运营的关系%>_<%,其实他们关系很好的啦,绝对不会见面对喷)

水果店网站雏形

一开始水果哥和水果妹都是正常的经营着自己的水果店,谁知道有一天,水果妹知道了有互联网这一事情,好吧,水果妹一拍脑袋,然后跟水果哥说:水果哥,不如我们搞一个基于互联网的水果店吧,我们做一个网站来展示我们的水果。水果哥一听,立马说:没问题呀。接下来,水果哥哗哗哗的用了一个小时,写出了若干个html页面,然后又花了一个小时选择了一家云服务器提供商,接着部署页面又一个小时(你们说水果哥技术是多么牛)。网站搭建起来了,并且由于新鲜事物而广受追捧。

水果店网站V1版

然而网站运行不久之后,水果妹发现纯html写的网站实在是不忍直视(好难看的网站)。

水果妹:大哥,网站能不能帅气点水果哥:包在我身上

哗哗哗又写了一个晚上,这次水果哥用上css和js美化网站(css是控制页面布局的,js是增加用户的交互功能)。这次改版之后,用户体验大增,网站实在是太漂亮了。

水果店网站V2版

又过了一段时间之后,水果妹发现,每当自己新引入一种新水果,或者要改网站内容的时候,自己都不会改,都要叫水果哥动手。

水果妹:哥,每次修改内容都要叫你来,能不能提供一个页面让我自己来改

水果哥:这当然可以

不用想了,水果哥哗哗哗几天,写出了一个后台页面给水果妹管理网站数据(怎么这么像cms系统%>_<%)。这次为了保存水果妹录入的数据,水果哥使用了mysql数据库(开源的我喜欢),然后为了动态输出水果妹录入的数据,没办法只能上动态语言了。由于水果哥擅长python,所以用了python重构网站。经过这次改造,终于不用事事都需要水果哥出手了。

水果店网站V3版

水果哥平静的日子并没有过多久,水果妹突然发现有在线支付这一玩意,一想在线支付还可以发快递给客户,销路肯定可以大增。

水果妹:哥,能不能做一个在线支付呀,要支持微信支付和支付宝支付喔

水果哥(心好累,怎么还要加功能):好的,没问题(强忍着泪水)

哗哗哗,水果哥又是申请接口,又是查API文档,又是建立用户体系,又是建立支付系统,终于经过不懈努力实现了这个功能。

水果店网站V4版

在V3版水果店网站功能已经很完善了,然而由于水果妹凶残的运营,客户越来越多了,终于有一天网站由于访问人数过多而无法响应。

水果妹:哥快醒醒,网站挂了!!!快起来!!!

水果哥(睡眼朦胧,刚睡找呢):不会吧,我看看。。。

水果哥立马爬起来看服务器情况,原来数据库压力过大,好吧加一个索引,问题解决。好景不长,服务器内存不够用了,网站有一次挂了,这次水果哥立马把网站变成分布式,问题再一次解决。不过事情怎么可能这么简单,用户越来越多,数据库数据量急剧增加,危急关头,水果哥又是上缓存,又是上数据库集群,又是异步,终于在海量用户访问下网站平安无事。

水果店v5版

水果妹:哥,双十一要来了,我们要搞秒杀活动,做这个功能出来可以吗?

水果哥:秒杀?有多少用户参与?

水果妹:就几百万用户而已

水果哥:我选择狗带

水果妹:哥,你技术这么好,你行的,你做不出就不理你了(生气状)

水果哥:这样啊,我试试啦(都说这话了,敢不做吗)

水果妹:哥你好样的

面对如此高并发怎么办呢,水果哥左思右想,第一步页面全静态化,第二步数据都走异步,第三步大量使用内存,第四步服务器弹性扩容,第五步关掉不必要的服务,增加系统可用资源。经过几天不眠不休,秒杀系统终于上线了,双十一当天水果哥全程盯着系统,出问题立马处理掉,几个几小时艰苦岁月终于活动完满结束,接下来生活也趋于平静了。

水果店网站重构

突然某一天,水果妹又想出了一堆运营之道,这个时候必须得辛苦水果哥来写代码(%>_<%)。然而由于之前架构有不合理的地方,如果勉强兼容必然以后跟难以维护,长痛不如短痛,水果哥含着泪删掉旧代码,重新写上新代码(好可怜),又是几个不眠不休的夜晚(技术真的好可怜),终于网站重构了,系统也稳定开始运行了。

未来的日子里

水果店网站也基本定型了,水果哥只是根据水果妹的需求,不断增加一些小功能而已,日子也算是悠闲自得。然而突然有一天,水果妹说:哥,不如我们做一个校园类应用吧,我们开始二次创业。水果哥:只要你喜欢就好!事情就如一开始水果店网站建设一样,又开始了一个循环。。。。。。

作者的话

做网站其实不难,然而需求总在变化,所以在迫于无奈之下还要重构系统。搭建一个网站从纯静态页面到动态语言搭建,从无数据库到使用sql数据库,再到应用nosql数据库。随着用户量增大,还需要考虑高并发和数据安全问题。所以总的来说搭建网站很简单,然而要搭建一个安全稳定的网站却很难。

程序猿好辛苦的,请不要给他给压力他们,别提不合理的需求,不要整天改业务。(我就是写代码写的心好累,才来写文章的%>_<%)

点赞和转发是对我最大的支持。

原文链接:https://www.jianshu.com/p/0ca5ad11bfe8

作者:yubang

往期精彩回顾

程序员如果没有自学能力,不如尽快转行

Java程序员编程学习之路资源合集

20套Java项目200套Android项目200套小程序

Java自学?Java自学编程大放送

原文发布于微信公众号 - Java社区(Java5206868)

原文发表时间:2018-05-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏GopherCoder

『No24: 编写可读代码的艺术(1)』

除了本职工作,还有点幻灯片演示设计的爱好。随着编写代码的增多,制作的的幻灯片越来越多,越来越意识到,很多事物都存在相通性。

10020
来自专栏Golang语言社区

C++麻将游戏算法深入解析

这两天为了工具箱的完善,整理了这些年引擎开发的一些资料,无意中发现06年写的一个麻将算法,编译运行了一下,还是有点意思的,拿出来整理一下分享给大家。 ...

39640
来自专栏Java Web

Java学习笔记(0)——了解Java前言:正式开始之前

文 / 我没有三颗心脏 前言: 这里是一些关于写文的原因,目的和其他的有的没的,跟Java没有一点关系,如果是想要学习干货的童鞋可以直接跳过。 系列文章最开...

35070
来自专栏余林丰

桥接模式

桥接模式要把握的很重要的一点就是:类的继承关系和类的组合/聚合关系,何时应该考虑使用何种关系。是不是在编程过程中一味地使用类的继承关系就代表这就是面向对象编程了...

22670
来自专栏PPV课数据科学社区

对5种主流编程语言的吐槽

接下来要为大家,介绍五款让我又爱又恨的编程语言! 不可否认,想要成为一名优秀的程序员确实是需要掌握多种编程语言。通过这几年的自虐式学习,我也慢慢的掌握了这些编程...

562100
来自专栏程序员互动联盟

C语言能干什么?

C语言几乎是所有语言的实现基础,所以不存在做不了的事情,只是相对来说谁做更合适,编写游戏和软件都不是问题。 为何C语言如此强大? 1、C语言是许多高级计算机语言...

71340
来自专栏程序人生 阅读快乐

编写高质量代码:改善Java程序的151个建议

在通往“Java技术殿堂”的路上,本书将为你指点迷津!内容全部由Java编码的最佳实践组成,从语法、程序设计和架构、工具和框架、编码风格和编程思想等五大方面对J...

10010
来自专栏数据结构与算法

BZOJ4868: [Shoi2017]期末考试

Description 有n位同学,每位同学都参加了全部的m门课程的期末考试,都在焦急的等待成绩的公布。第i位同学希望在第ti天 或之前得知所.有.课程的成绩。...

35860
来自专栏Vamei实验室

Python快速教程 尾声

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!

13920
来自专栏C语言C++游戏编程

为何C语言如此强大?到底可以做什么?

C语言几乎是所有语言的实现基础,所以不存在做不了的事情,只是相对来说谁做更合适,编写游戏和软件都不是问题。

19700

扫码关注云+社区

领取腾讯云代金券