KR101866033B1 - Method for Rendering a Grid in a Web Browser and Computing System applying the same - Google Patents

Method for Rendering a Grid in a Web Browser and Computing System applying the same Download PDF

Info

Publication number
KR101866033B1
KR101866033B1 KR1020160084648A KR20160084648A KR101866033B1 KR 101866033 B1 KR101866033 B1 KR 101866033B1 KR 1020160084648 A KR1020160084648 A KR 1020160084648A KR 20160084648 A KR20160084648 A KR 20160084648A KR 101866033 B1 KR101866033 B1 KR 101866033B1
Authority
KR
South Korea
Prior art keywords
grid
cells
rendering
rendered
web browser
Prior art date
Application number
KR1020160084648A
Other languages
Korean (ko)
Other versions
KR20180004925A (en
Inventor
한상훈
이준석
Original Assignee
에스케이 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이 주식회사 filed Critical 에스케이 주식회사
Priority to KR1020160084648A priority Critical patent/KR101866033B1/en
Publication of KR20180004925A publication Critical patent/KR20180004925A/en
Application granted granted Critical
Publication of KR101866033B1 publication Critical patent/KR101866033B1/en

Links

Images

Classifications

    • G06F17/3089
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • G06F17/246
    • G06F17/30905
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

웹 브라우저에서의 그리드(grid) 렌더링 방법 및 이를 적용한 컴퓨팅 시스템이 제공된다. 본 발명의 실시예에 따른 그리드 렌더링 방법은, 그리드를 구성하는 셀들 중 웹 브라우저를 통해 화면에 렌더링할 셀들을 선별하여, 셀 독립적으로 렌더링한다. 이에 의해, 고속의 그리드 렌더링이 가능해지고, 금융, 생산/재고관리, 회계관리, 공정관리, ERP 등과 같이 아주 많은 데이터를 취급하는 경우에도, 웹 브라우저 상에서 그리드 이용이 가능해진다.A grid rendering method in a web browser and a computing system applying the method are provided. A grid rendering method according to an embodiment of the present invention selects cells to be rendered on a screen through a web browser among cells constituting the grid, and renders cell independent rendering. This enables high-speed grid rendering and enables the use of a grid on a web browser even when handling a large amount of data such as finance, production / inventory management, accounting management, process management, and ERP.

Description

웹 브라우저에서의 그리드 렌더링 방법 및 이를 적용한 컴퓨팅 시스템{Method for Rendering a Grid in a Web Browser and Computing System applying the same}METHOD FOR RENDERING A GRID IN A WEB BROWSER AND METHOD FOR RENDERING A GRID IN A WEB BROWSER AND COMPUTING SYSTEM

본 발명은 웹 브라우저에서의 렌더링 기술에 관한 것으로, 더욱 상세하게는 DB(DataBase)에 저장되어 있는 대량의 데이터를 웹 브라우저에서 그리드(grid)로 렌더링하는 방법에 관한 것이다.The present invention relates to a rendering technique in a web browser, and more particularly, to a method of rendering a large amount of data stored in a database (DB) in a web browser.

HTML(Hypertext Markup Language)의 테이블 태그(Table Tag)는, 웹 표준기술 중 하나로, 테이블 데이터(tabular data)를 웹 브라우저에서 렌더링하기 위한 기술이다.The table tag of Hypertext Markup Language (HTML) is one of web standard technologies and is a technology for rendering tabular data in a web browser.

HTML의 테이블 태그는, 테이블(그리드)에 수록될 데이터가 많은 경우, 화면에 렌더링되기까지 속도가 상당히 느리며, 제한된 영역에서 데이터를 위/아래로 스크롤 하는 상황에서도 굉장히 느린 속도를 보인다.Table tags in HTML are very slow to render on the screen when there is a lot of data to be stored in the table (grid), and even at scrolling up and down the data in the restricted area.

이는, HTML의 테이블 태그의 경우, 웹 브라우저가 화면에 작은 셀 하나를 렌더링하거나 지울 때마다 셀 위치에 연계되는 다른 행과 열의 위치 계산을 모두 다시 하고 있기 때문이다.This is because, in the HTML table tag, every time a web browser renders or deletes a small cell on the screen, it re-calculates the location of other rows and columns associated with the cell location.

이에, 금융, 생산/재고관리, 회계관리, 공정관리, ERP(Enterprise Resource Planning) 등과 같이 아주 많은 데이터를 취급하는 경우에는, HTML의 테이블 태그에 의한 렌더링은 실질적으로 불가능하다.Therefore, when handling a large amount of data such as finance, production / inventory management, accounting management, process management, and ERP (Enterprise Resource Planning), rendering by HTML table tags is practically impossible.

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 웹 브라우저에서 HTML의 테이블 태그에 의한 저속의 렌더링을 해소하기 위한 방안으로, 웹 브라우저를 통해 화면에 렌더링할 셀들을 선별하여 독립적으로 렌더링하는 그리드 렌더링 방법을 제공함에 있다.SUMMARY OF THE INVENTION The present invention has been made to overcome the above problems, and it is an object of the present invention to provide a method for solving low-speed rendering by HTML table tags in a web browser, And a grid rendering method for selectively rendering the grid independently.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 그리드 렌더링 방법은, 그리드를 구성하는 셀들 중, 웹 브라우저를 통해 화면에 렌더링할 셀들을 선별하는 단계; 및 상기 선별단계에서 선별된 셀들을 상기 화면에 셀 독립적으로 렌더링하는 단계;를 포함한다.According to an aspect of the present invention, there is provided a grid rendering method including: selecting cells to be rendered on a screen through a web browser among cells constituting a grid; And rendering the cells selected in the selection step on the screen in a cell-independent manner.

그리고, 본 발명의 실시예에 따른 그리드 렌더링 방법은, 상기 선별된 셀들이 렌더링될 위치들을 셀 독립적으로 산출하는 단계;를 더 포함하고, 상기 렌더링 단계는, 상기 산출 단계에서 산출된 위치들을 이용하여, 상기 선별된 셀들을 렌더링할 수 있다.The grid rendering method according to an embodiment of the present invention may further include calculating cells to which the selected cells are to be rendered, in a cell-independent manner, and the rendering step may include: , And render the selected cells.

또한, 본 발명의 실시예에 따른 그리드 렌더링 방법은, 상기 웹 브라우저 상에서 상기 그리드의 일부가 렌더링될 영역의 사이즈를 계산하는 단계;를 더 포함하고, 상기 선별 단계는, 상기 계산 단계에서 계산된 사이즈를 기초로, 상기 셀들을 선별할 수 있다.Further, the grid rendering method according to an embodiment of the present invention may further include calculating a size of an area where a part of the grid is to be rendered on the web browser, and the selecting step may include: , The cells can be selected.

그리고, 상기 산출 단계는, 상기 선별된 셀들 중 최-좌측에 위치할 셀들의 좌변이 상기 영역의 좌변에 위치하도록, 상기 선별된 셀들이 렌더링될 위치들을 산출할 수 있다.The calculating step may calculate positions where the selected cells are rendered so that the left side of the cells located at the leftmost of the selected cells is located at the left side of the area.

또한, 본 발명의 실시예에 따른 그리드 렌더링 방법은, 상기 그리드의 사이즈와 상기 렌더링 단계에서 렌더링된 셀들의 사이즈를 기초로, 스크롤 바의 크기와 위치를 결정하는 단계; 및 상기 결정 단계에서 결정된 크기와 위치에 따라, 상기 스크롤 바를 생성하여 표시하는 단계;를 더 포함할 수 있다.According to another aspect of the present invention, there is provided a grid rendering method including: determining a size and a position of a scroll bar based on a size of the grid and a size of cells rendered in the rendering step; And generating and displaying the scroll bar according to the size and position determined in the determining step.

그리고, 본 발명의 실시예에 따른 그리드 렌더링 방법은, 상기 그리드를 구성하는 셀들을 상기 스크롤 바의 조작에 따라 단속적으로 변경하는 단계;를 더 포함할 수 있다.The grid rendering method according to an embodiment of the present invention may further include intermittently changing cells constituting the grid according to an operation of the scroll bar.

또한, 상기 변경 단계는, 상기 그리드를 구성하는 셀들 중 일부를 행 또는 열 단위로 사라지게 할 수 있다.In addition, the changing step may cause a part of the cells constituting the grid to disappear in units of rows or columns.

그리고, 상기 변경 단계는, 상기 선별 단계와 상기 렌더링 단계에 소요되는 시간 보다 큰 시간을 주기로 수행될 수 있다.The changing step may be performed at a period longer than the time required for the selecting step and the rendering step.

한편, 본 발명의 다른 실시예에 따른, 컴퓨터로 읽을 수 있는 기록매체에는, 그리드를 구성하는 셀들 중, 웹 브라우저를 통해 화면에 렌더링할 셀들을 선별하는 단계; 및 상기 선별단계에서 선별된 셀들을 상기 화면에 셀 독립적으로 렌더링하는 단계;를 포함하는 것을 특징으로 하는 그리드 렌더링 방법을 수행할 수 있는 프로그램이 기록된다.According to another aspect of the present invention, there is provided a computer-readable recording medium including: a step of selecting cells to be rendered on a screen through a web browser among cells constituting a grid; And rendering the cells selected in the selecting step on the screen in a cell independent manner.

한편, 본 발명의 다른 실시예에 따른, 컴퓨팅 시스템은, 디스플레이; 및 그리드를 구성하는 셀들 중 웹 브라우저를 통해 상기 디스플레이에 렌더링할 셀들을 선별하고, 선별된 셀들을 상기 디스플레이에 셀 독립적으로 렌더링하는 프로세서;를 포함한다.Meanwhile, according to another embodiment of the present invention, a computing system includes: a display; And a processor for selecting cells to be rendered on the display through a web browser among the cells constituting the grid and for rendering the selected cells on the display in a cell independent manner.

이상 설명한 바와 같이, 본 발명의 실시예들에 따르면, 웹 브라우저를 통해 화면에 렌더링할 셀들을 선별하여 독립적으로 렌더링하여, 고속의 그리드 렌더링이 가능해진다.As described above, according to the embodiments of the present invention, cells to be rendered on the screen are selected and rendered independently through a web browser, thereby enabling high-speed grid rendering.

이에, 본 발명의 실시예들에 따르면, 금융, 생산/재고관리, 회계관리, 공정관리, ERP 등과 같이 아주 많은 데이터를 취급하는 경우에도, 웹 브라우저 상에서 그리드 이용이 가능해진다.Thus, according to the embodiments of the present invention, it becomes possible to use a grid on a web browser even when handling a large amount of data such as finance, production / inventory management, accounting management, process management, ERP,

또한, 본 발명의 실시예들은, 이미 구축된 웹 표준 기술을 이용하기 때문에, 데스크 탑 PC는 물론, 모바일 환경에서도 웹 서비스를 통한 다양한 그리드 이용이 가능하다는 장점이 있다.In addition, the embodiments of the present invention have advantages in that various grids can be used through a web service in a mobile environment as well as a desktop PC since the existing standard web technology is used.

도 1은 본 발명의 일 실시예에 따른 그리드 렌더링 방법의 설명에 제공되는 도면,
도 2 내지 도 4는 스크롤 바의 조작에 따라 그리드 셀들을 단속적으로 변경하는 과정의 설명에 제공되는 도면들, 그리고,
도 5는 본 발명의 다른 실시예에 따른 컴퓨팅 시스템을 도시한 도면이다.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram illustrating a method of rendering a grid according to an embodiment of the present invention;
FIGS. 2 to 4 are views for explaining a process of intermittently changing grid cells according to the operation of a scroll bar,
5 is a diagram illustrating a computing system according to another embodiment of the present invention.

이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.Hereinafter, the present invention will be described in detail with reference to the drawings.

1. 독립 셀 기반의 그리드(grid) 렌더링1. Independent cell-based grid rendering

도 1은 본 발명의 일 실시예에 따른 그리드 렌더링 방법의 설명에 제공되는 도면이다. 본 발명의 실시예에 따른 그리드 렌더링 방법은, 대량의 데이터가 수록되어 있는 그리드를 웹 브라우저에 고속으로 렌더링하기 위한 기법을 제공한다.BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a diagram provided in the description of a grid rendering method according to an embodiment of the present invention. The grid rendering method according to an embodiment of the present invention provides a technique for rendering a grid containing a large amount of data to a web browser at high speed.

이를 위해, 본 발명의 실시예에 따른 그리드 렌더링 방법에서는, 그리드 렌더링이 웹 브라우저가 아닌 '그리드 렌더러'로 명명한 별도의 웹 클라이언트 라이브러리에 의해 수행된다. 여기에서, 그리드(grid)는 격자 또는 바둑판의 눈금 등을 말하며, 수직과 수평으로 면이 분할되어 레이아웃의 수단으로 시각적 질서와 일관성을 유지시키는 도구를 나타내며, 그리드라는 용어는 설명의 편의를 위해 사용된 것으로 용어에 제한되지 않으며, 이와 같은 기능을 제공하는 도구라면 어떤 것이라도 본 발명이 적용될 수 있음은 물론이다.To this end, in the grid rendering method according to the embodiment of the present invention, the grid rendering is performed by a separate web client library named 'grid renderer' rather than a web browser. Here, a grid refers to a grid or grid scale, and refers to a tool that divides a plane vertically and horizontally to maintain visual order and consistency as a means of layout. The term grid is used for descriptive convenience And the present invention can be applied to any tool that provides such a function.

구체적으로, 도 1에 도시된 바와 같이, 먼저, 그리드 렌더러가 웹 브라우저 상에서 그리드 영역의 사이즈를 계산한다(S110).Specifically, as shown in FIG. 1, first, the grid renderer calculates the size of the grid area on the web browser (S110).

본 발명의 실시예에서는 그리드에 대량의 데이터가 수록되는 환경을 상정하고 있으므로, 그리드 영역에는 그리드의 일부만 렌더링되는 영역이 된다. 즉, 그리드 영역에서, 사용자의 전체 그리드의 일부만을 볼 수 있음이 일반적인 상황이다.In the embodiment of the present invention, since an environment in which a large amount of data is stored in the grid is assumed, only a part of the grid is rendered in the grid area. In other words, it is a general situation that in the grid area, only a part of the user's entire grid can be seen.

한편, 그리드 영역은, 웹 브라우저에서 메뉴/탭 표시 영역 등을 제외한 컨텐츠 표시 영역 전부가 될 수도 있음은 물론, 그 중 일부가 될 수도 있다. 웹 페이지의 구성/레이아웃에 의해 결정될 사항이다.On the other hand, the grid area may be all of the content display area except for the menu / tab display area in the web browser, or may be a part of the content display area. It depends on the configuration / layout of the web page.

다음, 그리드 렌더러는 그리드를 구성하는 셀들 중 그리드 영역에 렌더링할 셀들을 선별한다(S120).Next, the grid renderer selects cells to be rendered in the grid area of the cells constituting the grid (S120).

그리드를 최초로 렌더링하는 상황이므로, S120단계에서 선별되는 셀들은 그리드에서 좌측&상부에 위치하는 셀들이 되며, S110단계에서 계산된 그리드 영역의 사이즈와 그리드를 구성하는 셀들의 사이즈에 따라 셀 선별이 이루어진다.Since the grid is first rendered, the cells selected in step S120 are the cells located on the left and top of the grid, and cell selection is performed according to the size of the grid area calculated in step S110 and the size of the cells constituting the grid .

선별이 완료되면, 그리드 렌더러는 S120단계에서 선별된 셀들이 렌더링될 위치들을 산출한다(S130).When the selection is completed, the grid renderer calculates positions where the selected cells are rendered in step S120 (S130).

S130단계에서 셀 위치 산출은 셀 독립적으로 수행된다. 여기에서, 셀 위치 산출이 셀 독립적으로 수행된다는 것은 특정 셀이 렌더링될 위치를 산출함에 있어, 주변 셀들의 위치는 고려되지 않고 그리드 내에서 선별된 셀들의 사이즈만을 고려하여 그 특정 셀의 위치만을 산출한다는 것을 의미한다.In step S130, cell position calculation is performed cell-independent. Here, the cell position calculation is performed in a cell independent manner. In calculating the position where a particular cell is to be rendered, only the position of the specific cell is calculated in consideration of the size of the selected cells in the grid, .

또한, S120단계에서 선별된 셀들 중 최-좌측에 렌더링할 셀들에 대해서는, 셀들의 좌변들이 그리드 영역의 좌변에 위치하도록, 셀 위치들을 결정한다.In addition, for the cells to be rendered in the leftmost cell among the cells selected in step S120, the cell positions are determined such that the left sides of the cells are positioned at the left side of the grid area.

다음, 그리드 렌더러는 S120단계에서 선별한 셀들을 S130단계에서 산출한 셀 위치들에 렌더링한다(S140).Next, the grid renderer renders the cells selected in step S120 to the cell positions calculated in step S130 (S140).

S130단계에서 셀 위치 산출이 셀 독립적이었듯이, S140단계에서의 셀 렌더링도 셀 독립적으로 수행된다. 여기에서, 셀 렌더링이 셀 독립적으로 수행된다는 것은 위치가 산출된 셀 들이 행 단위가 아닌 셀 단위로 렌더링된다는 것을 의미한다. 즉, S140단계에서 셀들은 소속된 행에 종속적이지 않고 독립적으로 렌더링된다.As the cell position calculation is cell independent in step S130, the cell rendering in step S140 is also performed cell independent. Here, the fact that the cell rendering is performed cell-independent means that the calculated cells are rendered on a cell-by-cell basis, not on a row-by-cell basis. That is, in step S140, the cells are independently rendered without being dependent on the row to which they belong.

그리고, 그리드 렌더러는 그리드에 대한 스크롤 바를 생성하여 표시한다(S150). 스크롤 바의 크기와 위치는, 그리드의 가로/세로 사이즈와 렌더링된 셀들의 가로/세로 사이즈를 기초로 계산한다.Then, the grid renderer generates and displays a scroll bar for the grid (S150). The size and position of the scroll bar are calculated based on the horizontal / vertical size of the grid and the horizontal / vertical size of the rendered cells.

HTML의 테이블 태그에 의한 테이블(그리드)의 셀 배치는 다음과 계층적이다.The cell layout of the table (grid) by HTML table tags is hierarchical as follows.

table -> tablebody -> tablerow -> tabledata(cell)table -> tablebody -> tablerow -> tabledata (cell)

이와 같은 계층 구조는, 웹 브라우저에 의한 테이블 셀 렌더링에 영향을 미쳐, 두 번째 행의 렌더링을 위해서는 반드시 첫 번째 행이 렌더링된 영역을 계산할 것을 요구한다. 두 번째 행의 렌더링 위치는, 첫 번째 행이 렌더링된 영역 보다 한 라인 아래의 행부터가 된다.This hierarchical structure affects the table cell rendering by the web browser and requires the first row to calculate the rendered area for rendering the second row. The rendering position of the second row is one row below the area where the first row is rendered.

나아가, 첫 번째 행의 두 번째 셀의 렌더링을 위해서는 반드시 첫 번째 셀이 렌더링된 영역을 계산할 것을 요구한다. 두 번째 셀의 렌더링 위치는, 첫 번째 셀이 렌더링된 영역 보다 한 라인 우측이다.Furthermore, in order to render the second cell of the first row, the first cell necessarily requires to calculate the rendered area. The rendering position of the second cell is one line to the right of the area where the first cell is rendered.

이를 Reflow라 하는데, 이로 인한 케스케이딩 효과(Cascading Effect)에 의해 모든 셀들을 렌더링하여야만 모든 셀들의 위치를 알게 되며, 이는 HTML의 테이블 태그에 의한 테이블 렌더링 속도를 저하시키는 원인으로 작용한다.This is called reflow, and it is necessary to render all the cells by the cascading effect. Thus, the location of all the cells is known, which causes the table rendering speed of HTML table tags to be lowered.

이에, 본 발명의 실시예에서는, HTML의 테이블 태그에서 상정하고 있는 그리드의 셀 배치의 계층 구조에서 탈피하고, 모든 셀들을 동일 뎁스에 배치함으로써, 위치 계산과 렌더링이 셀 독립적으로 수행되도록 구현하였다.Accordingly, in the embodiment of the present invention, the position calculation and the rendering are performed in a cell-independent manner by moving away from the hierarchical structure of the cell arrangement of the grid assumed in the HTML table tag and arranging all the cells at the same depth.

또한, 본 발명의 실시예에서 제시하고 있는 셀 독립적 위치 계산과 렌더링은, 셀 위치 계산과 렌더링을 위해 다른 셀의 렌더링 완료를 요하지 않는다.In addition, the cell-independent position calculation and rendering presented in the embodiments of the present invention do not require rendering completion of other cells for cell position calculation and rendering.

아울러, 화면에 렌더링되지 않는 셀들을 포함한 모든 셀들에 대해 위치 계산을 요구하는 HTML의 테이블 태그와 달리, 본 발명의 실시예에서 제시하고 있는 셀 독립적 위치 계산과 렌더링은 화면에 렌더링될 셀들에 대해서만 위치 계산이 수행된다.In addition, unlike the HTML table tags, which require location calculation for all cells including cells that are not rendered on the screen, the cell independent location calculation and rendering presented in the embodiment of the present invention is only for cells to be rendered on the screen Calculation is performed.

2. 그리드 상에서의 셀 스크롤2. Scroll cells on the grid

본 발명의 실시예에 따른 그리드 렌더링 방법에서는, 그리드를 일부만 표시하는 경우 스크롤 바를 함께 생성/표시하여 제공하므로, 이를 이용한 셀 스크롤이 가능하다.In the grid rendering method according to the embodiment of the present invention, when only a part of the grid is displayed, a scroll bar is generated / displayed together with the scroll bar.

셀 스크롤에 의해 그리드 영역에 렌더링되는 셀들이 변경되는데, 본 발명의 실시예에 따른 그리드 렌더링 방법에서 셀들은 스크롤 바의 조작에 따라 단속적으로 변경된다.Cells to be rendered in the grid area are changed by cell scrolling. In the grid rendering method according to the embodiment of the present invention, cells are intermittently changed according to the operation of the scroll bar.

구제척으로, 스크롤 바의 조작에 의한 그리드 변경은, 픽셀 라인 단위로 이루어지지 않고 행/열 단위로 수행된다. 즉, 스크롤 바가 조작되었더라도 행/열 전체가 사라질 정도의 조작량이 아닌 경우에는 기존의 렌더링 상태를 유지한다. 반면, 행/열 전체가 사라질 정도의 조작량이 되면, 비로소 행/열 전체를 사라지게 한다.As a matter of fact, the grid change by the operation of the scroll bar is performed on a row / column basis, not on a pixel-by-pixel basis. That is, even if the scroll bar is manipulated, the existing rendering state is maintained if the manipulated variable is not such that the entire row / column disappears. On the other hand, when the amount of manipulation is such that the entire row / column disappears, only the row / column disappears.

예를 들어, 도 2에 도시된 바와 같은 그리드 렌더링 상태로부터 도 3에 도시된 바와 같이 "name" 열이 사라지 않을 정도의 스크롤 바 조작이 있는 경우에는 그리드의 렌더링 상태는 그대로 유지된다. 하지만, 도 4에 도시된 바와 같이 "name" 열이 사라질 정도의 스크롤 바 조작이 있는 경우, 비로소 "name" 열이 한 번에 사라지는 방식이다.For example, if there is a scroll bar operation such that the "name" column does not disappear from the grid rendering state as shown in FIG. 2, the grid rendering state is maintained. However, if there is a scroll bar operation such that the "name" column disappears as shown in Fig. 4, the "name"

셀들의 위치 계산과 렌더링을 위해 소요되는 시간을 최소화하기 위한 방안에 해당한다. 스크롤 바의 조작에 의해 라인(가로 또는 세로가 한 픽셀임) 단위로 렌더링이 수행되는 HTML의 테이블 태그와 다른 방식이다.This is a method for minimizing the time required for location calculation and rendering of cells. It differs from HTML table tags in that the rendering is performed in units of lines (horizontal or vertical one pixel) by manipulation of the scroll bar.

한편, 본 발명의 실시예에서, 스크롤 바가 조작되는 중에 그리드를 구성할 셀들의 리프레시(변경)를 위한 렌더링 함수 호출 주기는 특정 시간으로 운용한다. 이 호출 주기는 웹 브라우저의 성능에 따라 결정되는데, 기존의 렌더링 작업(셀들의 위치 산출과 렌더링)이 끝나기 전에 다음 렌더링 작업을 위한 렌더링 함수 재호출이 일어나지 않을 정도의 시간으로 결정한다.Meanwhile, in the embodiment of the present invention, the rendering function call period for refreshing (changing) the cells constituting the grid while the scroll bar is operated is operated at a specific time. This call period is determined by the performance of the web browser. It is determined as long as the re-calling of the rendering function for the next rendering operation does not occur before the end of the existing rendering operation (calculation of the position of cells and rendering).

스크롤 바 조작이 매우 급속하게 이루어지는 경우에 대비하기 위한 구성으로, 렌더링 큐에 의해 스크롤 바 작업이 완료된 이후에도 렌더링이 수행되는 렌더링 지연이나 화면 정지 등이 발생하지 않도록 하기 위함이다.This is to prevent the occurrence of a rendering delay or a screen stop in which rendering is performed even after the scroll bar operation is completed by the rendering queue.

3. 옵션 계층화3. Layer options

본 발명의 실시예에 따른 그리드 렌더링 방법에서 제공하는 그리드는 생성 규칙에 적용되는 옵션 저장을 계층 구조로 운용한다. 대규모의 프로젝트에 요구되는 많은 그리드들에 대한 옵션 변경을 용이하게 하도록 하기 위함이다. 간편하게 공통옵션을 가져다가 쓸 수 있는 재사용에 의해 코딩 양이 줄어들게 된다. 옵션 저장 구조는 다음과 같다.The grid provided by the grid rendering method according to the embodiment of the present invention manages the option storage applied to the generation rule in a hierarchical structure. This is to make it easy to change options for many grids that are required for a large scale project. The amount of coding is reduced by reuse that can be easily accomplished with common options. The option storage structure is as follows.

a) defaultOption : 옵션의 기본값a) defaultOption: default value of option

