5 minute read

โ€œํ•ด์น˜์› ๋‚˜..? ๐Ÿคจโ€


์ ์  ์Œ“์—ฌ๊ฐ€๋Š” Old generationโ€ฆ

Grafana ๋กœ ์„œ๋ฒ„๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•˜๋˜ ์ค‘, ์šด์˜ ์„œ๋ฒ„์˜ Old Generation ์˜์—ญ์ด ์ ์ฐจ ์Œ“์ด๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ Old Generation ์ด๋ž€ JVM ์˜ heap memory ์˜์—ญ ์ค‘ ํ•˜๋‚˜๋กœ,

GC(Garbage Collection) ์— ์˜ํ•ด ํšŒ์ˆ˜๋˜์ง€ ๋ชปํ•˜๊ณ  ์˜ค๋ž˜ ์‚ด์•„๋‚จ์€ ๊ฐ์ฒด๋“ค์ด ๋ชจ์ด๋Š” ์˜์—ญ์ž…๋‹ˆ๋‹ค.

image

Old Generation ์˜์—ญ์—์„œ ๋ฐœ์ƒํ•˜๋Š” GC ๋Š” major GC ํ˜น์€ full GC ๋ผ๊ณ  ํ•˜๋Š”๋ฐ,

์ด ๊ณผ์ •์—์„œ Stop - The - World(STW) ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ Application ์˜ ๋ชจ๋“  thread ๊ฐ€ ์ผ์‹œ์ •์ง€๋ฉ๋‹ˆ๋‹ค.

major GC ๋Š” Young Generation ์˜์—ญ์—์„œ ๋ฐœ์ƒํ•˜๋Š” minor GC ์— ๋น„ํ•ด ๋” ๊ธด STW ์‹œ๊ฐ„์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

๋Œ€์šฉ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ณผ์ •์—์„œ Old Generaiton ์˜์—ญ์—์„œ์˜ ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ์œผ๋กœ ์ธํ•ด

Out Of Memory (OOM) ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ์„œ๋ฒ„๊ฐ€ ๋‹ค์šด๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ตœ๊ทผ ์šฐ๋ฆฌ ์„œ๋น„์Šค์—์„œ๋„ ์ด์™€ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ์š”,

์ฃผ ์›์ธ์€ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ๋ฅผ Excel ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

Apache POI Library

heap dump

๋‹น์‹œ์— JVM heap dump ๋ฅผ ๋– ์„œ Old Gen ์— ์–ด๋– ํ•œ ๊ฐ์ฒด๊ฐ€ ์Œ“์ด๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ ์ž ํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค.

image

๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋˜ ๊ฐ์ฒด๋Š” Apache POI Library ๊ด€๋ จ ํด๋ž˜์Šค๋“ค์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ ์„œ๋น„์Šค์˜ Excel ํŒŒ์ผ ์ƒ์„ฑ API ์—์„œ Apache POI ์˜ XSSFWorkbook ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

Stack overflow: POI OutOfMemory Exception with XLSX

image

Apache POI Library ์˜ XSSFWorkbook ์€ Excel ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋“ค์„ ๋ฉ”๋ชจ๋ฆฌ์— ๋ชจ๋‘ tree map ์œผ๋กœ ๋กœ๋“œํ•˜์—ฌ ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์—,

๋ฐ์ดํ„ฐ์˜ ์–‘์ด ๋งŽ์•„์ง€๋ฉด ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ๋Š˜์–ด๋‚˜์„œ OOM ์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ ๊ฒƒ์ด์ฃ .

SXSSFWorkbook

Apache ์—์„œ๋Š” XSSFWorkbook ์™ธ์—๋„ SXSSFWorkbook ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

SXSSFWorkbook ์€ Streaming ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ์˜ ์ผ๋ถ€๋งŒ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œํ•˜๊ณ  ๋‚˜๋จธ์ง€๋Š” ์ž„์‹œํŒŒ์ผ๋กœ์จ ๋””์Šคํฌ์— ์ €์žฅํ•˜์—ฌ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰, ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆฌ์ง€ ์•Š์•„๋„ ๋˜๊ธฐ ๋•Œ๋ฌธ์— XSSFWorkbook ์— ๋น„ํ•ด ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ํฌ๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ,

๊ธฐ์กด์— ๋ฐœ์ƒํ•˜๋˜ OOM ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

