KR102912677B1 - Method and electronic device for uploading image - Google Patents

Method and electronic device for uploading image

Info

Publication number
KR102912677B1
KR102912677B1 KR1020230187112A KR20230187112A KR102912677B1 KR 102912677 B1 KR102912677 B1 KR 102912677B1 KR 1020230187112 A KR1020230187112 A KR 1020230187112A KR 20230187112 A KR20230187112 A KR 20230187112A KR 102912677 B1 KR102912677 B1 KR 102912677B1
Authority
KR
South Korea
Prior art keywords
image
branch
user
information
server
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.)
Active
Application number
KR1020230187112A
Other languages
Korean (ko)
Other versions
KR20250096155A (en
Inventor
시이 유
징센 리
주 카이
멩 탕
치옹웨이 팡
퀴안동 리
유에 리우
프라샨트 아쇼크 라네
Original Assignee
쿠팡 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쿠팡 주식회사 filed Critical 쿠팡 주식회사
Priority to KR1020230187112A priority Critical patent/KR102912677B1/en
Priority to TW113105604A priority patent/TWI919190B/en
Publication of KR20250096155A publication Critical patent/KR20250096155A/en
Priority to KR1020260004539A priority patent/KR20260016570A/en
Application granted granted Critical
Publication of KR102912677B1 publication Critical patent/KR102912677B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1873Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0007Image acquisition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/00Two-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 uploading an image by an electronic device is disclosed. Specifically, the method for uploading an image by an electronic device 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 established rules; 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

이미지를 업로드하는 방법 및 전자 장치{METHOD AND ELECTRONIC DEVICE FOR UPLOADING IMAGE}METHOD AND ELECTRONIC DEVICE FOR UPLOADING IMAGE

본 명세서의 실시 예는 이미지를 업로드하는 방법 및 장치에 관한 것이다.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 in response to events such as application version updates. In this regard, changing, modifying, or adding images may be performed manually. Consequently, changing, modifying, or adding images requires significant effort and time from users.

본 개시는 상술한 문제점을 해결하기 위해 제안된 것으로, 개시된 실시 예들은 이미지를 업로드하는 방법 및 전자 장치를 제공하고자 한다. 보다 구체적으로, 개시된 실시 예들은 사용자로부터 병합의 승인에 대한 응답이 수신될 때, 브랜치를 마스터 브랜치에 병합하고, 생성된 이미지를 자동으로 서버에 업로드하는 방법 및 전자 장치를 제공하고자 한다.The present disclosure proposes to address the aforementioned problems, and the disclosed embodiments provide a method and electronic device for uploading images. More specifically, the disclosed embodiments provide a method and electronic device for merging a branch into a master branch and automatically uploading the generated image to a server when a user approves the merge.

상술한 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1측면에 따른 전자 장치가 이미지를 업로드하는 방법은 플러그인을 통해, 디자인 툴에 저장된 제1 이미지의 업로드와 관련된 요청을 확인하는 단계; 요청에 대응하여, 제1 이미지와 관련된 브랜치를 생성하는 단계; 설정된 규칙에 기반하여 결정된 사이즈 및 이름의 제1 이미지를 생성하는 단계; 생성된 제1 이미지를 포함하는 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 요청을 제1 이미지와 관련된 제1 사용자에게 전송하는 단계; 및 제1 사용자로부터 병합의 승인에 대한 응답이 수신될 때, 브랜치를 마스터 브랜치에 병합하고, 생성된 제1 이미지를 제1 서버에 업로드하는 단계를 포함할 수 있다.As a technical means for achieving the above-described task, a method for uploading an image by an electronic device 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 plug-in may include a first area for entering address information related to a first user, a second area for entering token information related to permission to access 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; the step of generating a first image having a size and name from the loaded first image; and the step of 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 merge 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 may 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 that determines the size and file type of the image based on information about the operating system and resolution information for each device, and a second rule that determines 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 from 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 from 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 identify 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 a third aspect of the present disclosure may be a non-transitory computer-readable recording medium having recorded thereon a program for executing a method of uploading an image performed by an electronic device on a computer.

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

본 명세서의 실시 예에 의할 경우, 플러그인을 통해 디자인 툴에 저장된 이미지의 업로드와 관련된 요청이 확인되고, 사용자로부터 병합의 승인에 대한 응답이 수신될 때, 브랜치를 마스터 브랜치에 병합하고, 생성된 이미지를 서버에 자동으로 업로드할 수 있다. 이에 따라, 이미지를 변경, 수정 또는 추가하는 것을 포함하는 테스크에 소요되는 사용자의 노력 및 시간이 최소화될 수 있다.According to an embodiment of the present specification, when a request for uploading an image stored in a design tool is confirmed via a plugin and a user's approval for the merge is received, the branch can be merged into the master branch and the generated image can be automatically uploaded to the server. This minimizes the user's effort and time required for tasks involving changing, modifying, or adding images.

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

도 1은 일 실시 예에 따른 전자 장치가 이미지를 업로드하는 방법이 구현될 수 있는 시스템을 설명하기 위한 도면이다.
도 2는 전자 장치가 이미지를 업로드하는 방법을 나타낸 흐름도이다.
도 3은 이미지를 업로드하는 프로세스를 보다 상세히 설명하기 위한 도면이다.
도 4는 디자인 툴을 통해 이미지를 디자인하고, 플러그인을 통해 이미지의 업로드를 요청하는 작업을 수행하는 동작을 설명하기 도면이다.
도 5는 플러그인을 통해 이미지를 서버에 업로드하기 위한 정보를 입력하는 인터페이스를 설명하기 위한 도면이다.
도 6은 이미지의 업로드와 관련된 요청에 대응하여 생성된 브랜치를 설명하기 위한 도면이다.
도 7은 클라우드 기반 플랫폼에서 수행되는 동작과 관련된 소스 코드를 설명하기 위한 도면이다.
도 8은 클라우드 기반 플랫폼을 통해 생성된 이미지 및 데이터가 분산 버전 관리 시스템에서 구분되어 관리됨을 설명하기 위한 도면이다.
도 9는 클라우드 기반 플랫폼을 통해 생성된 이미지를 설명하기 위한 도면이다.
도 10은 클라우드 기반 플랫폼을 통해 생성된 데이터를 설명하기 위한 도면이다.
도 11은 제1 사용자에게 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 요청과 관련된 화면을 설명하기 위한 도면이다.
도 12는 일 실시 예에 따른 이미지를 업로드하기 위한 전자 장치를 도식화한 블록도이다.
FIG. 1 is a diagram illustrating a system in which a method for uploading an image by an electronic device according to one embodiment can be implemented.
Figure 2 is a flowchart illustrating how an electronic device uploads an image.
Figure 3 is a drawing 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 illustrating that 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 have been selected from widely used and common terms, taking into account the functions of the present disclosure. However, these terms may vary depending on the intentions of those skilled in the art, precedents, the emergence of new technologies, etc. Furthermore, in certain cases, terms may be arbitrarily selected by the applicant, in which case their meanings will be described in detail in the relevant description. Therefore, the terms used in this disclosure should not be defined simply as names of terms, but rather based on the meanings of the terms and the overall content of the present disclosure.

명세서 전체에서 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 “...부”, “...모듈” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.When a part of the specification is said to "include" a component, this does not exclude other components, but rather implies the inclusion of other components, unless otherwise specifically stated. Furthermore, terms such as "part" and "module" used in the specification mean a unit that processes at least one function or operation, which may be implemented in hardware, 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” described throughout the specification may 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 that can connect 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 guarantees portability and mobility, and may include all types of handheld-based wireless communication devices such as communication-based terminals such as IMT (International Mobile Telecommunication), CDMA (Code Division Multiple Access), W-CDMA (W-Code Division Multiple Access), LTE (Long Term Evolution), smartphones, tablet PCs, etc.

아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.Below, embodiments of the present disclosure are described in detail with reference to the attached drawings 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 details that are well-known in the technical field to which the present invention pertains and are not directly related to the present invention will be omitted. This is to avoid obscuring the gist of the present invention by omitting unnecessary explanations and to convey it more clearly.

마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.For the same reason, some components in the attached drawings are exaggerated, omitted, or schematically depicted. Furthermore, the dimensions of each component do not entirely reflect its actual size. Identical or corresponding components in each drawing are assigned the same reference numbers.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.The advantages and features of the present invention, and the methods for achieving them, will become clearer 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 and may be implemented in various different forms. These embodiments are provided only to ensure that the disclosure of the present invention is 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 designate 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 installed in 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 direct a computer or other programmable data processing equipment to implement the functions in a specific manner, so that the instructions stored in the computer-available or computer-readable memory can also produce a manufactured item that includes 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 device, a series of operational steps may be performed on the computer or other programmable data processing device to create a computer-executable process, and the instructions that cause the computer or other programmable data processing device to perform the steps for performing the functions described in the flowchart block(s) may also provide steps for performing 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 specific logical function(s). It should also be noted that in some alternative implementation examples, the functions described in the blocks may occur out of order. For example, two blocks depicted in succession may actually be executed substantially concurrently, or the blocks may sometimes be executed in reverse order, depending on their respective functions.

이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings.

도 1은 일 실시 예에 따른 전자 장치가 이미지를 업로드하는 방법이 구현될 수 있는 시스템을 설명하기 위한 도면이다.FIG. 1 is a diagram illustrating a system in which a method for uploading an image by an electronic device according to one embodiment 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 images. 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, those skilled in the art will understand that, in addition to the components illustrated in FIG. 1, other general-purpose components may be further included.

전자 장치(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) refers to a unit that processes at least one function or operation, which may be implemented by hardware, 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 function separated from 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 computer systems and computer software that are connected to lower-level devices capable of communicating with other network servers via 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 enables 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. Wireless communication may include, but is not limited to, wireless LAN (Wi-Fi), Bluetooth, Bluetooth low energy, Zigbee, Wi-Fi Direct (WFD), ultra wideband (UWB), infrared data association (IrDA), and near field communication (NFC).

일 실시 예에 따르면, 전자 장치(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, 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 (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)는 플러그인을 통해 디자인 툴에 저장된 이미지의 업로드와 관련된 요청을 입력한 사용자일 수 있다.A design tool may be a tool for designing UI/UX with features that are activated in applications under various operating systems. For example, the design tool may be Figma, but is not limited thereto. A plugin may be software that operates as an extension module to provide additional functionality through the design tool. Specifically, the additional functionality provided through the design tool may be to automatically upload images designed and stored by a user through the design tool to a server. The second user (110) may be a user who has entered a request related to uploading an image stored in the design tool through the plugin.

디자인 툴을 통해 디자인된 이미지는 분산 버전 관리 시스템을 통해 관리될 수 있다. 구체적으로, 분산 버전 관리 시스템은 브랜치와 마스터 브랜치를 포함할 수 있으며, 분산 버전 관리 시스템은 Github일 수 있으나, 이에 한정되는 것은 아니다. 브랜치는 사용자 별 전용 작업 공간으로, 소스 코드, 이미지와 같은 다양한 타입의 데이터의 저장, 수정 및 관리에 이용될 수 있다. 관련하여, 브랜치에는 이미지와 관련된 다양한 타입의 데이터가 저장될 수 있다. 즉, 설정된 규칙에 기반하여 결정된 사이즈 및 이름의 제1 이미지는 제2 사용자(110)에 대응하는 브랜치에서 관리될 수 있다. 또한, 마스터 브랜치는 복수의 사용자가 협업하여 개발하는 소스 코드와 같은 파일이 관리되는 공유 작업 공간일 수 있다. 즉, 복수의 사용자에 의해 개발된 소스 코드와 같은 다양한 파일은 마스터 브랜치를 통해 통합적으로 관리될 수 있다. 관련하여, 사용자 각각의 개별 브랜치에 저장된 데이터를 마스터 브랜치로 병합하는 동작은 개별 브랜치에 저장된 데이터가 적합한지 여부를 확인한 후에 수행될 필요가 있다. 관련하여, 제1 사용자(120)는 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 권한이 있는 사용자로, 제2 사용자(110)는 플러그인을 통해 이미지의 업로드와 관련된 요청을 입력할 때, 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 권한이 있는 사용자를 식별하기 위한 정보를 입력할 수 있다.Images designed using a design tool can be managed through a distributed version control system. Specifically, the distributed version control system may include branches and a master branch, and the distributed version control system may be, but is not limited to, GitHub. 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 this regard, various types of image-related data can be stored in the branch. Specifically, a first image, whose size and name are determined based on established rules, can be managed in a branch corresponding to a second user (110). Furthermore, the master branch may be a shared workspace where files, such as source code, developed collaboratively by multiple users are managed. In other words, various files, such as source code, developed by multiple users can be managed in an integrated manner through the master branch. Furthermore, the operation of merging data stored in each user's individual branches into the master branch needs to be performed after verifying whether the data stored in each individual branch is appropriate. In relation to this, 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 Content Distribution/Delivery Network (CDN). More specifically, resources 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 Content Management System (CMS). The data for identifying the image may be data in the JSON (JavaScript Object Notation) format, but is not limited thereto, in a low-capacity data format for efficiently transmitting and receiving images compared to relatively high-capacity images.

사용자에게 제공되는 인터넷 서비스 상의 이미지는 사용자의 디바이스에 대한 운영 체제에 대한 정보, 사용자의 디바이스의 스펙 정보에 기반한 해상도 정보, 사용자의 디바이스를 통해 현재 지원되는 통신 속도에 대한 정보에 기반하여 다이나믹하게 결정될 필요가 있다. 즉, 동일한 디자인의 이미지이더라도, 제1 서버(130)에는 운영 체제 및 해상도에 따라 복수 버전의 이미지가 저장되어 있을 수 있다. 또한, 동일한 디자인이더라도 복수 버전의 이미지를 구분하기 위해, 이미지를 식별하기 위한 데이터는 상이하게 결정된 채 제2 서버(140)에 저장될 수 있다.Images provided to users on Internet services need 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 for images of the same design, multiple versions of the image may be stored on the first server (130) depending on the operating system and resolution. Furthermore, to distinguish between multiple versions of the image, even for images of the same design, data for identifying the image may be determined differently and stored on the second server (140).

도 2는 전자 장치가 이미지를 업로드하는 방법을 나타낸 흐름도이다.Figure 2 is a flowchart 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 an electronic device (100) may be changed or substituted, or some of the order between operations may be changed, within a range clearly understood by 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 the design tool via 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 via the plug-in. The operation of designing an image via the design tool and confirming a request related to uploading a first image stored in the design tool via the plug-in will be discussed in detail in 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 for the second user (110), and the branch may store data related to the image designed by the second user (110) using the design tool. In other words, data related to the image designed by the second user (110) using the design tool may be managed through the dedicated branch for 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 name determined based on a set rule in response to the creation of a branch. Here, the set rule may include a first rule for determining the size and 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. 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 created branch. The operation of generating the first image having a size and 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 the 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 with approval authority for merging a branch into the master branch via a plugin. If no user with approval authority is input, the electronic device (100) can send a request to the user managing the second user's (110) design work to determine whether to approve the merge of the branch into the master branch.

사용자가 브랜치의 마스터 브랜치로의 병합의 승인 여부를 검토하는 것은 풀 리퀘스트(pull request) 리뷰 작업으로 호칭될 수 있다. 구체적으로, 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 요청을 전송받은 제1 사용자(120)는 브랜치에 저장된 이미지의 개수에 오류는 없는지, 이미지의 버전이 적합한지, 이미지의 이름에 잘못 설정되었는지를 포함하는 리뷰 사항을 확인하고, 병합의 승인 또는 거절을 결정할 수 있다. 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 요청과 관련하여, 제1 사용자(120)에게 제공되는 화면에 대해, 도 11에서 자세히 살펴보기로 한다.A user's review of whether to approve a branch's merge into the master branch may be referred to as a pull request review task. Specifically, a first user (120) who receives a request for approval of a branch's merge into the master branch may review the review items, including whether there are any errors in the number of images stored in the branch, whether the image versions are appropriate, and whether the image names are incorrectly set, and may decide to approve or reject the merge. The screen provided to the first user (120) regarding the request for approval of a branch's merge into the master branch will be described in detail in FIG. 11.

단계 S250에서, 전자 장치(100)는 제1 사용자(120)로부터 병합의 승인에 대한 응답이 수신될 때, 브랜치를 마스터 브랜치에 병합하고, 생성된 제1 이미지를 제1 서버(130)에 업로드할 수 있다.In step S250, when a response for approval of the merge 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 the various data stored in the branch corresponding to the second user (110), the second user (110) can approve the branch's merge 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 branch's merge into the master branch. Accordingly, the branch may not be merged into the master branch. In addition, the rejection of the upload of the first image 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 image upload.

즉, 디자인 툴을 통해 이미지의 디자인을 완료한 사용자는 디자인 툴의 플러그인을 통해 이미지의 업로드를 간단히 요청할 수 있고, 이후의 이미지의 생성부터 이미지의 업로드까지의 동작은 자동으로 수행될 수 있다. 수행된 동작에 따른 데이터는 데이터의 타입에 따라 제1 서버(130) 또는 제2 서버(140)에 나뉘어 효율적으로 저장 및 관리될 수 있다. 이에 따라, 이미지를 변경, 수정 또는 추가하는 것을 포함하는 테스크에 소요되는 사용자의 노력 및 시간이 최소화될 수 있다.That is, a user who has completed the design of an image using a design tool can simply request an image upload using the design tool's plug-in, and the subsequent operations from image creation to image upload can be performed automatically. Data resulting from the performed operations can be efficiently stored and managed by dividing the data into the first server (130) or the second server (140) depending on the data type. Accordingly, the user's effort and time required for tasks involving altering, modifying, or adding images can be minimized.

도 3은 이미지를 업로드하는 프로세스를 보다 상세히 설명하기 위한 도면이다.Figure 3 is a drawing to explain the process of uploading an image in more detail.

일 실시 예에 따르면, 전자 장치(100)는 분산 버전 관리 시스템(303)과 클라우드 기반 플랫폼(304)을 포함할 수 있으나, 이에 한정되는 것은 아니다. 예를 들어, 전자 장치(100)는 디자인 툴(301) 및 플러그인(302)을 더 포함할 수 있다.According to one embodiment, the electronic device (100) may include, but is not limited to, a distributed version control 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), a user can design an image with functions that can be activated in applications under various operating systems. The image designed through the design tool (301) can include simple images such as icons as well as complex images. 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 confirmation of the request related to uploading the image, 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 to the cloud-based platform (304) that includes an operation to create data and images to be stored in the branch.

클라우드 기반 플랫폼(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 data. For example, the cloud-based platform (304) may be, but is not limited to, Circle CI. The cloud-based platform (304), triggered by the distributed version control system (303) to perform a task, may fetch an image designed in the design tool (301). The cloud-based platform (304) may automatically generate an image with a determined size and name based on established rules from the image designed in the design tool (301). In addition, the cloud-based platform (304) may generate data for identifying automatically generated images among the images stored in the first server (130). The cloud-based platform (304) may store or merge the generated images and data in a branch. Accordingly, the branch may store various versions of images corresponding to the images in the design tool (301) for which the request has been confirmed, and data for identifying each of the various versions of the images.

분산 버전 관리 시스템(303)은 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 요청을 제1 사용자(120)로 전송할 수 있다. 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 요청을 전송받은 제1 사용자(120)는 브랜치에 저장된 이미지의 개수에 오류는 없는지, 이미지의 버전이 적합한지, 이미지의 이름에 잘못 설정되었는지를 포함하는 리뷰 사항을 확인할 수 있다. 이에 따라, 제1 사용자(120)는 브랜치의 마스터 브랜치로의 병합의 승인 또는 거절을 포함하는 응답을 분산 버전 관리 시스템(303)으로 전송할 수 있다. 브랜치의 마스터 브랜치로의 병합이 거절된 경우, 브랜치는 마스터 브랜치로 병합되지 않고, 이미지 배포에 대한 프로세스는 종료될 수 있다. 반대로, 브랜치의 마스터 브랜치로의 병합이 승인된 경우, 브랜치는 마스터 브랜치로 병합될 수 있다.The distributed version control system (303) may transmit a request to the first user (120) regarding whether to approve the merge of a branch into the master branch. The first user (120) who received the request regarding whether to approve the merge of a branch into the master branch may check the review contents 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 the merge of the branch into the master branch to the distributed version control system (303). If the merge of the branch into the master branch is rejected, the branch is not merged into the master branch, and the process for image distribution may be terminated. Conversely, if the merge 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 branches to multiple servers. Accordingly, the cloud-based platform (304) can upload the images to a first server (130) and upload small amounts of data for identifying the images to a second server (140). Specifically, the cloud-based platform (304) can upload the corresponding images to the addresses of the first server (130) corresponding to each image of different sizes and names.

도 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 for Internet services through the user interface (400) of the design tool. For example, a user can design an image (401) containing an icon related to rocket delivery and the string "rocket delivery" through the user interface (400) of the design tool. Here, the image (401) may be the smallest size image among three images related to rocket delivery. To distribute the image, on the user interface (400) of the design tool, the user can click a plugin called Coupang IconBot (402), which provides a function for uploading images to a server among extension modules that provide additional functions. The 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 permission to access 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 the master branch to an address corresponding to a user entered in area (501). Address information corresponding to a user who manages the design work of a second user (110) may be displayed by default in area (501). Token information related to authority for accessing the address corresponding to the user entered in area (501) may be input in area (502). Token information related to authority for accessing the address corresponding to the user who manages the design work of a second user (110) may be displayed by default in area (502).

Coupang IconBot(402)이라는 플러그인의 인터페이스의 publish에 대한 탭(500)은 이미지의 버전 정보를 입력하기 위한 영역(512) 및 제1 이미지에 대한 수정 정보를 입력하기 위한 영역(513)을 포함할 수 있다. 이에 더해, publish에 대한 탭(510)은 분산 버전 관리 시스템의 현재 버전이 표시되는 영역(511), 이미지의 업로드와 관련된 요청을 입력함과 동시에 제1 사용자에게 메시지를 제공할지 여부를 결정하기 위한 영역(514)과 이미지의 업로드를 요청하기 위한 입력을 수신하기 위한 영역(515)를 포함할 수 있다.A tab (500) for publish of an interface of a 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 tab (510) for publish may include an area (511) for displaying the current version of a distributed version control system, an area (514) for entering a request related to uploading an image and determining whether to provide a message to the first user, 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 area (511) may be to prevent conflicts due to different version information when performing actions such as an image designed in a design tool, an image and data generated through a cloud-based platform (304), an action to merge the generated image and data into a branch, and an action to merge the branch into a master branch. In addition, the version information input through area (512) may be the version of the image designed by the design tool, and the message or commit input through area (513) may be about the differences between the previous version of the image input through area (512) and the current version of the image. That is, the message input through area (513) may include modified content, and designers and developers can effectively identify modified or added content based on the message input through area (513). For example, the version information input through area (512) may be 1.5.6, and the message input through 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 associated with 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 within a distributed version control system corresponding to a second user who has entered 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, such as 1.5.6, entered through area (512). Additionally, the message displayed in the area (602) of the interface (600) may correspond to information about the differences between the current version and a previous version of the image, such as a change in the color of the logo, entered through 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 operations on the cloud-based platform (304). Specifically, the distributed version control system (303) may trigger a task, including an operation to create data and images to be stored in a branch, to the cloud-based platform (304) as a branch is created, and information about the performance of operations on the cloud-based platform (304) according to this may be displayed in the area (603) of the interface (600). In this regard, 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 broadly divided into an operation of i) importing an image designed through a design tool and generating various versions of the image and data for identifying the image, and ii) uploading the image to a first server (130). The operation of importing 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 illustrated in FIG. 7, the source code (700) may further include a region corresponding to configuration information for identifying an image stored in the design tool for which a second user has requested upload to the server. Specifically, the cloud-based platform (304) may identify an image stored in the design tool for which a second user has requested upload to the server based on token information and image address information within the source code (700).

