KR102616785B1 - Electronic apparatus and providing inforation method thereof - Google Patents

Electronic apparatus and providing inforation method thereof Download PDF

Info

Publication number
KR102616785B1
KR102616785B1 KR1020220173957A KR20220173957A KR102616785B1 KR 102616785 B1 KR102616785 B1 KR 102616785B1 KR 1020220173957 A KR1020220173957 A KR 1020220173957A KR 20220173957 A KR20220173957 A KR 20220173957A KR 102616785 B1 KR102616785 B1 KR 102616785B1
Authority
KR
South Korea
Prior art keywords
information
modules
module
dependency
electronic device
Prior art date
Application number
KR1020220173957A
Other languages
Korean (ko)
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 KR1020220173957A priority Critical patent/KR102616785B1/en
Priority to PCT/KR2023/001531 priority patent/WO2024128401A1/en
Priority to KR1020230184714A priority patent/KR20240088629A/en
Application granted granted Critical
Publication of KR102616785B1 publication Critical patent/KR102616785B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

전자 장치의 정보 제공 방법이 제공된다. 정보 제공 방법은 애플리케이션에 포함된 하나 이상의 레이어(layer)들에 관한 제1 정보 및 상기 하나 이상의 레이어들 각각에 대응하는 하나 이상의 모듈들의 퍼블릭(public) 파트 및 프라이빗(private) 파트에 관한 제2 정보를 확인하는 단계; 상기 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인하는 단계; 상기 제1 정보, 상기 제2 정보 및 상기 제3 정보에 기초하여, 상기 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하는 단계; 및 상기 의존성 규칙의 준수 여부에 관한 정보를 제공하는 단계를 포함할 수 있다.A method of providing information by an electronic device is provided. The information provision method includes first information about one or more layers included in an application and second information about the public part and private part of one or more modules corresponding to each of the one or more layers. Confirming; confirming third information about a dependency relationship between the one or more modules; based on the first information, the second information, and the third information, checking whether dependency rules are observed for the one or more modules; and providing information regarding compliance with the dependency rule.

Description

전자 장치 및 그의 정보 제공 방법{ELECTRONIC APPARATUS AND PROVIDING INFORATION METHOD THEREOF}Electronic device and its information providing method {ELECTRONIC APPARATUS AND PROVIDING INFORATION METHOD THEREOF}

본 개시는 애플리케이션에 포함된 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하고, 의존성 규칙을 준수하지 않는 모듈 및 모듈이 준수하지 않은 규칙에 관한 정보를 사용자에게 제공하기 위한 전자 장치 및 그 제어 방법에 관한 것이다.The present disclosure provides an electronic device and the same for determining whether a dependency rule is observed for one or more modules included in an application and providing information to a user regarding a module that does not comply with the dependency rule and a rule that the module does not comply with. It's about control methods.

인터넷의 사용 및 모바일 단말의 보급이 보편화됨에 따라, 사용자들은 애플리케이션을 통하여 다양한 서비스를 제공받을 수 있게 되었다. 사용자가 요구하는 서비스의 수준 및 정보의 양이 점차 증가하고 있으며, 사용자의 요구에 맞춰, 보다 다양한 기능들 각각을 수행하기 위한 함수 및 관련 데이터를 하나의 모듈로 묶는 모듈화(modularization)가 애플리케이션에 도입되었다.As the use of the Internet and the spread of mobile terminals become widespread, users can receive various services through applications. The level of service and amount of information required by users are gradually increasing, and modularization, which bundles functions and related data to perform various functions into one module to meet user needs, has been introduced into applications. It has been done.

그러나, 애플리케이션에 포함된 모듈들의 수가 많아질수록 모듈들 간의 의존 관계가 보다 복잡해지고, 그에 따라 고차원 모듈이 저차원 모듈에 의존하고 저차원 모듈이 다시 고차원 모듈에 의존하는 의존성 부패(dependency rot) 등과 같은 에러가 발생할 수 있다는 문제점이 존재한다.However, as the number of modules included in an application increases, the dependency relationship between modules becomes more complex, resulting in dependency rot, where high-level modules depend on low-level modules and low-level modules depend on high-level modules, etc. There is a problem that the same error may occur.

관련하여, KR 10-2015-0079887 A1 건 등의 선행문헌들을 참조할 수 있다.In relation to this, prior literature such as KR 10-2015-0079887 A1 may be referred to.

개시된 실시 예들은 전자 장치 및 그의 정보 관리 방법을 제공하고자 한다. 보다 구체적으로는, 애플리케이션에 포함된 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하고, 의존성 규칙을 준수하지 않는 모듈 및 모듈이 준수하지 않은 규칙에 관한 정보를 사용자에게 제공하기 위한 전자 장치 및 그 제어 방법을 제공하는 것을 목적으로 한다.The disclosed embodiments seek to provide an electronic device and a method for managing its information. More specifically, an electronic device for checking whether dependency rules are observed for one or more modules included in an application and providing information to the user regarding modules that do not comply with the dependency rules and the rules that the modules do not comply with. The purpose is to provide and a control method thereof.

본 실시 예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시 예들로부터 또 다른 기술적 과제들이 유추될 수 있다.The technical challenges that this embodiment aims to achieve are not limited to the technical challenges described above, and other technical challenges can be inferred from the following embodiments.

본 개시의 일 측면은 애플리케이션에 포함된 하나 이상의 레이어(layer)들에 관한 제1 정보 및 상기 하나 이상의 레이어들 각각에 대응하는 하나 이상의 모듈들의 퍼블릭(public) 파트 및 프라이빗(private) 파트에 관한 제2 정보를 확인하는 단계; 상기 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인하는 단계; 상기 제1 정보, 상기 제2 정보 및 상기 제3 정보에 기초하여, 상기 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하는 단계; 및 상기 의존성 규칙의 준수 여부에 관한 정보를 제공하는 단계를 포함하는, 정보 제공 방법을 제공할 수 있다.One aspect of the present disclosure is to provide first information about one or more layers included in an application and information about public parts and private parts of one or more modules corresponding to each of the one or more layers. 2 Confirming information; confirming third information about a dependency relationship between the one or more modules; based on the first information, the second information, and the third information, checking whether dependency rules are observed for the one or more modules; and providing information regarding compliance with the dependency rule.

또한, 본 개시의 일 실시 예에서 상기 의존성 규칙은, 상기 하나 이상의 모듈들 중 제1 모듈의 퍼블릭 파트 또는 상기 제1 모듈의 프라이빗 파트가 제2 모듈의 프라이빗 파트에 의존할 수 없다는 제1 규칙; 및 상기 하나 이상의 모듈들 중 하위 레이어에 포함된 제3 모듈이 상위 레이어에 포함된 제4 모듈에 의존할 수 없다는 제2 규칙을 포함하는, 정보 제공 방법을 제공할 수 있다.In addition, in one embodiment of the present disclosure, the dependency rule includes: a first rule that the public part of a first module or the private part of the first module among the one or more modules cannot depend on the private part of the second module; and a second rule that a third module included in a lower layer among the one or more modules cannot depend on a fourth module included in an upper layer.

또한, 본 개시의 일 실시 예에서 상기 하나 이상의 모듈들 중 제5 모듈의 퍼블릭 파트는 상기 제5 모듈에 관한 인터페이스 및 데이터 모델을 포함하고, 상기 제5 모듈의 프라이빗 파트는 상기 인터페이스의 하나 이상의 임플리멘테이션(implementation)을 포함하는, 정보 제공 방법을 제공할 수 있다.In addition, in an embodiment of the present disclosure, the public part of the fifth module among the one or more modules includes an interface and a data model related to the fifth module, and the private part of the fifth module includes one or more of the interfaces. A method of providing information, including implementation, may be provided.

또한, 본 개시의 일 실시 예에서 상기 애플리케이션이 배포될 때, 상기 하나 이상의 임플리멘테이션 중 상기 애플리케이션이 배포될 지역에 대응하는 임플리멘테이션이 구현되는, 정보 제공 방법을 제공할 수 있다.In addition, in one embodiment of the present disclosure, when the application is distributed, an implementation corresponding to a region in which the application is to be distributed among the one or more implementations is implemented.

또한, 본 개시의 일 실시 예에서 상기 의존성 규칙의 준수 여부에 관한 정보는, 상기 하나 이상의 모듈들 중 상기 의존성 규칙을 준수하지 않는 제6 모듈에 관한 정보; 및 상기 제6 모듈이 준수하지 않은 규칙에 관한 정보를 포함하는, 정보 제공 방법을 제공할 수 있다.Additionally, in one embodiment of the present disclosure, the information regarding compliance with the dependency rule may include information regarding a sixth module among the one or more modules that does not comply with the dependency rule; And it is possible to provide an information provision method including information about rules that the sixth module does not comply with.

또한, 본 개시의 일 실시 예에서 상기 정보 제공 방법은, 사용자 단말로부터 풀 리퀘스트(pull request)를 획득함에 따라 개시되는, 정보 제공 방법을 제공할 수 있다.Additionally, in one embodiment of the present disclosure, the information provision method may be initiated by obtaining a pull request from a user terminal.

또한, 본 개시의 일 실시 예에서 상기 하나 이상의 모듈들에 대한 의존성 규칙이 준수되지 않은 것으로 확인된 경우, 상기 풀 리퀘스트를 거절하도록 설정하는 정보를 생성하는 단계를 더 포함하는, 정보 제공 방법을 제공할 수 있다.In addition, in an embodiment of the present disclosure, if it is confirmed that the dependency rules for the one or more modules are not observed, an information providing method is provided, further comprising generating information to reject the pull request. can do.

또한, 본 개시의 일 실시 예에서 상기 제1 정보 및 상기 제2 정보를 확인하는 단계는, 레이어 설정 정보 및 모듈 설정 정보를 포함하는 상기 애플리케이션의 아키텍처 정보를 획득하는 단계; 상기 레이어 설정 정보에 기초하여 상기 제1 정보를 확인하고, 상기 모듈 설정 정보에 기초하여 상기 제2 정보를 확인하는 단계를 포함하는, 정보 제공 방법을 제공할 수 있다.Additionally, in one embodiment of the present disclosure, checking the first information and the second information includes obtaining architecture information of the application including layer setting information and module setting information; A method of providing information may be provided, including the step of confirming the first information based on the layer setting information and confirming the second information based on the module setting information.

또한, 본 개시의 일 실시 예에서 상기 제3 정보를 확인하는 단계는, 사용자 단말로부터 풀 리퀘스트를 획득하는 단계; 및 상기 풀 리퀘스트에 기초하여, 상기 제3 정보를 확인하는 단계를 포함하는, 정보 제공 방법을 제공할 수 있다.Additionally, in one embodiment of the present disclosure, confirming the third information includes obtaining a pull request from a user terminal; and confirming the third information based on the pull request.

또한, 본 개시의 일 실시 예에서 상기 정보 제공 방법은, 상기 하나 이상의 모듈들 간의 변경된 의존 관계에 관한 제4 정보를 확인하는 단계; 상기 제3 정보 및 상기 제4 정보에 기초하여, 상기 하나 이상의 모듈들 중 의존 관계가 변경된 적어도 하나의 모듈을 확인하는 단계; 상기 제1 정보, 상기 제2 정보 및 상기 제4 정보에 기초하여, 상기 적어도 하나의 모듈에 대하여 상기 의존성 규칙이 준수되는지 여부를 확인하는 단계를 더 포함하는, 정보 제공 방법을 제공할 수 있다.Additionally, in one embodiment of the present disclosure, the information providing method includes: confirming fourth information regarding a changed dependency relationship between the one or more modules; Based on the third information and the fourth information, confirming at least one module whose dependency relationship has changed among the one or more modules; A method of providing information may be provided, further comprising checking whether the dependency rule is observed for the at least one module based on the first information, the second information, and the fourth information.