b) 설정 가능한 공통옵션b) Common options that can be set

b1) commonOption : 프로젝트 마다 가지는 공통 옵션b1) commonOption: common options for each project

b2) commonOptionPreset : key-valueObject로 구성되며 실제 적용되는 옵션이 아닌, 옵션들의 목록을 특정 key로 찾아올 수 있도록 한 공간으로, 재사용 되는 옵션이 저장됨b2) commonOptionPreset: key-valueObject, which is a list of options that are not actually applied but which can be retrieved by a specific key.

c) 그리드 개별 옵션 : 실제 구현에 대한 세부 코드가 들어간 개별 설정c) Grid individual options: individual settings with detailed code for the actual implementation

그리드 옵션은 다음의 단계를 통해 통합(merge) 되어 그리드 생성에 사용된다.The grid options are merged through the following steps and used for grid generation.

1) defaultOption 오브젝트(또는 데이터)를 복제하여 새로운 오브젝트(또는 데이터)를 생성함1) duplicate the defaultOption object (or data) to create a new object (or data)

2) 생성한 새로운 defaultOption에 commonOption을 덮어씀2) Overwrite commonOption in the new defaultOption we created

3) defaultOption에 commonOption을 덮어씀에 있어, option.extend가 명시하는 commonOptionPreset 으로부터 추가로 덮어쓸 오브젝트를 덮어씀3) Overwrite the commonOption in the defaultOption, overwrite the object to be overwritten additionally from the commonOptionPreset specified by option.extend

