'소프트웨어'에 해당되는 글 10건

허니몬의 IT 이야기/프로그래머, '코드 엔지니어'

어느 회사가 개발자에게 묻는 질문이다.


이런 생각을 깊이 해본 적은 없다.

취업을 준비하며, 이 질문에 대한 답을 찬찬히 해봐야겠다.

개발자라는 직업을 가지고 살아가면서 대답을 찾아야할 것이로구나.

허니몬의 IT 이야기/아키텍트, 'SW건축가'를 꿈꾸다

  지난 '2010년 한국 소프트웨어 아키텍트 대회'를 참가한 이후 2년만에 다시 대회를 찾았다.

  >> 2010/07/18 - [허니몬의 IT 이야기/IT 트랜드] - 허니몬, 2010 한국 소프트웨어 아키텍트 대회를 다녀오다.

  오늘은 아무런 준비없이 휴가를 쓴 날이었다. 그런데 휴가를 내고보니, 이 날에 아키텍트 대회가 있다는 이야기가 들려왔다. 아는 분에게 부탁드려서 무료참관 신청을 하고 수요일 아침 코엑스를 향했다. 코엑스에는 평일 이른 시간이었음에도 출근하는 직장은 외에도 많은 사람들이 있었다. 아직 우리나라에는 아키텍트 역할이 제대로 인정받고 있지 못하다. 그런 힘든 상황 속에서도 SW 아키텍트로서 다양한 경험을 공유하려고 하는 이런 대회는 참 좋다.


Architect!
Your Role, Our Future.

IT쪽에서 크게 관심을 기울이고 있는 몇가지가 있다.
* 생산성(여기서는 생산성보다는 관리적인 측면이 강하다)
    * 프로젝트에서 발생하는 위험(리스크)을 줄이고
    * 프로젝트를 관리하기 유용한 형태로 가고 있다.
* 빅데이터
* 클라우드 컴퓨팅
* 모바일 서비스


1. 통합된 개발환경 기반 어프리케이션 관리체계

  • 발표자 : 삼성SDS 김영신 수석보
  • 통합된 개발환경은 소프트웨어 개발 라이프사이클 전체를 지원하는 툴과 가이드를 통합하여 개발관리를 Seamless하게 할 수 있는 개발환경
    • 개발 라이프사이클 : 분석 -> 설계 -> 개발 -=–0 운영관리
  • 개발산출물
    • 개발자가 생산한 개발산출물에 대한 시스템 검증없이 구두 또는 테스트의 결과를 중심으로 공정, 진척, 품질관리ㅡㄹㄹ 수행
    • 관련자 : 개발자(납기), 고객(진척률, 이슈/위험), PM/PL(진척률, 결함, 이슈/위험, 공수), 아키텍트/품질담당
    • 개발자의 머리에 손을 얹고 ‘나는 너를 믿는다’ 라…
  • 아키텍처 구성방안
    • 개발환경은 복잡해짐
    • 단순한 툴 조합만으로는 개발생산성이 나지 않음
    • 개발생산성을 극대화 하려면 실행환경 구조, 개발환경, 관리환경을 Set화 하여 구성
      • 코딩 산출물(프로그램 소스코드)
      • 실행환경 구조(실행환경 구조, Runtime architecture)
      • 개발환경(IDE/형상관리/빌드/코드품질(PMD)/테스트/이관)
      • 관리환경(진척/결함/이슈 관리)
    • 아키텍트는 프로젝트에서 사용하는 다양한 솔루션들을 조합하여 개발에 최적화된 환경을 제공할 수 있도록 해야한다.
    • 관리툴이 연계가 잘 되어 있을 경우 시스템 오류가 생겼을 경우, 이것을 해결할 수 있는 손쉬운 방법들이 생겨난다.
    • 실행환경 구조를 얼마나 잘 잡았느냐에 따라서 손쉬워진다.
      • 실행환경 구조
      • 개발환경
      • 관리환경
      • 위의 세가지를 하나로 엮는다(발표자는 ’set화’라고 지칭 ).
  • 개발환경 set화
    • Set화된 개발환경이란 공공, 금융 등 프로젝트에 동일하게 활용하는 실행, 개발, 관리환경의 툴, 가이드, 설정을 포함하여 설치 및 커스터마이징을 최소화한 개발환경 패키지이며 상호호환 가능
      • 프로젝트의 성격에 따라서 필요한 솔루션들을 종합하는 작업이 필요하다.
  • 구성방안
    • 개발단계시 활용하는 Runtime, 개발자동화툴, 형상관리툴, 빌드툴, 인스펙션툴, 테스트툴, 운영이관 및 실물기반 관리기능이 연계되어 개발산출물 전체의 라이프 사이클을 통제, 관리하도록 구성
    • 개발환경에 맞춰서 최적화 하는 것이 중요하군.
    • 어플리케이션 실행환경 구성
      • Broker, Controller
        • TimeStamp
        • Application Error
        • Regression Test
        • Test Pass rate
        • Application Monitoring
      • Dao
        • Query Monitoring
      • 좋은부모 인생시스템이라…
    • 애플리케이션 개발환경 구성
      • 검수자(개발서버)
      • 개발자(개발PC)
      • 관리자(관리서버)
      • 아키텍트, 테스터 운영자(관리서버)
    • 현재 회사에서는 이와 같은 개발환경을 구축하과 관리할 수 있는 능력을 가진 사람이 없다. 그게 좀 큰 약점으로 적용된다.
    • 개발자가 작성한 코드가 주석인지 실제로 동작하는 코드인지 관찰한다라…
    • 실물기반 진척관리를 위한 관리체계 구성 예시
      • 서버환경
      • 개발툴
        • 개발IDE툴 -> 형상관리툴 -> 빌드툴 -> 인스펙션툴 -> 테스트툴 -> 이관툴
      • 실물자동 점검툴과 연계한 관리환경
      • 진척관리 절차
  • 적용사례
    • OO기관 구축 사업에 통합된 개발환경 기반 관리체계를 적용하여 소스코드 자동화율 증대, 구축 시간 단축, 실시간 실물기반 관리로 관리효율을 높였음
      • 관리효율을 높이는 것에 중점을 두고 있는 것인가?
      • 개발자가 많고, 생산되는 소스코드가 많을수록 통제하는 것이 좋다는 경험담
        • 그렇게했을 때 ’아키텍트’가 관리하기가 좋다.
      • LOC(코드라인수) 이 감소하는 효과가 있었다.
        • 개발환경을 통제하는 것이 개발효율을 높일 수 있다…로 정리될까
    • 아키텍트가 ’좋은 구조’를 잡아준다면 개발자들에게서도 호응을 얻을 수 있게 된다.
    • 실물자동점검을 위한 판정 기준
  • ‘좋은부모 시스템’
    • 품질, 관리
    • Risk
    • 중요도
  • 개발환경의 통합


