WO2024038951A1 - Method for providing code information and electronic device for supporting same - Google Patents

Method for providing code information and electronic device for supporting same Download PDF

Info

Publication number
WO2024038951A1
WO2024038951A1 PCT/KR2022/015077 KR2022015077W WO2024038951A1 WO 2024038951 A1 WO2024038951 A1 WO 2024038951A1 KR 2022015077 W KR2022015077 W KR 2022015077W WO 2024038951 A1 WO2024038951 A1 WO 2024038951A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
code
build
task
providing
Prior art date
Application number
PCT/KR2022/015077
Other languages
French (fr)
Korean (ko)
Inventor
리우한란
Original Assignee
쿠팡 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쿠팡 주식회사 filed Critical 쿠팡 주식회사
Publication of WO2024038951A1 publication Critical patent/WO2024038951A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/22Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • G06F8/355Round-trip engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Definitions

  • the present invention relates to an electronic device and method for providing code-related information, and more specifically, to an electronic device and method for providing information related to code written and built by an operator.
  • the purpose of the present disclosure is to provide an electronic device and method for providing code information to an operator in order to solve the above-mentioned problems.
  • each worker modifies and updates the code related to the project in his or her own branch.
  • multiple workers work on the same project.
  • the purpose is to provide a method and electronic device that can systematically track changes that occur as code is modified.
  • Various embodiments may provide a method of providing code-related information and an electronic device that supports the same.
  • a method of providing code-related information of an electronic device includes, in response to the start of a build task related to first code information performed on a server, the build task from the server. Obtaining first information including information about and branch information corresponding to the first code information; Obtaining second information including at least information about the result of the build task from the server in response to the end of the build task; And it may include providing a build task information list including a first item generated based on the first information and the second information to the worker device.
  • the first information includes worker information that requested the build task to the server, branch identification information corresponding to the first code information, commit information corresponding to the first code information, and the It may further include at least some of the task identification information corresponding to the first code information.
  • the branch identification information may correspond to one or more task identification information, and the task identification information may correspond to one or more branch identification information.
  • the method of providing code-related information may further include providing information about one or more tasks corresponding to a branch corresponding to the first code information, identified based on the branch identification information. there is.
  • the method of providing code-related information may further include providing information about one or more branches corresponding to a task corresponding to the first code information, identified based on the task identification information. there is.
  • the second information includes at least some of capacity information of the package generated by the server in response to the build task, version information of the package corresponding to the build task, and time required information corresponding to the build task. It can be included.
  • the method of providing code-related information is based on the time required information confirmed based on the second information and information about the time required for one or more build tasks confirmed based on the build task information list. Checking whether the build task is abnormal; And it may further include providing information about whether the build is abnormal to the one or more workers based on information about one or more workers confirmed based on the branch information and information about whether the build is abnormal.
  • the method of providing code-related information may include, based on time required information corresponding to each of a plurality of build tasks and version information of a package corresponding to each of the plurality of build tasks, the build time required for each version information. Obtain information about the build time corresponding to each version information and whether the build operation related to the first code information is abnormal based on the time information confirmed based on the second information. Additional confirmation steps may be included.
  • the method of providing the code-related information includes the build based on the capacity information of the package for one or more build tasks identified based on the capacity information confirmed based on the second information and the build task information list. Checking whether the operation is abnormal; And it may further include providing information about whether the build is abnormal to the one or more workers based on information about one or more workers confirmed based on the branch information and information about whether the build is abnormal.
  • the method of providing code-related information includes information about capacity corresponding to each version information, based on capacity information corresponding to each of a plurality of build tasks and version information of a package corresponding to each of the plurality of build tasks. Obtaining and confirming whether there is an abnormality in the build operation related to the first code information based on the capacity information corresponding to each version information and the capacity information confirmed based on the second information. can do.
  • the method of providing code-related information may further include providing one or more worker information identified based on the branch information.
  • the method of providing code-related information may include sending a result message that includes at least part of the second information and at least information about a result of the build operation, and one or more branches identified based on the branch information.
  • the step of providing worker information to a corresponding worker device may be further included.
  • the method of providing code-related information may further include providing task status information regarding the progress status of a task corresponding to the first code information identified based on the task identification information.
  • the method of providing code-related information may further include providing the first code information to the worker device in response to a request for code information corresponding to the first item received from the worker device.
  • the first item includes path information about code information of a package generated by a server in response to the build task and including at least the first code information
  • the method of providing code-related information includes: Based on the path information, the method may further include providing code information of the package to the worker device.
  • the method for providing code-related information includes obtaining branch identification information and one or more worker information; And it may further include generating a branch list including branch information mapping the branch identification information and the one or more worker information based on a request received from a worker device.
  • the code information of the package generated by the server in response to the build task and including at least the first code information is source code for performing an A/B test in response to the code information of the generated package.
  • Including, the method of providing code-related information may further include providing result information of the A/B test confirmed based on the first information.
  • An electronic device includes a memory; transceiver; and a processor, wherein the processor receives information about the build task and the first code information from the server in response to the start of a build task related to the first code information, which is performed on the server.
  • the method and electronic device for providing code-related information confirm the information related to the build task for a plurality of program codes related to the project and provide this to the operator, thereby notifying the status of the build task. This can improve project productivity.
  • the electronic device and method for providing code information according to the present disclosure can intuitively provide information on the project progress to the worker by providing the worker with the status of work related to the project.
  • FIG. 1 is a diagram illustrating a code-related information providing system 100 in which a method of providing code-related information by an electronic device according to various embodiments of the present invention can be implemented.
  • FIG. 2 is a diagram illustrating the configuration of an electronic device, an operator device, and a server according to various embodiments.
  • Figure 3 is a diagram showing the data structure of a project in which code information is provided according to various embodiments.
  • FIG. 4 is a flowchart of an operation in which an electronic device provides code-related information according to various embodiments.
  • FIG. 5 exemplarily illustrates a list of build task information provided by an electronic device according to various embodiments.
  • FIG. 6 is an example of numerical information related to a build task provided by an electronic device according to various embodiments.
  • FIG. 7 is an example of numerical information related to a build task provided by an electronic device according to various embodiments.
  • each component or feature may be considered optional unless explicitly stated otherwise.
  • Each component or feature may be implemented in a form that is not combined with other components or features.
  • various embodiments may be configured by combining some components and features. The order of operations described in various embodiments may change. Some features or features of one embodiment may be included in another embodiment or may be replaced with corresponding features or features of another embodiment.
  • each block of the processing flow diagram diagrams and combinations of the flow diagram diagrams can be performed by computer program instructions.
  • These computer program instructions can be mounted on a processor of a general-purpose computer, special-purpose computer, or other programmable data processing equipment, so that the instructions performed through the processor of the computer or other programmable data processing equipment are described in the flow chart block(s). It creates the means to perform functions.
  • These computer program instructions may also be stored in computer-usable or computer-readable memory that can be directed to a computer or other programmable data processing equipment to implement a function in a particular manner, so that the computer-usable or computer-readable memory It is also possible to produce manufactured items containing instruction means that perform the functions described in the flowchart block(s).
  • Computer program instructions can also be mounted on a computer or other programmable data processing equipment, so that a series of operational steps are performed on the computer or other programmable data processing equipment to create a process that is executed by the computer, thereby generating a process that is executed by the computer or other programmable data processing equipment. Instructions that perform processing equipment may also provide steps for executing the functions described in the flow diagram block(s).
  • each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s).
  • each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s).
  • FIG. 1 is a diagram illustrating a code information providing system 100 in which a method of providing code-related information by an electronic device according to various embodiments of the present invention can be implemented.
  • a code information providing system 100 may be implemented in various types of devices.
  • the code information providing system 100 may be implemented in the electronic device 101, the operator device 102, and the server 103.
  • the electronic device 101, the operator device 102, and the server 103 can perform operations according to various embodiments of the present disclosure based on the code information providing system 100 implemented in each device. there is.
  • the code information providing system 100 according to various embodiments is not limited to what is shown in FIG. 1, and may be implemented in a wider variety of electronic devices and servers.
  • the electronic device 101 includes one or more worker devices 102 (e.g., a first worker device 102_1, a second worker device 102_2, etc., an nth worker device 102_n), and/ Alternatively, it may be a device that performs wireless and wired communication with the server 103 and includes storage with a large storage capacity.
  • the electronic device 101 may be a cloud device connected to one or more worker devices 102 and/or servers 103.
  • the worker device 102 may be a device that can be used by an individual user, such as a desktop PC, tablet PC, or mobile terminal.
  • other electronic devices that perform similar functions may be used as the operator device 102.
  • the server 103 may include one or more worker devices 102 (e.g., a first worker device 102_1, a second worker device 102_2, etc., an nth worker device 102_n), and/or It may be a device that performs wireless and wired communication with the electronic device 101 and includes storage with a large storage capacity.
  • the electronic device 101 may be one or more worker devices 102 and/or a cloud device connected to the electronic device 101.
  • the code information providing system 100 may include various modules for operation.
  • the modules included in the code information providing system 100 enable the physical device (e.g., electronic device 101) on which the code information providing system 100 is implemented (or included in the physical device) to perform a specified operation. It may be implemented computer code or one or more instructions.
  • the physical device in which the code information providing system 100 is implemented stores a plurality of modules in a memory in the form of computer code, and when the plurality of modules stored in the memory are executed, the physical device is a plurality of modules. It is possible to perform designated operations corresponding to .
  • the code information providing system 100 further includes a network network supporting information transmission and reception between at least some of the electronic device 101, the server 103, one or more worker devices 102, and other external devices. can do.
  • the electronic device 101, the one or more worker devices 102, and the server 103 are referred to as separate devices and servers, but this may be a logically divided structure, and may be separated from one device or server. It can be implemented by the provided function.
  • the worker device 102 and the server 103 may be included in the electronic device 101 or may be combined with the electronic device 101 to form an integrated unit.
  • the method of providing a series of code information performed by transmitting and receiving data between the electronic device 101, the operator device 102, and the server 103 can be performed similarly.
  • communication with the electronic device 101 may occur within the device and between its components (e.g., the processor of the electronic device 101).
  • Wow It can be understood as a process of exchanging data.
  • the worker device 102 and the server 103 exist as a separate device or server from the electronic device 101.
  • the following description describes the worker device 102 and the server ( 103) may be applied mutatis mutandis even when at least some of them are included in the electronic device 101 or are combined with the electronic device 101 to form an integrated unit.
  • the electronic device 101, the operator device 102, and the server 103 may include a plurality of computer systems or computer software implemented as network servers.
  • the electronic device 101, worker device 102, and server 103 are connected to subordinate devices that can communicate with other network servers through a computer network such as an intranet or the Internet to request task performance. It can refer to computer systems and computer software that receive data, perform work on it, and provide performance results.
  • at least some of the electronic device 101, operator device 102, and server 103 are understood as a broad concept that includes a series of application programs that can operate on a network server and various databases built therein. It can be.
  • at least some of the electronic device 101, worker device 102, and server 103 may run DOS, Windows, Linux, UNIX, or MacOS. It can be implemented using various network server programs provided depending on the operating system.
  • FIG. 2 is a diagram illustrating the configuration of an electronic device, an operator device, and a server according to various embodiments.
  • the electronic device 101, one or more operator devices 102, and the server 103 may include an input/output unit 210, a communication unit 220, a storage 230, and a processor 240. You can.
  • the input/output unit 210 may be various interfaces or connection ports that receive user input or output information to the user.
  • the input/output unit 210 may include an input module and an output module, and the input module receives user input from the user.
  • User input can take various forms, including key input, touch input, and voice input. Examples of input modules that can receive such user input include traditional keypads, keyboards, and mice, as well as touch sensors that detect the user's touch, microphones that receive voice signals, cameras that recognize gestures through image recognition, etc.
  • a proximity sensor including at least one of an illumination sensor or an infrared sensor that detects user approach, a motion sensor that recognizes user movement through an acceleration sensor or gyro sensor, and various other types of sensors that detect or receive user input.
  • the input module may include at least one of the devices listed above.
  • the touch sensor may be implemented as a piezoelectric or capacitive touch sensor that detects touch through a touch panel or touch film attached to the display panel, or an optical touch sensor that detects touch by an optical method.
  • the input module may be implemented in the form of an input interface (USB port, PS/2 port, etc.) that connects an external input device that receives user input instead of a device that detects user input itself.
  • the output module can output various information.
  • the output module may include at least one of a display that outputs an image, a speaker that outputs sound, a haptic device that generates vibration, and various other types of output means.
  • the output module may be implemented in the form of a port-type output interface that connects the individual output means described above.
  • a display-type output module can display text, still images, and moving images.
  • Displays include liquid crystal display (LCD), light emitting diode (LED) display, organic light emitting diode (OLED) display, flat panel display (FPD), and transparent display.
  • LCD liquid crystal display
  • LED light emitting diode
  • OLED organic light emitting diode
  • FPD flat panel display
  • transparent display Among various types of devices that can perform image output functions such as display, curved display, flexible display, 3D display, holographic display, projector, and other It can contain at least one.
  • This display may be in the form of a touch display integrated with the touch sensor of the input module.
  • the communication unit 220 can communicate with other devices. Accordingly, the electronic device 101, the operator device 102, and the server 103 can transmit and receive information with other devices through the communication unit. For example, the electronic device 101, the operator device 102, and the server 103 may communicate with each other or with other devices using a communication unit.
  • the communication department includes a wired communication module that connects to the Internet, etc. through a LAN (Local Area Network), a mobile communication module that transmits and receives data by connecting to a mobile communication network through a mobile communication base station, and a WLAN (Wireless Local Area Network) such as Wi-Fi.
  • a short-distance communication module using an Area Network-type communication method or a WPAN (Wireless Personal Area Network)-type communication method such as Bluetooth or Zigbee, and a GNSS (Global Navigation Satellite System) such as a GPS (Global Positioning System) ) may be composed of a satellite communication module using a satellite communication module or a combination thereof.
  • Storage 230 can store various types of information. Storage can store data temporarily or semi-permanently.
  • the storage of the electronic device 101 includes an operating program (OS: Operating System) for driving the electronic device 101, a program for generating data or Braille for hosting a website, or an application (e.g., Data related to web applications) may be stored.
  • OS Operating System
  • the storage may store modules in the form of computer code as described above.
  • Examples of storage 230 include hard disk drive (HDD), solid state drive (SSD), flash memory, read-only memory (ROM), random access memory (RAM), etc. This can be. This storage can be provided as a built-in or detachable type.
  • HDD hard disk drive
  • SSD solid state drive
  • flash memory read-only memory
  • RAM random access memory
  • the processor 240 controls the overall operation of the electronic device 101, operator device 102, and server 103. To this end, the processor 240 can perform computation and processing of various information and control the operation of components of the electronic device 101. For example, the processor 240 may execute a program or application to provide code-related information.
  • the processor 240 may be implemented as a computer or similar device using hardware, software, or a combination thereof. In hardware, the processor 240 may be implemented in the form of an electronic circuit that processes electrical signals to perform a control function, and in software, it may be implemented in the form of a program that drives the hardware processor 240.
  • the operations of the electronic device 101, operator device 102, and server 103 may be interpreted as being performed under the control of the processor 240. That is, when the modules implemented in the above-described code information providing system 100 are executed, the modules enable the processor 240 to perform the following operations on the electronic device 101, the operator device 102, and the server 103. It can be interpreted as controlling.
  • various embodiments may be implemented through various means.
  • various embodiments may be implemented by hardware, firmware, software, or a combination thereof.
  • methods include one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), and FPGAs ( It can be implemented by field programmable gate arrays, processors, controllers, microcontrollers, microprocessors, etc.
  • ASICs application specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs programmable logic devices
  • FPGAs field programmable gate arrays, processors, controllers, microcontrollers, microprocessors, etc.
  • firmware or software methods according to various embodiments may be implemented in the form of modules, procedures, or functions that perform the functions or operations described below.
  • software code can be stored in memory and run by a processor.
  • the memory may be located inside or outside the processor, and may exchange data with the processor through various known means.
  • the electronic device 101 performs an operation of providing code-related information. According to various embodiments, the electronic device 101 performs an operation of providing code information. Information may be transmitted to and received from operator device 102 and/or server 103.
  • Figure 3 is a diagram showing the data structure of a project in which code information is provided according to various embodiments.
  • FIG. 3 is a diagram illustrating the data structure 30 of the project 300 in which code information is provided according to various embodiments disclosed in this document.
  • a master branch (MB), a development branch (DB), a first feature branch (FB1), and a second feature branch ( FB2) can be derived from one project 300.
  • MB master branch
  • DB development branch
  • FB1 first feature branch
  • FB2 second feature branch
  • the data structure 30 shown in FIG. 3 is only an example to aid understanding of the present disclosure, and does not limit the data structure 30 in which code information is provided according to an embodiment of the present disclosure, and the data structure ( 30) can be adaptively built according to the goals of the project 300.
  • the master branch (MB) may be a branch for managing release history related to the project 300 and may manage a set of files in a deployable state.
  • 3 shows a master branch (MB) including a first master file set 310 and a second master file set 320, and the first program or second master constructed from the first master file set 310
  • a second program built from file set 320 may be distributed, and the second program may be another version of the first program.
  • Each of the plurality of files included in the first master file set 310 and the second master file set 320 is committed to the server 103 by the first to nth worker devices 102_1, 102_2, ..., 102_n. It may be a (committed) file.
  • the development branch (DB) may be a branch for merging branches for developing various functions related to the project 300. If the set of files associated with the development branch (DB) contains all features related to the program to be deployed, bugs have been fixed and it is in a stable state ready for deployment, the development branch (DB) can be merged into the master branch (MB). .
  • Each of the first to third development file sets 311, 312, and 313 of FIG. 3 may include a plurality of files for developing various functions related to the program corresponding to the second master file set 320, embodiments.
  • the second development file set 312 may be a set of files from the first development file set 311
  • the third development file set 313 may be an updated version of the second development file set 312, or the first development file set 311 may be a set of files from the first development file set 311.
  • Each of the to third development file sets 311, 312, and 313 may be a file set for implementing independent functions related to the program corresponding to the second master file set 320.
  • Each of the plurality of files included in each of the first to third development file sets (311, 312, 313) is committed to the server 103 by the first to nth worker devices (102_1, 102_2, ..., 102_n). It could be a file.
  • the first feature branch (FB1) and the second feature branch (FB2) may be branches branched from the development branch (DB) to develop new functions and fix bugs related to the project 300.
  • the file sets related to the first feature branch (FB1) and the second feature branch (FB2) are merged into the development branch (DB).
  • DB development branch
  • work related to the second feature branch (FB2) is completed, and at least one of the 2-1 feature file set (312_1) and the 2-2 feature file set (312_2) is merged into the development branch (DB).
  • the data structure 30 of the project 300 includes a release branch branching from the development branch (DB) and urgent modifications to the distributed product version in order to prepare the product release version.
  • DB development branch
  • FB1 FB2 feature branch
  • distribution branch distribution branch
  • hotfix branch related to the project 300 Branch information may include information about a set of files related to the branch.
  • file information referred to in this specification may include code information about at least one file included in the file set, and the file information may include information about program code related to the file.
  • each file set may be merged into the master branch (MB) based on a request from the worker device 102.
  • the server 103 may merge the committed file set into the master branch (MB) and proceed with build.
  • the build task may include packaging and distributing files for one or more source codes.
  • Packaging may include the operation of creating one package of output data that includes at least a set of committed files.
  • the worker device 102 completes and commits work on a set of files and, in response, sends a build request to the server 103, and the server 103 performs a build task corresponding to that set of files to build the package. can be created.
  • the server 103 may perform a push operation based on commit information.
  • a push operation may mean saving added file information or edited file information to a remote storage (e.g., server 103).
  • Server 103 may be a development server or continuous integration (CI) server.
  • the server 103 may continuously build and distribute code information pushed from each of the one or more worker devices 102 as each push is made.
  • the server 103 may perform a build task in response to the pushed file. For example, with respect to the first development file set 311, when the worker device 102 commits, the server 103 performs a build operation corresponding to the pushed file set at the same time as the commit, thereby creating the first development file set 311 A first package (P1) corresponding to can be created.
  • P1 first package
  • the server 103 commits the commit and At the same time, a build operation may be performed to generate a second package (P2) corresponding to the 2-2 feature file set (312_2).
  • the first package (P1) and the second package (P2) are identified as the same version as the first program built from the first master file set 310, so that the first package (P1) and the second package ( P2) may be assigned the same identification number as the version of the first program, and may be identified as a different version from the second program constructed from the second master file set 320.
  • the server 103 can distribute the built package.
  • Each continuously built package (e.g., first package (P1), second package (P2)) before and after a version update may be subject to alpha-test and/or beta-test.
  • the electronic device 101, worker device 102, server 103, and/or other external electronic devices may perform alpha testing and beta testing for each package, and the electronic device 101 may perform alpha testing. and beta test result information can be obtained.
  • each branch may correspond to one or more tasks.
  • a task can be understood as a conceptual/functional development unit.
  • each task may correspond to one or more branches.
  • the first task (T1) may include a task related to the shopping cart function
  • the second task (T2) may include a task related to the payment window function.
  • the first feature branch (FB1) and the second feature branch (FB2) may include source code corresponding to the first task (T1)
  • the second feature branch (FB2) may include source code corresponding to the second task (T2). May include source code.
  • Each task may be assigned corresponding identification information, and the electronic device 101 may check information about the status of the task based on the identification information of the task.
  • the electronic device 101 may check progress information for each subtask included in the task, or may check information about the status of the task based on status information of one or more branches corresponding to the task.
  • the electronic device 101 can check information about the branch corresponding to the task based on the task information, and conversely, it can check information about the task corresponding to the branch based on each branch information.
  • worker device 102 when worker device 102 commits a set of files, it may transmit commit information that includes at least part of a commit message to server 103, wherein the commit information includes information about the task corresponding to the file set. It can be included.
  • FIG. 4 is a flowchart of an operation in which an electronic device provides code-related information according to various embodiments.
  • one or more worker devices 102 may forward a build request to the server 103 (41).
  • Worker device 102 may commit a set of files to server 103, and server 103 may merge the committed set of files into the master branch (MB), creating a package corresponding to the set of committed files.
  • a build request may include a set of files that the worker device 102 sends to the server 103 and a commit request.
  • the set of files that worker device 102 commits may include one or more code information.
  • a commit request may include a commit message corresponding to the fileset.
  • the commit message may be generated by the worker device 102 of the worker requesting the commit.
  • the commit message may be written by the worker device 102 and transmitted to the server 103, and the electronic device 101 may obtain the commit message from the server.
  • the server 103 may initiate a build task for the committed file set (42).
  • the build task may include a packaging task that merges a set of committed files to create a single package.
  • the electronic device 101 may obtain first information from the server 103 in response to the start of the build task (42) of the server 103 (S401).
  • the first information may include information related to code information (eg, file set).
  • the first information may include information that can be obtained immediately after the code information is pushed to the server 103.
  • the first information may include one or more meta information related to code information that is the target of the build.
  • the first information may include at least some of information about the date and time when the build was requested, task information corresponding to code information, branch information, version information, and commit information.
  • the task information may include at least part of identification information of the task corresponding to the code information and information about the progress of the task.
  • each task may correspond to one or more branches.
  • the electronic device 101 and/or the server 103 can store correspondence information about the branch corresponding to each task, or check the correspondence relationship between tasks and branches based on correspondence information between tasks and branches stored in an external electronic device. there is.
  • the electronic device 101 may check information on the branch corresponding to the task based on the identification information of the task.
  • the branch information may include identification information of the branch corresponding to the code information.
  • Each branch may correspond to one or more tasks.
  • the electronic device 101 and/or the server 103 can store correspondence information about the branch corresponding to each task, or check the correspondence relationship between tasks and branches based on correspondence information between tasks and branches stored in an external electronic device. there is.
  • the electronic device 101 may check information on the branch corresponding to the task based on the branch identification information.
  • each branch information may include worker information corresponding to the branch.
  • Each branch may be assigned one or more workers, and correspondence information between branches and workers may be stored in the electronic device 101, the server 103, or other external devices.
  • the electronic device 101 may check information on one or more workers corresponding to the branch based on the branch identification information.
  • the worker information may include at least some of the following: identification information about the worker, information about the worker device 102 corresponding to the worker, contact information about the worker, branch information corresponding to the worker, and task information corresponding to the worker.
  • the electronic device 101 may check the worker corresponding to the branch information based on the branch information and check task information corresponding to the worker.
  • the electronic device 101 may check one or more task information corresponding to a branch based on branch information and may check worker information corresponding to a task based on information on one or more tasks.
  • the electronic device 101 may check one or more branch information corresponding to a task based on task information and check worker information corresponding to the branch information based on one or more branch information.
  • the commit information may include at least some of a commit message, information about a commit operation, information about a set of committed files (code information), and identification information related to a set of committed files.
  • commit information may include task information corresponding to committed code information.
  • identification information regarding a set of committed files may include information regarding code information created, modified, altered, or created by an operator in the set of files.
  • information about source code may include location information in a file set of code information that has been created, modified, changed, or created, and/or information about major creation history.
  • the commit information may include identification information corresponding to the commit operation. For example, when the worker device 102 commits code information, the worker device 102 or the server 103 may generate and/or assign identification information for the commit task.
  • the server 103 may provide first information to the electronic device 101 in response to the start of the build task 42 and proceed with the build task corresponding to the code information pushed at the same time or at the same time.
  • the server 103 may terminate the build task (43). Termination of a build task may include build failure or build success. The server 103 may check whether the build was successful in response to the end of the build task (43). The server 103 may create a package corresponding to the pushed code information when the build is successful.
  • the electronic device 101 may obtain second information from the server 103 in response to the end of the build task (43) (S402).
  • the second information may include information that can be generated by the server 103 or acquired by the electronic device 101 in response to the end of the build task.
  • the second information may include information related to the results of the build operation.
  • the second information may include at least some of information about whether the build was successful, information about the date and time the build was completed, build time, and capacity information of the built package.
  • the server 103 may provide second information to the electronic device 101 in response to the end of the build task (43).
  • the electronic device 101 may generate a first item.
  • the first item may mean one item included in the build task information list.
  • the build task information list may include one or more pieces of information related to the build task that are generated from at least part of the first information and second information or a combination thereof, corresponding to each build task.
  • the first item included in the build task information list is branch information corresponding to the pushed code information, worker information, commit information, information on whether the build was successful, task information, version information, and package capacity information. It may include at least some of them.
  • the electronic device 101 may generate the first item based on the first information and the second information.
  • the first information or the second information may include a request for creating the first item.
  • the electronic device 101 may obtain first information and second information from the server 103 in response to the start or end of a build operation of the server 103, and at this time, the first information or the second information may include the first item. Requests for creation may be included. For example, while starting a build job (43), the server 103 may transmit a request to create a first item in response to the build job to be started to the electronic device 101. At this time, the electronic device 101 may generate the first item based on the request for generating the first item included in the first information (S403). At this time, in response to obtaining the second information from the server 103, the electronic device 101 may allocate data confirmed based on the first information and the second information to the first item.
  • the electronic device 101 may provide a list of build task information to the worker device 102 (S405).
  • the electronic device 101 may provide a build task information list including the generated first item to the worker device 102.
  • the build task information list may include one or more items generated based on one or more build requests.
  • the build task information list may include a page format, and the electronic device 101 may display code-related information confirmed or generated based on the first information and the second information through the build task information list page to the worker device. It can be provided at (102).
  • the electronic device 101 may receive a package code information request from the operator device 102.
  • a package code information request may include a request for provision of the source code of the package.
  • the first item may include path information regarding code information of a package that includes at least code information corresponding to the first item.
  • Path information may include URL information.
  • the external electronic device 102 can check path information based on the first item and request package code information from the electronic device 101 based on the path information.
  • the electronic device 101 may provide code information about the package to the operator device 102 based on a request for package code information.
  • server 103 and/or electronic device 101 may provide operator device 102 with information regarding the results of a build operation.
  • the server 103 and/or the electronic device 101 may provide a result message containing at least information about the result of the build task to the operator device 102.
  • the server 103 and/or the electronic device 101 may check worker information corresponding to the code information requested to build and provide a result message to the worker device 102 based on the confirmed worker information.
  • the electronic device 101 can check the information of the worker corresponding to the branch based on the first information and provide a result message to the worker device 102 corresponding to the branch based on the worker information.
  • the result message may include at least information about whether the build task succeeded or failed, and may include information about the operator who requested the build.
  • the resulting message may include information about the first item.
  • the result message may include at least a portion of first information and/or second information corresponding to the first item.
  • the resulting message may include information about the access path to the first item.
  • the access path may mean an access path to a resource (eg, storage) of the electronic device 101 in order for the worker device 102 to check the first item from the electronic device 101.
  • Information about the access path may include, for example, URL (user resource location) information.
  • the electronic device 101 may register information about a new branch. For example, when a worker creates a new branch, information about the branch may be registered in the electronic device 101.
  • the electronic device 101 may receive at least some of branch identification information corresponding to the new branch, task information corresponding to the branch, and worker information corresponding to the branch from the worker device 102.
  • the electronic device 101 creates a branch list including mapping information that maps worker information and/or task information corresponding to the branch to branch identification information. can be created.
  • the electronic device 101 may register information about a new task. For example, when a worker creates a new task, information about the task may be registered in the electronic device 101.
  • the electronic device 101 may receive at least some of task identification information corresponding to the new task, one or more branch information corresponding to the task, and worker information corresponding to the task from the worker device 102.
  • the electronic device 101 creates a task list including mapping information that maps worker information and/or branch information corresponding to the task to task identification information. can be created.
  • the electronic device 101 may perform an A/B test (alpha/beta test) on a package generated based on a build task.
  • A/B testing differs between the set of users who will distribute the program built based on the built package and the set of users who will distribute the program being compared (e.g., previous version of the program), and determines the use of the program by each set of users. It may include a series of operations of comparing usage information acquired by the electronic device 101 and generating test result information based on the usage information.
  • the code information of the built package may include source code related to A/B testing at least in part.
  • the source code for A/B testing is the operation of distinguishing between the user set to which the distributed package is applied and the non-user set (the user set may be further divided into two), and collecting result information corresponding to each of the different user sets. It may include instructions related to operations and operations to compare each result information.
  • the electronic device 101 can check the A/B test result information of the build task based on the first information corresponding to the specific build task and provide the A/B test result information to the worker device 102. You can.
  • FIG. 5 exemplarily illustrates a list of build task information provided by an electronic device according to various embodiments.
  • the electronic device 101 may provide a build task information list 500 to the operator device 102.
  • the build task information list 500 may include one or more items, such as a first item 510, a second item 520, a third item 530, and a fourth item 540.
  • Each item may be an item created by the electronic device 101 in response to a build task requested from the worker 102 and performed in the server 103.
  • the first item 510 is an item created based on a build request corresponding to first code information
  • the second item 520 is an item created based on a build request corresponding to second code information.
  • the third item 530 may be an item created based on a build request corresponding to third code information
  • the fourth item 540 may be an item created based on a build request corresponding to fourth code information.
  • the electronic device 101 may generate each item to be included in the build task information list 500 based on the first information and the second information. For example, the electronic device 101 generates the first item 510 based on the first information and second information corresponding to the first code information, and based on the first information and second information corresponding to the second code information.
  • the second item 520 is generated
  • the third item 530 is generated based on the first and second information corresponding to the third code information
  • the first and second items corresponding to the fourth code information are generated.
  • the fourth item 540 can be created based on the second information.
  • each item included in the build task information list 500 may include at least a portion of the first information and the second information and/or a combination thereof.
  • each item includes a date information (Date) section, a name information (Name/ID) section, a worker information (Dev) section, and a branch in relation to the build task corresponding to the build requested code information.
  • At least part of the information (Branch) column, commit information (Last commit) column, status information (Status) column regarding whether the build was successful, task information (BTS) column, version information (Version) column, and package capacity information (Size) column. may include.
  • the date information (Date) column may include information about the date and time when the build task was requested or the date and time when the build task was completed, corresponding to each code information.
  • the electronic device 101 may generate data in the time information column based on the first information or second information obtained from the server 103.
  • the name information (Name/ID) field may include the name of the project 200 or name information or identification information of a program or application built based on the project 200.
  • the worker information (Dev) field may include information about the worker who committed the code information corresponding to each item.
  • the worker information (Dev) field may include at least some of identification information about the worker, information about the worker device 102 corresponding to the worker, contact information of the worker, branch information corresponding to the worker, and task information corresponding to the worker. You can.
  • the worker information (Dev) field may include the worker's identification information.
  • the electronic device 101 checks the worker identification information corresponding to the first code information based on the worker information (Dev) in the first item 510, and provides the worker's contact information and worker information based on the worker identification information. You can check information about the corresponding branch or task.
  • the build task information list 500 may include a user interface (e.g., link) corresponding to a worker information (Dev) column for each item, and the electronic device 101 may include a user interface corresponding to the worker information column.
  • Worker information can be provided through .
  • the electronic device 101 displays the worker's identification information (presto) in the worker column corresponding to the first code information, and displays the worker's identification information in a link containing a hyperlink. It can be provided as a user interface.
  • the electronic device 101 may generate data in the worker information column based on the first information obtained from the server 103.
  • the branch information (Branch) column may include information about the branch.
  • the branch information (Branch) column may include information about the branch corresponding to the committed code information corresponding to each item.
  • the branch information (Branch) column may include at least some of identification information about the branch, information about code corresponding to the branch, worker information about one or more workers corresponding to the branch, and task information corresponding to the branch.
  • the branch information (Branch) field may include identification information of the branch. For example, the electronic device 101 checks the branch identification information corresponding to the first code information based on the branch information (Branch) in the first item 510, and determines the worker information corresponding to the branch based on the branch identification information and /Or you can check task information corresponding to the branch.
  • the build task information list 500 may include a user interface (e.g., link) corresponding to a branch information column for each item, and the electronic device 101 may include a user interface corresponding to the branch information column.
  • Branch information can be provided through .
  • the electronic device 101 displays branch identification information in the branch column corresponding to the first code information, and uses the branch identification information as a user interface including a hyperlink. can be provided.
  • the electronic device 101 may generate data in the branch information column based on the first information obtained from the server 103.
  • the commit information (Last commit) column may include information about the commit.
  • the commit information (Last commit) column may include information about the commit corresponding to each item.
  • the commit information (Last commit) field may include at least some of the following: identification information about the commit, commit message, information about the commit operation, information about the committed file set (code information), and identification information related to the committed file set. there is.
  • commit information may include task information corresponding to committed code information.
  • identification information regarding a set of committed files may include information regarding code information created, modified, altered, or created by an operator in the set of files.
  • information about source code may include location information in a file set of code information that has been created, modified, changed, or created, and/or information about major creation history.
  • the commit information may include identification information corresponding to the commit operation.
  • the worker device 102 when the worker device 102 commits code information, the worker device 102 or the server 103 may generate and/or assign identification information for the commit task.
  • the commit information (Last commit) field may include identification information of the commit and/or a commit message.
  • the electronic device 101 checks the commit identification information corresponding to the first code information based on the data included in the commit information (Last commit) column in the first item 510, and commits the commit based on the commit identification information. You can check the information.
  • the commit message may include commit identification information at least in part.
  • the commit message may include task information at least in part.
  • the build task information list 500 may include a user interface (e.g., link) corresponding to a commit information (Last commit) column for each item, and the electronic device 101 may display a user interface (e.g., link) corresponding to the commit information column.
  • Commit information can be provided through the interface.
  • the electronic device 101 displays commit identification information in the commit column corresponding to the first code information, and displays the commit identification information as a user interface including a hyperlink. can be provided.
  • the electronic device 101 may generate data in the commit information column based on the first information obtained from the server 103.
  • the status information (Status) column may include information regarding the success or failure of the corresponding build task for each item. For example, in the example of FIG. 5, when the build is successful and a package corresponding to the code information for which the build task has been requested has been successfully created, the electronic device 101 displays “Success” in the status information field, and the build task is completed. In case of failure, it can be marked as "Fail”. The electronic device 101 may generate data in the status information column based on the second information obtained from the server 103.
  • the task information (BTS) column may include information about the task.
  • the task information (BTS) column may include information about the task corresponding to committed code information corresponding to each item.
  • the task information (BTS) field contains at least some of the following: identification information for the task, information about one or more branches corresponding to the task, worker information about one or more workers corresponding to the task, and information about the progress status of the task corresponding to the task. may include.
  • the task information (BTS) field may include identification information of the task. For example, the electronic device 101 checks task identification information corresponding to the first code information based on the task information (BTS) in the first item 510, and operator information corresponding to the task based on the task identification information and /Or you can check task information corresponding to the task.
  • the build task information list 500 may include a user interface (e.g., link) corresponding to a task information (BTS) column for each item, and the electronic device 101 may include a user interface corresponding to the task information column.
  • Task information can be provided through .
  • the electronic device 101 displays identification information (MPI-390 and IOS-6826) of each of the two tasks corresponding to the fourth code in the task column corresponding to the fourth code information. ) can be displayed, and identification information for each task can be provided as a user interface including a hyperlink.
  • the electronic device 101 may generate data in the task information column based on the first information obtained from the server 103.
  • the version information (Version) column and the capacity information (Size) column may respectively include version information corresponding to the package created based on the build task and information about the capacity of the package.
  • the electronic device 101 may generate data in the version information column based on the first information obtained from the server 103.
  • the electronic device 101 may check version information based on the second information. For example, if the build fails, version identification information corresponding to the pushed code information may not be generated. The electronic device 101 may or may not display version information based on whether the build is successful.
  • the electronic device 101 may generate data in the package capacity information (Size) column based on the first information obtained from the server 103.
  • the electronic device 101 may check package capacity information based on the second information. For example, if the build fails, a package corresponding to the pushed code information may not be created, and the capacity information itself may not exist. Conversely, if the build is successful, a package is created and the electronic device 101 can check the capacity information of the package. Referring to FIG. 5, in the example of the second item 520, in response to the build of the second code information failing, the status information column is displayed as "Fail", and the version information column and package capacity information You can confirm that the data in the column is not created.
  • the build task information list 500 may include a user interface (Actions) for providing package code information.
  • the electronic device 101 may allocate path information regarding code information of a package that includes at least code information and is generated by a server in response to a build task to the build task information list 500.
  • a user interface (Actions) for providing code information may include an interface implemented as a link for providing path information for obtaining code information for the package code corresponding to each item. For example, "Download” is a link to download code information for the package of the corresponding item, "Copy” is a link to copy code information, and "QRCode” provides a QR code corresponding to the link.
  • each link may include at least part of the path information for obtaining code information about the package code.
  • the electronic device 101 may provide code information on the package corresponding to each item to the operator device 102 based on operator input received through a user interface (Actions) for providing code information.
  • the user interface (Actions) for providing code information for each item may be activated or deactivated based on the second information. For example, if the build task is successful, the electronic device 101 activates a user interface (Actions) to provide code information of the corresponding item, and if the build task fails, the electronic device 101 activates a user interface (Actions) to provide code information of the corresponding item. (Actions) can be disabled.
  • FIG. 6 is an example of numerical information related to a build task provided by an electronic device according to various embodiments.
  • FIG. 7 is an example of numerical information related to a build task provided by an electronic device according to various embodiments.
  • the electronic device 101 may provide numerical information related to the build task.
  • Numerical information may be generated based on the first information, second information, and/or build task information list.
  • the numerical information may include at least some of, for example, numerical information related to the time required for the build operation as shown in FIG. 6 and capacity information related to the capacity of the package generated as a result of the build operation as shown in FIG. 7 .
  • the electronic device 101 may generate numerical information related to time based on the first information, second information, and/or build task information list. For example, the electronic device 101 may check time required information corresponding to each build task based on the second information. According to one embodiment, the electronic device 101 may check build time information for each version based on the first information and the second information. For example, the electronic device 101 may check build time information corresponding to each of one or more build tasks identified based on the version identification information and check the build time required for each version. Build time information for each version can be confirmed in response to a specified period. Build time information required for each version can be confirmed by adding up all build tasks required for each version, or can be confirmed as an average value based on the number of builds.
  • the electronic device 101 may check build time information for each of one or more build tasks identified based on task information, branch information, and/or worker information as well as the version.
  • the electronic device 101 may generate history information related to the build time required, based on time required information generated in response to each of the plurality of build tasks.
  • the electronic device 101 may provide time-related numerical information 600.
  • the electronic device 101 may check information 601 regarding the total number of builds. For example, based on the build task information list, the electronic device 101 may check at least some of the total number of build tasks, the total number of build tasks corresponding to a specified period, and the number of build tasks for each version.
  • the electronic device 101 may provide history information 602 about the build time. For example, based on the build task information list, the electronic device 101 corresponds to the time required for the entire build task, the time required for all build tasks corresponding to a specified period, the time required for the build task by version, and the entire build task. You can check at least part of the average time required.
  • the electronic device 101 may provide trend information 603 about build time. For example, based on the build task information list, the electronic device 101 checks the time required for all build tasks and the time required for all build tasks corresponding to each of one or more specified periods, and builds based on the comparison result. Trend information 603 about the time required can be generated.
  • the electronic device 101 provides information 604 about the number of download requests for code information transmitted from the worker device 102 to the electronic device 101 through the build task information list 500. can do.
  • the electronic device 101 may provide a time graph 605 that visualizes numerical information related to build time.
  • the example in FIG. 6 may be a graph regarding the build time required for each version.
  • the electronic device 101 checks information about the build time for each version based on the version identification information and build time information confirmed based on each item, and generates a graph about the build time for each version.
  • the horizontal axis of the time required graph 605 may be version information, and the vertical axis may be the average time required.
  • the graph in FIG. 6 is an example of a graph regarding the time required, and the electronic device 101 acquires numerical information based on various data based on the first information and/or second information and generates a graph based on the numerical information. You can.
  • the electronic device 101 may generate numerical information related to the built package capacity based on the first information, second information, and/or build task information list. For example, the electronic device 101 may check built package capacity information corresponding to each build task based on the second information. According to one embodiment, the electronic device 101 may check package capacity information built for each version based on the first information and the second information. For example, the electronic device 101 may check built package capacity information corresponding to each of one or more build tasks identified based on the version identification information and check the built package capacity for each version. Package capacity information built for each version can be confirmed in response to a specified period. Package capacity information built for each version can be confirmed by adding up all build tasks performed for each version, or can be confirmed as an average value based on the number of builds.
  • the electronic device 101 may check built package capacity information in response to each of one or more build tasks confirmed based on task information, branch information, and/or worker information as well as the version.
  • the electronic device 101 may generate history information related to package capacity based on package capacity information generated in response to each of a plurality of build tasks.
  • the electronic device 101 may provide a time required graph 700 that visualizes numerical information related to the capacity of the built package.
  • the example in FIG. 7 may be a graph regarding the capacity of packages built for each version.
  • the electronic device 101 checks information about the capacity of the built package for each version based on the version identification information and the capacity information of the built package confirmed based on each item, and the capacity of the built package required for each version. You can create a graph about .
  • the horizontal axis of the time required graph 700 may be version information, and the vertical axis may be average package capacity.
  • the graph in FIG. 7 is an example of a graph related to capacity information, and the electronic device 101 acquires numerical information based on various data based on the first information and/or second information and generates a graph based on the numerical information. You can.
  • the electronic device 101 may check whether the build task is abnormal based on time required information.
  • the electronic device 101 can check information on the time required for a build task based on the build request.
  • the electronic device 101 may check the time required for the corresponding build task based on the second information.
  • the electronic device 101 may check required time information corresponding to other existing build tasks, for example, history information about the required time.
  • the electronic device 101 may check whether the build task is abnormal based on the time required for the build task and history information about the time, which is confirmed based on the second information.
  • the electronic device 101 may check whether the progress of the build task is abnormal when the time required for the build task exceeds or falls short of a specified threshold in relation to the build time, which is set based on history information. You can. For example, the build task was successful and the package was created, but this may have nothing to do with whether the package operates normally. At this time, if the time required is too short or too long, there is a possibility that there is an error in the built package regardless of whether the build was successful or not. The electronic device 101 determines one or more workers corresponding to the build task identified based on the build task information list, based on whether the confirmed build task is abnormal, and provides a worker device 102 corresponding to the confirmed worker. Information on abnormalities can be provided.
  • the information regarding abnormality may include at least some of branch information corresponding to the build task, task information, commit information, and information indicating abnormality.
  • history information regarding the time required for comparison with the performed build task may be confirmed based on the build task information list.
  • History information regarding the time required may be generated based on build time information corresponding to another build task that is different from the performed build task. For example, it may include at least some of information about the time required for each version, trend information about the time required to build, and information about the time required for build tasks performed within a specified period.
  • the electronic device 101 may check whether the build task is abnormal based on package capacity information.
  • the electronic device 101 can check package capacity information during build work based on the build request.
  • the electronic device 101 may check the package capacity of the corresponding build job based on the second information.
  • the electronic device 101 may check package capacity information corresponding to other existing build tasks, for example, history information about package capacity.
  • the electronic device 101 may check whether the build job is abnormal based on the package capacity of the build job and history information about the package capacity, which are confirmed based on the second information. For example, when the package capacity of the build job exceeds or falls short of a specified threshold related to the build package capacity, which is set based on history information, the electronic device 101 checks whether the progressed build job is abnormal.
  • the electronic device 101 determines one or more workers corresponding to the build task identified based on the build task information list, based on whether the confirmed build task is abnormal, and provides a worker device 102 corresponding to the confirmed worker.
  • Information on abnormalities can be provided.
  • the information regarding abnormality may include at least some of branch information corresponding to the build task, task information, commit information, and information indicating abnormality.
  • history information regarding the package capacity to be compared with the performed build task may be confirmed based on the build task information list.
  • History information about package capacity may be generated based on build package capacity information corresponding to another build task that is different from the performed build task. For example, it may include at least some of information about package capacity by version, trend information about build package capacity, and information about package capacity of build tasks performed within a specified period.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Stored Programmes (AREA)
  • Telephonic Communication Services (AREA)

