KR20250096155A - Method and electronic device for uploading image - Google Patents
Method and electronic device for uploading image Download PDFInfo
- Publication number
- KR20250096155A KR20250096155A KR1020230187112A KR20230187112A KR20250096155A KR 20250096155 A KR20250096155 A KR 20250096155A KR 1020230187112 A KR1020230187112 A KR 1020230187112A KR 20230187112 A KR20230187112 A KR 20230187112A KR 20250096155 A KR20250096155 A KR 20250096155A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- branch
- user
- server
- information
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1873—Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0007—Image acquisition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—Two-dimensional [2D] image generation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Facsimiles In General (AREA)
Abstract
전자 장치가 이미지를 업로드하는 방법이 개시된다. 구체적으로, 전자 장치가 이미지를 업로드하는 방법은 플러그인을 통해, 디자인 툴에 저장된 제1 이미지의 업로드와 관련된 요청을 확인하는 단계; 요청에 대응하여, 제1 이미지와 관련된 브랜치를 생성하는 단계; 설정된 규칙에 기반하여 결정된 사이즈 및 이름의 제1 이미지를 생성하는 단계; 생성된 제1 이미지를 포함하는 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 요청을 제1 이미지와 관련된 제1 사용자에게 전송하는 단계; 및 제1 사용자로부터 병합의 승인에 대한 응답이 수신될 때, 브랜치를 마스터 브랜치에 병합하고, 생성된 제1 이미지를 제1 서버에 업로드하는 단계를 포함할 수 있다.A method for an electronic device to upload an image is disclosed. Specifically, the method for an electronic device to upload an image may include: confirming a request related to uploading a first image stored in a design tool through a plug-in; generating a branch related to the first image in response to the request; generating a first image having a size and name determined based on a set rule; transmitting a request for approval of merging a branch including the generated first image into a master branch to a first user related to the first image; and when a response for approval of the merge is received from the first user, merging the branch into the master branch and uploading the generated first image to a first server.
Description
본 명세서의 실시 예는 이미지를 업로드하는 방법 및 장치에 관한 것이다.Embodiments of the present specification relate to a method and device for uploading an image.
사용자에게 제공되는 인터넷 서비스 상의 이미지는 애플리케이션의 버전 업데이트와 같은 이벤트가 발생하거나 또는 주기적으로 변경될 수 있다. 관련하여, 이미지를 변경, 수정 또는 추가하는 작업은 메뉴얼하게 수행될 수 있다. 이에 따라, 이미지를 변경, 수정 또는 추가하는데 사용자의 많은 노력 및 시간이 요구된다.Images provided to users on Internet services may change periodically or when an event such as an application version update occurs. In this regard, the work of changing, modifying, or adding images may be performed manually. Accordingly, a lot of effort and time is required from users to change, modify, or add images.
본 개시는 상술한 문제점을 해결하기 위해 제안된 것으로, 개시된 실시 예들은 이미지를 업로드하는 방법 및 전자 장치를 제공하고자 한다. 보다 구체적으로, 개시된 실시 예들은 사용자로부터 병합의 승인에 대한 응답이 수신될 때, 브랜치를 마스터 브랜치에 병합하고, 생성된 이미지를 자동으로 서버에 업로드하는 방법 및 전자 장치를 제공하고자 한다.The present disclosure has been proposed to solve the above-described problems, and the disclosed embodiments seek to provide a method and an electronic device for uploading an image. More specifically, the disclosed embodiments seek to provide a method and an electronic device for merging a branch into a master branch and automatically uploading the generated image to a server when a response for approval of the merge is received from a user.
상술한 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1측면에 따른 전자 장치가 이미지를 업로드하는 방법은 플러그인을 통해, 디자인 툴에 저장된 제1 이미지의 업로드와 관련된 요청을 확인하는 단계; 요청에 대응하여, 제1 이미지와 관련된 브랜치를 생성하는 단계; 설정된 규칙에 기반하여 결정된 사이즈 및 이름의 제1 이미지를 생성하는 단계; 생성된 제1 이미지를 포함하는 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 요청을 제1 이미지와 관련된 제1 사용자에게 전송하는 단계; 및 제1 사용자로부터 병합의 승인에 대한 응답이 수신될 때, 브랜치를 마스터 브랜치에 병합하고, 생성된 제1 이미지를 제1 서버에 업로드하는 단계를 포함할 수 있다.As a technical means for achieving the above-described task, a method for an electronic device to upload an image according to a first aspect of the present disclosure may include: a step of confirming a request related to uploading a first image stored in a design tool through a plug-in; a step of generating a branch related to the first image in response to the request; a step of generating a first image having a size and name determined based on a set rule; a step of transmitting a request for approval of merging a branch including the generated first image into a master branch to a first user related to the first image; and a step of merging the branch into the master branch and uploading the generated first image to a first server when a response for approval of the merge is received from the first user.
일 실시 예에 따르면, 플러그인은 제1 사용자와 관련된 주소 정보를 입력하기 위한 제1 영역, 주소 정보로 접속하기 위한 권한과 관련된 토큰 정보를 입력하기 위한 제2 영역, 제1 이미지의 버전 정보를 입력하기 위한 제3 영역 및 제1 이미지에 대한 수정 정보를 입력하기 위한 제4 영역을 포함할 수 있다.According to one embodiment, the plugin may include a first area for entering address information related to a first user, a second area for entering token information related to authority for accessing the address information, a third area for entering version information of the first image, and a fourth area for entering modification information for the first image.
일 실시 예에 따르면, 제1 이미지를 생성하는 단계는 브랜치가 생성됨에 따라, 디자인 툴에 저장된 제1 이미지를 불러오는 단계; 불러온 제1 이미지로부터 사이즈 및 이름의 제1 이미지를 생성하는 단계; 및 제1 서버에 저장된 이미지 중 제1 이미지를 식별하기 위한 제1 데이터를 생성하는 단계를 포함할 수 있다.According to one embodiment, the step of generating a first image may include the step of loading a first image stored in a design tool as a branch is generated; generating a first image having a size and name from the loaded first image; and generating first data for identifying the first image among the images stored in the first server.
일 실시 예에 따르면, 제1 데이터는 사이즈에 대한 정보, 이름에 대한 정보, 제1 이미지가 제1 서버에 저장된 경로에 대한 정보 중 적어도 하나를 포함하고, 제1 데이터는 Json 형식의 데이터일 수 있다.According to one embodiment, the first data includes at least one of information about a size, information about a name, and information about a path where the first image is stored on the first server, and the first data may be data in JSON format.
일 실시 예에 따르면, 생성된 제1 이미지를 제1 서버에 업로드하는 단계는 제1 사용자로부터 병합의 승인에 대한 응답이 수신될 때, 생성된 제1 데이터를 제2 서버에 업로드하는 단계를 포함할 수 있다.In one embodiment, the step of uploading the generated first image to the first server may include the step of uploading the generated first data to the second server when a response for approval of the merging is received from the first user.
일 실시 예에 따르면, 제1 사용자로부터 병합의 거절에 대한 응답이 수신될 때, 브랜치는 마스터 브랜치로 병합되지 않고, 제1 이미지의 업로드가 거절되었음은 플러그인을 통해 제1 이미지의 업로드와 관련된 요청을 입력한 제2 사용자에게 전송될 수 있다.In one embodiment, when a response to the rejection of the merge is received from the first user, the branch is not merged into the master branch, and the rejection of the upload of the first image can be transmitted to the second user who entered the request related to the upload of the first image via the plugin.
일 실시 예에 따르면, 설정된 규칙은 운영 체제에 대한 정보 및 디바이스 별 해상도 정보에 기반하여 이미지의 사이즈와 이미지의 파일 타입을 결정하는 제1 규칙, 및 이미지와 관련된 설정 정보에 기반하여, 이미지의 이름을 결정하는 제2 규칙을 포함할 수 있다.According to one embodiment, the set rules may include a first rule for determining the size of the image and the file type of the image based on information about the operating system and resolution information for each device, and a second rule for determining the name of the image based on setting information related to the image.
일 실시 예에 따르면, 병합의 승인 여부에 대한 요청을 제1 사용자로 전송하는 단계는 제1 영역을 통해 입력된 주소 정보로 병합의 승인 여부에 대한 요청을 전송하는 단계를 포함할 수 있다.In one embodiment, the step of transmitting a request for approval of the merge to the first user may include the step of transmitting a request for approval of the merge to address information entered through the first area.
일 실시 예에 따르면, 제1 이미지를 제1 서버에 업로드하는 단계는 사이즈 및 이름 각각에 대응하는 제1 서버의 주소에 제1 이미지를 업로드하는 단계를 포함할 수 있다.In one embodiment, the step of uploading the first image to the first server may include the step of uploading the first image to an address of the first server corresponding to each of a size and a name.
일 실시 예에 따르면, 이미지를 업로드하는 방법은 디바이스의 제2 사용자로부터 제2 이미지에 대한 요청을 수신하는 단계; 제2 이미지 및 디바이스의 스펙 정보에 기초하여, 제2 서버에 저장된 데이터 중 제2 데이터를 식별하는 단계; 제2 데이터에 기초하여, 제1 서버에 저장된 이미지 중 제2 데이터에 대응하는 제2 이미지를 확인하는 단계; 및 제2 이미지에 대한 정보를 디바이스에 전송하는 단계를 더 포함할 수 있다.According to one embodiment, a method of uploading an image may further include: receiving a request for a second image from a second user of a device; identifying second data among data stored in a second server based on the second image and specification information of the device; confirming a second image corresponding to the second data among images stored in the first server based on the second data; and transmitting information about the second image to the device.
본 개시의 제2측면에 따른 전자 장치는 트랜시버; 하나 이상의 프로세서; 및 하나 이상의 프로세서에 의해 실행되는 하나 이상의 명령을 저장하는 스토리지를 포함하고, 하나 이상의 프로세서는, 하나 이상의 명령을 실행함으로써, 플러그인을 통해, 디자인 툴에 저장된 제1 이미지의 업로드와 관련된 요청을 확인하고, 요청에 대응하여, 제1 이미지와 관련된 브랜치를 생성하고, 설정된 규칙에 기반하여 결정된 사이즈 및 이름의 제1 이미지를 생성하고, 생성된 제1 이미지를 포함하는 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 요청을 제1 이미지와 관련된 제1 사용자에게 전송하고, 및 제1 사용자로부터 병합의 승인에 대한 응답이 수신될 때, 브랜치를 마스터 브랜치에 병합하고, 생성된 제1 이미지를 제1 서버에 업로드할 수 있다.An electronic device according to a second aspect of the present disclosure includes: a transceiver; one or more processors; and a storage storing one or more commands executed by the one or more processors, wherein the one or more processors, by executing the one or more commands, can: verify a request related to uploading a first image stored in a design tool through a plug-in; generate a branch related to the first image in response to the request; generate a first image having a size and name determined based on a set rule; transmit a request for approval of merging the branch including the generated first image into a master branch to a first user related to the first image; and when a response for approval of the merge is received from the first user, merge the branch into the master branch and upload the generated first image to a first server.
본 개시의 제3측면에 따른 기록 매체는 전자 장치에 의해 수행되는 이미지를 업로드하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록 매체일 수 있다.A recording medium according to the third aspect of the present disclosure may be a non-transitory computer-readable recording medium having recorded thereon a program for causing a computer to execute a method of uploading an image performed by an electronic device.
제안되는 실시 예에 따를 경우 다음과 같은 효과를 하나 혹은 그 이상 기대할 수 있다. According to the proposed embodiment, one or more of the following effects can be expected:
본 명세서의 실시 예에 의할 경우, 플러그인을 통해 디자인 툴에 저장된 이미지의 업로드와 관련된 요청이 확인되고, 사용자로부터 병합의 승인에 대한 응답이 수신될 때, 브랜치를 마스터 브랜치에 병합하고, 생성된 이미지를 서버에 자동으로 업로드할 수 있다. 이에 따라, 이미지를 변경, 수정 또는 추가하는 것을 포함하는 테스크에 소요되는 사용자의 노력 및 시간이 최소화될 수 있다.In accordance with an embodiment of the present specification, when a request related to uploading an image stored in a design tool is confirmed through a plug-in and a response for approval of the merge is received from a user, the branch can be merged into a master branch and the generated image can be automatically uploaded to a server. Accordingly, the user's effort and time required for tasks including changing, modifying, or adding an image can be minimized.
발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by a person skilled in the art from the description of the claims.
도 1은 일 실시 예에 따른 전자 장치가 이미지를 업로드하는 방법이 구현될 수 있는 시스템을 설명하기 위한 도면이다.
도 2는 전자 장치가 이미지를 업로드하는 방법을 나타낸 흐름도이다.
도 3은 이미지를 업로드하는 프로세스를 보다 상세히 설명하기 위한 도면이다.
도 4는 디자인 툴을 통해 이미지를 디자인하고, 플러그인을 통해 이미지의 업로드를 요청하는 작업을 수행하는 동작을 설명하기 도면이다.
도 5는 플러그인을 통해 이미지를 서버에 업로드하기 위한 정보를 입력하는 인터페이스를 설명하기 위한 도면이다.
도 6은 이미지의 업로드와 관련된 요청에 대응하여 생성된 브랜치를 설명하기 위한 도면이다.
도 7은 클라우드 기반 플랫폼에서 수행되는 동작과 관련된 소스 코드를 설명하기 위한 도면이다.
도 8은 클라우드 기반 플랫폼을 통해 생성된 이미지 및 데이터가 분산 버전 관리 시스템에서 구분되어 관리됨을 설명하기 위한 도면이다.
도 9는 클라우드 기반 플랫폼을 통해 생성된 이미지를 설명하기 위한 도면이다.
도 10은 클라우드 기반 플랫폼을 통해 생성된 데이터를 설명하기 위한 도면이다.
도 11은 제1 사용자에게 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 요청과 관련된 화면을 설명하기 위한 도면이다.
도 12는 일 실시 예에 따른 이미지를 업로드하기 위한 전자 장치를 도식화한 블록도이다.FIG. 1 is a drawing for explaining a system in which a method for uploading an image by an electronic device according to one embodiment of the present invention can be implemented.
Figure 2 is a flow chart illustrating how an electronic device uploads an image.
Figure 3 is a diagram to explain the process of uploading an image in more detail.
Figure 4 is a drawing explaining the operation of designing an image through a design tool and requesting an image upload through a plug-in.
Figure 5 is a drawing for explaining an interface for entering information for uploading an image to a server via a plug-in.
Figure 6 is a diagram illustrating a branch created in response to a request related to uploading an image.
Figure 7 is a diagram illustrating source code related to operations performed on a cloud-based platform.
Figure 8 is a diagram to explain how images and data generated through a cloud-based platform are managed separately in a distributed version control system.
Figure 9 is a diagram for explaining an image generated through a cloud-based platform.
Figure 10 is a diagram illustrating data generated through a cloud-based platform.
Figure 11 is a diagram illustrating a screen related to a request to a first user to approve the merge of a branch into the master branch.
FIG. 12 is a block diagram schematically illustrating an electronic device for uploading an image according to one embodiment.
실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.The terms used in the embodiments are selected from the most widely used general terms possible while considering the functions of the present disclosure, but this may vary depending on the intention of a technician working in the field, precedents, the emergence of new technologies, etc. In addition, in certain cases, there are terms arbitrarily selected by the applicant, and in this case, the meanings thereof will be described in detail in the corresponding description section. Therefore, the terms used in the present disclosure should be defined based on the meanings of the terms and the overall contents of the present disclosure, rather than simply the names of the terms.
명세서 전체에서 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 “...부”, “...모듈” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.When a part of the specification is said to “include” a component, this does not mean that other components are excluded, unless otherwise specifically stated, but rather that other components may be included. In addition, terms such as “part,” “module,” etc., described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware or software, or a combination of hardware and software.
명세서 전체에서 기재된 “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” as used throughout the specification can encompass “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 capable of connecting to a server or other terminal via a network. Here, the computer includes, for example, a notebook, desktop, laptop, etc. equipped with a WEB Browser, and the portable terminal may include, for example, a wireless communication device that ensures portability and mobility, such as a communication-based terminal such as IMT (International Mobile Telecommunication), CDMA (Code Division Multiple Access), W-CDMA (W-Code Division Multiple Access), LTE (Long Term Evolution), and all kinds of handheld-based wireless communication devices such as a smartphone, tablet PC, etc.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.Below, with reference to the attached drawings, embodiments of the present disclosure are described in detail so that those skilled in the art can easily implement the present disclosure. However, the present disclosure may be implemented in various different forms and is not limited to the embodiments described herein.
실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.In describing the embodiments, descriptions of technical contents that are well known in the technical field to which the present invention belongs and are not directly related to the present invention will be omitted. This is to convey the gist of the present invention more clearly without obscuring it by omitting unnecessary explanations.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.For the same reason, some components in the attached drawings are exaggerated, omitted, or schematically illustrated. In addition, the size of each component does not entirely reflect the actual size. The same or corresponding components in each drawing are given the same reference numbers.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.The advantages and features of the present invention, and the methods for achieving them, will become clear with reference to the embodiments described in detail below together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and the present embodiments are provided only to make the disclosure of the present invention complete and to fully inform those skilled in the art of the scope of the invention, and the present invention is defined only by the scope of the claims. Like reference numerals refer to like elements throughout the specification.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.At this time, it will be understood that each block of the processing flow diagrams and combinations of the flow diagrams can be performed by computer program instructions. These computer program instructions can be loaded onto a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing equipment, so that the instructions executed by the processor of the computer or other programmable data processing equipment create a means for performing the functions described in the flow diagram block(s). These computer program instructions can also be stored in a computer-available or computer-readable memory that can be directed to a computer or other programmable data processing equipment to implement the function in a specific manner, so that the instructions stored in the computer-available or computer-readable memory can also produce a manufactured article including an instruction means for performing the functions described in the flow diagram block(s). Since the computer program instructions may be installed on a computer or other programmable data processing apparatus, a series of operational steps may be performed on the computer or other programmable data processing apparatus to produce a computer-executable process, so that the instructions executing the computer or other programmable data processing apparatus may also provide steps for executing the functions described in the flowchart block(s).
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Additionally, each block may represent a module, segment, or portion of code that contains one or more executable instructions for performing a particular logical function(s). It should also be noted that in some alternative implementation examples, the functions mentioned in the blocks may occur out of order. For example, two blocks shown in succession may in fact be performed substantially concurrently, or the blocks may sometimes be performed in reverse order, depending on the functionality they perform.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings.
도 1은 일 실시 예에 따른 전자 장치가 이미지를 업로드하는 방법이 구현될 수 있는 시스템을 설명하기 위한 도면이다.FIG. 1 is a drawing for explaining a system in which a method for uploading an image by an electronic device according to one embodiment of the present invention can be implemented.
도 1을 참조하면, 다양한 실시 예에 따른 시스템(10)은 이미지를 업로드하기 위한 시스템일 수 있다. 시스템(10)은 전자 장치(100), 제1 사용자(120), 제2 사용자(110), 제1 서버(130) 및 제2 서버(140)을 포함할 수 있다. 도 1에 도시된 시스템(10)은 본 실시 예와 관련된 구성요소들만 도시되어 있다. 따라서, 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.Referring to FIG. 1, a system (10) according to various embodiments may be a system for uploading an image. The system (10) may include an electronic device (100), a first user (120), a second user (110), a first server (130), and a second server (140). The system (10) illustrated in FIG. 1 only illustrates components related to the present embodiment. Therefore, a person having ordinary skill in the art related to the present embodiment may understand that other general components may be further included in addition to the components illustrated in FIG. 1.
전자 장치(100), 제1 서버(130) 및 제2 서버(140) 각각은 트랜시버, 스토리지 및 프로세서를 포함할 수 있다. 또한, 전자 장치(100), 제1 서버(130) 및 제2 서버(140) 각각은 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 한편 실시 예 전반에서 전자 장치(100), 제1 서버(130) 및 제2 서버(140) 각각은 분리된 장치 또는 서버로 언급되나 이는 논리적으로 나누어진 구조일 수 있으며, 이들 중 적어도 일부가 하나의 장치 또는 서버에서 분리된 기능에 의해 구현될 수 있다.Each of the electronic device (100), the first server (130), and the second server (140) may include a transceiver, storage, and a processor. In addition, each of the electronic device (100), the first server (130), and the second server (140) means a unit that processes at least one function or operation, and this may be implemented by hardware or software, or a combination of hardware and software. Meanwhile, throughout the embodiments, each of the electronic device (100), the first server (130), and the second server (140) is referred to as a separate device or server, but this may be a logically divided structure, and at least some of them may be implemented by a separate function in one device or server.
일 실시 예에 따르면, 전자 장치(100), 제1 서버(130) 및 제2 서버(140)은 네트워크 서버로 구현되는 다수의 컴퓨터 시스템 또는 컴퓨터 소프트웨어를 포함할 수 있다. 예를 들면 전자 장치(100), 제1 서버(130) 및 제2 서버(140) 중 적어도 일부는 인트라넷 또는 인터넷과 같은 컴퓨터 네트워크를 통해 다른 네트워크 서버와 통신할 수 있는 하위 장치와 연결되어 작업 수행 요청을 접수하고, 그에 대한 작업을 수행하여 수행 결과를 제공하는 컴퓨터 시스템 및 컴퓨터 소프트웨어를 지칭할 수 있다. 이외에도, 전자 장치(100), 제1 서버(130) 및 제2 서버(140) 중 적어도 일부는 네트워크 서버 상에서 동작할 수 있는 일련의 응용 프로그램과, 내부 혹은 연결된 다른 노드에 구축되어 있는 각종 데이터베이스를 포함하는 광의의 개념으로 이해될 수 있다. 예컨대, 전자 장치(100), 제1 서버(130) 및 제2 서버(140) 중 적어도 일부는 도스(DOS), 윈도우(Windows), 리눅스(Linux), 유닉스(UNIX), 또는 맥OS(MacOS) 등의 운영 체제에 따라 다양하게 제공되는 네트워크 서버 프로그램을 이용하여 구현될 수 있다.According to one embodiment, the electronic device (100), the first server (130), and the second server (140) may include a plurality of computer systems or computer software implemented as network servers. For example, at least some of the electronic device (100), the first server (130), and the second server (140) may refer to a computer system and computer software that are connected to a lower device that can communicate with another network server through a computer network such as an intranet or the Internet, receive a task execution request, perform the task accordingly, and provide the execution result. In addition, at least some of the electronic device (100), the first server (130), and the second server (140) may be understood as a broad concept that includes a series of application programs that can operate on a network server, and various databases built on internal or connected other nodes. For example, at least some of the electronic device (100), the first server (130), and the second server (140) may be implemented using a network server program provided in various ways according to an operating system such as DOS, Windows, Linux, UNIX, or MacOS.
전자 장치(100), 제1 서버(130) 및 제2 서버(140)은 네트워크(미도시)를 통해서 서로 통신할 수 있다. 네트워크는 근거리 통신망(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) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.The electronic device (100), the first server (130), and the second server (140) can communicate with each other through a network (not shown). The network 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 a combination thereof, and is a comprehensive data communication network that allows each network component shown in FIG. 1 to communicate smoothly with each other, and may include wired Internet, wireless Internet, and a mobile radio communication network. The wireless communication may include, but is not limited to, wireless LAN (Wi-Fi), Bluetooth, Bluetooth low energy, Zigbee, WFD (Wi-Fi Direct), UWB (ultra wideband), infrared communication (IrDA, infrared Data Association), NFC (Near Field Communication), etc., for example.
일 실시 예에 따르면, 전자 장치(100)는 플러그인을 통해, 디자인 툴에 저장된 제1 이미지의 업로드와 관련된 요청을 확인하고, 요청에 대응하여, 제1 이미지와 관련된 브랜치를 생성하고, 설정된 규칙에 기반하여 결정된 사이즈 및 이름의 제1 이미지를 생성하고, 생성된 제1 이미지를 포함하는 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 요청을 제1 이미지와 관련된 제1 사용자(120)에게 전송하고, 및 제1 사용자(120)로부터 병합의 승인에 대한 응답이 수신될 때, 브랜치를 마스터 브랜치에 병합하고, 생성된 제1 이미지를 제1 서버에 업로드할 수 있다.According to one embodiment, the electronic device (100) may, through a plug-in, verify a request related to uploading a first image stored in a design tool, create a branch related to the first image in response to the request, create a first image having a size and name determined based on set rules, transmit a request for approval of merging a branch including the created first image into a master branch to a first user (120) related to the first image, and when a response for approval of the merge is received from the first user (120), merge the branch into the master branch and upload the created first image to a first server.
디자인 툴은 다양한 운영 체제 하의 애플리케이션에서 활성화되는 기능을 갖춘 UI/UX를 디자인하기 위한 툴일 수 있다. 일 예로, 디자인 툴은 피그마(Figma)일 수 있으나, 이에 한정되는 것은 아니다. 플러그인(plugin)은 디자인 툴을 통해 추가 기능을 제공하기 위한 확장 모듈로서 동작하는 소프트웨어일 수 있다. 구체적으로, 디자인 툴을 통해 제공되는 추가 기능은 디자인 툴을 통해 사용자에 의해 디자인되고, 저장된 이미지를 서버에 자동으로 업로드하는 것일 수 있다. 제2 사용자(110)는 플러그인을 통해 디자인 툴에 저장된 이미지의 업로드와 관련된 요청을 입력한 사용자일 수 있다.The design tool may be a tool for designing UI/UX with functions that are activated in applications under various operating systems. For example, the design tool may be Figma, but is not limited thereto. The plugin may be software that operates as an extension module for providing additional functions through the design tool. Specifically, the additional function provided through the design tool may be to automatically upload an image designed and saved by a user through the design tool to a server. The second user (110) may be a user who inputs a request related to uploading an image saved in the design tool through the plugin.
디자인 툴을 통해 디자인된 이미지는 분산 버전 관리 시스템을 통해 관리될 수 있다. 구체적으로, 분산 버전 관리 시스템은 브랜치와 마스터 브랜치를 포함할 수 있으며, 분산 버전 관리 시스템은 Github일 수 있으나, 이에 한정되는 것은 아니다. 브랜치는 사용자 별 전용 작업 공간으로, 소스 코드, 이미지와 같은 다양한 타입의 데이터의 저장, 수정 및 관리에 이용될 수 있다. 관련하여, 브랜치에는 이미지와 관련된 다양한 타입의 데이터가 저장될 수 있다. 즉, 설정된 규칙에 기반하여 결정된 사이즈 및 이름의 제1 이미지는 제2 사용자(110)에 대응하는 브랜치에서 관리될 수 있다. 또한, 마스터 브랜치는 복수의 사용자가 협업하여 개발하는 소스 코드와 같은 파일이 관리되는 공유 작업 공간일 수 있다. 즉, 복수의 사용자에 의해 개발된 소스 코드와 같은 다양한 파일은 마스터 브랜치를 통해 통합적으로 관리될 수 있다. 관련하여, 사용자 각각의 개별 브랜치에 저장된 데이터를 마스터 브랜치로 병합하는 동작은 개별 브랜치에 저장된 데이터가 적합한지 여부를 확인한 후에 수행될 필요가 있다. 관련하여, 제1 사용자(120)는 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 권한이 있는 사용자로, 제2 사용자(110)는 플러그인을 통해 이미지의 업로드와 관련된 요청을 입력할 때, 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 권한이 있는 사용자를 식별하기 위한 정보를 입력할 수 있다.The image designed through the design tool can be managed through a distributed version control system. Specifically, the distributed version control system can include a branch and a master branch, and the distributed version control system can be Github, but is not limited thereto. A branch is a dedicated workspace for each user and can be used to store, modify, and manage various types of data such as source code and images. In relation to this, various types of data related to images can be stored in the branch. That is, a first image having a size and name determined based on a set rule can be managed in a branch corresponding to a second user (110). In addition, the master branch can be a shared workspace where files such as source codes developed collaboratively by multiple users are managed. That is, various files such as source codes developed by multiple users can be managed in an integrated manner through the master branch. In relation to this, the operation of merging data stored in each user's individual branch into the master branch needs to be performed after confirming whether the data stored in each individual branch is appropriate. In this regard, the first user (120) is a user who has the authority to approve the merge of a branch into the master branch, and the second user (110) can input information to identify the user who has the authority to approve the merge of a branch into the master branch when entering a request related to uploading an image through the plugin.
제1 서버(130)는 생성된 이미지가 업로드되는 서버로, CDN(Content Distribution/Delivery Network)일 수 있다. 보다 구체적으로, 이미지 파일 타입(예를 들어, png)의 리소스는 제1 서버(130)에 업로드될 수 있다. 제2 서버(140)는 이미지를 식별하기 위한 데이터가 업로드되는 서버로, CMS(Content Management System)일 수 있다. 이미지를 식별하기 위한 데이터는 상대적으로 고용량의 이미지보다 효율적으로 이미지를 송수신하기 위한 저용량의 데이터의 형식으로, JSON(JavaScript Object Notation) 형식의 데이터일 수 있으나, 이에 한정되는 것은 아니다.The first server (130) is a server to which the generated image is uploaded, and may be a CDN (Content Distribution/Delivery Network). More specifically, a resource of an image file type (e.g., png) may be uploaded to the first server (130). The second server (140) is a server to which data for identifying the image is uploaded, and may be a CMS (Content Management System). The data for identifying the image may be data in the form of JSON (JavaScript Object Notation) in order to efficiently transmit and receive images rather than relatively high-capacity images, but is not limited thereto.
사용자에게 제공되는 인터넷 서비스 상의 이미지는 사용자의 디바이스에 대한 운영 체제에 대한 정보, 사용자의 디바이스의 스펙 정보에 기반한 해상도 정보, 사용자의 디바이스를 통해 현재 지원되는 통신 속도에 대한 정보에 기반하여 다이나믹하게 결정될 필요가 있다. 즉, 동일한 디자인의 이미지이더라도, 제1 서버(130)에는 운영 체제 및 해상도에 따라 복수 버전의 이미지가 저장되어 있을 수 있다. 또한, 동일한 디자인이더라도 복수 버전의 이미지를 구분하기 위해, 이미지를 식별하기 위한 데이터는 상이하게 결정된 채 제2 서버(140)에 저장될 수 있다.The image provided to the user on the Internet service needs to be dynamically determined based on information about the operating system of the user's device, resolution information based on the specifications of the user's device, and information about the communication speed currently supported by the user's device. That is, even if the image has the same design, multiple versions of the image may be stored in the first server (130) depending on the operating system and resolution. In addition, in order to distinguish between multiple versions of the image even if the design is the same, data for identifying the image may be stored in the second server (140) while being determined differently.
도 2는 전자 장치가 이미지를 업로드하는 방법을 나타낸 흐름도이다.Figure 2 is a flow chart illustrating how an electronic device uploads an image.
도 2를 참조하면, 전자 장치(100)가 이미지를 업로드하는 각 동작은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해되는 범위 내에서 일부 동작이 변경, 치환되거나 동작 간의 일부 순서가 변경될 수 있음은 자명하게 이해될 수 있다.Referring to FIG. 2, it can be clearly understood that some of the operations of uploading an image by the electronic device (100) may be changed or substituted, or some of the order between the operations may be changed, within a range clearly understandable to a person having ordinary skill in the art to which the present invention pertains.
단계 S210에서, 전자 장치(100)는 플러그인을 통해, 디자인 툴에 저장된 제1 이미지의 업로드와 관련된 요청을 확인할 수 있다.In step S210, the electronic device (100) can confirm a request related to uploading a first image stored in a design tool through a plug-in.
제2 사용자(110)는 플러그인을 통해 디자인 툴에 저장된 이미지의 업로드와 관련된 요청을 입력할 수 있다. 입력된 요청에 대응하여, 전자 장치(100)는 플러그인을 통해 디자인 툴에 저장된 제1 이미지의 업로드와 관련된 요청을 확인할 수 있다. 디자인 툴을 통해 이미지를 디자인하고, 플러그인을 통해 디자인 툴에 저장된 제1 이미지의 업로드와 관련된 요청을 확인하는 동작은 도 4 내지 도 5에서 자세히 살펴보기로 한다.A second user (110) can input a request related to uploading an image stored in a design tool through a plug-in. In response to the input request, the electronic device (100) can confirm a request related to uploading a first image stored in the design tool through the plug-in. The operation of designing an image through a design tool and confirming a request related to uploading a first image stored in the design tool through the plug-in will be examined in detail with reference to FIGS. 4 and 5.
단계 S220에서, 전자 장치(100)는 요청에 대응하여, 제1 이미지와 관련된 브랜치를 생성할 수 있다.In step S220, the electronic device (100) may generate a branch related to the first image in response to the request.
일 실시 예에 따르면, 전자 장치(100)는 요청을 확인하는 대로 제1 이미지와 관련된 브랜치를 생성할 수 있다. 생성된 브랜치는 제2 사용자(110)의 전용 브랜치일 수 있으며, 브랜치에는 제2 사용자(110)가 디자인 툴을 통해 디자인한 이미지와 관련된 데이터가 저장될 수 있다. 즉, 제2 사용자(110)가 디자인 툴을 통해 디자인한 이미지와 관련된 데이터들은 제2 사용자(110)의 전용 브랜치를 통해 관리될 수 있다. 제1 이미지와 관련된 브랜치를 생성하는 동작은 도 6에서 자세히 살펴보기로 한다.According to one embodiment, the electronic device (100) may create a branch related to the first image upon confirming the request. The created branch may be a dedicated branch of the second user (110), and data related to an image designed by the second user (110) through a design tool may be stored in the branch. That is, data related to an image designed by the second user (110) through a design tool may be managed through the dedicated branch of the second user (110). The operation of creating a branch related to the first image will be described in detail with reference to FIG. 6.
단계 S230에서, 전자 장치(100)는 설정된 규칙에 기반하여 결정된 사이즈 및 이름의 제1 이미지를 생성할 수 있다.In step S230, the electronic device (100) can generate a first image of a size and name determined based on the set rule.
일 실시 예에 따르면, 전자 장치(100)는 브랜치가 생성됨에 대응하여, 설정된 규칙에 기반하여 결정된 사이즈 및 이름의 제1 이미지를 생성할 수 있다. 여기서, 설정된 규칙은 운영 체제에 대한 정보 및 디바이스 별 해상도 정보에 기반하여 이미지의 사이즈와 이미지의 파일 타입을 결정하는 제1 규칙, 및 이미지와 관련된 설정 정보에 기반하여, 이미지의 이름을 결정하는 제2 규칙을 포함할 수 있다. 즉, 이미지의 사이즈는 제1 규칙에 기반하여 결정될 수 있으며, 이미지의 이름은 제2 규칙에 기반하여 결정될 수 있다. 생성된 다양한 사이즈 및 이름의 제1 이미지는 생성된 브랜치를 통해 관리될 수 있다. 설정된 규칙에 기반하여 결정된 사이즈 및 이름의 제1 이미지를 생성하는 동작은 도 7 내지 도 8에서 자세히 살펴보기로 한다.According to one embodiment, the electronic device (100) may generate a first image having a size and a name determined based on a set rule in response to the generation of a branch. Here, the set rule may include a first rule for determining a size and a file type of an image based on information about an operating system and resolution information for each device, and a second rule for determining a name of the image based on setting information related to the image. That is, the size of the image may be determined based on the first rule, and the name of the image may be determined based on the second rule. The first images having various sizes and names may be managed through the generated branches. An operation of generating a first image having a size and a name determined based on the set rule will be described in detail with reference to FIGS. 7 and 8.
단계 S240에서, 전자 장치(100)는 생성된 제1 이미지를 포함하는 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 요청을 제1 이미지와 관련된 제1 사용자(120)에게 전송할 수 있다.In step S240, the electronic device (100) may transmit a request for approval of merging a branch including the generated first image into the master branch to the first user (120) associated with the first image.
제2 사용자(110)는 플러그인을 통해 브랜치의 마스터 브랜치로의 병합의 승인 권한이 있는 사용자를 메뉴얼하게 입력할 수 있다. 승인 권한이 있는 사용자에 대한 입력이 없는 경우, 전자 장치(100)는 제2 사용자(110)의 디자인 업무를 관리하는 사용자에게 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 요청을 전송할 수 있다.The second user (110) can manually input a user who has the authority to approve the merge of the branch into the master branch through the plug-in. If there is no input for a user with the authority to approve, the electronic device (100) can send a request to the user who manages the design work of the second user (110) as to whether to approve the merge of the branch into the master branch.
사용자가 브랜치의 마스터 브랜치로의 병합의 승인 여부를 검토하는 것은 풀 리퀘스트(pull request) 리뷰 작업으로 호칭될 수 있다. 구체적으로, 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 요청을 전송받은 제1 사용자(120)는 브랜치에 저장된 이미지의 개수에 오류는 없는지, 이미지의 버전이 적합한지, 이미지의 이름에 잘못 설정되었는지를 포함하는 리뷰 사항을 확인하고, 병합의 승인 또는 거절을 결정할 수 있다. 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 요청과 관련하여, 제1 사용자(120)에게 제공되는 화면에 대해, 도 11에서 자세히 살펴보기로 한다.The user's review of whether to approve the merge of a branch into the master branch may be referred to as a pull request review task. Specifically, the first user (120) who has received a request for whether to approve the merge of a branch into the master branch may check review items including whether there are any errors in the number of images stored in the branch, whether the versions of the images are appropriate, and whether the names of the images are incorrectly set, and may decide to approve or reject the merge. Regarding the request for whether to approve the merge of a branch into the master branch, a screen provided to the first user (120) will be examined in detail in FIG. 11.
단계 S250에서, 전자 장치(100)는 제1 사용자(120)로부터 병합의 승인에 대한 응답이 수신될 때, 브랜치를 마스터 브랜치에 병합하고, 생성된 제1 이미지를 제1 서버(130)에 업로드할 수 있다.In step S250, when a response for approval of merging is received from the first user (120), the electronic device (100) can merge the branch into the master branch and upload the generated first image to the first server (130).
제2 사용자(110)에 대응하는 브랜치에 저장된 다양한 데이터에 오류가 없을 때, 제2 사용자(110)는 브랜치의 마스터 브랜치로의 병합을 승인할 수 있다. 이에 따라, 전자 장치(100)는 브랜치를 마스터 브랜치에 병합하고, 생성된 제1 이미지를 제1 서버(130)에 업로드할 수 있다. 또한, 전자 장치(100)는 제1 이미지를 식별하기 위한 제1 데이터를 제2 서버(140)에 업로드할 수 있다.When there are no errors in various data stored in the branch corresponding to the second user (110), the second user (110) can approve the merging of the branch into the master branch. Accordingly, the electronic device (100) can merge the branch into the master branch and upload the generated first image to the first server (130). In addition, the electronic device (100) can upload first data for identifying the first image to the second server (140).
제2 사용자(110)에 대응하는 브랜치에 저장된 다양한 데이터 중 일부에 오류가 있을 때, 제2 사용자(110)는 브랜치의 마스터 브랜치로의 병합을 거절할 수 있다. 이에 따라, 브랜치는 마스터 브랜치로 병합되지 않을 수 있다. 또한, 제1 이미지의 업로드가 거절되었음이 제2 사용자(110)에게 전송될 수 있다. 이에 따라, 제2 사용자(110)는 디자인 툴을 통해 해당 이미지를 수정한 후, 이미지의 업로드와 관련된 요청을 재입력할 수 있다.When there is an error in some of the various data stored in the branch corresponding to the second user (110), the second user (110) may reject the merge of the branch into the master branch. Accordingly, the branch may not be merged into the master branch. In addition, the fact that the upload of the first image has been rejected may be transmitted to the second user (110). Accordingly, the second user (110) may modify the image through the design tool and then re-enter the request related to the upload of the image.
즉, 디자인 툴을 통해 이미지의 디자인을 완료한 사용자는 디자인 툴의 플러그인을 통해 이미지의 업로드를 간단히 요청할 수 있고, 이후의 이미지의 생성부터 이미지의 업로드까지의 동작은 자동으로 수행될 수 있다. 수행된 동작에 따른 데이터는 데이터의 타입에 따라 제1 서버(130) 또는 제2 서버(140)에 나뉘어 효율적으로 저장 및 관리될 수 있다. 이에 따라, 이미지를 변경, 수정 또는 추가하는 것을 포함하는 테스크에 소요되는 사용자의 노력 및 시간이 최소화될 수 있다.That is, a user who has completed the design of an image through a design tool can simply request an image upload through a plug-in of the design tool, and the subsequent operations from image creation to image upload can be performed automatically. Data according to the performed operations can be divided into the first server (130) or the second server (140) according to the type of data and efficiently stored and managed. Accordingly, the user's effort and time required for tasks including changing, modifying, or adding an image can be minimized.
도 3은 이미지를 업로드하는 프로세스를 보다 상세히 설명하기 위한 도면이다.Figure 3 is a diagram to explain the process of uploading an image in more detail.
일 실시 예에 따르면, 전자 장치(100)는 분산 버전 관리 시스템(303)과 클라우드 기반 플랫폼(304)을 포함할 수 있으나, 이에 한정되는 것은 아니다. 예를 들어, 전자 장치(100)는 디자인 툴(301) 및 플러그인(302)을 더 포함할 수 있다.In one embodiment, the electronic device (100) may include, but is not limited to, a distributed version management system (303) and a cloud-based platform (304). For example, the electronic device (100) may further include a design tool (301) and a plug-in (302).
디자인 툴(301)을 통해, 사용자는 다양한 운영 체제 하의 애플리케이션에서 활성화되는 기능을 갖춘 이미지를 디자인할 수 있다. 디자인 툴(301)을 통해 디자인되는 이미지는 아이콘과 같은 간단한 이미지부터 복잡한 이미지를 포함할 수도 있다. 디자인 툴(301)을 통해 디자인 완료된 이미지를 배포(release)하기 위해, 사용자는 플러그인(302)을 통해 이미지의 업로드와 관련된 요청을 입력할 수 있다. 이미지의 업로드와 관련된 요청이 확인됨에 대응하여, 전자 장치(100)는 브랜치를 생성 또는 가져올(pull) 수 있다. 분산 버전 관리 시스템(303)은 브랜치가 생성됨에 따라, 브랜치에 저장될 데이터와 이미지를 생성하는 동작을 포함하는 테스크(task)를 클라우드 기반 플랫폼(304)으로 트리거할 수 있다.Through the design tool (301), the user can design an image having a function that is activated in an application under various operating systems. The image designed through the design tool (301) may include a simple image such as an icon to a complex image. In order to release the image designed through the design tool (301), the user can input a request related to uploading the image through the plug-in (302). In response to the request related to uploading the image being confirmed, the electronic device (100) can create or pull a branch. As the branch is created, the distributed version control system (303) can trigger a task including an operation of creating data and an image to be stored in the branch to the cloud-based platform (304).
클라우드 기반 플랫폼(304)은 데이터의 설정, 보안, 유지 관리를 감독하고, 데이터의 배포 및 업데이트에 대한 즉각적인 엑세스를 제공하는 플랫폼일 수 있다. 일 예로, 클라우드 기반 플랫폼(304)은 Circle CI일 수 있으나, 이에 제한되는 것은 아니다. 분산 버전 관리 시스템(303)으로부터 테스크를 수행할 것을 트리거 받은 클라우드 기반 플랫폼(304)은 디자인 툴(301) 내에 디자인된 이미지를 가져올(fetch) 수 있다. 클라우드 기반 플랫폼(304)은 디자인 툴(301) 내에 디자인된 이미지로부터 설정된 규칙에 기반하여 결정된 사이즈 및 이름의 이미지를 자동으로 생성할 수 있다. 또한, 클라우드 기반 플랫폼(304)은 제1 서버(130)에 저장된 이미지 중 자동으로 생성된 이미지를 식별하기 위한 데이터를 생성할 수 있다. 클라우드 기반 플랫폼(304)은 생성된 이미지와 데이터를 브랜치에 저장 또는 병합(merge)할 수 있다. 이에 따라, 브랜치에는 요청이 확인된 디자인 툴(301) 내의 이미지에 대응하는 다양한 버전의 이미지와 다양한 버전의 이미지 각각을 식별하기 위한 데이터가 저장될 수 있다.The cloud-based platform (304) may be a platform that oversees the setup, security, and maintenance of data, and provides immediate access to the distribution and updates of the data. For example, the cloud-based platform (304) may be, but is not limited to, Circle CI. The cloud-based platform (304), which is triggered to perform a task from the distributed version control system (303), may fetch an image designed in the design tool (301). The cloud-based platform (304) may automatically generate an image of a size and name determined based on a set rule from the image designed in the design tool (301). In addition, the cloud-based platform (304) may generate data for identifying an automatically generated image among the images stored in the first server (130). The cloud-based platform (304) may store or merge the generated image and data in a branch. Accordingly, the branch may store various versions of an image corresponding to an image in the design tool (301) for which a request has been confirmed, and data for identifying each of the various versions of the image.
분산 버전 관리 시스템(303)은 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 요청을 제1 사용자(120)로 전송할 수 있다. 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 요청을 전송받은 제1 사용자(120)는 브랜치에 저장된 이미지의 개수에 오류는 없는지, 이미지의 버전이 적합한지, 이미지의 이름에 잘못 설정되었는지를 포함하는 리뷰 사항을 확인할 수 있다. 이에 따라, 제1 사용자(120)는 브랜치의 마스터 브랜치로의 병합의 승인 또는 거절을 포함하는 응답을 분산 버전 관리 시스템(303)으로 전송할 수 있다. 브랜치의 마스터 브랜치로의 병합이 거절된 경우, 브랜치는 마스터 브랜치로 병합되지 않고, 이미지 배포에 대한 프로세스는 종료될 수 있다. 반대로, 브랜치의 마스터 브랜치로의 병합이 승인된 경우, 브랜치는 마스터 브랜치로 병합될 수 있다.The distributed version control system (303) may transmit a request for approval of merging a branch into the master branch to the first user (120). The first user (120) who has received the request for approval of merging a branch into the master branch may check review items including whether there are any errors in the number of images stored in the branch, whether the versions of the images are appropriate, and whether the names of the images are set incorrectly. Accordingly, the first user (120) may transmit a response including approval or rejection of merging the branch into the master branch to the distributed version control system (303). If the merging of the branch into the master branch is rejected, the branch may not be merged into the master branch, and the process for image distribution may be terminated. Conversely, if the merging of the branch into the master branch is approved, the branch may be merged into the master branch.
분산 버전 관리 시스템(303)은 클라우드 기반 플랫폼(304)으로 브랜치에 저장된 이미지와 데이터를 다수의 서버에 배포할 것을 트리거할 수 있다. 이에 따라, 클라우드 기반 플랫폼(304)은 이미지를 제1 서버(130)로 업로드할 수 있으며, 이미지를 식별하기 위한 저용량의 데이터를 제2 서버(140)로 업로드할 수 있다. 구체적으로, 클라우드 기반 플랫폼(304)는 상이한 사이즈 및 이름의 이미지 각각에 대응하는 제1 서버(130)의 주소로 해당 이미지를 업로드할 수 있다.The distributed version control system (303) can trigger the cloud-based platform (304) to distribute images and data stored in a branch to multiple servers. Accordingly, the cloud-based platform (304) can upload the images to the first server (130) and upload low-capacity data for identifying the images to the second server (140). Specifically, the cloud-based platform (304) can upload the corresponding images to the address of the first server (130) corresponding to each image of different size and name.
도 4는 디자인 툴을 통해 이미지를 디자인하고, 플러그인을 통해 이미지의 업로드를 요청하는 작업을 수행하는 동작을 설명하기 도면이다.Figure 4 is a drawing explaining the operation of designing an image through a design tool and requesting an image upload through a plug-in.
사용자는 디자인 툴의 유저 인터페이스(400)를 통해 인터넷 서비스 상의 다양한 이미지를 디자인할 수 있다. 일 예로, 사용자는 디자인 툴의 유저 인터페이스(400)를 통해 로켓 배송과 관련된 아이콘과 로켓 배송이라는 문자열이 병기된 이미지(401)를 디자인할 수 있다. 여기서 이미지(401)는 3개의 로켓 배송과 관련된 이미지 중 가장 작은 사이즈의 이미지일 수 있다. 이미지를 배포하기 위해, 디자인 툴의 유저 인터페이스(400) 상에서, 사용자는 추가 기능을 제공하는 확장 모듈 중 이미지를 서버에 업로드하는 기능을 제공하는 Coupang IconBot(402)이라는 플러그인을 클릭할 수 있다. Coupang IconBot(402)이라는 플러그인이 클릭됨에 따른 플러그인과 관련된 인터페이스는 하기에서 살펴보기로 한다.A user can design various images on an Internet service through the user interface (400) of the design tool. For example, a user can design an image (401) with an icon related to rocket delivery and a string of characters, rocket delivery, written on it through the user interface (400) of the design tool. Here, the image (401) may be the smallest-sized image among three images related to rocket delivery. In order to distribute the image, on the user interface (400) of the design tool, the user can click a plugin called Coupang IconBot (402) that provides a function of uploading an image to a server among the extension modules that provide additional functions. An interface related to the plugin when the plugin called Coupang IconBot (402) is clicked will be described below.
도 5는 플러그인을 통해 이미지를 서버에 업로드하기 위한 정보를 입력하는 인터페이스를 설명하기 위한 도면이다.Figure 5 is a drawing for explaining an interface for entering information for uploading an image to a server via a plug-in.
Coupang IconBot(402)이라는 플러그인의 인터페이스의 setting에 대한 탭(500)은 제1 사용자와 관련된 주소 정보를 입력하기 위한 영역(501) 및 주소 정보로 접속하기 위한 권한과 관련된 토큰 정보를 입력하기 위한 영역(502)를 포함할 수 있다.A tab (500) for settings of the interface of a plugin called Coupang IconBot (402) may include an area (501) for entering address information related to a first user and an area (502) for entering token information related to authority for accessing the address information.
전자 장치(100)는 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 요청을 영역(501)에 입력된 사용자에 대응하는 주소로 전송할 수 있다. 영역(501)에는 제2 사용자(110)의 디자인 업무를 관리하는 사용자에 대응하는 주소 정보가 디폴트로 표시될 수 있다. 영역(502)에는 영역(501)에 입력된 사용자에 대응하는 주소로 접속하기 위한 권한과 관련된 토큰 정보가 입력될 수 있다. 영역(502)에는 제2 사용자(110)의 디자인 업무를 관리하는 사용자에 대응하는 주소로 접속하기 위한 권한과 관련된 토큰 정보가 디폴트로 표시될 수 있다.The electronic device (100) may transmit a request for approval of merging a branch into a master branch to an address corresponding to a user entered in an area (501). Address information corresponding to a user who manages design work of a second user (110) may be displayed by default in the area (501). Token information related to authority for accessing an address corresponding to a user entered in an area (502) may be input. Token information related to authority for accessing an address corresponding to a user who manages design work of a second user (110) may be displayed by default in the area (502).
Coupang IconBot(402)이라는 플러그인의 인터페이스의 publish에 대한 탭(500)은 이미지의 버전 정보를 입력하기 위한 영역(512) 및 제1 이미지에 대한 수정 정보를 입력하기 위한 영역(513)을 포함할 수 있다. 이에 더해, publish에 대한 탭(510)은 분산 버전 관리 시스템의 현재 버전이 표시되는 영역(511), 이미지의 업로드와 관련된 요청을 입력함과 동시에 제1 사용자에게 메시지를 제공할지 여부를 결정하기 위한 영역(514)과 이미지의 업로드를 요청하기 위한 입력을 수신하기 위한 영역(515)를 포함할 수 있다.The publish tab (500) of the interface of the plugin called Coupang IconBot (402) may include an area (512) for entering version information of an image and an area (513) for entering modification information for a first image. In addition, the publish tab (510) may include an area (511) for displaying a current version of a distributed version management system, an area (514) for entering a request related to uploading an image and determining whether to provide a message to the first user at the same time, and an area (515) for receiving an input for requesting uploading an image.
영역(511)에 표시되는 분산 버전 관리 시스템의 현재 버전은 디자인 툴에서 디자인된 이미지, 클라우드 기반 플랫폼(304)을 통해 생성된 이미지와 데이터, 생성된 이미지 및 데이터를 브랜치에 병합하는 동작, 브랜치를 마스터 브랜치에 병합하는 동작이 수행될 때, 버전 정보가 다름에 따른 충돌을 방지하기 위함일 수 있다. 또한, 영역(512)을 통해 입력된 버전 정보는 디자인 툴에 의해 디자인된 이미지의 버전일 수 있으며, 영역(513)을 통해 입력된 메시지 또는 커밋(commit)은 영역(512)을 통해 입력된 이전 버전의 이미지와 지금 버전의 이미지 간의 차이점에 대한 내용일 수 있다. 즉, 영역(513)을 통해 입력된 메시지는 수정된 내용을 포함할 수 있으며, 디자이너 및 개발자는 영역(513)을 통해 입력된 메시지를 토대로 수정 또는 추가된 내용을 효과적으로 파악할 수 있다. 일 예로, 영역(512)을 통해 입력된 버전 정보는 1.5.6일 수 있으며, 영역(513)을 통해 입력된 메시지는 로고의 색상 변경일 수 있다.The current version of the distributed version control system displayed in the area (511) may be to prevent conflicts due to different version information when performing an operation of merging an image designed in a design tool, an image and data generated through a cloud-based platform (304), an operation of merging the generated image and data into a branch, and an operation of merging a branch into a master branch. In addition, the version information input through the area (512) may be a version of an image designed by a design tool, and a message or commit input through the area (513) may be content about the difference between a previous version of an image input through the area (512) and a current version of an image. That is, the message input through the area (513) may include modified content, and designers and developers may effectively identify modified or added content based on the message input through the area (513). For example, the version information input through the area (512) may be 1.5.6, and the message input through the area (513) may be a change in the color of a logo.
setting에 대한 탭(500)과 publish에 대한 탭(510)을 통해 정보가 입력된 후에, 사용자는 영역(515)을 통해 이미지를 업로드하는 요청을 전자 장치(100)로 입력할 수 있다. 요청을 수신함에 대응하여, 전자 장치(100)는 제1 이미지와 관련된 브랜치를 생성할 수 있다.After information is entered through the tab for setting (500) and the tab for publishing (510), the user can input a request to upload an image to the electronic device (100) through the area (515). In response to receiving the request, the electronic device (100) can create a branch related to the first image.
도 6은 이미지의 업로드와 관련된 요청에 대응하여 생성된 브랜치를 설명하기 위한 도면이다.Figure 6 is a diagram illustrating a branch created in response to a request related to uploading an image.
인터페이스(600)는 이미지의 업로드와 관련된 요청을 입력한 제2 사용자에 대응하는 분산 버전 관리 시스템 내의 브랜치에 대한 인터페이스일 수 있다. 인터페이스(600)의 영역(601)에 표시되는 버전은 디자인 툴에서 디자인된 이미지의 버전 정보로, 영역(512)을 통해 입력된 버전 정보인 1.5.6에 대응할 수 있다. 또한, 인터페이스(600)의 영역(602)에 표시되는 메시지는 현재 버전과 이전 버전의 이미지 간의 차이에 대한 정보로, 영역(513)을 통해 입력된 메시지인 로고의 색상 변경일 수 있다.The interface (600) may be an interface for a branch in a distributed version control system corresponding to a second user who inputs a request related to uploading an image. The version displayed in the area (601) of the interface (600) may correspond to version information of an image designed in a design tool, which may correspond to version information of 1.5.6 input through the area (512). In addition, the message displayed in the area (602) of the interface (600) may correspond to information on the difference between the current version and the previous version of the image, which may be a change in the color of the logo, which may be a message input through the area (513).
인터페이스(600)의 영역(603)은 클라우드 기반 플랫폼(304)에서의 동작 수행에 대한 정보가 표시될 수 있다. 구체적으로, 분산 버전 관리 시스템(303)은 브랜치가 생성됨에 따라, 브랜치에 저장될 데이터와 이미지를 생성하는 동작을 포함하는 테스크(task)를 클라우드 기반 플랫폼(304)으로 트리거할 수 있고, 이에 따른 클라우드 기반 플랫폼(304)에서의 동작 수행에 대한 정보는 인터페이스(600)의 영역(603)에 표시될 수 있다. 관련하여, 영역(603) 내의 서브 영역(604)를 클릭하면, 클라우드 기반 플랫폼(304)에서 현재 수행 중인 동작에 대한 정보가 표시될 수 있다.The area (603) of the interface (600) may display information about the performance of an operation on the cloud-based platform (304). Specifically, the distributed version control system (303) may trigger a task, including an operation to create data and an image to be stored in a branch, to the cloud-based platform (304) as a branch is created, and information about the performance of the operation on the cloud-based platform (304) according to this may be displayed in the area (603) of the interface (600). In relation to this, when a sub-area (604) within the area (603) is clicked, information about the operation currently being performed on the cloud-based platform (304) may be displayed.
도 7은 클라우드 기반 플랫폼에서 수행되는 동작과 관련된 소스 코드를 설명하기 위한 도면이다.Figure 7 is a diagram illustrating source code related to operations performed on a cloud-based platform.
도 7의 소스 코드(700)를 참조하면, 클라우드 기반 플랫폼(304)의 동작은 크게 ⅰ) 디자인 툴을 통해 디자인된 이미지를 가져와서, 다양한 버전의 이미지와 이미지를 식별하기 위한 데이터를 생성하는 동작과 ⅱ) 이미지를 제1 서버(130)에 업로드하는 동작으로 구분될 수 있다. 디자인 툴을 통해 디자인된 이미지를 가져와서, 다양한 버전의 이미지와 이미지를 식별하기 위한 데이터를 생성하는 동작은 소스 코드(700)의 제1 영역(701)에 대응할 수 있다. 이미지를 제1 서버(130)에 업로드하는 동작은 소스 코드(700)의 제2 영역(702)에 대응할 수 있다.Referring to the source code (700) of FIG. 7, the operation of the cloud-based platform (304) can be largely divided into i) an operation of bringing in an image designed through a design tool and generating various versions of the image and data for identifying the image, and ii) an operation of uploading the image to a first server (130). The operation of bringing in an image designed through a design tool and generating various versions of the image and data for identifying the image may correspond to a first area (701) of the source code (700). The operation of uploading the image to the first server (130) may correspond to a second area (702) of the source code (700).
도 7에 도시되지는 않았지만, 소스 코드(700)은 디자인 툴에 저장된 이미지 중 제2 사용자가 서버에 업로드 요청을 한 이미지를 식별하기 위한 설정 정보에 대응하는 영역을 더 포함할 수 있다. 구체적으로, 클라우드 기반 플랫폼(304)은 소스 코드(700) 내의 토큰 정보와 이미지의 주소 정보에 기초하여 디자인 툴에 저장된 이미지 중 제2 사용자가 서버에 업로드 요청을 한 이미지를 식별할 수 있다.Although not shown in FIG. 7, the source code (700) may further include an area corresponding to setup information for identifying an image that the second user has requested to upload to the server among the images stored in the design tool. Specifically, the cloud-based platform (304) may identify an image that the second user has requested to upload to the server among the images stored in the design tool based on the token information in the source code (700) and the address information of the image.
또한, 도 7에 도시되지는 않았지만, 소스 코드(700)은 이미지와 관련된 사이즈와 이름을 결정하기 위한 규칙에 대한 정보에 대응하는 영역을 포함할 수 있다. 규칙에 대한 정보는 디자인 툴을 통해 디자인된 이미지 별로 미리 설정된 채 분산 버전 관리 시스템(303) 상에 저장되어 있을 수 있다. 디자인 툴을 통해 디자인된 이미지 별로 규칙에 대한 정보가 미리 설정되어 있지 않은 경우, 규칙에 대한 정보는 디폴트 규칙에 대한 정보에 대응하도록 설정될 수 있다.In addition, although not shown in FIG. 7, the source code (700) may include an area corresponding to information about a rule for determining a size and name related to an image. The information about the rule may be preset for each image designed through a design tool and stored on a distributed version management system (303). If the information about the rule is not preset for each image designed through a design tool, the information about the rule may be set to correspond to information about a default rule.
도 8은 클라우드 기반 플랫폼을 통해 생성된 이미지 및 데이터가 분산 버전 관리 시스템에서 구분되어 관리됨을 설명하기 위한 도면이다.Figure 8 is a diagram to explain how images and data generated through a cloud-based platform are managed separately in a distributed version control system.
도 9는 클라우드 기반 플랫폼을 통해 생성된 이미지를 설명하기 위한 도면이다.Figure 9 is a diagram for explaining an image generated through a cloud-based platform.
도 10은 클라우드 기반 플랫폼을 통해 생성된 데이터를 설명하기 위한 도면이다.Figure 10 is a diagram illustrating data generated through a cloud-based platform.
클라우드 기반 플랫폼(304)은 디자인 툴을 통해 디자인된 이미지로부터 설정된 규칙에 기반하여 결정된 사이즈 및 이름의 이미지와 해당 이미지를 식별하기 위한 데이터를 자동으로 생성할 수 있다. 생성된 이미지와 데이터 각각은 분산 버전 관리 시스템(303)의 브랜치 내에 구분된 채 관리 및 저장될 수 있다.The cloud-based platform (304) can automatically generate an image of a size and name determined based on rules set from an image designed through a design tool, and data for identifying the image. Each of the generated images and data can be managed and stored separately within a branch of a distributed version control system (303).
인터페이스(800)의 제1 영역(801)의 폴더에는 디자인 툴을 통해 디자인된 이미지로부터 설정된 규칙에 기반하여 결정된 사이즈 및 이름의 이미지가 저장될 수 있다.In the folder of the first area (801) of the interface (800), an image with a size and name determined based on a rule set from an image designed through a design tool can be stored.
제1 영역(801)의 native라는 명칭의 폴더는 분산 버전 관리 시스템(303) 내의 로컬 저장소에 대응할 수 있으며, 해당 폴더에는 인터넷 서비스가 지원되는 운영 체제 별로 이미지가 생성된 채 저장될 수 있다. 도 9를 참조하면, 인터넷 서비스는 iOS 및 AOS라는 운영 체제로 지원 가능하므로, PDF 파일 형식의 iosNative 파일과 SVG 파일 형식의 AOSNative 파일은 제1 영역(801)의 native라는 명칭의 폴더에 각각 저장될 수 있다. 제1 영역(801)의 native라는 명칭의 폴더는 분산 버전 관리 시스템(303) 내의 운영 체제 별 로컬 저장소에 대응하므로, 제1 영역(801)의 native라는 명칭의 폴더에 저장된 이미지는 제1 서버(130)에 업로드되지 않을 수 있다.The folder named native in the first area (801) may correspond to a local storage in the distributed version control system (303), and images may be created and stored in the folder for each operating system that supports the Internet service. Referring to FIG. 9, since the Internet service can be supported by operating systems called iOS and AOS, an iosNative file in a PDF file format and an AOSNative file in an SVG file format may be stored in the folder named native in the first area (801), respectively. Since the folder named native in the first area (801) corresponds to a local storage for each operating system in the distributed version control system (303), images stored in the folder named native in the first area (801) may not be uploaded to the first server (130).
제1 영역(801)의 Upload라는 명칭의 폴더는 클라우드 기반 플랫폼(304)을 통해 제1 서버(130)로 업로드될 이미지가 저장되는 분산 버전 관리 시스템(303) 내의 저장소일 수 있다. Upload라는 명칭의 폴더에 저장되는 이미지는 추후에 제1 서버(130)에 업로드될 수 있다. 도 9를 참조하면, 디자인 툴을 통해 디자인된 이미지는 해상도에 따라 8가지의 사이즈의 이미지로 생성될 수 있다. 일 예로, iOS 운영 체제에서의 이미지는 해상도 정보에 따라 iphone@3x, iphone@2x, iphone로 생성될 수 있다. 구체적으로, iphone@3x는 iphone@2x보다 고해상도의 이미지이고, iphone@2x는 iphone보다 고해상도의 이미지일 수 있다. 즉, iOS 운영 체제의 디바이스 중 최근에 출시된 고사양의 디바이스에 표시되는 이미지는 iphone@3x에 대응할 수 있으며, iOS 운영 체제의 디바이스 중 오래 전에 출시된 저사양의 디바이스에 표시되는 이미지는 iphone에 대응할 수 있다. 다른 일 예로, AOS 운영 체제에서의 이미지는 해상도 정보에 따라 xxxhdpi, xxhdpi, xhdpi, hdpi, mdpi일 수 있다. 여기서, dpi(dots per inch)는 가로 1인치 및 세로 1인치에 총 몇 개의 점이 있는지를 나타내는 것이므로, xxxhdpi, xxhdpi, xhdpi, hdpi, mdpi까지의 순서는 고해상도에서 저해상도 순서일 수 있다. 즉, AOS 운영 체제의 디바이스 중 최근에 출시된 고사양의 디바이스에 표시되는 이미지는 xxxhdpi 에 대응할 수 있으며, AOS 운영 체제의 디바이스 중 오래 전에 출시된 저사양의 디바이스에 표시되는 이미지는 mdpi에 대응할 수 있다.The folder named Upload in the first area (801) may be a storage within the distributed version management system (303) where images to be uploaded to the first server (130) via the cloud-based platform (304) are stored. Images stored in the folder named Upload may be uploaded to the first server (130) later. Referring to FIG. 9, images designed via the design tool may be generated as images of eight different sizes depending on the resolution. For example, images in the iOS operating system may be generated as iphone@3x, iphone@2x, and iphone depending on the resolution information. Specifically, iphone@3x may be an image with a higher resolution than iphone@2x, and iphone@2x may be an image with a higher resolution than iphone. In other words, an image displayed on a recently released, high-spec device among devices of the iOS operating system may correspond to iphone@3x, and an image displayed on a long-released, low-spec device among devices of the iOS operating system may correspond to iphone. As another example, images in the AOS operating system can be xxxhdpi, xxhdpi, xhdpi, hdpi, mdpi depending on the resolution information. Here, dpi (dots per inch) indicates the total number of dots per inch (inch) wide and per inch high, so the order of xxxhdpi, xxhdpi, xhdpi, hdpi, mdpi can be in order from high resolution to low resolution. In other words, images displayed on high-spec devices that were recently released among devices with the AOS operating system can correspond to xxxhdpi, and images displayed on low-spec devices that were released a long time ago among devices with the AOS operating system can correspond to mdpi.
제2 영역(802)의 data.json은 Json 형식의 데이터로, 제1 영역(801)의 Native라는 명칭의 폴더와 Upload라는 명칭의 폴더에 저장된 다양한 버전의 이미지 각각을 식별하기 위한 데이터일 수 있다. data.json이라는 파일은 영역(1010)에 입력된 소스 코드에 대응할 수 있다. data.json은 이미지의 사이즈에 대한 정보, 이미지의 이름에 대한 정보, 이미지가 제1 서버(130)에 저장된 경로에 대한 정보를 포함할 수 있다.The data.json of the second area (802) is data in JSON format and may be data for identifying each of the various versions of the images stored in the folder named Native and the folder named Upload in the first area (801). The file called data.json may correspond to the source code entered in the area (1010). The data.json may include information about the size of the image, information about the name of the image, and information about the path where the image is stored in the first server (130).
구체적으로, 영역(1010)에 입력된 소스 코드는 영역(1015)를 통한 입력에 대응하여 구조화된 채 영역(1020)에 표시될 수 있다. 영역(1010)에 입력된 소스 코드는 도 9의 iosNative, AOSNative, iphone@3x, iphone@2x, iphone, xxxhdpi, xxhdpi, xhdpi, hdpi, mdpi 각각에 대응하는 정보를 포함할 수 있다. 영역(1020)의 resolution 0부터 7은 순서대로 도 9의 mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi, iphone, iphone@2x, iphone@3x에 대응할 수 있다. 서브 영역(1011) 및 서브 영역(1021)에 대응하는 소스 코드는 도 9의 hdpi 해상도의 이미지(901)에 대한 정보에 대응할 수 있다. hdpi 해상도의 이미지에 대한 정보는 ⅰ) 주소 정보가 coupnang/rds/logo/hdpi/logo_rocket_small1697447490667.png이고, ⅱ) 코드 정보가 HDPI이고, ⅲ) 이미지의 사이즈 정보 중 이미지의 너비 정보가 60.00067138671875이며, 및 ⅳ) 이미지의 사이즈 정보 중 이미지의 높이 정보가 14임을 포함할 수 있다.Specifically, the source code input into the area (1010) may be displayed in the area (1020) in a structured manner corresponding to the input through the area (1015). The source code input into the area (1010) may include information corresponding to each of iosNative, AOSNative, iphone@3x, iphone@2x, iphone, xxxhdpi, xxhdpi, xhdpi, hdpi, and mdpi of FIG. 9.
또한, 서브 영역(1022)는 Native 폴더와 Upload 폴더에 저장된 다양한 버전의 이미지를 통칭하는 이름으로 'LOGO_ROCKET_SMALL'일 수 있다. 이러한 이미지의 이름은 이미지와 관련된 설정 정보에 기반하여 결정될 수 있다. 예를 들어, 이미지의 이름은 '_'를 기준으로 3가지 정보가 결합된 형태로 구성될 수 있으며, 첫번째 부분에는 이미지의 이미지 타입에 대한 정보가 기재될 수 있으며, 두번째 부분에는 이미지 형태에 대한 정보가 기재될 수 있으며, 세번째 부분에는 이미지의 사이즈에 대한 정보가 기재될 수 있다. 예를 들어, 도 4의 이미지(401)는 로켓 배송 관련 3개의 아이콘 이미지 중 가장 작은 사이즈의 아이콘 이미지일 수 있으며, 이미지(401)의 이미지 타입은 LOGO일 수 있고, 이미지(401)의 이미지 형태는 Rocket일 수 있으며, 이미지(401)의 사이즈는 SMALL일 수 있다. 즉, 도 5의 이미지(401)에 대응하는 이름은 'LOGO_ROCKET_SMALL'로 결정될 수 있다.In addition, the sub-area (1022) may be a general name for various versions of images stored in the Native folder and the Upload folder, which may be 'LOGO_ROCKET_SMALL'. The name of the image may be determined based on the setting information related to the image. For example, the name of the image may be configured in a form in which three pieces of information are combined based on '_', and information on the image type of the image may be described in the first part, information on the image shape may be described in the second part, and information on the size of the image may be described in the third part. For example, the image (401) of FIG. 4 may be the smallest-sized icon image among three icon images related to rocket delivery, and the image type of the image (401) may be LOGO, the image shape of the image (401) may be Rocket, and the size of the image (401) may be SMALL. That is, the name corresponding to the image (401) of FIG. 5 may be determined as 'LOGO_ROCKET_SMALL'.
일 실시 예에 따르면, 디바이스의 사용자로부터 제2 이미지에 대한 요청을 수신할 때, 전자 장치(100)는 제2 서버(140)에 저장된 데이터를 이용하여 제1 서버(130)에 저장된 이미지 중 디바이스에 전송할 제2 이미지를 식별할 수 있다. 구체적으로, 전자 장치(100)는 수신된 요청에 대응하는 제2 이미지에 기초하여, 제2 서버에 저장된 데이터 중 제2 이미지에 대응하는 제2 데이터를 식별할 수 있다. 또한, 전자 장치(100)는 식별된 제2 데이터를 통해 디바이스의 스펙 정보에 대응하는 해상도의 주소 정보와 코드 정보를 식별할 수 있다. 전자 장치(100)는 제1 서버에 저장된 이미지 중 식별된 주소 정보와 코드 정보에 대응하는 해상도의 제2 이미지를 식별할 수 있으며, 식별된 해상도의 제2 이미지를 디바이스로 전송할 수 있다. 즉, 전자 장치(100)는 이미지를 송수신하기 위한 저용량의 데이터의 형식의 데이터를 이용하여 제1 서버(1030)에 저장된 이미지 중 적합한 이미지를 효과적으로 식별할 수 있다. 이에 따라, 이미지 송수신 과정에 필요한 데이터량을 최소화할 수 있다.According to one embodiment, when receiving a request for a second image from a user of the device, the electronic device (100) may identify a second image to be transmitted to the device among the images stored in the first server (130) using data stored in the second server (140). Specifically, the electronic device (100) may identify second data corresponding to the second image among the data stored in the second server based on the second image corresponding to the received request. In addition, the electronic device (100) may identify address information and code information of a resolution corresponding to the specification information of the device through the identified second data. The electronic device (100) may identify a second image of a resolution corresponding to the identified address information and code information among the images stored in the first server, and may transmit the second image of the identified resolution to the device. That is, the electronic device (100) may effectively identify a suitable image among the images stored in the first server (1030) using data in the form of low-capacity data for transmitting and receiving images. Accordingly, the amount of data required for the image transmitting and receiving process may be minimized.
도 11은 제1 사용자에게 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 요청과 관련된 화면을 설명하기 위한 도면이다.Figure 11 is a diagram illustrating a screen related to a request to a first user to approve the merge of a branch into the master branch.
일 실시 예에 따르면, 전자 장치(100)는 도 5의 플러그인을 통한 입력으로부터 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 권한이 있는 사용자를 식별할 수 있다. 이에 따라, 전자 장치(100)는 권한이 있는 사용자에 대응하는 주소로 도 11의 병합의 승인 여부에 대한 요청과 관련된 화면을 전송할 수 있다.According to one embodiment, the electronic device (100) can identify a user who has the authority to approve the merge of a branch into the master branch from the input via the plug-in of FIG. 5. Accordingly, the electronic device (100) can transmit a screen related to a request for approval of the merge of FIG. 11 to an address corresponding to the authorized user.
사용자는 화면(1100)을 통해 브랜치에 저장된 이미지의 개수에 오류는 없는지, 이미지의 버전이 적합한지, 이미지의 이름에 잘못 설정되었는지를 포함하는 리뷰 사항을 확인하고, 병합의 승인 또는 거절을 결정할 수 있다. 구체적으로, 사용자는 영역(1101)을 통해, Native 폴더 및 Upload 폴더에 적정한 개수의 이미지(예를 들어, Native 폴더에 2개의 이미지 및 Upload 폴더에 8개의 이미지)가 있는지 여부와 각각의 이미지의 이름이 적절하게 설정되었는지를 확인할 수 있다. 또한, 사용자는 영역(1102)를 통해 이미지가 적절하게 생성되었는지 직접 확인할 수 있다.The user can check review items including whether there is an error in the number of images stored in the branch, whether the version of the image is appropriate, and whether the name of the image is incorrectly set through the screen (1100), and decide whether to approve or reject the merge. Specifically, the user can check whether there are an appropriate number of images (e.g., 2 images in the Native folder and 8 images in the Upload folder) in the Native folder and whether the name of each image is appropriately set through the area (1101). In addition, the user can directly check whether the images were appropriately created through the area (1102).
도 12는 일 실시 예에 따른 이미지를 업로드하기 위한 전자 장치를 도식화한 블록도이다.FIG. 12 is a block diagram schematically illustrating an electronic device for uploading an image according to one embodiment.
도 12의 전자 장치(100)는 이미지를 업로드하기 위한 전자 장치일 수 있다. 전자 장치(100)는 일 실시 예에 따라, 트랜시버(101), 스토리지(102) 및 하나 이상의 프로세서(processor)(103)를 포함할 수 있다. 도 12에 도시된 전자 장치(100)는 본 실시 예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 12에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다. The electronic device (100) of FIG. 12 may be an electronic device for uploading an image. The electronic device (100) may include a transceiver (101), a storage (102), and one or more processors (103), according to an embodiment. The electronic device (100) illustrated in FIG. 12 illustrates only components related to the present embodiment. Therefore, it will be understood by those skilled in the art related to the present embodiment that other general-purpose components may be further included in addition to the components illustrated in FIG. 12.
예를 들어, 전자 장치(100)는 일 실시 예에 따라 트랜시버(transceiver)(101)를 포함할 수 있다. 트랜시버(101)는 유/무선 통신을 수행하기 위한 장치로서, 외부의 전자 장치와 통신할 수 있다. 또한, 트랜시버(101)가 이용하는 통신 기술에는 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)가 있을 수 있다. 일 실시 예에 따라, 트랜시버(101)는 생성된 제1 이미지를 제1 서버(130)로 전송할 수 있으며, 이미지를 식별하기 위한 데이터를 제2 서버(140)로 전송할 수 있다.For example, the electronic device (100) may include a transceiver (101) according to an embodiment. The transceiver (101) is a device for performing wired/wireless communication and may communicate with an external electronic device. In addition, the communication technology used by the transceiver (101) may include 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, and NFC (near field communication). According to an embodiment, the transceiver (101) may transmit a generated first image to a first server (130) and transmit data for identifying the image to a second server (140).
스토리지(102)는 도 1 내지 도 12을 통하여 전술한 적어도 하나의 방법을 수행하기 위한 정보를 저장할 수 있다. 스토리지(102)는 하나 이상의 프로세서(103)에 의해 실행되는 하나 이상의 명령을 저장할 수 있다. 스토리지(102)는 메모리로 호칭될 수 있고, 휘발성 메모리 또는 비휘발성 메모리일 수 있다. 스토리지(102)는 디자인 툴을 통해 디자인된 이미지를 저장할 수 있으며, 도 9의 iOSNative, AOSNative와 같이 분산 버전 관리 시스템 내의 로컬 저장소를 통해 관리되는 이미지를 저장할 수 있다.The storage (102) can store information for performing at least one of the methods described above through FIGS. 1 to 12. The storage (102) can store one or more commands executed by one or more processors (103). The storage (102) can be referred to as a memory and can be a volatile memory or a non-volatile memory. The storage (102) can store an image designed through a design tool, and can store an image managed through a local storage within a distributed version control system such as iOSNative and AOSNative of FIG. 9.
하나 이상의 프로세서(103)는 전자 장치(100)의 전반의 동작을 제어하고 데이터 및 신호를 처리할 수 있다. 하나 이상의 프로세서(103)는 도 1 내지 도 12을 통하여 전술한 하나의 방법을 수행할 수 있다. 하나 이상의 프로세서(103)는 적어도 하나의 하드웨어 유닛으로 구성될 수 있다. 또한, 하나 이상의 프로세서(103)는 스토리지(102)에 저장된 하나 이상의 명령을 실행하여 생성되는 하나 이상의 소프트웨어 모듈에 의해 동작할 수 있다. 하나 이상의 프로세서(103)는 트랜시버(101) 및 스토리지(102)와, 나아가 전자 장치(100)가 더 포함할 수 있는 구성요소들과의 상호 작용을 통해 전자 장치(100)가 수행하는 실시 예들을 제어할 수 있다.One or more processors (103) can control the overall operation of the electronic device (100) and process data and signals. The one or more processors (103) can perform one of the methods described above through FIGS. 1 to 12. The one or more processors (103) can be composed of at least one hardware unit. In addition, the one or more processors (103) can operate by one or more software modules generated by executing one or more commands stored in the storage (102). The one or more processors (103) can control embodiments performed by the electronic device (100) through interactions with the transceiver (101) and the storage (102), and further with components that the electronic device (100) can include.
일 실시 예에 따르면, 프로세서(103)는 하나 이상의 명령을 실행함으로써, 플러그인을 통해, 디자인 툴에 저장된 제1 이미지의 업로드와 관련된 요청을 확인하고, 요청에 대응하여, 제1 이미지와 관련된 브랜치를 생성하고, 설정된 규칙에 기반하여 결정된 사이즈 및 이름의 제1 이미지를 생성하고, 생성된 제1 이미지를 포함하는 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 요청을 제1 이미지와 관련된 제1 사용자에게 전송하고, 및 제1 사용자로부터 병합의 승인에 대한 응답이 수신될 때, 브랜치를 마스터 브랜치에 병합하고, 생성된 제1 이미지를 제1 서버(130)에 업로드할 수 있다.According to one embodiment, the processor (103) may execute one or more commands to, through a plug-in, check a request related to uploading a first image stored in a design tool, create a branch related to the first image in response to the request, create a first image having a size and name determined based on a set rule, transmit a request for approval of merging the branch including the created first image into a master branch to a first user related to the first image, and when a response for approval of the merge is received from the first user, merge the branch into the master branch and upload the created first image to the first server (130).
한편, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.Meanwhile, the present specification and drawings have disclosed preferred embodiments of the present invention, and although specific terms have been used, they have been used only in a general sense to easily explain the technical contents of the present invention and to help understand the invention, and are not intended to limit the scope of the present invention. It will be apparent to those skilled in the art that other modified examples based on the technical idea of the present invention can be implemented in addition to the embodiments disclosed herein.
전술한 실시 예들에 따른 전자 장치 또는 단말은, 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 아이콘 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-Access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다. The electronic device or terminal according to the above-described embodiments may include a processor, a memory for storing and executing program data, a permanent storage such as a disk drive, a communication port for communicating with an external device, a user interface device such as a touch panel, a key, an icon, etc. The methods implemented as software modules or algorithms may be stored on a computer-readable recording medium as computer-readable codes or program commands executable on the processor. Here, the computer-readable recording medium includes a magnetic storage medium (e.g., a read-only memory (ROM), a random-access memory (RAM), a floppy disk, a hard disk, etc.) and an optical reading medium (e.g., a CD-ROM, a Digital Versatile Disc (DVD)). The computer-readable recording medium may be distributed to computer systems connected to a network, so that the computer-readable code may be stored and executed in a distributed manner. The medium may be readable by a computer, stored in a memory, and executed by a processor.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 집적 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler), 파이썬(Python) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.The present embodiment may be represented by functional block configurations and various processing steps. These functional blocks may be implemented by various numbers of hardware and/or software configurations that perform specific functions. For example, the embodiment may employ integrated circuit configurations such as memory, processing, logic, look-up tables, etc., which may perform various functions under the control of one or more microprocessors or other control devices. Similarly to the fact that the components may be implemented by software programming or software components, the present embodiment may be implemented in a programming or scripting language such as C, C++, Java, assembler, Python, etc., including various algorithms implemented by a combination of data structures, processes, routines, or other programming configurations. The functional aspects may be implemented by algorithms that are executed on one or more processors. In addition, the present embodiment may employ conventional techniques for electronic environment setting, signal processing, and/or data processing. Terms such as “mechanism,” “element,” “means,” and “configuration” can be used broadly and are not limited to mechanical and physical configurations. The terms can also include the meaning of a series of software processes (routines) in connection with a processor, etc.
전술한 실시 예들은 일 예시일 뿐 후술하는 청구항들의 범위 내에서 다른 실시 예들이 구현될 수 있다.The above-described embodiments are only examples, and other embodiments may be implemented within the scope of the claims set forth herein.
Claims (12)
플러그인을 통해, 디자인 툴에 저장된 제1 이미지의 업로드와 관련된 요청을 확인하는 단계;
상기 요청에 대응하여, 상기 제1 이미지와 관련된 브랜치를 생성하는 단계;
설정된 규칙에 기반하여 결정된 사이즈 및 이름의 제1 이미지를 생성하는 단계;
상기 생성된 제1 이미지를 포함하는 상기 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 요청을 상기 제1 이미지와 관련된 제1 사용자에게 전송하는 단계; 및
상기 제1 사용자로부터 상기 병합의 승인에 대한 응답이 수신될 때, 상기 브랜치를 상기 마스터 브랜치에 병합하고, 상기 생성된 제1 이미지를 제1 서버에 업로드하는 단계를 포함하는,
이미지를 업로드하는 방법.
In the method of an electronic device uploading an image,
Step 2: Verifying a request related to uploading a first image stored in the design tool via the plugin;
In response to the above request, a step of creating a branch related to the first image;
A step of generating a first image having a size and name determined based on established rules;
A step of transmitting a request for approval of merging the branch including the generated first image into the master branch to the first user associated with the first image; and
When a response for approval of said merge is received from said first user, the step of merging said branch into said master branch and uploading said generated first image to a first server is included.
How to upload an image.
상기 플러그인은,
상기 제1 사용자와 관련된 주소 정보를 입력하기 위한 제1 영역, 상기 주소 정보로 접속하기 위한 권한과 관련된 토큰 정보를 입력하기 위한 제2 영역, 상기 제1 이미지의 버전 정보를 입력하기 위한 제3 영역 및 상기 제1 이미지에 대한 수정 정보를 입력하기 위한 제4 영역을 포함하는,
이미지를 업로드하는 방법.
In the first paragraph,
The above plugin,
A first area for entering address information related to the first user, a second area for entering token information related to authority for accessing the address information, a third area for entering version information of the first image, and a fourth area for entering modification information for the first image.
How to upload an image.
상기 제1 이미지를 생성하는 단계는,
상기 브랜치가 생성됨에 따라, 상기 디자인 툴에 저장된 제1 이미지를 불러오는 단계;
상기 불러온 제1 이미지로부터 상기 사이즈 및 상기 이름의 제1 이미지를 생성하는 단계; 및
상기 제1 서버에 저장된 이미지 중 상기 제1 이미지를 식별하기 위한 제1 데이터를 생성하는 단계를 포함하는,
이미지를 업로드하는 방법.
In the second paragraph,
The step of generating the first image is:
As the above branch is created, a step of loading the first image stored in the design tool;
A step of generating a first image of the size and the name from the first image loaded above; and
A step of generating first data for identifying the first image among the images stored in the first server,
How to upload an image.
상기 제1 데이터는,
상기 사이즈에 대한 정보, 상기 이름에 대한 정보, 상기 제1 이미지가 상기 제1 서버에 저장된 경로에 대한 정보 중 적어도 하나를 포함하고,
상기 제1 데이터는,
Json 형식의 데이터인,
이미지를 업로드하는 방법.
In the third paragraph,
The above first data is,
Contains at least one of information about the size, information about the name, and information about the path where the first image is stored on the first server;
The above first data is,
Data in JSON format,
How to upload an image.
상기 생성된 제1 이미지를 상기 제1 서버에 업로드하는 단계는,
상기 제1 사용자로부터 상기 병합의 승인에 대한 응답이 수신될 때, 상기 생성된 제1 데이터를 제2 서버에 업로드하는 단계를 포함하는,
이미지를 업로드하는 방법.
In the third paragraph,
The step of uploading the first image generated above to the first server is:
When a response for approval of the merge is received from the first user, the step of uploading the generated first data to the second server is included.
How to upload an image.
상기 제1 사용자로부터 상기 병합의 거절에 대한 응답이 수신될 때, 상기 브랜치는 상기 마스터 브랜치로 병합되지 않고, 상기 제1 이미지의 업로드가 거절되었음은 상기 플러그인을 통해 상기 제1 이미지의 업로드와 관련된 요청을 입력한 제2 사용자에게 전송되는,
이미지를 업로드하는 방법.
In the first paragraph,
When a response to the rejection of the merge is received from the first user, the branch is not merged into the master branch, and the rejection of the upload of the first image is transmitted to the second user who entered the request related to the upload of the first image through the plugin.
How to upload an image.
상기 설정된 규칙은,
운영 체제에 대한 정보 및 디바이스 별 해상도 정보에 기반하여 이미지의 사이즈와 이미지의 파일 타입을 결정하는 제1 규칙, 및
이미지와 관련된 설정 정보에 기반하여, 이미지의 이름을 결정하는 제2 규칙을 포함하는,
이미지를 업로드하는 방법.
In the first paragraph,
The above established rules are:
A first rule that determines the size of the image and the file type of the image based on information about the operating system and resolution information for each device, and
A second rule for determining the name of an image based on configuration information related to the image,
How to upload an image.
상기 병합의 승인 여부에 대한 요청을 상기 제1 사용자로 전송하는 단계는,
상기 제1 영역을 통해 입력된 주소 정보로 상기 병합의 승인 여부에 대한 요청을 전송하는 단계를 포함하는,
이미지를 업로드하는 방법.
In the second paragraph,
The step of sending a request for approval of the above merge to the first user is:
Including a step of transmitting a request for approval of the merger using the address information entered through the first area.
How to upload an image.
상기 제1 이미지를 상기 제1 서버에 업로드하는 단계는,
상기 사이즈 및 상기 이름 각각에 대응하는 상기 제1 서버의 주소에 상기 제1 이미지를 업로드하는 단계를 포함하는,
이미지를 업로드하는 방법.
In the first paragraph,
The step of uploading the first image to the first server is:
Comprising the step of uploading the first image to the address of the first server corresponding to each of the above size and the above name,
How to upload an image.
디바이스의 제2 사용자로부터 제2 이미지에 대한 요청을 수신하는 단계;
상기 제2 이미지 및 상기 디바이스의 스펙 정보에 기초하여, 상기 제2 서버에 저장된 데이터 중 제2 데이터를 식별하는 단계;
상기 제2 데이터에 기초하여, 상기 제1 서버에 저장된 이미지 중 상기 제2 데이터에 대응하는 상기 제2 이미지를 확인하는 단계; 및
상기 제2 이미지에 대한 정보를 상기 디바이스에 전송하는 단계를 더 포함하는,
이미지를 업로드하는 방법.
In clause 5,
A step of receiving a request for a second image from a second user of the device;
A step of identifying second data among data stored in the second server based on the second image and specification information of the device;
A step of confirming the second image corresponding to the second data among the images stored in the first server based on the second data; and
Further comprising the step of transmitting information about the second image to the device,
How to upload an image.
트랜시버;
하나 이상의 프로세서; 및
상기 하나 이상의 프로세서에 의해 실행되는 하나 이상의 명령을 저장하는 스토리지를 포함하고,
상기 하나 이상의 프로세서는, 상기 하나 이상의 명령을 실행함으로써,
플러그인을 통해, 디자인 툴에 저장된 제1 이미지의 업로드와 관련된 요청을 확인하고,
상기 요청에 대응하여, 상기 제1 이미지와 관련된 브랜치를 생성하고,
설정된 규칙에 기반하여 결정된 사이즈 및 이름의 제1 이미지를 생성하고,
상기 생성된 제1 이미지를 포함하는 상기 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 요청을 상기 제1 이미지와 관련된 제1 사용자에게 전송하고, 및
상기 제1 사용자로부터 상기 병합의 승인에 대한 응답이 수신될 때, 상기 브랜치를 상기 마스터 브랜치에 병합하고, 상기 생성된 제1 이미지를 제1 서버에 업로드하는,
전자 장치.
As an electronic device,
transceiver;
one or more processors; and
comprising storage for storing one or more instructions executed by said one or more processors;
The one or more processors, by executing the one or more instructions,
Through the plugin, check the request related to uploading the first image stored in the design tool,
In response to the above request, create a branch related to the first image,
Generate a first image with a size and name determined based on the established rules,
Sending a request to a first user associated with the first image for approval of merging the branch containing the first image generated above into the master branch, and
When a response for approval of said merge is received from said first user, said branch is merged into said master branch, and said generated first image is uploaded to the first server.
Electronic devices.
A non-transitory computer-readable storage medium having recorded thereon a program for executing the method of any one of claims 1 to 10 on a computer.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020230187112A KR102912677B1 (en) | 2023-12-20 | 2023-12-20 | Method and electronic device for uploading image |
| TW113105604A TWI919190B (en) | 2023-12-20 | 2024-02-17 | Method and electronic device for uploading image |
| KR1020260004539A KR20260016570A (en) | 2023-12-20 | 2026-01-09 | Method and electronic device for uploading image |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020230187112A KR102912677B1 (en) | 2023-12-20 | 2023-12-20 | Method and electronic device for uploading image |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020260004539A Division KR20260016570A (en) | 2023-12-20 | 2026-01-09 | Method and electronic device for uploading image |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20250096155A true KR20250096155A (en) | 2025-06-27 |
| KR102912677B1 KR102912677B1 (en) | 2026-01-15 |
Family
ID=96225792
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020230187112A Active KR102912677B1 (en) | 2023-12-20 | 2023-12-20 | Method and electronic device for uploading image |
| KR1020260004539A Pending KR20260016570A (en) | 2023-12-20 | 2026-01-09 | Method and electronic device for uploading image |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020260004539A Pending KR20260016570A (en) | 2023-12-20 | 2026-01-09 | Method and electronic device for uploading image |
Country Status (1)
| Country | Link |
|---|---|
| KR (2) | KR102912677B1 (en) |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20080087031A (en) * | 2006-01-13 | 2008-09-29 | 야후! 인크. | Method and system for recording edits in media content |
| KR20190005543A (en) * | 2017-07-07 | 2019-01-16 | (주)샘터 | Apparatus For Processing Tag Information Of Sequence Two-Dimensional Image Suitable For Image Scroll |
| CN111142879A (en) * | 2019-12-05 | 2020-05-12 | 深圳融卡智能科技有限公司 | Software integration release method and automatic operation and maintenance platform |
| KR20200112430A (en) * | 2019-03-22 | 2020-10-05 | 카페24 주식회사 | Online shopping mall banner design auto-generating method and apparatus |
| US20200356635A1 (en) * | 2019-05-09 | 2020-11-12 | Shopify Inc. | Translation platform for executable instructions |
| KR20210130673A (en) * | 2019-04-09 | 2021-11-01 | 쿠팡 주식회사 | Systems and methods for efficient management and modification of images |
| CN115658084A (en) * | 2022-11-09 | 2023-01-31 | 华润数字科技有限公司 | Web front-end architecture and page deployment method, device, equipment and medium thereof |
-
2023
- 2023-12-20 KR KR1020230187112A patent/KR102912677B1/en active Active
-
2026
- 2026-01-09 KR KR1020260004539A patent/KR20260016570A/en active Pending
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20080087031A (en) * | 2006-01-13 | 2008-09-29 | 야후! 인크. | Method and system for recording edits in media content |
| KR20190005543A (en) * | 2017-07-07 | 2019-01-16 | (주)샘터 | Apparatus For Processing Tag Information Of Sequence Two-Dimensional Image Suitable For Image Scroll |
| KR20200112430A (en) * | 2019-03-22 | 2020-10-05 | 카페24 주식회사 | Online shopping mall banner design auto-generating method and apparatus |
| KR20210130673A (en) * | 2019-04-09 | 2021-11-01 | 쿠팡 주식회사 | Systems and methods for efficient management and modification of images |
| US20200356635A1 (en) * | 2019-05-09 | 2020-11-12 | Shopify Inc. | Translation platform for executable instructions |
| CN111142879A (en) * | 2019-12-05 | 2020-05-12 | 深圳融卡智能科技有限公司 | Software integration release method and automatic operation and maintenance platform |
| CN115658084A (en) * | 2022-11-09 | 2023-01-31 | 华润数字科技有限公司 | Web front-end architecture and page deployment method, device, equipment and medium thereof |
Also Published As
| Publication number | Publication date |
|---|---|
| KR102912677B1 (en) | 2026-01-15 |
| TW202526627A (en) | 2025-07-01 |
| KR20260016570A (en) | 2026-02-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN105793840B (en) | Previewing file and license while writing Email | |
| US8533691B2 (en) | Managing non-common features for program code translation | |
| US20160292206A1 (en) | Validating coherency between multiple data sets between database transfers | |
| US20150193492A1 (en) | Editing sub-section of an electronic document via notification message | |
| US8843535B2 (en) | Framework for applying metadata for multiple files managed using a content management system | |
| JP2016224923A (en) | Method and system for automated generation of user form interface | |
| US20210311753A1 (en) | Methods and systems for content generation via templates with rules and/or triggers | |
| US10387125B2 (en) | Dynamically building mobile applications | |
| US10275234B2 (en) | Selective bypass of code flows in software program | |
| RU2639667C2 (en) | Context invitation in trial version of application | |
| CN119002781A (en) | Method, device, equipment and storage medium for creating template | |
| US20150278316A1 (en) | Task reduction in dynamic case management | |
| US20150220882A1 (en) | Asset creation and utilization using an asset creation tool | |
| US20170351509A1 (en) | Prototype management system | |
| US20150178275A1 (en) | Resolving content editing conflicts arising from concurrent drafts | |
| KR102912677B1 (en) | Method and electronic device for uploading image | |
| US8615744B2 (en) | Methods and system for managing assets in programming code translation | |
| JP6097231B2 (en) | Program generating apparatus and method | |
| US20250200269A1 (en) | Modifying a digital design document via customized access rights to document portions | |
| US20250165533A1 (en) | Spatially partitioned ideally chunked entity tree | |
| US11816307B1 (en) | Method for providing service of configuring UI on a display of an in-vehicle infotainment device and UI configuration server using the same | |
| TWI919190B (en) | Method and electronic device for uploading image | |
| CN114449063A (en) | Message processing method, device and equipment | |
| US11010346B2 (en) | Methods and apparatus for managing access to file content | |
| CN108170557B (en) | Method and apparatus for outputting information |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| D22 | Grant of ip right intended |
Free format text: ST27 STATUS EVENT CODE: A-1-2-D10-D22-EXM-PE0701 (AS PROVIDED BY THE NATIONAL OFFICE) |
|
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| A16 | Divisional, continuation or continuation in part application filed |
Free format text: ST27 STATUS EVENT CODE: A-0-1-A10-A16-DIV-PA0107 (AS PROVIDED BY THE NATIONAL OFFICE) |
|
| PA0107 | Divisional application |
St.27 status event code: A-0-1-A10-A16-div-PA0107 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| U11 | Full renewal or maintenance fee paid |
Free format text: ST27 STATUS EVENT CODE: A-2-2-U10-U11-OTH-PR1002 (AS PROVIDED BY THE NATIONAL OFFICE) Year of fee payment: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| Q13 | Ip right document published |
Free format text: ST27 STATUS EVENT CODE: A-4-4-Q10-Q13-NAP-PG1601 (AS PROVIDED BY THE NATIONAL OFFICE) |