이 발표는 주로 아키텍트의 '관리'에 특면에서 많은 내용이 발표되었다. 아키텍트는 '개발자'의 '최종진화'판이라고 생각한다. 프로젝트 내에서 발생하는 소프트웨어적으로 어려운 난제들을 해결하는 것을 주업으로 하는 '해결사'라고 생각해왔다. 그런데 국내 아키텍트들의 활동을 가만히 살펴보면 '관리자'의 역할이 더 강렬하게 수행하게 되는 것으로 보인다. 




2. Mobile-centric HTML5 어플리케이션 개발 및 아키텍처

  • 발표자 : SK텔레콤 IT 기술원 조문옥 Manager

  • 모바일 중심의 서비스 환경
    • 인터넷 연결 단말의 폭발적인 증가
    • 배경지식(Background-knowlege) 전달이 너무 길면 곤란해.
    • 타겟팅을 잘못했어.
    • 서비스 환경이 빠르게 모바일 중심으로 변경되어 가고 있다.
    • 서비스를 제공하게 될 때 고려해야할 것들이 더욱 많아지게 된다.
  • 모바일 애플리케이션 개발 및 아키텍처
    • 환경은 급변할 것이다. 그것에 미리 대비하여 준비해두는 것이 좋다.
    • 모바일 애플리케이션 특징
      • 모바일기기(스마트 단말, 스마트폰) 특징
        • 리소스 제약 : 크기의 제약으로 인해 화면 및 CPU 메모리, 디스 용량 등 리소스의 한계
        • 네트워크 제약 : 이동을 전제로 하는 무선 네트워크의 특성상 지속적 연결성을 보장하지 못함
        • 다양한 I/O
        • OS 및 기기의 다양성
      • 모바일 애플리케이션 개발시 고려사항
        • 표현계층 : 간단하면서 직관적, 유연함(화면)
        • 서비스계층 : 서비스지향, 적은연결, 멀티스레딩
        • 기타 : 플랫폼 의존성, 리소스 핸들링, 소형화(경량화)
          • 리소스 자원의 관리가 필요하다.
          • 애플리케이션의 크기를 줄이고, 필요한 데이터를 백그라운드에서 다운로드 받도록 조치하는 방법이 있다.
      • 모바일의 변화가 심하다
        • 하이브리드를 가는 것은 좋지 않다?
          • 고객에게 빠르게 지원하기 위해서
        • 네이티브앱을 개발하다가, HTML5가 정착되면 그때 웹으로 간다.
    • 모바일 애플리케이션 개발환경
      • 네이티브앱 개발환경
        • 장점 : 성능, 단말기 리소스 접근 등
      • 하이브리드앱 개발환경
        • 생산성, 유지보수 등
  • HTML5의 등장과 모바일 환경의 변화
    • 모바일 중심의 서비스 환경에 대응할 수 있는 차세대 웹기술의 등장
    • 인터넷의 성장에 따라서, 기존의 애플리케이션 기술이 웹기술쪽으로 이동하게 될 것이다.
    • Web Application 개발 환경의 변화
      • Web Application
        • Client-Side 개발
        • Server-Side 개발
      • Node.js
      • ‘HTML, JavaScript로 통합될 가능성이 있다.’’ 라는 전제를 깔고 있군.
    • Mobile-Centric 어플리케이션이란?
      • 다양한 모바일 기기들의 N-Screen 서비스 지원
      • 다양한 서비스에 대한 실시간 제공 및 Auto-Invoation
      • 상황에 따라 적절한 리소스 할당 및 확장성
      • * 다양한 단말 및 서비스 환경에 기민하게 반응할 수 있도록 HTML5와 JavaScript 기반으로 개발된 애플리케이션 *
      • 그래서? 어떻게 하면 그렇게 기민하게 반응할 수 있는 애플리케이션을 만들 수가 있지?
  • 모바일 중심 어플리케이션 개발 및 아키텍처
    • Runtime : HTML5 Runtime 엔진(브라우저 장착)
    • Clinet-Side 프레임워크
      • jQuery
        • Backbone.js : 자바스크립트의 MVC 아키텍처 패턴 지원
        • Require.js : 자바스크립트의 모뷸화, Lazy Loading 지원
    • Server-Side 프레임워크
      • Node.js
        • Express, Jade : 웹 개발 MVC프레임워크, View 템플릿 엔진
        • Socket.io : 웹소켓 등 실시간 웹 프레임워크
        • node-mysql : MySQL 클리아언트와 Connection Pool 제공
        • node-pool
        • node-MongDb
  • 의견정리
    • 가능하면 발표자료와 제공되는 자료의 이원화 관리도 필요할 것 같다.
    • 발표의 비중을 잘못뒀어.
    • 결국 이 발표에서 중요한 것은 모바일 중심 어플리케이션 개발 및 아키텍처인 것인데…