Abstract

Disclosed is a method for an electronic device to provide code-related information, the method comprising the steps of: acquiring first information from a server in response to the initiation of a build operation pertaining to first code information and performed on the server, the first information including information about the build operation and branch information corresponding to the first code information; acquiring second information, including at least information about the result of the build operation, from the server in response to the completion of the build operation; and providing, to an operator device, a build operation information list including a first item generated on the basis of the first information and the second information.

Description

코드 정보를 제공하는 방법 및 이를 지원하는 전자 장치Methods for providing code information and electronic devices that support them
본 발명은 코드 관련 정보를 제공하는 전자 장치 및 그 방법에 관한 것으로서, 구체적으로는 작업자가 작성하여 빌드(build)하는 코드(code)에 관련된 정보를 제공하는 전자 장치 및 그 방법에 관한 것이다.The present invention relates to an electronic device and method for providing code-related information, and more specifically, to an electronic device and method for providing information related to code written and built by an operator.
정보 통신 기술의 융합으로 이루어지는 차세대 산업 혁명인 4차 산업 혁명이 핵심 화두로 떠오른 이후, 소프트웨어 기술의 중요성이 대두되었다. 소프트웨어 기술은 유비쿼터스 컴퓨팅, 사물 인터넷, 자율 주행 자동차, 인공지능, 로봇, 블록 체인 등 다양한 분야에서 이용될 수 있으며, 시장의 목표 및 사용자의 요구를 반영하여 소프트웨어 제품을 구현하는 추세에 따라 다수의 개발자들이 투입되는 개발 프로젝트가 성행하고 있다.Since the Fourth Industrial Revolution, the next-generation industrial revolution achieved through the convergence of information and communication technologies, has emerged as a key topic, the importance of software technology has emerged. Software technology can be used in a variety of fields such as ubiquitous computing, Internet of Things, self-driving cars, artificial intelligence, robots, and blockchain, and the trend of implementing software products by reflecting market goals and user needs has led to a large number of developers. Development projects involving people are flourishing.
다수의 개발자들이 투입되는 개발 프로젝트는 개발자 개인별로 할당된 작업에 대한 결과물을 병합하여 하나의 프로젝트를 완성한다. 그러나 개발 프로젝트의 규모가 큰 경우, 각 개발자에 의하여 작업된 소스 코드를 프로젝트에 병합하면서 서로 다른 개발자에 의하여 작업된 소스 코드가 병합 과정에서 충돌을 일으키거나 빌드에 실패하는 등 문제가 발생할 수 있고, 이 경우 어떤 개발자의 소스 코드에서 야기된 문제인지 식별하기 어렵다. 체계적으로 다수 개발자에 의한 프로젝트의 생산성을 향상시키기 위한 다양한 방안들이 제안되고 있다.Development projects involving multiple developers merge the results of tasks assigned to each individual developer to complete one project. However, if the scale of the development project is large, problems may occur when merging the source code worked by each developer into the project, such as the source code worked by different developers causing conflicts or build failure during the merging process. In this case, it is difficult to identify which developer's source code caused the problem. Various methods are being proposed to systematically improve the productivity of projects by multiple developers.
관련하여, KR1020210147354A 및 KR1020210090575A 등의 선행문헌들을 참조할 수 있다.In relation to this, prior documents such as KR1020210147354A and KR1020210090575A may be referred to.
본 개시는 상술한 문제점을 해결하기 위하여, 작업자에게 코드 정보를 제공하기 위한 전자 장치 및 그 방법을 제공하는 것을 목적으로 한다.The purpose of the present disclosure is to provide an electronic device and method for providing code information to an operator in order to solve the above-mentioned problems.
구체적으로, 다수의 작업자들에 의하여 수행되는 프로젝트와 관련된 작업 과정에서, 프로젝트와 관련된 코드를 각 작업자가 각자의 브랜치(branch)에서 수정 및 업데이트를 수행하게 되는데, 이에 따라 복수의 작업자가 동일한 프로젝트의 코드를 수정함에 따라 발생하는 변경 사항에 대하여 체계적으로 추적(tracking) 할 수 있는 방법 및 전자 장치를 제공하는 것을 목적으로 한다.Specifically, in the process of work related to a project performed by multiple workers, each worker modifies and updates the code related to the project in his or her own branch. As a result, multiple workers work on the same project. The purpose is to provide a method and electronic device that can systematically track changes that occur as code is modified.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problems to be achieved in the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the description below. You will be able to.
다양한 실시 예들은, 코드 관련 정보를 제공하는 방법 및 이를 지원하는 전자 장치를 제공할 수 있다.Various embodiments may provide a method of providing code-related information and an electronic device that supports the same.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치의 코드 관련 정보 제공 방법은, 서버에서 수행되는 제1코드(code) 정보에 관한 빌드(build) 작업의 개시에 대응하여, 상기 서버로부터 상기 빌드 작업에 대한 정보 및 상기 제1코드 정보에 대응하는 브랜치(branch) 정보를 포함하는 제1정보를 획득하는 단계; 상기 빌드 작업 종료에 대응하여 상기 서버로부터 상기 빌드 작업의 결과에 관한 정보를 적어도 포함하는 제2정보를 획득하는 단계; 및 상기 제1정보 및 상기 제2정보에 기반하여 생성된 제1항목을 포함하는 빌드 작업 정보 목록을 작업자 장치에 제공하는 단계를 포함할 수 있다. A method of providing code-related information of an electronic device according to various embodiments disclosed in this document includes, in response to the start of a build task related to first code information performed on a server, the build task from the server. Obtaining first information including information about and branch information corresponding to the first code information; Obtaining second information including at least information about the result of the build task from the server in response to the end of the build task; And it may include providing a build task information list including a first item generated based on the first information and the second information to the worker device.
실시예에서, 상기 제1정보는 상기 빌드 작업을 상기 서버에 요청한 작업자 정보, 상기 제1코드 정보에 대응하는 브랜치(branch) 식별 정보, 상기 제1코드 정보에 대응하는 커밋(commit) 정보 및 상기 제1코드 정보에 대응하는 태스크 식별 정보 가운데 적어도 일부를 더 포함할 수 있다. In an embodiment, the first information includes worker information that requested the build task to the server, branch identification information corresponding to the first code information, commit information corresponding to the first code information, and the It may further include at least some of the task identification information corresponding to the first code information.
실시예에서, 상기 브랜치 식별 정보는, 하나 이상의 태스크(task) 식별 정보와 대응하며, 상기 태스크 식별 정보는, 하나 이상의 브랜치 식별 정보와 대응할 수 있다.In an embodiment, the branch identification information may correspond to one or more task identification information, and the task identification information may correspond to one or more branch identification information.
실시예에서, 상기 코드 관련 정보 제공 방법은, 상기 브랜치 식별 정보에 기반하여 확인된, 상기 제1코드 정보에 대응하는 브랜치와 대응하는, 하나 이상의 태스크에 관한 정보를 제공하는 단계를 더 포함할 수 있다. In an embodiment, the method of providing code-related information may further include providing information about one or more tasks corresponding to a branch corresponding to the first code information, identified based on the branch identification information. there is.
실시예에서, 상기 코드 관련 정보 제공 방법은, 상기 태스크 식별 정보에 기반하여 확인된, 상기 제1코드 정보에 대응하는 태스크와 대응하는, 하나 이상의 브랜치에 관한 정보를 제공하는 단계를 더 포함할 수 있다. In an embodiment, the method of providing code-related information may further include providing information about one or more branches corresponding to a task corresponding to the first code information, identified based on the task identification information. there is.
실시예에서, 상기 제2정보는, 상기 빌드 작업에 대응하여 서버가 생성한 패키지의 용량 정보, 상기 빌드 작업에 대응하는 패키지의 버전 정보 및 상기 빌드 작업에 대응하는 소요 시간 정보 가운데 적어도 일부를 더 포함할 수 있다. In an embodiment, the second information includes at least some of capacity information of the package generated by the server in response to the build task, version information of the package corresponding to the build task, and time required information corresponding to the build task. It can be included.
실시예에서, 상기 코드 관련 정보 제공 방법은, 상기 제2정보에 기반하여 확인된 상기 소요 시간 정보 및 상기 빌드 작업 정보 목록에 기반하여 확인된 하나 이상의 빌드 작업에 대한 소요 시간에 대한 정보에 기반하여 상기 빌드 작업의 이상 여부를 확인하는 단계; 및 상기 브랜치 정보에 기반하여 확인된 하나 이상의 작업자 정보 및 상기 빌드 이상 여부에 관한 정보에 기반하여, 상기 하나 이상의 작업자에게 상기 이상 여부에 관한 정보를 제공하는 단계를 더 포함할 수 있다. In an embodiment, the method of providing code-related information is based on the time required information confirmed based on the second information and information about the time required for one or more build tasks confirmed based on the build task information list. Checking whether the build task is abnormal; And it may further include providing information about whether the build is abnormal to the one or more workers based on information about one or more workers confirmed based on the branch information and information about whether the build is abnormal.
실시예에서, 상기 코드 관련 정보 제공 방법은, 복수의 빌드 작업 각각에 대응하는 소요 시간 정보, 상기 복수의 빌드 작업 각각에 대응하는 패키지의 버전 정보에 기반하여, 각 버전 정보에 대응하는 빌드 소요 시간에 관한 정보를 획득하고, 상기 각 버전 정보에 대응하는 빌드 소요 시간에 관한 정보 및 상기 제2정보에 기반하여 확인된 상기 소요 시간 정보에 기반하여 상기 제1코드 정보에 관한 빌드 작업의 이상 여부를 확인하는 단계를 더 포함할 수 있다. In an embodiment, the method of providing code-related information may include, based on time required information corresponding to each of a plurality of build tasks and version information of a package corresponding to each of the plurality of build tasks, the build time required for each version information. Obtain information about the build time corresponding to each version information and whether the build operation related to the first code information is abnormal based on the time information confirmed based on the second information. Additional confirmation steps may be included.
실시예에서, 상기 코드 관련 정보 제공 방법은, 상기 제2정보에 기반하여 확인된 상기 용량 정보 및 상기 빌드 작업 정보 목록에 기반하여 확인된 하나 이상의 빌드 작업에 대한 패키지의 용량 정보에 기반하여 상기 빌드 작업의 이상 여부를 확인하는 단계; 및 상기 브랜치 정보에 기반하여 확인된 하나 이상의 작업자 정보 및 상기 빌드 이상 여부에 관한 정보에 기반하여, 상기 하나 이상의 작업자에게 상기 이상 여부에 관한 정보를 제공하는 단계를 더 포함할 수 있다. In an embodiment, the method of providing the code-related information includes the build based on the capacity information of the package for one or more build tasks identified based on the capacity information confirmed based on the second information and the build task information list. Checking whether the operation is abnormal; And it may further include providing information about whether the build is abnormal to the one or more workers based on information about one or more workers confirmed based on the branch information and information about whether the build is abnormal.
실시예에서, 상기 코드 관련 정보 제공 방법은, 복수의 빌드 작업 각각에 대응하는 용량 정보, 상기 복수의 빌드 작업 각각에 대응하는 패키지의 버전 정보에 기반하여, 각 버전 정보에 대응하는 용량에 관한 정보를 획득하고, 상기 각 버전 정보에 대응하는 용량에 관한 정보 및 상기 제2정보에 기반하여 확인된 상기 용량 정보에 기반하여 상기 제1코드 정보에 관한 빌드 작업의 이상 여부를 확인하는 단계를 더 포함할 수 있다. In an embodiment, the method of providing code-related information includes information about capacity corresponding to each version information, based on capacity information corresponding to each of a plurality of build tasks and version information of a package corresponding to each of the plurality of build tasks. Obtaining and confirming whether there is an abnormality in the build operation related to the first code information based on the capacity information corresponding to each version information and the capacity information confirmed based on the second information. can do.
실시예에서, 상기 코드 관련 정보 제공 방법은, 상기 브랜치 정보에 기반하여 확인된 하나 이상의 작업자 정보를 제공하는 단계를 더 포함할 수 있다. In an embodiment, the method of providing code-related information may further include providing one or more worker information identified based on the branch information.
실시예에서, 상기 코드 관련 정보 제공 방법은, 상기 제2정보의 적어도 일부를 포함하되, 상기 빌드 작업의 결과에 관한 정보를 적어도 포함하는, 결과 메시지를, 상기 브랜치 정보에 기반하여 확인된 하나 이상의 작업자 정보에 대응하는 작업자 장치에 제공하는 단계를 더 포함할 수 있다. In an embodiment, the method of providing code-related information may include sending a result message that includes at least part of the second information and at least information about a result of the build operation, and one or more branches identified based on the branch information. The step of providing worker information to a corresponding worker device may be further included.
실시예에서, 상기 코드 관련 정보 제공 방법은, 상기 태스크 식별 정보에 기반하여 확인된 상기 제1코드 정보에 대응하는 태스크의 진행 상태에 관한 태스크 상태 정보를 제공하는 단계를 더 포함할 수 있다. In an embodiment, the method of providing code-related information may further include providing task status information regarding the progress status of a task corresponding to the first code information identified based on the task identification information.
실시예에서, 상기 코드 관련 정보 제공 방법은, 상기 작업자 장치로부터 수신한 제1항목에 대응하는 코드 정보 요청에 대응하여 작업자 장치로 상기 제1코드 정보를 제공하는 단계를 더 포함할 수 있다. In an embodiment, the method of providing code-related information may further include providing the first code information to the worker device in response to a request for code information corresponding to the first item received from the worker device.
실시예에서, 상기 제1항목은, 상기 빌드 작업에 대응하여 서버가 생성한, 상기 제1코드 정보를 적어도 포함하는 패키지의 코드 정보에 관한 경로 정보를 포함하고, 상기 코드 관련 정보 제공 방법은, 상기 경로 정보에 기반하여, 상기 패키지의 코드 정보를 상기 작업자 장치에 제공하는 단계를 더 포함할 수 있다. In an embodiment, the first item includes path information about code information of a package generated by a server in response to the build task and including at least the first code information, and the method of providing code-related information includes: Based on the path information, the method may further include providing code information of the package to the worker device.
실시예에서, 상기 코드 관련 정보 제공 방법은, 브랜치 식별 정보 및 하나 이상의 작업자 정보를 획득하는 단계; 및 작업자 장치로부터 수신한 요청에 기반하여 상기 브랜치 식별 정보 및 상기 하나 이상의 작업자 정보를 매핑한 브랜치 정보를 포함하는 브랜치 목록을 생성하는 단계를 더 포함할 수 있다. In an embodiment, the method for providing code-related information includes obtaining branch identification information and one or more worker information; And it may further include generating a branch list including branch information mapping the branch identification information and the one or more worker information based on a request received from a worker device.
실시예에서, 상기 빌드 작업에 대응하여 서버가 생성한, 상기 제1코드 정보를 적어도 포함하는 패키지의 코드 정보는, 상기 생성된 패키지의 코드 정보에 대응하여 A/B 테스트를 수행하기 위한 소스 코드를 포함하고, 상기 코드 관련 정보 제공 방법은, 상기 코드 관련 정보 제공 방법은, 상기 제1정보에 기반하여 확인되는 상기 A/B 테스트의 결과 정보를 제공하는 단계를 더 포함할 수 있다.In an embodiment, the code information of the package generated by the server in response to the build task and including at least the first code information is source code for performing an A/B test in response to the code information of the generated package. Including, the method of providing code-related information may further include providing result information of the A/B test confirmed based on the first information.
본 문서에 개시되는 다양한 실시예들에 따른 전자 장치는, 메모리; 트랜시버; 및 프로세서를 포함하고, 상기 프로세서는, 서버에서 수행되는, 제1코드(code) 정보에 관한 빌드(build) 작업의 개시에 대응하여, 상기 서버로부터 상기 빌드 작업에 대한 정보 및 상기 제1코드 정보에 대응하는 브랜치(branch) 정보를 포함하는 제1정보를 획득하고, 상기 빌드 작업 종료에 대응하여 상기 서버로부터 상기 빌드 작업의 결과에 관한 정보를 적어도 포함하는 제2정보를 획득하고, 상기 제1정보 및 상기 제2정보에 기반하여 생성된 제1항목을 포함하는 빌드 작업 정보 목록을 작업자 장치에 제공하도록 설정될 수 있다.An electronic device according to various embodiments disclosed in this document includes a memory; transceiver; and a processor, wherein the processor receives information about the build task and the first code information from the server in response to the start of a build task related to the first code information, which is performed on the server. Obtain first information including branch information corresponding to, obtain second information including at least information about the result of the build task from the server in response to completion of the build task, and obtain the first information including information about the result of the build task. It may be set to provide a build work information list including information and a first item generated based on the second information to the worker device.
본 발명의 방법에 따르면, 코드 관련 정보를 제공하는 방법 및 전자 장치는 프로젝트와 관련된 복수의 프로그램 코드들에 대한 빌드 작업에 관련된 정보를 확인하고, 이를 작업자에게 제공함으로써, 빌드 작업에 관한 상황을 통지하여 프로젝트의 생산성을 향상시킬 수 있다.According to the method of the present invention, the method and electronic device for providing code-related information confirm the information related to the build task for a plurality of program codes related to the project and provide this to the operator, thereby notifying the status of the build task. This can improve project productivity.
또한, 본 개시에 따른 코드 정보 제공을 위한 전자 장치 및 그 방법은 프로젝트와 관련된 작업 현황을 작업자에게 제공함으로써, 프로젝트 진행 상황에 대한 정보를 작업자에게 직관적으로 제공할 수 있다.In addition, the electronic device and method for providing code information according to the present disclosure can intuitively provide information on the project progress to the worker by providing the worker with the status of work related to the project.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects that can be obtained from the present invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description below. will be.
도 1은 다양한 실시 예들에 따른 전자 장치가 코드 관련 정보를 제공하는 방법이 구현될 수 있는 코드 관련 정보 제공 시스템(100)을 설명하기 위한 도면이다.FIG. 1 is a diagram illustrating a code-related information providing system 100 in which a method of providing code-related information by an electronic device according to various embodiments of the present invention can be implemented.
도 2는 다양한 실시 예들에 따른 전자 장치, 작업자 장치 및 서버의 구성을 도시한 도면이다.FIG. 2 is a diagram illustrating the configuration of an electronic device, an operator device, and a server according to various embodiments.
도 3은 다양한 실시 예들에 따른 코드 정보가 제공되는 프로젝트의 자료 구조를 나타내기 위한 도면이다.Figure 3 is a diagram showing the data structure of a project in which code information is provided according to various embodiments.
도 4는 다양한 실시 예들에 따른 전자 장치가 코드 관련 정보를 제공하는 동작흐름도이다.FIG. 4 is a flowchart of an operation in which an electronic device provides code-related information according to various embodiments.
도 5는 다양한 실시 예들에 따른 전자 장치가 제공하는 빌드 작업 정보 목록을 예시적으로 도시한 것이다.FIG. 5 exemplarily illustrates a list of build task information provided by an electronic device according to various embodiments.
도 6은 다양한 실시 예들에 따른 전자 장치가 제공하는 빌드 작업과 관련된 수치 정보의 일 예이다.FIG. 6 is an example of numerical information related to a build task provided by an electronic device according to various embodiments.
도 7은 다양한 실시 예들에 따른 전자 장치가 제공하는 빌드 작업과 관련된 수치 정보의 일 예이다.FIG. 7 is an example of numerical information related to a build task provided by an electronic device according to various embodiments.
이하의 실시 예들은 다양한 실시 예들의 구성요소들과 특징들을 소정 형태로 결합한 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려될 수 있다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및 특징들을 결합하여 다양한 실시 예들을 구성할 수도 있다. 다양한 실시 예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시 예의 일부 구성이나 특징은 다른 실시 예에 포함될 수 있고, 또는 다른 실시 예의 대응하는 구성 또는 특징과 교체될 수 있다.The following embodiments combine components and features of various embodiments in a predetermined form. Each component or feature may be considered optional unless explicitly stated otherwise. Each component or feature may be implemented in a form that is not combined with other components or features. Additionally, various embodiments may be configured by combining some components and features. The order of operations described in various embodiments may change. Some features or features of one embodiment may be included in another embodiment or may be replaced with corresponding features or features of another embodiment.
도면에 대한 설명에서, 다양한 실시 예들의 요지를 흐릴 수 있는 절차 또는 단계 등은 기술하지 않았으며, 당해 기술분야에서 통상의 지식을 가진 자의 수준에서 이해할 수 있을 정도의 절차 또는 단계는 또한 기술하지 아니하였다.In the description of the drawings, procedures or steps that may obscure the gist of the various embodiments are not described, and procedures or steps that can be understood at the level of a person with ordinary knowledge in the relevant technical field are not described. did.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함(comprising 또는 including)"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "...기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사 관련어는 다양한 실시 예들을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.Throughout the specification, when a part is said to “comprise or include” a certain element, this means that it does not exclude other elements but may further include other elements, unless specifically stated to the contrary. do. In addition, terms such as "... unit", "... unit", and "module" used in the specification refer to a unit that processes at least one function or operation, which refers to hardware, software, or a combination of hardware and software. It can be implemented as: Additionally, the terms “a or an,” “one,” “the,” and similar related terms are used herein in the context of describing various embodiments (particularly in the context of the claims below). Unless otherwise indicated or clearly contradicted by context, it may be used in both singular and plural terms.
이하, 다양한 실시 예들에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 다양한 실시 예들의 예시적인 실시형태를 설명하고자 하는 것이며, 유일한 실시형태를 나타내고자 하는 것이 아니다.Hereinafter, preferred embodiments according to various embodiments will be described in detail with reference to the attached drawings. The detailed description set forth below in conjunction with the accompanying drawings is intended to describe exemplary embodiments of various embodiments and is not intended to represent the only embodiment.
또한, 다양한 실시 예들에서 사용되는 특정(特定) 용어들은 다양한 실시 예들의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 다양한 실시 예들의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.Additionally, specific terms used in various embodiments are provided to aid understanding of the various embodiments, and the use of such specific terms may be changed to other forms without departing from the technical spirit of the various embodiments.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.At this time, it will be understood that each block of the processing flow diagram diagrams and combinations of the flow diagram diagrams can be performed by computer program instructions. These computer program instructions can be mounted on a processor of a general-purpose computer, special-purpose computer, or other programmable data processing equipment, so that the instructions performed through the processor of the computer or other programmable data processing equipment are described in the flow chart block(s). It creates the means to perform functions. These computer program instructions may also be stored in computer-usable or computer-readable memory that can be directed to a computer or other programmable data processing equipment to implement a function in a particular manner, so that the computer-usable or computer-readable memory It is also possible to produce manufactured items containing instruction means that perform the functions described in the flowchart block(s). Computer program instructions can also be mounted on a computer or other programmable data processing equipment, so that a series of operational steps are performed on the computer or other programmable data processing equipment to create a process that is executed by the computer, thereby generating a process that is executed by the computer or other programmable data processing equipment. Instructions that perform processing equipment may also provide steps for executing the functions described in the flow diagram block(s).
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Additionally, each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s). Additionally, it should be noted that in some alternative execution examples it is possible for the functions mentioned in the blocks to occur out of order. For example, it is possible for two blocks shown in succession to be performed substantially at the same time, or it is possible for the blocks to be performed in reverse order depending on the corresponding function.
도 1은 다양한 실시 예들에 따른 전자 장치가 코드 관련 정보를 제공하는 방법이 구현될 수 있는 코드 정보 제공 시스템(100)을 설명하기 위한 도면이다.FIG. 1 is a diagram illustrating a code information providing system 100 in which a method of providing code-related information by an electronic device according to various embodiments of the present invention can be implemented.
도 1을 참조하면, 다양한 실시 예들에 따른 코드 정보 제공 시스템(100)은 다양한 종류의 장치들에 구현될 수 있다. 예를 들어, 코드 정보 제공 시스템(100)은 전자 장치(101), 작업자 장치(102) 및 서버(103)에 구현될 수 있다. 달리 말해, 전자 장치(101), 작업자 장치(102) 및 서버(103)는 각각의 장치에 구현된 코드 정보 제공 시스템(100)을 기반으로, 본 개시의 다양한 실시 예들에 따른 동작을 수행할 수 있다. 한편, 다양한 실시 예들에 따른 코드 정보 제공 시스템(100)은, 상기 도 1에 도시된 바에 국한되지 않고, 더 다양한 전자 장치와 서버들에 구현될 수도 있을 것이다.Referring to FIG. 1, a code information providing system 100 according to various embodiments may be implemented in various types of devices. For example, the code information providing system 100 may be implemented in the electronic device 101, the operator device 102, and the server 103. In other words, the electronic device 101, the operator device 102, and the server 103 can perform operations according to various embodiments of the present disclosure based on the code information providing system 100 implemented in each device. there is. Meanwhile, the code information providing system 100 according to various embodiments is not limited to what is shown in FIG. 1, and may be implemented in a wider variety of electronic devices and servers.
다양한 실시 예들에 따른 전자 장치(101)는, 하나 이상의 작업자 장치(102)(예: 제1작업자 장치(102_1), 제2작업자 장치(102_2), 쪋 , 제n작업자 장치(102_n)) 및/또는 서버(103)와 무선 및 유선 통신을 수행하며, 대단위의 저장 용량을 갖는 스토리지를 포함하는 장치일 수 있다. 예를 들어, 전자 장치(101)는 하나 이상의 작업자 장치(102) 및/또는 서버(103)와 연결된 클라우드 디바이스(Cloud device)일 수 있다.The electronic device 101 according to various embodiments includes one or more worker devices 102 (e.g., a first worker device 102_1, a second worker device 102_2, etc., an nth worker device 102_n), and/ Alternatively, it may be a device that performs wireless and wired communication with the server 103 and includes storage with a large storage capacity. For example, the electronic device 101 may be a cloud device connected to one or more worker devices 102 and/or servers 103.
다양한 실시 예들에 따른 작업자 장치(102)는, 데스크탑 피시, 태블릿 피시, 모바일 단말 등의 개인 사용자에 의해 이용될 수 있는 장치일 수 있다. 이외에도 유사한 기능을 수행하는 다른 전자 장치들이 작업자 장치(102)로 이용될 수 있다.The worker device 102 according to various embodiments may be a device that can be used by an individual user, such as a desktop PC, tablet PC, or mobile terminal. In addition, other electronic devices that perform similar functions may be used as the operator device 102.
다양한 실시 예들에 따른 서버(103)는, 하나 이상의 작업자 장치(102)(예: 제1작업자 장치(102_1), 제2작업자 장치(102_2), 쪋 , 제n작업자 장치(102_n)) 및/또는 전자 장치(101)와 무선 및 유선 통신을 수행하며, 대단위의 저장 용량을 갖는 스토리지를 포함하는 장치일 수 있다. 예를 들어, 전자 장치(101)는 하나 이상의 작업자 장치(102) 및/또는 전자 장치(101)와 연결된 클라우드 디바이스(Cloud device)일 수 있다.The server 103 according to various embodiments may include one or more worker devices 102 (e.g., a first worker device 102_1, a second worker device 102_2, etc., an nth worker device 102_n), and/or It may be a device that performs wireless and wired communication with the electronic device 101 and includes storage with a large storage capacity. For example, the electronic device 101 may be one or more worker devices 102 and/or a cloud device connected to the electronic device 101.
다양한 실시 예들에 따른 코드 정보 제공 시스템(100)은 동작을 위한 다양한 모듈들을 포함할 수 있다. 코드 정보 제공 시스템(100)에 포함된 모듈들은 코드 정보 제공 시스템(100)이 구현되는(또는, 물리적 장치에 포함되는) 물리적 장치(예: 전자 장치(101))가 지정된 동작을 수행할 수 있도록 구현된 컴퓨터 코드 내지는 하나 이상의 인스트럭션 (instruction) 일 수 있다. 다시 말해, 코드 정보 제공 시스템(100)이 구현되는 물리적 장치는 복수 개의 모듈들을 컴퓨터 코드 형태로 메모리에 저장하고, 메모리에 저장된 복수 개의 모듈들이 실행되는 경우 복수 개의 모듈들은 물리적 장치가 복수 개의 모듈들에 대응하는 지정된 동작들을 수행하도록 할 수 있다.The code information providing system 100 according to various embodiments may include various modules for operation. The modules included in the code information providing system 100 enable the physical device (e.g., electronic device 101) on which the code information providing system 100 is implemented (or included in the physical device) to perform a specified operation. It may be implemented computer code or one or more instructions. In other words, the physical device in which the code information providing system 100 is implemented stores a plurality of modules in a memory in the form of computer code, and when the plurality of modules stored in the memory are executed, the physical device is a plurality of modules. It is possible to perform designated operations corresponding to .
실시 예에 따라, 코드 정보 제공 시스템(100)은 전자 장치(101), 서버 (103), 하나 이상의 작업자 장치(102) 및 그 외 외부 장치 중 적어도 일부 간의 정보 송수신을 지원하는 네트워크 망을 더 포함할 수 있다.Depending on the embodiment, the code information providing system 100 further includes a network network supporting information transmission and reception between at least some of the electronic device 101, the server 103, one or more worker devices 102, and other external devices. can do.
한편 실시 예 전반에서 전자 장치(101), 하나 이상의 작업자 장치(102), 및 서버(103)는 분리된 장치 및 서버로 언급되나 이는 논리적으로 나누어진 구조일 수 있으며, 하나의 장치 또는 서버에서 분리된 기능에 의해 구현될 수 있다. 예컨대, 작업자 장치(102) 및 서버(103) 중 적어도 일부는 전자 장치(101)에 포함되거나 전자 장치(101)와 결합되어 일체로서 구성될 수 있다. 다만, 이러한 경우에도 전자 장치(101), 작업자 장치(102) 및 서버(103) 간의 데이터 송수신에 의하여 수행되는 일련의 코드 정보 제공 방법은 유사하게 수행될 수 있다. 전자 장치(101)에 포함되거나 전자 장치(101)와 결합되어 일체로서 구성되는 장치의 경우, 전자 장치(101)와의 통신은 장치 내부에서 그 구성 요소들 간에(예컨대, 전자 장치(101)의 프로세서와) 데이터를 주고받는 과정으로 이해될 수 있다.Meanwhile, throughout the embodiment, the electronic device 101, the one or more worker devices 102, and the server 103 are referred to as separate devices and servers, but this may be a logically divided structure, and may be separated from one device or server. It can be implemented by the provided function. For example, at least some of the worker device 102 and the server 103 may be included in the electronic device 101 or may be combined with the electronic device 101 to form an integrated unit. However, even in this case, the method of providing a series of code information performed by transmitting and receiving data between the electronic device 101, the operator device 102, and the server 103 can be performed similarly. In the case of a device included in or integrated with the electronic device 101, communication with the electronic device 101 may occur within the device and between its components (e.g., the processor of the electronic device 101). Wow) It can be understood as a process of exchanging data.
이하에서는 설명의 편의를 위하여 작업자 장치(102) 및 서버(103)가 전자 장치(101)와 별개의 장치 또는 서버로 존재하는 실시 예들을 설명하되, 이하의 설명은 작업자 장치(102) 및 서버(103) 중 적어도 일부가 전자 장치(101)에 포함되거나 전자 장치(101)와 결합되어 일체로서 구성되는 경우에도 준용될 수 있다. Hereinafter, for convenience of explanation, embodiments in which the worker device 102 and the server 103 exist as a separate device or server from the electronic device 101 will be described. However, the following description describes the worker device 102 and the server ( 103) may be applied mutatis mutandis even when at least some of them are included in the electronic device 101 or are combined with the electronic device 101 to form an integrated unit.
일실시 예에 따르면, 전자 장치(101), 작업자 장치(102) 및 서버(103)는 네트워크 서버로 구현되는 다수의 컴퓨터 시스템 또는 컴퓨터 소프트웨어를 포함할 수 있다. 예를 들면, 전자 장치(101), 작업자 장치(102) 및 서버(103) 중 적어도 일부는 인트라넷 또는 인터넷과 같은 컴퓨터 네트워크를 통해 다른 네트워크 서버와 통신할 수 있는 하위 장치와 연결되어 작업 수행 요청을 접수하고, 그에 대한 작업을 수행하여 수행 결과를 제공하는 컴퓨터 시스템 및 컴퓨터 소프트웨어를 지칭할 수 있다. 이외에도, 전자 장치(101), 작업자 장치(102) 및 서버(103) 중 적어도 일부는 네트워크 서버 상에서 동작할 수 있는 일련의 응용 프로그램과, 내부에 구축되어 있는 각종 데이터베이스를 포함하는 광의의 개념으로 이해될 수 있다. 예컨대, 전자 장치(101), 작업자 장치(102) 및 서버(103) 중 적어도 일부는 도스(DOS), 윈도우(Windows), 리눅스(Linux), 유닉스(UNIX), 또는 맥OS(MacOS) 등의 운영 체제에 따라 다양하게 제공되는 네트워크 서버 프로그램을 이용하여 구현될 수 있다.According to one embodiment, the electronic device 101, the operator device 102, and the server 103 may include a plurality of computer systems or computer software implemented as network servers. For example, at least some of the electronic device 101, worker device 102, and server 103 are connected to subordinate devices that can communicate with other network servers through a computer network such as an intranet or the Internet to request task performance. It can refer to computer systems and computer software that receive data, perform work on it, and provide performance results. In addition, at least some of the electronic device 101, operator device 102, and server 103 are understood as a broad concept that includes a series of application programs that can operate on a network server and various databases built therein. It can be. For example, at least some of the electronic device 101, worker device 102, and server 103 may run DOS, Windows, Linux, UNIX, or MacOS. It can be implemented using various network server programs provided depending on the operating system.
도 2는 다양한 실시 예들에 따른 전자 장치, 작업자 장치 및 서버의 구성을 도시한 도면이다.FIG. 2 is a diagram illustrating the configuration of an electronic device, an operator device, and a server according to various embodiments.
도 2를 참조하면, 전자 장치(101), 하나 이상의 작업자 장치(102) 및 서버(103) 는 입/출력부(210), 통신부(220), 스토리지(230) 및 프로세서(240)를 포함할 수 있다. Referring to FIG. 2, the electronic device 101, one or more operator devices 102, and the server 103 may include an input/output unit 210, a communication unit 220, a storage 230, and a processor 240. You can.
입/출력부(210)는 사용자 입력을 받거나 또는 사용자에게 정보를 출력하는 각종 인터페이스나 연결 포트 등일 수 있다. 입/출력부(210)는 입력 모듈과 출력 모듈을 포함할 수 있는데, 입력 모듈은 사용자로부터 사용자 입력을 수신한다. 사용자 입력은 키 입력, 터치 입력, 음성 입력을 비롯한 다양한 형태로 이루어질 수 있다. 이러한 사용자 입력을 받을 수 있는 입력 모듈의 예로는 전통적인 형태의 키패드나 키보드, 마우스는 물론, 사용자의 터치를 감지하는 터치 센서, 음성 신호를 입력받는 마이크, 영상 인식을 통해 제스처 등을 인식하는 카메라, 사용자 접근을 감지하는 조도 센서나 적외선 센서 중 적어도 하나를 포함하는 근접 센서, 가속도 센서나 자이로 센서 등을 통해 사용자 동작을 인식하는 모션 센서 및 그 외의 다양한 형태의 사용자 입력을 감지하거나 입력받는 다양한 형태의 입력 수단이 있으며, 본 개시의 실시 예에 따른 입력 모듈은 위에 나열한 장치 중 적어도 하나를 포함할 수 있다. 여기서, 터치 센서는 디스플레이 패널에 부착되는 터치 패널이나 터치 필름을 통해 터치를 감지하는 압전식 또는 정전식 터치 센서, 광학적인 방식에 의해 터치를 감지하는 광학식 터치 센서 등으로 구현될 수 있다. 이외에도 입력 모듈은 자체적으로 사용자 입력을 감지하는 장치 대신 사용자 입력을 입력받는 외부의 입력 장치를 연결시키는 입력 인터페이스(USB 포트, PS/2 포트 등)의 형태로 구현될 수도 있다. 또 출력 모듈은 각종 정보를 출력할 수 있다. 출력 모듈은 영상을 출력하는 디스플레이, 소리를 출력하는 스피커, 진동을 발생시키는 햅틱 장치 및 그 외의 다양한 형태의 출력 수단 중 적어도 하나를 포함할 수 있다. 이외에도 출력 모듈은 상술한 개별 출력 수단을 연결시키는 포트 타입의 출력 인터페이스의 형태로 구현될 수도 있다.The input/output unit 210 may be various interfaces or connection ports that receive user input or output information to the user. The input/output unit 210 may include an input module and an output module, and the input module receives user input from the user. User input can take various forms, including key input, touch input, and voice input. Examples of input modules that can receive such user input include traditional keypads, keyboards, and mice, as well as touch sensors that detect the user's touch, microphones that receive voice signals, cameras that recognize gestures through image recognition, etc. A proximity sensor including at least one of an illumination sensor or an infrared sensor that detects user approach, a motion sensor that recognizes user movement through an acceleration sensor or gyro sensor, and various other types of sensors that detect or receive user input. There is an input means, and the input module according to an embodiment of the present disclosure may include at least one of the devices listed above. Here, the touch sensor may be implemented as a piezoelectric or capacitive touch sensor that detects touch through a touch panel or touch film attached to the display panel, or an optical touch sensor that detects touch by an optical method. In addition, the input module may be implemented in the form of an input interface (USB port, PS/2 port, etc.) that connects an external input device that receives user input instead of a device that detects user input itself. Additionally, the output module can output various information. The output module may include at least one of a display that outputs an image, a speaker that outputs sound, a haptic device that generates vibration, and various other types of output means. In addition, the output module may be implemented in the form of a port-type output interface that connects the individual output means described above.
일 예로, 디스플레이 형태의 출력 모듈은 텍스트, 정지 영상, 동영상을 디스플레이 할 수 있다. 디스플레이는 액정 디스플레이(LCD: Liquid Crystal Display), 발광 다이오드(LED: light emitting diode) 디스플레이, 유기 발광 다이오드(OLED: Organic Light Emitting Diode) 디스플레이, 평판 디스플레이(FPD: Flat Panel Display), 투명 디스플레이(transparent display), 곡면 디스플레이(Curved Display), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 홀로그래픽 디스플레이(holographic display), 프로젝터 및 그 외의 영상 출력 기능을 수행할 수 있는 다양한 형태의 장치 중 적어도 하나를 포함할 수 있다. 이러한 디스플레이는 입력 모듈의 터치 센서와 일체로 구성된 터치 디스플레이의 형태일 수도 있다.As an example, a display-type output module can display text, still images, and moving images. Displays include liquid crystal display (LCD), light emitting diode (LED) display, organic light emitting diode (OLED) display, flat panel display (FPD), and transparent display. Among various types of devices that can perform image output functions such as display, curved display, flexible display, 3D display, holographic display, projector, and other It can contain at least one. This display may be in the form of a touch display integrated with the touch sensor of the input module.
통신부(220)는 다른 장치와 통신할 수 있다. 따라서, 전자 장치(101), 작업자 장치(102) 및 서버(103)는 통신부를 통해 다른 장치와 정보를 송수신할 수 있다. 예를 들어, 전자 장치(101), 작업자 장치(102) 및 서버(103)는 통신부를 이용해 상호 간 통신을 수행하거나, 기타 다른 장치와 통신을 수행할 수 있다.The communication unit 220 can communicate with other devices. Accordingly, the electronic device 101, the operator device 102, and the server 103 can transmit and receive information with other devices through the communication unit. For example, the electronic device 101, the operator device 102, and the server 103 may communicate with each other or with other devices using a communication unit.
여기서, 통신, 즉 데이터의 송수신은 유선 또는 무선으로 이루어질 수 있다. 이를 위해 통신부는 LAN(Local Area Network)를 통해 인터넷 등에 접속하는 유선 통신 모듈, 이동 통신 기지국을 거쳐 이동 통신 네트워크에 접속하여 데이터를 송수신하는 이동 통신 모듈, 와이파이(Wi-Fi) 같은 WLAN(Wireless Local Area Network) 계열의 통신 방식이나 블루투스(Bluetooth), 직비(Zigbee)와 같은 WPAN(Wireless Personal Area Network) 계열의 통신 방식을 이용하는 근거리 통신 모듈, GPS(Global Positioning System)과 같은 GNSS(Global Navigation Satellite System)을 이용하는 위성 통신 모듈 또는 이들의 조합으로 구성될 수 있다.Here, communication, that is, transmission and reception of data, can be accomplished wired or wirelessly. To this end, the communication department includes a wired communication module that connects to the Internet, etc. through a LAN (Local Area Network), a mobile communication module that transmits and receives data by connecting to a mobile communication network through a mobile communication base station, and a WLAN (Wireless Local Area Network) such as Wi-Fi. A short-distance communication module using an Area Network-type communication method or a WPAN (Wireless Personal Area Network)-type communication method such as Bluetooth or Zigbee, and a GNSS (Global Navigation Satellite System) such as a GPS (Global Positioning System) ) may be composed of a satellite communication module using a satellite communication module or a combination thereof.
스토리지(230)는 각종 정보를 저장할 수 있다. 스토리지는 데이터를 임시적으로 또는 반영구적으로 저장할 수 있다. 예를 들어, 전자 장치(101)의 스토리지에는 전자 장치(101)를 구동하기 위한 운용 프로그램(OS: Operating System), 웹 사이트를 호스팅하기 위한 데이터나 점자 생성을 위한 프로그램 내지는 어플리케이션(예를 들어, 웹 어플리케이션)에 관한 데이터 등이 저장될 수 있다. 또, 스토리지는 상술한 바와 같이 모듈들을 컴퓨터 코드 형태로 저장할 수 있다. Storage 230 can store various types of information. Storage can store data temporarily or semi-permanently. For example, the storage of the electronic device 101 includes an operating program (OS: Operating System) for driving the electronic device 101, a program for generating data or Braille for hosting a website, or an application (e.g., Data related to web applications) may be stored. Additionally, the storage may store modules in the form of computer code as described above.
스토리지(230)의 예로는 하드 디스크(HDD: Hard Disk Drive), SSD(Solid State Drive), 플래쉬 메모리(flash memory), 롬(ROM: Read-Only Memory), 램(RAM: Random Access Memory) 등이 있을 수 있다. 이러한 스토리지는 내장 타입 또는 탈부착 가능한 타입으로 제공될 수 있다.Examples of storage 230 include hard disk drive (HDD), solid state drive (SSD), flash memory, read-only memory (ROM), random access memory (RAM), etc. This can be. This storage can be provided as a built-in or detachable type.
프로세서(240)는 전자 장치(101), 작업자 장치(102) 및 서버(103)의 전반적인 동작을 제어한다. 이를 위해 프로세서(240)는 각종 정보의 연산 및 처리를 수행하고 전자 장치(101)의 구성요소들의 동작을 제어할 수 있다. 예를 들어, 프로세서(240)는 코드 관련 정보 제공을 위한 프로그램 내지 어플리케이션을 실행시킬 수 있을 것이다. 프로세서(240)는 하드웨어, 소프트웨어 또는 이들의 조합에 따라 컴퓨터나 이와 유사한 장치로 구현될 수 있다. 하드웨어적으로 프로세서(240)는 전기적인 신호를 처리하여 제어 기능을 수행하는 전자 회로 형태로 구현될 수 있으며, 소프트웨어적으로는 하드웨어적인 프로세서(240)를 구동시키는 프로그램 형태로 구현될 수 있다. 한편, 이하의 설명에서 특별한 언급이 없는 경우에는 전자 장치(101), 작업자 장치(102) 및 서버(103)의 동작은 프로세서(240)의 제어에 의해 수행되는 것으로 해석될 수 있다. 즉, 상술한 코드 정보 제공 시스템(100)에 구현되는 모듈들이 실행되는 경우, 모듈들은 프로세서(240)가 전자 장치(101), 작업자 장치(102) 및 서버(103)를 이하의 동작들을 수행하도록 제어하는 것으로 해석될 수 있다.The processor 240 controls the overall operation of the electronic device 101, operator device 102, and server 103. To this end, the processor 240 can perform computation and processing of various information and control the operation of components of the electronic device 101. For example, the processor 240 may execute a program or application to provide code-related information. The processor 240 may be implemented as a computer or similar device using hardware, software, or a combination thereof. In hardware, the processor 240 may be implemented in the form of an electronic circuit that processes electrical signals to perform a control function, and in software, it may be implemented in the form of a program that drives the hardware processor 240. Meanwhile, unless otherwise specified in the following description, the operations of the electronic device 101, operator device 102, and server 103 may be interpreted as being performed under the control of the processor 240. That is, when the modules implemented in the above-described code information providing system 100 are executed, the modules enable the processor 240 to perform the following operations on the electronic device 101, the operator device 102, and the server 103. It can be interpreted as controlling.
요약하면, 다양한 실시 예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 다양한 실시 예들은 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다.In summary, various embodiments may be implemented through various means. For example, various embodiments may be implemented by hardware, firmware, software, or a combination thereof.
하드웨어에 의한 구현의 경우, 다양한 실시 예들에 따른 방법은 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.In the case of hardware implementation, methods according to various embodiments include one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), and FPGAs ( It can be implemented by field programmable gate arrays, processors, controllers, microcontrollers, microprocessors, etc.
펌웨어나 소프트웨어에 의한 구현의 경우, 다양한 실시 예들에 따른 방법은 이하에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 예를 들어, 소프트웨어 코드는 메모리에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리는 상기 프로세서 내부 또는 외부에 위치할 수 있으며, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고받을 수 있다.In the case of implementation by firmware or software, methods according to various embodiments may be implemented in the form of modules, procedures, or functions that perform the functions or operations described below. For example, software code can be stored in memory and run by a processor. The memory may be located inside or outside the processor, and may exchange data with the processor through various known means.
이하에서는, 상기와 같은 기술적 사상에 기반하여 다양한 실시 예들에 대해 보다 상세히 설명한다. 이하에서 설명되는 다양한 실시 예들에 대해서는 앞서 설명한 내용들이 적용될 수 있다. 예를 들어, 이하에서 설명되는 다양한 실시 예들에서 정의되지 않은 동작, 기능, 용어 등은 앞서 설명한 내용들에 기반하여 수행되고 설명될 수 있다.Below, various embodiments will be described in more detail based on the above technical idea. The contents described above may be applied to various embodiments described below. For example, operations, functions, terms, etc. that are not defined in various embodiments described below may be performed and explained based on the contents described above.
이하의 설명에서는 전자 장치(101)가 코드 관련 정보를 제공하는 동작을 수행함을 전제로 다양한 실시 예들에 대하여 설명하며, 다양한 실시 예들에 따르면, 전자 장치(101)는 코드 정보를 제공하는 동작과 관련된 정보를 작업자 장치(102) 및/또는 서버(103)와 송수신할 수 있다.In the following description, various embodiments are described on the premise that the electronic device 101 performs an operation of providing code-related information. According to various embodiments, the electronic device 101 performs an operation of providing code information. Information may be transmitted to and received from operator device 102 and/or server 103.
도 3은 다양한 실시 예들에 따른 코드 정보가 제공되는 프로젝트의 자료 구조를 나타내기 위한 도면이다.Figure 3 is a diagram showing the data structure of a project in which code information is provided according to various embodiments.
도 3는 본 문서에 개시된 다양한 실시 예에 따라 코드 정보가 제공되는 프로젝트(300)의 자료 구조(30)를 나타내기 위한 도면이다. 도 3를 참조하면, 하나의 프로젝트(300)로부터 마스터 브랜치(master branch)(MB), 개발 브랜치(develop branch)(DB), 제1피처 브랜치(feature branch)(FB1) 및 제2피처 브랜치(FB2)가 파생될 수 있다. 다만, 도 3에 도시된 자료 구조(30)는 본 개시의 이해를 돕기 위한 일 예일 뿐, 본 개시의 실시 예에 따라 코드 정보가 제공되는 자료 구조(30)를 제한하는 것은 아니며, 자료 구조(30)는 프로젝트(300)의 목표에 따라 적응적으로 구축될 수 있다.FIG. 3 is a diagram illustrating the data structure 30 of the project 300 in which code information is provided according to various embodiments disclosed in this document. Referring to FIG. 3, from one project 300, a master branch (MB), a development branch (DB), a first feature branch (FB1), and a second feature branch ( FB2) can be derived. However, the data structure 30 shown in FIG. 3 is only an example to aid understanding of the present disclosure, and does not limit the data structure 30 in which code information is provided according to an embodiment of the present disclosure, and the data structure ( 30) can be adaptively built according to the goals of the project 300.
마스터 브랜치(MB)는 프로젝트(300)와 관련된 배포(release) 이력을 관리하기 위한 브랜치일 수 있으며, 배포 가능한 상태의 파일 세트를 관리할 수 있다. 도 3에는 제1마스터 파일 세트(310) 및 제2마스터 파일 세트(320)를 포함한 마스터 브랜치(MB)가 도시된 바, 제1마스터 파일 세트(310)로부터 구축되는 제1프로그램 또는 제2마스터 파일 세트(320)로부터 구축되는 제2프로그램이 배포될 수 있으며, 제2프로그램은 제1프로그램의 또 다른 버전일 수 있다. 제1마스터 파일 세트(310) 및 제2마스터 파일 세트(320)에 포함되는 복수의 파일들 각각은 제1내지 제n 작업자 장치(102_1, 102_2, …, 102_n)에 의하여 서버(103)로 커밋(commit)된 파일일 수 있다.The master branch (MB) may be a branch for managing release history related to the project 300 and may manage a set of files in a deployable state. 3 shows a master branch (MB) including a first master file set 310 and a second master file set 320, and the first program or second master constructed from the first master file set 310 A second program built from file set 320 may be distributed, and the second program may be another version of the first program. Each of the plurality of files included in the first master file set 310 and the second master file set 320 is committed to the server 103 by the first to nth worker devices 102_1, 102_2, ..., 102_n. It may be a (committed) file.
개발 브랜치(DB)는 프로젝트(300)와 관련된 다양한 기능 개발을 위한 브랜치들에 대한 병합을 수행하기 위한 브랜치일 수 있다. 디밸롭 브랜치(DB)와 관련된 파일 세트가 배포될 프로그램과 관련된 모든 기능을 포함하고, 버그가 수정되어 배포 가능한 안정적인 상태인 경우, 디밸롭 브랜치(DB)는 마스터 브랜치(MB)에 병합될 수 있다. 도 3의 제1내지 제3개발 파일 세트(311, 312, 313) 각각은 제2마스터 파일 세트(320)와 대응하는 프로그램과 관련된 다양한 기능 개발을 위한 복수의 파일들을 포함할 수 있으며, 실시 예에서, 제2개발 파일 세트(312)는 제1개발 파일 세트(311)로부터, 제3개발 파일 세트(313)는 제2개발 파일 세트(312) 업데이트된 버전의 파일 세트일 수 있거나, 제1내지 제3개발 파일 세트(311, 312, 313) 각각이 제2마스터 파일 세트(320)와 대응하는 프로그램과 관련된 독립된 기능을 구현하기 위한 파일 세트일 수 있다. 제1내지 제3개발 파일 세트(311, 312, 313) 각각에 포함되는 복수의 파일들 각각은 제1내지 제n 작업자 장치(102_1, 102_2, …, 102_n)에 의하여 서버(103)로 커밋된 파일일 수 있다.The development branch (DB) may be a branch for merging branches for developing various functions related to the project 300. If the set of files associated with the development branch (DB) contains all features related to the program to be deployed, bugs have been fixed and it is in a stable state ready for deployment, the development branch (DB) can be merged into the master branch (MB). . Each of the first to third development file sets 311, 312, and 313 of FIG. 3 may include a plurality of files for developing various functions related to the program corresponding to the second master file set 320, embodiments. In, the second development file set 312 may be a set of files from the first development file set 311, the third development file set 313 may be an updated version of the second development file set 312, or the first development file set 311 may be a set of files from the first development file set 311. Each of the to third development file sets 311, 312, and 313 may be a file set for implementing independent functions related to the program corresponding to the second master file set 320. Each of the plurality of files included in each of the first to third development file sets (311, 312, 313) is committed to the server 103 by the first to nth worker devices (102_1, 102_2, ..., 102_n). It could be a file.
제1피처 브랜치(FB1) 및 제2피처 브랜치(FB2)는 프로젝트(300)와 관련된 새로운 기능 개발 및 버그 수정을 위하여 개발 브랜치(DB)로부터 분기된 브랜치일 수 있다. 제1피처 브랜치(FB1) 및 제2피처 브랜치(FB2)와 관련된 작업이 완료되는 경우, 제1피처 브랜치(FB1) 및 제2피처 브랜치(FB2)와 관련된 파일 세트는 개발 브랜치(DB)로 병합될 수 있다. 도 3는 제2피처 브랜치(FB2)와 관련된 작업이 완료되고, 제2-1 피처 파일 세트(312_1) 및 제2-2 피처 파일 세트(312_2) 중 적어도 하나가 개발 브랜치(DB)에 병합되고, 제1피처 브랜치(FB1)와 관련된 작업이 진행 중인 경우의 자료 구조(30)를 도시한다.The first feature branch (FB1) and the second feature branch (FB2) may be branches branched from the development branch (DB) to develop new functions and fix bugs related to the project 300. When work related to the first feature branch (FB1) and the second feature branch (FB2) is completed, the file sets related to the first feature branch (FB1) and the second feature branch (FB2) are merged into the development branch (DB). It can be. 3 shows that work related to the second feature branch (FB2) is completed, and at least one of the 2-1 feature file set (312_1) and the 2-2 feature file set (312_2) is merged into the development branch (DB). , shows the data structure 30 when work related to the first feature branch (FB1) is in progress.
이외에도, 본 개시의 실시 예에 따른 프로젝트(300)의 자료 구조(30)는 제품 출시 버전을 준비하기 위하여 개발 브랜치(DB)로부터 분기하는 배포 브랜치(release branch) 및 배포한 제품 버전에 긴급한 수정 사항이 발생하는 경우, 이를 처리하기 위하여 마스터 브랜치(MB)에서 분기하는 핫픽스 브랜치(hotfix branch) 중 적어도 하나를 더 포함할 수 있다. 본 명세서에서 지칭하는 브랜치 정보는 프로젝트(300)와 관련된 마스터 브랜치(MB), 개발 브랜치(DB), 피처 브랜치(FB1, FB2), 배포 브랜치 및 핫픽스 브랜치 중 적어도 하나와 대응하는 정보일 수 있으며, 브랜치 정보는 해당 브랜치와 관련된 파일 세트에 대한 정보를 포함할 수 있다. 또한, 본 명세서에서 지칭하는 파일 정보는 파일 세트에 포함되는 적어도 하나의 파일에 대한 코드 정보를 포함할 수 있으며, 파일 정보는 해당 파일과 관련된 프로그램 코드에 대한 정보를 포함할 수 있다.In addition, the data structure 30 of the project 300 according to the embodiment of the present disclosure includes a release branch branching from the development branch (DB) and urgent modifications to the distributed product version in order to prepare the product release version. When this occurs, at least one of hotfix branches branching from the master branch (MB) may be further included to handle this. The branch information referred to in this specification may be information corresponding to at least one of a master branch (MB), development branch (DB), feature branch (FB1, FB2), distribution branch, and hotfix branch related to the project 300, Branch information may include information about a set of files related to the branch. Additionally, file information referred to in this specification may include code information about at least one file included in the file set, and the file information may include information about program code related to the file.
한편 실시 예에서, 각 파일 세트는 작업자 장치(102)의 요청에 기반하여 마스터 브랜치(MB)에 머지(merge)될 수 있다. 예컨대, 작업자 장치(102)에 의하여 파일 세트가 서버(103)로 커밋됨에 대응하여 서버(103)는 커밋된 파일 세트를 마스터 브랜치(MB)에 머지하고, 빌드(build)를 진행할 수 있다. 빌드 작업은 하나 이상의 소스 코드에 대한 파일들을 패키징(packaging)하여 배포(distribution)하는 동작을 포함할 수 있다. 패키징은 커밋된 파일 세트를 적어도 포함하여 출력되는 하나의 패키지(package) 데이터를 생성하는 동작을 포함할 수 있다. 작업자 장치(102)는 파일 세트에 대한 작업을 완료하여 커밋하고, 이에 대응하여 빌드 요청을 서버(103)로 전송하고, 서버(103)는 해당 파일 세트에 대응하는 빌드 작업을 수행하여, 패키지를 생성할 수 있다. 서버(103)는 커밋 정보를 기반으로 푸시(push) 작업을 수행할 수 있다. 푸시 작업은 추가된 파일 정보 또는 편집이 이루어진 파일 정보를 원격 저장소(예: 서버(103))에 저장하는 작업을 의미할 수 있다. 서버(103)는 개발 서버 또는 CI(continuous integration) 서버일 수 있다. 예컨대 서버(103)는 하나 이상의 작업자 장치(102) 각각으로부터 푸시된 코드 정보를, 각 푸시가 이루어질 때마다 지속적으로 빌드하여 배포할 수 있다. 서버(103)는 푸시된 파일에 대응하여 빌드 작업을 진행할 수 있다. 예컨대 제1개발 파일 세트(311)에 대하여, 작업자 장치(102)가 커밋하는 경우 서버(103)는 커밋과 동시에 푸시된 파일 세트에 대응하는 빌드 작업을 수행하여, 제1개발 파일 세트(311)에 대응하는 제1패키지(P1)를 생성할 수 있다. 또 다른 예시로, 제2-2개발 파일 세트(311)에 대하여, 작업자 장치(102)가 제2-2 피처 파일 세트(312_2)를 서버(103)로 커밋하는 경우 서버(103)는 커밋과 동시에 빌드 작업을 수행하여, 제2-2 피처 파일 세트(312_2)에 대응하는 제2패키지(P2)를 생성할 수 있다. 실시 예에서, 제1패키지(P1) 및 제2패키지(P2)는 제1마스터 파일 세트(310)로부터 구축되는 제1프로그램과 동일한 버전으로 식별되어, 제1패키지(P1) 및 제2패키지(P2)에 제1프로그램의 버전과 동일한 식별 번호가 부여될 수 있고, 제2마스터 파일 세트(320)로부터 구축되는 제2프로그램과 상이한 버전으로 식별될 수 있다. 서버(103)는 빌드된 패키지를 배포(distribution) 할 수 있다. 버전 갱신 전후에 지속적으로 빌드된 패키지 각각(예: 제1패키지(P1), 제2패키지(P2))은 알파 테스트(alpha-test) 및/또는 베타 테스트(beta-test)의 대상이 될 수 있고, 전자 장치(101), 작업자 장치(102), 서버(103) 및/또는 그 외의 외부 전자 장치는 패키지 각각에 대한 알파 테스트 및 베타 테스트를 수행할 수 있고, 전자 장치(101)는 알파 테스트 및 베타 테스트의 결과 정보를 획득할 수 있다.Meanwhile, in an embodiment, each file set may be merged into the master branch (MB) based on a request from the worker device 102. For example, in response to the file set being committed to the server 103 by the worker device 102, the server 103 may merge the committed file set into the master branch (MB) and proceed with build. The build task may include packaging and distributing files for one or more source codes. Packaging may include the operation of creating one package of output data that includes at least a set of committed files. The worker device 102 completes and commits work on a set of files and, in response, sends a build request to the server 103, and the server 103 performs a build task corresponding to that set of files to build the package. can be created. The server 103 may perform a push operation based on commit information. A push operation may mean saving added file information or edited file information to a remote storage (e.g., server 103). Server 103 may be a development server or continuous integration (CI) server. For example, the server 103 may continuously build and distribute code information pushed from each of the one or more worker devices 102 as each push is made. The server 103 may perform a build task in response to the pushed file. For example, with respect to the first development file set 311, when the worker device 102 commits, the server 103 performs a build operation corresponding to the pushed file set at the same time as the commit, thereby creating the first development file set 311 A first package (P1) corresponding to can be created. As another example, for the 2-2 development file set 311, when the worker device 102 commits the 2-2 feature file set 312_2 to the server 103, the server 103 commits the commit and At the same time, a build operation may be performed to generate a second package (P2) corresponding to the 2-2 feature file set (312_2). In an embodiment, the first package (P1) and the second package (P2) are identified as the same version as the first program built from the first master file set 310, so that the first package (P1) and the second package ( P2) may be assigned the same identification number as the version of the first program, and may be identified as a different version from the second program constructed from the second master file set 320. The server 103 can distribute the built package. Each continuously built package (e.g., first package (P1), second package (P2)) before and after a version update may be subject to alpha-test and/or beta-test. The electronic device 101, worker device 102, server 103, and/or other external electronic devices may perform alpha testing and beta testing for each package, and the electronic device 101 may perform alpha testing. and beta test result information can be obtained.
실시 예에서, 각 브랜치는 하나 이상의 태스크(task)와 대응될 수 있다. 태스크는, 개념적/기능적 개발 단위로 이해될 수 있다. 프로젝트(300)에 포함되는 하나 이상의 기능적 구성에 대한 개발의 단위로, 각 태스크는 하나 이상의 브랜치와 대응할 수 있다. 예를 들어, 제1태스크(T1)는 장바구니 기능에 관련한 태스크를 포함할 수 있고, 제2태스크(T2)는 결제창 기능에 관련한 태스크를 포함할 수 있다. 제1피쳐 브랜치(FB1) 및 제2피쳐 브랜치(FB2)가 제1태스크(T1)에 대응하는 소스 코드를 포함할 수 있고, 제2피쳐 브랜치(FB2)는 제2태스크(T2)에 대응하는 소스 코드를 포함할 수 있다. 각각의 태스크는 대응하는 식별 정보가 할당될 수 있고, 전자 장치(101)는 태스크의 식별 정보에 기반하여 태스크의 상태에 관한 정보를 확인할 수 있다. 예컨대, 전자 장치(101)는 태스크에 포함된 서브 태스크(sub task) 단위 별로 진행 정보를 확인하거나, 태스크에 대응하는 하나 이상의 브랜치의 상태 정보에 기반하여 태스크의 상태에 관한 정보를 확인할 수 있다. 전자 장치(101)는 태스크 정보에 기반하여 태스크에 대응하는 브랜치에 관한 정보를 확인할 수 있고, 역으로 각 브랜치 정보에 기반하여 브랜치에 대응하는 태스크의 정보를 확인할 수 있다. 실시 예에서, 작업자 장치(102)가 파일 세트를 커밋하는 경우, 커밋 메시지를 적어도 일부에 포함하는 커밋 정보를 서버(103)에 전송할 수 있고, 커밋 정보는 파일 세트와 대응하는 태스크에 관한 정보를 포함할 수 있다. 이러한 개발 및 코드 구조 단위는 작업자에 따라 다른 구조를 가질 수 있다. In an embodiment, each branch may correspond to one or more tasks. A task can be understood as a conceptual/functional development unit. As a unit of development for one or more functional components included in the project 300, each task may correspond to one or more branches. For example, the first task (T1) may include a task related to the shopping cart function, and the second task (T2) may include a task related to the payment window function. The first feature branch (FB1) and the second feature branch (FB2) may include source code corresponding to the first task (T1), and the second feature branch (FB2) may include source code corresponding to the second task (T2). May include source code. Each task may be assigned corresponding identification information, and the electronic device 101 may check information about the status of the task based on the identification information of the task. For example, the electronic device 101 may check progress information for each subtask included in the task, or may check information about the status of the task based on status information of one or more branches corresponding to the task. The electronic device 101 can check information about the branch corresponding to the task based on the task information, and conversely, it can check information about the task corresponding to the branch based on each branch information. In an embodiment, when worker device 102 commits a set of files, it may transmit commit information that includes at least part of a commit message to server 103, wherein the commit information includes information about the task corresponding to the file set. It can be included. These development and code structural units may have different structures depending on the operator.
도 4는 다양한 실시 예들에 따른 전자 장치가 코드 관련 정보를 제공하는 동작흐름도이다.FIG. 4 is a flowchart of an operation in which an electronic device provides code-related information according to various embodiments.
다양한 실시 예들에 따르면, 하나 이상의 작업자 장치(102)는 서버(103)로 빌드 요청을 전달할 수 있다(41). 작업자 장치(102)는 서버(103)로 파일 세트를 커밋할 수 있고, 서버(103)는 커밋된 파일 세트를 마스터 브랜치(MB)에 머지하여, 커밋된 파일 세트에 대응하는 패키지를 생성할 수 있다. 실시예에서, 빌드 요청은 작업자 장치(102)가 서버(103)로 전송하는 파일 세트 및 커밋 요청을 포함할 수 있다. 작업자 장치(102)가 커밋하는 파일 세트는 하나 이상의 코드 정보를 포함할 수 있다. 커밋 요청은 파일 세트에 대응하는 커밋 메시지를 포함할 수 있다. 커밋 메시지는 커밋을 요청한 작업자의 작업자 장치(102)가 생성한 것일 수 있다. 실시예에서, 커밋 메시지는 작업자 장치(102)가 작성하여 서버(103)로 전송된 것일 수 있으며, 전자 장치(101)는 서버로부터 커밋 메시지를 획득할 수 있다. According to various embodiments, one or more worker devices 102 may forward a build request to the server 103 (41). Worker device 102 may commit a set of files to server 103, and server 103 may merge the committed set of files into the master branch (MB), creating a package corresponding to the set of committed files. there is. In an embodiment, a build request may include a set of files that the worker device 102 sends to the server 103 and a commit request. The set of files that worker device 102 commits may include one or more code information. A commit request may include a commit message corresponding to the fileset. The commit message may be generated by the worker device 102 of the worker requesting the commit. In an embodiment, the commit message may be written by the worker device 102 and transmitted to the server 103, and the electronic device 101 may obtain the commit message from the server.
다양한 실시 예들에 따르면, 서버(103)는 커밋된 파일 세트에 대한 빌드 작업을 개시할 수 있다(42). 빌드 작업은 커밋된 파일 세트를 머지하여 하나의 패키지로 생성하는 패키징 작업을 포함할 수 있다.According to various embodiments, the server 103 may initiate a build task for the committed file set (42). The build task may include a packaging task that merges a set of committed files to create a single package.
다양한 실시 예들에 따르면, 전자 장치(101)는 서버(103)의 빌드 작업 개시(42)에 대응하여 서버(103)로부터 제1정보를 획득할 수 있다(S401). 실시 예에서, 제1정보는, 코드 정보(예: 파일 세트)와 관련된 정보를 포함할 수 있다. 제1정보는, 코드 정보가 서버(103)에 푸시된 이후 즉시 획득할 수 있는 정보를 포함할 수 있다. 제1정보는 빌드의 대상이 되는 코드 정보에 관련된 하나 이상의 메타(meta) 정보를 포함할 수 있다. 예컨대, 제1정보는, 빌드가 요청된 일시에 관한 정보, 코드 정보에 대응하는 태스크 정보, 브랜치 정보, 버전 정보 및 커밋 정보 가운데 적어도 일부를 포함할 수 있다.According to various embodiments, the electronic device 101 may obtain first information from the server 103 in response to the start of the build task (42) of the server 103 (S401). In an embodiment, the first information may include information related to code information (eg, file set). The first information may include information that can be obtained immediately after the code information is pushed to the server 103. The first information may include one or more meta information related to code information that is the target of the build. For example, the first information may include at least some of information about the date and time when the build was requested, task information corresponding to code information, branch information, version information, and commit information.
실시예에서, 태스크 정보는 코드 정보에 대응하는 태스크의 식별 정보 및 태스크의 진행 상황에 관한 정보 가운데 적어도 일부를 포함할 수 있다. 일 실시예에 따르면, 각 태스크는 하나 이상의 브랜치와 대응될 수 있다. 전자 장치(101) 및/또는 서버(103)는 각 태스크에 대응하는 브랜치에 관한 대응 정보를 저장하거나, 외부 전자 장치에 저장된 태스크와 브랜치 간의 대응 정보에 기반하여 태스크 및 브랜치의 대응 관계를 확인할 수 있다. 전자 장치(101)는 태스크의 식별 정보에 기반하여 태스크와 대응하는 브랜치의 정보를 확인할 수 있다.In an embodiment, the task information may include at least part of identification information of the task corresponding to the code information and information about the progress of the task. According to one embodiment, each task may correspond to one or more branches. The electronic device 101 and/or the server 103 can store correspondence information about the branch corresponding to each task, or check the correspondence relationship between tasks and branches based on correspondence information between tasks and branches stored in an external electronic device. there is. The electronic device 101 may check information on the branch corresponding to the task based on the identification information of the task.
실시예에서, 브랜치 정보는 코드 정보에 대응하는 브랜치의 식별 정보를 포함할 수 있다. 각 브랜치는 하나 이상의 태스크와 대응될 수 있다. 전자 장치(101) 및/또는 서버(103)는 각 태스크에 대응하는 브랜치에 관한 대응 정보를 저장하거나, 외부 전자 장치에 저장된 태스크와 브랜치 간의 대응 정보에 기반하여 태스크 및 브랜치의 대응 관계를 확인할 수 있다. 전자 장치(101)는 브랜치의 식별 정보에 기반하여 태스크와 대응하는 브랜치의 정보를 확인할 수 있다. 일 실시예에 따르면, 각 브랜치 정보는 브랜치에 대응하는 작업자 정보를 포함할 수 있다. 각각의 브랜치는 하나 이상의 작업자가 할당될 수 있고, 전자 장치(101), 서버(103) 또는 그 밖의 외부 장치에 브랜치 및 작업자 간의 대응 정보가 저장될 수 있다. 전자 장치(101)는 브랜치의 식별 정보에 기반하여 브랜치에 대응하는 하나 이상의 작업자의 정보를 확인할 수 있다. 작업자 정보는 작업자에 대한 식별 정보, 작업자에 대응하는 작업자 장치(102)에 관한 정보, 작업자의 연락처 정보, 작업자에 대응하는 브랜치 정보 및 작업자에 대응하는 태스크 정보 가운데 적어도 일부를 포함할 수 있다. 실시예에서, 전자 장치(101)는 브랜치 정보에 기반하여 브랜치 정보에 대응하는 작업자를 확인할 수 있고, 작업자에 대응하는 태스크 정보를 확인할 수 있다. 실시예에서, 전자 장치(101)는 브랜치 정보에 기반하여 브랜치에 대응하는 하나 이상의 태스크 정보를 확인할 수 있고, 하나 이상의 태스크의 정보에 기반하여 태스크에 대응하는 작업자 정보를 확인할 수 있다. 실시예에서, 전자 장치(101)는 태스크 정보에 기반하여 태스크에 대응하는 하나 이상의 브랜치 정보를 확인하고, 하나 이상의 브랜치 정보에 기반하여 브랜치 정보에 대응하는 작업자 정보를 확인할 수 있다.In an embodiment, the branch information may include identification information of the branch corresponding to the code information. Each branch may correspond to one or more tasks. The electronic device 101 and/or the server 103 can store correspondence information about the branch corresponding to each task, or check the correspondence relationship between tasks and branches based on correspondence information between tasks and branches stored in an external electronic device. there is. The electronic device 101 may check information on the branch corresponding to the task based on the branch identification information. According to one embodiment, each branch information may include worker information corresponding to the branch. Each branch may be assigned one or more workers, and correspondence information between branches and workers may be stored in the electronic device 101, the server 103, or other external devices. The electronic device 101 may check information on one or more workers corresponding to the branch based on the branch identification information. The worker information may include at least some of the following: identification information about the worker, information about the worker device 102 corresponding to the worker, contact information about the worker, branch information corresponding to the worker, and task information corresponding to the worker. In an embodiment, the electronic device 101 may check the worker corresponding to the branch information based on the branch information and check task information corresponding to the worker. In an embodiment, the electronic device 101 may check one or more task information corresponding to a branch based on branch information and may check worker information corresponding to a task based on information on one or more tasks. In an embodiment, the electronic device 101 may check one or more branch information corresponding to a task based on task information and check worker information corresponding to the branch information based on one or more branch information.
실시예에서, 커밋 정보는 커밋 메시지, 커밋 작업에 관한 정보, 커밋된 파일 세트(코드 정보)에 관한 정보 및 커밋된 파일 세트에 관련된 식별 정보 가운데 적어도 일부를 포함할 수 있다. 예컨대, 커밋 정보는 커밋된 코드 정보에 대응하는 태스크 정보를 포함할 수 있다. 실시예에서, 커밋된 파일 세트에 관한 식별 정보는, 파일 세트에서 작업자에 의하여 작성, 수정, 변경 또는 생성된 코드 정보에 관한 정보를 포함할 수 있다. 예컨대 소스 코드에 관한 정보는 작성, 수정, 변경 또는 생성된 코드 정보의 파일 세트에서의 위치 정보 및/또는 주요 작성 내역에 관한 정보를 포함할 수 있다. 실시예에서, 커밋 정보는 커밋 작업에 대응하는 식별 정보를 포함할 수 있다. 예컨대 작업자 장치(102)에서 코드 정보를 커밋할 때 작업자 장치(102) 또는 서버(103)는 커밋 작업에 대한 식별 정보를 생성 및/또는 할당할 수 있다. In an embodiment, the commit information may include at least some of a commit message, information about a commit operation, information about a set of committed files (code information), and identification information related to a set of committed files. For example, commit information may include task information corresponding to committed code information. In embodiments, identification information regarding a set of committed files may include information regarding code information created, modified, altered, or created by an operator in the set of files. For example, information about source code may include location information in a file set of code information that has been created, modified, changed, or created, and/or information about major creation history. In embodiments, the commit information may include identification information corresponding to the commit operation. For example, when the worker device 102 commits code information, the worker device 102 or the server 103 may generate and/or assign identification information for the commit task.
실시예에서, 서버(103)는 빌드 작업 개시(42)에 대응하여 제1정보를 전자 장치(101)로 제공하고, 동시 또는 이시에 푸시된 코드 정보에 대응하는 빌드 작업을 진행할 수 있다.In an embodiment, the server 103 may provide first information to the electronic device 101 in response to the start of the build task 42 and proceed with the build task corresponding to the code information pushed at the same time or at the same time.
다양한 실시예들에 따르면, 서버(103)는 빌드 작업을 종료할 수 있다(43). 빌드 작업의 종료는, 빌드 실패 또는 빌드 성공을 포함할 수 있다. 서버(103)는 빌드 작업 종료(43)에 대응하여 빌드의 성공 여부를 확인할 수 있다. 서버(103)는 빌드 성공 시 푸시된 코드 정보에 대응하는 패키지를 생성할 수 있다. According to various embodiments, the server 103 may terminate the build task (43). Termination of a build task may include build failure or build success. The server 103 may check whether the build was successful in response to the end of the build task (43). The server 103 may create a package corresponding to the pushed code information when the build is successful.
다양한 실시예들에 따르면, 전자 장치(101)는 빌드 작업 종료(43)에 대응하여, 서버(103)로부터 제2정보를 획득할 수 있다(S402). 제2정보는 빌드 작업 종료에 대응하여 서버(103)가 생성하거나 전자 장치(101)가 획득할 수 있는 정보를 포함할 수 있다. 실시예에서, 제2정보는 빌드 작업 결과와 관련된 정보를 포함할 수 있다. 예컨대, 제2정보는 빌드 성공 여부에 관한 정보, 빌드가 종료된 일시에 관한 정보, 빌드 소요 시간 및 빌드된 패키지의 용량 정보 가운데 적어도 일부를 포함할 수 있다. 실시예에서, 서버(103)는 빌드 작업 종료(43)에 대응하여 전자 장치(101)로 제2정보를 제공할 수 있다.According to various embodiments, the electronic device 101 may obtain second information from the server 103 in response to the end of the build task (43) (S402). The second information may include information that can be generated by the server 103 or acquired by the electronic device 101 in response to the end of the build task. In an embodiment, the second information may include information related to the results of the build operation. For example, the second information may include at least some of information about whether the build was successful, information about the date and time the build was completed, build time, and capacity information of the built package. In an embodiment, the server 103 may provide second information to the electronic device 101 in response to the end of the build task (43).
다양한 실시예들에 따르면, 전자 장치(101)는 제1항목을 생성할 수 있다. 제1항목은 빌드 작업 정보 목록에 포함된 하나의 항목을 의미할 수 있다. 빌드 작업 정보 목록은 각 빌드 작업에 대응하여, 제1정보 및 제2정보 가운데 적어도 일부 또는 이들의 조합으로 생성된, 빌드 작업에 관련된 하나 이상의 정보를 포함할 수 있다. 일 실시예에 따르면, 빌드 작업 정보 목록에 포함된 제1항목은, 푸시된 코드 정보에 대응하는 브랜치 정보, 작업자 정보, 커밋 정보, 빌드 성공 여부에 관한 정보, 태스크 정보, 버전 정보, 패키지 용량 정보 가운데 적어도 일부를 포함할 수 있다. 전자 장치(101)는 제1정보 및 제2정보에 기반하여 제1항목을 생성할 수 있다.According to various embodiments, the electronic device 101 may generate a first item. The first item may mean one item included in the build task information list. The build task information list may include one or more pieces of information related to the build task that are generated from at least part of the first information and second information or a combination thereof, corresponding to each build task. According to one embodiment, the first item included in the build task information list is branch information corresponding to the pushed code information, worker information, commit information, information on whether the build was successful, task information, version information, and package capacity information. It may include at least some of them. The electronic device 101 may generate the first item based on the first information and the second information.
한편 실시예에서, 제1정보 또는 제2정보는 제1항목 생성에 관한 요청을 포함할 수 있다. 전자 장치(101)는 서버(103)의 빌드 작업의 개시 또는 종료에 대응하여 서버(103)로부터 제1정보 및 제2정보를 획득할 수 있고, 이때 제1정보 또는 제2정보에 제1항목 생성에 관한 요청이 포함될 수 있다. 예컨대, 서버(103)는 빌드 작업을 개시하면서(43), 개시할 빌드 작업에 대응하여 제1항목을 생성하기 위한 요청을 전자 장치(101)로 전달할 수 있다. 이때 전자 장치(101)는 제1정보에 포함된 제1항목 생성에 관한 요청에 기반하여 제1항목을 생성할 수 있다(S403). 이때 전자 장치(101)는, 제2정보를 서버(103)로부터 획득함에 대응하여, 제1정보 및 제2정보에 기반하여 확인되는 데이터를 제1항목에 할당할 수 있다.Meanwhile, in an embodiment, the first information or the second information may include a request for creating the first item. The electronic device 101 may obtain first information and second information from the server 103 in response to the start or end of a build operation of the server 103, and at this time, the first information or the second information may include the first item. Requests for creation may be included. For example, while starting a build job (43), the server 103 may transmit a request to create a first item in response to the build job to be started to the electronic device 101. At this time, the electronic device 101 may generate the first item based on the request for generating the first item included in the first information (S403). At this time, in response to obtaining the second information from the server 103, the electronic device 101 may allocate data confirmed based on the first information and the second information to the first item.
다양한 실시예들에 따르면, 전자 장치(101)는 빌드 작업 정보 목록을 작업자 장치(102)에 제공할 수 있다(S405). 전자 장치(101)는 생성된 제1항목을 포함하는 빌드 작업 정보 목록을 작업자 장치(102)로 제공할 수 있다. 빌드 작업 정보 목록은 하나 이상의 빌드 요청에 기반하여 생성된 하나 이상의 항목을 포함할 수 있다. 실시예에서, 빌드 작업 정보 목록은 페이지 형식을 포함할 수 있고, 전자 장치(101)는 빌드 작업 정보 목록 페이지를 통해 제1정보, 제2정보에 기반하여 확인되거나 생성되는 코드 관련 정보를 작업자 장치(102)에 제공할 수 있다.According to various embodiments, the electronic device 101 may provide a list of build task information to the worker device 102 (S405). The electronic device 101 may provide a build task information list including the generated first item to the worker device 102. The build task information list may include one or more items generated based on one or more build requests. In an embodiment, the build task information list may include a page format, and the electronic device 101 may display code-related information confirmed or generated based on the first information and the second information through the build task information list page to the worker device. It can be provided at (102).
다양한 실시예들에 따르면, 전자 장치(101)는 작업자 장치(102)로부터 패키지 코드 정보 요청을 수신할 수 있다. 패키지 코드 정보 요청은, 패키지의 소스 코드에 관한 제공 요청을 포함할 수 있다. 일 실시예에 따르면, 제1항목은, 제1항목에 대응하는 코드 정보를 적어도 포함하는 패키지의 코드 정보에 관한 경로 정보를 포함할 수 있다. 경로 정보는, URL 정보를 포함할 수 있다. 외부 전자 장치(102)는 제1항목에 기반하여 경로 정보를 확인할 수 있고, 경로 정보에 기반하여 패키지 코드 정보를 전자 장치(101)로 요청할 수 있다. 전자 장치(101)는 패키지 코드 정보 요청에 기반하여 작업자 장치(102)로 패키지에 관한 코드 정보를 제공할 수 있다.According to various embodiments, the electronic device 101 may receive a package code information request from the operator device 102. A package code information request may include a request for provision of the source code of the package. According to one embodiment, the first item may include path information regarding code information of a package that includes at least code information corresponding to the first item. Path information may include URL information. The external electronic device 102 can check path information based on the first item and request package code information from the electronic device 101 based on the path information. The electronic device 101 may provide code information about the package to the operator device 102 based on a request for package code information.
실시예에서, 서버(103) 및/또는 전자 장치(101)는 작업자 장치(102)에 빌드 작업의 결과에 관한 정보를 제공할 수 있다. 일 실시예에서, 서버(103) 및/또는 전자 장치(101)는 빌드 작업의 결과에 관한 정보를 적어도 포함하는 결과 메시지를 작업자 장치(102)로 제공할 수 있다. 서버(103) 및/또는 전자 장치(101)는, 빌드를 요청한 코드 정보에 대응하는 작업자 정보를 확인할 수 있고, 확인된 작업자 정보에 기반하여 작업자 장치(102)에 결과 메시지를 제공할 수 있다. 전자 장치(101)는 제1정보에 기반하여 브랜치에 대응하는 작업자의 정보를 확인할 수 있고, 작업자 정보에 기반하여 브랜치에 대응하는 작업자 장치(102)에 결과 메시지를 제공할 수 있다. 결과 메시지는 빌드 작업의 성공 또는 실패 여부에 관한 정보를 적어도 포함할 수 있고, 빌드를 요청한 작업자 정보를 포함할 수 있다. 실시예에서, 결과 메시지는 제1항목에 대한 정보를 포함할 수 있다. 예를 들어, 결과 메시지는 제1항목에 대응하는 제1정보 및/또는 제2정보 가운데 적어도 일부를 포함할 수 있다. 결과 메시지는 제1항목에 대한 접근 경로에 대한 정보를 포함할 수 있다. 예를 들어, 접근 경로는, 작업자 장치(102)에서 전자 장치(101)로부터 제1항목을 확인하기 위하여 전자 장치(101)의 자원(예: 스토리지)에 대한 접근 경로를 의미할 수 있다. 접근 경로에 대한 정보는 예컨대 URL(user resource location) 정보를 포함할 수 있다.In embodiments, server 103 and/or electronic device 101 may provide operator device 102 with information regarding the results of a build operation. In one embodiment, the server 103 and/or the electronic device 101 may provide a result message containing at least information about the result of the build task to the operator device 102. The server 103 and/or the electronic device 101 may check worker information corresponding to the code information requested to build and provide a result message to the worker device 102 based on the confirmed worker information. The electronic device 101 can check the information of the worker corresponding to the branch based on the first information and provide a result message to the worker device 102 corresponding to the branch based on the worker information. The result message may include at least information about whether the build task succeeded or failed, and may include information about the operator who requested the build. In embodiments, the resulting message may include information about the first item. For example, the result message may include at least a portion of first information and/or second information corresponding to the first item. The resulting message may include information about the access path to the first item. For example, the access path may mean an access path to a resource (eg, storage) of the electronic device 101 in order for the worker device 102 to check the first item from the electronic device 101. Information about the access path may include, for example, URL (user resource location) information.
한편, 실시예에서, 전자 장치(101)는 새로운 브랜치에 관한 정보를 등록할 수 있다. 예를 들어, 작업자가 새로운 브랜치를 생성하는 경우, 브랜치에 관한 정보를 전자 장치(101)에 등록할 수 있다. 전자 장치(101)는 작업자 장치(102)로부터 새로운 브랜치에 대응하는, 브랜치 식별 정보, 브랜치에 대응하는 태스크 정보 및 브랜치에 대응하는 작업자 정보 가운데 적어도 일부를 수신할 수 있다. 전자 장치(101)는 작업자 장치(102)로부터 수신한, 브랜치 등록을 위한 작업자 요청에 대응하여 브랜치 식별 정보에 브랜치에 대응하는 작업자 정보 및/또는 태스크 정보를 매핑한 매핑 정보를 포함하는 브랜치 목록을 생성할 수 있다.Meanwhile, in an embodiment, the electronic device 101 may register information about a new branch. For example, when a worker creates a new branch, information about the branch may be registered in the electronic device 101. The electronic device 101 may receive at least some of branch identification information corresponding to the new branch, task information corresponding to the branch, and worker information corresponding to the branch from the worker device 102. In response to the worker request for branch registration received from the worker device 102, the electronic device 101 creates a branch list including mapping information that maps worker information and/or task information corresponding to the branch to branch identification information. can be created.
한편, 실시예에서, 전자 장치(101)는 새로운 태스크에 관한 정보를 등록할 수 있다. 예를 들어, 작업자가 새로운 태스크를 생성하는 경우, 태스크에 관한 정보를 전자 장치(101)에 등록할 수 있다. 전자 장치(101)는 작업자 장치(102)로부터 새로운 태스크에 대응하는, 태스크 식별 정보, 태스크에 대응하는 하나 이상의 브랜치 정보 및 태스크에 대응하는 작업자 정보 가운데 적어도 일부를 수신할 수 있다. 전자 장치(101)는 작업자 장치(102)로부터 수신한, 태스크 등록을 위한 작업자 요청에 대응하여 태스크 식별 정보에 태스크에 대응하는 작업자 정보 및/또는 브랜치 정보를 매핑한 매핑 정보를 포함하는 태스크 목록을 생성할 수 있다.Meanwhile, in an embodiment, the electronic device 101 may register information about a new task. For example, when a worker creates a new task, information about the task may be registered in the electronic device 101. The electronic device 101 may receive at least some of task identification information corresponding to the new task, one or more branch information corresponding to the task, and worker information corresponding to the task from the worker device 102. In response to the worker request for task registration received from the worker device 102, the electronic device 101 creates a task list including mapping information that maps worker information and/or branch information corresponding to the task to task identification information. can be created.
한편 실시예에서, 전자 장치(101)는 빌드 작업에 기반하여 생성된 패키지에 대한 A/B 테스트(A/B test, alpha/beta test)를 수행할 수 있다. A/B 테스트는 빌드된 패키지에 기반하여 구축되는 프로그램을 배포할 사용자 세트와, 비교 대상이 되는 프로그램(예컨대, 이전 버전의 프로그램)을 배포할 사용자 세트를 달리 하여, 각 사용자 세트의 프로그램 이용에 기반하여 전자 장치(101)가 획득하는 이용 정보를 비교하고, 이용 정보에 기반하여 테스트 결과 정보를 생성하는 일련의 작업을 포함할 수 있다. 일 실시예에 따르면, 빌드된 패키지의 코드 정보는 적어도 일부에 A/B 테스트에 관한 소스 코드를 포함할 수 있다. A/B 테스트에 관한 소스 코드는, 배포된 패키지를 적용 받는 사용자 세트, 아닌 사용자 세트(사용자 세트는 2개 외에 더 나뉠 수도 있음)을 구분하는 동작, 서로 다른 사용자 세트 각각에 대응하는 결과 정보 수집하는 동작, 각 결과 정보를 비교하는 동작에 관한 인스트럭션을 포함할 수 있다. 전자 장치(101)는 특정 빌드 작업에 대응하는 제1정보에 기반하여, 그 빌드 작업의 A/B 테스트 결과 정보를 확인할 수 있고, 작업자 장치(102)에 A/B 테스트의 결과 정보를 제공할 수 있다.Meanwhile, in an embodiment, the electronic device 101 may perform an A/B test (alpha/beta test) on a package generated based on a build task. A/B testing differs between the set of users who will distribute the program built based on the built package and the set of users who will distribute the program being compared (e.g., previous version of the program), and determines the use of the program by each set of users. It may include a series of operations of comparing usage information acquired by the electronic device 101 and generating test result information based on the usage information. According to one embodiment, the code information of the built package may include source code related to A/B testing at least in part. The source code for A/B testing is the operation of distinguishing between the user set to which the distributed package is applied and the non-user set (the user set may be further divided into two), and collecting result information corresponding to each of the different user sets. It may include instructions related to operations and operations to compare each result information. The electronic device 101 can check the A/B test result information of the build task based on the first information corresponding to the specific build task and provide the A/B test result information to the worker device 102. You can.
도 5는 다양한 실시 예들에 따른 전자 장치가 제공하는 빌드 작업 정보 목록을 예시적으로 도시한 것이다.FIG. 5 exemplarily illustrates a list of build task information provided by an electronic device according to various embodiments.
도 5를 참조하면, 전자 장치(101)는 작업자 장치(102)에 빌드 작업 정보 목록(500)을 제공할 수 있다. 빌드 작업 정보 목록(500)은, 하나 이상의 항목, 예컨대 제1항목(510), 제2항목(520), 제3항목(530) 및 제4항목(540)을 포함할 수 있다. 각 항목은, 작업자(102)로부터 요청되어 서버(103)에서 수행되는 빌드 작업에 대응하여 전자 장치(101)가 생성한 항목일 수 있다. 예컨대, 제1항목(510)은 제1코드 정보에 대응하는 빌드 요청에 기반하여 생성된 항목이며, 제2항목(520)은 제2코드 정보에 대응하는 빌드 요청에 기반하여 생성된 항목, 제3항목(530)은 제3코드 정보에 대응하는 빌드 요청에 기반하여 생성된 항목, 제4항목(540)은 제4코드 정보에 대응하는 빌드 요청에 기반하여 생성된 항목일 수 있다. 전자 장치(101)는 제1정보 및 제2정보에 기반하여 빌드 작업 정보 목록(500)에 포함될 각 항목을 생성할 수 있다. 예컨대 전자 장치(101)는 제1코드 정보에 대응하는 제1정보 및 제2정보에 기반하여 제1항목(510)을 생성하고, 제2코드 정보에 대응하는 제1정보 및 제2정보에 기반하여 제2항목(520)을 생성하고, 제3코드 정보에 대응하는 제1정보 및 제2정보에 기반하여 제3항목(530)을 생성하고, 제4코드 정보에 대응하는 제1정보 및 제2정보에 기반하여 제4항목(540)을 생성할 수 있다.Referring to FIG. 5 , the electronic device 101 may provide a build task information list 500 to the operator device 102. The build task information list 500 may include one or more items, such as a first item 510, a second item 520, a third item 530, and a fourth item 540. Each item may be an item created by the electronic device 101 in response to a build task requested from the worker 102 and performed in the server 103. For example, the first item 510 is an item created based on a build request corresponding to first code information, and the second item 520 is an item created based on a build request corresponding to second code information. The third item 530 may be an item created based on a build request corresponding to third code information, and the fourth item 540 may be an item created based on a build request corresponding to fourth code information. The electronic device 101 may generate each item to be included in the build task information list 500 based on the first information and the second information. For example, the electronic device 101 generates the first item 510 based on the first information and second information corresponding to the first code information, and based on the first information and second information corresponding to the second code information. The second item 520 is generated, the third item 530 is generated based on the first and second information corresponding to the third code information, and the first and second items corresponding to the fourth code information are generated. The fourth item 540 can be created based on the second information.
실시예에서, 빌드 작업 정보 목록(500)에 포함된 각 항목은, 제1정보 및 제2정보의 적어도 일부 및/또는 이들의 조합을 포함할 수 있다. 도 5를 참조하면, 각 항목은 빌드 요청된 코드 정보에 대응하는 빌드 작업에 관련하여, 일시 정보(Date) 란(section), 명칭 정보(Name/ID) 란, 작업자 정보(Dev) 란, 브랜치 정보(Branch) 란, 커밋 정보(Last commit) 란, 빌드 성공 여부에 관한 상태 정보(Status) 란, 태스크 정보(BTS) 란, 버전 정보(Version) 란, 패키지 용량 정보(Size) 란 가운데 적어도 일부를 포함할 수 있다.In an embodiment, each item included in the build task information list 500 may include at least a portion of the first information and the second information and/or a combination thereof. Referring to FIG. 5, each item includes a date information (Date) section, a name information (Name/ID) section, a worker information (Dev) section, and a branch in relation to the build task corresponding to the build requested code information. At least part of the information (Branch) column, commit information (Last commit) column, status information (Status) column regarding whether the build was successful, task information (BTS) column, version information (Version) column, and package capacity information (Size) column. may include.
일시 정보(Date) 란은, 각 코드 정보에 대응하여 빌드 작업이 요청된 일시 또는 빌드 작업이 종료된 일시에 관한 정보를 포함할 수 있다. 전자 장치(101)는 서버(103)로부터 획득한 제1정보 또는 제2정보에 기반하여 일시 정보 란의 데이터를 생성할 수 있다.The date information (Date) column may include information about the date and time when the build task was requested or the date and time when the build task was completed, corresponding to each code information. The electronic device 101 may generate data in the time information column based on the first information or second information obtained from the server 103.
명칭 정보(Name/ID) 란은, 프로젝트(200)의 명칭 또는 프로젝트(200)에 기반하여 구축된 프로그램 또는 애플리케이션의, 명칭 정보 또는 식별 정보를 포함할 수 있다.The name information (Name/ID) field may include the name of the project 200 or name information or identification information of a program or application built based on the project 200.
작업자 정보(Dev) 란은 각 항목에 대응하는, 코드 정보를 커밋한 작업자에 관한 정보를 포함할 수 있다. 작업자 정보(Dev) 란은 작업자에 대한 식별 정보, 작업자에 대응하는 작업자 장치(102)에 관한 정보, 작업자의 연락처 정보, 작업자에 대응하는 브랜치 정보 및 작업자에 대응하는 태스크 정보 가운데 적어도 일부를 포함할 수 있다. 실시예에서, 작업자 정보(Dev) 란은 작업자의 식별 정보를 포함할 수 있다. 예컨대, 전자 장치(101)는 제1항목(510)에서 작업자 정보(Dev)에 기반하여 제1코드 정보에 대응하는 작업자 식별 정보를 확인하고, 작업자 식별 정보에 기반하여 작업자의 연락처 정보, 작업자에 대응하는 브랜치나 태스크의 정보를 확인할 수 있다.The worker information (Dev) field may include information about the worker who committed the code information corresponding to each item. The worker information (Dev) field may include at least some of identification information about the worker, information about the worker device 102 corresponding to the worker, contact information of the worker, branch information corresponding to the worker, and task information corresponding to the worker. You can. In an embodiment, the worker information (Dev) field may include the worker's identification information. For example, the electronic device 101 checks the worker identification information corresponding to the first code information based on the worker information (Dev) in the first item 510, and provides the worker's contact information and worker information based on the worker identification information. You can check information about the corresponding branch or task.
실시예에서, 빌드 작업 정보 목록(500)은 항목 별로 작업자 정보(Dev) 란에 대응하는 사용자 인터페이스(예: 링크)를 포함할 수 있고, 전자 장치(101)는 작업자 정보 란에 대응하는 사용자 인터페이스를 통해 작업자 정보를 제공할 수 있다. 예컨대, 전자 장치(101)는 제1항목(510)의 예에서, 제1코드 정보에 대응하는 작업자 란에서 작업자의 식별 정보(presto)를 표시하고, 작업자의 식별 정보를, 하이퍼링크를 포함하는 사용자 인터페이스로서 제공할 수 있다. 전자 장치(101)는 서버(103)로부터 획득한 제1정보에 기반하여 작업자 정보 란의 데이터를 생성할 수 있다.In an embodiment, the build task information list 500 may include a user interface (e.g., link) corresponding to a worker information (Dev) column for each item, and the electronic device 101 may include a user interface corresponding to the worker information column. Worker information can be provided through . For example, in the example of the first item 510, the electronic device 101 displays the worker's identification information (presto) in the worker column corresponding to the first code information, and displays the worker's identification information in a link containing a hyperlink. It can be provided as a user interface. The electronic device 101 may generate data in the worker information column based on the first information obtained from the server 103.
브랜치 정보(Branch) 란은, 브랜치에 관한 정보를 포함할 수 있다. 브랜치 정보(Branch) 란은 각 항목에 대응하는, 커밋된 코드 정보에 대응하는 브랜치에 관한 정보를 포함할 수 있다. 브랜치 정보(Branch) 란은 브랜치에 대한 식별 정보, 브랜치에 대응하는 코드에 관한 정보, 브랜치에 대응하는 하나 이상의 작업자에 대한 작업자 정보, 및 브랜치에 대응하는 태스크 정보 가운데 적어도 일부를 포함할 수 있다. 실시예에서, 브랜치 정보(Branch) 란은 브랜치의 식별 정보를 포함할 수 있다. 예컨대, 전자 장치(101)는 제1항목(510)에서 브랜치 정보(Branch)에 기반하여 제1코드 정보에 대응하는 브랜치 식별 정보를 확인하고, 브랜치 식별 정보에 기반하여 브랜치에 대응하는 작업자 정보 및/또는 브랜치에 대응하는 태스크 정보를 확인할 수 있다.The branch information (Branch) column may include information about the branch. The branch information (Branch) column may include information about the branch corresponding to the committed code information corresponding to each item. The branch information (Branch) column may include at least some of identification information about the branch, information about code corresponding to the branch, worker information about one or more workers corresponding to the branch, and task information corresponding to the branch. In an embodiment, the branch information (Branch) field may include identification information of the branch. For example, the electronic device 101 checks the branch identification information corresponding to the first code information based on the branch information (Branch) in the first item 510, and determines the worker information corresponding to the branch based on the branch identification information and /Or you can check task information corresponding to the branch.
실시예에서, 빌드 작업 정보 목록(500)은 항목 별로 브랜치 정보(Branch) 란에 대응하는 사용자 인터페이스(예: 링크)를 포함할 수 있고, 전자 장치(101)는 브랜치 정보 란에 대응하는 사용자 인터페이스를 통해 브랜치 정보를 제공할 수 있다. 예컨대, 전자 장치(101)는 제1항목(510)의 예에서, 제1코드 정보에 대응하는 브랜치 란에서 브랜치의 식별 정보를 표시하고, 브랜치의 식별 정보를, 하이퍼링크를 포함하는 사용자 인터페이스로서 제공할 수 있다. 전자 장치(101)는 서버(103)로부터 획득한 제1정보에 기반하여 브랜치 정보 란의 데이터를 생성할 수 있다.In an embodiment, the build task information list 500 may include a user interface (e.g., link) corresponding to a branch information column for each item, and the electronic device 101 may include a user interface corresponding to the branch information column. Branch information can be provided through . For example, in the example of the first item 510, the electronic device 101 displays branch identification information in the branch column corresponding to the first code information, and uses the branch identification information as a user interface including a hyperlink. can be provided. The electronic device 101 may generate data in the branch information column based on the first information obtained from the server 103.
커밋 정보(Last commit) 란은, 커밋에 관한 정보를 포함할 수 있다. 커밋 정보(Last commit) 란은 각 항목에 대응하는, 커밋에 관한 정보를 포함할 수 있다. 커밋 정보(Last commit) 란은 커밋에 대한 식별 정보, 커밋 메시지, 커밋 작업에 관한 정보, 커밋된 파일 세트(코드 정보)에 관한 정보 및 커밋된 파일 세트에 관련된 식별 정보 가운데 적어도 일부를 포함할 수 있다. 예컨대, 커밋 정보는 커밋된 코드 정보에 대응하는 태스크 정보를 포함할 수 있다. 실시예에서, 커밋된 파일 세트에 관한 식별 정보는, 파일 세트에서 작업자에 의하여 작성, 수정, 변경 또는 생성된 코드 정보에 관한 정보를 포함할 수 있다. 예컨대 소스 코드에 관한 정보는 작성, 수정, 변경 또는 생성된 코드 정보의 파일 세트에서의 위치 정보 및/또는 주요 작성 내역에 관한 정보를 포함할 수 있다. 실시예에서, 커밋 정보는 커밋 작업에 대응하는 식별 정보를 포함할 수 있다. 예컨대 작업자 장치(102)에서 코드 정보를 커밋할 때 작업자 장치(102) 또는 서버(103)는 커밋 작업에 대한 식별 정보를 생성 및/또는 할당할 수 있다. 실시예에서, 커밋 정보(Last commit) 란은 커밋의 식별 정보 및/또는 커밋 메시지를 포함할 수 있다. 예컨대, 전자 장치(101)는 제1항목(510)에서 커밋 정보(Last commit) 란에 포함된 데이터에 기반하여 제1코드 정보에 대응하는 커밋 식별 정보를 확인하고, 커밋 식별 정보에 기반하여 커밋 정보를 확인할 수 있다. 실시예에서, 커밋 메시지는 적어도 일부에 커밋 식별 정보를 포함할 수 있다. 실시예에서, 커밋 메시지는 적어도 일부에 태스크 정보를 포함할 수 있다.The commit information (Last commit) column may include information about the commit. The commit information (Last commit) column may include information about the commit corresponding to each item. The commit information (Last commit) field may include at least some of the following: identification information about the commit, commit message, information about the commit operation, information about the committed file set (code information), and identification information related to the committed file set. there is. For example, commit information may include task information corresponding to committed code information. In embodiments, identification information regarding a set of committed files may include information regarding code information created, modified, altered, or created by an operator in the set of files. For example, information about source code may include location information in a file set of code information that has been created, modified, changed, or created, and/or information about major creation history. In embodiments, the commit information may include identification information corresponding to the commit operation. For example, when the worker device 102 commits code information, the worker device 102 or the server 103 may generate and/or assign identification information for the commit task. In an embodiment, the commit information (Last commit) field may include identification information of the commit and/or a commit message. For example, the electronic device 101 checks the commit identification information corresponding to the first code information based on the data included in the commit information (Last commit) column in the first item 510, and commits the commit based on the commit identification information. You can check the information. In embodiments, the commit message may include commit identification information at least in part. In an embodiment, the commit message may include task information at least in part.
실시예에서, 빌드 작업 정보 목록(500)은 항목 별로 커밋 정보(Last commit) 란에 대응하는 사용자 인터페이스(예: 링크)를 포함할 수 있고, 전자 장치(101)는 커밋 정보 란에 대응하는 사용자 인터페이스를 통해 커밋 정보를 제공할 수 있다. 예컨대, 전자 장치(101)는 제1항목(510)의 예에서, 제1코드 정보에 대응하는 커밋 란에서 커밋의 식별 정보를 표시하고, 커밋의 식별 정보를, 하이퍼링크를 포함하는 사용자 인터페이스로서 제공할 수 있다. 전자 장치(101)는 서버(103)로부터 획득한 제1정보에 기반하여 커밋 정보 란의 데이터를 생성할 수 있다.In an embodiment, the build task information list 500 may include a user interface (e.g., link) corresponding to a commit information (Last commit) column for each item, and the electronic device 101 may display a user interface (e.g., link) corresponding to the commit information column. Commit information can be provided through the interface. For example, in the example of the first item 510, the electronic device 101 displays commit identification information in the commit column corresponding to the first code information, and displays the commit identification information as a user interface including a hyperlink. can be provided. The electronic device 101 may generate data in the commit information column based on the first information obtained from the server 103.
상태 정보(Status) 란은, 항목 별로, 대응하는 빌드 작업의 성공 여부에 관한 정보를 포함할 수 있다. 예컨대, 도 5의 예에서, 전자 장치(101)는 빌드가 성공하여 빌드 작업이 요청된 코드 정보에 대응하는 패키지가 성공적으로 생성된 경우, 상태 정보 란에 "Success"로 표시하고, 빌드 작업이 실패한 경우 "Fail"로 표시할 수 있다. 전자 장치(101)는 서버(103)로부터 획득한 제2정보에 기반하여 상태 정보 란의 데이터를 생성할 수 있다.The status information (Status) column may include information regarding the success or failure of the corresponding build task for each item. For example, in the example of FIG. 5, when the build is successful and a package corresponding to the code information for which the build task has been requested has been successfully created, the electronic device 101 displays “Success” in the status information field, and the build task is completed. In case of failure, it can be marked as "Fail". The electronic device 101 may generate data in the status information column based on the second information obtained from the server 103.
태스크 정보(BTS) 란은, 태스크에 관한 정보를 포함할 수 있다. 태스크 정보(BTS) 란은 각 항목에 대응하는, 커밋된 코드 정보에 대응하는 태스크에 관한 정보를 포함할 수 있다. 태스크 정보(BTS) 란은 태스크에 대한 식별 정보, 태스크에 대응하는 하나 이상의 브랜치에 관한 정보, 태스크에 대응하는 하나 이상의 작업자에 대한 작업자 정보, 및 태스크에 대응하는 태스크 진행 상태에 관한 정보 가운데 적어도 일부를 포함할 수 있다. 실시예에서, 태스크 정보(BTS) 란은 태스크의 식별 정보를 포함할 수 있다. 예컨대, 전자 장치(101)는 제1항목(510)에서 태스크 정보(BTS)에 기반하여 제1코드 정보에 대응하는 태스크 식별 정보를 확인하고, 태스크 식별 정보에 기반하여 태스크에 대응하는 작업자 정보 및/또는 태스크에 대응하는 태스크 정보를 확인할 수 있다.The task information (BTS) column may include information about the task. The task information (BTS) column may include information about the task corresponding to committed code information corresponding to each item. The task information (BTS) field contains at least some of the following: identification information for the task, information about one or more branches corresponding to the task, worker information about one or more workers corresponding to the task, and information about the progress status of the task corresponding to the task. may include. In an embodiment, the task information (BTS) field may include identification information of the task. For example, the electronic device 101 checks task identification information corresponding to the first code information based on the task information (BTS) in the first item 510, and operator information corresponding to the task based on the task identification information and /Or you can check task information corresponding to the task.
실시예에서, 빌드 작업 정보 목록(500)은 항목 별로 태스크 정보(BTS) 란에 대응하는 사용자 인터페이스(예: 링크)를 포함할 수 있고, 전자 장치(101)는 태스크 정보 란에 대응하는 사용자 인터페이스를 통해 태스크 정보를 제공할 수 있다. 예컨대, 전자 장치(101)는 제4항목(540)의 예에서, 제4코드 정보에 대응하는 태스크 란에서, 제4코드와 대응하는 두 개의 태스크 각각의 식별 정보(MPI-390 및 IOS-6826)를 표시하고, 각각의 태스크의 식별 정보를, 하이퍼링크를 포함하는 사용자 인터페이스로서 제공할 수 있다. 전자 장치(101)는 서버(103)로부터 획득한 제1정보에 기반하여 태스크 정보 란의 데이터를 생성할 수 있다.In an embodiment, the build task information list 500 may include a user interface (e.g., link) corresponding to a task information (BTS) column for each item, and the electronic device 101 may include a user interface corresponding to the task information column. Task information can be provided through . For example, in the example of the fourth item 540, the electronic device 101 displays identification information (MPI-390 and IOS-6826) of each of the two tasks corresponding to the fourth code in the task column corresponding to the fourth code information. ) can be displayed, and identification information for each task can be provided as a user interface including a hyperlink. The electronic device 101 may generate data in the task information column based on the first information obtained from the server 103.
버전 정보(Version) 란 및 용량 정보(Size) 란은 순서대로, 각각 빌드 작업에 기반하여 생성된 패키지가 대응하는 버전 정보 및 패키지의 용량에 관한 정보를 포함할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서버(103)로부터 획득한 제1정보에 기반하여 버전 정보(Version) 란의 데이터를 생성할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 제2정보에 기반하여 버전 정보를 확인할 수 있다. 예컨대, 빌드가 실패한 경우 푸시된 코드 정보에 대응하는 버전 식별 정보가 생성되지 않을 수 있다. 전자 장치(101)는 빌드의 성공 여부에 기반하여 버전 정보를 표시하거나 표시하지 않을 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서버(103)로부터 획득한 제1정보에 기반하여 패키지 용량 정보(Size) 란의 데이터를 생성할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 제2정보에 기반하여 패키지 용량 정보를 확인할 수 있다. 예컨대, 빌드가 실패한 경우 푸시된 코드 정보에 대응하는 패키지가 생성되지 않고, 용량 정보 자체가 부존재하게 될 수 있다. 반대로, 빌드가 성공하는 경우 패키지가 생성되어 전자 장치(101)는 패키지의 용량 정보를 확인할 수 있다. 도 5를 참조하면, 제2항목(520)의 예에서, 제2코드 정보의 빌드가 실패함에 대응하여, 상태 정보(Status) 란은 "Fail"로 표시되어 있으며, 버전 정보 란 및 패키지 용량 정보 란의 데이터는 생성되지 않음을 확인할 수 있다.The version information (Version) column and the capacity information (Size) column may respectively include version information corresponding to the package created based on the build task and information about the capacity of the package. According to one embodiment, the electronic device 101 may generate data in the version information column based on the first information obtained from the server 103. According to one embodiment, the electronic device 101 may check version information based on the second information. For example, if the build fails, version identification information corresponding to the pushed code information may not be generated. The electronic device 101 may or may not display version information based on whether the build is successful. According to one embodiment, the electronic device 101 may generate data in the package capacity information (Size) column based on the first information obtained from the server 103. According to one embodiment, the electronic device 101 may check package capacity information based on the second information. For example, if the build fails, a package corresponding to the pushed code information may not be created, and the capacity information itself may not exist. Conversely, if the build is successful, a package is created and the electronic device 101 can check the capacity information of the package. Referring to FIG. 5, in the example of the second item 520, in response to the build of the second code information failing, the status information column is displayed as "Fail", and the version information column and package capacity information You can confirm that the data in the column is not created.
실시예에서, 빌드 작업 정보 목록(500)은 패키지 코드 정보를 제공하기 위한 사용자 인터페이스(Actions)를 포함할 수 있다. 전자 장치(101)는 빌드 작업 정보 목록(500)에 빌드 작업에 대응하여 서버가 생성한, 코드 정보를 적어도 포함하는 패키지의 코드 정보에 관한 경로 정보를 할당할 수 있다. 예를 들어, 코드 정보를 제공하기 위한 사용자 인터페이스(Actions)는, 각 항목에 대응하는, 패키지 코드에 대한 코드 정보를 획득하기 위한 경로 정보를 제공하기 위한 링크로 구현되는 인터페이스를 포함할 수 있다. 예를 들어, "Download"의 경우 대응하는 항목의 패키지에 대한 코드 정보를 다운로드 하기 위한 링크이며, "Copy"의 경우 코드 정보를 복사 하기 위한 링크, "QRCode"는 링크에 대응하는 QR 코드를 제공하기 위한 링크일 수 있고, 각 링크는 적어도 일부에 패키지 코드에 대한 코드 정보를 획득하기 위한 경로 정보를 포함할 수 있다. 전자 장치(101)는 코드 정보를 제공하기 위한 사용자 인터페이스(Actions)를 통해 수신한 작업자 입력에 기반하여 작업자 장치(102)에, 각 항목에 대응하는 패키지의 코드 정보를 제공할 수 있다. 이때 각 항목 별로 제2정보에 기반하여 코드 정보를 제공하기 위한 사용자 인터페이스(Actions)가 활성화 또는 비활성화될 수 있다. 예컨대 전자 장치(101)는 빌드 작업이 성공한 경우, 대응하는 항목의 코드 정보를 제공하기 위한 사용자 인터페이스(Actions)를 활성화하고, 빌드 작업이 실패한 경우, 대응하는 항목의 코드 정보를 제공하기 위한 사용자 인터페이스(Actions)를 비활성화 할 수 있다.In an embodiment, the build task information list 500 may include a user interface (Actions) for providing package code information. The electronic device 101 may allocate path information regarding code information of a package that includes at least code information and is generated by a server in response to a build task to the build task information list 500. For example, a user interface (Actions) for providing code information may include an interface implemented as a link for providing path information for obtaining code information for the package code corresponding to each item. For example, "Download" is a link to download code information for the package of the corresponding item, "Copy" is a link to copy code information, and "QRCode" provides a QR code corresponding to the link. It may be a link for doing so, and each link may include at least part of the path information for obtaining code information about the package code. The electronic device 101 may provide code information on the package corresponding to each item to the operator device 102 based on operator input received through a user interface (Actions) for providing code information. At this time, the user interface (Actions) for providing code information for each item may be activated or deactivated based on the second information. For example, if the build task is successful, the electronic device 101 activates a user interface (Actions) to provide code information of the corresponding item, and if the build task fails, the electronic device 101 activates a user interface (Actions) to provide code information of the corresponding item. (Actions) can be disabled.
도 6은 다양한 실시 예들에 따른 전자 장치가 제공하는 빌드 작업과 관련된 수치 정보의 일 예이다.FIG. 6 is an example of numerical information related to a build task provided by an electronic device according to various embodiments.
도 7은 다양한 실시 예들에 따른 전자 장치가 제공하는 빌드 작업과 관련된 수치 정보의 일 예이다.FIG. 7 is an example of numerical information related to a build task provided by an electronic device according to various embodiments.
도 6 및 도 7을 참조하면, 전자 장치(101)는 빌드 작업과 관련된 수치 정보를 제공할 수 있다. 수치 정보는, 제1정보, 제2정보 및/또는 빌드 작업 정보 목록에 기반하여 생성될 수 있다. 수치 정보는 예컨대, 도 6과 같이 빌드 작업의 소요 시간에 관련된 수치 정보 및, 도 7과 같이 빌드 작업 결과 생성된 패키지의 용량에 관련된 용량 정보 가운데 적어도 일부를 포함할 수 있다.Referring to FIGS. 6 and 7 , the electronic device 101 may provide numerical information related to the build task. Numerical information may be generated based on the first information, second information, and/or build task information list. The numerical information may include at least some of, for example, numerical information related to the time required for the build operation as shown in FIG. 6 and capacity information related to the capacity of the package generated as a result of the build operation as shown in FIG. 7 .
다양한 실시예들에 따르면, 전자 장치(101)는 제1정보, 제2정보 및/또는 빌드 작업 정보 목록에 기반하여 시간과 관련된 수치 정보를 생성할 수 있다. 예컨대, 전자 장치(101)는 제2정보에 기반하여 각각의 빌드 작업에 대응하는 소요 시간 정보를 확인할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 제1정보 및 제2정보에 기반하여 버전 별 빌드 소요 시간 정보를 확인할 수 있다. 예컨대, 전자 장치(101)는 버전 식별 정보에 기반하여 확인된 하나 이상의 빌드 작업 각각에 대응하는 빌드 소요 시간 정보를 확인하고, 버전 별로 소요된 빌드 시간을 확인할 수 있다. 버전 별로 소요된 빌드 시간 정보는 지정된 기간에 대응하여 확인될 수 있다. 버전 별로 소요된 빌드 시간 정보는 버전 별로 소요된 전체 빌드 작업을 총 합산하여 확인되거나, 빌드 횟수에 기반한 평균값으로 확인될 수 있다. 실시예에 따르면, 전자 장치(101)는 버전뿐만 아니라, 태스크 정보, 브랜치 정보 및/또는 작업자 정보에 기반하여 확인된 하나 이상의 빌드 작업 각각에 대한 빌드 소요 시간 정보를 확인할 수 있다. 전자 장치(101)는 복수의 빌드 작업 각각에 대응하여 생성된 소요 시간 정보에 기반하여, 빌드 소요 시간에 관련한 히스토리 정보를 생성할 수 있다.According to various embodiments, the electronic device 101 may generate numerical information related to time based on the first information, second information, and/or build task information list. For example, the electronic device 101 may check time required information corresponding to each build task based on the second information. According to one embodiment, the electronic device 101 may check build time information for each version based on the first information and the second information. For example, the electronic device 101 may check build time information corresponding to each of one or more build tasks identified based on the version identification information and check the build time required for each version. Build time information for each version can be confirmed in response to a specified period. Build time information required for each version can be confirmed by adding up all build tasks required for each version, or can be confirmed as an average value based on the number of builds. According to an embodiment, the electronic device 101 may check build time information for each of one or more build tasks identified based on task information, branch information, and/or worker information as well as the version. The electronic device 101 may generate history information related to the build time required, based on time required information generated in response to each of the plurality of build tasks.
도 6을 참조하면, 전자 장치(101)는 시간 관련 수치 정보(600)를 제공할 수 있다.Referring to FIG. 6, the electronic device 101 may provide time-related numerical information 600.
실시예에서, 전자 장치(101)는 총 빌드 횟수에 관한 정보(601)를 확인할 수 있다. 예를 들어, 전자 장치(101)는 빌드 작업 정보 목록에 기반하여, 전체 빌드 작업 횟수, 지정된 기간에 대응하는 빌드 작업들 전체의 횟수, 버전 별 빌드 작업 횟수 가운데 적어도 일부를 확인할 수 있다.In an embodiment, the electronic device 101 may check information 601 regarding the total number of builds. For example, based on the build task information list, the electronic device 101 may check at least some of the total number of build tasks, the total number of build tasks corresponding to a specified period, and the number of build tasks for each version.
실시예에서, 전자 장치(101)는 빌드 소요 시간에 대한 히스토리 정보(602)를 제공할 수 있다. 예를 들어, 전자 장치(101)는 빌드 작업 정보 목록에 기반하여, 전체 빌드 작업의 소요 시간, 지정된 기간에 대응하는 빌드 작업들 전체의 소요 시간, 버전 별 빌드 작업 소요 시간, 전체 빌드 작업에 대응하는 평균 소요 시간 가운데 적어도 일부를 확인할 수 있다.In an embodiment, the electronic device 101 may provide history information 602 about the build time. For example, based on the build task information list, the electronic device 101 corresponds to the time required for the entire build task, the time required for all build tasks corresponding to a specified period, the time required for the build task by version, and the entire build task. You can check at least part of the average time required.
실시예에서, 전자 장치(101)는 빌드 소요 시간에 대한 추이 정보(603)를 제공할 수 있다. 예를 들어, 전자 장치(101)는 빌드 작업 정보 목록에 기반하여, 전체 빌드 작업의 소요 시간, 하나 이상의 지정된 기간 각각에 대응하는 빌드 작업들 전체의 소요 시간을 확인하고, 비교 결과에 기반하여 빌드 소요 시간에 대한 추이 정보(603)를 생성할 수 있다.In an embodiment, the electronic device 101 may provide trend information 603 about build time. For example, based on the build task information list, the electronic device 101 checks the time required for all build tasks and the time required for all build tasks corresponding to each of one or more specified periods, and builds based on the comparison result. Trend information 603 about the time required can be generated.
일 실시예에 따르면, 전자 장치(101)는 빌드 작업 정보 목록(500)을 통해 작업자 장치(102)에서 전자 장치(101)로 전송한, 코드 정보의 다운로드 요청 횟수에 관한 정보(604)를 제공할 수 있다.According to one embodiment, the electronic device 101 provides information 604 about the number of download requests for code information transmitted from the worker device 102 to the electronic device 101 through the build task information list 500. can do.
실시예에서, 전자 장치(101)는 빌드 소요 시간에 관련된 수치 정보를 시각화한 소요 시간 그래프(605)를 제공할 수 있다. 도 6의 예시는 버전 별 빌드 소요 시간에 관한 그래프일 수 있다. 전자 장치(101)는 각 항목에 기반하여 확인된, 버전 식별 정보 및 빌드 소요 시간 정보에 기반하여 버전 별 빌드 소요 시간에 대한 정보를 확인하고, 버전 별로 소요된 빌드 소요 시간에 관한 그래프를 생성할 수 있다. 도 6을 참조하면 소요 시간 그래프(605)의 가로축은 버전 정보, 세로축은 평균 소요 시간일 수 있다. 도 6의 그래프는 소요 시간에 관한 그래프의 일 예이며, 전자 장치(101)는 제1정보 및/또는 제2정보에 기반한 다양한 데이터에 기반하여 수치 정보를 획득하고 수치 정보에 기반한 그래프를 생성할 수 있다.In an embodiment, the electronic device 101 may provide a time graph 605 that visualizes numerical information related to build time. The example in FIG. 6 may be a graph regarding the build time required for each version. The electronic device 101 checks information about the build time for each version based on the version identification information and build time information confirmed based on each item, and generates a graph about the build time for each version. You can. Referring to FIG. 6, the horizontal axis of the time required graph 605 may be version information, and the vertical axis may be the average time required. The graph in FIG. 6 is an example of a graph regarding the time required, and the electronic device 101 acquires numerical information based on various data based on the first information and/or second information and generates a graph based on the numerical information. You can.
다양한 실시예들에 따르면, 전자 장치(101)는 제1정보, 제2정보 및/또는 빌드 작업 정보 목록에 기반하여 빌드된 패키지 용량과 관련된 수치 정보를 생성할 수 있다. 예컨대, 전자 장치(101)는 제2정보에 기반하여 각각의 빌드 작업에 대응하는, 빌드된 패키지 용량 정보를 확인할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 제1정보 및 제2정보에 기반하여 버전 별로 빌드된 패키지 용량 정보를 확인할 수 있다. 예컨대, 전자 장치(101)는 버전 식별 정보에 기반하여 확인된 하나 이상의 빌드 작업 각각에 대응하는 빌드된 패키지 용량 정보를 확인하고, 버전 별로 빌드된 패키지 용량을 확인할 수 있다. 버전 별로 빌드된 패키지 용량 정보는 지정된 기간에 대응하여 확인될 수 있다. 버전 별로 빌드된 패키지 용량 정보는 버전 별로 수행된 전체 빌드 작업을 총 합산하여 확인되거나, 빌드 횟수에 기반한 평균값으로 확인될 수 있다. 실시예에 따르면, 전자 장치(101)는 버전뿐만 아니라, 태스크 정보, 브랜치 정보 및/또는 작업자 정보에 기반하여 확인된 하나 이상의 빌드 작업 각각에 대응하여, 빌드된 패키지 용량 정보를 확인할 수 있다. 전자 장치(101)는 복수의 빌드 작업 각각에 대응하여 생성된 패키지 용량 정보에 기반하여, 패키지 용량에 관련한 히스토리 정보를 생성할 수 있다.According to various embodiments, the electronic device 101 may generate numerical information related to the built package capacity based on the first information, second information, and/or build task information list. For example, the electronic device 101 may check built package capacity information corresponding to each build task based on the second information. According to one embodiment, the electronic device 101 may check package capacity information built for each version based on the first information and the second information. For example, the electronic device 101 may check built package capacity information corresponding to each of one or more build tasks identified based on the version identification information and check the built package capacity for each version. Package capacity information built for each version can be confirmed in response to a specified period. Package capacity information built for each version can be confirmed by adding up all build tasks performed for each version, or can be confirmed as an average value based on the number of builds. According to an embodiment, the electronic device 101 may check built package capacity information in response to each of one or more build tasks confirmed based on task information, branch information, and/or worker information as well as the version. The electronic device 101 may generate history information related to package capacity based on package capacity information generated in response to each of a plurality of build tasks.
실시예에서, 전자 장치(101)는 빌드된 패키지의 용량에 관련된 수치 정보를 시각화한 소요 시간 그래프(700)를 제공할 수 있다. 도 7의 예시는 버전 별 빌드된 패키지의 용량에 관한 그래프일 수 있다. 전자 장치(101)는 각 항목에 기반하여 확인된, 버전 식별 정보 및 빌드된 패키지의 용량 정보에 기반하여 버전 별 빌드된 패키지의 용량에 대한 정보를 확인하고, 버전 별로 소요된 빌드된 패키지의 용량에 관한 그래프를 생성할 수 있다. 도 7을 참조하면 소요 시간 그래프(700)의 가로축은 버전 정보, 세로축은 평균 패키지 용량일 수 있다. 도 7의 그래프는 용량 정보에 관한 그래프의 일 예이며, 전자 장치(101)는 제1정보 및/또는 제2정보에 기반한 다양한 데이터에 기반하여 수치 정보를 획득하고 수치 정보에 기반한 그래프를 생성할 수 있다.In an embodiment, the electronic device 101 may provide a time required graph 700 that visualizes numerical information related to the capacity of the built package. The example in FIG. 7 may be a graph regarding the capacity of packages built for each version. The electronic device 101 checks information about the capacity of the built package for each version based on the version identification information and the capacity information of the built package confirmed based on each item, and the capacity of the built package required for each version. You can create a graph about . Referring to FIG. 7, the horizontal axis of the time required graph 700 may be version information, and the vertical axis may be average package capacity. The graph in FIG. 7 is an example of a graph related to capacity information, and the electronic device 101 acquires numerical information based on various data based on the first information and/or second information and generates a graph based on the numerical information. You can.
실시예에서, 전자 장치(101)는 소요 시간 정보에 기반하여 빌드 작업의 이상 여부를 확인할 수 있다. 전자 장치(101)는 빌드 요청에 기반하여 빌드 작업 시 소요 시간 정보를 확인할 수 있다. 전자 장치(101)는 제2정보에 기반하여 대응하는 빌드 작업의 소요 시간을 확인할 수 있다. 전자 장치(101)는 빌드 작업 정보 목록에 기반하여, 기존의 다른 빌드 작업에 대응하는 소요 시간 정보, 예컨대 소요 시간에 대한 히스토리 정보를 확인할 수 있다. 전자 장치(101)는 제2정보에 기반하여 확인된, 빌드 작업의 소요 시간 및 소요 시간에 대한 히스토리 정보에 기반하여, 빌드 작업의 이상 여부를 확인할 수 있다. 예컨대 전자 장치(101)는 빌드 작업의 소요 시간이, 히스토리 정보에 기반하여 설정되는, 빌드 소요 시간과 관련하여 지정된 임계값을 초과하거나 지정된 임계값에 미치지 못하는 경우에 진행된 빌드 작업의 이상 여부를 확인할 수 있다. 예컨대, 빌드 작업은 성공하여 패키지가 생성되었으나, 이는 패키지의 정상 동작 여부와 무관할 수도 있다. 이때 소요 시간이 지나치게 짧거나 지나치게 긴 경우 빌드 성공 여부와 관계 없이 빌드된 패키지에 이상이 존재할 가능성이 있다. 전자 장치(101)는 확인된 빌드 작업의 이상 여부에 기반하여, 빌드 작업 정보 목록에 기반하여 확인된, 빌드 작업에 대응하는 하나 이상의 작업자를 확인하고, 확인된 작업자에 대응하는 작업자 장치(102)로 이상 여부에 관한 정보를 제공할 수 있다. 이상 여부에 관한 정보는, 빌드 작업에 대응하는 브랜치 정보, 태스크 정보, 커밋 정보, 이상 여부를 표시하는 정보 가운데 적어도 일부를 포함할 수 있다. 일 실시예에 따르면, 수행된 빌드 작업과의 비교 대상이 되는 소요 시간에 관한 히스토리 정보는, 빌드 작업 정보 목록에 기반하여 확인될 수 있다. 소요 시간에 관한 히스토리 정보는, 수행된 빌드 작업과 상이한 다른 빌드 작업에 대응하는 빌드 소요 시간 정보에 기반하여 생성될 수 있다. 예컨대, 버전 별 소요 시간에 관한 정보, 빌드 소요 시간에 관한 추이 정보, 지정된 기간 내에 수행된 빌드 작업들의 소요 시간에 관한 정보 가운데 적어도 일부를 포함할 수 있다.In an embodiment, the electronic device 101 may check whether the build task is abnormal based on time required information. The electronic device 101 can check information on the time required for a build task based on the build request. The electronic device 101 may check the time required for the corresponding build task based on the second information. Based on the build task information list, the electronic device 101 may check required time information corresponding to other existing build tasks, for example, history information about the required time. The electronic device 101 may check whether the build task is abnormal based on the time required for the build task and history information about the time, which is confirmed based on the second information. For example, the electronic device 101 may check whether the progress of the build task is abnormal when the time required for the build task exceeds or falls short of a specified threshold in relation to the build time, which is set based on history information. You can. For example, the build task was successful and the package was created, but this may have nothing to do with whether the package operates normally. At this time, if the time required is too short or too long, there is a possibility that there is an error in the built package regardless of whether the build was successful or not. The electronic device 101 determines one or more workers corresponding to the build task identified based on the build task information list, based on whether the confirmed build task is abnormal, and provides a worker device 102 corresponding to the confirmed worker. Information on abnormalities can be provided. The information regarding abnormality may include at least some of branch information corresponding to the build task, task information, commit information, and information indicating abnormality. According to one embodiment, history information regarding the time required for comparison with the performed build task may be confirmed based on the build task information list. History information regarding the time required may be generated based on build time information corresponding to another build task that is different from the performed build task. For example, it may include at least some of information about the time required for each version, trend information about the time required to build, and information about the time required for build tasks performed within a specified period.
실시예에서, 전자 장치(101)는 패키지 용량 정보에 기반하여 빌드 작업의 이상 여부를 확인할 수 있다. 전자 장치(101)는 빌드 요청에 기반하여 빌드 작업 시 패키지 용량 정보를 확인할 수 있다. 전자 장치(101)는 제2정보에 기반하여 대응하는 빌드 작업의 패키지 용량을 확인할 수 있다. 전자 장치(101)는 빌드 작업 정보 목록에 기반하여, 기존의 다른 빌드 작업에 대응하는 패키지 용량 정보, 예컨대 패키지 용량에 대한 히스토리 정보를 확인할 수 있다. 전자 장치(101)는 제2정보에 기반하여 확인된, 빌드 작업의 패키지 용량 및 패키지 용량에 대한 히스토리 정보에 기반하여, 빌드 작업의 이상 여부를 확인할 수 있다. 예컨대 전자 장치(101)는 빌드 작업의 패키지 용량이, 히스토리 정보에 기반하여 설정되는, 빌드 패키지 용량과 관련하여 지정된 임계값을 초과하거나 지정된 임계값에 미치지 못하는 경우에 진행된 빌드 작업의 이상 여부를 확인할 수 있다. 예컨대, 빌드 작업은 성공하여 패키지가 생성되었으나, 이는 패키지의 정상 동작 여부와 무관할 수도 있다. 이때 패키지 용량이 지나치게 크거나 지나치게 작은 경우 빌드 성공 여부와 관계 없이 빌드된 패키지에 이상이 존재할 가능성이 있다. 전자 장치(101)는 확인된 빌드 작업의 이상 여부에 기반하여, 빌드 작업 정보 목록에 기반하여 확인된, 빌드 작업에 대응하는 하나 이상의 작업자를 확인하고, 확인된 작업자에 대응하는 작업자 장치(102)로 이상 여부에 관한 정보를 제공할 수 있다. 이상 여부에 관한 정보는, 빌드 작업에 대응하는 브랜치 정보, 태스크 정보, 커밋 정보, 이상 여부를 표시하는 정보 가운데 적어도 일부를 포함할 수 있다. 일 실시예에 따르면, 수행된 빌드 작업과의 비교 대상이 되는 패키지 용량에 관한 히스토리 정보는, 빌드 작업 정보 목록에 기반하여 확인될 수 있다. 패키지 용량에 관한 히스토리 정보는, 수행된 빌드 작업과 상이한 다른 빌드 작업에 대응하는 빌드 패키지 용량 정보에 기반하여 생성될 수 있다. 예컨대, 버전 별 패키지 용량에 관한 정보, 빌드 패키지 용량에 관한 추이 정보, 지정된 기간 내에 수행된 빌드 작업들의 패키지 용량에 관한 정보 가운데 적어도 일부를 포함할 수 있다.In an embodiment, the electronic device 101 may check whether the build task is abnormal based on package capacity information. The electronic device 101 can check package capacity information during build work based on the build request. The electronic device 101 may check the package capacity of the corresponding build job based on the second information. Based on the build task information list, the electronic device 101 may check package capacity information corresponding to other existing build tasks, for example, history information about package capacity. The electronic device 101 may check whether the build job is abnormal based on the package capacity of the build job and history information about the package capacity, which are confirmed based on the second information. For example, when the package capacity of the build job exceeds or falls short of a specified threshold related to the build package capacity, which is set based on history information, the electronic device 101 checks whether the progressed build job is abnormal. You can. For example, the build task was successful and the package was created, but this may have nothing to do with whether the package operates normally. At this time, if the package capacity is too large or too small, there is a possibility that there is an error in the built package regardless of whether the build was successful or not. The electronic device 101 determines one or more workers corresponding to the build task identified based on the build task information list, based on whether the confirmed build task is abnormal, and provides a worker device 102 corresponding to the confirmed worker. Information on abnormalities can be provided. The information regarding abnormality may include at least some of branch information corresponding to the build task, task information, commit information, and information indicating abnormality. According to one embodiment, history information regarding the package capacity to be compared with the performed build task may be confirmed based on the build task information list. History information about package capacity may be generated based on build package capacity information corresponding to another build task that is different from the performed build task. For example, it may include at least some of information about package capacity by version, trend information about build package capacity, and information about package capacity of build tasks performed within a specified period.