4) "3)"에 그리드 개별 옵션을 덮어씀4) Override grid individual options in "3)"

여기서, option.extend는 재사용 될 수 있는 옵션을 지시하는 속성이다. 재사용 되는 옵션의 유형에 따라서 commonOptionPreset에 이를 저장해 두는 것이며, option.extend는 저장해둔 재사용 가능 옵션을 지시하는 역할을 한다.Here, option.extend is an attribute indicating an option that can be reused. Depending on the type of option being reused, it is stored in commonOptionPreset, and option.extend is used to indicate the saved reusable option.

4. 그리드 로딩 상태 표현4. Grid loading status representation

본 발명의 실시예에 따른 그리드 렌더링 방법에서는, 그리드의 로딩에 오랜 시간이 소요되는 경우 이를 사용자에게 안내하기 위한 프로그레스 UI(Progress User Interface)를 먼저 표시한 후, 그리드 렌더링 작업을 수행하여, 사용자에게 그리드 렌더링 작업이 진행중임을 시각적으로 알린다.In the grid rendering method according to the embodiment of the present invention, when a long time is required for loading the grid, a progressive user interface (UI) for guiding the user to the user is displayed first, and then a grid rendering operation is performed, To visually indicate that the grid rendering operation is in progress.

5. Trial 버전 제약 암호화 메커니즘5. Trial Version Constraint Encryption Mechanism

