KR20240014205A - 전자 장치 및 그의 패키지 관리 방법 - Google Patents

전자 장치 및 그의 패키지 관리 방법 Download PDF

Info

Publication number
KR20240014205A
KR20240014205A KR1020220091660A KR20220091660A KR20240014205A KR 20240014205 A KR20240014205 A KR 20240014205A KR 1020220091660 A KR1020220091660 A KR 1020220091660A KR 20220091660 A KR20220091660 A KR 20220091660A KR 20240014205 A KR20240014205 A KR 20240014205A
Authority
KR
South Korea
Prior art keywords
package
information
user terminal
service
electronic device
Prior art date
Application number
KR1020220091660A
Other languages
English (en)
Inventor
한란 리우
Original Assignee
쿠팡 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쿠팡 주식회사 filed Critical 쿠팡 주식회사
Priority to KR1020220091660A priority Critical patent/KR20240014205A/ko
Priority to PCT/KR2022/011449 priority patent/WO2024025027A1/ko
Publication of KR20240014205A publication Critical patent/KR20240014205A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9038Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

전자 장치의 패키지 관리 방법이 제공된다. 패키지 관리 방법은 패키지에 관한 제1 검색 키워드를 제1 사용자 단말로부터 획득하는 단계; 제1 검색 키워드에 대응하는 하나 이상의 패키지들을 확인하는 단계; 하나 이상의 패키지들에 관한 정보를 제1 사용자 단말로 전송하는 단계; 하나 이상의 패키지들에 관한 정보에 기초하여 선택된 제1 패키지에 관한 정보를 제1 사용자 단말로부터 획득하는 단계; 및 제1 패키지에 관한 상세 정보를 제1 사용자 단말로 전송하는 단계를 포함할 수 있다.

Description