Claims (19)

  1. 전자 장치의 코드 관련 정보 제공 방법에 있어서,In a method of providing code-related information of an electronic device,
    서버에서 수행되는 제1코드(code) 정보에 관한 빌드(build) 작업의 개시에 대응하여, 상기 서버로부터 상기 빌드 작업에 대한 정보 및 상기 제1코드 정보에 대응하는 브랜치(branch) 정보를 포함하는 제1정보를 획득하는 단계;In response to the start of a build task related to the first code information performed on the server, information about the build task from the server and branch information corresponding to the first code information are included. Obtaining first information;
    상기 빌드 작업 종료에 대응하여 상기 서버로부터 상기 빌드 작업의 결과에 관한 정보를 적어도 포함하는 제2정보를 획득하는 단계; 및Obtaining second information including at least information about the result of the build task from the server in response to the end of the build task; and
    상기 제1정보 및 상기 제2정보에 기반하여 생성된 제1항목을 포함하는 빌드 작업 정보 목록을 작업자 장치에 제공하는 단계를 포함하는 코드 관련 정보 제공 방법.A method of providing code-related information, including providing a build task information list including a first item generated based on the first information and the second information to a worker device.
  2. 제1항에 있어서,According to paragraph 1,
    상기 제1정보는 상기 빌드 작업을 상기 서버에 요청한 작업자 정보, 상기 제1코드 정보에 대응하는 브랜치(branch) 식별 정보, 상기 제1코드 정보에 대응하는 커밋(commit) 정보 및 상기 제1코드 정보에 대응하는 태스크 식별 정보 가운데 적어도 일부를 더 포함하는 코드 관련 정보 제공 방법.The first information includes worker information that requested the build task to the server, branch identification information corresponding to the first code information, commit information corresponding to the first code information, and the first code information. A method of providing code-related information further including at least some of the task identification information corresponding to.
  3. 제2항에 있어서,According to paragraph 2,
    상기 브랜치 식별 정보는, 하나 이상의 태스크(task) 식별 정보와 대응하며,The branch identification information corresponds to one or more task identification information,
    상기 태스크 식별 정보는, 하나 이상의 브랜치 식별 정보와 대응하는 코드 관련 정보 제공 방법.A method of providing code-related information, wherein the task identification information corresponds to one or more branch identification information.
  4. 제2항에 있어서,According to paragraph 2,
    상기 코드 관련 정보 제공 방법은,The method of providing information related to the above code is:
    상기 브랜치 식별 정보에 기반하여 확인된, 상기 제1코드 정보에 대응하는 브랜치와 대응하는, 하나 이상의 태스크에 관한 정보를 제공하는 단계를 더 포함하는 코드 관련 정보 제공 방법.A method of providing code-related information further comprising providing information on one or more tasks corresponding to a branch corresponding to the first code information, which is identified based on the branch identification information.
  5. 제2항에 있어서,According to paragraph 2,
    상기 코드 관련 정보 제공 방법은,The method of providing information related to the above code is:
    상기 태스크 식별 정보에 기반하여 확인된, 상기 제1코드 정보에 대응하는 태스크와 대응하는, 하나 이상의 브랜치에 관한 정보를 제공하는 단계를 더 포함하는 코드 관련 정보 제공 방법.A method of providing code-related information further comprising providing information on one or more branches corresponding to a task corresponding to the first code information, which is identified based on the task identification information.
  6. 제1항에 있어서,According to paragraph 1,
    상기 제2정보는, 상기 빌드 작업에 대응하여 서버가 생성한 패키지의 용량 정보, 상기 빌드 작업에 대응하는 패키지의 버전 정보 및 상기 빌드 작업에 대응하는 소요 시간 정보 가운데 적어도 일부를 더 포함하는 코드 관련 정보 제공 방법.The second information is code-related, further comprising at least part of capacity information of the package generated by the server in response to the build task, version information of the package corresponding to the build task, and time required information corresponding to the build task. How to provide information.
  7. 제6항에 있어서,According to clause 6,
    상기 코드 관련 정보 제공 방법은,The method of providing information related to the above code is:
    상기 제2정보에 기반하여 확인된 상기 소요 시간 정보 및 상기 빌드 작업 정보 목록에 기반하여 확인된 하나 이상의 빌드 작업에 대한 소요 시간에 대한 정보에 기반하여 상기 빌드 작업의 이상 여부를 확인하는 단계; 및Checking whether the build task is abnormal based on the time required information confirmed based on the second information and information about the time required for one or more build tasks confirmed based on the build task information list; and
    상기 브랜치 정보에 기반하여 확인된 하나 이상의 작업자 정보 및 상기 빌드 이상 여부에 관한 정보에 기반하여, 상기 하나 이상의 작업자에게 상기 이상 여부에 관한 정보를 제공하는 단계를 더 포함하는 코드 관련 정보 제공 방법.A method of providing code-related information, further comprising providing information about whether the build is abnormal to the one or more workers based on information about one or more workers confirmed based on the branch information and information about whether the build is abnormal.
  8. 제6항에 있어서,According to clause 6,
    상기 코드 관련 정보 제공 방법은,The method of providing information related to the above code is:
    복수의 빌드 작업 각각에 대응하는 소요 시간 정보, 상기 복수의 빌드 작업 각각에 대응하는 패키지의 버전 정보에 기반하여, 각 버전 정보에 대응하는 빌드 소요 시간에 관한 정보를 획득하고,Based on time required information corresponding to each of the plurality of build tasks and version information of the package corresponding to each of the plurality of build tasks, obtain information about the build time corresponding to each version information,
    상기 각 버전 정보에 대응하는 빌드 소요 시간에 관한 정보 및 상기 제2정보에 기반하여 확인된 상기 소요 시간 정보에 기반하여 상기 제1코드 정보에 관한 빌드 작업의 이상 여부를 확인하는 단계를 더 포함하는 코드 관련 정보 제공 방법.Further comprising the step of checking whether a build operation related to the first code information is abnormal based on the information about the build time corresponding to each version information and the time information confirmed based on the second information. How to provide information about your code.
  9. 제6항에 있어서,According to clause 6,
    상기 코드 관련 정보 제공 방법은,The method of providing information related to the above code is:
    상기 제2정보에 기반하여 확인된 상기 용량 정보 및 상기 빌드 작업 정보 목록에 기반하여 확인된 하나 이상의 빌드 작업에 대한 패키지의 용량 정보에 기반하여 상기 빌드 작업의 이상 여부를 확인하는 단계; 및Checking whether the build task is abnormal based on the capacity information confirmed based on the second information and the capacity information of a package for one or more build tasks confirmed based on the build task information list; and
    상기 브랜치 정보에 기반하여 확인된 하나 이상의 작업자 정보 및 상기 빌드 이상 여부에 관한 정보에 기반하여, 상기 하나 이상의 작업자에게 상기 이상 여부에 관한 정보를 제공하는 단계를 더 포함하는 코드 관련 정보 제공 방법.A method of providing code-related information, further comprising providing information about whether the build is abnormal to the one or more workers based on information about one or more workers confirmed based on the branch information and information about whether the build is abnormal.
  10. 제6항에 있어서,According to clause 6,
    상기 코드 관련 정보 제공 방법은,The method of providing information related to the above code is:
    복수의 빌드 작업 각각에 대응하는 용량 정보, 상기 복수의 빌드 작업 각각에 대응하는 패키지의 버전 정보에 기반하여, 각 버전 정보에 대응하는 용량에 관한 정보를 획득하고,Based on capacity information corresponding to each of the plurality of build tasks and version information of the package corresponding to each of the plurality of build tasks, obtain information about the capacity corresponding to each version information,
    상기 각 버전 정보에 대응하는 용량에 관한 정보 및 상기 제2정보에 기반하여 확인된 상기 용량 정보에 기반하여 상기 제1코드 정보에 관한 빌드 작업의 이상 여부를 확인하는 단계를 더 포함하는 코드 관련 정보 제공 방법.Code-related information further comprising the step of checking whether a build operation related to the first code information is abnormal based on the capacity information corresponding to each version information and the capacity information confirmed based on the second information. How to provide.
  11. 제1항에 있어서,According to paragraph 1,
    상기 코드 관련 정보 제공 방법은,The method of providing information related to the above code is:
    상기 브랜치 정보에 기반하여 확인된 하나 이상의 작업자 정보를 제공하는 단계를 더 포함하는 코드 관련 정보 제공 방법.A method of providing code-related information further comprising providing one or more worker information identified based on the branch information.
  12. 제1항에 있어서,According to paragraph 1,
    상기 코드 관련 정보 제공 방법은,The method of providing information related to the above code is:
    상기 제2정보의 적어도 일부를 포함하되, 상기 빌드 작업의 결과에 관한 정보를 적어도 포함하는, 결과 메시지를, 상기 브랜치 정보에 기반하여 확인된 하나 이상의 작업자 정보에 대응하는 작업자 장치에 제공하는 단계를 더 포함하는 코드 관련 정보 제공 방법.Providing a result message including at least part of the second information and at least information about a result of the build operation to a worker device corresponding to one or more worker information identified based on the branch information. How to provide code-related information, including more information.
  13. 제1항에 있어서,According to paragraph 1,
    상기 코드 관련 정보 제공 방법은,The method of providing information related to the above code is:
    상기 태스크 식별 정보에 기반하여 확인된 상기 제1코드 정보에 대응하는 태스크의 진행 상태에 관한 태스크 상태 정보를 제공하는 단계를 더 포함하는 코드 관련 정보 제공 방법.A method of providing code-related information further comprising providing task status information regarding a progress status of a task corresponding to the first code information identified based on the task identification information.
  14. 제1항에 있어서,According to paragraph 1,
    상기 코드 관련 정보 제공 방법은,The method of providing information related to the above code is:
    상기 작업자 장치로부터 수신한 제1항목에 대응하는 코드 정보 요청에 대응하여 작업자 장치로 상기 제1코드 정보를 제공하는 단계를 더 포함하는 코드 관련 정보 제공 방법.A method of providing code-related information further comprising providing the first code information to a worker device in response to a request for code information corresponding to the first item received from the worker device.
  15. 제14항에 있어서,According to clause 14,
    상기 제1항목은, 상기 빌드 작업에 대응하여 서버가 생성한, 상기 제1코드 정보를 적어도 포함하는 패키지의 코드 정보에 관한 경로 정보를 포함하고,The first item includes path information about code information of a package generated by a server in response to the build task and including at least the first code information,
    상기 코드 관련 정보 제공 방법은,The method of providing information related to the above code is:
    상기 경로 정보에 기반하여, 상기 패키지의 코드 정보를 상기 작업자 장치에 제공하는 단계를 더 포함하는 코드 관련 정보 제공 방법.A method of providing code-related information further comprising providing code information of the package to the worker device based on the path information.
  16. 제1항에 있어서,According to paragraph 1,
    상기 코드 관련 정보 제공 방법은,The method of providing information related to the above code is:
    브랜치 식별 정보 및 하나 이상의 작업자 정보를 획득하는 단계; 및Obtaining branch identification information and one or more worker information; and
    작업자 장치로부터 수신한 요청에 기반하여 상기 브랜치 식별 정보 및 상기 하나 이상의 작업자 정보를 매핑한 브랜치 정보를 포함하는 브랜치 목록을 생성하는 단계를 더 포함하는 코드 관련 정보 제공 방법.A method of providing code-related information further comprising generating a branch list including the branch identification information and branch information mapping the one or more worker information based on a request received from a worker device.
  17. 제1항에 있어서,According to paragraph 1,
    상기 빌드 작업에 대응하여 서버가 생성한, 상기 제1코드 정보를 적어도 포함하는 패키지의 코드 정보는, 상기 생성된 패키지의 코드 정보에 대응하여 A/B 테스트를 수행하기 위한 소스 코드를 포함하고,The code information of the package generated by the server in response to the build task and including at least the first code information includes source code for performing an A/B test in response to the code information of the generated package,
    상기 코드 관련 정보 제공 방법은,The method of providing information related to the above code is:
    상기 코드 관련 정보 제공 방법은, 상기 제1정보에 기반하여 확인되는 상기 A/B 테스트의 결과 정보를 제공하는 단계를 더 포함하는 코드 관련 정보 제공 방법.The method of providing code-related information further includes providing result information of the A/B test confirmed based on the first information.
  18. 전자 장치에 있어서,In electronic devices,
    메모리;Memory;
    트랜시버; 및transceiver; and
    프로세서를 포함하고,Includes a processor,
    상기 프로세서는,The processor,
    서버에서 수행되는, 제1코드(code) 정보에 관한 빌드(build) 작업의 개시에 대응하여, 상기 서버로부터 상기 빌드 작업에 대한 정보 및 상기 제1코드 정보에 대응하는 브랜치(branch) 정보를 포함하는 제1정보를 획득하고,In response to the start of a build task related to first code information performed on a server, it includes information about the build task from the server and branch information corresponding to the first code information. Obtain the first information,
    상기 빌드 작업 종료에 대응하여 상기 서버로부터 상기 빌드 작업의 결과에 관한 정보를 적어도 포함하는 제2정보를 획득하고,Obtaining second information including at least information about the result of the build task from the server in response to the end of the build task,
    상기 제1정보 및 상기 제2정보에 기반하여 생성된 제1항목을 포함하는 빌드 작업 정보 목록을 작업자 장치에 제공하도록 설정된 전자 장치.An electronic device configured to provide a build work information list including a first item generated based on the first information and the second information to a worker device.
  19. 제1항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체.A non-transitory computer-readable recording medium that records a program for executing the method of claim 1 on a computer.