Trial 버전에 대해서는 기본적인 형태의 난독화를 수행하여 제약 조건이 직접적으로 노출되지 않도록 한다. 구체적으로, 다음에서 제시하는 형식의 인코딩-디코딩을 수행하여, 외부 노출되는 소스 코드에서 제약 도메인 또는 제약 기간에 대한 정보가 직접적으로 검색되지 않도록 한다.For the trial version, obfuscation of the basic form is performed so that the constraint is not directly exposed. Specifically, encoding-decoding of the following format is performed so that information on the constraint domain or constraint period is not directly retrieved from the source code exposed from the outside.

5.1 인코딩5.1 encoding

인코딩 시에, 요청된 문자열의 character code 마다 곱하기 2 한 뒤 16진수로 변환하고, 각 숫자 사이에 16진수에 해당하지 않는 문자열을 랜덤하게 선택하여 넣는다.At the time of encoding, multiply each character code of the requested string by 2, convert it to hexadecimal number, and randomly select a string that does not correspond to hexadecimal number between each number.

5.2 디코딩5.2 Decoding

16진수가 아닌 문자열을 기준으로 숫자들을 분해하고, 각 단위 16진수 숫자들을 나누기 2 하여 개별 문자 character code를 추출하여 스트링(string)을 재조합한다.The digits are decomposed based on non-hexadecimal digits, and the digits of each hexadecimal digits are divided by 2 to extract the individual character codes and reassemble the strings.