XSSFWorkbook ์—์„œ๋Š” Excel read / write ๋ฅผ ๋ชจ๋‘ ์ง€์›ํ•˜๋Š”๋ฐ ๋ฐ˜ํ•ด

SXSSFWorkbook ์—์„œ๋Š” write ๋งŒ ์ง€์›ํ•œ๋‹ค๋Š” ๊ฒƒ๋„ ์ฃผ์š”ํ•œ ์ฐจ์ด์ ์ธ๋ฐ์š”,

์šฐ๋ฆฌ ์„œ๋น„์Šค์˜ ์š”๊ตฌ์‚ฌํ•ญ์€ Excel Write ์˜€๊ธฐ ๋•Œ๋ฌธ์—

SXSSFWorkbook ์œผ๋กœ ๊ต์ฒดํ•˜์—ฌ ์„œ๋ฒ„ ๋ฉ”๋ชจ๋ฆฌ์˜ ๋ถ€๋‹ด์„ ์ค„์ด๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค

์ˆ˜๋งŽ์€ ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ

ํ”„๋กœ์ ํŠธ ์ „๋ฐ˜์— ๊ฑธ์ณ ํฉ์–ด์ ธ ์žˆ๋Š” ์—‘์…€ ๊ด€๋ จ ์ฝ”๋“œ๋“ค์€ ์ค‘๋ณต๋„์™€ ๋ณต์žก์„ฑ์ด ๋งค์šฐ ๋†’์•˜์Šต๋‹ˆ๋‹ค.

์ด๋ฅผ ์ „๋ถ€ ๋‹ค ๊ฑท์–ด๋‚ด๊ณ  ๋ฆฌํŒฉํ† ๋งํ•˜์—ฌ ์—‘์…€ ํŒŒ์ผ ๊ด€๋ จ ๋กœ์ง์„ ๋ช…ํ™•ํ•˜๊ณ  ์žฌ์‚ฌ์šฉ์ด ์‰ฌ์šด ํ˜•ํƒœ๋กœ ๊ฐœ์„ ํ•˜๊ณ ์ž ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ‰๊ท ์ ์œผ๋กœ 200~300 ๋ผ์ธ์— ๋‹ฌํ•˜๋Š” ์•ก์…€ ํŒŒ์ผ ์ƒ์„ฑ ์„œ๋น„์Šค ์ฝ”๋“œ๋“ค์ด ๊ฐ ๋„๋ฉ”์ธ(ํšŒ์›, ๊ฒฐ์ œ, ์ฟ ํฐ, โ€ฆ) ๋ณ„๋กœ ์กด์žฌํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ฐ ๋ฉ”์„œ๋“œ๋งˆ๋‹ค 100 ~ 150 ๋ผ์ธ์€ Excel ๊ด€๋ จ ์ดˆ๊ธฐํ™” ๋กœ์ง์ด ์ค‘๋ณต๋˜์–ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๋Š” ๊ด€๋ฆฌํ•˜๊ธฐ ์–ด๋ ต๊ณ ,

๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋ฅผ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ์„ ์•ˆ์ •์ ์œผ๋กœ ์šด์˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ด€๋ฆฌ ํฌ์ธํŠธ๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ์‚ฌ๋ก€์—์„œ๋Š” ์—‘์…€ ๊ด€๋ จ ๊ธฐ๋Šฅ์„ ์บก์Šํ™” ๋ฐ ์ถ”์ƒํ™”ํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

๋‚ด๋ถ€ ๊ตฌํ˜„์€ ์ˆจ๊ธฐ๊ณ  ์™ธ๋ถ€์—์„œ๋Š” ๋‹จ์ˆœํ•œ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ๋งŒ์œผ๋กœ ์—‘์…€ ํŒŒ์ผ ๋ Œ๋”๋ง์ด ๊ฐ€๋Šฅํ•˜๋Š” ๊ฒƒ์ด ์ด์ƒ์ ์ธ ํ˜•ํƒœ๋ผ๊ณ  ํŒ๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์—‘์…€ ํŒŒ์ผ์€ ์š”๊ตฌ์‚ฌํ•ญ๋งˆ๋‹ค ํ—ค๋”์™€ ๋ฐ”๋””๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ๊ณ ๋ คํ•ด์ค„ ํ•„์š”๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

Template Method Pattern

