๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Project ESG+AI/[์‚ผ์ •KPMG]ESG ๋ฐ์ดํ„ฐ ํ™œ์šฉ ํ’€์Šคํ… ๊ฐœ๋ฐœ

8์ผ์ฐจ.

by GreenJin_S2 2025. 10. 20.

6๊ฐœ์›” ๋’ค์— ๋ฐ”๋กœ ์ฝ”๋”ฉ ๋ชป์งฌ

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์ตœ์†Œ 2๊ฐœ ์ด์ƒ

 

์‚ฌ๋žŒ- ๊ฐ์ฒด-์˜ค๋ธŒ์ ํŠธ, ๊ธฐ๋Šฅ์€ ์›€์ง์ผ ์ˆ˜ ์žˆ์Œ. 

์•‰์œผ๋ฉด-์—˜๋ฆฌ๋จผํŠธ, 

 

๋””์Šคํฌ-์ž์—ฐ์–ด

 

*๋Ÿฌ๋‹์ŠคํŒŒํฌ ์ฑ…

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค-๋””์Šคํฌ

์Šคํ‚ค๋งˆ-๋””์Šคํฌ

 

 

Html์„ thymeleaf๋กœ ๋ฐ”๊ฟˆ

์Šคํ”„๋ง ๋ฐธ๋ฅ˜ 

 

jpa

๊ฐ์ฒด์ง€ํ–ฅ๊ธฐ์ˆ -OOP

๋งˆ์ด๋ฐ”๋””์Šค๋Š” OOP๊ฐ€ ์•„๋‹ˆ๋ผ ์‹œ์žฅ์—์„œ ํ‡ด์ถœ๋จ

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ธฐ์ˆ -OOP์•„๋‹˜

 

๋ฒ ์ด์Šค๋Š” ๋””์Šคํฌ์ด๊ณ 

๋ ˆํผ์ง€ํ† ๋ฆฌ๋Š” ๋ฉ”๋ชจ๋ฆฌ

 

** ๋ ˆํผ์ง€ํ† ๋ฆฌ- “์ €์žฅ์†Œ” ๋˜๋Š” “๋ณด๊ด€์†Œ”๋ผ๋Š” ์˜๋ฏธ์˜ˆ์š”. ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ๋Š” ํ”„๋กœ์ ํŠธ์˜ ์ฝ”๋“œ, ๋ฌธ์„œ, ํŒŒ์ผ ๋“ฑ์„ ๋ชจ์•„๋‘๊ณ  ๋ฒ„์ „(๋ณ€๊ฒฝ ์ด๋ ฅ)๊นŒ์ง€ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์†Œ

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ž๋ฐ”๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฐ์ฒด: ์ปดํŒŒ์ผ

 

*

์ปดํŒŒ์ผ(compile) ์ด๋ž€,
์‚ฌ๋žŒ์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด(๊ณ ๊ธ‰์–ธ์–ด) ๋ฅผ
์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด(๊ธฐ๊ณ„์–ด) ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์ด์—์š”.

์ฆ‰,

“์‚ฌ๋žŒ์ด ์“ด ์ฝ”๋“œ๋ฅผ ์ปดํ“จํ„ฐ๊ฐ€ ์•Œ์•„๋“ฃ๊ฒŒ ๋ฒˆ์—ญํ•˜๋Š” ์ผ”
์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

 

#  ๋Œ€ํ‘œ์ ์ธ ํŒŒ์ดํ”„๋ผ์ธ

ํƒ€์ž„๋ฆฌํ”„ - ์ปจํŠธ๋กค๋Ÿฌ - ์„œ๋น„์Šค - ๋ ˆํฌ์ง€ํ† ๋ฆฌ - DB

 

-->์—ฌ๊ธฐ์„œ ํ™•์žฅ๋˜๋ฉด AI

 


๋ฌด์ง€์„ฑ์œผ๋กœ ํŒจํ„ด ์žก๊ณ  ๊ทธ๋Œ€๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ ์ค‘์š”!

ํŒจํ„ด์ด ๊นจ์ง€๋ฉด error ์ƒ๊ธฐ๋Š” ๊ฒƒ์„ ์บ์น˜ํ•ด์„œ ๋งŒ๋“œ๋Š” ๊ฒƒ

 

 

 

 