또한, 도 7에 도시되지는 않았지만, 소스 코드(700)은 이미지와 관련된 사이즈와 이름을 결정하기 위한 규칙에 대한 정보에 대응하는 영역을 포함할 수 있다. 규칙에 대한 정보는 디자인 툴을 통해 디자인된 이미지 별로 미리 설정된 채 분산 버전 관리 시스템(303) 상에 저장되어 있을 수 있다. 디자인 툴을 통해 디자인된 이미지 별로 규칙에 대한 정보가 미리 설정되어 있지 않은 경우, 규칙에 대한 정보는 디폴트 규칙에 대한 정보에 대응하도록 설정될 수 있다.Additionally, although not illustrated in FIG. 7, the source code (700) may include a region corresponding to information regarding rules for determining the size and name associated with an image. The information regarding the rules may be preset for each image designed through a design tool and stored on a distributed version control system (303). If the information regarding the rules is not preset for each image designed through a design tool, the information regarding the rules may be set to correspond to information regarding default rules.

도 8은 클라우드 기반 플랫폼을 통해 생성된 이미지 및 데이터가 분산 버전 관리 시스템에서 구분되어 관리됨을 설명하기 위한 도면이다.Figure 8 is a diagram illustrating that 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 images with sizes and names determined based on established rules from images designed using a design tool, along with data for identifying the images. Each generated image 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), images with sizes and names determined based on rules set from images 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 within 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 PDF file format and an AOSNative file in 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 within 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 repository within a distributed version control system (303) where images to be uploaded to the first server (130) via a 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 through a 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 with the iOS operating system may correspond to iphone@3x, and an image displayed on a long-released, low-spec device among devices with 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 in width and height, so the order of xxxhdpi, xxhdpi, xhdpi, hdpi, mdpi can be from high to low resolution. In other words, images displayed on recently released high-spec devices among devices in the AOS operating system can correspond to xxxhdpi, and images displayed on old low-spec devices among devices in 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 named 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 on 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 structured and displayed in the area (1020) in response 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. Resolutions 0 to 7 of the area (1020) may correspond to mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi, iphone, iphone@2x, and iphone@3x of FIG. 9 in that order. The source code corresponding to the sub-area (1011) and the sub-area (1021) may correspond to information about the image (901) of the hdpi resolution of FIG. 9. Information about an image with hdpi resolution may include: i) address information is coupnang/rds/logo/hdpi/logo_rocket_small1697447490667.png, ii) code information is HDPI, iii) among the image size information, the image width information is 60.00067138671875, and iv) among the image size information, the image height information is 14.