์—‘์…€ ํŒŒ์ผ ์ƒ์„ฑ๊ณผ ๋ Œ๋”๋ง์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆœ์„œ๋ฅผ ์ •์˜ํ•˜๊ณ ,

์—‘์…€ ๋ฐ์ดํ„ฐ ์š”๊ตฌ์‚ฌํ•ญ ๋ณ„๋กœ ์„ธ๋ถ€ ๊ตฌํ˜„์— ๋Œ€ํ•œ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์ƒํ™ฉ์„ ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋””์ž์ธ ํŒจํ„ด์ด ๋ฐ”๋กœ Template method pattern ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

Template method pattern

image

์—‘์…€ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ๋ Œ๋”๋งํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ˆœ์„œ๋ฅผ ์ •์˜ํ•˜๊ณ ,

์ปค์Šคํ„ฐ๋งˆ์ด์ง•์ด ํ•„์š”ํ•œ ๊ฐ๊ฐ์˜ step ์— ๋Œ€ํ•ด์„œ๋งŒ subclass ์—์„œ ๋”ฐ๋กœ ๊ตฌํ˜„ํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

public abstract class ExcelViewTemplate<T> {

    private final SXSSFWorkbook workbook;
    private SXSSFSheet sheet;

    public ExcelViewTemplate() {
       // ์ดˆ๊ธฐํ™” ๋กœ์ง ์ž‘์„ฑ
    }

    public final void renderData(List<T> dataList) {
       // ๋ Œ๋”๋ง ๋กœ์ง์„ ์ž‘์„ฑ
    }

    protected abstract void renderHeader(Workbook workbook, Sheet sheet, CellStyle cellStyle);

    protected abstract void renderBody(Row row, T data, CellStyle cellStyle);

}

ํšŒ์› ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค๊ณ  ๊ฐ€์กํ•˜์ฃ .

public class UserExcelView extends ExcelViewTemplate<UserExcelDto> {
    @Override
    protected void renderHeader(Workbook workbook, Sheet sheet, CellStyle cellStyle) {
       // UserExcelDto ์— ๋งž๊ฒŒ ๊ตฌํ˜„
    }

    @Override
    protected void renderBody(Row row, UserExcelDto data, CellStyle cellStyle) {
      // UserExcelDto ์— ๋งž๊ฒŒ ๊ตฌํ˜„
    }

}

UserExcelDto ๋Š” ์—‘์…€ ๋ฐ์ดํ„ฐ ์šฉ๋„๋กœ ์‚ฌ์šฉํ•˜๋Š” dto ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. (์˜ˆ์‹œ๋กœ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.)

๊ฐ๊ฐ์˜ ํ—ค๋”๊ฐ€ ์–ด๋–ค title ์„ ๊ฐ€์ง€๋Š”์ง€, ๋ช‡ ๋ฒˆ์งธ ์—ด์— ํ•ด๋‹นํ•˜๋Š” ์ง€ ๋ช…์‹œํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ณ„๋„์˜ ExcelColumnInfo ํด๋ž˜์Šค๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

public interface ExcelColumnInfo {
  
    String getText(); // ์ด๋ฆ„

    int getColumn(); // ์—ด ์ˆœ์„œ

}

@Getter
@RequiredArgsConstructor
public enum UserExcelColumnInfo implements ExcelColumnInfo {

    YOUR_HEADER1("ํ—ค๋”1", 0),
    YOUR_HEADER2("ํ—ค๋”2", 1),
    ;

    private final String text;
    private final int column;

    public static List<UserExcelColumnInfo> getAllColumnInfos() {
        return Arrays.asList(values());
    }
}

ํ•„์š”์— ๋”ฐ๋ผ CellStyle ์„ ์ง€์ •ํ•˜๋Š” ํ•„๋“œ๋ฅผ ๋ณ„๋„๋กœ ๋„ฃ์–ด, ํ—ค๋”๋ณ„๋กœ ๋‹ค๋ฅธ ํฐํŠธ, ํ…Œ๋‘๋ฆฌ, ๋ฐฐ๊ฒฝ์„ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์™€ ๊ฐ™์ด ํ…œํ”Œ๋ฆฟ ๋ฉ”์„œ๋“œ ํŒจํ„ด์„ ํ†ตํ•ด ์ถ”์ƒํ™” ํ•œ ExcelView ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•˜๋ฉด ์„œ๋น„์Šค ๋กœ์ง์ด ๋งค์šฐ ๊ฐ„๋‹จํ•ด์ง‘๋‹ˆ๋‹ค.

