기타 유용한 팁을 공유하는 곳입니다.
  • 웹미니 한줄 전광판 영역 입니다.
글 수 57

0

조회 수 : 5439 신고 : 0

작성자 : 컴센스
포인트 : 511 | 레벨 : 2

1. 프로그램과 프로그래머


- 프로그램 : 사건이나 상황을 기술한거나, 계획한것
- 프로그래머 : 사건이나 상황을 기술하거나, 계획하는 사람
  tv프로그램을 만드는 사람 -pd(?), 전시회를 기획하는 사람(큐레이터),영화제를 기획하는사람-이사람도 프로그래머라고 하네요. 등등 역할에 따라 조금씩 다르게 표현하는 것 같네요
- 컴퓨터프로그램 : 컴퓨터가 표현해야 할 사건이나 상황을 기술한거나 계획한것(처음에는 주로 계산을 자동으로 해라 이런용도를 전부 프로그램)
- 컴퓨터프로그래머 : 컴퓨터프로그램을 만드는 사람, 즉 컴퓨터가 표현해야 할 사건이나 상황을 기술하거나 계획하는 사람

2. 프로그램과 솔류션
- 솔류션은 특정목적을 달성하기 위해서 만들어진 복수의 s/w와 h/w를 총 아우리는 말.
 
  솔류션은 여러개의 s/w나 h/w가 혼재 있는 경우
  예) 방화벽솔류션(h/w,s/w), 쇼핑몰 솔류션(쇼핑몰s/w,블로그s/w,sms s/w)
 프로그램은 단수의 s/w, 즉 워드프로그램, 엑셀프로그램입니다.


3. 순서지향, 절차지향(procedure oriented=구조적인 프로그래밍), 객체지향

-순서지향(flow oriented(???))  : 컴퓨터가 기술해야 할것을 순서위주로만 표현합니다
  명령문, 조건문, 반복문, 분기문(그 유명한 goto), 또는 include나 require(=>포함하는 문서가 함수나 객체가 포함안 되어 있으면, goto와 동일합니다)
 
-절차지향(precedure oriented) : 컴퓨터가 기술해야 할것을 동작이라고 생각하고 동작을 정의하고, 사용하는데 중점을 맞춥니다.
  비로써 함수라는 것이 등장합니다(c언어 대단했지요), 내장함수, udf(사용자 정의함수)
  누가 내장함수나, udf를 잘 정의하고 사용하는냐가 관건입니다.(절차지향이라 하더라도, 순서지향코드는 사용합니다)

여기서 절차(procedure)는 순서(flow)라기 보다는, function으로 보시면 무난하고요.
procedure 는  단순히 복수의 일( 함수나 클래스를 포함하지 않는 include 유사)(return 값이 없는것)
function 복수의 일을 지시하고, 결과값을 알수 있는 형태(return 값이 있는 것)
절차지향이란 용어대신 보통 구조적인(structed programming) 프로그래밍이라고도 합니다.

정리하면 function(함수)는 크게 선언(php는 자동선언?),정의, 사용(호출)  3가지로 구분되며, 구조적인 프로그래밍목적은 function(함수)의 사용(호출)이며, 선언, 정의는 목적을 위한 과정이라고 보시면 됩니다.

 
-객체지향 : 컴퓨터가 기술해야 할것이 객체라고 봅니다.
    아파트를 표현할려고 하는것이 아니라,  특정아파트들 대치동 은마아파트, 삼성동 타워펠리스를 표현할려고 합니다.
    이런 존재하는 아파트(객체)를 표현할려고 보니깐,  아파트의 공통된 특징이나 일반적인 것을 정보를 미리정의해야 하는 상황발생
    즉 객체지향을 할려고 클래스 정의를 합니다.

4. 객체와 클래스
- 클래스는 집합명사, 복수명사, 추상적이고 존재하지 않는 개념
- 객체는 단수명사, 구체적이고 존재하는 무언가(거시기)


보통 집항명사를 단수명사처럼 혼용하기 때문에 관계가 클래스와 객체가 동일하게 취급되는 경향이 있는것 같네요..
동일하게 취급한다고 해도, 표현상 어색하지 않습니다.
만일 어색하다면, 그 관계는 객체와 클래스의 비유로 적절하지 않습니다.

에) 사람 왜 이래 => 여기서 사람은 객체입니다. 특정한 누군가를 지칭하고(구체적이고), 존재하는 한사람을 가르키는 겁니다. 보통 $this라고 보시면됩니다.
예) 사람은 동물이다 => 여기서 사람은 클래스입니다. 집합명사로 사용하고 있지요, 존재하지 않고 추상적인 겁니다.

코딩후, 동일(=)관계가 성립하면, 잘 표현한겁니다. 그렇지 않으면, 프로그램 잘못 짠겁니다.
자동차 = new 설계도 ;  //(x) => 잘못 표현한겁니다.자동차는 설계도로 만들지만 설계도를 자동차라 하지 않습니다.
은마아파트 = new 아파트 (0) => 맞는 표현입니다.


