http://imcreator.tistory.com/7

위 링크에서 이 질문에 대한 답을 명확히 이해 할 수 있었다.

모듈은 가장 상위에 위치하는 구현의 단위,

컴포넌트는 런타임 엔티티를 참조하는 단위라고 생각하면

금방 그 차이를 이해 할 수 있을거라고 생각된다.

따라서 모듈과 컴포넌트는 상위와 하위관계를 명확히 구분짓기 어렵고

서로 다른 개념으로 바라보아야 한다고 생각한다.

그렇기 때문에 모듈 1000개가 모여 하나의 컴포넌트가 될 수도있고,

컴포넌트 1000개가 모여서 하나의 모듈을 구성 지을 수도있다.


쉽게 설명해서, 모듈이란 실질적으로 구현이 된 단위를 의미한다.

자료구조, 알고리즘 등 이를 제공하는 인터페이스라고도 할 수 있을 것이다.


반면, 컴포넌트는 실제적으로 동작하고있는 엔티티로써

활동중인 독립적인 단위를 중점적으로 보고 있다.


상위에 있는 링크에서는 서버와 클라이언트의 예로 설명하고 있다.

1개의 서버에게 서비스를 제공받는 100개의 클라이언트가 존재한다고 가정하자.

위에 설명한 내용으로 모듈, 컴포넌트의 개수를 각각 세어보면

서버가 구현된 모듈 1개, 클라이언트가 구현된 모듈 1개이므로

이 시스템 인프라의 총 모듈 개수는 2개이다.

컴포넌트의 경우 실제 동작하고 있는 엔티티를 의미하므로 총 101개가 된다.


 MVC(Model, View, Control)패턴의 정의

MVC란 Model View Controller의 약자이다. 즉, 애플리케이션의 구성요소를 Model, View, Controller로 구분지어 개발함으로써 표현계층과 데이터를 처리하는 로직을 분리한다. 이 과정을 통해 중복적인 코딩을 미연에 방지 할 수 있으며 재사용성을 높일 수 있는 디자인 패턴이다. 애플리케이션의 흐름제어나 사용자의 처리요청은 컨트롤러에 집중되도록 고안되어 있다. 일반적으로 웹 애플리케이션 개발에 널리 사용된다. MVC 패턴이 가지는 구조는 다음과 같다.


위 그림에서 보이듯, 사용자는 Controller를 조작하고, Controller는 Model을 이용하여 데이터를 가져온다. 해당 데이터를 기반으로 시각적인 표현에 대한 기능을 수행하는 View를 컨트롤하여 사용자에게 실질적으로 전달된다.


 Web과 MVC

  1. 사용자가 웹사이트에 접속한다. (Uses)
  2. Controller는 사용자가 요청한 웹페이지를 서비스 하기 위해서 모델을 호출한다. (Manipulates)
  3. 모델은 데이터베이스나 파일과 같은 데이터 소스를 제어한 후에 그 결과를 리턴한다.
  4. Controller는 Model이 리턴한 결과를 View에 반영한다. (Updates)
  5. 데이터가 반영된 VIew는 사용자에게 보여진다. (Sees)
(발췌된 내용 입니다. 출처 : https://opentutorials.org/course/697/3828)


◐ Codelgniter와 MVC

Controller

사용자가 접근 한 URL에 따라서 사용자의 요청사항을 파악한 후에 그 요청에 맞는 데이터를 Model에 의뢰하고, 데이터를 View에 반영해서 사용자에게 알려준다. 

Model

일반적으로 CI의 모델은 데이터베이스 테이블에 대응된다. 이를테면 Topic이라는 테이블은 topic_model이라는 Model을 만든다. 그런데 이 관계가 강제적이지 않기 때문에 규칙을 일관성 있게 정의하는 것이 필요하다.

View

View는 클라이언트 측 기술인 html/css/javascript들을 모아둔 컨테이너이다. 

(발췌된 내용 입니다. 출처 : https://opentutorials.org/course/697/3828)


위에 출처로 남겨진 링크로 이동하면 동영상 강의로 잘 설명되어 있다.

날씨에 대한 정보를 제공해주는 서비스들은 다양하다.

개발하는 애플리케이션에서 사용하고자 하는 목적에 따라 활용한다면 좋은 자료가 될 것이라 생각되어

관련 정보들을 종합해서 실질적으로 개발에 유용 할 만한 좋은 사이트들을 간추려서 정리했다.


회사 및 API명 

 URL

설명 

케이웨더 날씨 API

http://api.kweather.co.kr/

 - 국내 3,800개 읍/면/동 단위 현재날씨 및 시간별/주간 예보 콘텐츠 (기상청 예보/ 케이웨더 예보 선택적 제공 가능)

 - 국내 교통/레저/스포츠 지점에 대한 11개 테마 날씨 콘텐츠

 - 1일 5000개까지 비상업적인 용도로는 무료로 사용 할 수 있다.

 - 개인적으로 사용하기에 편리한 REST API 구조를 가지고 있기에 추천하는 방식. 설명도 잘 되어있는 것 같다.

 웨더아이 날씨 API

http://www.weatheri.co.kr

 - web, email, mobile phone 등 다양한 매체를 통해 기상정보와 기상콘텐츠를 고객에게 제공

 - 현재 한국관광공사, 이마트, 네이버, 연합뉴스, SK텔레콤, 삼성물산 등 다양한 기업에 기상정보 서비스를 제공하고 있을 정도로 양질의 기상 예측 정보 및 콘텐츠를 생산

HAMweather Aeris API

http://www.hamweather.com/support/documentation/aeris/

 - 해외 사이트라서 국내 서비스에는 개발 효율이나 서비스 질에 불편함이 다소 없지 않아 있을 것으로 염려된다. JSON을 통해 서비스 받을 수 있다. 

기상청 날씨정보

http://www.kma.go.kr/weather/lifenindustry/sevice_rss.jsp 

 RSS, 날씨 위젯 등에 대한 서비스를 제공한다.

OpenWeatherMap API

http://openweathermap.org/API

 - 40,000개 이상의 기상 관측소의 데이터 기반으로 업데이트 된 70,000도시의 현재 날씨 정보를 제공한다.

 - 사용예시 : http://api.openweathermap.org/data/2.5/forecast?lat=35&lon=125

 - 지오코딩을 활용한 도시이름으로 날씨 검색이 가능하며 7일 가량의 일기예보를 제공한다.

 - 강수량, 구름, 온도 등의 정보를 포함한 날씨 지도 제공이 가능

 연도별오존경보발령현황

(안전행정부)

http://data.seoul.go.kr/openinf/sheetview.jsp?infId=OA-2229 

 서울시 연도별 오존 경보발령 횟수, 일수, 최대농도 정보를 제공

 야후 날씨정보

https://developer.yahoo.com/weather/ 

 야후에서 개발한 SQL인 YQL을 사용하여 서비스를 사용 할 수 있다.


'Develop Issue > Open Source, API' 카테고리의 다른 글

Google OTP 개발하기  (0) 2024.08.06
git merge 취소하기  (2) 2020.06.01
네이버 Map, 카카오 Map, Google Map API 비교  (1) 2019.09.23

+ Recent posts