Fundamentals of Web Development (PAP/PSC)

Fundamentals of Web Development (PAP/PSC)

  • ただいまウェブストアではご注文を受け付けておりません。 ⇒古書を探す
  • 製本 Paperback:紙装版/ペーパーバック版/ページ数 979 p.
  • 言語 ENG
  • 商品コード 9780133407150
  • DDC分類 006.7

Full Description


Fundamentals of Web Development covers the broad range of topics required for modern web development (both client- and server-side) and is appropriate for students who have taken a CS1 course sequence.The book guides students through the creation of enterprise-quality websites using current development frameworks, its comprehensive coverage of a modern internet development platform?includes HTML5, CSS3, Javascript, and the LAMP stack (that is, Linux, Apache, MySQL, and PHP). Other important technologies covered include jQuery, XML, WordPress, Bootstrap, and a variety of third-party APIs that include Facebook, Twitter, and Google and Bing Maps. Coverage also includes the required ACM web development topics in a modern manner closely aligned with best practices in the real world?of web development.?Teaching and Learning ExperienceHelp students master the fundamentals of web development:?A true grasp of web development requires an understanding of both the foundations of the web and current web development practices.Support learning outcomes in various teaching scenarios:?This book allows instructors to chart their own unique way through the topics that make up contemporary web development.

Contents

