KR102616785B1 - Electronic apparatus and providing inforation method thereof - Google Patents
Electronic apparatus and providing inforation method thereof Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004891 communication Methods 0.000 claims description 20
- 238000013499 data model Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting 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
본 개시는 애플리케이션에 포함된 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하고, 의존성 규칙을 준수하지 않는 모듈 및 모듈이 준수하지 않은 규칙에 관한 정보를 사용자에게 제공하기 위한 전자 장치 및 그 제어 방법에 관한 것이다.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
전자 장치(100)는 다양한 정보를 구성하여 제공하는 장치이다. 전자 장치(100)는 구성된 정보를 웹 페이지 또는 어플리케이션 화면 등으로 제공하거나, 제공받는 단말에서 웹 페이지 또는 어플리케이션 화면 등으로 표시할 수 있는 형태의 정보로 제공할 수 있다.The
일 실시 예에 따르면, 전자 장치(100)는 애플리케이션에 포함된 하나 이상의 레이어들에 관한 제1 정보, 하나 이상의 레이어들 각각에 대응하는 하나 이상의 모듈들의 퍼블릭 파트 및 프라이빗 파트에 관한 제2 정보 및 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인할 수 있다. 이후, 전자 장치(100)는 제1 정보, 제2 정보 및 제3 정보에 기초하여, 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하고, 의존성 규칙의 준수 여부에 관한 정보를 하나 이상의 사용자 단말들(120, 140, 160)로 송신할 수 있다.According to one embodiment, the
하나 이상의 사용자 단말들(120, 140, 160)은 사용자들 각각이 사용하는 단말로서, 사용자들은 각자의 사용자 단말(120, 140, 160)을 이용하여 네트워크(180)에 의해 제공되는 서비스에 접근할 수 있다. 예를 들어, 전자 장치(100)는 사용자가 작성한 코드가 의존성 규칙을 준수하는지 여부에 관한 정보를 제공하는 플랫폼 또는 어플리케이션을 하나 이상의 사용자 단말들(120, 140, 160)에 제공할 수 있다. 사용자들은 각자의 사용자 단말(120, 140, 160)에 설치된 플랫폼 또는 어플리케이션 등을 이용하여 자신이 작성한 코드가 의존성 규칙을 준수하는지 여부를 확인할 수 있다.One or
하나 이상의 사용자 단말들(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
도 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
일 실시 예에 따르면, 애플리케이션 레이어(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
일 실시 예에 따르면, 각각의 레이어에 포함된 모듈들 간에는 의존(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
이때, 제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
일 실시 예에 따르면, 모듈(300)의 퍼블릭(public) 파트(310)는 인터페이스(330) 및 데이터 모델(340)을 포함할 수 있다. 예를 들어, 퍼블릭 파트(310)는 대외로 보여지는 인터페이스(330) 및 관련 데이터를 가져오고 내보내는 기능을 수행하는 데이터 모델(340)을 포함할 수 있다.According to one embodiment, the
일 실시 예에 따르면, 모듈(300)의 프라이빗(private) 파트(320)는 하나 이상의 임플리멘테이션(350, 360, 370)을 포함할 수 있다. 예를 들어, 프라이빗 파트(320)는 인터페이스(330)를 상이하게 구현하게 위한 하나 이상의 임플리멘테이션(350, 360, 370)을 포함할 수 있다.According to one embodiment, the
일 실시 예에 따르면, 하나 이상의 임플리멘테이션(350, 360, 370) 각각은 애플리케이션이 배포될 지역에 대응할 수 있고, 각각에 대응하는 지역에 따라 상이한 코드를 포함할 수 있다. 예를 들어, 제1 임플리멘테이션(350)은 한국에서 배포되는 버전의 애플리케이션을 구현하기 위한 코드를 포함할 수 있고, 제2 임플리멘테이션(360)은 일본에서 배포되는 버전의 애플리케이션을 구현하기 위한 코드를 포함할 수 있으며, 제3 임플리멘테이션(370)은 대만에서 배포되는 버전의 애플리케이션을 구현하기 위한 코드를 포함할 수 있다.According to one embodiment, each of the one or
일 실시 예에 따르면, 애플리케이션이 배포될 때, 하나 이상의 임플리멘테이션(350, 360, 370) 중 애플리케이션이 배포될 지역에 대응하는 임플리멘테이션이 구현될 수 있다. 예를 들어, 애플리케이션이 한국에서 배포될 때, 프라이빗 파트(320)에 포함된 하나 이상의 임플리멘테이션(350, 360, 370) 중 한국에 대응하는 제1 임플리멘테이션(350)이 구현될 수 있다. 이를 통해, 애플리케이션이 배포될 지역의 언어 또는 문화 등에 따라, 상이한 버전의 애플리케이션이 사용자에게 제공될 수 있다.According to one embodiment, when an application is distributed, one of one or
도 4는 일 실시 예에 따라 전자 장치(100)가 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하는 과정을 설명하기 위한 도면이다.FIG. 4 is a diagram illustrating a process by which the
일 실시 예에 따르면, 전자 장치(100)는 애플리케이션에 포함된 하나 이상의 레이어들에 관한 제1 정보를 확인하고, 하나 이상의 모듈들의 퍼블릭 파트 및 프라이빗 파트에 관한 제2 정보를 확인할 수 있다.According to one embodiment, the
예를 들어, 전자 장치(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
또는, 전자 장치(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
일 실시 예에 따르면, 전자 장치(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
일 실시 예에 따르면, 전자 장치(100)는 제1 정보, 제2 정보 및 제3 정보에 기초하여, 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인할 수 있다. 보다 구체적으로, 전자 장치(100)는 하나 이상의 모듈들 중 제1 모듈의 퍼블릭 파트 또는 제1 모듈의 프라이빗 파트가 제2 모듈의 프라이빗 파트에 의존할 수 없다는 제1 규칙 및 하위 레이어에 포함된 제3 모듈이 상위 레이어에 포함된 제4 모듈에 의존할 수 없다는 제2 규칙이 준수되는지 여부를 확인할 수 있다.According to one embodiment, the
예를 들어, 전자 장치(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
일 실시 예에 따르면, 전자 장치(100)는 의존성 규칙의 준수 여부에 관한 정보를 제공할 수 있다. 보다 구체적으로, 전자 장치(100)는 하나 이상의 모듈들 중 의존성 규칙을 준수하지 않는 모듈에 관한 정보 및 상기 모듈이 준수하지 않은 규칙에 관한 정보를 제공할 수 있다. 예를 들어, 전자 장치(100)는 제3 모듈(440)의 프라이빗 파트(444)에 관하여, 하위 레이어에 포함된 모듈이 상위 레이어에 포함된 모듈에 의존할 수 없다는 제2 규칙이 준수되지 않는다는 정보를 제공할 수 있다. 또는, 전자 장치(100)는 제2 모듈(410)의 퍼블릭 파트(422)에 관하여, 모듈의 퍼블릭 파트가 다른 모듈의 프라이빗 파트에 의존할 수 없다는 제1 규칙이 준수되지 않는다는 정보를 제공할 수 있다.According to one embodiment, the
도 5는 일 실시 예에 따라 전자 장치(100)가 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하는 과정을 설명하기 위한 도면이다. 도 4와 중복되는 내용은 간략히 설명하거나 생략하기로 한다.FIG. 5 is a diagram illustrating a process by which the
일 실시 예에 따르면, 전자 장치(100)는 애플리케이션에 포함된 하나 이상의 레이어들에 관한 제1 정보를 확인하고, 하나 이상의 모듈들의 퍼블릭 파트 및 프라이빗 파트에 관한 제2 정보를 확인할 수 있다.According to one embodiment, the
예를 들어, 전자 장치(100)는 레이어 설정 정보에 기초하여, 제1 레이어(500) 및 제2 레이어(530)를 확인하고, 제1 레이어(500) 및 제2 레이어(530) 간의 계층 구조를 확인할 수 있다. 또한, 전자 장치(100)는 레이어 설정 정보에 기초하여, 제1 레이어(500)에 포함된 체크아웃 모듈을 확인하고, 제2 레이어(530)에 포함된 결재 모듈을 확인할 수 있다.For example, the
또는, 전자 장치(100)는 모듈 설정 정보에 기초하여, 체크아웃 모듈의 퍼블릭 파트(510) 및 프라이빗 파트(520)를 확인할 수 있다. 또한, 전자 장치(100)는 모듈 설정 정보에 기초하여, 결재 모듈의 퍼블릭 파트(540) 및 프라이빗 파트(550)를 확인하고, 프라이빗 파트(550)에 포함된 Global 임플리멘테이션(560) 및 KR 임플리멘테이션(570)을 확인할 수 있다. 이때, Global 임플리멘테이션(560)은 애플리케이션이 한국 이외의 지역에서 배포될 때, 결재 인터페이스를 구현하기 위한 코드를 포함할 수 있고, KR 임플리멘테이션(570)은 애플리케이션이 한국에서 배포될 때, 결재 인터페이스를 구현하기 위한 코드를 포함할 수 있다.Alternatively, the
일 실시 예에 따르면, 전자 장치(100)는 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인할 수 있다. 예를 들어, 전자 장치(100)는 체크아웃 모듈의 퍼블릭 파트(510)가 결재 모듈의 퍼블릭 파트(540)에 의존함을 확인하고, 체크아웃 모듈의 프라이빗 파트(520)가 체크아웃 모듈의 퍼블릭 파트(510) 및 결재 모듈의 퍼블릭 파트(540)에 의존함을 확인할 수 있다. 또한, 전자 장치(100)는 결재 모듈의 프라이빗 파트(550)에 포함된 Global 임플리멘테이션(560) 및 KR 임플리멘테이션(570) 각각이 결재 모듈의 퍼블릭 파트(540)에 의존함을 확인할 수 있다.According to one embodiment, the
일 실시 예에 따르면, 전자 장치(100)는 제1 정보, 제2 정보 및 제3 정보에 기초하여, 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인할 수 있다. 예를 들어, 전자 장치(100)는 체크아웃 모듈의 퍼블릭 파트(510)가 결재 모듈의 퍼블릭 파트(540)에 의존하는 것과 체크아웃 모듈의 프라이빗 파트(520)가 체크아웃 모듈의 퍼블릭 파트(510) 및 결재 모듈의 퍼블릭 파트(540)에 의존하는 것은 의존성 규칙을 준수하는 것임을 확인할 수 있다. 또는, 전자 장치(100)는 결재 모듈의 프라이빗 파트(550)에 포함된 Global 임플리멘테이션(560) 및 KR 임플리멘테이션(570) 각각이 결재 모듈의 퍼블릭 파트(540)에 의존하는 것은 의존성 규칙을 준수하는 것임을 확인할 수 있다.According to one embodiment, the
일 실시 예에 따르면, 전자 장치(100)는 의존성 규칙의 준수 여부에 관한 정보를 제공할 수 있다. 예를 들어, 전자 장치(100)는 체크 아웃 모듈 및 결재 모듈에 관하여, 의존성 규칙이 준수된다는 정보를 제공할 수 있다.According to one embodiment, the
도 6a 및 도 6b는 일 실시 예에 따라 전자 장치(100)가 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하는 과정을 설명하기 위한 도면이다. 도 4와 중복되는 내용은 간략히 설명하거나 생략하기로 한다.FIGS. 6A and 6B are diagrams illustrating a process by which the
S600 단계에서, 전자 장치(100)는 일 실시 예에 따라 사용자 단말로부터 풀 리퀘스트를 획득할 수 있다. 예를 들어, 사용자는 하나 이상의 모듈들 간의 의존 관계에 관한 코드를 로컬(local) 저장소에 저장한 후, 저장된 코드를 통합 저장소에 저장된 마스터 브랜치(master branch) 또는 원본 코드에 병합할 것을 사용자 단말에 입력할 수 있다. 사용자 단말은 사용자의 입력에 기초하여, 저장된 코드에 관한 정보를 포함하는 풀 리퀘스트를 전자 장치(100)로 전송할 수 있다. 전자 장치(100)는 풀 리퀘스트를 획득함에 따라, 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부에 관한 정보 제공 방법을 개시할 수 있다.In step S600, the
한편, 전자 장치(100)는 복수의 사용자가 작성한 코드를 병합 및 관리하기 위한 장치 또는 작업자 단말로서, 사용자 단말로부터 직접 풀 리퀘스트를 수신할 수 있지만, 작업자 단말과는 별개로 존재하는 장치일 수 있다. 이 경우, 전자 장치(100)는 사용자 단말로부터 직접 풀 리퀘스트를 수신하는 대신, 사용자 단말이 풀 리퀘스트를 작업자 단말로 전송했다는 정보를 획득할 수 있다. 전자 장치(100)는 사용자 단말이 풀 리퀘스트를 작업자 단말로 전송했다는 정보를 획득함에 따라, 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부에 관한 정보 제공 방법을 개시할 수 있다.Meanwhile, the
S610 단계에서, 전자 장치(100)는 일 실시 예에 따라 레이어 설정 정보 및 모듈 설정 정보를 포함하는 애플리케이션의 아키텍처 정보를 획득할 수 있다. 예를 들어, 전자 장치(100)는 도 6b에 도시된 바와 같이, 레이어 설정 정보 및 모듈 설정 정보를 포함하는 애플리케이션의 아키텍처에 관한 코드를 사용자 단말 또는 작업자 단말로부터 수신할 수 있다. 이때, 애플리케이션의 아키텍처에 관한 코드 중 제1 코드(670)는 레이어 설정 정보를 나타낼 수 있고, 제2 코드(680)는 모듈 설정 정보를 나타낼 수 있다. 또한, 제2 코드(680)에 포함된 api는 모듈의 퍼블릭 파트를 나타낼 수 있고, implementation은 모듈의 프라이빗 파트를 나타낼 수 있다.In step S610, the
S620 단계에서, 전자 장치(100)는 일 실시 예에 따라 레이어 설정 정보에 기초하여, 애플리케이션에 포함된 하나 이상의 레이어들에 관한 제1 정보를 확인하고, 모듈 설정 정보에 기초하여, 하나 이상의 레이어들 각각에 대응하는 하나 이상의 모듈들의 퍼블릭 파트 및 프라이빗 파트에 관한 제2 정보를 확인할 수 있다.In step S620, the
예를 들어, 전자 장치(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
또는, 전자 장치(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
S630 단계에서, 전자 장치(100)는 일 실시 예에 따라 풀 리퀘스트에 기초하여 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인할 수 있다. 예를 들어, 전자 장치(100)는 사용자 단말로부터 수신한 풀 리퀘스트에 기초하여, 하나 이상의 모듈들 간의 의존 관계에 관한 코드를 확인할 수 있다.In step S630, the
S640 단계에서, 전자 장치(100)는 일 실시 예에 따라 제1 정보, 제2 정보 및 제3 정보에 기초하여, 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인할 수 있다. 예를 들어, 전자 장치(100)는 domain-gateway 모듈, domain-search 모듈, foundation-payment 모듈 또는 foundation-member 모듈 등에 대하여 의존성 규칙이 준수되는지 여부를 확인할 수 있다.In step S640, the
S650 단계에서, 전자 장치(100)는 일 실시 예에 따라 의존성 규칙의 준수 여부에 관한 정보를 제공할 수 있다. 예를 들어, 전자 장치(100)는 하나 이상의 모듈들 중 의존성 규칙을 준수하지 않는 모듈에 관한 정보 및 상기 모듈이 준수하지 않은 규칙에 관한 정보를 사용자 단말로 송신할 수 있다.In step S650, the
S660 단계에서, 하나 이상의 모듈들에 대한 의존성 규칙이 준수되지 않은 것으로 확인된 경우, 전자 장치(100)는 일 실시 예에 따라 풀 리퀘스트를 거절하도록 설정하는 정보를 생성할 수 있다. 예를 들어, 하나 이상의 모듈들 중 적어도 하나의 모듈에 대하여 준수되지 않는다는 것으로 확인된 경우, 전자 장치(100)는 사용자 단말이 풀 리퀘스트를 거절하도록 설정하는 정보를 생성하고, 사용자 단말로 송신할 수 있다.In step S660, if it is confirmed that the dependency rules for one or more modules are not observed, the
도 7은 일 실시 예에 따라 전자 장치(100)가 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하는 과정을 설명하기 위한 도면이다. 도 4와 중복되는 내용은 간략히 설명하거나 생략하기로 한다.FIG. 7 is a diagram illustrating a process by which the
S700 단계에서, 전자 장치(100)는 일 실시 예에 따라 애플리케이션에 포함된 하나 이상의 레이어들에 관한 제1 정보 및 하나 이상의 레이어들 각각에 대응하는 하나 이상의 모듈들의 퍼블릭 파트 및 프라이빗 파트에 관한 제2 정보를 확인할 수 있다. 예를 들어, 전자 장치(100)는 레이어 설정 정보에 기초하여, 애플리케이션에 포함된 하나 이상의 레이어들에 관한 제1 정보를 확인하고, 모듈 설정 정보에 기초하여, 하나 이상의 레이어들 각각에 대응하는 하나 이상의 모듈들의 퍼블릭 파트 및 프라이빗 파트에 관한 제2 정보를 확인할 수 있다.In step S700, according to an embodiment, the
S710 단계에서, 전자 장치(100)는 일 실시 예에 따라 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인할 수 있다. 예를 들어, 전자 장치(100)는 사용자 단말로부터 수신한 제1 풀 리퀘스트에 기초하여, 하나 이상의 모듈들 간의 의존 관계에 관한 제1 코드를 확인할 수 있다.In step S710, the
S720 단계에서, 전자 장치(100)는 일 실시 예에 따라 하나 이상의 모듈들 간의 변경된 의존 관계에 관한 제4 정보를 확인할 수 있다. 예를 들어, 전자 장치(100)는 하나 이상의 모듈들 간의 의존 관계에 관한 제2 코드를 포함하는 제2 풀 리퀘스트를 사용자 단말로부터 수신하고, 제2 풀 리퀘스트에 기초하여, 하나 이상의 모듈들 간의 의존 관계에 관한 제2 코드를 확인할 수 있다.In step S720, the
S730 단계에서, 전자 장치(100)는 일 실시 예에 따라 제3 정보 및 제4 정보에 기초하여, 하나 이상의 모듈들 중 의존 관계가 변경된 적어도 하나의 모듈을 확인할 수 있다. 예를 들어, 전자 장치(100)는 하나 이상의 모듈들 간의 의존 관계에 관한 제1 코드 및 하나 이상의 모듈들 간의 의존 관계에 관한 제2 코드를 비교하여, 제2 코드 중 제1 코드와 상이한 서브 코드를 확인할 수 있다. 이후, 전자 장치(100)는 제2 코드 중 제1 코드와 상이한 서브 코드에 대응하는 적어도 하나의 모듈을 확인할 수 있다.In step S730, the
S740 단계에서, 전자 장치(100)는 일 실시 예에 따라 제1 정보, 제2 정보 및 제4 정보에 기초하여, 적어도 하나의 모듈에 대하여 의존성 규칙이 준수되는지 여부를 확인할 수 있다. 예를 들어, 전자 장치(100)는 적어도 하나의 모듈이 다른 모듈의 프라이빗 파트에 의존하는지 여부 또는 적어도 하나의 모듈이 상위 레이어의 모듈에 의존하는지 여부를 확인할 수 있다. 또는, 전자 장치(100)는 다른 모듈이 적어도 하나의 모듈의 프라이빗 파트에 의존하는지 여부 또는 하위 레이어의 모듈이 적어도 하나의 모듈에 의존하는지 여부를 확인할 수 있다.In step S740, the
S750 단계에서, 전자 장치(100)는 일 실시 예에 따라 의존성 규칙의 준수 여부에 관한 정보를 제공할 수 있다. 예를 들어, 전자 장치(100)는 적어도 하나의 모듈 중 의존성 규칙을 준수하지 않는 모듈에 관한 정보 및 상기 모듈이 준수하지 않은 규칙에 관한 정보를 사용자 단말로 송신할 수 있다.In step S750, the
도 8은 일 실시 예에 따라 전자 장치(100)가 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하는 과정을 설명하기 위한 도면이다. 도 4와 중복되는 내용은 간략히 설명하거나 생략하기로 한다.FIG. 8 is a diagram illustrating a process by which the
S800 단계에서, 전자 장치(100)는 일 실시 예에 따라 애플리케이션에 포함된 하나 이상의 레이어들에 관한 제1 정보 및 하나 이상의 레이어들 각각에 대응하는 하나 이상의 모듈들의 퍼블릭 파트 및 프라이빗 파트에 관한 제2 정보를 확인할 수 있다. 예를 들어, 전자 장치(100)는 레이어 설정 정보에 기초하여, 애플리케이션에 포함된 하나 이상의 레이어들에 관한 제1 정보를 확인하고, 모듈 설정 정보에 기초하여, 하나 이상의 레이어들 각각에 대응하는 하나 이상의 모듈들의 퍼블릭 파트 및 프라이빗 파트에 관한 제2 정보를 확인할 수 있다.In step S800, according to one embodiment, the
S810 단계에서, 전자 장치(100)는 일 실시 예에 따라 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인할 수 있다. 예를 들어, 전자 장치(100)는 사용자 단말로부터 수신한 풀 리퀘스트에 기초하여, 하나 이상의 모듈들 간의 의존 관계에 관한 코드를 확인할 수 있다.In step S810, the
S820 단계에서, 전자 장치(100)는 일 실시 예에 따라 애플리케이션이 배포될 지역에 관한 정보를 확인할 수 있다. 예를 들어, 전자 장치(100)는 사용자 단말 또는 작업자 단말로부터 애플리케이션이 배포될 지역에 관한 정보를 수신할 수 있다.In step S820, the
S830 단계에서, 전자 장치(100)는 일 실시 예에 따라 하나 이상의 모듈들의 프라이빗 파트에 포함된 하나 이상의 임플리멘테이션들 중 애플리케이션이 배포될 지역에 대응하는 적어도 하나의 임플리멘테이션을 확인할 수 있다. 예를 들어, 애플리케이션이 배포될 지역이 대만인 경우, 전자 장치(100)는 하나 이상의 모듈들의 프라이빗 파트에 포함된 하나 이상의 임플리멘테이션들 중 대만에서 배포되는 버전의 애플리케이션을 구현하기 위한 코드를 포함하는 적어도 하나의 임플리멘테이션을 확인할 수 있다.In step S830, the
S840 단계에서, 전자 장치(100)는 일 실시 예에 따라 제1 정보, 제2 정보 및 제3 정보에 기초하여, 적어도 하나의 임플리멘테이션에 대하여 의존성 규칙이 준수되는지 여부를 확인할 수 있다. 예를 들어, 전자 장치(100)는 적어도 하나의 임플리멘테이션이 다른 모듈의 프라이빗 파트에 의존하는지 여부 또는 적어도 하나의 임플리멘테이션이 상위 레이어의 모듈에 의존하는지 여부를 확인할 수 있다. 또는, 전자 장치(100)는 다른 모듈이 적어도 하나의 임플리멘테이션에 의존하는지 여부를 확인할 수 있다.In step S840, the
S850 단계에서, 전자 장치(100)는 일 실시 예에 따라 의존성 규칙의 준수 여부에 관한 정보를 제공할 수 있다. 예를 들어, 전자 장치(100)는 적어도 하나의 모듈 중 의존성 규칙을 준수하지 않는 모듈에 관한 정보 및 상기 모듈이 준수하지 않은 규칙에 관한 정보를 사용자 단말로 송신할 수 있다.In step S850, the
도 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
전자 장치(100)는 일 실시 예에 따라, 통신부(communication device)(1020), 메모리(1040) 및 제어부(controller)(1060)를 포함할 수 있다. 도 10에 도시된 전자 장치(100)는 본 실시 예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 10에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 전자 장치(100)는 전술한 서버에 관한 내용을 포함할 수 있는 바, 중복되는 내용에 대해서는 설명을 생략한다. 실시 예에서 통신부는 하나 이상의 트랜시버(transceiver)를 포함할 수 있다. 또한, 실시 예에서 제어부는 하나 이상의 프로세서(processor)를 포함할 수 있다.According to one embodiment, the
통신부(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
제어부(1060)는 전자 장치(100)의 전반의 동작을 제어하고 데이터 및 신호를 처리할 수 있다. 제어부(1060)는 적어도 하나의 하드웨어 유닛으로 구성될 수 있다. 또한, 제어부(1060)는 메모리(1040)에 저장된 프로그램 코드를 실행하여 생성되는 하나 이상의 소프트웨어 모듈에 의해 동작할 수 있다. 제어부(1060)는 프로세서 및 메모리를 포함할 수 있는 바, 프로세서는 메모리에 저장된 프로그램 코드를 실행하여 전자 장치(100)의 전반의 동작을 제어하고 데이터 및 신호를 처리할 수 있다. 또한 실시 예에서 제어부(1060)는 적어도 하나의 프로세서를 포함할 수 있다. The
제어부(1060)는 애플리케이션을 구성하는 하나 이상의 레이어(layer)들에 관한 제1 정보 및 하나 이상의 레이어들 각각에 포함된 하나 이상의 모듈들의 퍼블릭(public) 파트 및 프라이빗(private) 파트에 관한 제2 정보를 확인하고, 하나 이상의 모듈들 간의 의존 관계에 관한 제3 정보를 확인하고, 제1 정보, 제2 정보 및 제3 정보에 기초하여, 하나 이상의 모듈들에 대하여 의존성 규칙이 준수되는지 여부를 확인하고, 의존성 규칙의 준수 여부를 확인한 결과에 관한 정보를 제공할 수 있다.The
전술한 실시 예들에 따른 전자 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(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.
애플리케이션에 포함된 하나 이상의 레이어(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.
상기 애플리케이션이 배포될 때, 상기 하나 이상의 임플리멘테이션 중 상기 애플리케이션이 배포될 지역에 대응하는 임플리멘테이션이 구현되는, 정보 제공 방법.
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.
상기 하나 이상의 모듈들 중 상기 의존성 규칙을 준수하지 않는 제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.
상기 하나 이상의 모듈들에 대한 의존성 규칙이 준수되지 않은 것으로 확인된 경우, 상기 풀 리퀘스트를 거절하도록 설정하는 정보를 생성하는 단계를 더 포함하는, 정보 제공 방법.
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 정보를 확인하고, 상기 모듈 설정 정보에 기초하여 상기 제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.
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.
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)
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)
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 |
-
2022
- 2022-12-13 KR KR1020220173957A patent/KR102616785B1/en active IP Right Grant
-
2023
- 2023-02-02 WO PCT/KR2023/001531 patent/WO2024128401A1/en unknown
- 2023-12-18 KR KR1020230184714A patent/KR20240088629A/en unknown
Patent Citations (4)
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)
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 |