한편, 제약의 적용시점은, 그리드 인스턴스 생성시 그리드의 이벤트 핸들러를 바인드하여 체크하거나, 쿼리가 실행될 때 체크한다.On the other hand, when the constraint is applied, the event handler of the grid is checked by binding or checking the query when the grid instance is generated.

또한, 도메인 제약을 위해 이를 읽어들일 때에는 다른 경로에 있는 해당 프로퍼티를 읽어온다. 그리고, 날짜 제약을 위해, 이를 읽어들일 때에는 다른 경로에 있는 난독화 스트링으로 치환한 제약기준 날짜에 해당하는 값을 추출한다.Also, when reading it for domain restrictions, it reads the corresponding property in a different path. And, for the date constraint, when reading it, it extracts the value corresponding to the constraint reference date which is replaced with the obfuscation string in another path.

6. 적용 가능한 시스템6. Applicable Systems

도 5는 본 발명의 다른 실시예에 따른 컴퓨팅 시스템을 도시한 도면이다. 도시된 컴퓨팅 시스템은, 도 1에 도시된 그리드 렌더링 방법을 수행하기 위한 시스템이다.5 is a diagram illustrating a computing system according to another embodiment of the present invention. The illustrated computing system is a system for performing the grid rendering method shown in Fig.

본 발명의 실시예에 따른 컴퓨팅 시스템은, 도 5에 도시된 바와 같이, 통신부(210), 표시부(220), 프로세서(230), 입력부(260) 및 저장부(270)를 포함하고, 프로세서(230)는 웹 브라우저(240)와 그리드 렌더러(250)를 실행시킨다.5, a computing system according to an embodiment of the present invention includes a communication unit 210, a display unit 220, a processor 230, an input unit 260, and a storage unit 270, 230 run the web browser 240 and the grid renderer 250.

