Tag Archives: Open API

MVC(Model-view-controller) pattern은 Django, Rails와 같은 웹 어플리케이션 개발에 주로 응용되는 아키텍쳐

MVC(Model-view-controller) 아키텍쳐 패턴(Architectural pattern)은 웹 어플리케이션 개발에 주로 이용되는 아키텍쳐 패턴입니다.

MVC는 다음의  3개 파트로 구성되어져 있습니다.

  • 모델(model) – 기본 함수와 데이터를 포함합니다
  • 뷰(view) – 정보를 사용자에게 보여줍니다. 웹페이지 그 자체를 생각하시면 될 것 같습니다
  • 컨트롤러(controller) – 사용자로부터의 입력을 처리합니다

이 패턴의 기본 아이디어는 UI/연산(모델)/제어를 각각 분리하여 효율화를 하겠다는 것입니다. 실제 서비스 구축시에는 각각의 파트가 서버 인스턴스로 구성되어 퍼포먼스에 따른 서버 리소스 할당을 하여 효율화를 하기도 합니다.

MVC(Model-view-controller) pattern은 Django, Rails와 같은 웹 어플리케이션 개발에 주로 응용되는 아키텍쳐

MVC 아키텍쳐 패턴은 Java, Python, PHP와 같은 주요 프로그래밍 언어로 웹 어플리케이션 아키텍쳐 디자인시 주로 사용되고 있으며, Django나 Rails와 같은 웹 프레임웍(Web frameworks)에서도 사용되고 있습니다.

MVC 아키텍쳐 패턴은 동일한 모델에 대해 여러개의 뷰를 만들 수 있으며, 런타임에 동적으로 연결 및 해제를 할 수 있다는 장점이 있습니다. 그러나 이것이 오히려 복잡성을 증가시키며, 사용자의 행동에 대한 불필요한 업데이트가 많이 발생할 수 있다는 단점 또한 가지고 있습니다.

최근에는 RESTful API (Open API) 기반의 서비스/소프트웨어 개발이  널리 이용되면서 점차 MSA(마이크로 서비스 아키텍쳐; Micro Service Architecture)로 이동하는 추세를 보이고 있습니다.

구글 머신러닝 솔루션 텐서플로(Google Machine Learning – TensorFlow) 오픈소스 공개에 따른 현재와 미래의 비젼

2015년 11월, 구글은 머신러닝(Machine Learning)이라는 기술을 공개했습니다.

사실 머신러닝은 구글이 최초로 만든 기술은 아닙니다, 구글이 그들의 소프트웨어를 공개하면서, 그들의 제품 이름이 아닌 대중이 알아듣기 좋은 적절한 이름으로 이미 업계에서 통용되고 있는 단어(머신러닝;Machine Learning)를 사용했습니다.

구글 머신러닝은 텐서플로(TensorFlow)라는 이름으로 오픈소스로 공개되었습니다.

구글 머신러닝 솔루션 텐서플로(Google Machine Learning - TensorFlow) 오픈소스 공개에 따른 현재와 미래의 비젼

구글의 머신러닝은 공부한 시간을 데이터로 인풋(input)하면 컴퓨터는 성적이라는 결과를 아웃풋(output)으로 도출하게 되는데, 이 과정의 상관관계를 학습시키는 것이라고 합니다.

구글 머신러닝 솔루션 텐서플로(Google Machine Learning - TensorFlow) 오픈소스 공개에 따른 현재와 미래의 비젼

구글은 머신러닝을 쉽게 이해시키기 위해 로켓도 동원했는데, “머신러닝은 로켓엔진과 비슷하다”면서 “로켓엔진의 중간 부분이 머신러닝이며 로켓의 연료가 데이터, 뿜어져 나오는 연기는 그 결과물”이라고 설명했는데, 아래의 로켓 엔진은 위에 그려진 머신 러닝 컨셉 다이어그램과 유사합니다.

구글 머신러닝 솔루션 텐서플로(Google Machine Learning - TensorFlow) 오픈소스 공개에 따른 현재와 미래의 비젼

