版权声明:本文由李宜东原创文章,转载请注明出处: 
文章原文链接:https://www.qcloud.com/community/article/116

来源:腾云阁 https://www.qcloud.com/community

我叫李宜东,是一名华中科技大学的大二学生,一名网站开发的萌新,在大一上半学期,就想做一个我们班级专属的网站,方便同学们(方便我这个学委偷懒)。
下面放出我的网站信息架构、技术组合和从一个小白成长到现在一个小小工作室负责人的一些经验分享。

一.当前网站信息架构

二.网站运行环境及技术组合

注:左侧为现在的技术组合,右侧为未来可能选择的组合

三.腾讯云上环境的搭建和代码托管:

四.经验分享

从一个大一小白开始,我是如何在不到一年的时间从前端到后端搭建起自己的网站呢,又为何选择这个技术组合,踩过什么坑呢?

学习及开发经验

  • 利用网上平台,慕课网,实验楼,极客学院等等许多免费的学习平台都是很好的学习途径。
  • 会用插件,多 Google , StarOverFlow 上有很多问题的解答
  • 最重要的还是保持对编程的热情,做编程会占用你大量的时间,如果没有兴趣是很难坚持下来的,多做点自己想做的,往往可以带来学习的动力。
  • ……

如何偷懒

  • 环境配置篇:一键化安装,注意留存或收藏环境配置的文档,开发环境更新做好备份。
  • 团队协作篇:使用团队协作工具如 GITHUB ,良好的版本控制和工作流会减少冲突的代价,重要的是别人的代码不乱改:)
  • 轮子篇:合理利用现有的开源组件而不是一味造轮子,基于模板 /框架的开发会迅速很多。
  • 重构、封装篇:不要老想着重写代码,可以尝试将已有的服务封装为服务,在不改动底层的情况下进行开发:)
  • 编辑器篇:好的编辑器的代码补全,快捷键可以省不少时间。

选择当前技术组合的原因:

  • 前端的变化:现在 HTML5 和 CSS3 使用越来越广,同时出于这学期响应式设计的需要,前端从最初的 HTML,CSS,JavaScript 转向了 HTML5,CSS3 和 jQuery ,也开始使用更多的插件。
  • 后端语言及框架选择:在性能要求不高的前提下, php 无需编译,学习成本也比较低,容易上手,但是也因为这个原因,所以需要使用框架来使项目结构和编码规范更清晰一些,而 ThinkPHP 作为流行,文档较完善的国内 PHP 框架被我作为首选。
  • 数据库选择 MySQL 的原因: PHP 的良好支持, phpmyadmin ,开源免费. 最后由于一些校内网站数据的收集和四六级成绩的查询使用了 Python 来做网络爬虫
  • 服务器的选择:腾讯云学生服务器 1 元支持 : ),访问快,稳定性比较好

技术上踩过的坑:

1.最初使用 MVC 框架时,没有模型的概念,把数据库操作也写在了控制器,维护、复用和扩展都很麻烦。
2.数据库最初设计没有考虑扩展性,最近数据库向高版本迁移时懒得导出 sql ,复制了 data 目录到高版本 MySQL,然后数据异常,至今个人论坛还没来得及恢复数据。
3.最初密码设计只做了简单的 md5 加密,导致现在也没能加字符 md5 。
4.开发文档和项目文档的编写,有一天,突然翻到之前的文档,发现我写的代码已经偏离最初设计(软件课设作业:学生管理系统),成了班级网站:), mark :更新日志

五.网站截图:

首页

学生登陆页面

个人信息页

部门招新

官网地址链接

六.结语

这样,我上学期在一元服务器上折腾出了班级网站,这学期,我想将全站做成响应式网站,做出更多方便同学的功能。最后,感谢腾讯云给了同学体验云服务的机会,也希望其他同学也可以在云上做出自己想要的网站 /App 。