또한, 서브 영역(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 'LOGO_ROCKET_SMALL' as a general name for various versions of images stored in the Native folder and the Upload folder. The name of such an image may be determined based on setting information related to the image. For example, the name of the image may be composed of three pieces of information combined based on '_', and the first part may describe information about the image type of the image, the second part may describe information about the image shape, and the third part may describe information about the size of the image. For example, the image (401) of FIG. 4 may be the smallest 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) can identify a second image to be transmitted to the device from among the images stored in the first server (130) using data stored in the second server (140). Specifically, the electronic device (100) can identify second data corresponding to the second image from among the data stored in the second server based on the second image corresponding to the received request. In addition, the electronic device (100) can 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) can identify a second image of a resolution corresponding to the identified address information and code information from among the images stored in the first server, and can transmit the second image of the identified resolution to the device. That is, the electronic device (100) can effectively identify a suitable image from 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 can 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 authorized to approve the merge of a branch into the master branch from 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 review the number of images stored in the branch (1100) to determine whether there are any errors, whether the versions of the images are appropriate, and whether the names of the images are incorrectly set, and decide whether to approve or reject the merge. Specifically, the user can check through area (1101) whether the Native folder and the Upload folder contain an appropriate number of images (e.g., two images in the Native folder and eight images in the Upload folder) and whether the names of each image are appropriately set. In addition, the user can directly check through area (1102) whether the images have been properly created.