3. No-SQL DB를 활용한 대용량 LOG 분석 및 아키텍처

  • 발표자 : 삼성SDS 엄재형 책임

  • anyframe-logmanager-pi.1.0.1

  • Bic Data 는 상대적임

  • NoSQL 은 ‘상대적으로’ 저렴한 비용으로 이러한 대용량 데이터를 처리하기 위해 고안된 Database의 일종

  • 로그데이터 처리를 위해서 NoSQL을 고려해야하는 이유
    • 입출력 속도가 빠르다?
  • NoSQL 종류
    • MongoDB
      • 다른 NoSQL Database 에서 제공하지 않는 기능들을 제공
        • 인덱스?
    • CouchDB
    • Cassandra
    • HBase
  • MongoDB
    • MongoDB 는 10gen 에서 개발한 NoSQL DB 제품의 한종류(Humongous)
    • APGL 3.0 라이센스 사용
    • 대형 업체에서 서비스하려고 하는 경우 제약사항이 발생
  • MongoDB is Fantastic for Logging
    • 입력이 비동기식으로 동작
    • 오래된 로그 데이터는 자동으로 LRU’s out : 과거데이터가 삭제된다.
    • Document-oriented(XML 과 같이 구조화 되어 있어서 문서자체를 저장하는 방식) / JSON 은 로그 정보를 위한 훌륭한 구조야?
    • Log4mongo
  • 로그 수집시 고려사항
    • 로그 수집
      • 직접 수집 : log4.xml -> append 처리
      • 배치 수집
    • 로그의 저장(=mongoDB 의 구성)
      • 환경구성
        • 싱글 노드/ 멀티노드
        • replica set
    • 정책의 관리
      • 로그 레벨의 (동적) 변경
      • (동적) Appender 추가
      • 변경사항의 중단없는 반영
      • 로그정책의 통합관리(분산되어 있는 로그시스템의 통일)
    • 데이터의 검색
      • matched 검색
      • range 검색
      • 순차검색
      • 검색항목
      • 어떻게 보여줄 것인가?
    • Enterprise Environment 대용량 환경에 적용할 때 고려할 사항
      • 클러스터링
      • 원격서버
  • Idea~
    • 고려사항을 해결하기 위한 오픈소스 해결방법 ->
    • Issue -> Open Source Technology -> Log Manager Feature
    • 로그 수집
      • 직접 수집 : log4.xml -> append 처리 : log4mongo
      • 배치 수집 : osgi / apache felix
    • 로그의 저장(=mongoDB 의 구성)
      • 환경구성
        • 싱글 노드/ 멀티노드
        • replica set
    • 정책의 관리
      • 로그 레벨의 (동적) 변경
      • (동적) Appender 추가
      • 변경사항의 중단없는 반영
      • 로그정책의 통합관리(분산되어 있는 로그시스템의 통일)
      • hessian, servletfilter, log4j api
    • 데이터의 검색
      • matched 검색
      • range 검색
      • 순차검색
      • 검색항목
      • 어떻게 보여줄 것인가?
    • Enterprise Environment 대용량 환경에 적용할 때 고려할 사항
      • 클러스터링
      • 원격서버
  • 해결방안 : LogManager
    • Apache 라이센스를 사용하는 오픈소스 로그관리도구
    • MongoDB를 Log Repository로 활용
    • OSGI 기반의 Agent Service 제공
    • Jetty 기반의 웹관리모듈 제공(별도의 WAS 불필요)
    • jQuery 기반으로 Ajax Web UI
    • 다양한 검색옵션 제공
    • 간단한 사용자 관리 기능으로 로그 접근권한 분리
  • LogManager Senario
    • 직접수집
    • 배치수집
  • Anyframe 쪽에서 확인 가능
    • WAS의 재가동 없이 로그 적용가능
  • Log Agent Service
    • OSGi - Apach felix
    • Log Agent 관리
    • Log Application 관리
      • Log Policy Editor
    • 계정 관리
  • Technology Stack
    • 기술적 종속관계를 통해 확인
    • 대부분 Java를 기반으로 구성되어 있다.
  • 오픈소스 라이선스의 로그관리 도구
    • 로그를 빅데이터 관점에서 접근하여 NoSQL 제품과 접목한 오픈소스 형태의 로그 관리도구
    • 자체로서 완결된 서비스를 제공하기 보다는 현장에서 보다 쉽게 응용하여 사용할 수 있도록 편의를 제공하는 것이 목적
  • 발전방향
    • 로그 프레임워크의 범위 확장 :Log back
    • NoSQL DB 추가 : 인터페이스표준화
    • 성능 최적화
    • 기능 최적화
    • 분석도구 제공
  • 프로젝트 : http://www.anyframejava.org/project/logmanager

  • JIRA : http://dev.anyframejava.org/jira

  • 개인의견
    • UI 에서 Agent를 관리하는 기술이 참 부럽군.
    • 저장된 로그를 필터링하여 관리하는 부분은 LogManager 사용자의 영역이로구나.
    • 우리 회사에서도 고려하고 있는 사항인데, 중요한 것은 이렇게 기록된 정보를 어떻게 가공하느냐…
    • 결국 빅데이터는… 그 방대한 데이터를 ‘어떻게 사용하느냐?’ 라는 사용방식의 차이가 그 효율성을 결정짓게 되는 것이다.