如何偷懒地用 PHP 搭建一个班级网站的更多相关文章

  1. 利用git+hugo+markdown 搭建一个静态网站

    利用git+hugo+markdown 搭建一个静态网站 一直想要有一个自己的文档管理系统: 可以很方便书写,而且相应的文档很容易被分享 很方便的存储.管理.历史记录 比较方面的浏览和查询 第一点用M ...

  2. express + mongodb 搭建一个简易网站 (四)

    express + mongodb 搭建一个简易网站 (四) 目前网站整体页面都已经能全部展示了,但是,整个网站还有两个块需要做完才能算完整,一个连接数据库,目前网站上的数据都是抓取的本地假数据,所以 ...

  3. express + mongodb 搭建一个简易网站 (三)

    express + mongodb 搭建一个简易网站 (三) 前面已经实现了基本的网站功能,现在我们就开始开搞一个完整的网站,现在整个网站的UI就是下面的这个样子. 我们网站的样子就照着这个来吧. 1 ...

  4. express + mongodb 搭建一个简易网站(二)

    express + mongodb 搭建一个简易网站 (二) 在搭建网站(一)中,实现了简单的路由功能,这离一个完整的网站还差的有点远,继续撸代码吧. 1.首先在根目录下新建一个views文件夹,用来 ...

  5. express + mongodb 搭建一个简易网站(一)

    express + mongodb 搭建一个简易网站(一) 前言:后台使用node.js的express框架,数据库使用mongodb,模板使用ejs.大概就这些. 开始第一个简易网站之旅吧.... ...

  6. 搭建一个wordpress网站需要做哪些工作

    今天做了自己的个人网站:二飞日志 之前因为服务器的问题,因为备案的原因辛辛苦苦做的站点数据没了.还好的是没有多少数据.没关系,重新来.有了上一次的经验,这次搭建起来比较顺手.但是也出现了几个问题.下面 ...

  7. Python Flask搭建一个视频网站实战视频教程

    点击了解更多Python课程>>> Python Flask搭建一个视频网站实战视频教程 第1章 课程介绍 第2章 预备开发环境 第3章 项目分析.建立目录及模型规划 第4章 建立前 ...

  8. 30分钟搭建一个小型网站框架(python django)

    最近因为要做一个小型的网站,需求很简单有点像公司内部的管理网站,和室友一起倒腾,发现了一些坑.我自己之前没有接触过python 但是发现真的非常好上手. 我们没人会前端,所以最怕修改网页,一开始选择了 ...

  9. 关于搭建一个高性能网站的服务器的架设思路以及nginx测试的并发

    对于高性能网站的架设,主要就是请求量大,那我们该如何进行支撑? 考虑到下面的几个方面: 1.要减少请求,那对于开发人员来说,网站的css文件进行合并,背景图片也要合并,一般都是请求一张比较大的图片,然 ...

随机推荐

  1. Mac下面的SecureCRT(附破解方案) 更新到最新的7.2的破解方案

    继续更新到7.2的破解.只是升级了下secureCRT到7.2,方法还是不变 相信很多人升级到了7.2的SecureCRT之后原来的破解方案失效了,一直也有人问新的破解方案,发现了,不敢独享放上crt ...

  2. kettle的报错解决机制

    在kettle执行的过程中,如果遇到错误,kettle会停止运行.在某些时候,并不希望kettle停止运行,这时候可以使用错误处理(Step Error Handling).错误处理允许你配置一个步骤 ...

  3. sparkr基本操作1

    由于装的sparkr是1.4版本的,老版本的很多函数已经不再适用了. 在2台服务器的组成的集群中测试了一版数据,熟悉下这个api的基本操作.​ libpath <- .libPaths() li ...

  4. 聊聊Javascript中的AOP编程

    Duck punch 我们先不谈AOP编程,先从duck punch编程谈起. 如果你去wikipedia中查找duck punch,你查阅到的应该是monkey patch这个词条.根据解释,Mon ...

  5. 关于Java获取文件路径的几种方法

    第一种:File f = new File(this.getClass().getResource("/").getPath()); System.out.println(f);  ...

  6. 不可在 for 循环体内修改循环变量,防止 for 循环失去控制

    不可在 for 循环体内修改循环变量,防止 for 循环失去控制. #include <iostream> /* run this program using the console pa ...

  7. C# 发邮件 服务器响应为: 5.7.0 Must issue a STARTTLS command first

    The SMTP server requires a secure connection or the client was not authenticated. The server respons ...

  8. nodejs基础 -- 回调函数

    Node.js 异步编程的直接体现就是回调. 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了. 回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都 ...

  9. LINUX下CPU Load Average的一点研究

    背景: 公司的某个系统工作在基于Linux的Cent OS下,一个host下同时连接了许多client, 最近某台Host总是显示CPU Load Average过高,我们单纯的以为是CPU的占用过高 ...

  10. 【Java NIO的深入研究1】缓冲区

    缓冲区 传统的流和通道的对比 流 通道 慢 快 处理简单 处理复杂 单字节的传输 一块数据的传输 - Java.io.*已经重新写过 - 是对流的模拟 单向的 双向的 可直接访问 必须通过Buffer ...