5. 상속받은 클래스에서  매소드 오버라이딩과 오버로딩의 차이
클래스정의를 재사용하는것을 상속한다고 합니다.

상속받은 하위클래스에서 재정의 하는 메소드가 상위 메소드의 이름과, 인수리스트, 리턴값이 동일한 경우를 오버라이딩 이라고 하고요
상속받은 하위클래스에서 재정의 하는 메소드가 상위 메소드의 이름만 같고, 인수리스트, 리턴값이 동일하지 않는 경우를 오버로딩이라고 합니다.

예) 팀장 작업코드를 이용안할수는 없어서, 팀장의 클래스를 사용하지만,  완전히 무시하는 것은 오버라이딩한다고 합니다.
하위클래스를 사용할때(즉 객체참조)에서는 팀장 코드(부모코드)의 메소드는 전혀 사용못합니다.
완전히 무시하지는 않고, 조금만 수정해서, 같이 사용하는 것은 오버로딩 입니다. (이름은 같지만, 메소드선언형태가 다릅니다)

=> php는 오버로딩 지원못합니다. ==>  "송효진님 언급하신 문제"

php에서는 위의 오버로딩은 지원안하고, 클래스내에 없는 멤버나 매소드를 동적으로
정의하거나 호출할때, 사용합니다.


6. 추상클래스(abstracet class)와 인터페이스(interface)의 차이

정의해야 할  메소드를 하위클래스에게 맡긴다는 측면에서 전부 추상클래스입니다.
단지 전부를 위임하는 것은 인터페이스이고요,  전체, 또는 일부만 위임하는 것은 추상클래스입니다.

추상클래스의 용도는 메소드를 정의하고 싶은데,
어떤 특정상황이 확정되지 않으면, 정의하기가 어려운 경우에 사용하고요

인터페이스는, 모든 정의를 하위로 위임하거나, 가이드라인을 지키라고 명령을 내릴때 사용합니다.
또한 이런 가이드라인은, 다른 객체와의 통신에 있어서 형이나 메소드가 명확하기 때문에,
오류방지에도 도움을 줍니다.

7.  개발방법론과 디자인 패턴의 차이
프로그램 개발방법론은 순서지향, 절차지향, 객체지향 이런것입니다. 프로그램 만들때,이렇게 만들게 만들자.
(전후의 문제점에 대해 언급하는 것이 아니라, 시스템 전체지칭합니다)

디자인 패턴은 사건이나,객체간의 전후문제가 발생하는 경우, 이에 대한 해결책입니다.
코딩은 그냥 예시일뿐이고, 이런경우에는 이렇게 해라라는 겁니다.
예) 미팅시 폭탄대처요령, 애인과 무드잡는법(특정상황이나, 문제점에 대한 해결책입니다),  언어(한국어,영어)가 달라도, 말만 틀리지, 거의 같은 상황과 대처요령입니다.
간혹 일부 디자인패턴이 개발방법론처럼 보이는 경우도 있습니다.
또한 디자인패턴은 보통 객체지향 설계에서 나오는 문제에 대한 해결책이라서,
개발방법론과 밀접한 관련있습니다. (크게보면 개발방법론 이라도 상관없을듯 합니다)

8. 클래스랑 디자인패턴의 차이
클래스 정의가 디자인패턴처럼 보입니다. 클래스 잘 만들어 놓고, 디자인패턴이라고 하는 사람도 있습니다.
하지만 클래스는 객체의 상태, 동작을 정의해놓은것이지,
클래스간의 선후에 발생하는 문제나,  해결방법을 제시하는 것은 아닙니다.
(디자인 패턴은 복수의 클래스와객체 정의가 있어야 되겟죠, 그래야 관계나 전후 사건이 발생합니다)


9. 디자인패턴과 프레임워크
프레임워크는 특정목적을 달성하기 위해, 사용하는 s/w 나 클래스의 모음입니다.
코딩의 재사용을 목적으로 있는 것이 아니라, 설계의 재사용을 위해 있다고 보시면 됩니다.
포토샵의 경우, 디자인 할려고 하는 툴입니다. 여기서 포토샵은 프레임워크라고 할 수 있습니다.
페이지제어 프레임워크는 페이지제어를 잘 하기위한 클래스의 모음입니다.
프레임워크는 특정목적을 쉽고, 편하고, 효율적으로 하기 위해,
미리 제공받은 s/w 기본위에서 작업하는 거라 생각하면됩니다.

보통의 프레임워크 설계방법들이 디자인 패턴을 적용한 사레가 많기 때문에 혼용되어 사용하기도 합니다.
프레임워크를 사용하기 위해 사용하는 개념이 디자인 패턴이다. 라거나,
다지인패턴으로 프레임워크를 만든다. 라는 것은 안맞는 표현인것 같습니다.

10. 웹서비스와 일반 www 통신(웹브라우저와 웹서버)