Preface xxxiiiAcknowledgments xlChapter 1 How the Web Works 11.1 Definitions and History 2A Short History of the Internet 2The Birth of the Web 4Web Applications in Comparison to Desktop Applications 6Static Websites versus Dynamic Websites 8Web 2.0 and Beyond 91.2 Internet Protocols 11A Layered Architecture 12Link Layer 12Internet Layer 13Transport Layer 15Application Layer 161.3 The Client-Server Model 16The Client 17The Server 17The Request-Response Loop 17The Peer-to-Peer Alternative 18Server Types 18Real-World Server Installations 201.4 Where Is the Internet? 23From the Computer to the Local Provider 24From the Local Provider to the Ocean's Edge 26Across the Oceans 291.5 Domain Name System 30Name Levels 32Name Registration 34Address Resolution 341.6 Uniform Resource Locators 38Protocol 38Domain 39Port 39Path 39Query String 39Fragment 391.7 Hypertext Transfer Protocol 40Headers 42Request Methods 44Response Codes 451.8 Web Servers 46Operating Systems 47Web Server Software 47Database Software 48Scripting Software 481.9 Chapter Summary 48Key Terms 49Review Questions 49References 50Chapter 2 Introduction to HTML 522.1 What Is HTML and Where Did It Come from? 53XHTML 55HTML5 572.2 HTML Syntax 59Elements and Attributes 59Nesting HTML Elements 602.3 Semantic Markup 622.4 Structure of HTML Documents 64DOCTYPE 65Head and Body 662.5 Quick Tour of HTML Elements 68Headings 68Paragraphs and Divisions 72Links 72URL Relative Referencing 74Inline Text Elements 78Images 78Character Entities 79Lists 802.6 HTML5 Semantic Structure Elements 81Header and Footer 81Heading Groups 84Navigation 84Articles and Sections 85Figure and Figure Captions 87Aside 892.7 Chapter Summary 89Key Terms 89Review Questions 90Hands-On Practice 90Chapter 3 Introduction to CSS 953.1 What Is CSS? 96Benefits of CSS 96CSS Versions 96Browser Adoption 973.2 CSS Syntax 98Selectors 99Properties 99Values 1003.3 Location of Styles 103Inline Styles 103Embedded Style Sheet 104External Style Sheet 1043.4 Selectors 105Element Selectors 106Class Selectors 106Id Selectors 107Attribute Selectors 110Pseudo-Element and Pseudo-Class Selectors 112Contextual Selectors 1143.5 The Cascade: How Styles Interact 116Inheritance 116Specificity 116Location 1193.6 The Box Model 122Background 123Borders 124Margins and Padding 125Box Dimensions 1283.7 CSS Text Styling 134Font Family 134Font Sizes 136Paragraph Properties 1383.8 Chapter Summary 140Key Terms 141Review Questions 141Hands-On Practice 142References 147Chapter 4 HTML Tables and Forms 1484.1 Introducing Tables 149Basic Table Structure 149Spanning Rows and Columns 150Additional Table Elements 151Using Tables for Layout 1524.2 Styling Tables 155Table Borders 155Boxes and Zebras 1564.3 Introducing Forms 158Form Structure 159How Forms Work 160Query Strings 161The Element 1624.4 Form Control Elements 163Text Input Controls 165Choice Controls 167Button Controls 169Specialized Controls 171Date and Time Controls 1724.5 Table and Form Accessibility 174Accessible Tables 175Accessible Forms 1764.6 Microformats 1774.7 Chapter Summary 178Key Terms 179Review Questions 179Hands-On Practice 180Chapter 5 Advanced CSS: Layout 1845.1 Normal Flow 1855.2 Positioning Elements 188Relative Positioning 188Absolute Positioning 189Z-Index 190Fixed Position 1915.3 Floating Elements 193Floating within a Container 193Floating Multiple Items Side by Side 195Containing Floats 198Overlaying and Hiding Elements 1995.4 Constructing Multicolumn Layouts 203Using Floats to Create Columns 204Using Positioning to Create Columns 2075.5 Approaches to CSS Layout 209Fixed Layout 210Liquid Layout 211Other Layout Approaches 2135.6 Responsive Design 214Setting Viewports 215Media Queries 2185.7 CSS Frameworks 220Grid Systems 220CSS Preprocessors 2225.8 Chapter Summary 225Key Terms 225Review Questions 225Hands-On Practice 226Chapter 6 JavaScript: Client-Side Scripting 2306.1 What Is JavaScript and What Can It Do? 231Client-Side Scripting 232JavaScript's History and Uses 2356.2 JavaScript Design Principles 240Layers 241Users without JavaScript 243Graceful Degradation and Progressive Enhancement 2476.3 Where Does JavaScript Go? 247Inline JavaScript 249Embedded JavaScript 249External JavaScript 250Advanced Inclusion of JavaScript 2506.4 Syntax 251Variables 252Comparison Operators 252Logical Operators 253Conditionals 253Loops 254Functions 255Errors Using Try and Catch 2566.5 JavaScript Objects 257Constructors 257Properties 258Objects Included in JavaScript 258Window Object 2616.6 The Document Object Model (DOM) 261Nodes 262Document Object 263Element Node Object 265Modifying a DOM Element 265Additional Properties 2686.7 JavaScript Events 268Inline Event Handler Approach 268Listener Approach 270Event Object 271Event Types 2726.8 Forms 276Validating Forms 276Submitting Forms 2786.9 Chapter Summary 278Key Terms 278Review Questions 279Hands-On Practice 279References 282Chapter 7 Web Media 2837.1 Digital Representations of Images 2847.2 Color Models 288RGB 288CMYK 289HSL 291Opacity 292Color Relationships 2927.3 Image Concepts 296Color Depth 296Image Size 297Display Resolution 3017.4 File Formats 302JPEG 302GIF 303PNG 308SVG 308Other Formats 3107.5 Audio and Video 310Media Concepts 310Browser Video Support 312Browser Audio Support 3137.6 HTML5 Canvas 3157.7 Chapter Summary 317Key Terms 317Review Questions 317Hands-On Practice 318Chapter 8 Introduction to Server-Side Development with PHP 3228.1 What Is Server-Side Development? 323Comparing Client and Server Scripts 323Server-Side Script Resources 323Comparing Server-Side Technologies 3258.2 A Web Server's Responsibilities 328Apache and Linux 329Apache and PHP 330PHP Internals 332Installing Apache, PHP, and MySQL for Local Development 3348.3 Quick Tour of PHP 336PHP Tags 336PHP Comments 337Variables, Data Types, and Constants 339Writing to Output 3428.4 Program Control 346if . . . else 346switch . . . case 347while and do . . . while 348for 349Alternate Syntax for Control Structures 349Include Files 3508.5 Functions 351Function Syntax 352Calling a Function 353Parameters 353Variable Scope within Functions 3568.6 Chapter Summary 358Key Terms 358Review Questions 358Hands-On Practice 359References 363Chapter 9 PHP Arrays and Superglobals 3649.1 Arrays 365Defining and Accessing an Array 365Multidimensional Arrays 367Iterating through an Array 367Adding and Deleting Elements 369Array Sorting 371More Array Operations 372Superglobal Arrays 3739.2 $_GET and $_POST Superglobal Arrays 374Determining If Any Data Sent 375Accessing Form Array Data 378Using Query Strings in Hyperlinks 379Sanitizing Query Strings 3809.3 $_SERVER Array 382Server Information Keys 383Request Header Information Keys 3839.4 $_FILES Array 385HTML Required for File Uploads 385Handling the File Upload in PHP 386Checking for Errors 388File Size Restrictions 388Limiting the Type of File Upload 390Moving the File 3919.5 Reading/Writing Files 392Stream Access 392In-Memory File Access 3939.6 Chapter Summary 395Key Terms 395Review Questions 395Hands-On Practice 396References 401Chapter 10 PHP Classes and Objects 40210.1 Object-Oriented Overview 403Terminology 403The Unified Modeling Language 403Differences between Server and Desktop Objects 40410.2 Classes and Objects in PHP 407Defining Classes 407Instantiating Objects 408Properties 408Constructors 409Methods 410Visibility 412Static Members 412Class Constants 41410.3 Object-Oriented Design 415Data Encapsulation 415Inheritance 420Polymorphism 427Object Interfaces 42910.4 Chapter Summary 432Key Terms 432Review Questions 433Hands-On Practice 433References 435Chapter 11 Working with Databases 43611.1 Databases and Web Development 437The Role of Databases in Web Development 437Database Design 437Database Options 44311.2 SQL 445SELECT Statement 445INSERT, UPDATE, and DELETE Statements 447Transactions 448Data Definition Statements 453Database Indexes and Efficiency 45311.3 Database APIs 454PHP MySQL APIs 455Deciding on a Database API 45511.4 Managing a MySQL Database 456Command-Line Interface 456phpMyAdmin 457MySQL Workbench 45911.5 Accessing MySQL in PHP 460Connecting to a Database 460Handling Connection Errors 462Executing the Query 464Processing the Query Results 470Freeing Resources and Closing Connection 474Using Transactions 47511.6 Case Study Schemas 476Art Database 477Book CRM Database 477Travel Photo Sharing Database 47811.7 Sample Database Techniques 479Display a List of Links 479Search and Results Page 480Editing a Record 484Saving and Displaying Raw Files in the Database 49211.8 Chapter Summary 495Key Terms 496Review Questions 496Hands-On Practice 496References 502Chapter 12 Error Handling and Validation 50312.1 What Are Errors and Exceptions? 504Types of Errors 504Exceptions 50612.2 PHP Error Reporting 506The error_reporting Setting 507The display_errors Setting 507The log_error Setting 50812.3 PHP Error and Exception Handling 509Procedural Error Handling 509Object-Oriented Exception Handling 509Custom Error and Exception Handlers 51212.4 Regular Expressions 513Regular Expression Syntax 513Extended Example 51612.5 Validating User Input 519Types of Input Validation 519Notifying the User 520How to Reduce Validation Errors 52112.6 Where to Perform Validation 524Validation at the JavaScript Level 528Validation at the PHP Level 53112.7 Chapter Summary 536Key Terms 536Review Questions 537Hands-On Practice 537References 540Chapter 13 Managing State 54113.1 The Problem of State in Web Applications 54213.2 Passing Information via Query Strings 54413.3 Passing Information via the URL Path 546URL Rewriting in Apache and Linux 54613.4 Cookies 547How Do Cookies Work? 548Using Cookies 550Persistent Cookie Best Practices 55013.5 Serialization 552Application of Serialization 55413.6 Session State 554How Does Session State Work? 557Session Storage and Configuration 55813.7 HTML5 Web Storage 561Using Web Storage 561Why Would We Use Web Storage? 56313.8 Caching 563Page Output Caching 565Application Data Caching 56513.9 Chapter Summary 567Key Terms 567Review Questions 568Hands-On Practice 568References 572Chapter 14 Web Application Design 57314.1 Real-World Web Software Design 574Challenges in Designing Web Applications 57414.2 Principle of Layering 575What Is a Layer? 575Consequences of Layering 577Common Layering Schemes 57914.3 Software Design Patterns in the Web Context 585Adapter Pattern 585Simple Factory Pattern 589Template Method Pattern 591Dependency Injection 59414.4 Data and Domain Patterns 595Table Data Gateway Pattern 596Domain Model Pattern 597Active Record Pattern 60114.5 Presentation Patterns 604Model-View-Controller (MVC) Pattern 604Front Controller Pattern 60714.6 Chapter Summary 608Key Terms 608Review Questions 608Hands-On Practice 609References 610Chapter 15 Advanced JavaScript & jQuery 61315.1 JavaScript Pseudo-Classes 614Using Object Literals 614Emulate Classes through Functions 615Using Prototypes 61715.2 jQuery Foundations 619Including jQuery in Your Page 620jQuery Selectors 621jQuery Attributes 624jQuery Listeners 628Modifying the DOM 62915.3 AJAX 633Making Asynchronous Requests 636Complete Control over AJAX 642Cross-Origin Resource Sharing (CORS) 64315.4 Asynchronous File Transmission 644Old iframe Workarounds 645The FormData Interface 646Appending Files to a POST 64815.5 Animation 649Animation Shortcuts 649Raw Animation 65115.6 Backbone MVC Frameworks 654Getting Started with Backbone.js 655Backbone Models 655Collections 657Views 65715.7 Chapter Summary 660Key Terms 660Review Questions 660Hands-On Practice 661References 664Chapter 16 Security 66516.1 Security Principles 666Information Security 666Risk Assessment and Management 667Security Policy 670Business Continuity 670Secure by Design 673Social Engineering 67516.2 Authentication 676Authentication Factors 676Single-Factor Authentication 677Multifactor Authentication 677Third-Party Authentication 678Authorization 68116.3 Cryptography 681Substitution Ciphers 683Public Key Cryptography 686Digital Signatures 68916.4 Hypertext Transfer Protocol Secure (HTTPS) 690Secure Handshakes 690Certificates and Authorities 69116.5 Security Best Practices 694Data Storage 694Monitor Your Systems 698Audit and Attack Thyself 70016.6 Common Threat Vectors 701SQL Injection 701Cross-Site Scripting (XSS) 703Insecure Direct Object Reference 707Denial of Service 708Security Misconfiguration 70916.7 Chapter Summary 712Key Terms 713Review Questions 713Hands-On Practice 714References 716Chapter 17 XML Processing and Web Services 71817.1 XML Overview 719Well-Formed XML 719Valid XML 720XSLT 723XPath 72517.2 XML Processing 727XML Processing in JavaScript 727XML Processing in PHP 72917.3 JSON 734Using JSON in JavaScript 734Using JSON in PHP 73617.4 Overview of Web Services 737SOAP Services 738REST Services 740An Example Web Service 740Identifying and Authenticating Service Requests 74417.5 Consuming Web Services in PHP 745Consuming an XML Web Service 746Consuming a JSON Web Service 75017.6 Creating Web Services 756Creating an XML Web Service 757Creating a JSON Web Service 76417.7 Interacting Asynchronously with Web Services 767Consuming Your Own Service 768Using Google Maps 76917.8 Chapter Summary 774Key Terms 775Review Questions 775Hands-On Practice 775References 780Chapter 18 Content Management Systems 78118.1 Managing Websites 782Components of a Managed Website 78218.2 Content Management Systems 784Types of CMS 78518.3 CMS Components 787Post and Page Management 787WYSIWYG Editors 789Template Management 790Menu Control 791User Management and Roles 791User Roles 792Workflow and Version Control 794Asset Management 796Search 797Upgrades and Updates 79918.4 WordPress Technical Overview 800Installation 800File Structure 801WordPress Nomenclature 803Taxonomies 806WordPress Template Hierarchy 80718.5 Modifying Themes 809Changing Themes in Dashboard 809Creating a Child Theme (CSS Only) 810Changing Theme Files 81118.6 Customizing WordPress Templates 812WordPress Loop 812Core WordPress Classes 813Template Tags 815Creating a Page Template 817Post Tags 81918.7 Creating a Custom Post Type 820Organization 821Registering Your Post Type 822Adding Post-Specific Fields 823Saving Your Changes 823Under the Hood 824Displaying Our Post Type 82618.8 Writing a Plugin 828Getting Started 828Hooks, Actions, and Filters 829Activate Your Plugin 830Output of the Plugin 830Make It a Widget 83118.9 Chapter Summary 832Key Terms 833Review Questions 833Hands-On Practice 833References 837Chapter 19 Web Server Administration 83819.1 Web Server-Hosting Options 839Shared Hosting 839Dedicated Hosting 842Collocated Hosting 843Cloud Hosting 84419.2 Domain and Name Server Administration 845Registering a Domain Name 846Updating the Name Servers 848DNS Record Types 849Reverse DNS 85119.3 Linux and Apache Configuration 851Configuration 853Daemons 853Connection Management 855Data Compression 857Encryption and SSL 858Managing File Ownership and Permissions 86019.4 Apache Request and Response Management 861Managing Multiple Domains on One Web Server 861Handling Directory Requests 863Responding to File Requests 864URL Redirection 864Managing Access with .htaccess 868Server Caching87019.5 Web Monitoring and Analytics 872Internal Monitoring 872External Monitoring 874Internal Analytics 874Third-Party Analytics 875Third-Party Support Tools 87519.6 Chapter Summary 877Key Terms 877Review Questions 877Hands-On Practice 878References 880Chapter 20 Search Engines 88120.1 The History and Anatomy of Search Engines 882Before Google 882Search Engine Overview 88320.2 Web Crawlers and Scrapers 885Robots Exclusion Standard 887Scrapers 88820.3 Indexing and Reverse Indexing 88920.4 PageRank and Result Order 89020.5 White-Hat Search Engine Optimization 894Title 894Meta Tags 895URLs 896Site Design 898Sitemaps 899Anchor Text 900Images 901Content 90120.6 Black-Hat SEO 902Content Spamming 902Link Spam 904Other Spam Techniques 90620.7 Chapter Summary 908Key Terms 908Review Questions 909Hands-On Practice 909References 913Chapter 21 Social Network Integration 91421.1 Social Networks 915How Did We Get Here? 915Common Characteristics 91821.2 Social Network Integration 919Basic Social Media Presence 920Facebook's Social Plugins 921Open Graph 926Google's Plugins 928Twitter's Widgets 930Advanced Social Network Integration 93321.3 Monetizing Your Site with Ads 934Web Advertising 101 934Web Advertising Economy 93721.4 Marketing Campaigns 938Email Marketing 939Physical World Marketing 94321.5 Working in Web Development 945Types of Web Development Companies 945Roles and Skills 94621.6 Chapter Summary 948Key Terms 948Review Questions 948Hands-On Practice 949References 953Index 954

最近チェックした商品