또한, 본 개시의 일 실시 예에서 상기 정보 제공 방법은, 상기 애플리케이션이 배포될 지역에 관한 정보를 확인하는 단계; 상기 하나 이상의 모듈들의 프라이빗 파트에 포함된 하나 이상의 임플리멘테이션들 중 상기 애플리케이션이 배포될 지역에 대응하는 적어도 하나의 임플리멘테이션을 확인하는 단계; 및 상기 제1 정보, 상기 제2 정보 및 상기 제3 정보에 기초하여, 상기 적어도 하나의 임플리멘테이션에 대하여 상기 의존성 규칙이 준수되는지 여부를 확인하는 단계를 더 포함하는, 정보 제공 방법을 제공할 수 있다.Additionally, in one embodiment of the present disclosure, the information providing method includes: confirming information about a region where the application will be distributed; Confirming at least one implementation corresponding to a region in which the application is to be distributed among one or more implementations included in the private part of the one or more modules; and determining whether the dependency rule is observed for the at least one implementation based on the first information, the second information, and the third information. can do.

본 개시의 다른 측면은 통신부, 메모리 및 제어부(controller)를 포함하고, 상기 제어부는, 애플리케이션을 구성하는 하나 이상의 레이어(layer)들에 관한 제1 정보 및 상기 하나 이상의 레이어들 각각에 포함된 하나 이상의 모듈들의 퍼블릭(public) 파트 및 프라이빗(private) 파트에 관한 제2 정보를 확인하고, 상기 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인하고, 상기 제1 정보, 상기 제2 정보 및 상기 제3 정보에 기초하여, 상기 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하고, 상기 의존성 규칙의 준수 여부를 확인한 결과에 관한 정보를 제공하는, 전자 장치를 제공할 수 있다.Another aspect of the present disclosure includes a communication unit, a memory, and a controller, wherein the controller includes first information about one or more layers constituting an application and one or more layers included in each of the one or more layers. Confirm second information regarding public and private parts of modules, confirm third information regarding dependency relationships between the one or more modules, and determine the first information, the second information, and the An electronic device can be provided that checks whether a dependency rule is observed for the one or more modules based on third information and provides information regarding a result of checking whether the dependency rule is observed.

본 개시의 또 다른 측면은 전자 장치에 의해 수행되는 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체를 제공할 수 있다.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.

기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Specific details of other embodiments are included in the detailed description and drawings.

제안되는 실시 예에 따를 경우 다음과 같은 효과를 하나 혹은 그 이상 기대할 수 있다. If you follow the proposed embodiment, one or more of the following effects can be expected.

본 명세서의 실시 예에 의할 경우, 사용자는 자신이 작성한 하나 이상의 모듈들 간의 의존 관계에 관한 코드가 의존성 규칙을 준수하는지 여부를 보다 편리하게 확인할 수 있다. According to the embodiments of the present specification, users can more conveniently check whether the code regarding the dependency relationship between one or more modules written by the user complies with the dependency rules.

또한, 본 명세서의 실시 예에 의할 경우, 사용자는 자신이 작성한 하나 이상의 모듈들 간의 의존 관계에 관한 코드 중 의존성 규칙을 준수하지 않는 모듈에 대응하는 코드에 관한 정보를 보다 편리하게 확인할 수 있다.In addition, according to the embodiment of the present specification, the user can more conveniently check information about the code corresponding to the module that does not comply with the dependency rules among the code related to the dependency relationship between one or more modules written by the user.

발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effect of the invention is not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the claims.

도 1은 일 실시 예에 따른 시스템을 나타낸다.
도 2는 일 실시 예에 따라 애플리케이션에 포함된 하나 이상의 레이어들 및 하나 이상의 레이어들 각각에 대응하는 하나 이상의 모듈들의 일 예를 도시한다.
도 3은 일 실시 예에 따라 모듈의 퍼블릭 파트 및 프라이빗 파트에 관한 일 예를 도시한다.
도 4는 일 실시 예에 따라 전자 장치가 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하는 과정을 설명하기 위한 도면이다.
도 5는 일 실시 예에 따라 전자 장치가 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하는 과정을 설명하기 위한 도면이다.
도 6a 및 도 6b는 일 실시 예에 따라 전자 장치가 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하는 과정을 설명하기 위한 도면이다.
도 7은 일 실시 예에 따라 전자 장치가 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하는 과정을 설명하기 위한 도면이다.
도 8은 일 실시 예에 따라 전자 장치가 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하는 과정을 설명하기 위한 도면이다.
도 9는 일 실시 예에 따른 전자 장치의 정보 제공 방법의 흐름도를 나타낸다.
도 10은 일 실시 예에 따른 전자 장치의 블록도를 나타낸다.
1 shows a system according to one embodiment.
FIG. 2 illustrates an example of one or more layers included in an application and one or more modules corresponding to each of the one or more layers, according to an embodiment.
3 illustrates an example of a public part and a private part of a module, according to an embodiment.
FIG. 4 is a diagram illustrating a process by which an electronic device checks whether dependency rules are observed for one or more modules, according to an embodiment.
FIG. 5 is a diagram illustrating a process by which an electronic device checks whether dependency rules are observed for one or more modules, according to an embodiment.
FIGS. 6A and 6B are diagrams illustrating a process by which an electronic device checks whether dependency rules for one or more modules are observed, according to an embodiment.
FIG. 7 is a diagram illustrating a process in which an electronic device checks whether dependency rules are observed for one or more modules, according to an embodiment.
FIG. 8 is a diagram illustrating a process by which an electronic device checks whether dependency rules are observed for one or more modules, according to an embodiment.
Figure 9 shows a flowchart of a method for providing information by an electronic device according to an embodiment.
Figure 10 shows a block diagram of an electronic device according to an embodiment.

실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.The terms used in the embodiments are general terms that are currently widely used as much as possible while considering the functions in the present disclosure, but this may vary depending on the intention or precedent of a person working in the art, the emergence of new technology, etc. In addition, in certain cases, there are terms arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the relevant description. Therefore, the terms used in this disclosure should be defined based on the meaning of the term and the overall content of this disclosure, rather than simply the name of the term.

명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. When it is said that a part "includes" a certain element throughout the specification, this means that, unless specifically stated to the contrary, it does not exclude other elements but may further include other elements.

명세서 전체에서 기재된 "a, b, 및 c 중 적어도 하나"의 표현은, 'a 단독', 'b 단독', 'c 단독', 'a 및 b', 'a 및 c', 'b 및 c', 또는 'a, b, 및 c 모두'를 포괄할 수 있다.The expression “at least one of a, b, and c” used throughout the specification means ‘a alone’, ‘b alone’, ‘c alone’, ‘a and b’, ‘a and c’, ‘b and c ', or 'all of a, b, and 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) 기반의 무선 통신 장치를 포함할 수 있다.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. Here, the computer includes, for example, a laptop, desktop, laptop, etc. equipped with a web browser, and 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.

아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.Below, with reference to the attached drawings, embodiments of the present disclosure will be described in detail so that those skilled in the art can easily practice them. However, the present disclosure may be implemented in many different forms and is not limited to the embodiments described herein.

이하에서는 도면을 참조하여 본 개시의 실시 예들을 상세히 설명한다. Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings.

도 1은 일 실시 예에 따른 시스템을 나타낸다.1 shows a system according to one embodiment.

도 1을 참조하면, 시스템은 전자 장치(100), 하나 이상의 사용자 단말들(120, 140, 160) 및 네트워크(180) 중에서 적어도 하나를 포함할 수 있다. 한편, 도 1에 도시된 시스템은 본 실시 예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다. Referring to FIG. 1 , 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.

전자 장치(100)는 다양한 정보를 구성하여 제공하는 장치이다. 전자 장치(100)는 구성된 정보를 웹 페이지 또는 어플리케이션 화면 등으로 제공하거나, 제공받는 단말에서 웹 페이지 또는 어플리케이션 화면 등으로 표시할 수 있는 형태의 정보로 제공할 수 있다.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.

일 실시 예에 따르면, 전자 장치(100)는 애플리케이션에 포함된 하나 이상의 레이어들에 관한 제1 정보, 하나 이상의 레이어들 각각에 대응하는 하나 이상의 모듈들의 퍼블릭 파트 및 프라이빗 파트에 관한 제2 정보 및 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인할 수 있다. 이후, 전자 장치(100)는 제1 정보, 제2 정보 및 제3 정보에 기초하여, 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하고, 의존성 규칙의 준수 여부에 관한 정보를 하나 이상의 사용자 단말들(120, 140, 160)로 송신할 수 있다.According to one embodiment, the electronic device 100 includes first information about one or more layers included in the application, second information about the public part and the private part of one or more modules corresponding to each of the one or more layers, and one Third information regarding the dependency relationship between the above modules can be confirmed. Thereafter, the electronic device 100 determines whether the dependency rule is observed for one or more modules based on the first information, second information, and third information, and sends information regarding compliance with the dependency rule to one or more modules. It can be transmitted to user terminals 120, 140, and 160.

하나 이상의 사용자 단말들(120, 140, 160)은 사용자들 각각이 사용하는 단말로서, 사용자들은 각자의 사용자 단말(120, 140, 160)을 이용하여 네트워크(180)에 의해 제공되는 서비스에 접근할 수 있다. 예를 들어, 전자 장치(100)는 사용자가 작성한 코드가 의존성 규칙을 준수하는지 여부에 관한 정보를 제공하는 플랫폼 또는 어플리케이션을 하나 이상의 사용자 단말들(120, 140, 160)에 제공할 수 있다. 사용자들은 각자의 사용자 단말(120, 140, 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. For example, the electronic device 100 may provide one or more user terminals 120, 140, and 160 with a platform or application that provides information regarding whether code written by the user complies with dependency rules. Users can check whether the code they wrote complies with the dependency rules using a platform or application installed on their respective user terminals 120, 140, and 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) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.One or more user terminals 120, 140, and 160 and the electronic device 100 may communicate with each other within the network 180. 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.

도 2는 일 실시 예에 따른 애플리케이션에 포함된 하나 이상의 레이어들 및 하나 이상의 레이어들 각각에 대응하는 하나 이상의 모듈들의 일 예를 도시한다.Figure 2 shows an example of one or more layers included in an application according to an embodiment and one or more modules corresponding to each of the one or more layers.

일 실시 예에 따르면, 애플리케이션은 애플리케이션 레이어(200), 도메인 레이어(220), common 레이어(260) 및 shared 레이어(280)를 포함할 수 있다. 이때, 애플리케이션에 포함된 하나 이상의 레이어들 간의 계층 구조(hierarchy)가 존재할 수 있다. 예를 들어, 애플리케이션 레이어(200)는 도메인 레이어(220) 보다 상위 레이어(upper layer)일 수 있고, 도메인 레이어(220)는 common 레이어(260) 보다 상위 레이어일 수 있으며, common 레이어(260)는 shared 레이어(280) 보다 상위 레이어일 수 있다. 다만, 애플리케이션에 포함된 레이어의 수, 레이어의 명칭 및 레이어들 간의 계층 구조는 일 실시 예에 불과하며, 전술한 바와 상이하게 구현될 수 있다.According to one embodiment, the application may include an application layer 200, a domain layer 220, a common layer 260, and a shared layer 280. At this time, there may be a hierarchy between one or more layers included in the application. For example, the application layer 200 may be an upper layer than the domain layer 220, the domain layer 220 may be an upper layer than the common layer 260, and the common layer 260 may be an upper layer than the domain layer 220. It may be a layer higher than the shared layer 280. However, the number of layers included in the application, the names of the layers, and the hierarchical structure between the layers are only an example and may be implemented differently from those described above.

일 실시 예에 따르면, 애플리케이션 레이어(200), 도메인 레이어(220), common 레이어(260) 및 shared 레이어(280) 각각은 하나 이상의 모듈들을 포함할 수 있다. 예를 들어, 애플리케이션 레이어(200)는 애플리케이션 모듈(210)을 포함할 수 있고, 도메인 레이어(220)는 plp(product list page, 제품 리스트 페이지)-common 모듈(222), srp(search result page, 검색 결과 페이지)-common 모듈(224), sdp(single detail page, 상품 상세 설명 페이지)-common 모듈(226), cart-common 모듈(228), gw-common 모듈(230), plp 모듈(232), srp 모듈(234), sdp 모듈(236), cart 모듈(238) 및 gw 모듈(240)을 포함할 수 있다. 또는, common 레이어(260)는 common 모듈(265) 및 common-ui 모듈(270)을 포함할 수 있고, shared 레이어(280)는 foundation 모듈(282), 네트워크 모듈(284), 이미지 모듈(286), 모니터링 모듈(288) 및 ab 테스트 모듈(290)을 포함할 수 있다. 다만, 각각의 레이어에 포함된 모듈의 수 및 모듈의 명칭은 일 실시 예에 불과하며, 전술한 바와 상이하게 구현될 수 있다.According to one embodiment, each of the application layer 200, domain layer 220, common layer 260, and shared layer 280 may include one or more modules. For example, the application layer 200 may include an application module 210, and the domain layer 220 may include a plp (product list page)-common module 222, a srp (search result page, Search results page)-common module (224), sdp (single detail page, product detail description page)-common module (226), cart-common module (228), gw-common module (230), plp module (232) , srp module 234, sdp module 236, cart module 238, and gw module 240. Alternatively, the common layer 260 may include the common module 265 and the common-ui module 270, and the shared layer 280 may include the foundation module 282, the network module 284, and the image module 286. , may include a monitoring module 288 and an ab test module 290. However, the number of modules included in each layer and the name of the module are only an example, and may be implemented differently from those described above.