또한 구글은 인공지능 소프트웨어 시스템인 ‘텐서플로(TensorFlow)’를 무상으로 공개한다고 발표했는데, “이를 통해 개발자들은 CPU, GPU, 모바일 등 실제 제품에 접목할 수 있다”면서 “머신러닝의 표준화를 통해 미래제품 출시에도 도움이 된다”고 강조하면서 머신러닝의 보급에 최우선 순위를 두고 있다는 뜻을 내비쳤습니다.

구글 머신러닝 솔루션 텐서플로(Google Machine Learning - TensorFlow) 오픈소스 공개에 따른 현재와 미래의 비젼

이 머신러닝 적용 사례로는 구글검색, 구글포토, 구글번역, 지메일(Gmail) 등 자사 제품이 있습니다. 구글앱을 통해 음성검색을 이용하면 그 음성을 인식한 뒤 분석한 내용을 바탕으로 검색어를 생성한다고 합니다. 또 구글 포토를 이용하면 스마트폰으로 찍은 사진을 인물, 장소, 사물별로 분류해 저장하고, 클라우드에 보관된 위치 정보가 없는 사진도 촬영 장소의 특징을 분석해 그 위치를 찾아낸다고 합니다.

구글 머신러닝 솔루션 텐서플로(Google Machine Learning - TensorFlow) 오픈소스 공개에 따른 현재와 미래의 비젼

슈미트 회장은 “내가 볼 때 구글은 이 분야(머신러닝)에서 월드 리더다”라고 강조하면서 “구글은 머신러닝을 통해 더욱 스마트해질 것”이라고 언급했다고 합니다.

구글 머신러닝 솔루션 텐서플로(Google Machine Learning - TensorFlow) 오픈소스 공개에 따른 현재와 미래의 비젼

텐서플로(TensorFlow)는 오픈소스로 공개되어졌으며, 다음의 URL에서 관련 정보를 얻으실 수 있습니다.

http://tensorflow.org/

 

참고로 텐서플로(TensorFlow) 외에도 아파치 머하웃(Apache Mahout)이라는 Scalable Machine Learning기술이 예전부터 공개되어져 있었고, 이 기술은 글로벌한 소프트웨어/서비스 기업에서 사용 중인데요, 관련정보는 http://mahout.apache.org/ 에서 얻으실 수 있습니다.

구글 머신러닝 솔루션 텐서플로(Google Machine Learning - TensorFlow) 오픈소스 공개에 따른 현재와 미래의 비젼

 

마지막으로 머신러닝의 응용 사례에 대해 언급해보고자 합니다.

1) 넷플릭스는 머신러닝을 활용하여 개인화된 페이지를 구성하였습니다. (출처: 넷플릭스 블로그)

이를 통해 고객의 선호를 만족시키고 동시에 다양한 콘텐츠를 구매할 수 있도록 유도하는 전략을 펼쳤습니다.

구글 머신러닝 솔루션 텐서플로(Google Machine Learning - TensorFlow) 오픈소스 공개에 따른 현재와 미래의 비젼

구글 머신러닝 솔루션 텐서플로(Google Machine Learning - TensorFlow) 오픈소스 공개에 따른 현재와 미래의 비젼

참고로 CF 알고리즘이 적용되었습니다.

 

2) 페이스북은 머신러닝을 활용하여 이미지 분석 진행

98%의 정확성을 가지고 있고, 8억건의 사진을 5초 이내에 확인할 수 있었다고 합니다.

구글 머신러닝 솔루션 텐서플로(Google Machine Learning - TensorFlow) 오픈소스 공개에 따른 현재와 미래의 비젼

참고로 구글포토에서도 비슷한 기술이 적용되어져 있다고 합니다.

 

3) 구글은 스팸메일 필터시 메일의 패턴을 학습시켜 스팸메일을 거르는 확률을 높였다고.

 

이제 서비스를 전제로 하는 소프트웨어는 보다 많은 빅 데이터를 쌓아 이를 응용하여 미래를 예측하는 기술을 전보다 더 많이 활용하게 될 것으로 보입니다. 보다 편리하고 살기 좋은 미래… 어떻게 다가 올지 궁금합니다.