๊ธฐ์กด์—๋Š” ์—‘์…€ ํŒŒ์ผ์„ ๋ Œ๋”๋งํ•˜๋Š” ๋ฉ”์„œ๋“œ๋งˆ๋‹ค 200~300 ๋ผ์ธ์ด์—ˆ๋‹ค๋ฉด

ํ˜„์žฌ๋Š” ๊ฐ๊ฐ 30 ๋ผ์ธ ์ดํ•˜๋กœ ํฌ๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ด€๋ฆฌ ํฌ์ธํŠธ๋„ ์‘์ง‘๋˜์–ด, ์œ ์ง€๋ณด์ˆ˜์—๋„ ๋”์šฑ ์œ ๋ฆฌํ•ด์กŒ์ฃ .

์œ„์™€ ๊ฐ™์€ ๊ตฌ์กฐ๋กœ ๋ฆฌํŒฉํ† ๋งํ•œ ํ›„,

๊ฐœ๋ฐœ์šฉ์œผ๋กœ ๋”ฐ๋กœ ๋„์›Œ๋‘” ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ 5๋งŒ ๊ฐœ์— ๋Œ€ํ•˜์—ฌ ์—‘์…€ ํŒŒ์ผ ์š”์ฒญ์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ์š”์ฒญํ•˜๋ฉฐ ์„œ๋ฒ„ ํž™ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰๊ณผ ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•ด๋ณธ ๊ฒฐ๊ณผ,

๊ธฐ์กด์˜ ๋ ˆ๊ฑฐ์‹œ API ์™€ ๋‹ฌ๋ฆฌ ๊ต‰์žฅํžˆ ์•ˆ์ •์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์ฒ˜๋ฆฌ ์†๋„ ๋˜ํ•œ ๊ธฐ์กด์—๋Š” 40 ~ 1๋ถ„ ์ด์ƒ์˜ API ์‘๋‹ต ์†๋„์˜€์ง€๋งŒ,

๊ฐœ์„ ๋œ ํ˜„์žฌ๋Š” ์ตœ๋Œ€ 10์ดˆ ์ด๋‚ด๋กœ ์‘๋‹ตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. (๋ฐ์ดํ„ฐ 5~6๋งŒ๊ฐœ ๊ธฐ์ค€)


๋ณธ ์ž‘์—…์˜ ์ง„ํ–‰ ๊ณผ์ •์—์„œ, ํ•ด๊ฒฐํ•ด์•ผ ํ–ˆ๋˜ ๋ฌธ์ œ์ƒํ™ฉ๊ณผ ์ œ๊ฐ€ ํ’€๊ณ ์ž ํ–ˆ๋˜ ๋ฐฉํ–ฅ๊ณผ ์ •ํ™•ํžˆ ์ผ์น˜ํ•œ ์‚ฌ๋ก€ ์šฐ์•„ํ•œ ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ; ์—‘์…€ ๋‹ค์šด๋กœ๋“œ ๋ชจ๋“ˆ ๊ฐœ๋ฐœ๊ธฐ ๋ฅผ ๋ฐœ๊ฒฌํ•˜์˜€๊ณ ,

์•„์ฃผ ๋งŽ์€ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๋‹น ์ž๋ฃŒ์—์„œ๋Š” Reflection ๊ณผ Custom Annotation ์„ ์ด์šฉํ•˜์—ฌ, ์—‘์…€ ๊ด€๋ จํ•ด์„œ ํ•œ์ธต ๋” ๊ฐ„ํŽธํ•˜๊ฒŒ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ณ ๋„ํ™” ํ•˜๋Š” ๊ณผ์ •์„ ์†Œ๊ฐœํ•˜๊ณ  ์žˆ๋Š”๋ฐ์š”..

(๋งˆ์ง€๋ง‰์—๋Š” ๋„ˆ๋ฌด ๊ฐ„ํŽธํ•ด์„œ ๊ฐ๋™๋ฐ›์Œ)

ํ•ด๋‹น ์ž‘์—…์— ์†Œ์š”ํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ์–ด์ง„ ์‹œ๊ฐ„์ด ์ ์—ˆ๊ณ 

