WO2024025027A1 - 전자 장치 및 그의 패키지 관리 방법 - Google Patents
전자 장치 및 그의 패키지 관리 방법 Download PDFInfo
- Publication number
- WO2024025027A1 WO2024025027A1 PCT/KR2022/011449 KR2022011449W WO2024025027A1 WO 2024025027 A1 WO2024025027 A1 WO 2024025027A1 KR 2022011449 W KR2022011449 W KR 2022011449W WO 2024025027 A1 WO2024025027 A1 WO 2024025027A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- package
- information
- user terminal
- service
- electronic device
- Prior art date
Links
- 238000007726 management method Methods 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 claims description 34
- 238000004891 communication Methods 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 14
- 238000012790 confirmation Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000009434 installation Methods 0.000 description 8
- 238000000275 quality assurance Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000011521 glass Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 238000000375 direct analysis in real time Methods 0.000 description 1
- 238000012063 dual-affinity re-targeting Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90332—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9038—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Definitions
- This disclosure relates to an electronic device that provides a package management platform and a control method thereof to enable users to more conveniently search for, install, or distribute packages.
- Flutter is widely used as a toolkit to create applications that can run on various platforms such as Android, iOS, Linux web, and Windows.
- packages such as Android, iOS, Linux web, and Windows.
- users can search for Flutter packages they want to install on their local devices and distribute their own Flutter packages.
- the disclosed embodiments seek to provide a method for managing an electronic device and its package. More specifically, the object is to provide an electronic device that provides a package management platform and a control method thereof to enable users to more conveniently search for, install, or distribute packages.
- One aspect of the present disclosure includes obtaining a first search keyword related to a package from a first user terminal; Confirming one or more packages corresponding to the first search keyword; transmitting information about the one or more packages to the first user terminal; Obtaining information about a first package selected based on the information about the one or more packages from the first user terminal; and transmitting detailed information about the first package to the first user terminal.
- detailed information about the first package includes information about how to use the first package; Information about the update history of the first package; Information on how to install the first package; Information about examples of use of the first package; Information about the service for which the first package is being used; Information regarding whether the first package is an open source package; Information about the version of the first package; A package management method can be provided, including at least one of information about the usage history of the first package.
- information about an installation method of the first package includes information about dependency of the first package;
- a package management method may be provided, including at least one of information for loading the first package.
- information about the service for which the first package is being used includes information about the domain of the service; Information about the department providing the above services; A package management method including at least one of information about a database used when providing the service can be provided.
- information regarding whether the first package is an open source package is provided at the address where the code included in the first package is stored, if the first package is not an open source package.
- a package management method including related information can be provided.
- the information about the version of the first package includes information about the most recently published version among the versions of the first package;
- a package management method including at least one of information about the most recently used version of the service among the versions of the first package can be provided.
- information about the usage history of the first package includes information about the service for which the first package was used;
- a package management method can be provided, including at least one of information about error occurrence history of the first package.
- the package management method includes obtaining a request to install the first package from the first user terminal; A package management method may be provided, further comprising transmitting information about the code included in the first package to the first user terminal.
- the package management method includes obtaining a second search keyword related to a service from a second user terminal; confirming one or more services corresponding to the second search keyword; transmitting information about the one or more services to the second user terminal; Obtaining a user input for selecting one of the one or more services from the second user terminal; A package management method may be provided, further comprising transmitting information about a second package used when providing the selected service to the second user terminal.
- the information about the second package includes information about whether the second package is an open source package; Information about the version of the second package; A package management method can be provided, including at least one of information about the usage history of the second package.
- the second search keyword is a search keyword related to the domain of the service; and a search keyword related to a department providing a service.
- the package management method includes obtaining information about a third package to be distributed from a third user terminal; Checking whether the version of the third package is the most recently distributed version or the most recently used version for the service; and transmitting the confirmation result to the third user terminal.
- the package management method includes obtaining information about a third package to be distributed from a third user terminal; Checking whether an open source package that performs a function corresponding to the third package exists; and transmitting the confirmation result to the third user terminal.
- Another aspect of the present disclosure includes a communication unit, a memory, and a controller, wherein the control unit obtains a first search keyword related to a package from a first user terminal, and selects one or more packages corresponding to the first search keyword. Confirm, transmit information about the one or more packages to the first user terminal, obtain information about the first package selected based on the information about the one or more packages from the first user terminal, and An electronic device that transmits detailed information about a first package to the first user terminal can be provided.
- Another aspect of the present disclosure may provide a computer-readable recording medium on which a program for implementing a method performed by an electronic device is recorded.
- users can provide information about the service, such as which service a specific package is being used for, which department the specific package is being used in, and which of the versions of the specific service is most recently used for the service.
- information about the service such as which service a specific package is being used for, which department the specific package is being used in, and which of the versions of the specific service is most recently used for the service.
- users are provided with information about the package used in the domain of the searched service or information about the package used by the searched department, so that they can search and manage packages more conveniently. can do.
- users can check whether an open source package that performs a function corresponding to the package produced by the user exists and whether the version of the package is the most recently distributed version or the most recently available service. By receiving information about the version used, you can search and manage packages more conveniently.
- FIG. 1 shows a system according to one embodiment.
- FIG. 2 is a diagram illustrating a process in which an electronic device manages a package according to an embodiment.
- 3A to 3B illustrate a user interface provided by an electronic device, according to an embodiment.
- 4A to 4H illustrate a user interface provided by an electronic device, according to an embodiment.
- FIG. 5 is a diagram illustrating a process in which an electronic device manages a package according to an embodiment.
- 6A to 6C illustrate a user interface provided by an electronic device, according to an embodiment.
- FIG. 7 is a diagram illustrating a process in which an electronic device manages a package according to an embodiment.
- Figure 8 shows a flowchart of a package management method for an electronic device according to an embodiment.
- Figure 9 shows a block diagram of an electronic device according to an embodiment.
- the “terminal” mentioned below may be implemented as a computer or portable terminal that can connect to a server or other terminal through a network.
- the computer includes, for example, a laptop, desktop, laptop, etc. equipped with a web browser
- the portable terminal is, for example, a wireless communication device that guarantees portability and mobility.
- all types of communication-based terminals such as IMT (International Mobile Telecommunication), CDMA (Code Division Multiple Access), W-CDMA (W-Code Division Multiple Access), and LTE (Long Term Evolution), smartphones, tablet PCs, etc. It may include a handheld-based wireless communication device.
- a package may represent a bundle of modules to perform a specific function, and a module may include code such as a function, variable, or class to implement a specific function. Meanwhile, a package may be used interchangeably with a library or framework, but is not limited thereto.
- FIG. 1 shows a system according to one embodiment.
- the system may include at least one of an electronic device 100, one or more user terminals 120, 140, and 160, and a network 180. Meanwhile, the system shown in FIG. 1 shows only components related to this embodiment. Accordingly, those skilled in the art can understand that other general-purpose components may be included in addition to the components shown in FIG. 1.
- the electronic device 100 is a device that configures and provides various information.
- the electronic device 100 may provide the configured information in the form of a web page or application screen, or may provide information in a form that can be displayed as a web page or application screen on the receiving terminal.
- the electronic device 100 obtains a search keyword related to a package from one or more user terminals 120, 140, and 160, and provides information about one or more packages corresponding to the search keyword to one or more users. It can be transmitted to terminals 120, 140, and 160. Thereafter, the electronic device 100 obtains information about the selected package from one or more user terminals 120, 140, and 160 based on the information about one or more packages, and sends detailed information about the selected package to one or more users. It can be transmitted to terminals 120, 140, and 160.
- the electronic device 100 obtains a search keyword related to a service from one or more user terminals 120, 140, and 160, and provides information about one or more services corresponding to the search keyword to one or more users. It can be transmitted to terminals 120, 140, and 160. Thereafter, the electronic device 100 obtains information about the selected service from one or more user terminals 120, 140, and 160 based on the information about one or more services, and information about the package used when providing the selected service. Can be transmitted to one or more user terminals (120, 140, 160).
- the electronic device 100 may obtain information about a package to be distributed from one or more user terminals 120, 140, and 160. Afterwards, the electronic device 100 checks whether the version of the package is the most recently distributed version or the version most recently used in the service, or whether an open source package that performs a function corresponding to the package exists. The results may be transmitted to one or more user terminals 120, 140, and 160.
- One or more user terminals 120, 140, and 160 are terminals used by each user, and the users can access services provided by the network 180 using their respective user terminals 120, 140, and 160. You can.
- the electronic device 100 may provide a web page or application for searching various packages to one or more user terminals 120, 140, and 160, and users may use their respective user terminals 120 and 140. , 160), you can search for various packages using the installed application. Additionally, users can distribute packages they have created using their respective user terminals 120, 140, and 160.
- the network 180 includes a local area network (LAN), a wide area network (WAN), a value added network (VAN), a mobile radio communication network, a satellite communication network, and their respective networks. It is a comprehensive data communication network that includes a combination and allows each network constituent shown in FIG. 1 to communicate smoothly with each other, and may include wired Internet, wireless Internet, and mobile wireless communication network.
- Wireless communications include, for example, wireless LAN (Wi-Fi), Bluetooth, Bluetooth low energy, ZigBee, WFD (Wi-Fi Direct), UWB (ultra wideband), and infrared communication (IrDA, infrared Data Association). ), NFC (Near Field Communication), etc., but are not limited thereto.
- FIG. 2 is a diagram illustrating a process in which the electronic device 100 manages a package according to an embodiment.
- the user terminal 200 may obtain a search keyword related to the package.
- a user may enter a keyword related to a package to be searched into a search window displayed on the display of the user terminal 200. This will be described in detail with reference to FIG. 3A.
- the user terminal 200 may transmit a search keyword to the electronic device 100.
- the user terminal 200 may transmit a search keyword entered by the user to the electronic device 100.
- the electronic device 100 may check one or more packages corresponding to the search keyword. According to one embodiment, based on the search keyword, the electronic device 100 may identify a package with the same name as the search keyword or a package with a name including the search keyword.
- the electronic device 100 may transmit information about one or more packages to the user terminal 200.
- the electronic device 100 may transmit information about a package with the same name as the search keyword or a package with a name including the search keyword to the user terminal 200.
- the user terminal 200 may obtain an input for selecting a first package among one or more packages.
- the user terminal 200 may display a list of one or more packages on the display and obtain an input for the user to select a first package among the one or more packages. This will be described in detail with reference to FIG. 3B.
- the user terminal 200 may transmit information about the first package to the electronic device 100.
- the user terminal 200 may obtain an input for the user to select the first package and then transmit information about the first package to the electronic device 100.
- the electronic device 100 may transmit detailed information about the first package to the user terminal 200.
- the electronic device 100 provides information about how to use the first package, information about the update history of the first package, information about how to install the first package, and information about examples of use of the first package.
- Information information about the service for which the first package is being used, information about whether the first package is an open source package, information about the version of the first package, and information about the usage history of the first package.
- Detailed information about the first package may be transmitted to the user terminal 200. Detailed information regarding the first package will be described in detail with reference to FIGS. 4A to 4H.
- the user terminal 200 may obtain an input for installing the first package.
- the user terminal 200 may display detailed information about the first package on the display.
- the user enters information about the dependency of the first package based on the information about the installation method of the first package among the detailed information about the first package, and then downloads the code included in the first package. You can enter it.
- the user can add information about the dependency of the first package to the dependency item in the pubspec.yaml file and then run flutter pub get.
- flutterCLI or GetX can be used as a tool for the user to input information about the dependency of the first package, but is not limited thereto.
- the user terminal 200 may transmit a request to install the first package to the electronic device 100.
- the user terminal 200 may request the electronic device 100 to transmit information about the code included in the first package.
- the electronic device 100 may identify the department using the first package based on the identifiers of each of one or more user terminals that transmitted a request to install the first package.
- the electronic device 100 may identify the department using the first package based on the identifiers of each of one or more user terminals that transmitted a request to install the first package.
- PR pull request
- the electronic device 100 may identify the department using the first package based on the identifiers of each of one or more user terminals that transmitted a request to install the first package.
- PR pull request
- the electronic device 100 may transmit information about the code included in the first package to the user terminal 200.
- the electronic device 100 may transmit a module included in the first package and codes such as functions, variables, or classes included in the module to the user terminal 200.
- step S255 the user terminal 200 may obtain an input for loading the first package.
- the user can use the first package after inputting information for loading the first package based on information about the installation method of the first package among detailed information about the first package.
- FIGS. 3A and 3B illustrate a user interface 300 provided by the electronic device 100 according to an embodiment.
- FIGS. 3A and 3B illustrate a user interface 300 of a package management platform according to one embodiment.
- the electronic device 100 displays a list of packages with the same name as the search keyword or a list of packages with a name including the search keyword. Can be provided through the user interface 300.
- FIGS. 3A and 3B illustrate a web page as the user interface 300 of the package management platform, but the user interface 300 of the present disclosure may be implemented in various forms, but is not limited thereto.
- the user interface 300 may include a search window 320 for the user to input a package to be searched.
- a user may input a keyword related to a package to be searched into the search window 320 and then select the magnifying glass icon 330 to request information about packages corresponding to the keyword.
- the user interface 300 may include an area 340 for displaying a set number of packages according to specific criteria.
- the electronic device 100 may display a set number of packages in the area 340 in order of increasing frequency of installation, based on the frequency of installation by users.
- the electronic device 100 may display a set number of packages in the area 340 in order of highest rating, based on the user rating for the package.
- the criteria for determining packages displayed in area 340 are not limited to the above.
- the user interface 300 may include an area 360 for displaying one or more packages corresponding to a search keyword. For example, based on the search keyword entered by the user, the electronic device 100 identifies one or more packages that have the same name as the search keyword or a name that includes the search keyword, and provides information about the one or more packages. can be displayed in area 360.
- the information about one or more packages may include, but is not limited to, the name of one or more packages, information about the versions of one or more packages, or information about platforms supported by one or more packages.
- the electronic device 100 obtains information about dart entered in the search window 320 and then searches for the dart:async package, dart:cli package, and dart:ui package with names including dart. , you can check packages that include the dartx package or dartz package. Thereafter, the electronic device 100 may display information about packages including the dart:async package, dart:cli package, dart:ui package, dartx package, or dartz package in area 360.
- FIGS. 4A to 4H illustrate a user interface 400 provided by the electronic device 100 according to an embodiment.
- FIGS. 4A to 4H illustrate a user interface 400 of a package management platform according to one embodiment.
- the electronic device 100 may provide detailed information about the first package through the user interface 400.
- FIGS. 4A to 4H illustrate a web page as the user interface 400 of the package management platform, but the user interface 400 of the present disclosure may be implemented in various forms, but is not limited thereto.
- the user interface 400 may include an area 420 for displaying information about a toolkit (software development kit, SDK) that can use the selected package.
- a toolkit software development kit, SDK
- the electronic device 100 may display DART and FLUTTER as toolkits that can use the first package in the area 420.
- the user interface 400 may include an area 440 for displaying information about the platform supported by the selected package.
- the electronic device 100 may display ANDROID, IOS, LINUX, MACOS, WEB, and WINDOWS as platforms supported by the first package in the area 440.
- the user interface 400 may include an area 480 for displaying detailed information about the selected package and an area 460 for selecting the type of detailed information to be displayed in the area 480.
- area 460 is an icon for selecting the type of detailed information to be displayed in area 480, including a Readme icon, Changelog icon, Installing icon, Example icon, Service icon, OpenSource icon, Versions icon, and History icon. may include.
- the electronic device 100 may obtain information about the icon selected by the user among the icons displayed in the area 460 and display detailed information corresponding to the selected icon in the area 480.
- the name of the icon displayed in the area 460, the number of icons, and the type of detailed information corresponding to the icon are only an example, and are not limited to the above.
- the electronic device 100 may display information on how to use the package in the area 480 according to one embodiment. there is. For example, when the user selects the Readme icon among the icons displayed in the area 460, the electronic device 100 displays an overview of the first package and information about precautions when using the first package in the area 480. It can be displayed.
- the electronic device 100 may display information about the update history of the package in the area 480 according to an embodiment. there is. For example, when the user selects the Changelog icon among the icons displayed in the area 460, the electronic device 100 displays the version history of the first package and updated contents corresponding to each version in the area 480. You can.
- the electronic device 100 may display information about the installation method of the package in the area 480 according to one embodiment.
- the information about the installation method of the package may include at least one of information about the dependency of the package and information for loading the package.
- the electronic device 100 displays dart: ⁇ 1.1.0 as information about the dependency of the first package in the area 480 and And import 'package:dartx/dartx/dart' ; may be displayed in the area 480 as information for loading the first package.
- the electronic device 100 may display information about an example of using the package in the area 480 according to an embodiment. there is. For example, when the user selects the Example icon among the icons displayed in the area 460, the electronic device 100 may display an example of the code included in the first package in the area 480.
- the electronic device 100 displays information about the service for which the package is being used in the area 480 according to an embodiment. You can.
- the information about the service for which the package is being used may include at least one of information about the domain of the service, information about the department providing the service, and information about the database used when providing the service.
- the electronic device 100 displays the first package as Coupang Eats' product detail page (single/search detail page, SDP) by the Mobile Infra team. ), is being used to provide the services of the order page and payment page, and the content that the first database is being used to provide the service can be displayed in the area 480.
- the electronic device 100 is used to provide the services of the order page, cart page, payment page, product detail page, and product list page (PLP) of Light Speed by the International Expansion Product team. It is being used, and information that a third database is being used to provide the corresponding service can be displayed in area 480.
- the electronic device 100 displays in area 480 that the first package is being used by the QA (quality assurance) Infrastructure team to provide the Coupang Play service and that the second database is being used to provide the service. can do.
- the domains and departments of services in which the package can be used are not limited to the foregoing.
- the electronic device 100 displays information about whether the package is an open source package in the area 480 according to an embodiment. It can be displayed. For example, when the user selects an OpenSource icon among icons displayed in area 460, the electronic device 100 may display in area 480 that the first package is an open source package. Alternatively, if the first package is not an open source package, the electronic device 100 may display the address where the code included in the first package is stored in the area 480.
- the electronic device 100 may display information about the version of the package in the area 480, according to an embodiment.
- the information about the version of the package may include at least one of information about the most recently published version among the versions of the package and information about the version most recently used in the service among the versions of the package.
- the electronic device 100 displays in the area 480 that the most recently distributed version among the versions of the first package is 0.2. can do.
- the electronic device 100 displays in area 480 that the version of the first package most recently used for the service is 0.12, and that the first package of the corresponding version was used for the Coupang Eats, Light Speed, and Coupang Play services. It can be displayed.
- the electronic device 100 may display information about the usage history of the package in the area 480 according to an embodiment.
- the information about the usage history of the package may include at least one of information about the service for which the package was used and information about the error occurrence history of the package.
- the electronic device 100 uses version 0.11 of the first package for Coupang Eats and Light Speed services, and version 0.12 of the first package. It can be displayed in area 480 that it has been used for Coupang Eats, Light Speed, and Coupang Play services. In addition, the electronic device 100 displays in the area 480 that the 0.10 version of the first package failed to be used for the Coupang Eats and Light Speed services, and the 0.11 version of the first package failed to be used for the Coupang Play service. You can. Meanwhile, although not shown in FIG. 4H, the electronic device 100 may display the reason why a specific version of the first package failed to be used for a specific service in area 480.
- FIG. 5 is a diagram illustrating a process by which the electronic device 100 manages a package according to an embodiment.
- the user terminal 500 may obtain a search keyword related to the service.
- a user may enter a keyword related to a service to be searched into a search window displayed on the display of the user terminal 500.
- the keyword related to the service may include at least one of a keyword related to the domain of the service and a keyword related to the department providing the service. This will be described in detail with reference to FIGS. 6B to 6C.
- the user terminal 500 may transmit a search keyword to the electronic device 100.
- the user terminal 500 may transmit a search keyword entered by the user to the electronic device 100.
- the electronic device 100 may check one or more services corresponding to the search keyword. According to one embodiment, based on the search keyword, the electronic device 100 may identify a service with the same name as the search keyword or a service with a name including the search keyword.
- the electronic device 100 may transmit information about one or more services to the user terminal 500.
- the electronic device 100 may transmit information about a service with the same name as the search keyword or a service with a name including the search keyword to the user terminal 500.
- the user terminal 500 may obtain an input for selecting a first service among one or more services.
- the user terminal 500 may display a list of one or more services on the display and obtain an input for the user to select a first service among the one or more services.
- the user terminal 500 may transmit information about the first service to the electronic device 100.
- the user terminal 500 may transmit information about the first service to the electronic device 100 after obtaining an input for the user to select the first service.
- the electronic device 100 may check at least one package used when providing the first service.
- the electronic device 100 may check the service used by each of the plurality of packages based on a pull request transmitted by one or more user terminals, and based on this, at least one service used when providing the first service. You can check the package.
- the electronic device 100 may transmit information about at least one package to the user terminal 500.
- the electronic device 100 includes at least one of information about whether at least one package is an open source package, information about the version of at least one package, and information about the usage history of at least one package. Information about at least one package, including the package, may be transmitted to the user terminal 500.
- the user terminal 500 may obtain a user input for selecting a first package among at least one package.
- the user terminal 500 may display at least one package on the display and obtain an input for the user to select a first package among the at least one package. Thereafter, the user terminal 500 may transmit information about the first package to the electronic device 100 and obtain detailed information about the first package from the electronic device 100.
- FIG. 5 shows the electronic device 100 obtaining information about a service selected by the user among one or more services corresponding to a search keyword, confirming the package used for the selected service, and providing information about the confirmed package.
- the electronic device 100 may check one or more services corresponding to a search keyword, check a package used for each of the one or more services, and transmit information about the confirmed package to the user terminal 500. there is.
- FIGS. 6A to 6C illustrate a user interface 600 provided by the electronic device 100 according to an embodiment.
- FIGS. 6A to 6C illustrate a user interface 600 of a package management platform according to one embodiment.
- the electronic device 100 displays a list of services with the same name as the search keyword or a list of services with a name including the search keyword in the user interface. It can be provided through (600).
- FIGS. 6A to 6C illustrate a web page as the user interface 600 of the package management platform, but the user interface 600 of the present disclosure may be implemented in various forms, but is not limited thereto.
- the user interface 600 may include a search window 620 for the user to input a package to be searched. For example, a user may enter a keyword related to a service into the search window 620 and then select the magnifying glass icon 630 to request information about services corresponding to the keyword.
- the user interface 600 may include an area 640 for displaying a set number of packages according to specific criteria. For example, based on the frequency with which users search, the electronic device 100 may display a set number of packages in the area 640 in descending order of search frequency. Alternatively, the electronic device 100 may display a set number of packages in the area 640 in order of highest rating, based on the user rating for the package.
- the criteria for determining packages displayed in area 640 are not limited to the above.
- the user interface 600 may include an area 660 for displaying one or more services corresponding to a search keyword. For example, based on the search keyword entered by the user, the electronic device 100 identifies one or more services that have the same name as the search keyword or a name that includes the search keyword, and provides information about the one or more services. can be displayed in area 660. At this time, the information about one or more services may include, but is not limited to, the name of one or more services or information about a package used when providing one or more services.
- the electronic device 100 obtains information about the checkout entered in the search window 620 and then uses Coupang Eats' Checkout service, Coupang Play's Checkout service, or Light Speed with a name including checkout. You can check services including Checkout service. Thereafter, the electronic device 100 may display the names of services including Coupang Eats' Checkout service, Coupang Play's Checkout service, or Light Speed's Checkout service in area 660.
- the electronic device 100 verifies at least one package used when providing services including Coupang Eats' Checkout service, Coupang Play's Checkout service, or Light Speed's Checkout service, and provides information about the confirmed package. can be displayed in area 660.
- the electronic device 100 may display in area 660 that the first package, second package, fourth package, fifth package, and sixth package are used when providing Coupang Eats' checkout service.
- the electronic device 100 obtains information about Infra entered in the search window 620 and then checks departments including the Mobile Infra department or the QA Infrastructure department with names including Infra. You can. Thereafter, the electronic device 100 may display the names of departments including the Mobile Infrastructure department or the QA Infrastructure department in the area 660.
- the electronic device 100 may check at least one package used by a department including the Mobile Infrastructure department or the QA Infrastructure department, and display information about the confirmed package in the area 660. For example, the electronic device 100 may display in area 660 that the Mobile Infrastructure department is using packages including the first package, second package, fourth package, and fifth package.
- FIG. 7 is a diagram illustrating a process in which the electronic device 100 manages a package according to an embodiment.
- the user terminal 700 may obtain information about the package. According to one embodiment, the user may input the code included in the package to be distributed into the user terminal 700.
- the user terminal 700 may check the validity of the package. According to one embodiment, the user terminal 700 may check whether the code included in the package entered by the user complies with the local file rules.
- the user terminal 700 may transmit information about the package to the electronic device 100.
- the user terminal 700 may transmit a code included in a package input by the user to the electronic device 100.
- the electronic device 100 may check whether the version of the package is the most recently distributed version or the most recently used version for the service. Alternatively, the electronic device 100 may check whether an open source package that performs a function corresponding to the package exists.
- the electronic device 100 may transmit the confirmation result to the user terminal 700.
- the electronic device 100 determines whether the version of the package is the most recently distributed version or the version most recently used in the service, or whether an open source package that performs a function corresponding to the package exists.
- the confirmation result may be transmitted to the user terminal 700.
- the user terminal 700 may obtain detailed information about the package.
- the user terminal 700 inputs user input about detailed information about the package, including at least one of information about how to use the package, information about how to install the package, and information about examples of use of the package. can be obtained.
- the user terminal 700 may obtain a user input for distributing a package.
- the user terminal 700 may obtain detailed information about the package and obtain user input about a code for distributing the package. For example, a user can run flutter pub publish after entering detailed information about the code and package included in the package they want to distribute.
- the user terminal 700 may transmit a package distribution request and detailed information about the package to the electronic device 100.
- the user terminal 700 may obtain a user input for distributing a package and then transmit a package distribution request and detailed information about the package to the electronic device 100.
- the electronic device 100 may store information about the package and upload detailed information about the package. According to one embodiment, the electronic device 100 may store information about code included in a package in a repository and upload detailed information about the package to a package management platform.
- Figure 8 shows a flowchart of a package management method for an electronic device according to an embodiment. The foregoing description may apply to overlapping content.
- step S800 the electronic device may obtain a first search keyword related to the package from the first user terminal.
- step S820 the electronic device may check one or more packages corresponding to the first search keyword.
- step S840 the electronic device may transmit information about one or more packages to the first user terminal.
- step S860 the electronic device may obtain information about the first package selected based on information about one or more packages from the first user terminal.
- step S880 the electronic device may transmit detailed information about the first package to the first user terminal.
- detailed information about the first package includes information about how to use the first package, information about the update history of the first package, information about how to install the first package, and use of the first package. At least one of information about examples, information about the service for which the first package is being used, information about whether the first package is an open source package, information about the version of the first package, and information about the usage history of the first package. may include.
- the information about the installation method of the first package may include at least one of information about the dependency of the first package and information for loading the first package.
- the information about the service for which the first package is being used may include at least one of information about the domain of the service, information about the department providing the service, and information about the database used when providing the service. there is.
- the information about whether the first package is an open source package may include information about the address where the code included in the first package is stored if the first package is not an open source package. there is.
- the information about the version of package 1 includes information about the most recently published version among the versions of the first package and information about the version most recently used in the service among the versions of the first package. It may contain at least one piece of information.
- the information about the usage history of the first package may include at least one of information about the service for which the first package was used and information about the error occurrence history of the first package.
- the package management method further includes obtaining a request for installing a first package from a first user terminal and transmitting information about the code included in the first package to the first user terminal. It can be included.
- the package management method includes obtaining a second search keyword related to a service from a second user terminal, confirming one or more services corresponding to the second search keyword, and providing information about one or more services. transmitting to a second user terminal, obtaining a user input for selecting one service from one or more services from the second user terminal, and providing information about the second package used when providing the selected service to the second user terminal. It may further include the step of transmitting to .
- the information about the second package includes at least one of information about whether the second package is an open source package, information about the version of the second package, and information about the usage history of the second package. can do.
- the second search keyword may include at least one of a search keyword related to the domain of the service and a search keyword related to a department providing the service.
- the package management method includes obtaining information about a third package to be distributed from a third user terminal, the version of the third package being the most recently distributed version or the most recently used version for the service. It may further include checking whether the version is the same and transmitting the confirmation result to a third user terminal.
- the package management method includes obtaining information about a third package to be distributed from a third user terminal, and checking whether an open source package that performs a function corresponding to the third package exists. It may further include transmitting the steps and confirmation results to a third user terminal.
- FIG. 9 shows a block diagram of an electronic device 100 according to an embodiment.
- the electronic device 100 may include a communication device 920, a memory 940, and a controller 960.
- the electronic device 100 shown in FIG. 9 shows only components related to this embodiment. Accordingly, those skilled in the art can understand that other general-purpose components may be included in addition to the components shown in FIG. 9. Since the electronic device 100 may include content related to the above-described server, description of overlapping content will be omitted.
- the communication unit may include one or more transceivers.
- the control unit may include one or more processors.
- the communication unit 920 is a device for performing wired/wireless communication and can communicate with external electronic devices.
- the external electronic device may be a terminal or server.
- communication technologies used by the communication unit 920 include Global System for Mobile communication (GSM), Code Division Multi Access (CDMA), Long Term Evolution (LTE), 5G, Wireless LAN (WLAN), and Wireless-Fidelity (Wi-Fi). ), Bluetooth, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), ZigBee, NFC (Near Field Communication), etc.
- the control unit 960 can control the overall operation of the electronic device 100 and process data and signals.
- the control unit 960 may be composed of at least one hardware unit. Additionally, the control unit 960 may operate by one or more software modules generated by executing program codes stored in the memory 940.
- the control unit 960 may include a processor and a memory, and the processor may execute program codes stored in the memory to control the overall operation of the electronic device 100 and process data and signals. Additionally, in an embodiment, the control unit 960 may include at least one processor.
- the control unit 960 may obtain a first search keyword for a package from the first user terminal, check one or more packages corresponding to the first search keyword, and transmit information about the one or more packages to the first user terminal. there is.
- the control unit 960 may obtain information about the first package selected based on information about one or more packages from the first user terminal, and transmit detailed information about the first package to the first user terminal.
- Electronic devices include a processor, memory for storing and executing program data, permanent storage such as a disk drive, a communication port for communicating with an external device, a touch panel, keys, buttons, etc. It may include the same user interface device, etc.
- Methods implemented as software modules or algorithms may be stored on a computer-readable recording medium as computer-readable codes or program instructions executable on the processor.
- computer-readable recording media include magnetic storage media (e.g., ROM (read-only memory), RAM (random-access memory), floppy disk, hard disk, etc.) and optical read media (e.g., CD-ROM). ), DVD (Digital Versatile Disc), etc.
- the computer-readable recording medium is distributed among computer systems connected to a network, so that computer-readable code can be stored and executed in a distributed manner.
- the media may be readable by a computer, stored in memory, and executed by a processor.
- This embodiment can be represented by functional block configurations and various processing steps. These functional blocks may be implemented in various numbers of hardware or/and software configurations that execute specific functions. For example, embodiments include integrated circuit configurations such as memory, processing, logic, look-up tables, etc. that can execute various functions under the control of one or more microprocessors or other control devices. can be hired. Similar to how the components can be implemented as software programming or software elements, the present embodiments include various algorithms implemented as combinations of data structures, processes, routines or other programming constructs, such as C, C++, Java ( It can be implemented in a programming or scripting language such as Java), assembler, etc. Functional aspects may be implemented as algorithms running on one or more processors.
- this embodiment may employ conventional technologies for electronic environment settings, signal processing, and/or data processing.
- Terms such as “mechanism,” “element,” “means,” and “configuration” may be used broadly and are not limited to mechanical and physical configurations. The term may include the meaning of a series of software routines in connection with a processor, etc.
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)
- Computer Security & Cryptography (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Information Transfer Between Computers (AREA)
- Telephone Function (AREA)
Abstract
전자 장치의 패키지 관리 방법이 제공된다. 패키지 관리 방법은 패키지에 관한 제1 검색 키워드를 제1 사용자 단말로부터 획득하는 단계; 제1 검색 키워드에 대응하는 하나 이상의 패키지들을 확인하는 단계; 하나 이상의 패키지들에 관한 정보를 제1 사용자 단말로 전송하는 단계; 하나 이상의 패키지들에 관한 정보에 기초하여 선택된 제1 패키지에 관한 정보를 제1 사용자 단말로부터 획득하는 단계; 및 제1 패키지에 관한 상세 정보를 제1 사용자 단말로 전송하는 단계를 포함할 수 있다.
Description
본 개시는 사용자가 보다 편리하게 패키지를 검색 및 설치하거나 배포할 수 있도록 하기 위한, 패키지 관리 플랫폼을 제공하는 전자 장치 및 그 제어 방법에 관한 것이다.
안드로이드, 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)
- 전자 장치의 패키지(package) 관리 방법에 있어서,패키지에 관한 제1 검색 키워드를 제1 사용자 단말로부터 획득하는 단계;상기 제1 검색 키워드에 대응하는 하나 이상의 패키지들을 확인하는 단계;상기 하나 이상의 패키지들에 관한 정보를 상기 제1 사용자 단말로 전송하는 단계;상기 하나 이상의 패키지들에 관한 정보에 기초하여 선택된 제1 패키지에 관한 정보를 상기 제1 사용자 단말로부터 획득하는 단계; 및상기 제1 패키지에 관한 상세 정보를 상기 제1 사용자 단말로 전송하는 단계를 포함하는, 패키지 관리 방법.
- 제1 항에 있어서, 상기 제1 패키지에 관한 상세 정보는,상기 제1 패키지의 사용 방법에 관한 정보;상기 제1 패키지의 업데이트 이력에 관한 정보;상기 제1 패키지의 설치 방법에 관한 정보;상기 제1 패키지의 사용 예시에 관한 정보;상기 제1 패키지가 사용되고 있는 서비스에 관한 정보;상기 제1 패키지가 오픈 소스 패키지인지 여부에 관한 정보;상기 제1 패키지의 버전에 관한 정보; 및상기 제1 패키지의 사용 이력에 관한 정보 중 적어도 하나를 포함하는, 패키지 관리 방법.
- 제2 항에 있어서, 상기 제1 패키지의 설치 방법에 관한 정보는,상기 제1 패키지의 의존성(dependency)에 관한 정보; 및상기 제1 패키지를 불러오기 위한 정보 중 적어도 하나를 포함하는, 패키지 관리 방법.
- 제2 항에 있어서, 상기 제1 패키지가 사용되고 있는 서비스에 관한 정보는,상기 서비스의 도메인에 관한 정보;상기 서비스를 제공하는 부서에 관한 정보; 및상기 서비스 제공 시 사용되는 데이터베이스에 관한 정보 중 적어도 하나를 포함하는, 패키지 관리 방법.
- 제2 항에 있어서, 상기 제1 패키지가 오픈 소스 패키지인지 여부에 관한 정보는,상기 제1 패키지가 오픈 소스 패키지가 아닌 경우, 상기 제1 패키지에 포함된 코드가 저장되어 있는 주소에 관한 정보를 포함하는, 패키지 관리 방법.
- 제2 항에 있어서, 상기 제1 패키지의 버전에 관한 정보는,상기 제1 패키지의 버전 중 가장 최근에 배포된(published) 버전에 관한 정보; 및상기 제1 패키지의 버전 중 가장 최근에 서비스에 사용된 버전에 관한 정보 중 적어도 하나를 포함하는, 패키지 관리 방법.
- 제2 항에 있어서, 상기 제1 패키지의 사용 이력에 관한 정보는,상기 제1 패키지가 사용된 서비스에 관한 정보; 및상기 제1 패키지의 오류 발생 이력에 관한 정보 중 적어도 하나를 포함하는, 패키지 관리 방법.
- 제1 항에 있어서, 상기 패키지 관리 방법은,상기 제1 패키지를 설치하기 위한 요청을 상기 제1 사용자 단말로부터 획득하는 단계; 및상기 제1 패키지에 포함된 코드에 관한 정보를 상기 제1 사용자 단말로 전송하는 단계를 더 포함하는, 패키지 관리 방법.
- 제1 항에 있어서, 상기 패키지 관리 방법은,서비스에 관한 제2 검색 키워드를 제2 사용자 단말로부터 획득하는 단계;상기 제2 검색 키워드에 대응하는 하나 이상의 서비스들을 확인하는 단계;상기 하나 이상의 서비스들에 관한 정보를 상기 제2 사용자 단말로 전송하는 단계;상기 하나 이상의 서비스들 중 하나의 서비스를 선택하는 사용자 입력을 상기 제2 사용자 단말로부터 획득하는 단계; 및상기 선택된 서비스 제공 시 사용되는 제2 패키지에 관한 정보를 상기 제2 사용자 단말로 전송하는 단계를 더 포함하는, 패키지 관리 방법.
- 제9 항에 있어서, 상기 제2 패키지에 관한 정보는,상기 제2 패키지가 오픈 소스 패키지인지 여부에 관한 정보;상기 제2 패키지의 버전에 관한 정보; 및상기 제2 패키지의 사용 이력에 관한 정보 중 적어도 하나를 포함하는, 패키지 관리 방법.
- 제9 항에 있어서, 상기 제2 검색 키워드는,서비스의 도메인에 관한 검색 키워드; 및서비스를 제공하는 부서에 관한 검색 키워드 중 적어도 하나를 포함하는, 패키지 관리 방법.
- 제1 항에 있어서, 상기 패키지 관리 방법은,배포하고자 하는 제3 패키지의 관한 정보를 제3 사용자 단말로부터 획득하는 단계;상기 제3 패키지의 버전이 가장 최근에 배포된 버전 또는 가장 최근에 서비스에 사용된 버전인지 여부를 확인하는 단계; 및상기 확인 결과를 상기 제3 사용자 단말로 전송하는 단계를 더 포함하는, 패키지 관리 장법.
- 제1 항에 있어서, 상기 패키지 관리 방법은,배포하고자 하는 제3 패키지의 관한 정보를 제3 사용자 단말로부터 획득하는 단계;상기 제3 패키지와 대응되는 기능을 수행하는 오픈 소스 패키지가 존재하는지 여부를 확인하는 단계; 및상기 확인 결과를 상기 제3 사용자 단말로 전송하는 단계를 더 포함하는, 패키지 관리 방법.
- 제1 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체.
- 전자 장치로서,통신부;메모리; 및제어부(controller)를 포함하고, 상기 제어부는,패키지에 관한 제1 검색 키워드를 제1 사용자 단말로부터 획득하고,상기 제1 검색 키워드에 대응하는 하나 이상의 패키지들을 확인하고,상기 하나 이상의 패키지들에 관한 정보를 상기 제1 사용자 단말로 전송하고,상기 하나 이상의 패키지들에 관한 정보에 기초하여 선택된 제1 패키지에 관한 정보를 상기 제1 사용자 단말로부터 획득하고,상기 제1 패키지에 관한 상세 정보를 상기 제1 사용자 단말로 전송하는, 전자 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0091660 | 2022-07-25 | ||
KR1020220091660A KR102713469B1 (ko) | 2022-07-25 | 전자 장치 및 그의 패키지 관리 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024025027A1 true WO2024025027A1 (ko) | 2024-02-01 |
Family
ID=89706893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2022/011449 WO2024025027A1 (ko) | 2022-07-25 | 2022-08-03 | 전자 장치 및 그의 패키지 관리 방법 |
Country Status (2)
Country | Link |
---|---|
TW (1) | TW202420069A (ko) |
WO (1) | WO2024025027A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090030149A (ko) * | 2007-09-19 | 2009-03-24 | 한국전자통신연구원 | 개인화된 동적 크라우드소싱 서비스 제공 시스템 및 방법 |
KR101648046B1 (ko) * | 2014-11-10 | 2016-08-16 | 엘에스웨어(주) | 오픈소스 소프트웨어 추천 시스템 및 방법 |
KR20180025674A (ko) * | 2016-09-01 | 2018-03-09 | 박상욱 | Sw 시장 정보 서비스 시스템 |
KR20180100974A (ko) * | 2017-03-03 | 2018-09-12 | 엄대용 | 온라인 콘텐츠 검색 및 관리 시스템 |
KR101995260B1 (ko) * | 2012-04-30 | 2019-07-02 | 삼성전자 주식회사 | 앱 서비스 제공 방법 및 시스템 |
-
2022
- 2022-08-03 WO PCT/KR2022/011449 patent/WO2024025027A1/ko unknown
-
2023
- 2023-07-17 TW TW112126477A patent/TW202420069A/zh unknown
Patent Citations (5)
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 | 엘에스웨어(주) | 오픈소스 소프트웨어 추천 시스템 및 방법 |
KR20180025674A (ko) * | 2016-09-01 | 2018-03-09 | 박상욱 | Sw 시장 정보 서비스 시스템 |
KR20180100974A (ko) * | 2017-03-03 | 2018-09-12 | 엄대용 | 온라인 콘텐츠 검색 및 관리 시스템 |
Also Published As
Publication number | Publication date |
---|---|
KR20240014205A (ko) | 2024-02-01 |
TW202420069A (zh) | 2024-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016013811A1 (en) | Subscriber identification module management method and electronic device supporting the same | |
WO2014069755A1 (ko) | 컨텐츠 추천 서비스 제공 시스템 및 방법 | |
WO2011099808A2 (en) | Method and apparatus for providing a user interface | |
WO2014175630A1 (en) | Apparatus and method for notifying of security information in electronic device and computer-readable recording medium for the same | |
WO2022085834A1 (ko) | 상담원 지원 방법 및 그 연산 장치 | |
WO2022186418A1 (ko) | 상품의 브랜드 정보를 제공하는 방법 및 이를 위한 전자 장치 | |
WO2021003956A1 (zh) | 产品信息的管理方法、装置、设备及存储介质 | |
WO2023008626A1 (ko) | 사용자 계정의 존재 여부에 기초하여 정보를 제공하는 전자 장치 및 그 방법 | |
WO2024144297A1 (ko) | 디지털 기반 에이전트 소스코드 삽입을 통한 서비스 제공 방법 및 서버, 및 에이전트 서버 | |
WO2024025027A1 (ko) | 전자 장치 및 그의 패키지 관리 방법 | |
WO2021118001A1 (ko) | 전자 장치 및 그의 동작 방법 | |
JP2013045279A (ja) | アプリケーション評価情報掲示システム、及びアプリケーション検索サーバ | |
WO2016093631A1 (en) | Terminal apparatus and method for search contents | |
WO2020013579A1 (en) | Method and device for retrieving content | |
WO2022145572A1 (ko) | 예상 결과값을 토대로 정보를 제공하는 방법 및 이를 이용한 연산 장치 | |
WO2018110840A1 (ko) | 전자 장치 및 그의 알림 서비스 제공 방법 | |
WO2014104579A1 (en) | Method for controlling file name and electronic device thereof | |
WO2021201344A1 (ko) | 통합 사용 로그 데이터를 생성하는 서버 및 그 동작 방법 | |
WO2021194195A1 (en) | Electronic device and method for controlling the electronic device | |
WO2023210850A1 (ko) | 전자 장치 및 그의 동작 방법 | |
WO2024128401A1 (ko) | 전자 장치 및 그의 정보 제공 방법 | |
WO2023210849A1 (ko) | 전자 장치 및 그의 동작 방법 | |
WO2022177053A1 (ko) | 아이템에 관한 정보를 제공하는 방법 및 전자 장치 | |
WO2024058297A1 (ko) | 전자 장치 및 그의 정보 관리 방법 | |
WO2022215791A1 (ko) | 전자 장치 및 그의 키워드 관리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22953252 Country of ref document: EP Kind code of ref document: A1 |