PCT/KR2022/015077 2022-08-17 2022-10-07 Method for providing code information and electronic device for supporting same WO2024038951A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2022-0102734 2022-08-17
KR1020220102734A KR20240024573A (en) 2022-08-17 2022-08-17 Method for providing code information and electronic apparatus supporting thereof

Publications (1)

Publication Number Publication Date
WO2024038951A1 true WO2024038951A1 (en) 2024-02-22

Family

ID=89941941

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/015077 WO2024038951A1 (en) 2022-08-17 2022-10-07 Method for providing code information and electronic device for supporting same

Country Status (2)

Country Link
KR (1) KR20240024573A (en)
WO (1) WO2024038951A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110080772A (en) * 2010-01-07 2011-07-13 한국과학기술연구원 System and method for generating software package and installing the same
JP2016076162A (en) * 2014-10-08 2016-05-12 三菱電機株式会社 Software test support device and software test support program
JP2017084074A (en) * 2015-10-27 2017-05-18 株式会社日立ソリューションズ Database device, worker information retrieval system, and worker information retrieval method
JP2021105866A (en) * 2019-12-26 2021-07-26 株式会社日立製作所 Program development support system and program development support method
JP2022108452A (en) * 2021-01-13 2022-07-26 株式会社日立製作所 Program managing device and program managing method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110080772A (en) * 2010-01-07 2011-07-13 한국과학기술연구원 System and method for generating software package and installing the same
JP2016076162A (en) * 2014-10-08 2016-05-12 三菱電機株式会社 Software test support device and software test support program
JP2017084074A (en) * 2015-10-27 2017-05-18 株式会社日立ソリューションズ Database device, worker information retrieval system, and worker information retrieval method
JP2021105866A (en) * 2019-12-26 2021-07-26 株式会社日立製作所 Program development support system and program development support method
JP2022108452A (en) * 2021-01-13 2022-07-26 株式会社日立製作所 Program managing device and program managing method