일 실시 예에 따르면, 각각의 레이어에 포함된 모듈들 간에는 의존(dependency) 관계가 존재할 수 있다. 보다 구체적으로, 상위 레이어에 포함된 모듈은 동일한 레이어 또는 하위 레이어에 포함된 모듈에 의존할 수 있다. 다만, 하위 레이어에 포함된 모듈은 상위 레이어에 포함된 모듈에 의존할 수 없다.According to one embodiment, a dependency relationship may exist between modules included in each layer. More specifically, modules included in a higher layer may depend on modules included in the same layer or a lower layer. However, modules included in lower layers cannot depend on modules included in higher layers.

예를 들어, 애플리케이션 레이어(200)에 포함된 애플리케이션 모듈(210)은 하위 레이어인 도메인 레이어(220)에 포함된 cart-common 모듈(228)에 의존할 수 있고, common 레이어(260)에 포함된 common 모듈(265)은 하위 레이어인 shared 레이어(280)에 포함된 이미지 모듈(286)에 의존할 수 있다. 또는, 도메인 레이어(220)에 포함된 gw-common 모듈(230)은 동일한 레이어에 포함된 cart-common 모듈(228)에 의존할 수 있고, shared 레이어(280)에 포함된 foundation 모듈(282)은 동일한 레이어에 포함된 네트워크 모듈(284)에 의존할 수 있다. 그러나, common 레이어(260)에 포함된 common-ui 모듈(270)은 상위 레이어인 도메인 레이어(220)에 포함된 sdp-common 모듈(226)에 의존할 수 없고, shared 레이어(280)에 포함된 이미지 모듈(286)은 상위 레이어인 common 레이어(260)에 포함된 common 모듈(265)에 의존할 수 없다.For example, the application module 210 included in the application layer 200 may depend on the cart-common module 228 included in the domain layer 220, which is a lower layer, and the application module 228 included in the common layer 260. The common module 265 may depend on the image module 286 included in the shared layer 280, which is a lower layer. Alternatively, the gw-common module 230 included in the domain layer 220 may depend on the cart-common module 228 included in the same layer, and the foundation module 282 included in the shared layer 280 It may depend on the network module 284 included in the same layer. However, the common-ui module 270 included in the common layer 260 cannot depend on the sdp-common module 226 included in the upper layer, the domain layer 220, and the common-ui module 270 included in the shared layer 280 The image module 286 cannot depend on the common module 265 included in the upper layer, the common layer 260.

이때, 제1 모듈이 제2 모듈에 의존한다는 것은, 제1 모듈을 사용할 때 제2 모듈의 메소드(method)를 호출하거나, 제1 모듈이 제2 모듈은 멤버 변수 또는 로컬 변수로 가지고 있다는 것을 나타낼 수 있으나, 전술한 바에 한정되지 않는다.At this time, the fact that the first module depends on the second module means that the method of the second module is called when using the first module, or that the first module has the second module as a member variable or local variable. However, it is not limited to the above.

도 3은 일 실시 예에 따른 모듈의 퍼블릭 파트 및 프라이빗 파트에 관한 일 예를 도시한다.Figure 3 shows an example of a public part and a private part of a module according to an embodiment.

일 실시 예에 따르면, 모듈(300)은 특정 기능을 독립적으로 수행하기 위한 함수 및 관련 데이터가 하나로 묶인 단위로서, 퍼블릭 파트(310) 및 프라이빗 파트(320)를 포함할 수 있다. 이때, 퍼블릭 파트(310) 및 프라이빗 파트(320)의 명칭은 일 실시 예에 불과하며, 이와 상이하게 지칭될 수 있다. 예를 들어, 퍼블릭 파트(310)는 추상화된 개념, 추상적인 클래스 등으로 지칭될 수 있고, 프라이빗 파트(320)는 구체화된 개념, 추상적인 클래스를 구현하는 클래스 등으로 지칭될 수 있으나, 전술한 바에 한정되지 않는다.According to one embodiment, the module 300 is a unit in which functions and related data for independently performing a specific function are bundled into one unit, and may include a public part 310 and a private part 320. At this time, the names of the public part 310 and the private part 320 are only an example and may be referred to differently. For example, the public part 310 may be referred to as an abstracted concept, an abstract class, etc., and the private part 320 may be referred to as a concrete concept, a class implementing an abstract class, etc., but the above-described It's not limited to bars.

일 실시 예에 따르면, 모듈(300)의 퍼블릭(public) 파트(310)는 인터페이스(330) 및 데이터 모델(340)을 포함할 수 있다. 예를 들어, 퍼블릭 파트(310)는 대외로 보여지는 인터페이스(330) 및 관련 데이터를 가져오고 내보내는 기능을 수행하는 데이터 모델(340)을 포함할 수 있다.According to one embodiment, the public part 310 of the module 300 may include an interface 330 and a data model 340. For example, the public part 310 may include an externally visible interface 330 and a data model 340 that performs the function of importing and exporting related data.

일 실시 예에 따르면, 모듈(300)의 프라이빗(private) 파트(320)는 하나 이상의 임플리멘테이션(350, 360, 370)을 포함할 수 있다. 예를 들어, 프라이빗 파트(320)는 인터페이스(330)를 상이하게 구현하게 위한 하나 이상의 임플리멘테이션(350, 360, 370)을 포함할 수 있다.According to one embodiment, the private part 320 of the module 300 may include one or more implementations 350, 360, and 370. For example, private part 320 may include one or more implementations 350, 360, and 370 to implement interface 330 differently.

일 실시 예에 따르면, 하나 이상의 임플리멘테이션(350, 360, 370) 각각은 애플리케이션이 배포될 지역에 대응할 수 있고, 각각에 대응하는 지역에 따라 상이한 코드를 포함할 수 있다. 예를 들어, 제1 임플리멘테이션(350)은 한국에서 배포되는 버전의 애플리케이션을 구현하기 위한 코드를 포함할 수 있고, 제2 임플리멘테이션(360)은 일본에서 배포되는 버전의 애플리케이션을 구현하기 위한 코드를 포함할 수 있으며, 제3 임플리멘테이션(370)은 대만에서 배포되는 버전의 애플리케이션을 구현하기 위한 코드를 포함할 수 있다.According to one embodiment, each of the one or more implementations 350, 360, and 370 may correspond to a region in which the application is to be distributed, and may include different code depending on the corresponding region. For example, the first implementation 350 may include code for implementing a version of an application distributed in Korea, and the second implementation 360 may include code for implementing a version of an application distributed in Japan. It may include code for implementation, and the third implementation 370 may include code for implementing the version of the application distributed in Taiwan.

일 실시 예에 따르면, 애플리케이션이 배포될 때, 하나 이상의 임플리멘테이션(350, 360, 370) 중 애플리케이션이 배포될 지역에 대응하는 임플리멘테이션이 구현될 수 있다. 예를 들어, 애플리케이션이 한국에서 배포될 때, 프라이빗 파트(320)에 포함된 하나 이상의 임플리멘테이션(350, 360, 370) 중 한국에 대응하는 제1 임플리멘테이션(350)이 구현될 수 있다. 이를 통해, 애플리케이션이 배포될 지역의 언어 또는 문화 등에 따라, 상이한 버전의 애플리케이션이 사용자에게 제공될 수 있다.According to one embodiment, when an application is distributed, one of one or more implementations 350, 360, and 370 may be implemented that corresponds to the region where the application is to be distributed. For example, when an application is distributed in Korea, the first implementation 350 corresponding to Korea among one or more implementations 350, 360, and 370 included in the private part 320 will be implemented. You can. Through this, different versions of the application can be provided to users depending on the language or culture of the region where the application will be distributed.

도 4는 일 실시 예에 따라 전자 장치(100)가 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하는 과정을 설명하기 위한 도면이다.FIG. 4 is a diagram illustrating a process by which the electronic device 100 checks whether dependency rules are observed for one or more modules, according to an embodiment.

일 실시 예에 따르면, 전자 장치(100)는 애플리케이션에 포함된 하나 이상의 레이어들에 관한 제1 정보를 확인하고, 하나 이상의 모듈들의 퍼블릭 파트 및 프라이빗 파트에 관한 제2 정보를 확인할 수 있다.According to one embodiment, the electronic device 100 may check first information about one or more layers included in the application and check second information about the public part and private part of one or more modules.

예를 들어, 전자 장치(100)는 레이어 설정 정보에 기초하여, 애플리케이션에 포함된 제1 레이어(400) 및 제2 레이어(430)를 확인하고, 제1 레이어(400) 및 제2 레이어(430) 간의 계층 구조를 확인할 수 있다. 또한, 전자 장치(100)는 레이어 설정 정보에 기초하여, 제1 레이어(400)에 포함된 제1 모듈(410) 및 제2 모듈(420)을 확인하고, 제2 레이어(430)에 포함된 제3 모듈(440) 및 제4 모듈(450)을 확인할 수 있다.For example, the electronic device 100 checks the first layer 400 and the second layer 430 included in the application based on the layer setting information, and determines the first layer 400 and the second layer 430. ) You can check the hierarchical structure between them. In addition, based on the layer setting information, the electronic device 100 checks the first module 410 and the second module 420 included in the first layer 400, and determines the first module 410 and the second module 420 included in the second layer 430. The third module 440 and fourth module 450 can be confirmed.

또는, 전자 장치(100)는 모듈 설정 정보에 기초하여, 제1 모듈(410)의 퍼블릭 파트(412) 및 프라이빗 파트(414)를 확인하고, 제2 모듈(420)의 퍼블릭 파트(422) 및 프라이빗 파트(424)를 확인하며, 프라이빗 파트(424)에 포함된 제1 임플리멘테이션(426) 및 제2 임플리멘테이션(428)을 확인할 수 있다. 또한, 전자 장치(100)는 모듈 설정 정보에 기초하여, 제3 모듈(440)의 퍼블릭 파트(442) 및 프라이빗 파트(444)를 확인하고, 제4 모듈(450)의 퍼블릭 파트(452) 및 프라이빗 파트(454)를 확인할 수 있다.Alternatively, the electronic device 100 checks the public part 412 and the private part 414 of the first module 410 based on the module setting information, and configures the public part 422 and the private part 414 of the second module 420. By checking the private part 424, the first implementation 426 and the second implementation 428 included in the private part 424 can be confirmed. In addition, the electronic device 100 checks the public part 442 and the private part 444 of the third module 440 based on the module setting information, and the public part 452 and the private part 444 of the fourth module 450. You can check the private part (454).

일 실시 예에 따르면, 전자 장치(100)는 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인할 수 있다. 예를 들어, 전자 장치(100)는 제3 모듈(440)의 프라이빗 파트(444)가 제1 모듈(410)의 퍼블릭 파트(412)에 의존함을 확인하고, 제1 모듈(410)의 프라이빗 파트(414)가 제4 모듈(450)의 퍼블릭 파트(452)에 의존함을 확인할 수 있다. 또는, 전자 장치(100)는 제2 모듈(420)의 퍼블릭 파트(422)가 제4 모듈(450)의 프라이빗 파트(454)에 의존함을 확인하고, 제2 모듈(420)의 프라이빗 파트(424)에 포함된 제2 임플리멘테이션(428)이 제3 모듈(440)의 퍼블릭 파트(442)에 의존함을 확인할 수 있다.According to one embodiment, the electronic device 100 may check third information regarding the dependency relationship between one or more modules. For example, the electronic device 100 determines that the private part 444 of the third module 440 depends on the public part 412 of the first module 410, and determines that the private part 444 of the first module 410 It can be confirmed that the part 414 depends on the public part 452 of the fourth module 450. Alternatively, the electronic device 100 determines that the public part 422 of the second module 420 depends on the private part 454 of the fourth module 450, and determines the private part of the second module 420 ( It can be confirmed that the second implementation 428 included in 424) depends on the public part 442 of the third module 440.