4. 프로젝트 유형별 어플리케이션 플랫폼 구축 전략


  • 발표자 : 삼성SDS 백창현 수석
  • 프로젝트의 특징에 대한 명확한 분석이 필요하다는 거지.
  • SI 프로젝트 기반 시스템 개발
  • Eclipse 기반
  • 배치 스케줄러 개발
    • 배치 스케줄러 시스템
    • 배치 스케줄러 구성요소
      • Schedule Admin
      • Schedule Agent
    • Hadoop Zookeeper
    • 일정을 어떻게 관리할 것인가
    • 요구사항을 정확하게 분석해야한다.
    • 설계 요소
      • 작업 일정과 개별 실행 작업 인스턴스의 관리
      • 쉽고 간편한 웹기반의 UI
      • 멀티 에이전트 관리
      • 스케줄러 어드민 이중화
      • 웹크롤링 스케줄러 에이전트를 다시 만들어볼까나.
    • Smart GWT
    • 프로젝트 성격
      • 개발목표
      • 개발형태
      • 요구사항 명확도
      • 도입기술
      • 기술적 난이도
      • 비용확정
      • 핵심이슈
      • 리스크
      • 아키텍트 역할
      • 프로젝트 기간
    • 프로젝트의 핵심요소들을 파악하여 어떻게 할 것인지 확인
  • 프로젝트 유형별 어플리케이션 플랫폼 구축전략 - 프로젝트 성격 분석 - 개발목표 - 개발형태 - 요구사항 명확도 - 도입기술 - 기술적 난이도 - 비용확정 - 핵심이슈 - 리스크 - 아키텍트 역할 - 고가용성 구조 정의, 핵심클래스 데이터 모델 정의 - 프로젝트 기간
  • 유형별 비교
    • 금융 SI 시스템 개발
      • 금융시스템 개발의 소프트웨어 아키텍처 및 기술 기반 구축
      • 프레임워크 도입 후 커스터마이징
      • 매우 명확함
      • 높음(표준, 규격)
      • 프로젝트 구축일정에 따라 M/M 투입
    • 시각적 로직 명세 툴 개발
      • SI 개발 지원을 위한 프로그램 상세 설계/명세 툴 개발
      • 제품 기획 후 아웃소싱 발주 수행
      • 불명확
    • 배치 스케줄러 개발
  • 정리
    • 프로젝트 유형별 상이한 어플리케이션 구축 방향
      • 프로젝트 유형별로 다채로운 아키텍트의 역할
    • 프로젝트에서의 아키텍트의 미션 : 제품과 시스템의 완성
      • 어떤 경우든, 아키텍트는 상황에 따른 중요한 설계 방향의 의사결정을 내리며,
      • 제품과 시스템의 완성 책임을 지는 존재
    • 매트릭스의 아키텍트
    • 아키텍트는 프로젝트안의 세계를 창조하고 관리하고 책임지는 존재


  5. 클라우드 컴퓨팅 아키텍처 사례

  • 발표자 : 삼성SDS 정유선 책임
  • ** Cloud Provider 의 입장에서 **
  • 클라우드 컴퓨팅 개요
    • 클라우드 컴퓨팅
    • 비즈니스 요구사항
      • Cloud Provider
        • TCO, ROI
        • Business Value
      • Cloud Consumer
      • 클라우드 서비스 제공자와 사용자의 두가지 관점에서 고려해야 한다.
    • Scope of Control
    • Available Service on Cloud, Cloud Computing Service model
      • PaaS
      • SaaS _ IaaS
  • 클라우드 참조 아키텍처
    1. 클라우드 참조 아키텍처
      • Cloud Provider - Service Orchestration
        • Service Orchestration 이 뭐야?
      • Cloud Computing Reference Architecture
        • Cloud Consumer
        • Cloud Provider
        • Cloud Broker
        • Cloud Auditor
        • Cloud Carrier
  • 오픈소스 클라우드 플랫폼
    • OpenStack
    • CloudFoundry
      • 사이트 : http://www.cloudfoundry.com/
      • PaaS
      • 3가지 모델로 설명
        • Cloud Provider Interface
      • Messaging Bus를 이용하여 각 계층별로 요청 처리
      • Service gateway <-> Cloud Controoler
    • BOSH
      • 우분투 진영만 지원
  • 아키텍쳐 패턴
    • Event-driven
    • Asynchronous
    • Independent
    • Shared-nothing
    • 공통 : Messaging bus
  • 정리
    1. 오픈소스 클라우드 플랫폼의 활용
      • 사내 private cloud 구축
      • Cloud 환겨에 대한 이해
      • IaaS 또는 PaaS 구축
      • 오픈소스 기술 지원 : 소스를 열어보고 그것을 이해하는 노력이 필요하다.
      • Trouble Shooting of Challenge
        • VM 시스템의 속도가 떨어진다.
    2. Cloud Migration
      • 물리적 환경의 일반적인 N-Tier 아키텍처
      • 클라우드 환경에서는 클러스터링이 어려운 문제다.
        • Memory tier를 분리하여 Session replication 및 객체 캐시를 통해 부하를 분산시켜 목적에 맞게 DB 선택
      • Message passing 을 통해 동작을 제어
    3. 제언
      • 전체 그림은 크게 그리고, 시작은 작게 천천히 시작하라.


  6. Fleible UI Reference method with Open Architecture

  • 발표자 : 삼성전자 황기영 책임

  • 초반 컨셉만 이해해도 성공한 것이다!!

  • 논문을 읽다가 아이디어를 얻어서, 그것을 정형화하다가 결과를 얻었다.

  • API Document
    • Library 의 사용시 일반적으로 API를 접근하기 위하여 Document를 분석하여 접근
    • API활용을 위한 일반적 구성요소
      • Method name or Interface name
      • Input data
      • Return data or Result
    • API가 너무 많다. 원하는 것을 확인하기 위해서는 샘플을 확인하고 필요에 따라서 API를 확인한다. 돌아가는 것을 먼저 확인한다.
    • 우리는 언어를 만드는 사람이 아니라, 만들어진 프로그래밍 언어를 이용해서 가치를 만드는 사람이다.
    • API를 어떻게 만드는 것이 좋을까?
  • Black box Approach
    • 기본 component 가 존재하는 상황에서 이를 활용하여 개발하는 개발자는 API의 활용시 컴포넌트의 결과값을 받는 기본적 절차
    • API Document 이해를 통한 Interface의 접근이 아닌 UI를 직접보고 API를 재사용할 수 있는 방법은 없을까?
  • Change our way of thinking
     논리적인 방법을 UI 행동방식으로 전환한다.
    
    • Change the concept from logical way to UI behavior way
      • 기존의 API 접근 방법을 UI화면에서의 사용자 동작으로 바꾸어 생각해본다면?
    • 기존 UI화면에서 item이 존재한다면 item을 선택하는 것은 interface에 input값을 보내기 위한 UI에서 동작

    • 선택 후 OK버튼을 누른다는 것은 Interface를 호출한다는 것

    • 최종화면은 이미 UI가 포함된 전체화면을 받는다는 것

    • Logical way(from Business layer)

    • UI behavior way(from Presentation layer)

  • OSGi Architecture
    • 구체적 적용 방안 설명을 위해 실제 구현 환경을 바탕으로 설명
  • UI Architecture Layout
    • 확장이 가능한 UI 영역을 선언
    • 확장점(Extension point) : 사용가능한 API 영역
      • UI의 특정부분은 다른 번들이 재사용하는 것을 허락하도록 오픈 플랫폼에 등록하게 된다. 이를 확장포인트(Extension point)라고 한다.
      • 외부에서 Injection이 가능하다. -> 새로운 기능을 추가할 수 있다.
  • 사용자 관점의 동작원리
    • 확장가능한 UI영역을 선언
      • 시스템을 사용하는 사용자는 자신이 추가 및 확장하고자 하는 Bundle 을 Plug & Play 형식으로 원하는 기능을 확장할 수 있다.
      • 사용자는 어떻게 실행이 되고 있는지 정확하게 알 수는 없다. 알 필요가 없지.
  • 실사례 동작 구성
    • 원래 번들은 자신의 UI화면을 가지고 있으며 이를 사용하여 주요기능을 사용하고 있다. 이러한 화면에서 추가 번들의 설치와 동시에 원래 번들의 화면에 수정및 변경을 가능하게 해준다.
  • 시스템 관점의 동작원리
    • 주요 번들 간의 확장UI를 작동시키기 위하여 목표가 되는 대상은 3가지의 주목표가 존재한다.
  • Open platform with OSGi
    • Open Platform 영역은 기존의 OSGi의 환경에 번들이 연결되기 전에 공통된 영역이나 UI를 관리하기 위한 Controller로 구성 > 주요 4개 영역으로 구성
    • 치사하게 소스를 공개하지 않고 API만 제공한다.
    • Common Library
    • AAA Controller
    • Debug/Logging
    • UI Layout controller
  • Usaual Architecture

  • Architecture for UI Extension Reference
    • 표현계층에서
    • 페이지 영역에서 컨트롤러로 동작 제어
  • 핵심구성요소
    • 확장점(Extension Point)
      • 확장이 가능한 지점으로 부터 타 OSGi 번들이 Injection을 허락하는 지점
    • 동작점(Action Point)
      • 확장점을 클릭했을 때
      • 특정 Action이 발생하였을 경우 확장점에서 UI가 해주어야 할 내용 정보
    • 설정정보(Configuration information)
      • 확장된 UI를 화면에 Display 해줄 때 어떠한 Text나 Icon 등으로 확장해줄 것인가를 선언해주는 부분
    • XML은 컴파일할 때 오류가 나지 않고, 런타임때 오류가 발생한다.
  • 결론
    • UI 계층을 통한 API의 활용
    • UI 계층에서 Injection 가능
    • UI 계층에서 기능의 확장화 = API의 재사용
    • 개발의 편리화, 빠른 개발화
    • 표준화된 커뮤니케이션 제공
    • 유지보수의 편리성 제공
    • 제품의 품질 향상
  • 예시
    • 기업은행
      • 솔루션을 제공한다.
      • 중소기업(3rd party)은 솔루션을 이용해서 쓰면 된다.
      • 결국 자신들에게 상속시킨다. 한정시킨다.
      • 사례 : Open Platform
        • 4만대 판매
        • 사례제공을 통해서 고객을 설득해야한다.
        • 우리쪽 장치만 사용가능하다.
        • 유지보수도 우리가 한다.