통신부(210)는 외부 기기 또는 외부 네트워크에 연결하여 데이터 통신을 수행하는 수단이고, 표시부(220)는 프로세서(230)에 의한 처리 결과가 표시되는 디스플레이이다.The communication unit 210 is a means for performing data communication by connecting to an external device or an external network, and the display unit 220 is a display on which the processing result of the processor 230 is displayed.

입력부(260)는 사용자 입력을 프로세서(230)에 전달하는 입력 수단이고, 저장부(270)는 프로세서(230)가 처리할/처리한 데이터가 임시/영구 저장되는 저장매체이다.The input unit 260 is an input means for transmitting a user input to the processor 230 and the storage unit 270 is a storage medium in which data processed / processed by the processor 230 is temporarily / permanently stored.

컴퓨팅 시스템을 모바일 시스템(태블릿 PC, 스마트폰 등)으로 구현하는 경우, 표시부(220)와 입력부(260)를 하나로 통합, 이를 테면 터치스크린으로 구현할 수 있다. 나아가, 모바일 시스템이 아닌 경우(데스크 탑 PC 등)도 이와 같은 구현이 가능함은 물론이다.When the computing system is implemented as a mobile system (tablet PC, smart phone, etc.), the display unit 220 and the input unit 260 may be integrated into one, such as a touch screen. Furthermore, it is possible to implement such a non-mobile system (such as a desktop PC).

