干货 Tips Rules & Tips
1. 遵守中国大陆相关法律法规
2. 本版还在调整当中

哈佛大学公开课:构建动态网站

查看: 16541|回复: 22
4
虫子 发表于 2015-1-8 16:48:22
本帖最后由 张大虫 于 2015-1-9 16:59 编辑

这是一个系列的PHP入门视频,在网上的知名度和推荐指数都很高。作为初次认知非常不错的资源,相比之下,国内那些反人类的所谓经典著作的翻译真心让英语水平还捉襟见肘而又无可奈何的人抓狂。

讲师:David J. Malan       哈佛大学(Harvard university),美国最早的私立大学之一。

课程简介:如今网站的趋势是动态,越来越多的页面不再是静态HTML文件,而是脚本和数据库调用实现的动态页面。使用Ajax技术代替传统页面重载后,用户界面无缝对接更好。这一课程教学生如何用Ajax,用Linux、Apache、MySQL及PHP(LAMP)这些来构建动态网站。学生将学会如何用DNS设立域名,如何用XHTML和CSS构造页面,如何用JavaScript和PHP编程,如何配置Apache和MySQL,如何用SQL设计和查询数据库,如何用使用XML和JSON的Ajax,以及如何建立Mashup网站。这门课将探讨安全、可扩展性、跨浏览器支持,还探讨了企业级网站部署。

本系列课程一共10讲,这是第零讲

课堂上首先介绍了课程的结构以及每一讲的相应内容,介绍了课程的前提条件是最好熟悉HTML并拥有一定编程基础。这一讲主要介绍建立网站,并让互联网上的人能够看到你的网站。如何建网站呢?首先是需要一个域名,如foo.com,这需要向注册商购买。然后需要租用服务器或选择使用虚拟主机,这也需要付费购买。之后将服务器的DNS服务器地址告诉注册商,然后做好网站上传,这就能接入互联网了。课程最后还编写了Hello World的网页实例,以此介绍简单的HTML和CSS。另外,课上用到了一款Firebug浏览器插件,非常有趣,能窥视浏览器和服务器之间的沟通过程,还能用来即时调试代码。


 楼主| 虫子 发表于 2015-1-9 16:58:03
第九讲:可规模性

对于脸谱、维基百科这样的大型网站,其网站是如何部署的呢?当我们的网站达到了这种级别,我们有哪些方法能够实现规模性呢?实现规模化,首先可以用垂直规模化,即提高CPU性能、增加硬盘、使用各种硬盘技术如SAS和RAID、增加内存容量等等,提高单台服务器的性能,但一台服务器的性能总是会存在瓶颈,这就要考虑水平规模化,即让多台机器联合运行。另外,课上还讲了PHP代码加速、均衡负载、共享存储、缓存、主从复制、分割等方面,这些均能优化规模环境下的性能。

 楼主| 虫子 发表于 2015-1-8 17:34:43
第三讲:XML

像亚马逊这样的购物网站是如何实现购物车功能的?这一讲会给你提供一些思路。其实对于一个简易的数据系统,使用XML要比使用真正的数据库更容易入手。当今很多常用配置文件实质都是XML格式的:XML文件很简单就能在PHP中得到调用,并输出美观的HTML页面;当今流行的RSS本质也是XML文件;甚至我们MeGUI压片时截取声音片段的clt文件也是XML。XML有哪些规则,具体怎么实现,且听老师细细道来。

 楼主| 虫子 发表于 2015-1-8 17:07:07
本帖最后由 张大虫 于 2015-1-8 17:13 编辑

第二讲:PHP(续)

如今网站一般都会有用户登陆及身份验证系统,那么用PHP代码是如何来实现呢?Session指的又是什么?大家肯定都听说过Cookie,这又是什么,为什么说它具有重要作用?黑客如何在星巴克,用无线上网,利用Cookie来劫持用户?银行或亚马逊等购物网站的SSL证书到底又是什么,HTTPS又是什么,这些到底能达到多大的安全效果?以上内容课堂上都会详细讲解。



 楼主| 虫子 发表于 2015-1-8 16:49:48
本帖最后由 张大虫 于 2015-1-8 17:12 编辑

第一讲,PHP

课堂上首先提到了服务器软件Apache的一些配置问题,如何设置文件目录、如何重定向等一系列问题。之后课程切入到实际PHP编码环节,课上讲了两个主要例子,一个是仿谷歌搜索,一个是个人信息注册表,详细介绍了编码,以及浏览器和服务器之间的详细交互过程。


 楼主| 虫子 发表于 2015-1-8 17:36:27
第四讲:SQL