일 실시 예에 따르면, 전자 장치(100)는 제1 정보, 제2 정보 및 제3 정보에 기초하여, 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인할 수 있다. 보다 구체적으로, 전자 장치(100)는 하나 이상의 모듈들 중 제1 모듈의 퍼블릭 파트 또는 제1 모듈의 프라이빗 파트가 제2 모듈의 프라이빗 파트에 의존할 수 없다는 제1 규칙 및 하위 레이어에 포함된 제3 모듈이 상위 레이어에 포함된 제4 모듈에 의존할 수 없다는 제2 규칙이 준수되는지 여부를 확인할 수 있다.According to one embodiment, the electronic device 100 may check whether dependency rules are observed for one or more modules based on the first information, second information, and third information. More specifically, the electronic device 100 includes a first rule that the public part of the first module or the private part of the first module among one or more modules cannot depend on the private part of the second module and the first rule included in the lower layer. 3 It can be checked whether the second rule that a module cannot depend on a fourth module included in a higher layer is complied with.

예를 들어, 전자 장치(100)는 제1 모듈(410)의 프라이빗 파트(414)가 제4 모듈(450)의 퍼블릭 파트(452)에 의존하는 것과 제2 모듈(420)의 프라이빗 파트(424)에 포함된 제2 임플리멘테이션(428)이 제3 모듈(440)의 퍼블릭 파트(442)에 의존하는 것은 의존성 규칙을 준수하는 것임을 확인할 수 있다. 또는, 전자 장치(100)는 제3 모듈(440)의 프라이빗 파트(444)가 제1 모듈(410)의 퍼블릭 파트(412)에 의존하는 것은 하위 레이어에 포함된 모듈이 상위 레이어에 포함된 모듈에 의존하는 것이므로, 의존성 규칙을 준수하지 않는 것임을 확인할 수 있다. 전자 장치(100)는 제2 모듈(420)의 퍼블릭 파트(422)가 제4 모듈(450)의 프라이빗 파트(454)에 의존하는 것은 다른 모듈의 프라이빗 파트에 의존하는 것이므로, 의존성 규칙을 준수하지 않는 것임을 확인할 수 있다.For example, the electronic device 100 may have the private part 414 of the first module 410 depend on the public part 452 of the fourth module 450 and the private part 424 of the second module 420. It can be confirmed that the second implementation 428 included in ) depends on the public part 442 of the third module 440 in compliance with the dependency rules. Alternatively, the electronic device 100 may determine that the private part 444 of the third module 440 depends on the public part 412 of the first module 410 because the module included in the lower layer is the module included in the upper layer. Since it depends on , you can confirm that it does not comply with the dependency rules. The electronic device 100 does not comply with the dependency rule because the public part 422 of the second module 420 depends on the private part 454 of the fourth module 450 because it depends on the private part of another module. You can confirm that this is not the case.

일 실시 예에 따르면, 전자 장치(100)는 의존성 규칙의 준수 여부에 관한 정보를 제공할 수 있다. 보다 구체적으로, 전자 장치(100)는 하나 이상의 모듈들 중 의존성 규칙을 준수하지 않는 모듈에 관한 정보 및 상기 모듈이 준수하지 않은 규칙에 관한 정보를 제공할 수 있다. 예를 들어, 전자 장치(100)는 제3 모듈(440)의 프라이빗 파트(444)에 관하여, 하위 레이어에 포함된 모듈이 상위 레이어에 포함된 모듈에 의존할 수 없다는 제2 규칙이 준수되지 않는다는 정보를 제공할 수 있다. 또는, 전자 장치(100)는 제2 모듈(410)의 퍼블릭 파트(422)에 관하여, 모듈의 퍼블릭 파트가 다른 모듈의 프라이빗 파트에 의존할 수 없다는 제1 규칙이 준수되지 않는다는 정보를 제공할 수 있다.According to one embodiment, the electronic device 100 may provide information regarding compliance with dependency rules. More specifically, the electronic device 100 may provide information about a module that does not comply with a dependency rule among one or more modules and information about a rule that the module does not comply with. For example, the electronic device 100 determines that the second rule that a module included in a lower layer cannot depend on a module included in an upper layer is not observed with respect to the private part 444 of the third module 440. Information can be provided. Alternatively, the electronic device 100 may provide information regarding the public part 422 of the second module 410 that the first rule that the public part of a module cannot depend on the private part of another module is not complied with. there is.

도 5는 일 실시 예에 따라 전자 장치(100)가 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하는 과정을 설명하기 위한 도면이다. 도 4와 중복되는 내용은 간략히 설명하거나 생략하기로 한다.FIG. 5 is a diagram illustrating a process by which the electronic device 100 checks whether dependency rules are observed for one or more modules, according to an embodiment. Content that overlaps with Figure 4 will be briefly explained or omitted.

일 실시 예에 따르면, 전자 장치(100)는 애플리케이션에 포함된 하나 이상의 레이어들에 관한 제1 정보를 확인하고, 하나 이상의 모듈들의 퍼블릭 파트 및 프라이빗 파트에 관한 제2 정보를 확인할 수 있다.According to one embodiment, the electronic device 100 may check first information about one or more layers included in the application and check second information about the public part and private part of one or more modules.

예를 들어, 전자 장치(100)는 레이어 설정 정보에 기초하여, 제1 레이어(500) 및 제2 레이어(530)를 확인하고, 제1 레이어(500) 및 제2 레이어(530) 간의 계층 구조를 확인할 수 있다. 또한, 전자 장치(100)는 레이어 설정 정보에 기초하여, 제1 레이어(500)에 포함된 체크아웃 모듈을 확인하고, 제2 레이어(530)에 포함된 결재 모듈을 확인할 수 있다.For example, the electronic device 100 determines the first layer 500 and the second layer 530 based on layer setting information, and determines the hierarchical structure between the first layer 500 and the second layer 530. You can check. Additionally, the electronic device 100 may check the checkout module included in the first layer 500 and the payment module included in the second layer 530, based on the layer setting information.

또는, 전자 장치(100)는 모듈 설정 정보에 기초하여, 체크아웃 모듈의 퍼블릭 파트(510) 및 프라이빗 파트(520)를 확인할 수 있다. 또한, 전자 장치(100)는 모듈 설정 정보에 기초하여, 결재 모듈의 퍼블릭 파트(540) 및 프라이빗 파트(550)를 확인하고, 프라이빗 파트(550)에 포함된 Global 임플리멘테이션(560) 및 KR 임플리멘테이션(570)을 확인할 수 있다. 이때, Global 임플리멘테이션(560)은 애플리케이션이 한국 이외의 지역에서 배포될 때, 결재 인터페이스를 구현하기 위한 코드를 포함할 수 있고, KR 임플리멘테이션(570)은 애플리케이션이 한국에서 배포될 때, 결재 인터페이스를 구현하기 위한 코드를 포함할 수 있다.Alternatively, the electronic device 100 may check the public part 510 and private part 520 of the checkout module based on module setting information. In addition, the electronic device 100 checks the public part 540 and private part 550 of the payment module based on the module setting information, and uses the global implementation 560 and You can check the KR implementation (570). At this time, the Global Implementation 560 may include code to implement the payment interface when the application is distributed in regions other than Korea, and the KR Implementation 570 may include code for implementing the payment interface when the application is distributed in Korea. When doing so, it may include code to implement the payment interface.

일 실시 예에 따르면, 전자 장치(100)는 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인할 수 있다. 예를 들어, 전자 장치(100)는 체크아웃 모듈의 퍼블릭 파트(510)가 결재 모듈의 퍼블릭 파트(540)에 의존함을 확인하고, 체크아웃 모듈의 프라이빗 파트(520)가 체크아웃 모듈의 퍼블릭 파트(510) 및 결재 모듈의 퍼블릭 파트(540)에 의존함을 확인할 수 있다. 또한, 전자 장치(100)는 결재 모듈의 프라이빗 파트(550)에 포함된 Global 임플리멘테이션(560) 및 KR 임플리멘테이션(570) 각각이 결재 모듈의 퍼블릭 파트(540)에 의존함을 확인할 수 있다.According to one embodiment, the electronic device 100 may check third information regarding the dependency relationship between one or more modules. For example, the electronic device 100 confirms that the public part 510 of the checkout module depends on the public part 540 of the payment module, and the private part 520 of the checkout module depends on the public part 540 of the checkout module. It can be confirmed that it depends on the part 510 and the public part 540 of the payment module. In addition, the electronic device 100 recognizes that each of the Global Implementation 560 and KR Implementation 570 included in the private part 550 of the payment module depends on the public part 540 of the payment module. You can check it.

일 실시 예에 따르면, 전자 장치(100)는 제1 정보, 제2 정보 및 제3 정보에 기초하여, 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인할 수 있다. 예를 들어, 전자 장치(100)는 체크아웃 모듈의 퍼블릭 파트(510)가 결재 모듈의 퍼블릭 파트(540)에 의존하는 것과 체크아웃 모듈의 프라이빗 파트(520)가 체크아웃 모듈의 퍼블릭 파트(510) 및 결재 모듈의 퍼블릭 파트(540)에 의존하는 것은 의존성 규칙을 준수하는 것임을 확인할 수 있다. 또는, 전자 장치(100)는 결재 모듈의 프라이빗 파트(550)에 포함된 Global 임플리멘테이션(560) 및 KR 임플리멘테이션(570) 각각이 결재 모듈의 퍼블릭 파트(540)에 의존하는 것은 의존성 규칙을 준수하는 것임을 확인할 수 있다.According to one embodiment, the electronic device 100 may check whether dependency rules are observed for one or more modules based on the first information, second information, and third information. For example, the electronic device 100 may determine that the public part 510 of the checkout module depends on the public part 540 of the payment module and that the private part 520 of the checkout module depends on the public part 510 of the checkout module. ) and the public part 540 of the payment module can be confirmed to comply with the dependency rules. Alternatively, the electronic device 100 may determine that each of the Global implementation 560 and the KR implementation 570 included in the private part 550 of the payment module depends on the public part 540 of the payment module. You can confirm that the dependency rules are complied with.

일 실시 예에 따르면, 전자 장치(100)는 의존성 규칙의 준수 여부에 관한 정보를 제공할 수 있다. 예를 들어, 전자 장치(100)는 체크 아웃 모듈 및 결재 모듈에 관하여, 의존성 규칙이 준수된다는 정보를 제공할 수 있다.According to one embodiment, the electronic device 100 may provide information regarding compliance with dependency rules. For example, the electronic device 100 may provide information that dependency rules are observed regarding the checkout module and payment module.

도 6a 및 도 6b는 일 실시 예에 따라 전자 장치(100)가 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하는 과정을 설명하기 위한 도면이다. 도 4와 중복되는 내용은 간략히 설명하거나 생략하기로 한다.FIGS. 6A and 6B are diagrams illustrating a process by which the electronic device 100 checks whether dependency rules are observed for one or more modules, according to an embodiment. Content that overlaps with Figure 4 will be briefly explained or omitted.

S600 단계에서, 전자 장치(100)는 일 실시 예에 따라 사용자 단말로부터 풀 리퀘스트를 획득할 수 있다. 예를 들어, 사용자는 하나 이상의 모듈들 간의 의존 관계에 관한 코드를 로컬(local) 저장소에 저장한 후, 저장된 코드를 통합 저장소에 저장된 마스터 브랜치(master branch) 또는 원본 코드에 병합할 것을 사용자 단말에 입력할 수 있다. 사용자 단말은 사용자의 입력에 기초하여, 저장된 코드에 관한 정보를 포함하는 풀 리퀘스트를 전자 장치(100)로 전송할 수 있다. 전자 장치(100)는 풀 리퀘스트를 획득함에 따라, 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부에 관한 정보 제공 방법을 개시할 수 있다.In step S600, the electronic device 100 may obtain a pull request from the user terminal according to one embodiment. For example, the user saves the code related to the dependency relationship between one or more modules in a local repository and then sends a message to the user terminal to merge the saved code into the master branch or original code stored in the integrated repository. You can enter it. The user terminal may transmit a pull request containing information about the stored code to the electronic device 100 based on the user's input. As the electronic device 100 obtains a pull request, it may initiate a method of providing information regarding whether dependency rules are observed for one or more modules.

