47
2004 Prentice Hall, Inc. All rights reserved. 1 인인인인인 인인인인인 설설설설 , 설설설설 설설 Term Project 설설 설설 3 설설 설 설설설 설설 , 설설설 설설설 2 설설 설설 설설설설 , 설설설설설 , 설설설설설 설설 설 설설 설설설 설설설설 설설 설설설설 설설 설설설설설 설설설 설 XML 설 설설설설 , XHTML 설 설설설설 설설 설설설설설설설 설설 설 설설설설 설설 history 설 설설설 설설설설 설설 설설설 설설설설 설 설설설설 설설설설설 설설 설설설 설설설 설 RIA(Rich Internet Applications) 인 Flex(Flex Presentation Server) 인인 ActionScript(Javascript), MXML(XML), DOM3 CJ 인인인인인 CGV 인인인 인인 인인 (http://www.cgv.co.kr)

인터넷응용 프로그래밍

  • Upload
    tambre

  • View
    38

  • Download
    5

Embed Size (px)

DESCRIPTION

인터넷응용 프로그래밍. 설계과목 , 삼성트랙 과목 Term Project 조별 과제 3 명을 한 팀으로 하되 , 특별한 경우는 2 명을 허용 중간발표 , 시스템발표 , 최종발표를 해야 함 과제 내용은 자유지만 강의 계획서에 나온 제한조건을 따라야 함 XML 로 구현하고 , XHTML 로 변환하여 제공 서버프로그램을 해야 함 사용자의 사용 history 가 서버에 저장되어 추후 사용을 도와줘야 함 사용자의 사용기록에 대한 통계가 있어야 함 - PowerPoint PPT Presentation

Citation preview

Page 1: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

1

인터넷응용 프로그래밍

• 설계과목 , 삼성트랙 과목• Term Project

– 조별 과제 – 3 명을 한 팀으로 하되 , 특별한 경우는 2 명을 허용– 중간발표 , 시스템발표 , 최종발표를 해야 함– 과제 내용은 자유지만 강의 계획서에 나온 제한조건을

따라야 함• XML 로 구현하고 , XHTML 로 변환하여 제공• 서버프로그램을 해야 함• 사용자의 사용 history 가 서버에 저장되어 추후 사용을

도와줘야 함• 사용자의 사용기록에 대한 통계가 있어야 함• RIA(Rich Internet Applications) 와 Flex(Flex Presentation

Server) 활용– ActionScript(Javascript), MXML(XML), DOM3– CJ 시스템즈의 CGV 사이트 예매

스템 (http://www.cgv.co.kr)

Page 2: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

2

Term project 분야

• 현재 상용서비스 중인 시스템을 개선하는 아이디어나 새로운 아이디어를 사용해도 되며 , 이런 새로운 아이디어를 꼭 제시해야 함

• 예– Google Earth 를 활용한 복덕방 시스템

– CJ 시스템즈의 CGV 사이트 예매 (http://www.cgv.co.kr)

• 각자 다음주까지 자신이 만들고 싶은 사이트 또는 시스템을 사례연구 , 한계 , 해결방향의 측면에서 제출할 것

Page 3: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

3

팀 구성

• 2 학년과 3 학년 각 1 명씩 포함할 것– 3, 4 학년 1 학기 실험을 한 사람이 유리할 수 있어서– 각자 역할이 명확해야 함

Page 4: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

4

Chapter 1 - Introduction to Computers and the Internet

Outline1.1 Introduction1.2 What Is a Computer?1.3 Types of Programming Languages1.4 Other High-Level Languages1.5 Structured Programming1.6 History of the Internet1.7 Personal Computing1.8 History of the World Wide Web1.9 World Wide Web Consortium (W3C)1.10 Hardware Trends1.11 Key Software Trend: Object Technology1.12 JavaScript: Object-Based Scripting for the Web1.13 Browser Portability1.14 C and C++1.15 Java

Page 5: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

5

Chapter 1 - Introduction to Computers and the Internet

Outline1.16 Microsoft .NET1.17 Dynamic HTML1.18 Internet and World Wide Web How to Program1.19 Web Resources

Page 6: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

6

Objectives

• In this tutorial, you will learn:– To understand basic computing concepts.

– To become familiar with different types of programming languages.

– To understand the evolution of the Internet and the World Wide Web.

– To understand the roles XHTML, JavaScript, JScript, Dynamic HTML, XML, ASP.NET, Perl, PHP, ColdFusion, Python, Java servlets and JavaServer Pages have in developing distributed client/server applications for the Internet and the World Wide Web. 붉은 색은 제외

– 나머지 다른 필요한 것 추가로 포함• ActionScript(Javascript), MXML(XML), DOM3

Page 7: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

7

1.1 Introduction

• Internet and World Wide Web How to Program: Third Edition– Effective learning tool for both novices and experienced

professionals

– Emphasizes structured programming and object-based programming

– The live-code approach• All concepts presented in full working program examples

• Examples available in CD-ROM (back cover of book) and at www.deitel.com.

– JavaScript• Introduced in earlier chapters

• Provides solid foundation for computer programming and rest of book

Page 8: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

8

1.1 Introduction

• Computer development– Computer use increasing in most fields

– Computer costs and size decreasing• Abundance of silicon drives down prices of silicon-chip

technology

• Applications of this book– Prepares for higher learning in C++ and Java as well as

object-oriented programming

– Allows development of applications with graphical user interfaces (GUIs)

• Multimedia capabilities

• Integration with the Internet and World Wide Web

Page 9: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

9

1.1 Introduction

• Book structure– Chapters 1-20

• Covers XHTML, JavaScript, Dynamic HTML, Flash and Extensible Markup Language (XML)

• For applications running on client side (typically Netscape and Microsoft Internet Explorer)

– Chapters 21-38• Covers Web servers, databases, Active Server Pages,

Perl/CGI, PHP, ColdFusion, Python, Java servlets and JavaServer Pages

• For applications running on server side (complex computer systems where Web sites usually reside)

Page 10: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

10

1.2 What is a Computer?

• Computer– Device capable of

• Performing computations

• Making logical decisions

– Works billions of times faster than human beings

– Fastest supercomputers today• Perform hundreds of billions of additions per second

Page 11: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

11

• Programs– Sets of instructions that process data

– Guide computer through orderly sets of actions specified by computer programmers

• Computer system– Comprised of various hardware devices

• Keyboard

• Screen (monitor)

• Disks

• Memory

• Processing Units

1.2 What is a Computer?

Page 12: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

12

• Every computer divided into six units1. Input unit

• “Receiving” section of computer

• Obtains data from input devices

– Usually a keyboard, mouse, disk or scanner

• Places data at disposal of other units

2. Output unit• “Shipping” section of computer

• Puts processed info on various output devices

– Screens, paper printouts, speakers

• Makes info available outside the computer

1.2 What is a Computer?

Page 13: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

13

3. Memory unit• Rapid access, low capacity “warehouse”

• Retains information entered through input unit

• Retains info that has already been processed until can be sent to output unit

• Often called memory, primary memory, or random access memory (RAM)

4. Arithmetic and Logic Unit• “Manufacturing” section of computer

• Performs calculations (addition, subtraction, multiplication and division)

• Contains decision mechanisms and can make comparisons

1.2 What is a Computer?

Page 14: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

14

5. Central Processing Unit (CPU)• “Administrative” section of computer

• Coordinates and supervises other sections

6. Secondary storage unit• Long-term, high-capacity “warehouse”

• Stores programs or data not currently being used by other units on secondary storage devices (like discs)

• Takes longer to access than primary memory

1.2 What is a Computer?

Page 15: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

15

1.3 Types of Programming Languages

• Computer programs – Called software

– Programmers write instructions that comprise software in various programming languages

• Three general types of programming languages– Machine languages

– Assembly languages

– High-level languages

Page 16: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

16

1.3 Types of Programming Languages

• Machine languages– “Natural language” of a particular computer

– Defined by hardware design of computer

– Generally consists of strings of numbers

– Are machine dependent

– Cumbersome for humans• Example: Adding overtime pay to base pay and storing the result in

gross pay

+1300042774+1400593419+1200274027

– Slow and tedious for most programmers

Page 17: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

17

1.3 Types of Programming Languages

• Assembly languages– Programmers began using English-like abbreviations to

substitute for machine languages

– Represents elementary operations of computer

– Translator programs called assemblers convert assembly-language to machine-language

– Example:LOAD BASEPAYADD OVERPAYSTORE GROSSPAY

Page 18: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

18

1.3 Types of Programming Languages

• High-level languages– Developed as computer usage increased, assembly language

proved inadequate and time-consuming

– Single statements can be written to accomplish substantial tasks

– Translator programs called compilers

– Allow programmers to write instructions almost like every-day English

– Example:grossPay = basePay + overTimePay

Page 19: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

19

1.3 Types of Programming Languages

• High-level languages (II)– Much more desirable from programmer’s standpoint

– Specific languages include• C, C++, Visual Basic and Java

• Scripting languages: JavaScript, VBScript and Perl

• Among most powerful and widely used languages today

– Interpreter programs developed to execute high-level programs without compiling

• Popular in program development environments

– Once program developed, compiled version made

Page 20: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

20

1.4 Other High-Level Languages

• Hundreds developed, only few widely used– COBOL (COmmon Business Oriented Language)

• Used primarily for commercial applications that require precise and efficient manipulation of large amounts of data

• Half of all business software still programmed in COBOL

– Pascal

– BASIC• Simple language to help novices become comfortable with

programming

Page 21: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

21

1.5 Structured Programming

• 1960’s– People realized that software development far more complex

than imagined

– Resulted in evolution of structured programming• Disciplined approach to writing computer programs

• Clearer and easier to debug and modify than unstructured programs

• Pascal– Designed for teaching structured programming in an academic

environment

– Became preferred programming language in most universities

Page 22: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

22

1.5 Structured Programming

• Ada programming language– Developed under sponsorship of Dept. of Defense (DOD)

– Wanted single language to fulfill all DOD programming needs

– Based on Pascal but different in end

– Multitasking capability• Many activities can occur in parallel

• Not featured in C and C++

• Similar to Java multithreading technique

Page 23: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

23

1.6 History of the Internet

• ARPANET– Implemented in late 1960’s by ARPA (Advanced Research

Projects Agency of DOD)

– Networked computer systems of a dozen universities and institutions with 56KB communications lines

– Grandparent of today’s Internet

– Intended to allow computers to be shared

– Became clear that key benefit was allowing fast communication between researchers – electronic-mail (email)

Page 24: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

24

1.6 History of the Internet

• ARPA’s goals– Allow multiple users to send and receive info at same time

– Network operated packet switching technique• Digital data sent in small packages called packets

• Packets contained data, address info, error-control info and sequencing info

• Greatly reduced transmission costs of dedicated communications lines

– Network designed to be operated without centralized control• If portion of network fails, remaining portions still able to route

packets

Page 25: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

25

1.6 History of the Internet

• Transmission Control Protocol (TCP)– Name of protocols for communicating over ARPAnet

– Ensured that messages were properly routed and that they arrived intact

• Organizations implemented own networks– Used both for intra-organization and communication

Page 26: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

26

1.6 History of the Internet

• Huge variety of networking hardware and software appeared– ARPA achieved inter-communication between all platforms with

development of the IP• Internetworking Protocol

• Current architecture of Internet

– Combined set of protocols called TCP/IP

• The Internet– Limited to universities and research institutions

– Military became big user

– Next, government decided to access Internet for commercial purposes

Page 27: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

27

1.6 History of the Internet

• Internet traffic grew– Businesses spent heavily to improve Internet

• Better service their clients

– Fierce competition among communications carriers and hardware and software suppliers

– Result• Bandwidth (info carrying capacity) of Internet increased

tremendously

• Costs plummeted

Page 28: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

28

1.7 Personal Computing

• IBM– 1981, introduced IBM Personal Computer

– Made personal computing legitimate in business, industry and government organizations

– Computers were “stand-alone” units• Info only shared between computers through exchange of discs

– Machines could be linked• Over telephone lines

• Over Local Area Networks (LANs)

– Led to distributed computing

Page 29: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

29

1.7 Personal Computing

• Computers today– As powerful as million dollar machines from 20 years ago

– Workstations• Most powerful desktops today

• Provide users with enormous capabilities

– Information easily shared over networks• Networks controlled by servers

– Common programs and data used by client computers

– Popular operating systems• UNIX, Mac OS X, Windows, Windows NT, Linux

Page 30: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

30

1.8 History of the World Wide Web

• WWW– Allows computer users to locate and view multimedia-based

documents

– Introduced in 1990 by Tim Berners-Lee

• Internet today– Mixes computing and communications technologies

– Makes information constantly and instantly available to anyone with a connection

Page 31: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

31

1.9 World Wide Web Consortium (W3C)

• W3C– Founded in 1994 by Tim Berners-Lee

• Devoted to developing non-proprietary and interoperable technologies for the World Wide Web and making the Web universally accessible

– Standardization• W3C Recommendations: technologies standardized by W3C

– include Extensible HyperText Markup Language (XHTML), Cascading Style Sheets (CSS) and the Extensible Markup Language (XML)

• Document must pass through Working Draft, Candidate Recommendation and Proposed Recommendation phases before considered for W3C Recommendation

Page 32: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

32

1.9 World Wide Web Consortium (W3C)

• W3C Structure– 3 Hosts

• Massachusetts Institute of Technology (MIT)

• European Research Consortium for Informatics and Mathematics (ERCIM)

• Keio University of Japan

– 400 Members

• W3C homepage at www.w3.org• W3C Goals

– User Interface Domain

– Technology and Society Domain

– Architecture Domain and Web Accessibility Initiatives

Page 33: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

33

1.10 Hardware Trends

• Improving technologies– Internet community thrives on improvements of

• Hardware

• Software

• Communications

– Cost of products and services • Consistently dropping over the decades

– Computer capacity and speed • Doubles every two years (on average)

– Microprocessor chip• Laid groundwork in late 1970s and 1980s for productivity

improvements of the 1990s

Page 34: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

34

1.11 The Key Software Trend: Object Technology

• Costs– Hardware costs dropping

– Software development costs rising • More sophisticated and powerful programs being developed

• Objects– Reusable software components that model items in the real

world

– Makes software developers more productive

– Object-oriented programs often easier to understand, correct and modify than older types of programs

Page 35: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

35

1.11 The Key Software Trend: Object Technology

• Structured Programming– Led to first improvements in software technology

• Larger improvements– Only appeared with object-oriented programming in 1980s

and 1990s

• Object technology – Dates to 1960s

– C++, developed in 1980s, based on two languages• C – Developed to implement the UNIX OS in early 1970’s

• Simula 67 – Simulation programming language from 1967

– C++ absorbed capabilities of C and added Simula’s capabilities of creating and manipulating objects

Page 36: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

36

1.11 The Key Software Trend: Object Technology

• Object technology– Packaging scheme that helps create meaningful software

units• Large and highly focused on particular applications areas

– Before appeared, programming languages were focused on actions (verbs) rather than on objects (nouns)

• Programmers would program primarily with verbs

• Made program awkward

• We live in a world filled with complex objects and simple actions

Page 37: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

37

1.11 The Key Software Trend: Object Technology

• Object technology (continued)– Object-oriented programming

• Programmers work in manner similar to how they see the world

• More natural process• Significant productivity enhancements

– Procedural programming• Not particularly reusable• Forces programmers to constantly “re-invent the wheel”

– Wastes time and resources

– Objects• Software modules• Kept in libraries• Reusable – save time and resources

Page 38: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

38

1.12 JavaScript: Object-BasedScripting for the Web

• JavaScript– Attractive package for advancing level of programming

language education

– Object-based language

– Supports proper software engineering techniques

– Free for download in today’s most popular Web browsers• Attractive to colleges

• Bug fixes and new versions easily obtained

– Powerful scripting language• Portable

• Programs execute interpretively on client machines

Page 39: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

39

1.13 Browser Portability

• Browser portability– Great challenge

• Great diversity of client browsers in use

• Many different platforms also in use

• Difficult to– Know capabilities and features of all browsers and platforms

in use

– Find correct mix between absolute portability, complexity and usability of features

Page 40: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

40

1.14 C and C++

• History of C and C++– Evolved from B language (developed by Dennis Ritchie)

– C Implemented in 1972 as contemporary of Pascal• C++ developed by Bjarne Stroustrup in 1980s

• C++ Initially used in Unix, today used in virtually all new operating systems

– Deitel books in early 90’s encouraged use of C over Pascal• Many believed C to be too difficult

• Advantages of C++– Extends C programming into object orientation

– Older C code may be integrated into C++

Page 41: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

41

1.15 Java

• History of Java– Project Green (1991): developed C based language (later

called Java) for intelligent consumer electronic devices• Advanced by World Wide Web explosion in 1993: potential to

create Web pages with dynamic content

• Java introduced in May of 1995

• Advantages of Java– Allows Web pages with dynamic and interactive content

– Allows Large-scale enterprise applications

– Enhances Web Servers

– Provides applications for consumer devices

– Now one of most widely implemented languages in world

Page 42: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

42

1.16 Microsoft .NET

• .NET initiative– June 2000

– Use multiple programming languages in same project

– Internet and Web development• ASP.NET allows complex Web-based client-server

applications

• Brings software reuse to Web

– .NET Framework• Framework Class Library

Page 43: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

43

1.17 Dynamic HTML

• DHTML– Two versions

• Microsoft

• Netscape

– Consists of number of technologies freely available for download

– Used for developing high-performance, Web-based applications

• Much of application’s work performed directly on client rather than on server or Internet

Page 44: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

44

1.18 Internet and World Wide Web How to Program

• Rise of electronic-commerce (e-commerce)– Reconstruction of modern business

• Internet and World Wide Web How to Program– Teaches programming languages, programming language

principles and Internet and Web-based application technologies

– Intended audiences• Introductory courses in C++, Java and Visual Basic

• Upper-level elective programming courses

• Corporate training programs for professional programmers

Page 45: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

45

1.18 Internet and World Wide Web How to Program

• Internet and World Wide Web How to Program includes treatments of 7 other popular programming languages– Microsoft Active Server Pages .NET (ASP.NET)

– Perl and Common Gateway Interface (CGI)

– PHP

– ColdFusion

– Python

– Java Servlets and JavaServer Pages

Page 46: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

46

용어들

• Proxy, DNS, Ethenet, Firewall• Wikipedia, Smantic wkiki• Second life • Elance

Page 47: 인터넷응용 프로그래밍

2004 Prentice Hall, Inc. All rights reserved.

47

인테넷과 기업

• Microsoft and Bill Gates• Netscape and Jim Clark• Yahoo and Jerry Yang• Google and Sergei

• Adobe