전자 장치 및 그의 패키지 관리 방법{ELECTRONIC APPARATUS AND MANAGING PACKAGE METHOD THEREOF}
본 개시는 사용자가 보다 편리하게 패키지를 검색 및 설치하거나 배포할 수 있도록 하기 위한, 패키지 관리 플랫폼을 제공하는 전자 장치 및 그 제어 방법에 관한 것이다.
안드로이드, iOS, 리눅스 웹, 윈도우 등 다양한 플랫폼에서 구동 가능한 어플리케이션을 만들기 위한 툴킷(toolkit)으로서 플러터(flutter)가 널리 사용되고 있다. 사용자들은 패키지 관리 플랫폼을 이용하여, 자신의 로컬 장치에 설치하고자 하는 플러터 패키지를 검색할 수 있고, 자신이 직접 만든 플러터 패키지를 배포할 수 있다.
그러나, 기존의 패키지 관리 플랫폼은 오픈 소스 패키지만을 대상으로 관리하므로, 특정 회사 또는 특정 팀에서 개발한 제품 또는 제공되는 서비스와의 관련성이 부족하다는 한계가 존재한다. 이에 따라, 사용자들은 특정 서비스 또는 특정 팀에 관련된 패키지를 직접 검색할 수 없다는 문제점이 존재한다.
관련하여, KR 10-2220127 B1 건 등의 선행문헌들을 참조할 수 있다.
개시된 실시 예들은 전자 장치 및 그의 패키지 관리 방법을 제공하고자 한다. 보다 구체적으로는, 사용자가 보다 편리하게 패키지를 검색 및 설치하거나 배포할 수 있도록 하기 위한, 패키지 관리 플랫폼을 제공하는 전자 장치 및 그 제어 방법을 제공하는 것을 목적으로 한다.
본 실시 예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시 예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
본 개시의 일 측면은 패키지에 관한 제1 검색 키워드를 제1 사용자 단말로부터 획득하는 단계; 상기 제1 검색 키워드에 대응하는 하나 이상의 패키지들을 확인하는 단계; 상기 하나 이상의 패키지들에 관한 정보를 상기 제1 사용자 단말로 전송하는 단계; 상기 하나 이상의 패키지들에 관한 정보에 기초하여 선택된 제1 패키지에 관한 정보를 상기 제1 사용자 단말로부터 획득하는 단계; 및 상기 제1 패키지에 관한 상세 정보를 상기 제1 사용자 단말로 전송하는 단계를 포함하는, 패키지 관리 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 제1 패키지에 관한 상세 정보는, 상기 제1 패키지의 사용 방법에 관한 정보; 상기 제1 패키지의 업데이트 이력에 관한 정보; 상기 제1 패키지의 설치 방법에 관한 정보; 상기 제1 패키지의 사용 예시에 관한 정보; 상기 제1 패키지가 사용되고 있는 서비스에 관한 정보; 상기 제1 패키지가 오픈 소스 패키지인지 여부에 관한 정보; 상기 제1 패키지의 버전에 관한 정보; 및 상기 제1 패키지의 사용 이력에 관한 정보 중 적어도 하나를 포함하는, 패키지 관리 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 제1 패키지의 설치 방법에 관한 정보는, 상기 제1 패키지의 의존성(dependency)에 관한 정보; 및 상기 제1 패키지를 불러오기 위한 정보 중 적어도 하나를 포함하는, 패키지 관리 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 제1 패키지가 사용되고 있는 서비스에 관한 정보는, 상기 서비스의 도메인에 관한 정보; 상기 서비스를 제공하는 부서에 관한 정보; 및 상기 서비스 제공 시 사용되는 데이터베이스에 관한 정보 중 적어도 하나를 포함하는, 패키지 관리 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 제1 패키지가 오픈 소스 패키지인지 여부에 관한 정보는, 상기 제1 패키지가 오픈 소스 패키지가 아닌 경우, 상기 제1 패키지에 포함된 코드가 저장되어 있는 주소에 관한 정보를 포함하는, 패키지 관리 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 제1 패키지의 버전에 관한 정보는, 상기 제1 패키지의 버전 중 가장 최근에 배포된(published) 버전에 관한 정보; 및 상기 제1 패키지의 버전 중 가장 최근에 서비스에 사용된 버전에 관한 정보 중 적어도 하나를 포함하는, 패키지 관리 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 제1 패키지의 사용 이력에 관한 정보는, 상기 제1 패키지가 사용된 서비스에 관한 정보; 및 상기 제1 패키지의 오류 발생 이력에 관한 정보 중 적어도 하나를 포함하는, 패키지 관리 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 패키지 관리 방법은, 상기 제1 패키지를 설치하기 위한 요청을 상기 제1 사용자 단말로부터 획득하는 단계; 및 상기 제1 패키지에 포함된 코드에 관한 정보를 상기 제1 사용자 단말로 전송하는 단계를 더 포함하는, 패키지 관리 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 패키지 관리 방법은, 서비스에 관한 제2 검색 키워드를 제2 사용자 단말로부터 획득하는 단계; 상기 제2 검색 키워드에 대응하는 하나 이상의 서비스들을 확인하는 단계; 상기 하나 이상의 서비스들에 관한 정보를 상기 제2 사용자 단말로 전송하는 단계; 상기 하나 이상의 서비스들 중 하나의 서비스를 선택하는 사용자 입력을 상기 제2 사용자 단말로부터 획득하는 단계; 및 상기 선택된 서비스 제공 시 사용되는 제2 패키지에 관한 정보를 상기 제2 사용자 단말로 전송하는 단계를 더 포함하는, 패키지 관리 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 제2 패키지에 관한 정보는, 상기 제2 패키지가 오픈 소스 패키지인지 여부에 관한 정보; 상기 제2 패키지의 버전에 관한 정보; 및 상기 제2 패키지의 사용 이력에 관한 정보 중 적어도 하나를 포함하는, 패키지 관리 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 패키지 상기 제2 검색 키워드는, 서비스의 도메인에 관한 검색 키워드; 및 서비스를 제공하는 부서에 관한 검색 키워드 중 적어도 하나를 포함하는, 관리 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 패키지 관리 방법은, 배포하고자 하는 제3 패키지의 관한 정보를 제3 사용자 단말로부터 획득하는 단계; 상기 제3 패키지의 버전이 가장 최근에 배포된 버전 또는 가장 최근에 서비스에 사용된 버전인지 여부를 확인하는 단계; 및 상기 확인 결과를 상기 제3 사용자 단말로 전송하는 단계를 더 포함하는, 패키지 관리 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 패키지 상기 패키지 관리 방법은, 배포하고자 하는 제3 패키지의 관한 정보를 제3 사용자 단말로부터 획득하는 단계; 상기 제3 패키지와 대응되는 기능을 수행하는 오픈 소스 패키지가 존재하는지 여부를 확인하는 단계; 및 상기 확인 결과를 상기 제3 사용자 단말로 전송하는 단계를 더 포함하는, 관리 방법을 제공할 수 있다.
본 개시의 다른 측면은 통신부, 메모리 및 제어부(controller)를 포함하고, 상기 제어부는, 패키지에 관한 제1 검색 키워드를 제1 사용자 단말로부터 획득하고, 상기 제1 검색 키워드에 대응하는 하나 이상의 패키지들을 확인하고, 상기 하나 이상의 패키지들에 관한 정보를 상기 제1 사용자 단말로 전송하고, 상기 하나 이상의 패키지들에 관한 정보에 기초하여 선택된 제1 패키지에 관한 정보를 상기 제1 사용자 단말로부터 획득하고, 상기 제1 패키지에 관한 상세 정보를 상기 제1 사용자 단말로 전송하는, 전자 장치를 제공할 수 있다.
본 개시의 또 다른 측면은 전자 장치에 의해 수행되는 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체를 제공할 수 있다.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
제안되는 실시 예에 따를 경우 다음과 같은 효과를 하나 혹은 그 이상 기대할 수 있다.
본 명세서의 실시 예에 의할 경우, 사용자들은 특정 패키지가 어떤 서비스에 사용되고 있는지, 특정 패키지가 어떤 부서에서 사용되고 있는지, 특정 서비스의 버전 중 가장 최근에 서비스에 사용된 버전이 무엇인지 등, 서비스에 관한 패키지의 다양한 정보를 제공받음으로써, 보다 편리하게 패키지를 검색 및 관리할 수 있다.
또한, 본 명세서의 실시 예에 의할 경우, 사용자들은 검색한 서비스의 도메인에 사용되는 패키지에 관한 정보 또는 검색한 부서에서 사용하는 패키지에 관한 정보를 제공받음으로써, 보다 편리하게 패키지를 검색 및 관리할 수 있다.
또한, 본 명세서의 실시 예에 의할 경우, 사용자들은 자신이 제작한 패키지와 대응되는 기능을 수행하는 오픈 소스 패키지가 존재하는지 여부 및 패키지의 버전이 가장 최근에 배포된 버전 또는 가장 최근에 서비스에 사용된 버전인지 여부 등에 관한 정보를 제공받음으로써, 보다 편리하게 패키지를 검색 및 관리할 수 있다.
발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시 예에 따른 시스템을 나타낸다.
도 2는 일 실시 예에 따라 전자 장치가 패키지를 관리하는 과정을 설명하기 위한 도면이다.
도 3a 내지 도 3b는 일 실시 예에 따라 전자 장치가 제공하는 사용자 인터페이스를 도시한다.
도 4a 내지 도 4h는 일 실시 예에 따라 전자 장치가 제공하는 사용자 인터페이스를 도시한다.
도 5는 일 실시 예에 따라 전자 장치가 패키지를 관리하는 과정을 설명하기 위한 도면이다.
도 6a 내지 도 6c는 일 실시 예에 따라 전자 장치가 제공하는 사용자 인터페이스를 도시한다.
도 7은 일 실시 예에 따라 전자 장치가 패키지를 관리하는 과정을 설명하기 위한 도면이다.
도 8은 일 실시 예에 따른 전자 장치의 패키지 관리 방법의 흐름도를 나타낸다.
도 9는 일 실시 예에 따른 전자 장치의 블록도를 나타낸다.
실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
명세서 전체에서 기재된 "a, b, 및 c 중 적어도 하나"의 표현은, 'a 단독', 'b 단독', 'c 단독', 'a 및 b', 'a 및 c', 'b 및 c', 또는 'a, b, 및 c 모두'를 포괄할 수 있다.
이하에서 언급되는 "단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말은 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, IMT(International Mobile Telecommunication), CDMA(Code Division Multiple Access), W-CDMA(W-Code Division Multiple Access), LTE(Long Term Evolution) 등의 통신 기반 단말, 스마트폰, 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
본 개시에서, 패키지(package)는 특정 기능을 수행하기 위한 모듈들의 묶음을 나타낼 수 있으며, 모듈은 특정 기능을 구현하기 위한, 함수, 변수 또는 클래스 등의 코드를 포함할 수 있다. 한편, 패키지는 라이브러리(library) 또는 프레임워크(framework)와 혼용될 수 있으나, 이에 한정되지 않는다.
이하에서는 도면을 참조하여 본 개시의 실시 예들을 상세히 설명한다.
도 1은 일 실시 예에 따른 시스템을 나타낸다.
도 1을 참조하면, 시스템은 전자 장치(100), 하나 이상의 사용자 단말들(120, 140, 160) 및 네트워크(180) 중에서 적어도 하나를 포함할 수 있다. 한편, 도 1에 도시된 시스템은 본 실시 예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
전자 장치(100)는 다양한 정보를 구성하여 제공하는 장치이다. 전자 장치(100)는 구성된 정보를 웹 페이지 또는 어플리케이션 화면 등으로 제공하거나, 제공받는 단말에서 웹 페이지 또는 어플리케이션 화면 등으로 표시할 수 있는 형태의 정보로 제공할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 패키지에 관한 검색 키워드를 하나 이상의 사용자 단말들(120, 140, 160)로부터 획득하고, 검색 키워드에 대응하는 하나 이상의 패키지들에 관한 정보를 하나 이상의 사용자 단말들(120, 140, 160)로 전송할 수 있다. 이후, 전자 장치(100)는 하나 이상의 패키지들에 관한 정보에 기초하여 선택된 패키지에 관한 정보를 하나 이상의 사용자 단말들(120, 140, 160)로부터 획득하고, 선택된 패키지에 관한 상세 정보를 하나 이상의 사용자 단말들(120, 140, 160)로 전송할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 서비스에 관한 검색 키워드를 하나 이상의 사용자 단말들(120, 140, 160)로부터 획득하고, 검색 키워드에 대응하는 하나 이상의 서비스들에 관한 정보를 하나 이상의 사용자 단말들(120, 140, 160)로 전송할 수 있다. 이후, 전자 장치(100)는 하나 이상의 서비스들에 관한 정보에 기초하여 선택된 서비스에 관한 정보를 하나 이상의 사용자 단말들(120, 140, 160)로부터 획득하고, 선택된 서비스 제공 시 사용되는 패키지에 관한 정보를 하나 이상의 사용자 단말들(120, 140, 160)로 전송할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 배포하고자 하는 패키지에 관한 정보를 하나 이상의 사용자 단말들(120, 140, 160)로부터 획득할 수 있다. 이후, 전자 장치(100)는 패키지의 버전이 가장 최근에 배포된 버전 또는 가장 최근에 서비스에 사용된 버전인지 여부 또는 패키지와 대응되는 기능을 수행하는 오픈 소스 패키지가 존재하는지 여부를 확인하고, 확인 결과를 하나 이상의 사용자 단말들(120, 140, 160)로 전송할 수 있다.
하나 이상의 사용자 단말들(120, 140, 160)은 사용자들 각각이 사용하는 단말로서, 사용자들은 각자의 사용자 단말(120, 140, 160)을 이용하여 네트워크(180)에 의해 제공되는 서비스에 접근할 수 있다. 예를 들어, 전자 장치(100)는 다양한 패키지를 검색하기 하기 위한 웹 페이지 또는 어플리케이션을 하나 이상의 사용자 단말들(120, 140, 160)에 제공할 수 있고, 사용자들은 각자의 사용자 단말(120, 140, 160)에 설치된 어플리케이션을 이용하여 다양한 패키지를 검색할 수 있다. 또한, 사용자들은 각자의 사용자 단말(120, 140, 160)을 이용하여 자신이 제작한 패키지를 배포할 수 있다.
하나 이상의 사용자 단말들(120, 140, 160)과 전자 장치(100)는 네트워크(180) 내에서 서로 통신할 수 있다. 네트워크(180)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하며, 도 1에 도시된 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다. 무선 통신은 예를 들어, 무선 랜(Wi-Fi), 블루투스, 블루투스 저 에너지(Bluetooth low energy), 지그비, WFD(Wi-Fi Direct), UWB(ultra wideband), 적외선 통신(IrDA, infrared Data Association), NFC(Near Field Communication) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
도 2는 일 실시 예에 따라 전자 장치(100)가 패키지를 관리하는 과정을 설명하기 위한 도면이다.
S205 단계에서, 사용자 단말(200)은 패키지에 관한 검색 키워드를 획득할 수 있다. 일 실시 예에 따르면, 사용자는 검색하고자 하는 패키지에 관한 키워드를 사용자 단말(200)의 디스플레이에 표시된 검색 창에 입력할 수 있다. 이와 관련해서는 도 3a를 참조하여 자세히 설명하기로 한다.
S210 단계에서, 사용자 단말(200)은 검색 키워드를 전자 장치(100)로 전송할 수 있다. 일 실시 예에 따르면, 사용자 단말(200)은 사용자가 입력한 검색 키워드를 전자 장치(100)로 전송할 수 있다.
S215 단계에서, 전자 장치(100)는 검색 키워드에 대응하는 하나 이상의 패키지들을 확인할 수 있다. 일 실시 예에 따르면, 전자 장치(100)는 검색 키워드에 기초하여, 검색 키워드와 동일한 이름을 가진 패키지 또는 검색 키워드를 포함하는 이름을 가진 패키지를 확인할 수 있다.
S220 단계에서, 전자 장치(100)는 하나 이상의 패키지들에 관한 정보를 사용자 단말(200)로 전송할 수 있다. 일 실시 예에 따르면, 전자 장치(100)는 검색 키워드와 동일한 이름을 가진 패키지 또는 검색 키워드를 포함하는 이름을 가진 패키지에 관한 정보를 사용자 단말(200)로 전송할 수 있다.
S225 단계에서, 사용자 단말(200)은 하나 이상의 패키지들 중 제1 패키지를 선택하는 입력을 획득할 수 있다. 일 실시 예에 따르면, 사용자 단말(200)은 하나 이상의 패키지들의 리스트를 디스플레이에 표시할 수 있고, 사용자가 하나 이상의 패키지들 중 제1 패키지를 선택하는 입력을 획득할 수 있다. 이와 관련해서는 도 3b를 참조하여 자세히 설명하기로 한다.
S230 단계에서, 사용자 단말(200)은 제1 패키지에 관한 정보를 전자 장치(100)로 전송할 수 있다. 일 실시 예에 따르면, 사용자 단말(200)은 사용자가 제1 패키지를 선택하는 입력을 획득한 후, 제1 패키지에 관한 정보를 전자 장치(100)로 전송할 수 있다
S235 단계에서, 전자 장치(100)는 제1 패키지에 관한 상세 정보를 사용자 단말(200)로 전송할 수 있다. 일 실시 예에 따르면, 전자 장치(100)는 제1 패키지의 사용 방법에 관한 정보, 제1 패키지의 업데이트 이력에 관한 정보, 제1 패키지의 설치 방법에 관한 정보, 제1 패키지의 사용 예시에 관한 정보, 제1 패키지가 사용되고 있는 서비스에 관한 정보, 제1 패키지가 오픈 소스 패키지인지 여부에 관한 정보, 제1 패키지의 버전에 관한 정보 및 제1 패키지의 사용 이력에 관한 정보 중 적어도 하나를 포함하는 제1 패키지에 관한 상세 정보를 사용자 단말(200)로 전송할 수 있다. 제1 패키지에 관한 상세 정보와 관련해서는 도 4a 내지 도 4h를 참조하여 자세히 설명하기로 한다.
S240 단계에서, 사용자 단말(200)은 제1 패키지를 설치하기 위한 입력을 획득할 수 있다. 일 실시 예에 따르면, 사용자 단말(200)은 제1 패키지에 관한 상세 정보를 디스플레이에 표시할 수 있다. 사용자는 제1 패키지에 관한 상세 정보 중 제1 패키지의 설치 방법에 관한 정보에 기초하여, 제1 패키지의 의존성(dependency)에 관한 정보를 입력한 후, 제1 패키지에 포함된 코드를 다운로드할 것을 입력할 수 있다. 예를 들어, 사용자는 제1 패키지의 의존성에 관한 정보를 pubspec.yaml 파일 내 의존성에 관한 항목에 추가한 후, flutter pub get을 실행할 수 있다. 이때, 사용자가 제1 패키지의 의존성에 관한 정보를 입력하기 위한 툴(tool)로서 flutterCLI 또는 GetX 등이 사용될 수 있으나, 이에 한정되는 것은 아니다.
S245 단계에서, 사용자 단말(200)은 제1 패키지를 설치하기 위한 요청을 전자 장치(100)로 전송할 수 있다. 일 실시 예에 따르면, 사용자 단말(200)은 제1 패키지에 포함된 코드에 관한 정보의 전송을 전자 장치(100)에 요청할 수 있다.
이때, 전자 장치(100)는 제1 패키지를 설치하기 위한 요청을 전송한 하나 이상의 사용자 단말들 각각의 식별자에 기초하여, 제1 패키지를 사용하는 부서를 확인할 수 있다. 또한, 하나 이상의 사용자 단말들이 전송한 풀 리퀘스트(pull request, PR) 등에 기초하여, 제1 패키지가 사용되고 있는 서비스의 도메인, 제1 패키지의 버전 중 가장 최근에 서비스에 사용된 버전 또는 제1 패키지의 오류 발생 이력 등을 확인할 수 있다.
S250 단계에서, 전자 장치(100)는 제1 패키지에 포함된 코드에 관한 정보를 사용자 단말(200)로 전송할 수 있다. 일 실시 예에 따르면, 전자 장치(100)는 제1 패키지에 포함된 모듈 및 모듈에 포함된 함수, 변수 또는 클래스 등의 코드를 사용자 단말(200)로 전송할 수 있다.
S255 단계에서, 사용자 단말(200)은 제1 패키지를 불러오기 위한 입력을 획득할 수 있다. 일 실시 예에 따르면, 사용자는 제1 패키지에 관한 상세 정보 중 제1 패키지의 설치 방법에 관한 정보에 기초하여, 제1 패키지를 불러오기 위한 정보를 입력한 후, 제1 패키지를 사용할 수 있다.
도 3a 내지 도 3b는 일 실시 예에 따라 전자 장치(100)가 제공하는 사용자 인터페이스(300)를 도시한다.
도 3a 내지 도 3b는 일 실시 예에 따른 패키지 관리 플랫폼의 사용자 인터페이스(300)를 도시한다. 예를 들어, 사용자가 설치하고자 하는 패키지에 관한 키워드를 검색 창(320)에 입력한 경우, 전자 장치(100)는 검색 키워드와 동일한 이름을 가진 패키지 또는 검색 키워드를 포함하는 이름을 가진 패키지들의 리스트를 사용자 인터페이스(300)를 통해 제공할 수 있다. 한편, 도 3a 내지 도 3b는 패키지 관리 플랫폼의 사용자 인터페이스(300)로서 웹 페이지를 도시하나, 본 개시의 사용자 인터페이스(300)는 다양한 형태로 구현될 수 있으며, 이에 한정되지 않는다.
일 실시 예에 따르면, 사용자 인터페이스(300)는 사용자가 검색하고자 하는 패키지를 입력하기 위한 검색 창(320)을 포함할 수 있다. 예를 들어, 사용자는 검색하고자 하는 패키지에 관한 키워드를 검색 창(320)에 입력한 후, 돋보기 아이콘(330)을 선택하여 키워드에 대응하는 패키지들에 관한 정보를 요청할 수 있다.
일 실시 예에 따르면, 사용자 인터페이스(300)는 특정 기준에 따른 설정된 수의 패키지들을 표시하기 위한 영역(340)을 포함할 수 있다. 예를 들어, 전자 장치(100)는 사용자들이 설치하는 빈도에 기초하여, 설치된 빈도가 높은 순서대로 설정된 수의 패키지들을 영역(340)에 표시할 수 있다. 또는, 전자 장치(100)는 패키지에 관한 사용자 평점에 기초하여, 평점이 높은 순서대로 설정된 수의 패키지들을 영역(340)에 표시할 수 있다. 다만, 영역(340)에 표시되는 패키지들을 결정하기 위한 기준은 전술한 바에 한정되지 않는다.
일 실시 예에 따르면, 사용자 인터페이스(300)는 검색 키워드에 대응하는 하나 이상의 패키지들을 표시하기 위한 영역(360)을 포함할 수 있다. 예를 들어, 전자 장치(100)는 사용자가 입력한 검색 키워드에 기초하여, 검색 키워드와 동일한 이름을 가지거나 검색 키워드를 포함하는 이름을 가진 하나 이상의 패키지들을 확인하고, 하나 이상의 패키지들에 관한 정보를 영역(360)에 표시할 수 있다. 이때, 하나 이상의 패키지들에 관한 정보는 하나 이상의 패키지들의 이름, 하나 이상의 패키지들의 버전에 관한 정보 또는 하나 이상의 패키지들이 지원하는 플랫폼에 관한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다.
도 3b를 참조하면, 전자 장치(100)는 검색 창(320)에 입력된 dart에 관한 정보를 획득한 후, dart를 포함하는 이름을 가진 dart:async 패키지, dart:cli 패키지, dart:ui 패키지, dartx 패키지 또는 dartz 패키지 등을 포함하는 패키지들을 확인할 수 있다. 이후, 전자 장치(100)는 dart:async 패키지, dart:cli 패키지, dart:ui 패키지, dartx 패키지 또는 dartz 패키지 등을 포함하는 패키지들에 관한 정보를 영역(360)에 표시할 수 있다.
도 4a 내지 도 4h는 일 실시 예에 따라 전자 장치(100)가 제공하는 사용자 인터페이스(400)를 도시한다.
도 4a 내지 도 4h는 일 실시 예에 따른 패키지 관리 플랫폼의 사용자 인터페이스(400)를 도시한다. 예를 들어, 사용자가 검색 키워드에 대응하는 하나 이상의 패키지들 중 제1 패키지를 선택한 경우, 전자 장치(100)는 제1 패키지에 관한 상세 정보를 사용자 인터페이스(400)를 통해 제공할 수 있다. 한편, 도 4a 내지 도 4h는 패키지 관리 플랫폼의 사용자 인터페이스(400)로서 웹 페이지를 도시하나, 본 개시의 사용자 인터페이스(400)는 다양한 형태로 구현될 수 있으며, 이에 한정되지 않는다.
일 실시 예에 따르면, 사용자 인터페이스(400)는 선택된 패키지를 사용할 수 있는 툴킷(software development kit, SDK)에 관한 정보를 표시하기 위한 영역(420)을 포함할 수 있다. 예를 들어, 전자 장치(100)는 제1 패키지를 사용할 수 있는 툴킷으로서 DART 및 FLUTTER를 영역(420)에 표시할 수 있다.
일 실시 예에 따르면, 사용자 인터페이스(400)는 선택된 패키지가 지원하는 플랫폼에 관한 정보를 표시하기 위한 영역(440)을 포함할 수 있는. 예를 들어, 전자 장치(100)는 제1 패키지가 지원하는 플랫폼으로서 ANDROID, IOS, LINUX, MACOS, WEB 및 WINDOWS를 영역(440)에 표시할 수 있다.
일 실시 예에 따르면, 사용자 인터페이스(400)는 선택된 패키지에 관한 상세 정보를 표시하기 위한 영역(480) 및 영역(480)에 표시될 상세 정보의 타입을 선택하기 위한 영역(460)을 포함할 수 있다. 예를 들어, 영역(460)은 영역(480)에 표시될 상세 정보의 타입을 선택하기 위한 아이콘으로서, Readme 아이콘, Changelog 아이콘, Installing 아이콘, Example 아이콘, Service 아이콘, OpenSource 아이콘, Versions 아이콘 및 History 아이콘을 포함할 수 있다. 이후, 전자 장치(100)는 영역(460)에 표시된 아이콘들 중 사용자가 선택한 아이콘에 관한 정보를 획득하고, 선택한 아이콘 대응하는 상세 정보를 영역(480)에 표시할 수 있다. 다만, 영역(460)에 표시된 아이콘의 이름, 아이콘의 수 및 아이콘에 대응하는 상세 정보의 타입은 일 실시 예에 불과하며, 전술한 바에 한정되는 것은 아니다.
도 4a를 참조하면, 사용자가 영역(460)에 표시된 아이콘들 중 Readme 아이콘을 선택한 경우, 전자 장치(100)는 일 실시 예에 따라 패키지의 사용 방법에 관한 정보를 영역(480)에 표시할 수 있다. 예를 들어, 사용자가 영역(460)에 표시된 아이콘들 중 Readme 아이콘을 선택한 경우, 전자 장치(100)는 제1 패키지에 관한 개요 및 제1 패키지 사용 시 주의 사항에 관한 내용을 영역(480)에 표시할 수 있다.
도 4b를 참조하면, 사용자가 영역(460)에 표시된 아이콘들 중 Changelog 아이콘을 선택한 경우, 전자 장치(100)는 일 실시 예에 따라 패키지의 업데이트 이력에 관한 정보를 영역(480)에 표시할 수 있다. 예를 들어, 사용자가 영역(460)에 표시된 아이콘들 중 Changelog 아이콘을 선택한 경우, 전자 장치(100)는 제1 패키지의 버전 이력 및 각 버전에 대응하는 업데이트된 내용을 영역(480)에 표시할 수 있다.
도 4c를 참조하면, 사용자가 영역(460)에 표시된 아이콘들 중 Installing 아이콘을 선택한 경우, 전자 장치(100)는 일 실시 예에 따라 패키지의 설치 방법에 관한 정보를 영역(480)에 표시할 수 있다. 이때, 패키지의 설치 방법에 관한 정보에 관한 정보는 패키지의 의존성에 관한 정보 및 패키지를 불러오기 위한 정보 중 적어도 하나를 포함할 수 있다.
예를 들어, 사용자가 영역(460)에 표시된 아이콘들 중 Installing 아이콘을 선택한 경우, 전자 장치(100)는 제1 패키지의 의존성에 관한 정보로서 dart: ^1.1.0를 영역(480)에 표시하고 및 제1 패키지를 불러오기 위한 정보로서 import 'package:dartx/dartx/dart' ;를 영역(480)에 표시할 수 있다.
도 4d를 참조하면, 사용자가 영역(460)에 표시된 아이콘들 중 Example 아이콘을 선택한 경우, 전자 장치(100)는 일 실시 예에 따라 패키지의 사용 예시에 관한 정보를 영역(480)에 표시할 수 있다. 예를 들어, 사용자가 영역(460)에 표시된 아이콘들 중 Example 아이콘을 선택한 경우, 전자 장치(100)는 제1 패키지에 포함된 코드의 일 예를 영역(480)에 도시할 수 있다.
도 4e를 참조하면, 사용자가 영역(460)에 표시된 아이콘들 중 Service 아이콘을 선택한 경우, 전자 장치(100)는 일 실시 예에 따라 패키지가 사용되고 있는 서비스에 관한 정보를 영역(480)에 표시할 수 있다. 이때, 패키지가 사용되고 있는 서비스에 관한 정보는 서비스의 도메인에 관한 정보, 서비스를 제공하는 부서에 관한 정보 및 서비스 제공 시 사용되는 데이터베이스에 관한 정보 중 적어도 하나를 포함할 수 있다.
예를 들어, 사용자가 영역(460)에 표시된 아이콘들 중 Service 아이콘을 선택한 경우, 전자 장치(100)는 제1 패키지가 Mobile Infra 팀에 의해 쿠팡 이츠의 상품 디테일 페이지(single/search detail page, SDP), 주문 페이지 및 결재 페이지의 서비스를 제공하기 위해 사용되고 있으며, 해당 서비스를 제공하기 위해 제1 데이터베이스가 사용되고 있다는 내용을 영역(480)에 표시할 수 있다. 또한, 전자 장치(100)는 제1 패키지가 International Expansion Product 팀에 의해 Light Speed의 주문 페이지, 카트 페이지, 결재 페이지, 상품 디테일 페이지 및 제품 리스트 페이지(product list page, PLP)의 서비스를 제공하기 위해 사용되고 있으며, 해당 서비스를 제공하기 위해 제3 데이터베이스가 사용되고 있다는 내용을 영역(480)에 표시할 수 있다. 전자 장치(100)는 제1 패키지가 QA(quality assurance) Infrastructure 팀에 의해 쿠팡 플레이의 서비스를 제공하기 위해 사용되고 있으며, 해당 서비스를 제공하기 위해 제2 데이터베이스가 사용되고 있다는 내용을 영역(480)에 표시할 수 있다. 다만, 패키지가 사용될 수 있는 서비스의 도메인 및 부서는 전술한 바에 한정되지 않는다.
도 4f를 참조하면, 사용자가 영역(460)에 표시된 아이콘들 중 OpenSource 아이콘을 선택한 경우, 전자 장치(100)는 일 실시 예에 따라 패키지가 오픈 소스 패키지인지 여부에 관한 정보를 영역(480)에 표시할 수 있다. 예를 들어, 사용자가 영역(460)에 표시된 아이콘들 중 OpenSource 아이콘을 선택한 경우, 전자 장치(100)는 제1 패키지가 오픈 소스 패키지임을 영역(480)에 표시할 수 있다. 또는, 제1 패키지가 오픈 소스 패키지가 아니 경우, 전자 장치(100)는 제1 패키지에 포함된 코드가 저장되어 있는 주소를 영역(480)에 표시할 수 있다.
도 4g를 참조하면, 사용자가 영역(460)에 표시된 아이콘들 중 Versions 아이콘을 선택한 경우, 전자 장치(100)는 일 실시 예에 따라 패키지의 버전에 관한 정보를 영역(480)에 표시할 수 있다. 이때, 패키지의 버전에 관한 정보는 패키지의 버전 중 가장 최근에 배포된(published) 버전에 관한 정보 및 패키지의 버전 중 가장 최근에 서비스에 사용된 버전에 관한 정보 중 적어도 하나를 포함할 수 있다.
예를 들어, 사용자가 영역(460)에 표시된 아이콘들 중 Versions 아이콘을 아이콘을 선택한 경우, 전자 장치(100)는 제1 패키지의 버전 중 가장 최근에 배포된 버전이 0.2임을 영역(480)에 표시할 수 있다. 또한, 전자 장치(100)는 제1 패키지의 버전 중 가장 최근에 서비스에 사용된 버전이 0.12이고, 해당 버전의 제1 패키지가 쿠팡 이츠, Light Speed 및 쿠팡 플레이 서비스에 사용되었음을 영역(480)에 표시할 수 있다.
도 4h를 참조하면, 사용자가 영역(460)에 표시된 아이콘들 중 History 아이콘을 선택한 경우, 전자 장치(100)는 일 실시 예에 따라 패키지의 사용 이력에 관한 정보를 영역(480)에 표시할 수 있다. 이때, 패키지의 사용 이력에 관한 정보는 패키지가 사용된 서비스에 관한 정보 및 패키지의 오류 발생 이력에 관한 정보 중 적어도 하나를 포함할 수 있다.
예를 들어, 사용자가 영역(460)에 표시된 아이콘들 중 History 아이콘을 선택한 경우, 전자 장치(100)는 0.11 버전의 제1 패키지가 쿠팡 이츠 및 Light Speed 서비스에 사용되었고, 0.12 버전의 제1 패키지가 쿠팡 이츠, Light Speed 및 쿠팡 플레이 서비스에 사용되었음을 영역(480)에 표시할 수 있다. 또한, 전자 장치(100)는 0.10 버전의 제1 패키지가 쿠팡 이츠 및 Light Speed 서비스에 사용되는데 실패하였고, 0.11 버전의 제1 패키지가 쿠팡 플레이 서비스에 사용되는데 실패하였음을 영역(480)에 표시할 수 있다. 한편, 도 4h에 도시되지 않았지만, 전자 장치(100)는 제1 패키지의 특정 버전이 특정 서비스에 사용되는데 실패하였던 원인을 영역(480)에 함께 표시할 수 있다.
도 5는 일 실시 예에 따라 전자 장치(100)가 패키지를 관리하는 과정을 설명하기 위한 도면이다.
S510 단계에서, 사용자 단말(500)은 서비스에 관한 검색 키워드를 획득할 수 있다. 일 실시 예에 따르면, 사용자는 검색하고자 하는 서비스에 관한 키워드를 사용자 단말(500)의 디스플레이에 표시된 검색 창에 입력할 수 있다. 이때, 서비스에 관한 키워드는 서비스의 도메인에 관한 키워드 및 서비스를 제공하는 부서에 관한 키워드 중 적어도 하나를 포함할 수 있다. 이와 관련해서는 도 6b 내지 도 6c를 참조하여 자세히 설명하기로 한다.
S520 단계에서, 사용자 단말(500)은 검색 키워드를 전자 장치(100)로 전송할 수 있다. 일 실시 예에 따르면, 사용자 단말(500)은 사용자가 입력한 검색 키워드를 전자 장치(100)로 전송할 수 있다.
S530 단계에서, 전자 장치(100)는 검색 키워드에 대응하는 하나 이상의 서비스들을 확인할 수 있다. 일 실시 예에 따르면, 전자 장치(100)는 검색 키워드에 기초하여, 검색 키워드와 동일한 이름을 가진 서비스 또는 검색 키워드를 포함하는 이름을 가진 서비스를 확인할 수 있다.
S540 단계에서, 전자 장치(100)는 하나 이상의 서비스들에 관한 정보를 사용자 단말(500)로 전송할 수 있다. 일 실시 예에 따르면, 전자 장치(100)는 검색 키워드와 동일한 이름을 가진 서비스 또는 검색 키워드를 포함하는 이름을 가진 서비스에 관한 정보를 사용자 단말(500)로 전송할 수 있다.
S550 단계에서, 사용자 단말(500)은 하나 이상의 서비스들 중 제1 서비스를 선택하는 입력을 획득할 수 있다. 일 실시 예에 따르면, 사용자 단말(500)은 하나 이상의 서비스들의 리스트를 디스플레이에 표시할 수 있고, 사용자가 하나 이상의 서비스들 중 제1 서비스를 선택하는 입력을 획득할 수 있다.
S560 단계에서, 사용자 단말(500)은 제1 서비스에 관한 정보를 전자 장치(100)로 전송할 수 있다. 일 실시 예에 따르면, 사용자 단말(500)은 사용자가 제1 서비스를 선택하는 입력을 획득한 후, 제1 서비스에 관한 정보를 전자 장치(100)로 전송할 수 있다
S570 단계에서, 전자 장치(100)는 제1 서비스 제공 시 사용되는 적어도 하나의 패키지를 확인할 수 있다. 일 실시 예에 따르면, 전자 장치(100)는 하나 이상의 사용자 단말들이 전송한 풀 리퀘스트 등에 기초하여 복수의 패키지들 각각이 사용되는 서비스를 확인할 수 있고, 이에 기초하여 제1 서비스 제공 시 사용되는 적어도 하나의 패키지를 확인할 수 있다.
S580 단계에서, 전자 장치(100)는 적어도 하나의 패키지에 관한 정보를 사용자 단말(500)로 전송할 수 있다. 일 실시 예에 따르면, 전자 장치(100)는 적어도 하나의 패키지가 오픈 소스 패키지인지 여부에 관한 정보, 적어도 하나의 패키지의 버전에 관한 정보 및 적어도 하나의 패키지의 사용 이력에 관한 정보 중 적어도 하나를 포함하는, 적어도 하나의 패키지에 관한 정보를 사용자 단말(500)로 전송할 수 있다.
S590 단계에서, 사용자 단말(500)은 적어도 하나의 패키지 중 제1 패키지를 선택하는 사용자 입력을 획득할 수 있다. 일 실시 예에 따르면, 사용자 단말(500)은 적어도 하나의 패키지를 디스플레이에 표시할 수 있고, 사용자가 적어도 하나의 패키지 중 제1 패키지를 선택하는 입력을 획득할 수 있다. 이후, 사용자 단말(500)은 제1 패키지에 관한 정보를 전자 장치(100)로 전송하고, 제1 패키지에 관한 상세 정보를 전자 장치(100)로부터 획득할 수 있다.
한편, 도 5는 전자 장치(100)가 검색 키워드에 대응하는 하나 이상의 서비스들 중 사용자가 선택한 서비스에 관한 정보를 획득한 후, 선택된 서비스에 사용되는 패키지를 확인하고, 확인된 패키지에 관한 정보를 사용자 단말(500)로 전송하는 것으로 도시하지만, 본 개시는 이와 상이하게 구현될 수 있다. 예를 들어, 전자 장치(100)는 검색 키워드에 대응하는 하나 이상의 서비스들 확인한 후, 하나 이상의 서비스들 각각에 사용되는 패키지를 확인하고, 확인된 패키지에 관한 정보를 사용자 단말(500)로 전송할 수 있다.
도 6a 내지 도 6c는 일 실시 예에 따라 전자 장치(100)가 제공하는 사용자 인터페이스(600)를 도시한다.
도 6a 내지 도 6c는 일 실시 예에 따른 패키지 관리 플랫폼의 사용자 인터페이스(600)를 도시한다. 예를 들어, 사용자가 서비스에 관한 키워드를 검색 창(620)에 입력한 경우, 전자 장치(100)는 검색 키워드와 동일한 이름을 가진 서비스 또는 검색 키워드를 포함하는 이름을 가진 서비스들의 리스트를 사용자 인터페이스(600)를 통해 제공할 수 있다. 한편, 도 6a 내지 도 6c는 패키지 관리 플랫폼의 사용자 인터페이스(600)로서 웹 페이지를 도시하나, 본 개시의 사용자 인터페이스(600)는 다양한 형태로 구현될 수 있으며, 이에 한정되지 않는다.
일 실시 예에 따르면, 사용자 인터페이스(600)는 사용자가 검색하고자 하는 패키지를 입력하기 위한 검색 창(620)을 포함할 수 있다. 예를 들어, 사용자는 서비스에 관한 키워드를 검색 창(620)에 입력한 후, 돋보기 아이콘(630)을 선택하여 키워드에 대응하는 서비스들에 관한 정보를 요청할 수 있다.
일 실시 예에 따르면, 사용자 인터페이스(600)는 특정 기준에 따른 설정된 수의 패키지들을 표시하기 위한 영역(640)을 포함할 수 있다. 예를 들어, 전자 장치(100)는 사용자들이 검색한 빈도에 기초하여, 검색된 빈도가 높은 순서대로 설정된 수의 패키지들을 영역(640)에 표시할 수 있다. 또는, 전자 장치(100)는 패키지에 관한 사용자 평점에 기초하여, 평점이 높은 순서대로 설정된 수의 패키지들을 영역(640)에 표시할 수 있다. 다만, 영역(640)에 표시되는 패키지들을 결정하기 위한 기준은 전술한 바에 한정되지 않는다.
일 실시 예에 따르면, 사용자 인터페이스(600)는 검색 키워드에 대응하는 하나 이상의 서비스들을 표시하기 위한 영역(660)을 포함할 수 있다. 예를 들어, 전자 장치(100)는 사용자가 입력한 검색 키워드에 기초하여, 검색 키워드와 동일한 이름을 가지거나 검색 키워드를 포함하는 이름을 가진 하나 이상의 서비스들을 확인하고, 하나 이상의 서비스들에 관한 정보를 영역(660)에 표시할 수 있다. 이때, 하나 이상의 서비스들에 관한 정보는 하나 이상의 서비스들의 이름 또는 하나 이상의 서비스들 제공 시 사용되는 패키지에 관한 정보 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
도 6b를 참조하면, 전자 장치(100)는 검색 창(620)에 입력된 checkout에 관한 정보를 획득한 후, checkout을 포함하는 이름을 가진 쿠팡 이츠의 Checkout 서비스, 쿠팡 플레이의 Checkout 서비스 또는 Light Speed의 Checkout 서비스 등을 포함하는 서비스들을 확인할 수 있다. 이후, 전자 장치(100)는 쿠팡 이츠의 Checkout 서비스, 쿠팡 플레이의 Checkout 서비스 또는 Light Speed의 Checkout 서비스 등을 포함하는 서비스들의 이름을 영역(660)에 표시할 수 있다.
또한, 전자 장치(100)는 쿠팡 이츠의 Checkout 서비스, 쿠팡 플레이의 Checkout 서비스 또는 Light Speed의 Checkout 서비스 등을 포함하는 서비스들을 제공할 때 사용되는 적어도 하나의 패키지를 확인하고, 확인된 패키지에 관한 정보를 영역(660)에 표시할 수 있다. 예를 들어, 전자 장치(100)는 쿠팡 이츠의 Checkout 서비스 제공 시, 제1 패키지, 제2 패키지, 제4 패키지, 제5 패키지 및 제6 패키지가 사용됨을 영역(660)에 표시할 수 있다.
도 6c를 참조하면, 전자 장치(100)는 검색 창(620)에 입력된 Infra에 관한 정보를 획득한 후, Infra를 포함하는 이름을 가진 Mobile Infra 부서 또는 QA Infrastructure 부서 등을 포함하는 부서들을 확인할 수 있다. 이후, 전자 장치(100)는 Mobile Infra 부서 또는 QA Infrastructure 부서 등을 포함하는 부서들의 이름을 영역(660)에 표시할 수 있다.
또한, 전자 장치(100)는 Mobile Infra 부서 또는 QA Infrastructure 부서 등을 포함하는 부서에서 사용하는 적어도 하나의 패키지를 확인하고, 확인된 패키지에 관한 정보를 영역(660)에 표시할 수 있다. 예를 들어, 전자 장치(100)는 Mobile Infra 부서가 제1 패키지, 제2 패키지, 제4 패키지 및 제5 패키지 등을 포함하는 패키지들을 사용하고 있음을 영역(660)에 표시할 수 있다.
도 7은 일 실시 예에 따라 전자 장치(100)가 패키지를 관리하는 과정을 설명하기 위한 도면이다.
S710 단계에서, 사용자 단말(700)은 패키지에 관한 정보를 획득할 수 있다. 일 실시 예에 따르면, 사용자는 배포하고자 하는 패키지에 포함된 코드를 사용자 단말(700)에 입력할 수 있다.
S720 단계에서, 사용자 단말(700)은 패키지의 유효성을 검사할 수 있다. 일 실시 예에 따르면, 사용자 단말(700)은 사용자 입력한 패키지에 포함된 코드가 로컬 파일 규칙을 준수하는지 여부를 확인할 수 있다.
S730 단계에서, 사용자 단말(700)은 패키지에 관한 정보를 전자 장치(100)로 전송할 수 있다. 일 실시 예에 따르면, 사용자 단말(700)은 사용자 입력한 패키지에 포함된 코드를 전자 장치(100)로 전송할 수 있다.
S740 단계에서, 전자 장치(100)는 패키지의 버전이 가장 최근에 배포된 버전 또는 가장 최근에 서비스에 사용된 버전인지 여부를 확인할 수 있다. 또는, 전자 장치(100)는 패키지와 대응되는 기능을 수행하는 오픈 소스 패키지가 존재하는지 여부를 확인할 수 있다.
S750 단계에서, 전자 장치(100)는 확인 결과를 사용자 단말(700)로 전송할 수 있다. 일 실시 예에 따르면, 전자 장치(100)는 패키지의 버전이 가장 최근에 배포된 버전 또는 가장 최근에 서비스에 사용된 버전인지 여부 또는 패키지와 대응되는 기능을 수행하는 오픈 소스 패키지가 존재하는지 여부에 대한 확인 결과를 사용자 단말(700)로 전송할 수 있다.
S760 단계에서, 사용자 단말(700)은 패키지에 관한 상세 정보를 획득할 수 있다. 일 실시 예에 따르면, 사용자 단말(700)은 패키지의 사용 방법에 관한 정보, 패키지의 설치 방법에 관한 정보 및 패키지의 사용 예시에 관한 정보 중 적어도 하나를 포함하는 패키지에 관한 상세 정보에 관한 사용자 입력을 획득할 수 있다.
S770 단계에서, 사용자 단말(700)은 패키지를 배포하고자 하는 사용자 입력을 획득할 수 있다. 일 실시 예에 따르면, 사용자 단말(700)은 패키지에 관한 상세 정보를 획득하고, 패키지를 배포하기 위한 코드에 관한 사용자 입력을 획득할 수 있다. 예를 들어, 사용자는 배포하고자 하는 패키지에 포함된 코드 및 패키지에 관한 상세 정보를 입력한 후, flutter pub publish를 실행할 수 있다.
S780 단계에서, 사용자 단말(700)은 패키지 배포 요청 및 패키지에 관한 상세 정보를 전자 장치(100)로 전송할 수 있다. 일 실시 예에 따르면, 사용자 단말(700)은 패키지를 배포하고자 하는 사용자 입력을 획득한 후, 패키지 배포 요청 및 패키지에 관한 상세 정보를 전자 장치(100)로 전송할 수 있다.
S790 단계에서, 전자 장치(100)는 패키지에 관한 정보를 저장하고, 패키지에 관한 상세 정보를 업로드할 수 있다. 일 실시 예에 따르면, 전자 장치(100)는 패키지에 포함된 코드에 관한 정보를 저장소(repository)에 저장하고, 패키지에 관한 상세 정보를 패키지 관리 플랫폼에 업로드할 수 있다.
도 8은 일 실시 예에 따른 전자 장치의 패키지 관리 방법의 흐름도를 나타낸다. 중복되는 내용에 대해서는 전술한 기재가 적용될 수 있다.
S800 단계에서, 전자 장치는 패키지에 관한 제1 검색 키워드를 제1 사용자 단말로부터 획득할 수 있다.
S820 단계에서, 전자 장치는 제1 검색 키워드에 대응하는 하나 이상의 패키지들을 확인할 수 있다.
S840 단계에서, 전자 장치는 하나 이상의 패키지들에 관한 정보를 제1 사용자 단말로 전송할 수 있다.
S860 단계에서, 전자 장치는 하나 이상의 패키지들에 관한 정보에 기초하여 선택된 제1 패키지에 관한 정보를 제1 사용자 단말로부터 획득할 수 있다.
S880 단계에서, 전자 장치는 제1 패키지에 관한 상세 정보를 제1 사용자 단말로 전송할 수 있다.
일 실시 예에 따르면, 제1 패키지에 관한 상세 정보는, 제1 패키지의 사용 방법에 관한 정보, 제1 패키지의 업데이트 이력에 관한 정보, 제1 패키지의 설치 방법에 관한 정보, 제1 패키지의 사용 예시에 관한 정보, 제1 패키지가 사용되고 있는 서비스에 관한 정보, 제1 패키지가 오픈 소스 패키지인지 여부에 관한 정보, 제1 패키지의 버전에 관한 정보 및 제1 패키지의 사용 이력에 관한 정보 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 제1 패키지의 설치 방법에 관한 정보는, 제1 패키지의 의존성(dependency)에 관한 정보 및 제1 패키지를 불러오기 위한 정보 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 제1 패키지가 사용되고 있는 서비스에 관한 정보는, 서비스의 도메인에 관한 정보, 서비스를 제공하는 부서에 관한 정보 및 서비스 제공 시 사용되는 데이터베이스에 관한 정보 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 제1 패키지가 오픈 소스 패키지인지 여부에 관한 정보는, 제1 패키지가 오픈 소스 패키지가 아닌 경우, 제1 패키지에 포함된 코드가 저장되어 있는 주소에 관한 정보를 포함할 수 있다.
일 실시 예에 따르면, 1 패키지의 버전에 관한 정보는, 제1 패키지의 버전 중 가장 최근에 배포된(published) 버전에 관한 정보 및 제1 패키지의 버전 중 가장 최근에 서비스에 사용된 버전에 관한 정보 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 제1 패키지의 사용 이력에 관한 정보는, 제1 패키지가 사용된 서비스에 관한 정보 및 제1 패키지의 오류 발생 이력에 관한 정보 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 패키지 관리 방법은, 제1 패키지를 설치하기 위한 요청을 제1 사용자 단말로부터 획득하는 단계 및 제1 패키지에 포함된 코드에 관한 정보를 제1 사용자 단말로 전송하는 단계를 더 포함할 수 있다.
일 실시 예에 따르면, 패키지 관리 방법은, 서비스에 관한 제2 검색 키워드를 제2 사용자 단말로부터 획득하는 단계, 제2 검색 키워드에 대응하는 하나 이상의 서비스들을 확인하는 단계, 하나 이상의 서비스들에 관한 정보를 제2 사용자 단말로 전송하는 단계, 하나 이상의 서비스들 중 하나의 서비스를 선택하는 사용자 입력을 제2 사용자 단말로부터 획득하는 단계 및 선택된 서비스 제공 시 사용되는 제2 패키지에 관한 정보를 제2 사용자 단말로 전송하는 단계를 더 포함할 수 있다.
일 실시 예에 따르면, 제2 패키지에 관한 정보는, 제2 패키지가 오픈 소스 패키지인지 여부에 관한 정보, 제2 패키지의 버전에 관한 정보 및 제2 패키지의 사용 이력에 관한 정보 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 제2 검색 키워드는, 서비스의 도메인에 관한 검색 키워드 및 서비스를 제공하는 부서에 관한 검색 키워드 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 패키지 관리 방법은, 배포하고자 하는 제3 패키지의 관한 정보를 제3 사용자 단말로부터 획득하는 단계, 제3 패키지의 버전이 가장 최근에 배포된 버전 또는 가장 최근에 서비스에 사용된 버전인지 여부를 확인하는 단계 및 확인 결과를 제3 사용자 단말로 전송하는 단계를 더 포함할 수 있다.
일 실시 예에 따르면, 패키지 관리 방법은, 배포하고자 하는 제3 패키지의 관한 정보를 제3 사용자 단말로부터 획득하는 단계, 제3 패키지와 대응되는 기능을 수행하는 오픈 소스 패키지가 존재하는지 여부를 확인하는 단계 및 확인 결과를 제3 사용자 단말로 전송하는 단계를 더 포함할 수 있다.
도 9는 일 실시 예에 따른 전자 장치(100)의 블록도를 나타낸다.
전자 장치(100)는 일 실시 예에 따라, 통신부(communication device)(920), 메모리(940) 및 제어부(controller)(960)를 포함할 수 있다. 도 9에 도시된 전자 장치(100)는 본 실시 예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 9에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 전자 장치(100)는 전술한 서버에 관한 내용을 포함할 수 있는 바, 중복되는 내용에 대해서는 설명을 생략한다. 실시 예에서 통신부는 하나 이상의 트랜시버(transceiver)를 포함할 수 있다. 또한, 실시 예에서 제어부는 하나 이상의 프로세서(processor)를 포함할 수 있다.
통신부(920)는 유/무선 통신을 수행하기 위한 장치로서, 외부의 전자 장치와 통신할 수 있다. 외부의 전자 장치는 단말 또는 서버가 될 수 있다. 또한, 통신부(920)가 이용하는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth??), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있을 수 있다.
제어부(960)는 전자 장치(100)의 전반의 동작을 제어하고 데이터 및 신호를 처리할 수 있다. 제어부(960)는 적어도 하나의 하드웨어 유닛으로 구성될 수 있다. 또한, 제어부(960)는 메모리(940)에 저장된 프로그램 코드를 실행하여 생성되는 하나 이상의 소프트웨어 모듈에 의해 동작할 수 있다. 제어부(960)는 프로세서 및 메모리를 포함할 수 있는 바, 프로세서는 메모리에 저장된 프로그램 코드를 실행하여 전자 장치(100)의 전반의 동작을 제어하고 데이터 및 신호를 처리할 수 있다. 또한 실시 예에서 제어부(960)는 적어도 하나의 프로세서를 포함할 수 있다.
제어부(960)는 패키지에 관한 제1 검색 키워드를 제1 사용자 단말로부터 획득하고, 제1 검색 키워드에 대응하는 하나 이상의 패키지들을 확인하며, 하나 이상의 패키지들에 관한 정보를 제1 사용자 단말로 전송할 수 있다. 제어부(960)는 하나 이상의 패키지들에 관한 정보에 기초하여 선택된 제1 패키지에 관한 정보를 제1 사용자 단말로부터 획득하고, 제1 패키지에 관한 상세 정보를 제1 사용자 단말로 전송할 수 있다.
전술한 실시 예들에 따른 전자 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-Access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독 가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
전술한 실시 예들은 일 예시일 뿐 후술하는 청구항들의 범위 내에서 다른 실시 예들이 구현될 수 있다.