한편, 전자 장치(100)는 복수의 사용자가 작성한 코드를 병합 및 관리하기 위한 장치 또는 작업자 단말로서, 사용자 단말로부터 직접 풀 리퀘스트를 수신할 수 있지만, 작업자 단말과는 별개로 존재하는 장치일 수 있다. 이 경우, 전자 장치(100)는 사용자 단말로부터 직접 풀 리퀘스트를 수신하는 대신, 사용자 단말이 풀 리퀘스트를 작업자 단말로 전송했다는 정보를 획득할 수 있다. 전자 장치(100)는 사용자 단말이 풀 리퀘스트를 작업자 단말로 전송했다는 정보를 획득함에 따라, 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부에 관한 정보 제공 방법을 개시할 수 있다.Meanwhile, the electronic device 100 is a device or worker terminal for merging and managing codes written by a plurality of users, and can receive pull requests directly from user terminals, but may be a device that exists separately from the worker terminal. . In this case, instead of receiving the pull request directly from the user terminal, the electronic device 100 may obtain information that the user terminal has transmitted the pull request to the worker terminal. As the electronic device 100 obtains information that the user terminal has transmitted a pull request to the worker terminal, the electronic device 100 may initiate a method of providing information regarding whether dependency rules are observed for one or more modules.

S610 단계에서, 전자 장치(100)는 일 실시 예에 따라 레이어 설정 정보 및 모듈 설정 정보를 포함하는 애플리케이션의 아키텍처 정보를 획득할 수 있다. 예를 들어, 전자 장치(100)는 도 6b에 도시된 바와 같이, 레이어 설정 정보 및 모듈 설정 정보를 포함하는 애플리케이션의 아키텍처에 관한 코드를 사용자 단말 또는 작업자 단말로부터 수신할 수 있다. 이때, 애플리케이션의 아키텍처에 관한 코드 중 제1 코드(670)는 레이어 설정 정보를 나타낼 수 있고, 제2 코드(680)는 모듈 설정 정보를 나타낼 수 있다. 또한, 제2 코드(680)에 포함된 api는 모듈의 퍼블릭 파트를 나타낼 수 있고, implementation은 모듈의 프라이빗 파트를 나타낼 수 있다.In step S610, the electronic device 100 may acquire application architecture information including layer setting information and module setting information according to an embodiment. For example, as shown in FIG. 6B, the electronic device 100 may receive a code regarding the architecture of an application including layer setting information and module setting information from a user terminal or worker terminal. At this time, among the codes related to the architecture of the application, the first code 670 may indicate layer setting information, and the second code 680 may indicate module setting information. Additionally, API included in the second code 680 may represent the public part of the module, and implementation may represent the private part of the module.

S620 단계에서, 전자 장치(100)는 일 실시 예에 따라 레이어 설정 정보에 기초하여, 애플리케이션에 포함된 하나 이상의 레이어들에 관한 제1 정보를 확인하고, 모듈 설정 정보에 기초하여, 하나 이상의 레이어들 각각에 대응하는 하나 이상의 모듈들의 퍼블릭 파트 및 프라이빗 파트에 관한 제2 정보를 확인할 수 있다.In step S620, the electronic device 100 determines first information about one or more layers included in the application based on layer setting information, and based on module setting information, one or more layers Second information regarding the public part and private part of one or more modules corresponding to each can be confirmed.

예를 들어, 전자 장치(100)는 제1 코드(670)에 기초하여, 애플리케이션에 포함된 domain 레이어, shared 레이어 및 foundation 레이어를 확인하고, domain 레이어, shared 레이어 및 foundation 레이어 간의 계층 구조를 확인할 수 있다. 또한, 전자 장치(100)는 제1 코드(670)에 기초하여, domain 레이어에 포함된 domain-gateway 모듈, domain-search 모듈, domain-plp 모듈, domain-sdp 모듈, domain-cart 모듈 및 domain-checkout 모듈을 확인할 수 있고, foundation 레이어에 포함된 foundation-abtest 모듈, foundation-logging 모듈, foundation-payment 모듈, foundation-member 모듈 및 foundation-webview 모듈을 확인할 수 있다.For example, based on the first code 670, the electronic device 100 can check the domain layer, shared layer, and foundation layer included in the application, and check the hierarchical structure between the domain layer, shared layer, and foundation layer. there is. In addition, based on the first code 670, the electronic device 100 includes the domain-gateway module, domain-search module, domain-plp module, domain-sdp module, domain-cart module, and domain-gateway module included in the domain layer. You can check the checkout module, and you can check the foundation-abtest module, foundation-logging module, foundation-payment module, foundation-member module, and foundation-webview module included in the foundation layer.

또는, 전자 장치(100)는 제2 코드(680)에 기초하여, domain-gateway 모듈, domain-search 모듈, domain-plp 모듈, domain-sdp 모듈, domain-cart 모듈 및 domain-checkout 모듈 각각의 퍼블릭 파트 및 프라이빗 파트를 확인할 수 있다. 또한, 전자 장치(100)는 제2 코드(680)에 기초하여, domain-cart 모듈 및 domain-checkout 모듈 각각의 프라이빗 파트에 포함된 두 개의 임플리멘테이션을 확인할 수 있다.Alternatively, based on the second code 680, the electronic device 100 may configure each of the domain-gateway module, domain-search module, domain-plp module, domain-sdp module, domain-cart module, and domain-checkout module to be public. You can check the part and private part. Additionally, the electronic device 100 can check two implementations included in the private parts of each of the domain-cart module and the domain-checkout module based on the second code 680.

S630 단계에서, 전자 장치(100)는 일 실시 예에 따라 풀 리퀘스트에 기초하여 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인할 수 있다. 예를 들어, 전자 장치(100)는 사용자 단말로부터 수신한 풀 리퀘스트에 기초하여, 하나 이상의 모듈들 간의 의존 관계에 관한 코드를 확인할 수 있다.In step S630, the electronic device 100 may check third information about the dependency relationship between one or more modules based on a pull request, according to an embodiment. For example, the electronic device 100 may check codes related to dependency relationships between one or more modules based on a pull request received from a user terminal.

S640 단계에서, 전자 장치(100)는 일 실시 예에 따라 제1 정보, 제2 정보 및 제3 정보에 기초하여, 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인할 수 있다. 예를 들어, 전자 장치(100)는 domain-gateway 모듈, domain-search 모듈, foundation-payment 모듈 또는 foundation-member 모듈 등에 대하여 의존성 규칙이 준수되는지 여부를 확인할 수 있다.In step S640, the electronic device 100 may check whether dependency rules are observed for one or more modules based on the first information, second information, and third information, according to one embodiment. For example, the electronic device 100 may check whether dependency rules are observed for the domain-gateway module, domain-search module, foundation-payment module, or foundation-member module.

S650 단계에서, 전자 장치(100)는 일 실시 예에 따라 의존성 규칙의 준수 여부에 관한 정보를 제공할 수 있다. 예를 들어, 전자 장치(100)는 하나 이상의 모듈들 중 의존성 규칙을 준수하지 않는 모듈에 관한 정보 및 상기 모듈이 준수하지 않은 규칙에 관한 정보를 사용자 단말로 송신할 수 있다.In step S650, the electronic device 100 may provide information regarding compliance with dependency rules, according to one embodiment. For example, the electronic device 100 may transmit information about a module that does not comply with a dependency rule among one or more modules and information about a rule that the module does not comply with to the user terminal.

S660 단계에서, 하나 이상의 모듈들에 대한 의존성 규칙이 준수되지 않은 것으로 확인된 경우, 전자 장치(100)는 일 실시 예에 따라 풀 리퀘스트를 거절하도록 설정하는 정보를 생성할 수 있다. 예를 들어, 하나 이상의 모듈들 중 적어도 하나의 모듈에 대하여 준수되지 않는다는 것으로 확인된 경우, 전자 장치(100)는 사용자 단말이 풀 리퀘스트를 거절하도록 설정하는 정보를 생성하고, 사용자 단말로 송신할 수 있다.In step S660, if it is confirmed that the dependency rules for one or more modules are not observed, the electronic device 100 may generate information that configures the electronic device 100 to reject the pull request according to an embodiment. For example, when it is confirmed that at least one of the one or more modules is not compliant, the electronic device 100 may generate information that sets the user terminal to reject the pull request and transmit it to the user terminal. there is.

도 7은 일 실시 예에 따라 전자 장치(100)가 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하는 과정을 설명하기 위한 도면이다. 도 4와 중복되는 내용은 간략히 설명하거나 생략하기로 한다.FIG. 7 is a diagram illustrating a process by which the electronic device 100 checks whether dependency rules are observed for one or more modules, according to an embodiment. Content that overlaps with Figure 4 will be briefly explained or omitted.

S700 단계에서, 전자 장치(100)는 일 실시 예에 따라 애플리케이션에 포함된 하나 이상의 레이어들에 관한 제1 정보 및 하나 이상의 레이어들 각각에 대응하는 하나 이상의 모듈들의 퍼블릭 파트 및 프라이빗 파트에 관한 제2 정보를 확인할 수 있다. 예를 들어, 전자 장치(100)는 레이어 설정 정보에 기초하여, 애플리케이션에 포함된 하나 이상의 레이어들에 관한 제1 정보를 확인하고, 모듈 설정 정보에 기초하여, 하나 이상의 레이어들 각각에 대응하는 하나 이상의 모듈들의 퍼블릭 파트 및 프라이빗 파트에 관한 제2 정보를 확인할 수 있다.In step S700, according to an embodiment, the electronic device 100 may provide first information about one or more layers included in the application and second information about the public part and private part of one or more modules corresponding to each of the one or more layers. You can check the information. For example, based on layer setting information, the electronic device 100 verifies first information about one or more layers included in the application, and based on module setting information, the electronic device 100 checks one or more layers corresponding to each of the one or more layers. You can check the second information about the public part and private part of the above modules.

S710 단계에서, 전자 장치(100)는 일 실시 예에 따라 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인할 수 있다. 예를 들어, 전자 장치(100)는 사용자 단말로부터 수신한 제1 풀 리퀘스트에 기초하여, 하나 이상의 모듈들 간의 의존 관계에 관한 제1 코드를 확인할 수 있다.In step S710, the electronic device 100 may check third information about the dependency relationship between one or more modules, according to an embodiment. For example, the electronic device 100 may check the first code regarding the dependency relationship between one or more modules based on the first pull request received from the user terminal.

S720 단계에서, 전자 장치(100)는 일 실시 예에 따라 하나 이상의 모듈들 간의 변경된 의존 관계에 관한 제4 정보를 확인할 수 있다. 예를 들어, 전자 장치(100)는 하나 이상의 모듈들 간의 의존 관계에 관한 제2 코드를 포함하는 제2 풀 리퀘스트를 사용자 단말로부터 수신하고, 제2 풀 리퀘스트에 기초하여, 하나 이상의 모듈들 간의 의존 관계에 관한 제2 코드를 확인할 수 있다.In step S720, the electronic device 100 may check fourth information regarding the changed dependency relationship between one or more modules, according to an embodiment. For example, the electronic device 100 receives a second pull request including a second code regarding a dependency relationship between one or more modules from the user terminal, and based on the second pull request, determines the dependency relationship between one or more modules. You can check the second code regarding the relationship.

S730 단계에서, 전자 장치(100)는 일 실시 예에 따라 제3 정보 및 제4 정보에 기초하여, 하나 이상의 모듈들 중 의존 관계가 변경된 적어도 하나의 모듈을 확인할 수 있다. 예를 들어, 전자 장치(100)는 하나 이상의 모듈들 간의 의존 관계에 관한 제1 코드 및 하나 이상의 모듈들 간의 의존 관계에 관한 제2 코드를 비교하여, 제2 코드 중 제1 코드와 상이한 서브 코드를 확인할 수 있다. 이후, 전자 장치(100)는 제2 코드 중 제1 코드와 상이한 서브 코드에 대응하는 적어도 하나의 모듈을 확인할 수 있다.In step S730, the electronic device 100 may identify at least one module whose dependency relationship has changed among one or more modules based on the third information and fourth information, according to one embodiment. For example, the electronic device 100 compares a first code related to a dependency relationship between one or more modules and a second code related to a dependency relationship between one or more modules, and selects a subcode that is different from the first code among the second codes. You can check. Thereafter, the electronic device 100 may identify at least one module corresponding to a subcode of the second code that is different from the first code.