๋‹น์žฅ ๋‹ค๋ฅธ ๊ธ‰ํ•œ ์ด์Šˆ๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ–ˆ๊ธฐ์—

์—‘์…€ ๋ชจ๋“ˆ์„ ์ถ”์ƒํ™”ํ•˜๋Š” ๋‹จ๊ณ„๊นŒ์ง€๋งŒ ๊ณ ๋„ํ™”ํ•˜๊ธฐ๋กœ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์ง€๊ธˆ์€.. ๋‹น์žฅ ๊ธ‰ํ•œ ๋ถˆ์„ ๊ป์œผ๋‹ˆ

๋” ๊ธ‰ํ•œ ๋ถˆ์„ ๋„๊ณ  ๋‹ค์‹œ ๋Œ์•„์™€์•ผ๊ฒ ๋„ค์š”.. ๐Ÿ˜…


์˜ค๋Š˜์€ ํ”„๋กœ์ ํŠธ ์ „์ฒด์ ์œผ๋กœ ์–ฝํ˜€์žˆ๋˜ ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ 

์—‘์…€ ๋ชจ๋“ˆ์„ ์ƒˆ๋กœ ๊ฐœ๋ฐœํ•œ ํ›„๊ธฐ์— ๋Œ€ํ•ด์„œ ์ด์•ผ๊ธฐํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

์•„์ง ํšŒ์‚ฌ์— ํ•ฉ๋ฅ˜ํ•œ ์ง€, ์ธํ„ด์œผ๋กœ๋Š” 4๊ฐœ์›” ๋˜์—ˆ๊ณ  ์ •๊ทœ์ง์œผ๋กœ๋Š” 1~2์ฃผ ๋ฐ–์— ๋˜์ง€ ์•Š์•˜๋Š”๋ฐ์š”,

๊ทธ๋Ÿผ์—๋„ ์ž์นซ ์ž˜๋ชปํ•˜๋ฉด ํ”„๋กœ์ ํŠธ ์ „๋ฐ˜์ ์œผ๋กœ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์„๋งŒํผ

์˜ํ–ฅ๋ฒ”์œ„๊ฐ€ ์ปธ๋˜ ์ž‘์—…์„,

์ง์ ‘ ๊ณ„ํšํ•˜์—ฌ ํ˜ผ์ž ๋‹ด๋‹นํ•˜์—ฌ ๋ฐฐํฌ๊นŒ์ง€ ๋งˆ๋ฌด๋ฆฌ์ง€์—ˆ๋Š”๋ฐ์š”..

์ด๊ฒƒ์ด ์Šคํƒ€ํŠธ์—…์˜ ๋งค๋ ฅ์ธ๊ฑธ๊นŒ์š”..

๋ฌดํ•œํ•œ ์ž์œ ์™€ ์ฑ…์ž„์ด ๊ณต์กดํ•˜๋Š” ๊ณณ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ์ž‘์—…์ด ์„ฑ๊ณต์ ์œผ๋กœ ๋งˆ๋ฌด๋ฆฌ๋˜์–ด ์„œ๋ฒ„ ์•ˆ์ •ํ™”์— ๊ธฐ์—ฌํ•œ ์ ์ด ์ •๋ง ๋‹คํ–‰์Šค๋Ÿฝ๋„ค์š”.

์ƒˆ๋กœ์šด ์—‘์…€ ๋ชจ๋“ˆ๋กœ์˜ ๋ฆฌํŒฉํ† ๋ง ๊ณผ์ •์€ ์ •๋ง ์žฌ๋ฐŒ์—ˆ๊ณ , ๊ทธ๋ ‡๊ฒŒ ์–ด๋ ต์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋‹ค๋งŒ ๊ฐ€์žฅ ํž˜๊ฒจ์› ๋˜ ๋ถ€๋ถ„์€ ์ค‘์š”ํ•œ ๋น„์ง€๋‹ˆ์Šค ๋กœ์ง์—๋„ ์–ฝํ˜€์žˆ๋˜ ๊ณ ๋Œ€์˜ ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๊ณ  ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค..

์ด๋Ÿด๋•Œ ๋„์›€์ด ๋˜๋Š” ๊ฒƒ์€ ๋””ํ…Œ์ผํ•˜๊ฒŒ ์ž˜ ์ž‘์„ฑ๋œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ผ ํ…๋ฐ์š”,