허니몬에 관한 보고서/허니몬의 물병편지
  • 안드로이드 마켓에 등록된 앱이 10만개를 돌파하고 10억 다운로드를 달성했다고 한다. 안드로이드의 ㅛㅓㅇ장세는 여전히 무섭다!! // 씻고 나가봐야겠구나… ㅡㅅ-); 출근이랑 뭐가 달라!!(월차내고 세미나 들으러 가는 남자... ㅡㅅ-);; 다들 신기한 듯 쳐다보더라... Orz.... 프로그래머라면 의당 그러해야하지 않을까?? me2mobile) 2010-07-16 06:37:32
  • 갤럭시S 루팅했더니 성능이 2배 향상! - JOINS | 아시아 첫 인터넷 신문 // 내용은 괜찮아. ㅡ_-); 그런데 기사 중간중간에 있는 키워드의 링크를 눌러보면… 전혀 연관없는 사이트로의 링크라니… ㅡ_-);; 장난해? 결과랑 성형외과회사랑 무슨 상관이야?(조중동의 기사 중 링크를 암생각없이 클릭하면... 전혀 엉뚱한 곳으로... ㅡ0-);;) 2010-07-16 07:02:01
  • ㅡㅅ-);; 안되던 디자이어 이어폰을 한달만에 다시 꺼내었더니… 잘 된다!? 호잇!?(자가치료되믄 디자이어 이어폰!? me2mobile) 2010-07-16 08:14:33
  • 2010 한국 소프트웨어 아키텍트 대회 왔쩌염 'ㅅ' 뿌우움!!(현장기록 코엑스 2010 한국 소프트웨어 아키텍트 대회 // Agile 개발실 - 자부심, 행복감 그리고 놀라운 결과 me2mobile me2photo) 2010-07-16 09:16:24

    me2photo

  • 요구사항, 시장흐름에 흔들리지 않게 프로세스를 통해 흔들리지 않을 수 있도록 하자.(아키텍트와 애자일의 결합... me2mobile me2photo) 2010-07-16 09:49:15

    me2photo

  • 바쁘신 류한석님 출현!! ㅎㅎ 자주 뵙네요.(전자정부 2.0 을 위한 아키텍처(공공 정보자원 공유 인프라 구축을 위한 아키텍처) 류한석 me2mobile me2photo) 2010-07-16 09:53:54

    me2photo

  • 한국에서 쓸 수 있는 한국형 SNS는 없다…라고 말씀하시는 류한석님. 흠… 미투데이에 대해 잠시 생각해본다…(소셜네트워크 SNS... 미투데이 트위터 페이스북 흘랫폼... 흠... 미투데아는 플랫폼이 될 수는 없는 걸까?? me2mobile me2photo) 2010-07-16 10:04:10

    me2photo

  • 전자정부2.0이전에 국가와 국민과의 신뢰를 두둑하게 구축해두어야 한다… 그러나 지금 정부를 보면 신뢰할 수가 없다… 전자정부2.0 데이터셋 공개에 앞서 국민들을 팬보이들을 만들어야 한다.(전자정부 2.0 하지만... 지금 정부와 정권과 정계는 신뢰할 수 없다. 불신하고 있다... 전자정부2.0을 위한 선순환이 이루어지지 않는 이유... me2mobile) 2010-07-16 10:26:28
  • 아키텍트, 오픈소스 Spring framework에 길을 묻다. 철학적인 접근… 조만희 아이티와이즈 컨설팅(한국 소프트웨어 아키텍트 대회 // 프레임워크 오픈소스 me2mobile me2photo) 2010-07-16 10:39:42

    me2photo

  • 아키텍트, 스펙의 홍수에서 길을 잃다… 경험이 더욱 절실하게 목말라지는 요즘…(네스팟 좋은데... 컨퍼런스룸마다 다 터져. 티존은 어디에..!? me2mobile me2photo) 2010-07-16 10:46:36

    me2photo

  • 많은 발표자를 본다… 그들은 무의식적으로 빔을 쏘는 화면을 본다… 잡스처럼 할 수는 없겠지만… 가능하면 노트북 화면과 청취자들의 눈과 아이컨텍트릉 하는 게 좋지 않을까???(눈으로 말해요... 나도 주의하자... ^^;; me2mobile) 2010-07-16 11:21:39
  • 완성도 높은 UI Designer… 생산성 좋은 개발자… 인력부족… 나도 언젠가는 어디서나 모셔가고 싶은 능력자가 되고파…!! ㅡㅅ-)(하지만 현재 나는 늦깍이 초급 개발자... 기다려!!! me2mobile) 2010-07-16 11:36:53
  • 트위터나 페이스북으로 계정하나 개설해서 DM이나 멘션 으로 질문하라고 하면 될걸… 발표 끝날 때마다 “질문지 작성해주세요.”하면서 분위기를 쌔야겠니… 트렌드도 읽지 못하는 운영이라니…(한국 소프트웨어 아키텍트 대회 운영진의 고리타분함과 무지함... me2mobile) 2010-07-16 11:55:59
  • 삼성동 한켠에 자리잡은 갤럭시 광고터…(안드로이드 갤럭시s 최고라 할만한 하드웨어 스펙을 제대로 최적화하지 못한 범작... 아쉽다. OS 2.2 업뎃 후 루팅해서 SKAF 들어내면 최고의 안드로이드폰을 쓰실 수 있습니다. me2mobile me2photo) 2010-07-16 12:06:59

    me2photo

  • 점심은… 혼자먹는… Orz… 태국식 새우 볶음밥!! 그래도 맛나게 먹어줄테다!!!(여기는 풀무원 경영하는 엔즐 me2mobile me2photo) 2010-07-16 12:10:49

    me2photo

  • MyDesire와 갤럭시s 잠시 비교결과!! MyDesire 승리!!(htc와 삼성의 스마트폰 최적화 능력의 차이... me2mobile me2photo) 2010-07-16 12:39:22

    me2photo

  • 곧 지스타도 열리겠군… 넥슨은 당연히 참가하죠?? 넥슨PC방님. ㅎㅎ 잘 지내시냐며 소환(내가 요즘 게임에는 도통 관심이 없어서... 그래도 잘 지내실테니 무걱정!!! me2mobile me2photo) 2010-07-16 12:48:59

    me2photo

  • 4번 트랙이신가요!? ^^
    2010 소프트웨어 아키텍트 대회에서 만난 [짱가™]님과 성현님 :) 넘 반가웠어요!! by 너구리 에 남긴 글 2010-07-16 13:12:23
  • 올해 안에 국내 모바일 웹표준안 mobileOK가 발표될 것이라고 하는군요… 단말기에 독립적인 웹표준을 위해서라는 군요.(2010년 연내 국내 모바일웹 표준안 mobileOK 발표됨... 흐음!? 뭔가 더 적절한 단어가... me2mobile me2photo) 2010-07-16 13:29:48

    me2photo

  • 플랫폼… Platform… EcoSystem… API… Enterprise… Framework… Opensource… Architect… Architecture… Software… SNS… twitter… facebook…(e-govment 2.0 me2day w3c mobile smart web app development developer and me!! 오늘의 키워드들... 흠..!! 머리가 더 복잡해지고 있어!!! me2mobile) 2010-07-16 15:14:18
  • Framework Engineering… 손영수님 발표. 트랙4 시즈모드 돌입.(최근 나의 관심사는 framework 이기도 하니까 me2mobile me2photo) 2010-07-16 15:20:17

    me2photo

  • 아키텍트 대회라 그럴까…. 개발자보다는 분석설계자가 더 많아…. 왠지!! 씁쓸한데…!! 그래도 나는 아키텍트가 되어보련다…!!(me2mobile 2010 한국 소프트웨어 아키텍트 대회... 프레임워크 framework 재사용 그것을 통한 생산성 고취) 2010-07-16 16:11:39
  • 안영회님의 출현!!!(블로그를 통해서만 뵈었었는뎅...!! ㅎㅎㅎ me2mobile me2photo) 2010-07-16 16:41:02

    me2photo

  • 울까 말까 삼성 // 루팅하는 사용자들의 속출…. 어쩌면 안드로이드폰은 루팅이 기본코스가 될지도 모르겠네…. ㅎㅎ 하드웨어 최고성능을 죽일 수 밖에 없는 이유 중 하나는…(me2mobile 말 안해도 알지...?? SKT 통메...) 2010-07-16 17:46:39
  • 비가 억수로 오는구마잉!!(me2mobile 바지가 척척 붙어주네) 2010-07-16 18:31:25
  • 집에가서 밥이 있으면 밥에 소고기 구워먹고… 아니면 팔도비빔면에 얹어 먹을테다.(me2mobile 소고기는 미디엄으로... // 아놔 퇴근타임 버스 괜히탔어.) 2010-07-16 18:42:55
  • 아!!! 오늘은 금요일이지!! 회사에 안가서 토요일 인줄 알았어….(me2mobile 비오는 금요일...) 2010-07-16 18:44:41
  • 5분이면 뚝딱 육덮 비빔면!!(저녁 굶지 마세요!!! me2mobile me2photo) 2010-07-16 19:27:55

    me2photo

  • 하아아앙… ㅡ0-);; 이건… 또… 치명적 유혹!!
    Toby님이 심혈을 기울여 지은 책. 토비의 스프링 3: 스프링 프레임워크 3 기초 원리부터 고급 실전활용까지 완벽 가이드 8월 5일 출간! 1400페이지에 하드커버양장으로 나옵니다. 이아스님, fupfin님, 호랭이님, okgosu님 등이 써주신 추천글도 읽어보세요~ by bliss 에 남긴 글(사실... ㅡ_-);; 컴퓨터 서적으로 해서 양장본은 좀 ... 그래요. 프레임워크 파트별로 해서 3권정도로 분리할 수 있게 했음 어땠을까하고 생각합니다....) 2010-07-16 21:54:49
  • 우리는 언제부터… 무엇인가를 사기위해 기대를 품게 되었을까? ㅡ_-)?(그것이 나오면 조금 참았다가 욕구불만에 쌓여 카드로 그것을 싸지른다. 그런데 문득 생각해본다... 그게 정말 나의 의지일까?) 2010-07-16 22:20:55