웹서비스는 소켓통신을 함에 있어서 http로 하자. 이런 http프로토콜 기반 서비스를 웹서비스로 하자
왜요? 아무리 간단한 소켓통신이라도, 프로토콜 정의가 어렵기 때문입니다.
요구사항이 데이타 뿐만 아니라, 파일을 주고 받을수도 있고요,
단순 텍스트라도, 문자set이라든지, encoding, mine 등등 많은 문제가 있습니다.
그런것은 전문가라도 다시 만드는 것은 쉽지 않습니다. 그냥 http이용하면 쉽다는 겁니다.
그래서, http 프로토콜 기반위에서, http통신이 지원하는 프로토콜 정의를 충분히 이용 할려고 하는겁니다.

www는 http프로토콜 이용하기 때문에 웹서비스의 일종인것 같은데요..
하지만 웹서비스 이라고는 안하는 것 같습니다.  조금 애매 합니다.

"SOAP은 HTTP, FTP, SMTP 등의 프로토콜을 전부 지원하지만,
보통 SOAP(소프)는 http 프로토콜 통해 xml를 주고 받는 소켓 프로그램이라고
보면 무난 할듯 합니다.  => 수정된 부분

soap는 사용법은 간단하지만, wsdl 로 xml를 제어할려면 엄청 복잡해지며,
그래서, 심플하지도 않고, 속도도 httprequest보다 더  느립니다.
하지만, 압축지원등 유용할때도 많습니다.  => "송효진님 언급"

위키피디아에서는 아래와 같이 웹서비스를 설명하고 있네요 참고바랍니다.
http://ko.wikipedia.org/wiki/%EC%9B%B9%EC%84%9C%EB%B9%84%EC%8A%A4

ps  : 단순문제제기(포럼글)로 발생된 토론의 정답은 없다고 봅니다.
단지, 서로 다름을 인정하면,  그 속에 귀중한 가치를 발견하고 선택할수 있을겁니다.
불편함을 느낀분들이 있었다면 사과의 말씀을 드립니다.(DarkLittleSoldier)
소중한 댓글 부탁드립니다.
추천수 10단위당 메달이 1개씩 노출되고, 추천수에 따라 배경색이 변하며, 일정수의 추천수를 받을시 BEST 아이콘이 붙게됩니다.
추천수에 따른 배경색 보기 본문으로 바로가기
  • 추천수 50개이상
  • 추천수 30개이상
  • 추천수 20개이상
  • 추천수 10개이상
  • 추천수 3개이상
닫기

첫번째 댓글을 남겨주세요!

List of Articles
번호 제목 글쓴이 날짜 추천 수sort 조회 수
57 best of best XMLHttpRequest title: [ani]깜빡이는 표정빽짱구 2007-01-27 85 7874
56 best of best 드림위버 2004에서 내부스타일로 적용되는 문제점 [1] title: [ani]깜빡이는 표정빽짱구 2005-08-25 42 8193
55 best of best 무료계정 쓰는 분 필독하세요!! [5] 조민수 2005-01-08 39 5919
54 best of best 폰트이름 한글로 나오게 하기 포토샵에유용함 title: [ani]깜빡이는 표정빽짱구 2004-02-07 38 5673
53 best of best 글쓸때 마우스안움직이고.. 키보드로 바로 하는방법 [2] DarkFun 2004-12-28 37 5823
52 best of best 내 홈피 링크한 사이트 알아보기 title: [ani]깜빡이는 표정빽짱구 2004-07-11 37 6635
51 best of best 드림위버 2004 단축키 [5] title: [ani]깜빡이는 표정빽짱구 2005-08-25 37 9629
50 best of best 드림위버 2004에서 한글 깨지는 문제 file [3] title: [ani]깜빡이는 표정빽짱구 2005-08-23 37 9335
49 best of best 사랑비 사이트가 안들어가질때 이사이트로들어가... [2] Spona 2004-08-27 36 6991
48 best of best 폰트 무료로 다운받을수 있는곳! title: [ani]깜빡이는 표정빽짱구 2004-04-07 28 9262
47 hit 복사하기,잘라내기후 붙여넣기가 안될때.. file title: [ani]보라색 나비바비인형 2009-11-25 3 29261
46 드림위버에서 jQuery 쉽게 사용하기 file title: [ani]깜빡이는 표정빽짱구 2010-03-22 2 7094
45 포토샵이 없는 pc에서 사용할만한 사이트입니다. [8] atrack 2009-12-08 2 4257
44 한글폰트 명랑체 file [2] 마잏콜 2009-11-30 2 5030
43 사이트 속도 비교해주는곳 title: 새싹사뎅이 2012-06-30 1 2806
42 hit 민원24 - 주민등록등본(초본) 프린트가 안될때 title: [ani]깜빡이는 표정빽짱구 2011-08-12 1 14113
41 비스타 윈도우스타일 file [1] title: 화분미니님a 2009-12-28 1 4863
40 좀비 pc 확인하는 방법 (악성봇 감염확인) file title: [ani]방울UI 2013-08-01   2366
39 배경 지워주는 사이트 title: [ani]깜빡이는 표정빽짱구 2018-12-23   474
38 폴더 및 파일 숨기기 [1] 춘삼사마 2012-06-22   3409