版权声明:本文由李宜东原创文章,转载请注明出处: 
文章原文链接: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. linux_UAPI_转

    转自:Linux Kernel UAPI 问题描述 从3.5开始,Linux Kernel 里多了一个 uapi 文件夹,里面放了很多 Linux Kernel 各个模块的头文件.如果是第一次碰到,可 ...

  2. ubuntu 12.10 默认安装php5-fpm无监听9000端口,nginx无法链接php5-fpm修正

    升级php5的时候,发现nginx无法链接到php5,怀疑是php5端口的问题. netstat -an未发现监听9000端口. 查看/var/log/php5-fpm.log一切正常. 随后查看/e ...

  3. HDU 5289 Assignment(多校2015 RMQ 单调(双端)队列)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5289 Problem Description Tom owns a company and he is ...

  4. 初学 Spring boot 报错 Whitelabel Error Page 404

    按照教程,写了个最简单的 HelloWorld,尼玛报错 -->Whitelabel Error Page 404. 网上99%都是项目结构不对,说什么 Application放在父级 pack ...

  5. js学习笔记15----子节点和兄弟节点的操作

    1.元素.firstChild : 只读属性,第一个子节点 标准下:会包含文本类型的子节点. 非标准下:只包含元素类型子节点. 元素.firstElementChild : 只读属性,第一个元素子节点 ...

  6. 【R】用 ggplot2 绘制漂亮的分级统计地图

    最近我一直尝试利用R绘制地图,我从网上找到了上百种不同的实现方法,然而其中却没有适用于我的数据的方法.最终,我从以下几个博客[1]中找到了灵感.我在整合这些资源的基础上,通过不断的试验和修正得到了一个 ...

  7. Qt 线程基础(QThread、QtConcurrent等)

    [-] 使用线程 何时使用其他技术替代线程 应该使用 Qt 线程的哪种技术 Qt线程基础 QObject与线程 使用互斥量保护数据的完整 使用事件循环防止数据破坏 处理异步执行 昨晚看Qt的Manua ...

  8. php 进度条

    <?php header( 'Content-type: text/html; charset=utf-8' ); echo 'Begin ...<br />'; for( $i = ...

  9. 在jsp中,page指令的()属性用来引入需要的包或类。

    在jsp中,page指令的()属性用来引入需要的包或类. A.extends B.import C.language D.contentType 解答:B

  10. 【转载】关于quartus ii软件中注释乱码问题的解决方法

    最近在看Verilog代码,由于我的quartus版本打开他们的文件注释会全部乱码,痛苦万分!从网上找了下原因,解决方法基本没有,不过看到有人提出是编码的问题,立马我就想到一个解决方法,经过实验果然有 ...