이 글은 허니몬님의 2010년 7월 16일의 미투데이 내용입니다.

허니몬에 관한 보고서/허니몬의 물병편지
  • 훗… ㅡ_-);; 숙취는 없군…. Orz… 하지만, 버스타고 졸다가 마석까지 가고야 말았으니… 나름의 숙취가 남아있…(Orz.... 다행히 잃어버린 게 없다.) 2010-07-10 09:41:17
  • 비빔면 먹고… JCO 개발자 페스티벌 나갈채비를 해야겠구나.(이화여대 ECC 에서 열리는 JCO, 신촌에 또 나가는구나....) 2010-07-10 10:22:49
  • 흠… 미투앱을 종료시키지 않은 상태에서… 장시간이 흐른 다음… 새로운 글들을 보려고 하면 미투앱이 정지된 시점부터 현시각까지의 글들을 모두 가져오느라 많은 시간과 데이터가 소모된다…(아이폰 미투앱 일시정지 그 후 글 불러오기 // 설정에서 불러오는 글의 시간대를 설정할 수 있으면 어떨까?? // 안되면 미투앱 종료했다가 다시 시작하는게 편하다. me2mobile) 2010-07-10 11:40:53
  • 이 시간에는 할아버지 할머니가 참 많으시네여…(이런 날에는 서서 가는게 맘 편하지 말입니다. me2mobile) 2010-07-10 11:45:28
  • 여친이 생기면…!! 이 아잉폰을 전용 호출기 선물해야지…(하지만 안생겨요!! me2mobile) 2010-07-10 11:47:49
  • 오오!! 이대!!(여기가 바로!!! me2mobile me2photo) 2010-07-10 12:27:02

    me2photo

  • ₩funfin₩ 어디로 가야하나요!!!(미아되기 직전 me2mobile) 2010-07-10 12:35:06
  • 치사빤스하다 네스팟!!!(이화여신대 ECC 무선인터넷 네스팟!! 학교 내에서는 무료로 개통시켜라!!! me2mobile me2photo) 2010-07-10 12:49:30

    me2photo

  • fupfin님의 개회사!!! 이제 시작이구나 두근두근!!(하지마... 찾아오다가 헤매었음... JCO 자바 개발자 페스티벌 me2mobile me2photo) 2010-07-10 12:58:21

    me2photo

  • SDD를 전파하고 계시는 너구리님을 뵙는군요!!(테스트 가능한 소프트웨어 설계와 TDD 작성 패턴 me2mobile me2photo) 2010-07-10 13:02:43

    me2photo

  • 오오오!!! 책에서 읽은 내용들이 연결되기 시작했어!!! ㅡㅅ-); 역시 책만 읽는 것으로는 부족한 부분들이 있었어!!!(너구리님의 설명을 듣고서 테스트 주도 개발 에서 읽은 내용들이 이어지기 시작했어. me2mobile me2photo) 2010-07-10 13:47:02

    me2photo

  • 백문이 불여일견문!!! 백번듣는 것보다는 한번보고듣는게 훨씬 낫다!! ㅎㅎ 음..!! 내가 만드는 거에서 어찌 쓸지도 상상된다!!
    오오오!!! 책에서 읽은 내용들이 연결되기 시작했어!!! ㅡㅅ-); 역시 책만 읽는 것으로는 부족한 부분들이 있었어!!! by 허니몬 에 남긴 글 2010-07-10 14:02:03
  • 너구리님의 명언!!(오늘 하루 가슴에 새겨두기 me2mobile me2photo) 2010-07-10 14:16:11

    me2photo

  • 이러면 개발자 스러운가!! ㅎㅎ(리팩토링과 검증 // 차민창님의 발표 // KSUG me2mobile me2photo) 2010-07-10 14:19:57

    me2photo

  • 여대 내부 탐방 중..!! 주말에는 외부인들도 출입가능?!(이화 여신대!!??? me2mobile me2photo) 2010-07-10 15:25:19

    me2photo

  • 스프링은 프레임워크일까요??!!(스프링은 프레임워크가 맞습니다! ㅎㅎㅎ me2mobile me2photo) 2010-07-10 15:36:08

    me2photo

  • 스트레스 많이 받는 착취형 쥐…(ㅡㅅ-) 얼마 안있음... 너의 것들이 빼앗길 날이 온다... 2년 반... me2mobile me2photo) 2010-07-10 16:42:44

    me2photo

  • 모르면 질문을 할 수 없다…(me2mobile 아는 만큼 보인다. 모르면 볼 수 없다. 물을 수 없다. 알려고 노력하라.) 2010-07-10 16:51:23
  • 옆에 앉아계신 여성분…. 연신 머리칼 끝을 쓰다듬고 꼬고… ㅎㅎ 그러고 계심…(me2mobile 호오.... 신기한 것들도 보여준다!!!) 2010-07-10 17:08:10
  • 발표하시는 분…. 똑똑하다!!!(me2mobile 생각의 차이가 있어!!! 똑똑하다는 것을 깨달을 수 있어!!) 2010-07-10 17:12:04
  • 이대 거리… ㅡㅅ-);; 저녁이 되니 드저분해지기 시작… 지네가 먹은 건 챵겨가서 쓰레기통에 버리는 것도 못하는 기초질서 능력 부족자들이 많은 거리…. 다시 오고 싶지 않아진다.(me2mobile 사람들이 더 많아지고 노점상들이 문을 열면서 거리는 쓰레기판으로 변해간다.... ㅡㅅ-);; 다시 오기 싫을정도로... 드저분한 이대 거리.... 홍대거리보다 더 하군....) 2010-07-10 18:07:09
  • 데브멘토 :: 안드로이드 어플 개발 전략 10가지 1부(웹갈피, 안드로이드 어플 개발 전략 10가지 , 안드로이드 사이드, 한동호씨, 이제 팀을 이뤄야할때...?) 2010-07-10 23:44:36