์—”ํ‹ฐํ‹ฐ ํŒŒ์ผ๋„ ๋งŒ๋“ค๊ธฐ Entity

 

๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ƒ์„ฑ

 

 

DTO์—์„œ ์ด๋ถ€๋ถ„ Entity๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ

 

 

- ์ƒ์ˆ˜๋Š” ์˜คํ”ˆ, but ์ˆจ๊ธฐ๊ธฐ ์œ„ํ•˜์—ฌ private์‚ฌ์šฉํ•จ

- public ์œผ๋กœ ํ•˜๋Š” ์ด์œ ๋Š” ๋ถˆ๋ณ€์˜ ๊ฐ’์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ

 

entity ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ- 

 

 

์ด๋ ‡๊ฒŒ ํ•˜๋Š” ์ด์œ ? ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์ธ์‹์ด ๋˜๋ ค๋ฉด @ Controller 

@Repository ์ถ”๊ฐ€

 

 

Messenger ์ถœ๋ ฅ๊ฐ’์„ ๋‚ธ๋‹ค๋Š” ๊ฒƒ

๋ณด์—ฌ์ค€๋‹ค๋Š” ๊ฒƒ

 

์ด๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”!!!

service-DTO

repository-Entity

 

 

 

1. kaggle์—์„œ ํŒŒ์ผ ๋‹ค์šด ๋ฐ›๊ธฐ

 

**

2. csvํŒŒ์ผ์„ ์ž๋ฐ”๋กœ ๋ฐ”๊พธ๋Š” ์ผ ๋งŽ์ด ํ•˜๊ฒŒ ๋  ๊ฒƒ์ž„! ai๋กœ ํ•ด์•ผํ•จ


์Šคํ”„๋ง๋ถ€ํŠธ์—์„œ ์ปจํŠธ๋กค๋Ÿฌ, ์„œ๋น„์Šค, ๋ ˆํฌ์ง€ํ† ๋ฆฌ๊ฐ€ ํŒŒ์ดํ”„๋ผ์ธ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ณ , DTO, Entity๋„ ์ž‘์„ฑ๋˜์–ด ์žˆ์–ด. ์ด๋•Œ ์ปจํŠธ๋กค๋Ÿฌ์— csvํŒŒ์ผ์„ ์—…๋กœ๋“œํ•ด์„œ, ํŒŒ์ดํ”„๋ผ์ธ์„ ํ†ตํ•ด DB๋กœ ์ด๋™์‹œํ‚ค๊ณ  ์‹ถ์–ด. ๊ณผ์ •์„ ์ดˆ๋ณด์ž์—๊ฒŒ ์•Œ๋ ค์ฃผ๋“ฏ์ด ์•Œ๋ ค์ค˜.

 

1๏ธโƒฃ  ์ „์ฒด ํ๋ฆ„ ์š”์•ฝ

  1. ์‚ฌ์šฉ์ž๊ฐ€ CSV ํŒŒ์ผ ์—…๋กœ๋“œ → /api/csv/upload
  2. Controller๊ฐ€ MultipartFile ๋ฐ›์Œ → Service ํ˜ธ์ถœ
  3. Service๊ฐ€ CSV ์ฝ๊ณ  → DTO ์ƒ์„ฑ → Entity ๋ณ€ํ™˜ → Repository ์ €์žฅ
  4. Repository๊ฐ€ DB์— Entity ์ €์žฅ
  5. DB์— CSV ๋ฐ์ดํ„ฐ๊ฐ€ ์ตœ์ข…์ ์œผ๋กœ ๋“ค์–ด๊ฐ

 

 

๋นŒ๋“œ๊ทธ๋ž˜๋“ค-ํ•œ ๋ฌธ๊ตฌ ์ถ”๊ฐ€

commons-csv ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ทธ๋ž˜๋“ค์„ ์•Œ๋ ค์ค˜

 

    implementation 'org.apache.commons:commons-csv:1.10.0'

 

 