도 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 images. According to one embodiment, the electronic device (100) may include a transceiver (101), storage (102), and one or more processors (103). The electronic device (100) illustrated in FIG. 12 only illustrates 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 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와 같이 분산 버전 관리 시스템 내의 로컬 저장소를 통해 관리되는 이미지를 저장할 수 있다.Storage (102) can store information for performing at least one of the methods described above with reference to FIGS. 1 to 12. Storage (102) can store one or more commands executed by one or more processors (103). Storage (102) can be referred to as memory and can be volatile memory or non-volatile memory. Storage (102) can store images designed through a design tool, and can store images managed through a local repository 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 with reference to FIGS. 1 to 12. The one or more processors (103) can be configured as 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 interaction with the transceiver (101) and the storage (102), and further with components that the electronic device (100) may 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 disclose preferred embodiments of the present invention. Although specific terms have been used, they are used in a general sense only to easily explain the technical contents of the present invention and to assist in understanding 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 concept of the present invention are possible 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, 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., read-only memory (ROM), random-access memory (RAM), floppy disk, hard disk, etc.) and an optical reading medium (e.g., CD-ROM, DVD: Digital Versatile Disc)). 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 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, the present embodiment may be implemented in a programming or scripting language such as C, C++, Java, assembler, Python, etc., including various algorithms implemented as a combination of data structures, processes, routines, or other programming configurations. Functional aspects may be implemented as algorithms that execute on one or more processors. Furthermore, the present embodiment may employ conventional techniques for electronic configuration, signal processing, and/or data processing. Terms like "mechanism," "element," "means," and "composition" can be used broadly and are not limited to mechanical or physical components. These terms can also encompass a series of software routines, such as those associated with a processor.

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