S740 단계에서, 전자 장치(100)는 일 실시 예에 따라 제1 정보, 제2 정보 및 제4 정보에 기초하여, 적어도 하나의 모듈에 대하여 의존성 규칙이 준수되는지 여부를 확인할 수 있다. 예를 들어, 전자 장치(100)는 적어도 하나의 모듈이 다른 모듈의 프라이빗 파트에 의존하는지 여부 또는 적어도 하나의 모듈이 상위 레이어의 모듈에 의존하는지 여부를 확인할 수 있다. 또는, 전자 장치(100)는 다른 모듈이 적어도 하나의 모듈의 프라이빗 파트에 의존하는지 여부 또는 하위 레이어의 모듈이 적어도 하나의 모듈에 의존하는지 여부를 확인할 수 있다.In step S740, the electronic device 100 may check whether the dependency rule is observed for at least one module based on the first information, second information, and fourth information, according to one embodiment. For example, the electronic device 100 may check whether at least one module depends on a private part of another module or whether at least one module depends on a module of a higher layer. Alternatively, the electronic device 100 may check whether another module depends on the private part of at least one module or whether a module of a lower layer depends on at least one module.

S750 단계에서, 전자 장치(100)는 일 실시 예에 따라 의존성 규칙의 준수 여부에 관한 정보를 제공할 수 있다. 예를 들어, 전자 장치(100)는 적어도 하나의 모듈 중 의존성 규칙을 준수하지 않는 모듈에 관한 정보 및 상기 모듈이 준수하지 않은 규칙에 관한 정보를 사용자 단말로 송신할 수 있다.In step S750, the electronic device 100 may provide information regarding compliance with dependency rules, according to one embodiment. For example, the electronic device 100 may transmit information about a module that does not comply with a dependency rule among at least one module and information about a rule that the module does not comply with to the user terminal.

도 8은 일 실시 예에 따라 전자 장치(100)가 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하는 과정을 설명하기 위한 도면이다. 도 4와 중복되는 내용은 간략히 설명하거나 생략하기로 한다.FIG. 8 is a diagram illustrating a process by which the electronic device 100 checks whether dependency rules are observed for one or more modules, according to an embodiment. Content that overlaps with Figure 4 will be briefly explained or omitted.

S800 단계에서, 전자 장치(100)는 일 실시 예에 따라 애플리케이션에 포함된 하나 이상의 레이어들에 관한 제1 정보 및 하나 이상의 레이어들 각각에 대응하는 하나 이상의 모듈들의 퍼블릭 파트 및 프라이빗 파트에 관한 제2 정보를 확인할 수 있다. 예를 들어, 전자 장치(100)는 레이어 설정 정보에 기초하여, 애플리케이션에 포함된 하나 이상의 레이어들에 관한 제1 정보를 확인하고, 모듈 설정 정보에 기초하여, 하나 이상의 레이어들 각각에 대응하는 하나 이상의 모듈들의 퍼블릭 파트 및 프라이빗 파트에 관한 제2 정보를 확인할 수 있다.In step S800, according to one embodiment, the electronic device 100 may provide first information about one or more layers included in the application and second information about the public part and private part of one or more modules corresponding to each of the one or more layers. You can check the information. For example, based on layer setting information, the electronic device 100 verifies first information about one or more layers included in the application, and based on module setting information, the electronic device 100 checks one or more layers corresponding to each of the one or more layers. You can check the second information about the public and private parts of the above modules.

S810 단계에서, 전자 장치(100)는 일 실시 예에 따라 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인할 수 있다. 예를 들어, 전자 장치(100)는 사용자 단말로부터 수신한 풀 리퀘스트에 기초하여, 하나 이상의 모듈들 간의 의존 관계에 관한 코드를 확인할 수 있다.In step S810, the electronic device 100 may check third information about the dependency relationship between one or more modules, according to one embodiment. For example, the electronic device 100 may check codes related to dependency relationships between one or more modules based on a pull request received from a user terminal.

S820 단계에서, 전자 장치(100)는 일 실시 예에 따라 애플리케이션이 배포될 지역에 관한 정보를 확인할 수 있다. 예를 들어, 전자 장치(100)는 사용자 단말 또는 작업자 단말로부터 애플리케이션이 배포될 지역에 관한 정보를 수신할 수 있다.In step S820, the electronic device 100 may check information about the region where the application will be distributed, according to one embodiment. For example, the electronic device 100 may receive information about the area where the application will be distributed from the user terminal or worker terminal.

S830 단계에서, 전자 장치(100)는 일 실시 예에 따라 하나 이상의 모듈들의 프라이빗 파트에 포함된 하나 이상의 임플리멘테이션들 중 애플리케이션이 배포될 지역에 대응하는 적어도 하나의 임플리멘테이션을 확인할 수 있다. 예를 들어, 애플리케이션이 배포될 지역이 대만인 경우, 전자 장치(100)는 하나 이상의 모듈들의 프라이빗 파트에 포함된 하나 이상의 임플리멘테이션들 중 대만에서 배포되는 버전의 애플리케이션을 구현하기 위한 코드를 포함하는 적어도 하나의 임플리멘테이션을 확인할 수 있다.In step S830, the electronic device 100 may check at least one implementation corresponding to the region where the application is to be distributed among one or more implementations included in the private part of one or more modules according to an embodiment. there is. For example, if the region where the application is to be distributed is Taiwan, the electronic device 100 includes code for implementing a version of the application distributed in Taiwan among one or more implementations included in the private part of one or more modules. You can identify at least one implementation that does this.

S840 단계에서, 전자 장치(100)는 일 실시 예에 따라 제1 정보, 제2 정보 및 제3 정보에 기초하여, 적어도 하나의 임플리멘테이션에 대하여 의존성 규칙이 준수되는지 여부를 확인할 수 있다. 예를 들어, 전자 장치(100)는 적어도 하나의 임플리멘테이션이 다른 모듈의 프라이빗 파트에 의존하는지 여부 또는 적어도 하나의 임플리멘테이션이 상위 레이어의 모듈에 의존하는지 여부를 확인할 수 있다. 또는, 전자 장치(100)는 다른 모듈이 적어도 하나의 임플리멘테이션에 의존하는지 여부를 확인할 수 있다.In step S840, the electronic device 100 may check whether a dependency rule is observed for at least one implementation based on the first information, second information, and third information, according to one embodiment. For example, the electronic device 100 may check whether at least one implementation depends on a private part of another module or whether at least one implementation depends on a module of a higher layer. Alternatively, the electronic device 100 may check whether another module depends on at least one implementation.

S850 단계에서, 전자 장치(100)는 일 실시 예에 따라 의존성 규칙의 준수 여부에 관한 정보를 제공할 수 있다. 예를 들어, 전자 장치(100)는 적어도 하나의 모듈 중 의존성 규칙을 준수하지 않는 모듈에 관한 정보 및 상기 모듈이 준수하지 않은 규칙에 관한 정보를 사용자 단말로 송신할 수 있다.In step S850, the electronic device 100 may provide information regarding compliance with dependency rules, according to one embodiment. For example, the electronic device 100 may transmit information about a module that does not comply with a dependency rule among at least one module and information about a rule that the module does not comply with to the user terminal.

도 9는 일 실시 예에 따른 전자 장치의 정보 제공 방법의 흐름도를 나타낸다. 중복되는 내용에 대해서는 전술한 기재가 적용될 수 있다.Figure 9 shows a flowchart of a method for providing information by an electronic device according to an embodiment. The foregoing description may apply to overlapping content.

S900 단계에서, 전자 장치는 애플리케이션에 포함된 하나 이상의 레이어(layer)들에 관한 제1 정보 및 하나 이상의 레이어들 각각에 대응하는 하나 이상의 모듈들의 퍼블릭(public) 파트 및 프라이빗(private) 파트에 관한 제2 정보를 확인할 수 있다.In step S900, the electronic device receives first information about one or more layers included in the application and information about the public part and private part of one or more modules corresponding to each of the one or more layers. 2 You can check the information.

일 실시 예에 따라, 하나 이상의 모듈들 중 제5 모듈의 퍼블릭 파트는 제5 모듈에 관한 인터페이스 및 데이터 모델을 포함하고, 제5 모듈의 프라이빗 파트는 인터페이스의 하나 이상의 임플리멘테이션(implementation)을 포함할 수 있다.According to one embodiment, the public part of the fifth module among the one or more modules includes an interface and a data model for the fifth module, and the private part of the fifth module includes one or more implementations of the interface. It can be included.

일 실시 예에 따라, 애플리케이션이 배포될 때, 하나 이상의 임플리멘테이션 중 애플리케이션이 배포될 지역에 대응하는 임플리멘테이션이 구현될 수 있다.According to one embodiment, when an application is distributed, among one or more implementations, an implementation corresponding to the region in which the application is to be distributed may be implemented.

일 실시 예에 따라, 제1 정보 및 제2 정보를 확인할 때, 전자 장치는 레이어 설정 정보 및 모듈 설정 정보를 포함하는 애플리케이션의 아키텍처 정보를 획득하고, 레이어 설정 정보에 기초하여 제1 정보를 확인하고, 모듈 설정 정보에 기초하여 제2 정보를 확인할 수 있다.According to one embodiment, when checking the first information and the second information, the electronic device acquires architecture information of the application including layer setting information and module setting information, confirms the first information based on the layer setting information, and , the second information can be confirmed based on the module setting information.

S920 단계에서, 전자 장치는 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인할 수 있다.In step S920, the electronic device may check third information regarding the dependency relationship between one or more modules.

일 실시 예에 따라, 제3 정보를 확인할 때, 전자 장치는 사용자 단말로부터 풀 리퀘스트를 획득하고, 풀 리퀘스트에 기초하여, 제3 정보를 확인할 수 있다.According to one embodiment, when checking third information, the electronic device may obtain a pull request from the user terminal and confirm the third information based on the pull request.

S940 단계에서, 전자 장치는 제1 정보, 제2 정보 및 제3 정보에 기초하여, 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인할 수 있다.In step S940, the electronic device may check whether dependency rules are observed for one or more modules based on the first information, second information, and third information.

일 실시 예에 따라, 의존성 규칙은, 하나 이상의 모듈들 중 제1 모듈의 퍼블릭 파트 또는 제1 모듈의 프라이빗 파트가 제2 모듈의 프라이빗 파트에 의존할 수 없다는 제1 규칙; 및 하나 이상의 모듈들 중 하위 레이어에 포함된 제3 모듈이 상위 레이어에 포함된 제4 모듈에 의존할 수 없다는 제2 규칙을 포함할 수 있다.According to one embodiment, the dependency rules include: a first rule that the public part of a first module or the private part of the first module among the one or more modules cannot depend on the private part of the second module; and a second rule that a third module included in a lower layer among one or more modules cannot depend on a fourth module included in an upper layer.

S960 단계에서, 전자 장치는 의존성 규칙의 준수 여부에 관한 정보를 제공할 수 있다.In step S960, the electronic device may provide information regarding compliance with the dependency rule.

일 실시 예에 따라, 의존성 규칙의 준수 여부에 관한 정보는, 하나 이상의 모듈들 중 의존성 규칙을 준수하지 않는 제6 모듈에 관한 정보 및 제6 모듈이 준수하지 않은 규칙에 관한 정보를 포함할 수 있다.According to one embodiment, the information about compliance with the dependency rule may include information about a sixth module among one or more modules that does not comply with the dependency rule and information about the rule that the sixth module does not comply with. .