์ปค์„œ์— @๋นŒ๋“œ๊ทธ๋ž˜๋“ค - ๊ทธ๋ž˜๋“ค์„ ์—…๋ฐ์ดํŠธ ์‹œ์ผœ์ค˜

 

์•„๊นŒ ๋‹ค์šด๋ฐ›์€ ํŒŒ์ผ ์ค‘์— train ๋Œ์–ด์„œ staticsํด๋”์— ๋„ฃ์–ด์คŒ

 

 

 

@๋ ˆ์ง€์Šคํ„ฐ์ปจํŠธ๋กค๋Ÿฌ.java ์—ฌ๊ธฐ์— @train.csv ๋งจ์œ„์—์„œ๋ถ€ํ„ฐ 5๋ช…๋งŒ ์ปจํŠธ๋กค๋Ÿฌ์— ํ”„๋ฆฐํŠธํ•˜๋„๋ก run์„ ์‹คํ–‰ํ•˜๋ฉด ์ž‘๋™ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์ค˜

commons-csv:1.10.0์„ ์ด์šฉํ•ด์ค˜ 

 

@RegisterController.java ์—ฌ๊ธฐ์— @train.csv ๋งจ์œ„์—์„œ๋ถ€ํ„ฐ 5๋ช…๋งŒ ์ปจํŠธ๋กค๋Ÿฌ์— ํ”„๋ฆฐํŠธํ•˜๋„๋ก run์„ ์‹คํ–‰ํ•˜๋ฉด ์ž‘๋™ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์ค˜

 

@registerController -์—๋Ÿฌ๋ฅผ ์ฒ˜๋ฆฌํ•ด์ค˜

 

-์—๋Ÿฌ๋‚˜์˜ฌ๋•Œ cdm์น˜๋Š” ํ™”๋ฉด์— ์ด๊ฑฐ ์ณ์„œ ํ™•์ธํ•ด์ฃผ๋Š” ๊ฒƒ sysdm.cpl ,3

*๋‚˜๋Š” ์—๋Ÿฌ ์•ˆ๋–ด์Œ!!

 

 

Run ๋ˆ„๋ฅด๊ณ  register 

 

 

 


@RegisterController.java
์ด ์ฝ”๋“œ๋ฅผ List์™€ Map์œผ๋กœ ๋‹ค์‹œ ์ฝ”๋“œ ์งœ์ค˜

 

๋ฆฌ์ŠคํŠธ ์•ˆ์— ์žˆ๋Š” ๋งต์„ ๋ญ๋ผํ•˜๋‚˜? ์—˜๋ฆฌ๋จผํŠธ

๋ฐ–์— ์žˆ์„๋•Œ๋Š”? ๋งต

 

 

 

ํ‚ค<๋ฐธ๋ฅ˜>

 

 

 

list<>

list<map>

 

 

 

 

 


 

charAt(int index)

index ์ž๋ฆฌ-7๋ฒˆ์งธ

 

jumin.charAt(index:7)

 

if(){}

else if(){}

else(){}

 

 

๐Ÿ‘‡

๐Ÿ’ก 1๏ธโƒฃ ๋‹จ์ถ•ํ‚ค๋กœ ํ•œ ์ค„ ๋ณต์‚ฌ

๐Ÿ‘‰ Windows / Linux

Shift + Alt + ↓ (์•„๋ž˜๋กœ ๋ณต์‚ฌ)
Shift + Alt + ↑ (์œ„๋กœ ๋ณต์‚ฌ)
 
 

 

 

 

 

int a = 0; (์‹)

if (a>2) {;} (์กฐ๊ฑด๋ฌธ)

๋‘ ๊ฐœ๋ฅผ ํ•ฉํ•˜๋ฉด(์•Œ๊ณ ๋ฆฌ์ฆ˜)

 

switch ๋ฌธ์ด ๋” ๊ฐ„๋‹จํ•ด์„œ 1์ˆœ์œ„๋กœ switch๋ฌธ์„ ํ™œ์šฉํ•  ๊ฒƒ!

 

 

for๋ฌธ๊ณผ while๋ฌธ-๋‚ด์ผ

 

 ๊ตฌ๊ธ€๋…์Šค+์Šฌ๋ž™ ์กฐํ•ฉ