首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

程序员编程到底多神秘?

某人跟我说对程序员很好奇,好奇程序员每天写的代码到底是什么!也有人跟我说,一直觉得程序员很神奇,可以做出这么多网页功能,但是到底怎么实现的?很好奇!蝈蝈我本身是一枚web程序员,说的好听点就叫:web开发工程师,软件的类型有很多,今天蝈蝈我就给大家讲讲web软件开发的这些事,满足你的好奇心!

什么是web软件呢?简单通俗的讲,就是网页,也就是B/S架构的软件,B/S就是Browse/Service(浏览器/服务器模式),所以web软件都是依靠浏览器的来发起请求的,包括PC网页、手机网页,H5页面,api接口等。

下面,我就以一个最简单的登录、注册功能来解说一下整个流程是怎么实现的!以下是某网站的登录和注册页面的截图:

那我们先来讲讲注册吧!

注册的时候,都会要求我们输入用户名(手机号码或者邮箱)、密码、确认密码,用户名和邮箱的一般不会有验证码验证,手机的会有验证码验证。以下是整个注册的流程图:

1、用户在网页上输入用户名、密码、确认密码,点击立即注册。

2、网页端把用户输入的数据提交到服务端。

3、服务端对数据进行校验(判断密码长度是否正确,两次输入的密码是否相同,用户名格式是否正确,用户是否已存在等)。

4、将验证通过的数据写入数据库的数据表中,存储数据。

5、返回处理结果给前端网页。

6、前端网页根据服务端返回的结果做相应的处理(比如:注册成功直接跳转,用户已存在,直接弹窗提示用户已存在)。

登录流程:

1、用户在网页输入用户名和密码。

2、网页前端把用户输入的用户名和密码提交到服务端。

3、服务端代码对提交的用户名和密码进行验证(判断该用户名是否存在,且密码正确)

4、将用户名和密码的验证结果返回给前端网页

5、前端网页进行相应的操作

很简单的流程,下面我就用php语言的thinkphp框架来简单实现一下服务端的功能,这里写的也不是很严谨,大致的逻辑就是这样,前端的网页我就不写了。

1、注册代码实现

2、登录代码实现

看上面的中文注释,相信大家应该可以看懂吧?没错,其实很简单,就是按照我们前面说的流程,一步一步用代码实现就行了,这里我没有对用户名做验证了,简单的实现了一下,上面的代码中,有对数据库的操作,前面也提到数据库是用来存储数据的,那么你是不是会对数据库很好奇呢?接下来我们讲讲数据库。

数据库,我们可以理解成一个仓库,每个仓库里面都可以放很多数据表,每个表都可以有很多字段,这个其实跟excel是一样的,一个excel文件相当于一个数据库,一个excel表格相当于一个数据表,excel表格的表头相当于数据表的字段名,以下是数据表和excel表的对比图:

数据表示意图

excel表示意图

数据库的作用,就是用来存储数据,数据都是一条条的形式存在数据库里的,上面讲到的注册中,我们操作了两次数据库,第一次是判断该用户名是否已存在,第二次是把用户的信息写入数据库。大致的原理如下:

1、判断用户名是否存在

我们只要在用户表,也就是user表中,查一下用户名为test的用户是否存在(假设我们注册的时候提交的用户名为:test),通过数据表的截图,我们可以很清晰的看到,用户名为test的有一条数据在的,即为 username 那一列存在一个test用户。

2、写入数据库

这个很简单,我们只要按字段名,写入对应的数据即可,username对应用户名,password对应密码,register_time对应注册时间,用程序写进去就好了,就完成了一个注册功能。

上面写的程序,是用的php语言,其实还有很多其他语言都可以实现的,比如:java、python、C#等等,不管什么语言,反正整体的流程逻辑是不会变的,作为程序员,就是要考虑到各种情况,防止程序出错且安全,不会被人找到漏洞。其实程序没什么神秘的,程序员的职责就是把人的思想转化成程序,一般我们就是把产品经理的思想(也就是所谓的需求)转化成程序,让程序去完成人的想法。所以一般程序员考虑问题都比较全面,别人想不到的他都能想到,哈哈,在这里自夸一下

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180116A0Z1CN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券