일 실시 예에 따라 정보 제공 방법은, 사용자 단말로부터 풀 리퀘스트(pull request)를 획득함에 따라 개시될 수 있다. 이때, 하나 이상의 모듈들에 대한 의존성 규칙이 준수되지 않은 것으로 확인된 경우, 전자 장치는 풀 리퀘스트를 거절하도록 설정하는 정보를 생성할 수 있다.According to one embodiment, a method for providing information may be initiated by obtaining a pull request from a user terminal. At this time, if it is confirmed that the dependency rules for one or more modules are not observed, the electronic device may generate information that configures the electronic device to reject the pull request.

일 실시 예에 따라, 전자 장치는 하나 이상의 모듈들 간의 변경된 의존 관계에 관한 제4 정보를 확인하고, 제3 정보 및 제4 정보에 기초하여, 하나 이상의 모듈들 중 의존 관계가 변경된 적어도 하나의 모듈을 확인하며, 제1 정보, 제2 정보 및 제4 정보에 기초하여, 적어도 하나의 모듈에 대하여 의존성 규칙이 준수되는지 여부를 확인할 수 있다.According to one embodiment, the electronic device determines fourth information regarding a changed dependency relationship between one or more modules, and based on the third information and the fourth information, at least one module whose dependency relationship has changed among the one or more modules. , and based on the first information, second information, and fourth information, it can be confirmed whether the dependency rule is observed for at least one module.

일 실시 예에 따라, 전자 장치는 애플리케이션이 배포될 지역에 관한 정보를 확인하고, 하나 이상의 모듈들의 프라이빗 파트에 포함된 하나 이상의 임플리멘테이션들 중 애플리케이션이 배포될 지역에 대응하는 적어도 하나의 임플리멘테이션을 확인하며, 제1 정보, 제2 정보 및 제3 정보에 기초하여, 적어도 하나의 임플리멘테이션에 대하여 의존성 규칙이 준수되는지 여부를 확인According to one embodiment, the electronic device determines information about the region in which the application will be distributed, and selects at least one implementation corresponding to the region in which the application is to be distributed among one or more implementations included in the private part of one or more modules. Check the implementation and, based on the first information, second information and third information, check whether the dependency rule is observed for at least one implementation

도 10은 일 실시 예에 따른 전자 장치(100)의 블록도를 나타낸다.FIG. 10 shows a block diagram of an electronic device 100 according to an embodiment.

전자 장치(100)는 일 실시 예에 따라, 통신부(communication device)(1020), 메모리(1040) 및 제어부(controller)(1060)를 포함할 수 있다. 도 10에 도시된 전자 장치(100)는 본 실시 예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 10에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 전자 장치(100)는 전술한 서버에 관한 내용을 포함할 수 있는 바, 중복되는 내용에 대해서는 설명을 생략한다. 실시 예에서 통신부는 하나 이상의 트랜시버(transceiver)를 포함할 수 있다. 또한, 실시 예에서 제어부는 하나 이상의 프로세서(processor)를 포함할 수 있다.According to one embodiment, the electronic device 100 may include a communication device 1020, a memory 1040, and a controller 1060. The electronic device 100 shown in FIG. 10 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. 10. Since the electronic device 100 may include content related to the above-described server, description of overlapping content will be omitted. In an embodiment, the communication unit may include one or more transceivers. Additionally, in an embodiment, the control unit may include one or more processors.

통신부(1020)는 유/무선 통신을 수행하기 위한 장치로서, 외부의 전자 장치와 통신할 수 있다. 외부의 전자 장치는 단말 또는 서버가 될 수 있다. 또한, 통신부(1020)가 이용하는 통신 기술에는 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) 등이 있을 수 있다. The communication unit 1020 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. In addition, communication technologies used by the communication unit 1020 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.

제어부(1060)는 전자 장치(100)의 전반의 동작을 제어하고 데이터 및 신호를 처리할 수 있다. 제어부(1060)는 적어도 하나의 하드웨어 유닛으로 구성될 수 있다. 또한, 제어부(1060)는 메모리(1040)에 저장된 프로그램 코드를 실행하여 생성되는 하나 이상의 소프트웨어 모듈에 의해 동작할 수 있다. 제어부(1060)는 프로세서 및 메모리를 포함할 수 있는 바, 프로세서는 메모리에 저장된 프로그램 코드를 실행하여 전자 장치(100)의 전반의 동작을 제어하고 데이터 및 신호를 처리할 수 있다. 또한 실시 예에서 제어부(1060)는 적어도 하나의 프로세서를 포함할 수 있다. The control unit 1060 can control the overall operation of the electronic device 100 and process data and signals. The control unit 1060 may be composed of at least one hardware unit. Additionally, the control unit 1060 may operate by one or more software modules generated by executing program codes stored in the memory 1040. The control unit 1060 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 1060 may include at least one processor.

제어부(1060)는 애플리케이션을 구성하는 하나 이상의 레이어(layer)들에 관한 제1 정보 및 하나 이상의 레이어들 각각에 포함된 하나 이상의 모듈들의 퍼블릭(public) 파트 및 프라이빗(private) 파트에 관한 제2 정보를 확인하고, 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인하고, 제1 정보, 제2 정보 및 제3 정보에 기초하여, 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하고, 의존성 규칙의 준수 여부를 확인한 결과에 관한 정보를 제공할 수 있다.The control unit 1060 provides first information about one or more layers constituting the application and second information about the public part and private part of one or more modules included in each of the one or more layers. Verify third information about the dependency relationship between one or more modules, and based on the first information, second information, and third information, determine whether dependency rules are observed for one or more modules; , information can be provided regarding the results of checking compliance with dependency rules.

전술한 실시 예들에 따른 전자 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-Access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독 가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다. Electronic devices according to the above-described embodiments 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. Here, 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.

본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.This embodiment can be represented by functional block configurations and various processing steps. These functional blocks may be implemented as any number 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, this embodiment includes 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. Additionally, 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.

전술한 실시 예들은 일 예시일 뿐 후술하는 청구항들의 범위 내에서 다른 실시 예들이 구현될 수 있다.The above-described embodiments are merely examples and other embodiments may be implemented within the scope of the claims described below.

Claims (13)