Claims (12)

전자 장치가 이미지를 업로드하는 방법에 있어서,
플러그인을 통해, 디자인 툴에 저장된 제1 이미지의 업로드와 관련된 요청을 확인하는 단계;
상기 요청에 대응하여, 상기 제1 이미지와 관련된 브랜치를 생성하는 단계;
설정된 규칙에 기반하여 결정된 사이즈 및 이름의 제1 이미지를 생성하는 단계;
상기 생성된 제1 이미지를 포함하는 상기 브랜치의 마스터 브랜치로의 병합의 승인 여부에 대한 요청을 상기 제1 이미지와 관련된 제1 사용자에게 전송하는 단계; 및
상기 제1 사용자로부터 상기 병합의 승인에 대한 응답이 수신될 때, 상기 브랜치를 상기 마스터 브랜치에 병합하고, 상기 생성된 제1 이미지를 제1 서버에 업로드하는 단계를 포함하고,
상기 플러그인은,
상기 제1 사용자와 관련된 주소 정보를 입력하기 위한 제1 영역, 상기 주소 정보로 접속하기 위한 권한과 관련된 토큰 정보를 입력하기 위한 제2 영역, 상기 제1 이미지의 버전 정보를 입력하기 위한 제3 영역 및 상기 제1 이미지에 대한 수정 정보를 입력하기 위한 제4 영역을 포함하는,
이미지를 업로드하는 방법.
In the method of uploading an image by an electronic device,
Step 1: 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 the merge is received from the first user, the step of merging the branch into the master branch and uploading the generated first image to the first server is included.
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.
삭제delete 제1 항에 있어서,
상기 제1 이미지를 생성하는 단계는,
상기 브랜치가 생성됨에 따라, 상기 디자인 툴에 저장된 제1 이미지를 불러오는 단계;
상기 불러온 제1 이미지로부터 상기 사이즈 및 상기 이름의 제1 이미지를 생성하는 단계; 및
상기 제1 서버에 저장된 이미지 중 상기 제1 이미지를 식별하기 위한 제1 데이터를 생성하는 단계를 포함하는,
이미지를 업로드하는 방법.
In the first paragraph,
The step of generating the above 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 name from the first image called 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.
제3 항에 있어서,
상기 제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.
제3 항에 있어서,
상기 생성된 제1 이미지를 상기 제1 서버에 업로드하는 단계는,
상기 제1 사용자로부터 상기 병합의 승인에 대한 응답이 수신될 때, 상기 생성된 제1 데이터를 제2 서버에 업로드하는 단계를 포함하는,
이미지를 업로드하는 방법.
In the third paragraph,
The step of uploading the first image generated above to the first server is:
A step of uploading the generated first data to a second server when a response for approval of the merge is received from the first user,
How to upload an image.
제1 항에 있어서,
상기 제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 항에 있어서,
상기 설정된 규칙은,
운영 체제에 대한 정보 및 디바이스 별 해상도 정보에 기반하여 이미지의 사이즈와 이미지의 파일 타입을 결정하는 제1 규칙, 및
이미지와 관련된 설정 정보에 기반하여, 이미지의 이름을 결정하는 제2 규칙을 포함하는,
이미지를 업로드하는 방법.
In the first paragraph,
The rules set above are:
A first rule that determines the size and file type of an image based on information about the operating system and resolution information for each device, and
A second rule that determines the name of the image based on configuration information related to the image,
How to upload an image.
제1 항에 있어서,
상기 병합의 승인 여부에 대한 요청을 상기 제1 사용자로 전송하는 단계는,
상기 제1 영역을 통해 입력된 주소 정보로 상기 병합의 승인 여부에 대한 요청을 전송하는 단계를 포함하는,
이미지를 업로드하는 방법.
In the first paragraph,
The step of transmitting 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 서버의 주소에 상기 제1 이미지를 업로드하는 단계를 포함하는,
이미지를 업로드하는 방법.
In the first paragraph,
The step of uploading the first image to the first server comprises:
Comprising the step of uploading the first image to the address of the first server corresponding to each of the size and the name,
How to upload an image.
제5 항에 있어서,
디바이스의 제2 사용자로부터 제2 이미지에 대한 요청을 수신하는 단계;
상기 제2 이미지 및 상기 디바이스의 스펙 정보에 기초하여, 상기 제2 서버에 저장된 데이터 중 제2 데이터를 식별하는 단계;
상기 제2 데이터에 기초하여, 상기 제1 서버에 저장된 이미지 중 상기 제2 데이터에 대응하는 상기 제2 이미지를 확인하는 단계; 및
상기 제2 이미지에 대한 정보를 상기 디바이스에 전송하는 단계를 더 포함하는,
이미지를 업로드하는 방법.
In paragraph 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 서버에 업로드하고,
상기 플러그인은,
상기 제1 사용자와 관련된 주소 정보를 입력하기 위한 제1 영역, 상기 주소 정보로 접속하기 위한 권한과 관련된 토큰 정보를 입력하기 위한 제2 영역, 상기 제1 이미지의 버전 정보를 입력하기 위한 제3 영역 및 상기 제1 이미지에 대한 수정 정보를 입력하기 위한 제4 영역을 포함하는,
전자 장치.
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 into the master branch, and
When a response for approval of the merge is received from the first user, the branch is merged into the master branch, and the generated first image is uploaded to the first server,
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.
Electronic devices.
제1 항, 제3 항 내지 제10 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체.