Claims (15)

  1. 전자 장치의 패키지(package) 관리 방법에 있어서,
    패키지에 관한 제1 검색 키워드를 제1 사용자 단말로부터 획득하는 단계;
    상기 제1 검색 키워드에 대응하는 하나 이상의 패키지들을 확인하는 단계;
    상기 하나 이상의 패키지들에 관한 정보를 상기 제1 사용자 단말로 전송하는 단계;
    상기 하나 이상의 패키지들에 관한 정보에 기초하여 선택된 제1 패키지에 관한 정보를 상기 제1 사용자 단말로부터 획득하는 단계; 및
    상기 제1 패키지에 관한 상세 정보를 상기 제1 사용자 단말로 전송하는 단계를 포함하는, 패키지 관리 방법.
  2. 제1 항에 있어서, 상기 제1 패키지에 관한 상세 정보는,
    상기 제1 패키지의 사용 방법에 관한 정보;
    상기 제1 패키지의 업데이트 이력에 관한 정보;
    상기 제1 패키지의 설치 방법에 관한 정보;
    상기 제1 패키지의 사용 예시에 관한 정보;
    상기 제1 패키지가 사용되고 있는 서비스에 관한 정보;
    상기 제1 패키지가 오픈 소스 패키지인지 여부에 관한 정보;
    상기 제1 패키지의 버전에 관한 정보; 및
    상기 제1 패키지의 사용 이력에 관한 정보 중 적어도 하나를 포함하는, 패키지 관리 방법.
  3. 제2 항에 있어서, 상기 제1 패키지의 설치 방법에 관한 정보는,
    상기 제1 패키지의 의존성(dependency)에 관한 정보; 및
    상기 제1 패키지를 불러오기 위한 정보 중 적어도 하나를 포함하는, 패키지 관리 방법.
  4. 제2 항에 있어서, 상기 제1 패키지가 사용되고 있는 서비스에 관한 정보는,
    상기 서비스의 도메인에 관한 정보;
    상기 서비스를 제공하는 부서에 관한 정보; 및
    상기 서비스 제공 시 사용되는 데이터베이스에 관한 정보 중 적어도 하나를 포함하는, 패키지 관리 방법.
  5. 제2 항에 있어서, 상기 제1 패키지가 오픈 소스 패키지인지 여부에 관한 정보는,
    상기 제1 패키지가 오픈 소스 패키지가 아닌 경우, 상기 제1 패키지에 포함된 코드가 저장되어 있는 주소에 관한 정보를 포함하는, 패키지 관리 방법.
  6. 제2 항에 있어서, 상기 제1 패키지의 버전에 관한 정보는,
    상기 제1 패키지의 버전 중 가장 최근에 배포된(published) 버전에 관한 정보; 및
    상기 제1 패키지의 버전 중 가장 최근에 서비스에 사용된 버전에 관한 정보 중 적어도 하나를 포함하는, 패키지 관리 방법.
  7. 제2 항에 있어서, 상기 제1 패키지의 사용 이력에 관한 정보는,
    상기 제1 패키지가 사용된 서비스에 관한 정보; 및
    상기 제1 패키지의 오류 발생 이력에 관한 정보 중 적어도 하나를 포함하는, 패키지 관리 방법.
  8. 제1 항에 있어서, 상기 패키지 관리 방법은,
    상기 제1 패키지를 설치하기 위한 요청을 상기 제1 사용자 단말로부터 획득하는 단계; 및
    상기 제1 패키지에 포함된 코드에 관한 정보를 상기 제1 사용자 단말로 전송하는 단계를 더 포함하는, 패키지 관리 방법.
  9. 제1 항에 있어서, 상기 패키지 관리 방법은,
    서비스에 관한 제2 검색 키워드를 제2 사용자 단말로부터 획득하는 단계;
    상기 제2 검색 키워드에 대응하는 하나 이상의 서비스들을 확인하는 단계;
    상기 하나 이상의 서비스들에 관한 정보를 상기 제2 사용자 단말로 전송하는 단계;
    상기 하나 이상의 서비스들 중 하나의 서비스를 선택하는 사용자 입력을 상기 제2 사용자 단말로부터 획득하는 단계; 및
    상기 선택된 서비스 제공 시 사용되는 제2 패키지에 관한 정보를 상기 제2 사용자 단말로 전송하는 단계를 더 포함하는, 패키지 관리 방법.
  10. 제9 항에 있어서, 상기 제2 패키지에 관한 정보는,
    상기 제2 패키지가 오픈 소스 패키지인지 여부에 관한 정보;
    상기 제2 패키지의 버전에 관한 정보; 및
    상기 제2 패키지의 사용 이력에 관한 정보 중 적어도 하나를 포함하는, 패키지 관리 방법.
  11. 제9 항에 있어서, 상기 제2 검색 키워드는,
    서비스의 도메인에 관한 검색 키워드; 및
    서비스를 제공하는 부서에 관한 검색 키워드 중 적어도 하나를 포함하는, 패키지 관리 방법.
  12. 제1 항에 있어서, 상기 패키지 관리 방법은,
    배포하고자 하는 제3 패키지의 관한 정보를 제3 사용자 단말로부터 획득하는 단계;
    상기 제3 패키지의 버전이 가장 최근에 배포된 버전 또는 가장 최근에 서비스에 사용된 버전인지 여부를 확인하는 단계; 및
    상기 확인 결과를 상기 제3 사용자 단말로 전송하는 단계를 더 포함하는, 패키지 관리 장법.
  13. 제1 항에 있어서, 상기 패키지 관리 방법은,
    배포하고자 하는 제3 패키지의 관한 정보를 제3 사용자 단말로부터 획득하는 단계;
    상기 제3 패키지와 대응되는 기능을 수행하는 오픈 소스 패키지가 존재하는지 여부를 확인하는 단계; 및
    상기 확인 결과를 상기 제3 사용자 단말로 전송하는 단계를 더 포함하는, 패키지 관리 방법.
  14. 제1 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체.
  15. 전자 장치로서,
    통신부;
    메모리; 및
    제어부(controller)를 포함하고, 상기 제어부는,
    패키지에 관한 제1 검색 키워드를 제1 사용자 단말로부터 획득하고,
    상기 제1 검색 키워드에 대응하는 하나 이상의 패키지들을 확인하고,
    상기 하나 이상의 패키지들에 관한 정보를 상기 제1 사용자 단말로 전송하고,
    상기 하나 이상의 패키지들에 관한 정보에 기초하여 선택된 제1 패키지에 관한 정보를 상기 제1 사용자 단말로부터 획득하고,
    상기 제1 패키지에 관한 상세 정보를 상기 제1 사용자 단말로 전송하는, 전자 장치.