์šฐ๋ฆฌ ์Šคํƒ€ํŠธ์—…์€ ์•„์ง ์ดˆ๊ธฐ ๋‹จ๊ณ„๋ผ

๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ ์ธ๋ ฅ์ด ๋„ˆ๋ฌด ์ ๊ณ , ์š”๊ตฌ์‚ฌํ•ญ์€ ์ •๋ง ๋งŽ์€ ํƒ“์—

์Šฌํ”„๊ฒŒ๋„ ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€๊ฐ€ ์•„์ง์€ ๋งค์šฐ ๋‚ฎ์€๋ฐ์š”..

์ด๋Ÿฌํ•œ ์ƒํ™ฉ์—์„œ์˜ ๊ณผ๊ฐํ•œ ๋ฆฌํŒฉํ† ๋ง์€ ํฐ ๋ถ€๋‹ด์œผ๋กœ ๋‹ค๊ฐ€์™”์Šต๋‹ˆ๋‹ค.

๋น„์ง€๋‹ˆ์Šค ๋กœ์ง์„ ์ •๋ง ๋‹ค ์•Œ๊ณ  ์žˆ์ง€ ์•Š์œผ๋ฉด,

์˜ˆ์ƒํ•˜์ง€ ๋ชปํ•œ ๋ถ€๋ถ„์—์„œ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด์—ˆ์ฃ ..

์ด ๋ถ€๋‹ด๊ฐ์„ ์˜จ์ „ํžˆ ๋Š๋ผ๋ฉฐ,

๋งค์šฐ ์กฐ์‹ฌ์Šค๋Ÿฝ๊ฒŒ ๋ ˆ๊ฑฐ์‹œ๋ฅผ ๊ฑท์–ด๋‚ด๊ณ  ๊ฒฐ๊ตญ ๋ชจ๋‘ ์ œ๊ฑฐํ•˜๋Š” ๋ฐ์— ๋‹คํ–‰ํžˆ ์„ฑ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค.

์—ญ์‹œ.. ์ž˜ ๋งŒ๋“ค์–ด์ง„ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•œ ์ง€ ๋‹ค์‹œ ํ•œ๋ฒˆ ๊นจ๋‹ซ๊ฒŒ ๋˜๋Š” ๊ณ„๊ธฐ์˜€์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ํšŒ์‚ฌ์— ์žˆ๋Š” ๋™์•ˆ,

ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ž˜ ๊ตฌ์ถ•ํ•˜๊ณ 

ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€๋ฅผ ์ตœ์†Œ 7~80% ๊นŒ์ง€๋Š” ์˜ฌ๋ฆฌ๊ณ  ์‹ถ์€ ๊ฐœ์ธ์ ์ธ ๋ชฉํ‘œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ •๋ง ๋งŽ์€ ์š”๊ตฌ์‚ฌํ•ญ๊ณผ ํ”„๋กœ์ ํŠธ๊ฐ€ ์Ÿ์•„์ง€๋Š” ํ™˜๊ฒฝ์—์„œ,

ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ์— ์Ÿ์„ ์‹œ๊ฐ„์ด ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์กฐ๊ธˆ ๋ถ€์กฑํ•˜๊ฒŒ ๋Š๊ปด์ง€๋Š” ๊ฒƒ์€ ์‚ฌ์‹ค์ด์ง€๋งŒ

์žฅ๊ธฐ์ ์œผ๋กœ๋Š” ๊ฒฐ๊ตญ ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์„ ๊ฐ€์†ํ™” ํ•ด์ฃผ๋Š” ๊ฒƒ์ด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฏ€๋กœ

๊ผญ ํ•ด๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผ๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ† ์Šค์—์„œ ์˜ฌ๋ฆฐ ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ 100% ์šด์˜๊ธฐ ์˜์ƒ์„ ๋‹ค์‹œ ํ•œ๋ฒˆ ๋ณด๋ฉด์„œ ๋งˆ์Œ์„ ๋‹ค ์žก์•„์•ผ๊ฒ ๋„ค์š”


Reference

์šฐ์•„ํ•œ ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ; ์—‘์…€ ๋‹ค์šด๋กœ๋“œ ๋ชจ๋“ˆ ๊ฐœ๋ฐœ๊ธฐ

Categories:

Updated:

Leave a comment