这一讲主要关于关系数据库及结构化查询语言SQL。首先继续上一讲,讲到了XPath是如何像C:\foo\bar这样查询XML文件。然后引入了更强大的数据库系统及SQL语言,以及课程使用的MySQL引擎。特别的,讲到了phpMyAdmin这一MySQL使用利器,详细讲解了该图形界面工具(GUI)的各种功能和使用事项。最后,讲到在PHP代码中,如何动态使用SQL语句来实现用户密码登陆。

 楼主| 虫子 发表于 2015-1-9 16:52:54
第五讲:SQL(续)

登陆任何网站时,大家肯定输入过密码吧。那么密码功能在动态网站中是如何实现呢?密码需要保密,使用怎样的加密方式才能保证安全?很多人在不同网站上都使用相同用户名和密码,这会不会将密码信息泄露给这些网站的管理员,造成隐私泄露呢?首先,这一讲将从深层次剖析这一问题。另外,课程提到了连接(join)的概念,包括如何将数据表标准化,如何将表格化整为零,而需要时再化零为整。最后,课程提到了常用表格格式MyISAM和InnoDB的区别,以及事务是什么,原子操作又是什么。

 楼主| 虫子 发表于 2015-1-9 16:54:14
第六讲:JavaScript

JavaScript是客户端代码,不同于PHP是服务器端,JavaScript代码是在用户电脑上由浏览器解释执行。JavaScript有很多实用的功能,比如很多网站上验证两个密码是否一致,验证用户输入密码的强度,验证邮箱是否符合规范,是否同意服务条款,这些用户验证方面的内容无需提交到服务器再由服务器判断,在客户端浏览器就能简单快速判别,这既节省了网络流量,也提高了交互的速度。JavaScript还有很多功能,比如事件处理器能够侦听用户的鼠标键盘动作,然后做出响应。它还有很多流行的库,能很方便就实现非常强大的功能,比如经常使用的日期选择器就是一种。

 楼主| 虫子 发表于 2015-1-9 16:55:33
第七讲:Ajax

Ajax是异步的JavaScript与XML技术的首字母缩写,传统的Web应用允许用户端填写表单,当提交表单时就向Web服务器发送一个请求。服务器接收并处理传来的表单,然后送回一个新的网页,但这个做法浪费了许多带宽。与此不同,Ajax应用可以仅向服务器发送并取回必需的数据,它使用一些页面服务接口,并在客户端采用JavaScript处理来自服务器的回应,实现不刷新页面的情况下完成请求并获取数据。另外,这一讲还讲到了JSON,即JavaScript对象表示法。最后,课堂上提到了如何将谷歌地图应用到你的网页中。

 楼主| 虫子 发表于 2015-1-9 16:56:46
第八讲:安全

英国皇家海军的网站受到攻击,其管理员帐户和密码别攻击者贴到网上,很讽刺的是,英国政府刚刚宣布增加这些网站的安全性预算。攻击者所使用的是SQL注入攻击,这种攻击其实只需要一个函数调用就能避免。星巴克中无线上网结果帐号被盗的问题非常常见,使用火狐插件Firesheep能够轻松登陆并侵害无线网络中的脸谱、谷歌、推特等帐户,那么应该怎么应对呢?SSL是什么,如何防止被钓鱼,一键购买有什么隐患?这些都是这一讲的主题。安全和黑客已经成为当今互联网中一个不可回避的问题,这一讲将深入浅出地告诉你:作为编程者,应该如何尽量杜绝安全问题;以及作为用户,应该如何避免被侵害。

jasperying 该用户已被删除
jasperying 发表于 2015-2-25 02:27:43
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 虫子 发表于 2015-2-25 16:17:44
jasperying 发表于 2015-2-25 02:27
看过第一集的公开课,但是基础太差了,好多没明白怎么回事……

是不是觉得讲得很生动细致?
 楼主| 虫子 发表于 2015-8-24 23:16:26
yanghongbin 发表于 2015-8-24 16:32
不是这个专业的,要好好学习。。。

有自己的专场就好,适当发展些业余爱好更好。
教父入行 发表于 2015-9-23 14:40:55
顶顶,支持一下,希望这类资源能多一些
随便啦 发表于 2016-1-13 18:57:52
听不懂没什么卵用
书子 发表于 2016-3-8 16:52:48
感觉比上课老师讲的帅多了
atom 发表于 2016-3-8 18:37:02
都是干活呀  可惜了 没时间去琢磨那么多东西了
oogle 发表于 2016-3-18 15:37:53
不错啊,很经典
creboy 发表于 2017-11-24 20:32:51
好,必学!
紫川风流 发表于 2017-12-12 13:03:36
Thanks,I lile it。
柚子 发表于 2017-12-17 18:26:09
收藏一下,以备不时之需。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

虫部落 陕ICP备14001577号-1川公网安备 51019002003015号联系我们FAQ关于虫部落免责声明虫部落生存法则蛙先知 - AI 玩家社区 🚧

Build with for "make search easier" Copyright © 2013-2024. Powered by Discuz! GMT+8, 2024-5-22 08:23

快速回复 返回顶部 返回列表