由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高99元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
正版新书]WEB开发基础(原书第3版)[加]兰德·康奈利(Randy Conn
¥ ×1
译者序<br />前 言<br />致 谢<br />第1章 Web开发基础1<br />1.1 一个复杂的生态系统1<br />1.2 定义及发展历史3<br />1.2.1 互联网简史3<br />1.2.2 Web的诞生4<br />1.2.3 Web应用与桌面应用的对比5<br />1.2.4 从静态到动态(并回归静态)7<br />1.3 客户机-服务器模型11<br />1.3.1 客户机11<br />1.3.2 服务器11<br />1.3.3 服务器类型12<br />1.3.4 实际服务器的安装12<br />1.3.5 云服务器15<br />1.4 互联网在哪里16<br />1.4.1 从计算机到户外16<br />1.4.2 从家到海边17<br />1.4.3 如今互联网如何组织18<br />1.5 Web开发工作20<br />1.5.1 角色和技能20<br />1.5.2 Web开发公司的类型23<br />1.6 本章小结25<br />1.6.1 关键术语26<br />1.6.2 习题26<br />1.6.3 参考文献27<br />第2章 Web工作原理28<br />2.1 互联网协议28<br />2.1.1 分层体系结构28<br />2.1.2 链路层28<br />2.1.3 网际层29<br />2.1.4 运输层31<br />2.1.5 应用层32<br />2.2 域名系统33<br />2.2.1 名称等级34<br />2.2.2 名称注册35<br />2.2.3 地址解析36<br />2.3 统一资源定位符38<br />2.3.1 协议39<br />2.3.2 域名39<br />2.3.3 端口39<br />2.3.4 路径39<br />2.3.5 查询字符串39<br />2.3.6 片段标识符40<br />2.4 超文本传输协议40<br />2.4.1 首部40<br />2.4.2 请求方法42<br />2.4.3 响应代码43<br />2.5 Web浏览器43<br />2.5.1 获取网页43<br />2.5.2 浏览器渲染44<br />2.5.3 浏览器缓存45<br />2.5.4 浏览器功能45<br />2.5.5 浏览器扩展46<br />2.6 Web服务器46<br />2.6.1 操作系统47<br />2.6.2 Web服务器软件47<br />2.6.3 数据库软件47<br />2.6.4 脚本软件47<br />2.7 本章小结48<br />2.7.1 关键术语48<br />2.7.2 习题49<br />2.7.3 参考文献49<br />第3章 HTML:简介50<br />3.1 什么是HTML,它从何而来50<br />3.1.1 XHTML52<br />3.1.2 HTML 554<br />3.2 HTML语法54<br />3.2.1 元素和属性54<br />3.2.2 HTML元素嵌套55<br />3.3 语义标记56<br />3.4 HTML文档的结构57<br />3.4.1 DOCTYPE58<br />3.4.2 Head和Body59<br />3.5 HTML元素速览59<br />3.5.1 标题60<br />3.5.2 段落和分区 63<br />3.5.3 链接63<br />3.5.4 URL相对引用65<br />3.5.5 行内文本元素67<br />3.5.6 图像68<br />3.5.7 字符实体68<br />3.5.8 列表69<br />3.6 HTML 5语义结构元素71<br />3.6.1 页眉和页脚元素73<br />3.6.2 导航元素73<br />3.6.3 main元素 74<br />3.6.4 文章和分节元素74<br />3.6.5 图和图提要元素75<br />3.6.6 aside元素76<br />3.6.7 细节和总结元素77<br />3.6.8 附加语义元素77<br />3.7 本章小结82<br />3.7.1 关键术语82<br />3.7.2 习题82<br />3.7.3 动手实践83<br />第4章 CSS:选择器和基本样式87<br />4.1 什么是CSS87<br />4.1.1 CSS的优点87<br />4.1.2 CSS 版本88<br />4.1.3 浏览器采用88<br />4.2 CSS语法89<br />4.2.1 选择器89<br />4.2.2 属性89<br />4.2.3 值90<br />4.3 样式的位置92<br />4.3.1 内联样式92<br />4.3.2 内嵌样式表92<br />4.3.3 外部样式表93<br />4.4 选择器94<br />4.4.1 元素选择器94<br />4.4.2 类选择器95<br />4.4.3 id选择器96<br />4.4.4 属性选择器96<br />4.4.5 伪元素和伪类选择器97<br />4.4.6 上下文选择器98<br />4.5 级联:样式如何互动101<br />4.5.1 继承101<br />4.5.2 具体性102<br />4.5.3 位置103<br />4.6 盒子模型106<br />4.6.1 块与内联元素的对比106<br />4.6.2 背景108<br />4.6.3 边框和盒子阴影110<br />4.6.4 边距和填充111<br />4.6.5 盒子尺寸113<br />4.7 CSS文本样式118<br />4.7.1 字体家族118<br />4.7.2 字体大小119<br />4.7.3 字体粗细122<br />4.7.4 段落属性122<br />4.8 CSS框架和变量125<br />4.8.1 什么是CSS框架125<br />4.8.2 CSS变量129<br />4.9 本章小结130<br />4.9.1 关键术语131<br />4.9.2 习题131<br />4.9.3 动手实践132<br />4.9.4 参考文献135<br />第5章 HTML:表格和表单136<br />5.1 HTML表格136<br />5.1.1 基本表格结构136<br />5.1.2 跨行和跨列138<br />5.1.3 附加的表格元素139<br />5.1.4 使用表格进行布局139<br />5.2 设置表格样式140<br />5.2.1 表格边框140<br />5.2.2 盒子格式和斑马条纹141<br />5.3 表单简介143<br />5.3.1 表单结构143<br />5.3.2 表单如何工作144<br />5.3.3 查询字符串144<br />5.3.4 <form>元素145<br />5.4 表单控件元素146<br />5.4.1 文本输入控件147<br />5.4.2 选择控件149<br />5.4.3 按钮控件150<br />5.4.4 特殊控件151<br />5.4.5 日期和时间控件153<br />5.5 表格和表单的可访问性155<br />5.5.1 可访问表格155<br />5.5.2 可访问表单156<br />5.6 设计表单及其样式157<br />5.6.1 设置表单元素样式157<br />5.6.2 设计表单158<br />5.7 验证用户输入159<br />5.7.1 输入验证的类型159<br />5.7.2 通知用户160<br />5.7.3 如何减少验证错误161<br />5.7.4 在哪里进行验证163<br />5.8 本章小结169<br />5.8.1 关键术语169<br />5.8.2 习题169<br />5.8.3 动手实践170<br />第6章 网页多媒体173<br />6.1 数字图像的表示173<br />6.1.1 图像类型174<br />6.1.2 颜色模型175<br />6.2 图像的概念179<br />6.2.1 颜色深度179<br />6.2.2 图像大小180<br />6.2.3 显示分辨率183<br />6.3 文件格式184<br />6.3.1 JPEG184<br />6.3.2 GIF185<br />6.3.3 PNG189<br />6.3.4 SVG189<br />6.3.5 其他格式190<br />6.4 音频与视频192<br />6.4.1 媒体的概念192<br />6.4.2 浏览器视频支持192<br />6.4.3 浏览器音频支持194<br />6.5 使用颜色196<br />6.5.1 挑选颜色196<br />6.5.2 定义色度196<br />6.6 本章小结198<br />6.6.1 关键术语198<br />6.6.2 习题199<br />6.6.3 动手实践199<br />第7章 CSS:布局203<br />7.1 CSS布局的传统方法203<br />7.1.1 浮动元素204<br />7.1.2 定位元素204<br />7.1.3 元素的重叠和隐藏207<br />7.2 弹性盒子布局209<br />7.2.1 弹性容器和弹性条目210<br />7.2.2 弹性盒子使用示例211<br />7.3 网格布局214<br />7.3.1 指定网格结构215<br />7.3.2 显式的网格放置217<br />7.3.3 单元格属性218<br />7.3.4 嵌套网格218<br />7.3.5 网格区域220<br />7.3.6 网格与弹性盒子结合使用221<br />7.4 响应式设计223<br />7.4.1 设定视窗224<br />7.4.2 媒体查询226<br />7.4.3 图像缩放228<br />7.5 CSS特效231<br />7.5.1 变换231<br />7.5.2 过滤器232<br />7.5.3 过渡233<br />7.5.4 动画236<br />7.6 CSS预处理器238<br />7.6.1 Sass基础239<br />7.6.2 混合与函数241<br />7.6.3 模块242<br />7.7 本章小结244<br />7.7.1 关键术语244<br />7.7.2 习题245<br />7.7.3 动手实践245<br />7.7.4 参考文献250<br />第8章 JavaScript:语言基础251<br />8.1 JavaScript的概念和功能251<br />8.1.1 客户端脚本252<br />8.1.2 JavaScript发展史253<br />8.1.3 JavaScript和Web 2.0254<br />8.1.4 现代软件开发中的<br /> JavaScript254<br />8.2 JavaScript发展趋势256<br />8.2.1 内联JavaScript256<br />8.2.2 嵌入式JavaScript256<br />8.2.3 外部JavaScript256<br />8.2.4 不使用JavaScript的用户258<br />8.3 变量和数据类型258<br />8.3.1 JavaScript输出260<br />8.3.2 数据类型261<br />8.3.3 内置对象263<br />8.3.4 连接符264<br />8.4 条件语句264<br />8.4.1 真假判断267<br />8.5 循环267<br />8.5.1 while循环和do...while<br /> 循环267<br />8.5.2 for循环268<br />8.6 数组269<br />8.6.1 使用for...of遍历数组271<br />8.6.2 数组解构271<br />8.7 对象272<br />8.7.1 使用对象字面量符号创建<br /> 对象272<br />8.7.2 使用Object构造器创建<br /> 对象273<br />8.7.3 对象解构274<br />8.7.4 JSON275<br />8.8 函数278<br />8.8.1 函数声明与函数表达式278<br />8.8.2 嵌套函数280<br />8.8.3 JavaScript中的提升281<br />8.8.4 回调函数282<br />8.8.5 对象和函数结合283<br />8.8.6 函数构造器284<br />8.8.7 箭头语法285<br />8.9 JavaScript中的作用域和闭包288<br />8.9.1 JavaScript中的作用域288<br />8.9.2 JavaScript中的闭包293<br />8.10 本章小结294<br />8.10.1 关键术语294<br />8.10.2 习题295<br />8.10.3 动手实践295<br />8.10.4 参考文献299<br />第9章 JavaScript:应用300<br />9.1 文档对象模型300<br />9.1.1 节点和节点列表301<br />9.1.2 文档对象301<br />9.1.3 选择方法302<br />9.1.4 元素节点对象304<br />9.2 修改DOM306<br />9.2.1 修改元素样式306<br />9.2.2 比较innerHTML、<br /> textContent<br /> 和DOM操作307<br />9.2.3 DOM操作方法308<br />9.2.4 DOM时序310<br />9.3 事件312<br />9.3.1 实现事件处理程序312<br />9.3.2 页面加载和DOM314<br />9.3.3 事件对象314<br />9.3.4 事件传播315<br />9.3.5 事件代理317<br />9.3.6 使用数据集属性318<br />9.4 事件类型320<br />9.4.1 鼠标事件320<br />9.4.2 键盘事件321<br />9.4.3 表单事件321<br />9.4.4 媒体事件322<br />9.4.5 框架事件322<br />9.5 JavaScript中的表单326<br />9.5.1 响应表单移动事件327<br />9.5.2 响应表单更改事件327<br />9.5.3 验证提交的表单328<br />9.5.4 提交表单330<br />9.6 正则表达式331<br />9.6.1 正则表达式语法331<br />9.6.2 扩展示例332<br />9.7 本章小结337<br />9.7.1 关键术语337<br />9.7.2 习题338<br />9.7.3 动手实践338<br />9.7.4 参考文献342<br />第10章 JavaScript:附加特性343<br />10.1 数组函数343<br />10.1.1 forEach343<br />10.1.2 find、filter、map和<br /> reduce344<br />10.1.3 sort346<br />10.2 原型、类和模块347<br />10.2.1 使用原型348<br />10.2.2 类350<br />10.2.3 模块352<br />10.3 使用JavaScript进行异步编码356<br />10.3.1 从Web API获取数据358<br />10.3.2 承诺367<br />10.3.3 异步和等待369<br />10.4 使用浏览器API374<br />10.4.1 Web Storage API374<br />10.4.2 Web Speech API376<br />10.4.3 Geolocation API376<br />10.5 使用外部API377<br />10.5.1 谷歌地图377<br />10.5.2 使用Plotly.js绘制图表382<br />10.6 本章小结385<br />10.6.1 关键术语385<br />10.6.2 习题386<br />10.6.3 动手实践386<br />10.6.4 参考文献389<br />第11章 JavaScript: React390<br />11.1 JavaScript的前端框架390<br />11.1.1 为什么需要框架390<br />11.1.2 React、Angular和Vue391<br />11.2 React简介394<br />11.2.1 React组件396<br />11.3 props、状态、行为和表单398<br />11.3.1 props398<br />11.3.2 状态401<br />11.3.3 行为403<br />11.3.4 React中的表单406<br />11.3.5 组件的数据流动408<br />11.4 React构建方式413<br />11.4.1 构建工具413<br />11.4.2 Create React App415<br />11.4.3 其他的React构建方法417<br />11.5 React的生命周期417<br />11.5.1 获取数据417<br />11.6 扩展React418<br />11.6.1 路由419<br />11.6.2 React中的CSS420<br />11.6.3 状态的其他方法421<br />11.7 本章小结427<br />11.7.1 关键术语427<br />11.7.2 习题428<br />11.7.3 动手实践428<br />11.7.4 参考文献431<br />第12章 服务器端开发:PHP432<br />12.1 什么是服务器端开发432<br />12.1.1 前端与后端的对比432<br />12.1.2 常用的服务器端技术432<br />12.2 PHP语言基础437<br />12.2.1 PHP的标签437<br />12.2.2 变量和数据类型438<br />12.2.3 输出440<br />12.2.4 并置441<br />12.3 程序控制444<br />12.3.1 if...else444<br />12.3.2 switch...case445<br />12.3.3 while和do...while446<br />12.3.4 for446<br />12.3.5 控制结构的替代语法 447<br />12.3.6 包含文件447<br />12.4 函数 449<br />12.4.1 函数语法449<br />12.4.2 调用函数 450<br />12.4.3 参数450<br />12.4.4 函数内的变量作用域453<br />12.5 数组454<br />12.5.1 定义和访问数组455<br />12.5.2 多维数组456<br />12.5.3 遍历数组458<br />12.5.4 增加或删除元素459<br />12.6 类和对象460<br />12.6.1 术语461<br />12.6.2 定义类461<br />12.6.3 实例化对象462<br />12.6.4 属性462<br />12.6.5 构造函数462<br />12.6.6 方法464<br />12.6.7 可见性464<br />12.6.8 静态成员465<br />12.6.9 继承467<br />12.7 超全局数组$_GET和$_POST468<br />12.7.1 超全局数组468<br />12.7.2 判断是否发送了数据470<br />12.7.3 访问表单数组数据472<br />12.7.4 使用超链接中的查询字符串472<br />12.7.5 净化查询字符串473<br />12.8 使用HTTP首部476<br />12.8.1 使用Location首部进行<br /> 重定向476<br />12.8.2 设置Content-Type首部477<br />12.9 本章小结478<br />12.9.1 关键术语478<br />12.9.2 习题479<br />12.9.3 动手实践479<br />12.9.4 参考文献482<br />第13章 服务器端开发:Node.js483<br />13.1 Node.js简介483<br />13.1.1 Node的优点483<br />13.1.2 Node的缺点487<br />13.2 Node的初步使用489<br />13.2.1 简单的Node应用程序489<br />13.2.2 添加Express490<br />13.2.3 环境变量492<br />13.3 在Node中创建API493<br />13.3.1 简单的API493<br />13.3.2 增加路由494<br />13.3.3 将路由功能分离成模块495<br />13.4 创建CRUD API497<br />13.4.1 向API传递数据498<br />13.4.2 API测试工具 499<br />13.5 使用Web套接字500<br />13.6 视图引擎502<br />13.7 无服务器方式504<br />13.7.1 何谓无服务器505<br />13.7.2 无服务器计算的优点506<br />13.7.3 无服务器技术506<br />13.8 本章小结508<br />13.8.1 关键术语508<br />13.8.2 习题508<br />13.8.3 动手实践508<br />13.8.4 参考文献510<br />第14章 使用数据库512<br />14.1 数据库和网络开发512<br />14.1.1 数据库在Web开发中的<br /> 作用513<br />14.2 管理数据库513<br />14.2.1 命令行界面515<br />14.2.2 phpMyAdmin515<br />14.2.3 MySQL Workbench517<br />14.2.4 SQLite工具518<br />14.2.5 MongoDB工具518<br />14.3 SQL518<br />14.3.1 数据库设计518<br />14.3.2 SELECT语句521<br />14.3.3 INSERT、UPDATE和DELETE<br /> 语句523<br />14.3.4 事务524<br />14.3.5 数据定义语言525<br />14.3.6 数据库索引和效率525<br />14.4 在PHP中使用SQL527<br />14.4.1 连接数据库527<br />14.4.2 处理连接错误530<br />14.4.3 执行SQL查询530<br />14.4.4 处理查询结果531<br />14.4.5 释放资源并关闭连接534<br />14.4.6 使用参数535<br />14.4.7 使用事务537<br />14.4.8 设计数据访问540<br />14.5 NoSQL数据库543<br />14.5.1 为什么选择(或不选择)<br /> NoSQL543<br />14.5.2 NoSQL系统分类544<br />14.6 在Node中使用MongoDB547<br />14.6.1 MongoDB特性547<br />14.6.2 MongoDB的数据模型548<br />14.6.3 使用MongoDB Shell548<br />14.6.4 在Node.js中访问MongoDB<br /> 数据549<br />14.7 本章小结555<br />14.7.1 关键术语555<br />14.7.2 习题556<br />14.7.3 动手实践556<br />14.7.4 参考文献559<br />第15章 状态管理560<br />15.1 Web应用程序中的状态问题560<br />15.2 在HTTP中传递信息562<br />15.2.1 通过URL传递信息562<br />15.2.2 通过HTTP首部传递信息563<br />15.3 cookie565<br />15.3.1 cookie的工作原理565<br />15.3.2 在PHP中使用cookie566<br />15.3.3 在Node和Express中<br /> 使用cookie567<br />15.3.4 持久cookie最佳实践568<br />15.4 会话状态569<br />15.4.1 会话状态如何工作570<br />15.4.2 会话存储和配置571<br />15.4.3 PHP中的会话状态572<br />15.4.4 Node中的会话状态574<br />15.5 缓存574<br />15.5.1 页面输出缓存575<br />15.5.2 应用程序数据缓存576<br />15.5.3 Redis作为缓存服务578<br />15.6 本章小结581<br />15.6.1 关键术语581<br />15.6.2 习题581<br />15.6.3 动手实践581<br />15.6.4 参考文献584<br />第16章 安全585<br />16.1 安全原理585<br />16.1.1 信息安全585<br />16.1.2 风险评估及管理586<br />16.1.3 安全策略587<br />16.1.4 业务连续性588<br />16.1.5 设计安全590<br />16.1.6 社会工程学591<br />16.1.7 认证因素592<br />16.2 Web的认证方式593<br />16.2.1 HTTP基本认证593<br />16.2.2 基于表单的认证594<br />16.2.3 HTTP 令牌认证594<br />16.2.4 第三方认证596<br />16.3 密码学599<br />16.3.1 替换密码600<br />16.3.2 公开密钥密码学601<br />16.3.3 数字签名603<br />16.4 HTTPS604<br />16.4.1 SSL/TLS握手605<br />16.4.2 证书和证书颁发机构605<br />16.4.3 迁移到HTTPS 608<br />16.5 安全最佳实践610<br />16.5.1 凭据存储610<br />16.5.2 系统监视616<br />16.5.3 审计和攻击自己618<br />16.6 常见的威胁向量618<br />16.6.1 暴力攻击618<br />16.6.2 SQL注入攻击619<br />16.6.3 跨站脚本攻击620<br />16.6.4 跨站请求伪造624<br />16.6.5 不安全的直接对象引用624<br />16.6.6 拒绝服务攻击626<br />16.6.7 安全性错误配置626<br />16.7 本章小结628<br />16.7.1 关键术语629<br />16.7.2 习题630<br />16.7.3 动手实践631<br />16.7.4 参考文献632<br />第17章 DevOps与托管634<br />17.1 DevOps:开发和运维634<br />17.1.1 持续集成、交付和部署634<br />17.1.2 测试635<br />17.1.3 基础设施即代码637<br />17.1.4 微服务架构638<br />17.2 域名管理639<br />17.2.1 注册域名640<br />17.2.2 更新域名服务器641<br />17.2.3 DNS记录类型642<br />17.2.4 反向DNS644<br />17.3 Web服务器托管选项644<br />17.3.1 共享托管644<br />17.3.2 专用托管646<br />17.3.3 主机托管646<br />17.3.4 云托管647<br />17.4 虚拟化647<br />17.4.1 服务器虚拟化647<br />17.4.2 云虚拟化651<br />17.5 Linux及Web服务器配置652<br />17.5.1 配置652<br />17.5.2 启动和停止服务器653<br />17.5.3 连接管理653<br />17.5.4 数据压缩655<br />17.5.5 加密和SSL655<br />17.5.6 管理文件所有权和权限657<br />17.6 请求和响应管理657<br />17.6.1 在一台Web服务器上管理<br /> 多个域658<br />17.6.2 处理目录请求659<br />17.6.3 响应文件请求660<br />17.6.4 URL重定向661<br />17.6.5 使用.htaccess管理访问663<br />17.6.6 服务器缓存665<br />17.7 网络监控665<br />17.7.1 内部监控666<br />17.7.2 外部监控667<br />17.8 本章小结667<br />17.8.1 关键术语667<br />17.8.2 习题668<br />17.8.3 动手实践668<br />17.8.4 参考文献 670<br />第18章 工具和流量671<br />18.1 搜索引擎的历史及剖析671<br />18.1.1 搜索引擎概述671<br />18.2 网络爬虫和抓取工具672<br />18.2.1 抓取工具674<br />18.3 索引和反向索引675<br />18.4 PageRank和结果排序676<br />18.5 搜索引擎优化677<br />18.5.1 标题678<br />18.5.2 元标签678<br />18.5.3 URL680<br />18.5.4 站点设计681<br />18.5.5 站点地图682<br />18.5.6 锚文本682<br />18.5.7 图像683<br />18.5.8 内容683<br />18.5.9 黑帽SEO684<br />18.6 社交网络687<br />18.6.1 我们是如何到达这里的687<br />18.7 社交网络集成689<br />18.7.1 基本的社交媒体存在感689<br />18.7.2 Facebook的社交插件690<br />18.7.3 Open Graph693<br />18.7.4 Twitter的小部件694<br />18.7.5 高级社交网络集成697<br />18.8 内容管理系统697<br />18.8.1 被管理网站的组件697<br />18.8.2 CMS类型698<br />18.9 WordPress概述699<br />18.9.1 帖子和页面管理700<br />18.9.2 所见即所得编辑器701<br />18.9.3 模板管理701<br />18.9.4 菜单控件702<br />18.9.5 用户管理和角色702<br />18.9.6 用户角色703<br />18.9.7 工作流和版本控制704<br />18.9.8 资产管理705<br />18.9.9 搜索706<br />18.9.10 升级和更新707<br />18.10 WordPress技术概述707<br />18.10.1 安装707<br />18.10.2 文件结构708<br />18.10.3 WordPress命名法709<br />18.10.4 WordPress模板层次结构710<br />18.11 修改主题710<br />18.11.1 更改主题文件712<br />18.12 网站广告基础712<br />18.12.1 网站广告101713<br />18.12.2 网站广告经济714<br />18.13 支持工具和分析工具715<br />18.13.1 搜索引擎网站管理员<br /> 工具716<br />18.13.2 分析工具716<br />18.13.3 第三方分析717<br />18.13.4 性能调整和评级718<br />18.14 本章小结721<br />18.14.1 关键术语722<br />18.14.2 习题723<br />18.14.3 动手实践724<br />18.14.4 参考文献726
加拿大皇家山大学数学与计算系教授,长期从事web开发相关课程的教学,拥有丰富的web开发经验。<br />兰德·康奈利(Randy Connolly)<br />加拿大皇家山大学数学与计算系终身教授。他主要从事Web应用开发与技术、社会研究方面的教学。他的研究兴趣包括Web开发教学、计算机教育学科的一般教学法、计算机的社会影响等。他出版了3本图书,撰写了34篇经同行评审的论文,发表了20多篇国际研究报告,并获得了3次最佳论文奖和1次教学奖。他也是计算机教育两大期刊(ACM Transactions on Computing Education和ACM Inroads)的编委会成员。<br />里卡多·霍尔(Ricardo Hoar)<br />加拿大皇家山大学原副教授兼系主任,并曾任加拿大谢里丹学院应用计算学院副院长。他在非学术领域的职业经历包括程序员、网站主管、系统管理员和项目经理等。当前,他的研究方向为将万维网技术与人工智能技术相结合,应用于增强现实等前沿领域。
本书是一本专为Web开发初学者打造的零基础入门指南,凝聚了作者二十余年的教学智慧与实战心得,内容系统全面,以清晰的脉络引领读者深入Web开发的完整生态。
全书从核心的客户端知识入手,详尽解析HTML、CSS与JavaScript,奠定坚实的前端基础;进而过渡到服务器端开发,讲解运行环境与关键技术;然后,拓展至Web安全、Web服务器托管与配置等实战主题。通过丰富的案例与学练结合的方式,本书致力于让读者不仅理解原理,更能掌握实际应用技巧,一站式贯通从网页制作到全栈开发的必备知识与技能。
本书既可作为高校计算机相关专业的理想教材,也是初学者和技术人员不可或缺的案头参考书。
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格