Also Published As

Publication number Publication date
KR20240024573A (en) 2024-02-26

Similar Documents

Publication Publication Date Title
US20210229699A1 (en) Method and apparatus for storing autonomous driving test data and electronic device
US11019156B1 (en) Automatic discovery and registration of service applications for files introduced to a user interface
WO2015174609A1 (en) Method for updating library, and terminal and system therefor
WO2018194349A1 (en) Method for visualizing chart through selection of partial area of data table
WO2024038951A1 (en) Method for providing code information and electronic device for supporting same
WO2023106492A1 (en) Operation method for data serving structure configuration and electronic device for supporting same
WO2022145572A1 (en) Method for providing information based on predicted result value, and computing device using same
WO2023249150A1 (en) Method for operating electronic device providing information, and electronic device supporting same
WO2024038950A1 (en) Item information management method, and electronic device for providing same
WO2024014600A1 (en) Instance management method, and electronic device therefor
WO2020209561A1 (en) Electronic device for executing heterogeneous operating systems and method therefor
WO2024117384A1 (en) Test information management method and electronic device for supporting same
WO2024111750A1 (en) Operation method of electronic device for providing information, and electronic device supporting same
WO2023191160A1 (en) Electronic device for managing catalogue information and method therefor
WO2023219197A1 (en) Electronic device providing information for item delivery, and method therefor
WO2023229093A1 (en) Method for managing inventory information and electronic device for supporting same
WO2023229072A1 (en) Method for managing stock information and electronic device supporting same
WO2024014597A1 (en) Method for providing item list information, and electronic device therefor
WO2024053773A1 (en) Method for managing log information and electronic device for supporting same
WO2024048829A1 (en) Inventory transfer information management method and electronic apparatus therefor
WO2023229080A1 (en) Item information search method and electronic apparatus therefor
WO2023191153A1 (en) Operating method of electronic device for configuring information, and electronic device supporting same
WO2023033218A1 (en) Operation method for providing service-related information and electronic device supporting same
WO2024014583A1 (en) Method of providing item information and electronic device supporting same
WO2023191157A1 (en) Operation method of electronic device for providing page, and electronic device supporting same

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22955823

Country of ref document: EP

Kind code of ref document: A1