이 글은 허니몬님의 2010년 7월 10일의 미투데이 내용입니다.

허니몬에 관한 보고서/허니몬의 물병편지
  • 내일 아침을 위해 아이폰에서 sleep cycle 앱을 셋팅하고… 모닝 페이퍼 아래두고 자자. 굿나잇!!(htc 디자이어 사용기.... 전에 분해했다가 조립하고나니... 진동모터가 ㅎㅎ 히마리가 없어졌다!! me2mobile me2photo) 2010-06-28 01:13:19

    me2photo

  • 굿모닝!! ㅡㅅ-)/ 실용주의 사고와 학습에서 하라는데로 모닝 페이퍼 쓰기를 처음으로 시작하고 인증샷 남김… 저 책 세권은 침대 근처에 두고서 생각날 때마다 꺼내어 봐야겠다. 시간이 흐르면서 구름이 옅어지고 날이 밝아오고 있다.(좋은 아침!! 기상 5시 30분. 정신을 차린건 대략 5시 55분. 아직은... 뭘써야할지 정확하게 알 수가 없네. ㅎㅎ me2mobile me2photo) 2010-06-28 06:23:26

    me2photo

  • 나의 some point 는… ㅡㅅ-)? 언제, 어디서, 어떻게 찾아올까?
    As a software engineer, at some point you realize that there's much more to your career than dealing with code. by 권순선 에 남긴 글 2010-06-28 06:54:19
  • 캬아악!!! 지갑 두고 나왔다… Orz..!ㅎㅎ 생활패턴 지대로 흩어놓고 시작하는 아침일세!!(그래 가끔은 지각도 해보는 거야!! 이러면서 반차낼 기세!! me2mobile) 2010-06-28 07:32:43
  • 어제 밤에 산책을 하다가 어디선가 읽은 글이 떠올랐다… 부유한 여성은 날씬하고… 가난한 여성은 뚱뚱하고… 남자는 반대라는 내용의 글…(그냥 어젯밤 문득 떠오른 이야기... me2mobile) 2010-06-28 12:46:02
  • 네이버 소셜앱 겁수 알바하실분!! 도전!!
    네이버 소셜앱 검수 관련 업무 진행해 주실 아르바이트 인력 구합니다~ by 권순선 에 남긴 글 2010-06-28 15:35:49
  • 결정을 하기 전에 소통을 하는게 당연한 거 아닌가?? ㅡㅅ-);; 결정하고 공표한 다음에 소통이랍시고… “이렇게 됐으니까 너희가 이해해라.” 하는게 소통이야?? 그런 소통법은 어디서 배워먹었어??(소통은 서로다른 관계 사이에 어느 한쪽에 치우치지 않은 의견조율을 위한 방법... 아닌가?? 왜 요즘 소통의 개념이 바뀌는거야?? me2mobile) 2010-06-28 15:38:26
  • ㅡㅅ-);; 나야 뭐… 잃을 게 없으니 그나마 다행!!!
    민간인 사찰 청와대도 알고 있었다 PD수첩, BBK 동영상 올렸다가 모든 걸 잃은 한 남자의 사연 흠 이런 기사가 떴군요. by geno 에 남긴 글 2010-06-28 16:53:01
  • 오늘하루… 괜스레 감성이 깊어지며 힘이 쭈욱 빠지는 이들이 많네여… ^^;; 미투데이 안에서 친구라는 관계를 통해서 쉽게 서로의 감정까지도 전달되어 함께 느끼게 되는 듯…(보름달의 위력일까? 인간의 감성을 깊게 만들기도 하는 달의 마력이란... me2mobile) 2010-06-28 21:30:52
  • 구글이 모바일 음성검색을 내놓은 이유 중 하나…. 목적이랄까?? 분명 완성도 높은 물건을 내놓으며 선점을 했다.(me2book googled 구글드 검색 소프트웨어로 휴대기기도 선점하라 me2mobile me2photo) 2010-06-28 22:09:15

    me2photo

  • 구글의 돈줄… 금광 노다지… TV, Mobile device, Clouding computer… 우리나라 포탈들의 돈줄 노다지는 뭐지..?(우리나라 포탈들은 정경유착의 형태로 변신하고 있다... me2mobile me2photo) 2010-06-28 22:21:51

    me2photo

  • 오란씨 한모금!!! 이게 다 ₩메가쇼킹만화가₩님 때문이다!!!(왠지 오란씨가 마시고 싶었다...! me2mobile me2photo) 2010-06-28 22:35:01

    me2photo

  • '이런 노력이 돈을 벌게 해줄 것인가?', 그리고 '이런 스토리텔링이 웹에 변화를 가져올 것인가?' // “스토리를 전시할 플랫폼이 아무리 많아져도, 결국 사람들이 어떤 스토리를 듣느냐가 중요하다.”(me2book 구글드 // 멀티태스킹이 주의를 산만하게 만들고 주의집중하는 시간이 짧아진다고 해서, 스토리텔링의 구조가 달라지지는 않는다고 생각한다. - 디즈니 전직 CEO 마이클 아이스너) 2010-06-28 22:55:46
    구글드
    구글드
  • 2010 한국 소프트웨어 아키텍트 대회 // 7월 월차는… 여기 가는 걸로 할까? ㅡ_-); 아키텍처와 오픈소스 활용, 엔터프라이즈 SW 아키텍쳐 두개가 땡기는구나.(2010 한국 소프트웨어 아키텍트 대회, 7월 16일 금요일, 한국소프트웨어기술진흥협회) 2010-06-28 23:13:46
  • 답을 알 수 없다면, 제대로된 질문을 하라…. 2010-06-28 23:18:58
  • “훌륭한 대안이 있으면, 거기에 맞서 싸우기란 아주, 아주 힘들죠.” 기존 미디어가 고객과 싸우고 싶지 않다면, 새로운 상품과 편리함을 바라는 고객의 욕구를 부정하려는 것이 아니라면, 어떻게 물결을 타야 할지 궁리해내는 수밖에 없다.(me2book googled 구글드 거대한 물결을 타는 서퍼가 되어라!!) 2010-06-28 23:25:24
  • 책을 채워갈수록… 내 머릿 속의 세계는 넓어지고 있을까?? ㅡㅅ-);; 전자책에 대한 관심이 높아지는 지금, 요전히 나는 사락사락 넘어가는 종이로 된 책을 즐기고 있다….(독서는 너를 자유롭게 하리라... 반대편에도 책은 조금씩 쌓여간다... me2mobile me2photo) 2010-06-28 23:32:05

    me2photo

  • 집에서는 우분투를 쓴다. ㅡㅅ-); 우분투 좋잖아?? ㅎㅎ(우분투 환경 구축 완료... 이 글을 쓰는 동안, 어느 동네 강아지가 깨갱거린다. 시끄럽다.... me2mobile me2photo) 2010-06-28 23:57:12

    me2photo

이 글은 허니몬님의 2010년 6월 28일의 미투데이 내용입니다.

1 2
블로그 이미지

Email : ihoneymon@gmail.com 안녕하세요, 꿀괴물 입니다. ^^ 멋진 비행을 준비 하는 블로그 입니다. 만능형 인간이 되어 많은 이들에게 인정받고, 즐겁고 행복하게 살기를 간절히 원합니다!! 달콤살벌한 꿀괴물의 좌충우돌 파란만장한 여정을 지켜봐주세요!! ^^

허니몬