A non-transitory computer-readable recording medium having recorded thereon a program for executing the method of any one of claims 1, 3, and 10 on a computer.

KR1020230187112A 2023-12-20 2023-12-20 Method and electronic device for uploading image Active KR102912677B1 (en)

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 KR20250096155A (en) 2025-06-27
KR102912677B1 true 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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111142879A (en) 2019-12-05 2020-05-12 深圳融卡智能科技有限公司 Software integration release method and automatic operation and maintenance platform
US20200356635A1 (en) * 2019-05-09 2020-11-12 Shopify Inc. Translation platform for executable instructions
CN115658084A (en) 2022-11-09 2023-01-31 华润数字科技有限公司 Web front-end architecture and page deployment method, device, equipment and medium thereof

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009524296A (en) * 2006-01-13 2009-06-25 ヤフー! インコーポレイテッド System and method for recording edits to media content
KR101981228B1 (en) * 2017-07-07 2019-05-22 (주)샘터 Apparatus For Processing Tag Information Of Sequence Two-Dimensional Image Suitable For Image Scroll
KR102246537B1 (en) * 2019-03-22 2021-04-30 카페24 주식회사 Online shopping mall banner design auto-generating method and apparatus
US10445915B1 (en) * 2019-04-09 2019-10-15 Coupang Corp. Systems and methods for efficient management and modification of images

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
TW202526627A (en) 2025-07-01
KR20260016570A (en) 2026-02-03
KR20250096155A (en) 2025-06-27