웹 브라우저(240)는 통신부(210)를 통해 웹 서버에 연결하여 서비스를 제공받는 웹 클라이언트로, 웹 서버가 제공하는 웹 페이지를 생성하여 표시부(220)에 표시한다.The web browser 240 is a web client connected to the web server through the communication unit 210 to provide a service, and generates a web page provided by the web server and displays the generated web page on the display unit 220.

그리드 렌더러(250)는 전술한 도 1에 도시된 그리드 렌더링 방법을 수행하여, 그리드를 웹 브라우저(240)가 생성하는 웹 페이지 상에 고속으로 렌더링하는 웹 클라이언트 라이브러리이다.The grid renderer 250 is a web client library that performs the grid rendering method shown in FIG. 1 described above to render a grid at high speed on a web page generated by the web browser 240. [

한편, 본 실시예에 따른 장치와 방법의 기능을 수행하게 하는 컴퓨터 프로그램을 수록한 컴퓨터로 읽을 수 있는 기록매체에도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다. 또한, 본 발명의 다양한 실시예에 따른 기술적 사상은 컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터로 읽을 수 있는 코드 형태로 구현될 수도 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터에 의해 읽을 수 있고 데이터를 저장할 수 있는 어떤 데이터 저장 장치이더라도 가능하다. 예를 들어, 컴퓨터로 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광디스크, 하드 디스크 드라이브, 등이 될 수 있음은 물론이다. 또한, 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터로 읽을 수 있는 코드 또는 프로그램은 컴퓨터간에 연결된 네트워크를 통해 전송될 수도 있다.It goes without saying that the technical idea of the present invention can also be applied to a computer-readable recording medium having a computer program for performing the functions of the apparatus and method according to the present embodiment. In addition, the technical idea according to various embodiments of the present invention may be embodied in computer-readable code form recorded on a computer-readable recording medium. The computer-readable recording medium is any data storage device that can be read by a computer and can store data. For example, the computer-readable recording medium may be a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical disk, a hard disk drive, or the like. In addition, the computer readable code or program stored in the computer readable recording medium may be transmitted through a network connected between the computers.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the present invention.

210 : 통신부 220 : 표시부
230 : 프로세서 240 : 웹 브라우저
250 : 그리드 렌더러 260 : 입력부
270 : 저장부
210: communication unit 220:
230: Processor 240: Web browser
250: Grid Renderer 260: Input
270:

Claims (10)

그리드(grid)를 구성하는 셀들 중, 웹 브라우저를 통해 화면에 렌더링할 셀들을 선별하는 단계;
선별된 셀들의 사이즈들을 고려하여, 상기 선별된 셀들이 렌더링될 위치들을 산출하는 단계; 및
상기 산출 단계에서 산출된 위치들을 이용하여, 상기 선별단계에서 선별된 셀들을 상기 화면에 셀 독립적으로 렌더링하는 단계;를 포함하는 것을 특징으로 하는 그리드 렌더링 방법.
Selecting cells to be rendered on a screen through a web browser among cells constituting a grid;
Calculating positions where the selected cells are to be rendered, taking into consideration sizes of the selected cells; And
And rendering cells selected in the selection step cell-independent on the screen by using the positions calculated in the calculating step.
삭제delete 청구항 1에 있어서,
상기 웹 브라우저 상에서 상기 그리드의 일부가 렌더링될 영역의 사이즈를 계산하는 단계;를 더 포함하고,
상기 선별 단계는,
상기 계산 단계에서 계산된 사이즈를 기초로, 상기 셀들을 선별하는 것을 특징으로 하는 그리드 렌더링 방법.
The method according to claim 1,
Calculating a size of an area in which the part of the grid is to be rendered on the web browser,
In the selecting step,
Wherein the cells are selected based on the size calculated in the calculating step.
청구항 3에 있어서,
상기 산출 단계는,
상기 선별된 셀들 중 최-좌측에 위치할 셀들의 좌변이 상기 영역의 좌변에 위치하도록, 상기 선별된 셀들이 렌더링될 위치들을 산출하는 것을 특징으로 하는 그리드 렌더링 방법.
The method of claim 3,
Wherein,
Wherein the positions of the selected cells are calculated so that the left side of the cells located at the leftmost of the selected cells is located at a left side of the area.
청구항 1에 있어서,
상기 그리드의 사이즈와 상기 렌더링 단계에서 렌더링된 셀들의 사이즈를 기초로, 스크롤 바의 크기와 위치를 결정하는 단계; 및
상기 결정 단계에서 결정된 크기와 위치에 따라, 상기 스크롤 바를 생성하여 표시하는 단계;를 더 포함하는 것을 특징으로 하는 그리드 렌더링 방법.
The method according to claim 1,
Determining a size and position of the scroll bar based on the size of the grid and the size of the cells rendered in the rendering step; And
And generating and displaying the scroll bar according to the size and position determined in the determining step.
청구항 5에 있어서,
상기 그리드를 구성하는 셀들을 상기 스크롤 바의 조작에 따라 단속적으로 변경하는 단계;를 더 포함하는 것을 특징으로 하는 그리드 렌더링 방법.
The method of claim 5,
And intermittently changing cells constituting the grid according to an operation of the scroll bar.
청구항 6에 있어서,
상기 변경 단계는,
상기 그리드를 구성하는 셀들 중 일부를 행 또는 열 단위로 사라지게 하는 것을 특징으로 하는 그리드 렌더링 방법.
The method of claim 6,
In the changing step,
Wherein a part of the cells constituting the grid disappear in units of rows or columns.
청구항 6에 있어서,
상기 변경 단계는,
상기 선별 단계와 상기 렌더링 단계에 소요되는 시간 보다 큰 시간을 주기로 수행되는 것을 특징으로 하는 그리드 렌더링 방법.
The method of claim 6,
In the changing step,
Wherein the rendering step is performed at a period longer than a time required for the selecting step and the rendering step.
그리드(grid)를 구성하는 셀들 중, 웹 브라우저를 통해 화면에 렌더링할 셀들을 선별하는 단계;
선별된 셀들의 사이즈들을 고려하여, 상기 선별된 셀들이 렌더링될 위치들을 산출하는 단계; 및
상기 산출 단계에서 산출된 위치들을 이용하여, 상기 선별단계에서 선별된 셀들을 상기 화면에 셀 독립적으로 렌더링하는 단계;를 포함하는 것을 특징으로 하는 그리드 렌더링 방법을 수행할 수 있는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
Selecting cells to be rendered on a screen through a web browser among cells constituting a grid;
Calculating positions where the selected cells are to be rendered, taking into consideration sizes of the selected cells; And
And rendering the selected cells on the screen in a cell-independent manner using the positions calculated in the calculating step. The computer-readable recording medium according to claim 1, Readable recording medium.
디스플레이; 및
그리드(grid)를 구성하는 셀들 중 웹 브라우저를 통해 상기 디스플레이에 렌더링할 셀들을 선별하고, 선별된 셀들의 사이즈들을 고려하여 상기 선별된 셀들이 렌더링될 위치들을 산출하며, 산출된 위치들을 이용하여 선별된 셀들을 상기 디스플레이에 셀 독립적으로 렌더링하는 프로세서;를 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
display; And
Among the cells constituting the grid, cells to be rendered on the display are selected through a web browser, positions of the selected cells are calculated in consideration of sizes of the selected cells, And rendering the cells in a cell-independent manner on the display.
KR1020160084648A 2016-07-05 2016-07-05 Method for Rendering a Grid in a Web Browser and Computing System applying the same KR101866033B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160084648A KR101866033B1 (en) 2016-07-05 2016-07-05 Method for Rendering a Grid in a Web Browser and Computing System applying the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160084648A KR101866033B1 (en) 2016-07-05 2016-07-05 Method for Rendering a Grid in a Web Browser and Computing System applying the same

Publications (2)

Publication Number Publication Date
KR20180004925A KR20180004925A (en) 2018-01-15
KR101866033B1 true KR101866033B1 (en) 2018-06-08

Family

ID=61001242

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160084648A KR101866033B1 (en) 2016-07-05 2016-07-05 Method for Rendering a Grid in a Web Browser and Computing System applying the same

Country Status (1)

Country Link
KR (1) KR101866033B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060043083A (en) * 2004-03-31 2006-05-15 마이크로소프트 코포레이션 Grid canvas

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060043083A (en) * 2004-03-31 2006-05-15 마이크로소프트 코포레이션 Grid canvas

Also Published As

Publication number Publication date
KR20180004925A (en) 2018-01-15

Similar Documents

Publication Publication Date Title
CA2773152C (en) A method for users to create and edit web page layouts
US10657313B2 (en) Method and system for editing virtual documents
US11216253B2 (en) Application prototyping tool
JP2020504889A (en) Software application development based on spreadsheets
US10210142B1 (en) Inserting linked text fragments in a document
US10049095B2 (en) In-context editing of output presentations via automatic pattern detection
WO2019144550A1 (en) Data entry optimizing method and device, computer device, and storage medium
CN102907069A (en) Method and system for executing a graphics application
CN111930378B (en) Method, device and system for realizing Web end project form designer
US10089120B2 (en) Widgets in digital dashboards
CN103559184A (en) Form page display method and device
WO2019144547A1 (en) Data entry method and apparatus, computer device and storage medium
US11321524B1 (en) Systems and methods for testing content developed for access via a network
CN103279455A (en) Spreadsheet style processing method and device
US9721311B2 (en) Web based data management
CN108089858B (en) Method and device for creating visual interface
US10956658B2 (en) Digital content editing of a document object model (DOM) based on object model comparison
CN113342249B (en) Content management method, device, equipment and storage medium capable of previewing in real time
EP3504637B1 (en) Dynamically render large dataset in client application
US8024158B2 (en) Management system and management method of CAD data used for a structural analysis
CN104346174A (en) Method for describing and reproducing on-line vector diagram modeling process
KR101866033B1 (en) Method for Rendering a Grid in a Web Browser and Computing System applying the same
JP4451925B1 (en) Guideline management device and guideline management program
CN103699520A (en) Font processing method for maintaining e-document layout
CN102193907A (en) Method and system for comparing manuscripts based on B/S (Browser/Server) structure

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right