KR1020220091660A 2022-07-25 2022-07-25 전자 장치 및 그의 패키지 관리 방법 KR20240014205A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220091660A KR20240014205A (ko) 2022-07-25 2022-07-25 전자 장치 및 그의 패키지 관리 방법
PCT/KR2022/011449 WO2024025027A1 (ko) 2022-07-25 2022-08-03 전자 장치 및 그의 패키지 관리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220091660A KR20240014205A (ko) 2022-07-25 2022-07-25 전자 장치 및 그의 패키지 관리 방법

Publications (1)

Publication Number Publication Date
KR20240014205A true KR20240014205A (ko) 2024-02-01

Family

ID=89706893

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220091660A KR20240014205A (ko) 2022-07-25 2022-07-25 전자 장치 및 그의 패키지 관리 방법

Country Status (2)

Country Link
KR (1) KR20240014205A (ko)
WO (1) WO2024025027A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090030149A (ko) * 2007-09-19 2009-03-24 한국전자통신연구원 개인화된 동적 크라우드소싱 서비스 제공 시스템 및 방법
KR101995260B1 (ko) * 2012-04-30 2019-07-02 삼성전자 주식회사 앱 서비스 제공 방법 및 시스템
KR101648046B1 (ko) * 2014-11-10 2016-08-16 엘에스웨어(주) 오픈소스 소프트웨어 추천 시스템 및 방법
KR101853555B1 (ko) * 2016-09-01 2018-04-30 박상욱 Sw 시장 정보 서비스 시스템
KR20180100974A (ko) * 2017-03-03 2018-09-12 엄대용 온라인 콘텐츠 검색 및 관리 시스템