전자 장치의 정보 제공 방법에 있어서,
애플리케이션에 포함된 하나 이상의 레이어(layer)들에 관한 제1 정보 및 상기 하나 이상의 레이어들 각각에 대응하는 하나 이상의 모듈들의 퍼블릭(public) 파트 및 프라이빗(private) 파트에 관한 제2 정보를 확인하는 단계;
상기 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인하는 단계;
상기 제1 정보, 상기 제2 정보 및 상기 제3 정보에 기초하여, 상기 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하는 단계; 및
상기 의존성 규칙의 준수 여부에 관한 정보를 제공하는 단계를 포함하고,
상기 의존성 규칙은,
상기 하나 이상의 모듈들 중 제1 모듈의 퍼블릭 파트 또는 상기 제1 모듈의 프라이빗 파트가 제2 모듈의 프라이빗 파트에 의존할 수 없다는 제1 규칙; 및
상기 하나 이상의 모듈들 중 하위 레이어에 포함된 제3 모듈이 상위 레이어에 포함된 제4 모듈에 의존할 수 없다는 제2 규칙을 포함하는, 정보 제공 방법.
In a method of providing information by an electronic device,
Confirming first information about one or more layers included in the application and second information about the public part and private part of one or more modules corresponding to each of the one or more layers. ;
confirming third information about a dependency relationship between the one or more modules;
based on the first information, the second information, and the third information, checking whether dependency rules are observed for the one or more modules; and
Providing information regarding compliance with said dependency rules,
The dependency rule is,
a first rule that the public part of a first module or the private part of the first module among the one or more modules cannot depend on the private part of the second module; and
A method for providing information, including a second rule that a third module included in a lower layer among the one or more modules cannot depend on a fourth module included in an upper layer.
삭제delete 전자 장치의 정보 제공 방법에 있어서,
애플리케이션에 포함된 하나 이상의 레이어(layer)들에 관한 제1 정보 및 상기 하나 이상의 레이어들 각각에 대응하는 하나 이상의 모듈들의 퍼블릭(public) 파트 및 프라이빗(private) 파트에 관한 제2 정보를 확인하는 단계;
상기 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인하는 단계;
상기 제1 정보, 상기 제2 정보 및 상기 제3 정보에 기초하여, 상기 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하는 단계; 및
상기 의존성 규칙의 준수 여부에 관한 정보를 제공하는 단계를 포함하고,상기 하나 이상의 모듈들 중 제5 모듈의 퍼블릭 파트는 상기 제5 모듈에 관한 인터페이스 및 데이터 모델을 포함하고,
상기 제5 모듈의 프라이빗 파트는 상기 인터페이스의 하나 이상의 임플리멘테이션(implementation)을 포함하는, 정보 제공 방법.
In a method of providing information by an electronic device,
Confirming first information about one or more layers included in the application and second information about the public part and private part of one or more modules corresponding to each of the one or more layers. ;
confirming third information about a dependency relationship between the one or more modules;
based on the first information, the second information, and the third information, checking whether dependency rules are observed for the one or more modules; and
Providing information regarding compliance with the dependency rule, wherein the public part of a fifth module among the one or more modules includes an interface and a data model for the fifth module,
The private part of the fifth module includes one or more implementations of the interface.
제3 항에 있어서,
상기 애플리케이션이 배포될 때, 상기 하나 이상의 임플리멘테이션 중 상기 애플리케이션이 배포될 지역에 대응하는 임플리멘테이션이 구현되는, 정보 제공 방법.
According to clause 3,
When the application is distributed, an implementation corresponding to a region in which the application is to be distributed among the one or more implementations is implemented.
제1 항에 있어서, 상기 의존성 규칙의 준수 여부에 관한 정보는,
상기 하나 이상의 모듈들 중 상기 의존성 규칙을 준수하지 않는 제6 모듈에 관한 정보; 및
상기 제6 모듈이 준수하지 않은 규칙에 관한 정보를 포함하는, 정보 제공 방법.
The method of claim 1, wherein the information regarding compliance with the dependency rule is:
Information about a sixth module among the one or more modules that does not comply with the dependency rule; and
A method of providing information, including information about rules that the sixth module does not comply with.
전자 장치의 정보 제공 방법에 있어서,
애플리케이션에 포함된 하나 이상의 레이어(layer)들에 관한 제1 정보 및 상기 하나 이상의 레이어들 각각에 대응하는 하나 이상의 모듈들의 퍼블릭(public) 파트 및 프라이빗(private) 파트에 관한 제2 정보를 확인하는 단계;
상기 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인하는 단계;
상기 제1 정보, 상기 제2 정보 및 상기 제3 정보에 기초하여, 상기 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하는 단계; 및
상기 의존성 규칙의 준수 여부에 관한 정보를 제공하는 단계를 포함하고,
상기 정보 제공 방법은, 사용자 단말로부터 풀 리퀘스트(pull request)를 획득함에 따라 개시되는, 정보 제공 방법.
In a method of providing information by an electronic device,
Confirming first information about one or more layers included in the application and second information about the public part and private part of one or more modules corresponding to each of the one or more layers. ;
confirming third information about a dependency relationship between the one or more modules;
based on the first information, the second information, and the third information, checking whether dependency rules are observed for the one or more modules; and
Providing information regarding compliance with said dependency rules,
The information provision method is initiated by obtaining a pull request from a user terminal.
제6 항에 있어서,
상기 하나 이상의 모듈들에 대한 의존성 규칙이 준수되지 않은 것으로 확인된 경우, 상기 풀 리퀘스트를 거절하도록 설정하는 정보를 생성하는 단계를 더 포함하는, 정보 제공 방법.
According to clause 6,
A method of providing information further comprising generating information that configures the pull request to be rejected when it is determined that dependency rules for the one or more modules are not adhered to.
제1 항에 있어서, 상기 제1 정보 및 상기 제2 정보를 확인하는 단계는,
레이어 설정 정보 및 모듈 설정 정보를 포함하는 상기 애플리케이션의 아키텍처 정보를 획득하는 단계;
상기 레이어 설정 정보에 기초하여 상기 제1 정보를 확인하고, 상기 모듈 설정 정보에 기초하여 상기 제2 정보를 확인하는 단계를 포함하는, 정보 제공 방법.
The method of claim 1, wherein confirming the first information and the second information comprises:
Obtaining architecture information of the application including layer setting information and module setting information;
Confirming the first information based on the layer setting information and confirming the second information based on the module setting information.
전자 장치의 정보 제공 방법에 있어서,
애플리케이션에 포함된 하나 이상의 레이어(layer)들에 관한 제1 정보 및 상기 하나 이상의 레이어들 각각에 대응하는 하나 이상의 모듈들의 퍼블릭(public) 파트 및 프라이빗(private) 파트에 관한 제2 정보를 확인하는 단계;
상기 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인하는 단계;
상기 제1 정보, 상기 제2 정보 및 상기 제3 정보에 기초하여, 상기 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하는 단계; 및
상기 의존성 규칙의 준수 여부에 관한 정보를 제공하는 단계를 포함하고,
상기 제3 정보를 확인하는 단계는,
사용자 단말로부터 풀 리퀘스트를 획득하는 단계; 및
상기 풀 리퀘스트에 기초하여, 상기 제3 정보를 확인하는 단계를 포함하는, 정보 제공 방법.
In a method of providing information by an electronic device,
Confirming first information about one or more layers included in the application and second information about the public part and private part of one or more modules corresponding to each of the one or more layers. ;
confirming third information about a dependency relationship between the one or more modules;
based on the first information, the second information, and the third information, checking whether dependency rules are observed for the one or more modules; and
Providing information regarding compliance with said dependency rules,
The step of confirming the third information is,
Obtaining a pull request from a user terminal; and
A method of providing information, including confirming the third information based on the pull request.
전자 장치의 정보 제공 방법에 있어서,
애플리케이션에 포함된 하나 이상의 레이어(layer)들에 관한 제1 정보 및 상기 하나 이상의 레이어들 각각에 대응하는 하나 이상의 모듈들의 퍼블릭(public) 파트 및 프라이빗(private) 파트에 관한 제2 정보를 확인하는 단계;
상기 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인하는 단계;
상기 제1 정보, 상기 제2 정보 및 상기 제3 정보에 기초하여, 상기 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하는 단계; 및
상기 의존성 규칙의 준수 여부에 관한 정보를 제공하는 단계를 포함하고,
상기 정보 제공 방법은,
상기 하나 이상의 모듈들 간의 변경된 의존 관계에 관한 제4 정보를 확인하는 단계;
상기 제3 정보 및 상기 제4 정보에 기초하여, 상기 하나 이상의 모듈들 중 의존 관계가 변경된 적어도 하나의 모듈을 확인하는 단계;
상기 제1 정보, 상기 제2 정보 및 상기 제4 정보에 기초하여, 상기 적어도 하나의 모듈에 대하여 상기 의존성 규칙이 준수되는지 여부를 확인하는 단계를 더 포함하는, 정보 제공 방법.
In a method of providing information by an electronic device,
Confirming first information about one or more layers included in the application and second information about the public part and private part of one or more modules corresponding to each of the one or more layers. ;
confirming third information about a dependency relationship between the one or more modules;
based on the first information, the second information, and the third information, checking whether dependency rules are observed for the one or more modules; and
Providing information regarding compliance with said dependency rules,
The method of providing the above information is:
confirming fourth information regarding a changed dependency relationship between the one or more modules;
Based on the third information and the fourth information, confirming at least one module whose dependency relationship has changed among the one or more modules;
Based on the first information, the second information, and the fourth information, the information providing method further includes checking whether the dependency rule is observed for the at least one module.
전자 장치의 정보 제공 방법에 있어서,
애플리케이션에 포함된 하나 이상의 레이어(layer)들에 관한 제1 정보 및 상기 하나 이상의 레이어들 각각에 대응하는 하나 이상의 모듈들의 퍼블릭(public) 파트 및 프라이빗(private) 파트에 관한 제2 정보를 확인하는 단계;
상기 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인하는 단계;
상기 제1 정보, 상기 제2 정보 및 상기 제3 정보에 기초하여, 상기 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하는 단계; 및
상기 의존성 규칙의 준수 여부에 관한 정보를 제공하는 단계를 포함하고,
상기 정보 제공 방법은,
상기 애플리케이션이 배포될 지역에 관한 정보를 확인하는 단계;
상기 하나 이상의 모듈들의 프라이빗 파트에 포함된 하나 이상의 임플리멘테이션들 중 상기 애플리케이션이 배포될 지역에 대응하는 적어도 하나의 임플리멘테이션을 확인하는 단계; 및
상기 제1 정보, 상기 제2 정보 및 상기 제3 정보에 기초하여, 상기 적어도 하나의 임플리멘테이션에 대하여 상기 의존성 규칙이 준수되는지 여부를 확인하는 단계를 더 포함하는, 정보 제공 방법.
In a method of providing information by an electronic device,
Confirming first information about one or more layers included in the application and second information about the public part and private part of one or more modules corresponding to each of the one or more layers. ;
confirming third information about a dependency relationship between the one or more modules;
based on the first information, the second information, and the third information, checking whether dependency rules are observed for the one or more modules; and
Providing information regarding compliance with said dependency rules,
The method of providing the above information is:
Confirming information about the region where the application will be distributed;
Confirming at least one implementation corresponding to a region in which the application is to be distributed among one or more implementations included in the private part of the one or more modules; and
Based on the first information, the second information, and the third information, the information providing method further includes checking whether the dependency rule is observed for the at least one implementation.
제1 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체.
A non-transitory computer-readable recording medium that records a program for executing the method of claim 1 on a computer.
전자 장치로서,
통신부;
메모리; 및
제어부(controller)를 포함하고, 상기 제어부는,
애플리케이션을 구성하는 하나 이상의 레이어(layer)들에 관한 제1 정보 및 상기 하나 이상의 레이어들 각각에 포함된 하나 이상의 모듈들의 퍼블릭(public) 파트 및 프라이빗(private) 파트에 관한 제2 정보를 확인하고,
상기 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인하고,
상기 제1 정보, 상기 제2 정보 및 상기 제3 정보에 기초하여, 상기 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하고,
상기 의존성 규칙의 준수 여부를 확인한 결과에 관한 정보를 제공하고,
상기 의존성 규칙은,
상기 하나 이상의 모듈들 중 제1 모듈의 퍼블릭 파트 또는 상기 제1 모듈의 프라이빗 파트가 제2 모듈의 프라이빗 파트에 의존할 수 없다는 제1 규칙; 및
상기 하나 이상의 모듈들 중 하위 레이어에 포함된 제3 모듈이 상위 레이어에 포함된 제4 모듈에 의존할 수 없다는 제2 규칙을 포함하는, 전자 장치.
As an electronic device,
Ministry of Communications;
Memory; and
It includes a controller, wherein the controller includes:
Confirming first information about one or more layers constituting an application and second information about public parts and private parts of one or more modules included in each of the one or more layers,
Confirm third information regarding dependency relationships between the one or more modules,
Based on the first information, the second information, and the third information, determine whether dependency rules are observed for the one or more modules,
Provide information on the results of checking compliance with the above dependency rules,
The dependency rule is,
a first rule that the public part of a first module or the private part of the first module among the one or more modules cannot depend on the private part of the second module; and
An electronic device comprising a second rule that a third module included in a lower layer among the one or more modules cannot depend on a fourth module included in an upper layer.
KR1020220173957A 2022-12-13 2022-12-13 Electronic apparatus and providing inforation method thereof KR102616785B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020220173957A KR102616785B1 (en) 2022-12-13 2022-12-13 Electronic apparatus and providing inforation method thereof
PCT/KR2023/001531 WO2024128401A1 (en) 2022-12-13 2023-02-02 Electronic device and information provision method thereof
KR1020230184714A KR20240088629A (en) 2022-12-13 2023-12-18 Electronic apparatus and providing information method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220173957A KR102616785B1 (en) 2022-12-13 2022-12-13 Electronic apparatus and providing inforation method thereof

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020230184714A Division KR20240088629A (en) 2022-12-13 2023-12-18 Electronic apparatus and providing information method thereof

Publications (1)

Publication Number Publication Date
KR102616785B1 true KR102616785B1 (en) 2023-12-27

Family

ID=89377665

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020220173957A KR102616785B1 (en) 2022-12-13 2022-12-13 Electronic apparatus and providing inforation method thereof
KR1020230184714A KR20240088629A (en) 2022-12-13 2023-12-18 Electronic apparatus and providing information method thereof

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020230184714A KR20240088629A (en) 2022-12-13 2023-12-18 Electronic apparatus and providing information method thereof

Country Status (2)

Country Link
KR (2) KR102616785B1 (en)
WO (1) WO2024128401A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004534304A (en) * 2001-05-30 2004-11-11 ビーイーエイ システムズ, インコーポレイテッド System and method for a software component plug-in framework
US20150268955A1 (en) * 2014-03-24 2015-09-24 Tata Consultancy Services Limited System and method for extracting a business rule embedded in an application source code
JP2015537320A (en) * 2012-12-11 2015-12-24 ドイッチェ テレコム アーゲー Computer-implemented method, system, and computer program product for deploying applications on computational resources
KR20210131436A (en) * 2014-11-14 2021-11-02 콘비다 와이어리스, 엘엘씨 Permission based resource and service discovery

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483970B2 (en) * 2001-12-12 2009-01-27 Symantec Corporation Method and apparatus for managing components in an IT system
KR101064737B1 (en) * 2009-03-20 2011-09-16 주식회사 케이티 Mobile terminal with mobile platform managed and updated in module type, method for operating the mobile platform, managing module and updating the module
US9967318B2 (en) * 2011-02-09 2018-05-08 Cisco Technology, Inc. Apparatus, systems, and methods for cloud agnostic multi-tier application modeling and deployment
KR102105690B1 (en) * 2016-04-27 2020-04-28 한국전자통신연구원 Network Computing Testbed System Based on Open Source Virtualized Cloud Environment
KR20210060181A (en) * 2019-11-18 2021-05-26 현대자동차주식회사 Electronic device executing application and application controlling method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004534304A (en) * 2001-05-30 2004-11-11 ビーイーエイ システムズ, インコーポレイテッド System and method for a software component plug-in framework
JP2015537320A (en) * 2012-12-11 2015-12-24 ドイッチェ テレコム アーゲー Computer-implemented method, system, and computer program product for deploying applications on computational resources
US20150268955A1 (en) * 2014-03-24 2015-09-24 Tata Consultancy Services Limited System and method for extracting a business rule embedded in an application source code
KR20210131436A (en) * 2014-11-14 2021-11-02 콘비다 와이어리스, 엘엘씨 Permission based resource and service discovery

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
‘ArchUnit 소개’, tistory.com, 2021.09.30.* *

Also Published As

Publication number Publication date
WO2024128401A1 (en) 2024-06-20
KR20240088629A (en) 2024-06-20

Similar Documents

Publication Publication Date Title
CN106538042B (en) Subscriber identity module management method and electronic device supporting the same
US8909291B1 (en) Dynamic remotely managed SIM profile
CN110046023B (en) Data processing method and system based on intelligent contract of block chain
RU2557471C2 (en) Acoustic authentication for recording in wireless network
CN110009321B (en) Transfer method and system based on block chain intelligent contract
CN110048846B (en) Signature verification method and system based on block chain intelligent contract
US11887109B1 (en) Service composition in a mobile communication device application framework
US20210141913A1 (en) System and Method for Management of Policies and User Data during Application Access Sessions
KR20150026635A (en) Electronic device and method for transmitting notification information
KR102205005B1 (en) Method for providing service for shared office
CN110046991B (en) Data processing method and system based on intelligent contract of block chain
US20140372528A1 (en) Information processing system, information processing apparatus, and recording medium
US20140321446A1 (en) Connection information control method and electronic device therefor
US10306433B1 (en) Mobile phone differentiated user set-up
US11741175B2 (en) Performance metrics collection and promulgation from within a mobile application
CN104737128A (en) Re-use of binaries for multiple user accounts
KR102616785B1 (en) Electronic apparatus and providing inforation method thereof
JP7287497B2 (en) response processing system
CN112114804A (en) Application program generation method, device and system
KR20120076479A (en) System and method for producing application
JP6956233B1 (en) Information processing equipment, information processing methods, and information processing programs
US11769144B2 (en) Provisioning credentials for an electronic transaction on an electronic device
KR20130123149A (en) Method for data network access authentication and an electronic device thereof
KR102614650B1 (en) Electronic apparatus and managing api method thereof
KR20140028273A (en) Method for connectivity information control and an electronic device thereof

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant