编辑推荐
腾讯、百度、淘宝、美团、豆瓣前后端工程师鼎力推荐
旨在帮助程序员更实时、深入地了解前沿技术,扩大视野,提升技能
内容侧重Web开发相关领域的研究与技术分享,并结合未来趋势对当前的技术作新解读
内容简介
WEB+DB PRESS是日本主流的计算机技术杂志,旨在帮助程序员更实时、深入地了解前沿技术,扩大视野,提升技能。内容侧重于Web开发的相关技术。
《WEB+DB PRESS 中文版 01》的主题分为3 个特辑:UI 设计实践、Web 支付入门和数据可视化。特辑1结合Cookpad 网站详细介绍UI 设计方面的实践知识。特辑2以在Web上使用最为广泛的信用卡支付为核心,介绍将信用卡支付整合进自己的网站或智能手机应用所必需的知识和方法。特辑3则介绍如何使用Web技术进行数据可视化。
《WEB+DB PRESS 中文版 01》适合各行业Web应用开发者阅读。
作者简介
技术评论社,是日本最大的技术类图书出版社,创立于1969年,主要出版IT相关的技术书籍和杂志,拥有一大批活跃在IT前沿的作者和编辑团队。其出版的单月刊Software Design和双月刊WEB+DB PRESS成为了日本程序员的必读杂志。
内页插图
目录
1 第3回 UI/UX 未来志向——预测未来之走向,知晓当下之所需 扁平化设计——挣脱拟物化隐喻表现的桎梏 ●渡边惠太
特辑1 UI设计实践 提高用户满意度的设计、实现和验证方法
4 第1章 开发人员所追求的UI 设计 明确为用户提供的目标 ● 五十岚启人
9 第2章 为了UI 设计而进行的用户体验设计 找出用户想要达成的目标 ● 伊野亘辉
16 第3章 准确高效地实现! UI 设计的技巧 Cookpad 首页的设计过程 ● 须藤耕平
22 第4章 提高UI 设计成果的验证技巧 比较测试手法和运用验证结果 ● 片山育美、五十岚启人
31 第5章 为多元化环境提供相应的UI 设计 明确应该灵活考虑与应该通用的部分 ● 池田拓司
特辑2 Web 支付入门 PayPal、WebPay、iOS/Android 应用内支付的实现方法
37 第1章 支付的基础知识 支付手段、第三方支付服务、支付时效 ● 滨崎健吾
40 第2章 信用卡的基础知识 从信用卡卡号的编排规则到电子商务的相关法律 ● 曾川景介
47 第3章 信用卡支付的信息安全 信息泄漏对策的要点和国际信息安全标准PCI DSS ● 久保渓
52 第4章 实现PayPal 支付 跳转式标准版Web 支付和嵌入式加强版Web 支付 ● 久保渓
56 第5章 实现WebPay 支付 使用RESTful Web API 实现信用卡支付 ● 滨崎健吾
62 第6章 实现在iOS/Android 应用内支付 In-App Purchase 和Google Play In-app Billing ● 曾川景介、滨崎健吾
特辑3 “边做边学”数据可视化 使用D3.js,易懂、丰富、轻松 ● 门脇恒平
72 第1章 数据可视化的基础知识 使用Web 技术实现数据可视化
76 第2章 D3.js 的导入和设定 特点、环境搭建、基本操作
81 第3章 实现地理数据可视化的方法 使用D3.js + Foursquare API实现
87 第4章 实现人际关系数据可视化的方法 使用网状结构表示朋友间的关系
92 特约文章 Gradle 让构建更高效 使用Groovy编写DSL 代码,高效实现自动化 ● 佐藤太一
102 第3回 智能手机开发的最新趋势 Android Studio 速评! ● 登尾德诚
110 第3回 Emerging Web Technology研究室 使用serverspec 构建测试驱动基础设施架构 ● 伊藤直也
119 第22回 Perl Hackers Hub 如何开发使用Coro 的简易网络爬行器 ● 审稿:日本Perl 协会
128 第8回 站在巨人的肩上学PHP——向前辈学习现代编程 从Go !开始的AOP ——横切关注点分离及其实现 ● 后藤秀宣
136 第9回 JavaScript应用最前沿——来自大规模开发现场 抢先看Web Components——JavaScript、HTML、CSS 的打包再利用! ● 若原祥正
144 第8回 理论学习SQL 新入门 使用RDBMS 顺利处理图的方法 ● 奥野干也
152 第8回 Java的潜力——灭火工程师秘籍 数据缓存性能设计的要点 ● 大林源
159 第8回 领先Ruby 使用Fluentd + FnordMetric 进行实时数据可视化 ● 近藤宇智朗
167 第17回 支撑CyberAgent 的程序员们( 技术篇) 从Pecolodge 来看HTML5+Canvas 的开发要点 ● 川添贵生
171 图灵访谈 赵望野:前端工程师的困惑
精彩书摘
1 支付的基础知识
支付手段、第三方支付服务、支付时效
这里所要讲的支付虽然统一称为 Web 服务 和应用程序的支付,但实际上提供给用户的支 付手段是多种多样的。而且,由于这类支付本 质上是关于资金的处理,所以无论是服务提供 者还是开发者,都会对于应该知道什么、怎么 做才算是万全之策感到惶恐不安,甚至实现支 付本身常常就会成为沉重的负担。
本特辑的作者们自己开发并运营了一个名为WebPay A 的信用卡第三方支付服务。基于这些经验,在本次特辑中,我们将以在 Web 上使用最多的、也是在 Web 服务和应用程序支付中使用最多的信用卡支付为核心,向各位读者介绍迅速引入信用卡支付所需要的知识和方法。
首先,本章并不局限于信用卡,而是介绍 支付的整体概念,例如都存在哪些支付手段、 支付的时机等。
支付手段
支付手段有如下几种。
信用卡
输入信用卡信息,由信用卡公司支付费用
手机运营商支付
通过 DOCOMO、au、软银等手机运营商的认证,和手机话费合并支付费用
预付(使用代金券,电子货币)
可以在便利店等地方够买类似iTunes Card这样的代金券。使用时,输入印在代金券上的字符串来支付费用。使用像Suica、PASMO、Edy 这类事先在卡内或者终端充值的卡也包括在这种手段内
便利店支付
在设置于便利店的终端上打印账单或者带着账单去便利店,在便利店的柜台支付费用
货到付款
在商品送到的时候,由货物投递人代收款项
银行转账、电子支付、挂号现金邮寄使用各种方法直接支付费用
用户需要配合各种各样的支付手段来采取相应的行动,因此我们在开发服务和应用程序时,就要仔细考虑应该配合提供什么支付手段。例如,在面向不大可能拥有信用卡的未成年用户开发 服务的时候,选择信用卡支付手段就不是一个 好的主意。另外,后文中也会提到,在 iOS 和 Android 中,支付手段的选择还会受到平台的约束。
第三方支付服务
试试在Web搜索中查找"第三方支付"就知道,有很多支持上述支付手段的第三方支付服务。自己开发的 Web 服务或应用程序很难直接和信用卡公司或者便利店运营商签约,所以除了银行转账和挂号现金邮寄等直接收费以外,基本上都需要使用第三方支付服务。
不同的第三方支付服务所支持的支付手段也不同。主要的第三方支付服务及其支持的支付手段见。
不同的第三方支付服务,其支付手续费、初始费用、月固定费等使用成本也是不同的。主要信用卡第三方支付服务的收费情况我们将
在第 2 章说明。
还有,很多第三方支付服务并没有公开受理支付处理这一部分的标准规范,因此使用服务前的开发很难推进。
综上所述,我们必须斟酌以费用为首的各种成本,结合要开发的服务和应用程序选择合适的第三方支付服务。
iOS和Android的应用程序内支付
通过浏览器请求用户进行支付的 Web 应用程序可以使用上面介绍的各种支付手段,但是在 iOS 和 Android 的应用程序内进行支付的话,则不然。如表 1 所示,iOS 的应用程序,只能使用信用卡支付和iTunes Card支付,而Android的应用程序则只能使用信用卡支付和手机运营商支付手段。
应用程序内支付虽然受到各自平台的限制,但是另一方面,它可以比一般的第三方支付服务更加轻松地处理全世界的货币。
另 外,在 Android 应用程序上,手机运营商支付机制等都已经完成封装,不用另外实现,使用时几乎可以和信用卡支付采用一样的操作。这对于仅使用信用卡支付的用户来说也具有一 定的吸引力。iOS 和 Android 应用程序内的支付将在第 6 章中详细说明。
……
前言/序言
《WEB+DB PRESS 中文版 01》 一、 开启现代 Web 开发的全新视角 《WEB+DB PRESS 中文版 01》是一本面向广大 Web 开发从业者、技术爱好者以及 IT 行业相关人士的深度技术读物。本书旨在为读者提供一个全面、系统且前沿的 Web 开发与数据库技术视野,帮助大家理解当前技术趋势,掌握核心开发技能,并有效应对实际项目中的挑战。内容聚焦于 Web 应用开发的各个关键环节,从前端的交互设计与用户体验,到后端的逻辑处理与性能优化,再到数据库的结构设计与高效运维,都进行了深入的剖析和实践指导。 本书并非仅仅是知识点的罗列,更注重在实际应用场景中展现技术的力量。它通过精选的专题、深入的案例分析以及富有洞察力的技术评论,引领读者思考“为什么”和“如何做”,从而构建起扎实的技术功底和解决问题的能力。无论您是初入 Web 开发领域的新人,希望快速建立起完整的技术图谱;还是经验丰富的开发者,渴望在日新月异的技术浪潮中保持敏锐的洞察力,本书都将是您不可或缺的学习伙伴。 二、 精选专题,引领技术前沿 1. 前端开发:构建引人入胜的用户体验 在如今高度信息化的时代,用户体验已成为衡量一个 Web 应用成败的关键因素。《WEB+DB PRESS 中文版 01》深入探讨了现代前端开发的最新技术和最佳实践。 响应式 Web 设计的精髓: 我们将详细讲解如何利用 HTML5 和 CSS3 的强大功能,构建能够完美适应各种屏幕尺寸和设备的前端界面。从流式布局、弹性盒子(Flexbox)到 CSS Grid,再到媒体查询(Media Queries)的应用,我们将一步步指导您掌握创建流畅、一致的用户体验的技巧。本书将不仅仅是介绍语法,更侧重于讲解其设计理念和在实际项目中的灵活运用,确保您的网站在桌面、平板、手机等设备上都能呈现最佳效果。 JavaScript 框架与库的现代实践: 随着前端开发的复杂性不断增加,JavaScript 框架和库的应用变得至关重要。本书将聚焦于当前业界主流的框架,例如 React、Vue.js 等,对其核心概念、组件化开发、状态管理以及性能优化等方面进行深入剖析。我们不会简单地介绍 API,而是着重于讲解其设计哲学、适用场景以及与其他技术的结合方式。同时,还会探讨诸如 Webpack、Vite 等现代前端构建工具的使用,帮助您提升开发效率和项目打包质量。 性能优化与可访问性: 快速加载的网页和包容性的设计是提升用户满意度的两大基石。本书将提供一系列实用的性能优化策略,包括代码分割、图片优化、延迟加载、缓存机制的应用等,帮助您打造飞速响应的 Web 应用。此外,我们还将深入讲解 Web 内容可访问性(Web Accessibility)的重要性,并提供实现无障碍访问的实用方法,确保您的 Web 应用能够服务于更广泛的用户群体。 2. 后端开发:打造稳定、高效的业务逻辑 强大的后端是支撑起整个 Web 应用的坚实后盾。《WEB+DB PRESS 中文版 01》将带领您深入理解后端开发的挑战与解决方案。 主流后端语言与框架的应用: 本书将聚焦于业界广泛应用的后端语言和框架,例如 Node.js、Python (Django/Flask)、Java (Spring Boot) 等。我们会通过具体的案例,展示如何利用这些技术构建健壮、可扩展的 Web 服务。内容将涵盖路由、中间件、API 设计、身份验证与授权、错误处理等关键环节,并深入分析不同框架的优劣势及其适用场景。 RESTful API 的设计与实现: 理解并掌握 RESTful API 的设计原则是构建现代 Web 服务的基础。本书将详细讲解如何设计清晰、一致的 RESTful API,并提供如何使用各种后端技术高效实现这些 API 的方法。我们将重点关注资源定义、HTTP 方法的使用、状态码的含义以及数据格式的选择(如 JSON),确保您的 API 易于理解、使用和集成。 微服务架构的探索与实践: 随着业务的增长,单体架构的弊端逐渐显现。本书将为您介绍微服务架构的核心概念,包括服务拆分、服务注册与发现、API 网关、分布式事务等。通过实际案例,您将了解如何将复杂的系统分解为一系列独立、可管理的服务,从而提升系统的灵活性、可伸缩性和容错性。 安全性与身份验证: Web 应用的安全性是重中之重。《WEB+DB PRESS 中文版 01》将深入探讨常见的 Web 安全威胁,例如 XSS、CSRF、SQL 注入等,并提供相应的防御策略。我们将详细讲解 Session-based 身份验证、Token-based 身份验证(如 JWT)以及 OAuth 2.0 等授权机制的应用,帮助您构建安全的 Web 应用。 3. 数据库技术:驱动数据价值的核心 数据是 Web 应用的生命线,高效的数据库管理是保证应用性能和稳定性的关键。《WEB+DB PRESS 中文版 01》将为您呈现数据库技术的深度洞察。 关系型数据库的精细化管理: 对于 MySQL、PostgreSQL 等主流关系型数据库,本书将深入探讨其设计原理、性能优化技巧以及高级管理方法。内容将涵盖索引优化、查询语句调优、事务管理、数据库连接池的应用,以及如何通过合理的表结构设计和范式应用来提升数据存储效率和查询性能。 NoSQL 数据库的崛起与应用: 随着数据类型的多样化和访问需求的快速增长,NoSQL 数据库已成为许多场景下的理想选择。本书将介绍 Redis、MongoDB 等主流 NoSQL 数据库的特点、优势以及应用场景。您将学习如何根据业务需求选择合适的 NoSQL 数据库,并掌握其基本的数据模型、查询语言以及分布式部署策略。 数据库的性能监控与调优: 瓶颈往往隐藏在数据库层面。《WEB+DB PRESS 中文版 01》将提供一套系统性的数据库性能监控和调优方法。您将学习如何利用各种工具,如慢查询日志、性能分析器等,找出数据库的性能瓶颈,并掌握相应的优化手段,从而确保数据库的高效运行。 数据一致性与事务处理: 在分布式系统和复杂业务场景下,保证数据的一致性至关重要。本书将深入讲解 ACID 原则,并探讨在关系型数据库和 NoSQL 数据库中如何实现有效的事务处理和数据一致性保证。 三、 实践导向,赋能开发者 《WEB+DB PRESS 中文版 01》的独特之处在于其强烈的实践导向。书中每一个技术点都紧密结合实际开发场景,通过大量的代码示例、配置文件片段以及命令行操作演示,帮助读者将理论知识转化为实际技能。 案例驱动的学习模式: 书中的案例涵盖了从小型个人项目到中大型企业级应用的常见场景,例如用户注册登录系统、博客系统、电商平台等。通过对这些案例的逐步剖析,读者可以清晰地看到不同技术如何协同工作,解决实际问题。 工具链的深度集成: 除了核心的编程语言和数据库技术,本书还将介绍和实践开发过程中常用的各种工具,例如版本控制系统(Git)、自动化构建工具、持续集成/持续部署(CI/CD)流程等,帮助读者建立起一套完整高效的开发工作流。 故障排除与调试技巧: 在实际开发中,遇到问题并进行调试是常态。《WEB+DB PRESS 中文版 01》将分享一些实用的故障排除思路和调试技巧,帮助读者快速定位问题,并学会如何利用日志、断点等工具进行深入分析。 四、 洞察未来,引领技术发展 技术日新月异,《WEB+DB PRESS 中文版 01》不仅关注当下,更着眼于未来。 新兴技术的前瞻性探讨: 本书将对一些新兴的技术趋势进行前瞻性的探讨,例如 Serverless 计算、GraphQL、WebAssembly 等。通过这些内容的介绍,读者可以提前了解未来 Web 开发可能的演进方向,并为迎接技术变革做好准备。 DevOps 与敏捷开发理念: 现代软件开发越来越强调效率、协作和快速迭代。《WEB+DB PRESS 中文版 01》将融入 DevOps 和敏捷开发的核心理念,指导读者如何通过自动化、流程优化和团队协作来提升整体开发效能。 总结 《WEB+DB PRESS 中文版 01》是一本内容丰富、技术前沿、实践性强的 Web 开发与数据库技术综合指南。它将帮助您系统地构建和深化对现代 Web 技术栈的理解,提升解决实际问题的能力,并为您的职业发展奠定坚实的基础。无论您是想成为一名优秀的 Web 开发者,还是希望在 IT 领域不断精进,本书都将是您宝贵的学习资源。