Also Published As

Publication number Publication date
WO2024025027A1 (ko) 2024-02-01

Similar Documents

Publication Publication Date Title
US11762634B2 (en) Systems and methods for seamlessly integrating multiple products by using a common visual modeler
EP2954407B1 (en) Managing applications on a client device
KR102251597B1 (ko) 애플리케이션간 통신을 통한 작업 완료 기법
US10409576B2 (en) Chained data processing and application utilization
US9098314B2 (en) Systems and methods for web based application modeling and generation
US20150356001A1 (en) Unit test automation for business rules and applications
US11138645B2 (en) Virtualized services discovery and recommendation engine
EP3823234A1 (en) System and method for management of policies and user data during application access sessions
US20140344058A1 (en) Systems and methods for distributed marketing automation
Gröger et al. A mobile dashboard for analytics-based information provisioning on the shop floor
KR20200091080A (ko) 공유 사무실에 관한 서비스를 제공하는 방법
Bytes et al. Towards semantic sensitive feature profiling of IoT devices
JP2013045279A (ja) アプリケーション評価情報掲示システム、及びアプリケーション検索サーバ
KR20240014205A (ko) 전자 장치 및 그의 패키지 관리 방법
KR102614650B1 (ko) 전자 장치 및 그의 api 관리 방법
KR102616652B1 (ko) 전자 장치 및 그의 로그 데이터 관리 방법
KR102582031B1 (ko) 전자 장치 및 그의 정보 제공 방법
KR102653516B1 (ko) 데이터를 제공하는 방법 및 장치
KR20170020366A (ko) 구독자 정의 동적 이벤팅 기법
KR102620225B1 (ko) 서비스와 관련된 데이터를 관리하는 방법 및 전자 장치
KR102603433B1 (ko) 응용 프로그램을 안내하는 전자 장치 및 그 제어방법
EP3002665B1 (en) Communication device crawler
US9936063B2 (en) Rearranging display of mobile applications based on geolocation
KR20240079186A (ko) 전자 장치 및 그의 api 관리 방법
KR102344920B1 (ko) 전자 장치 및 그의 키워드 관리 방법