Similar Documents

Publication Publication Date Title
CN105793840B (en) Previewing file and license while writing Email
US10117697B2 (en) Mechanism for facilitating user-controlled management of webpage elements for dynamic customization of information
US9898497B2 (en) Validating coherency between multiple data sets between database transfers
US9311071B2 (en) Force upgrade of a mobile application via a server side configuration file
US9519526B2 (en) File management system and collaboration service and integration capabilities with third party applications
US9430449B2 (en) Systems, methods, and media for managing editable previews of webpages
US20210208854A1 (en) System and method for enhancing component based development models with auto-wiring
US20150193492A1 (en) Editing sub-section of an electronic document via notification message
US20150169386A1 (en) Automating software availability management based on api versioning
US20150095880A1 (en) Facilitating software development tools on mobile computing devices in an on-demand services environment
CN108346028A (en) A kind of business approval processing method, apparatus and system
US8996588B2 (en) Mechanism for facilitating dynamic management of assets in an on-demand services environment
US20140082517A1 (en) Facilitating dynamic creation, customization, and execution of keyboard shortcuts in an on-demand services environment
US20210405616A1 (en) Scenario providing system, scenario providing device, scenario execution terminal, scenario providing method, scenario execution method and program
US20150220882A1 (en) Asset creation and utilization using an asset creation tool
US20150278316A1 (en) Task reduction in dynamic case management
US9436460B2 (en) Regression alerts
US20150178275A1 (en) Resolving content editing conflicts arising from concurrent drafts
KR102912677B1 (en) Method and electronic device for uploading image
US20250165533A1 (en) Spatially partitioned ideally chunked entity tree
TWI919190B (en) Method and electronic device for uploading image
Costa et al. Google Cloud Cookbook
US12204883B2 (en) Techniques for deploying application extensions for a client system
CN118657486A (en) Method and related device for configuring schedule
US20190155873A1 (en) Document processing apparatus and non-transitory computer readable medium storing program

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)