

api ๋จผ์ !
์ฐํด๋ฆญํด์ open git bash here

์ฐฝ๋จ๋ฉด cursor . (ํ ์นธ ๋์ฐ๊ธฐ!)
* ๋ฌธ์-demoํ์ผ์์ ๋ชจ๋ ํ์ผ! ๋ค ! src ํ์ผ ๋ณต์ฌํ๊ณ ๋ด๊ฐ ๋ง๋ api ํ์ผ์ ๋ถ์ฌ๋ฃ๊ธฐ!
์์/ ๋ถ์
๋์ด์ ์ชผ๊ฐค ์ ์๋ ์ง์


* static-์ด๋ฏธ์ง
* templates-html๋ง ๋ค์ด๊ฐ

ํด๋ ๋ง๋ค๊ธฐ images/ styles
๋ง๋ค๊ณ ์ถ์ ์ปจ์ ์ผ๋ก ํํ์ด์ง ํ๋ ๋ง๋ค๊ธฐ
-์ธ๋ฑ์ค๊ฐ ์ ค ํฐ ๊ฐ๋ ์ index





ํ ํ๋ฆฟ์ ์ด์ง๋ถ๋ฅ๋ฒ์ผ๋ก ์ธ๋ฑ์ค ํ์ผ๊ณผ ํด๋๋ก ์๋ถํ ํ ํ๋กฌํํธ๋ก ์ธ๋ฑ์ค ํ์ผ์ ์์ฑํจ. index.html ์ ๊ด๊ณ ๋ํ์ฌ ํํ์ด์ง๋ฅผ mvp ๋ก ์์ฑํ๋ ค๊ณ ํด. ์คํฌ๋ฆฝํธ ์์ด, ๊ด๊ณ ๋ํ์ฌ ์ธํธ๋ก ํ๋ฉด์ ์ฝ๋ฉํด์ค. 251013


์ด ํ์ผ์ html๋ก ์คํํ ๊ฒ์ ์ ๋๋๋ฐ, localhost ๋ก ์คํํ ๊ฒ์ ์ด๋ ๊ฒ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ์ด์ ๋ฅผ ์๋ ค์ฃผ๊ณ , ์์ ๊ณผ์ ์ ์ค๋ช ๋ง ํ๊ณ , ์ ์ฉ์ ํ์ง ๋ง์์ค
localhost์์ ์ฐ๊ฒฐ์ด ๊ฑฐ๋ถ๋๋ ์๋ฌ๊ฐ ๋ฐ์ํ๋ ์ด์ ์ ํด๊ฒฐ ๊ณผ์ ์ ์ค๋ช ๋๋ฆฌ๊ฒ ์ต๋๋ค.
๐ ์๋ฌ ์์ธ ๋ถ์
1. ์๋ฒ๊ฐ ์คํ๋์ง ์์
- Spring Boot ์ ํ๋ฆฌ์ผ์ด์ ์ด ์คํ๋์ง ์์ ์ํ
- localhost:8080์ ์๋ฒ๊ฐ ๋ฐ์ธ๋ฉ๋์ง ์์
- ๋ฐฑ์๋ ์๋ฒ ํ๋ก์ธ์ค๊ฐ ์ค๋จ๋ ์ํ
2. ํฌํธ ์ถฉ๋
- 8080 ํฌํธ๊ฐ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํด ์ฌ์ฉ ์ค
- ๋ฐฉํ๋ฒฝ์ด๋ ๋ณด์ ์ํํธ์จ์ด๊ฐ ํฌํธ๋ฅผ ์ฐจ๋จ
3. Spring Boot ์ค์ ๋ฌธ์
- application.properties ์ค์ ์ค๋ฅ
- ์๋ฒ ํฌํธ ์ค์ ๋ฌธ์
- ํ ํ๋ฆฟ ์์ง ์ค์ ๋ฌธ์
๐ ๏ธ ํด๊ฒฐ ๊ณผ์ (์์ ์์)
1๋จ๊ณ: ํ๋ก์ ํธ ๊ตฌ์กฐ ํ์ธ
2๋จ๊ณ: Spring Boot ์ ํ๋ฆฌ์ผ์ด์ ํด๋์ค ํ์ธ
3๋จ๊ณ: ์ปจํธ๋กค๋ฌ ์์ฑ
4๋จ๊ณ: ์๋ฒ ์คํ
5๋จ๊ณ: ๋ธ๋ผ์ฐ์ ์ ์
๐ ํ์ํ ์์ ๋ชฉ๋ก
A. ๋ฐฑ์๋ ์ค์
- ์ปจํธ๋กค๋ฌ ํด๋์ค ์์ฑ
- src/main/java/com/example/controller/HomeController.java
- ๊ฐ ํญ์ ๋ํ ๋งคํ ์ถ๊ฐ
- application.properties ์ค์
- ์๋ฒ ํฌํธ ์ค์
- Thymeleaf ์ค์
- ์์กด์ฑ ํ์ธ
- build.gradle์ Spring Web, Thymeleaf ์์กด์ฑ
B. ํ ํ๋ฆฟ ๊ฒฝ๋ก ์์
- ํ ํ๋ฆฟ ํ์ผ ์์น ํ์ธ
- src/main/resources/templates/ ํ์์ ์์น
- ์ปจํธ๋กค๋ฌ์์ ์ฌ๋ฐ๋ฅธ ๊ฒฝ๋ก ๋ฐํ
- ์ ์ ๋ฆฌ์์ค ์ค์
- CSS, JS ํ์ผ์ src/main/resources/static/์ ๋ฐฐ์น
C. ์๋ฒ ์คํ ๋ฐ ํ ์คํธ
- ์ ํ๋ฆฌ์ผ์ด์ ์คํ
- ํฌํธ ํ์ธ
- ๋ธ๋ผ์ฐ์ ์ ์ ํ ์คํธ
๐ฏ ํต์ฌ ํฌ์ธํธ
HTML ํ์ผ์ ์ง์ ๋ธ๋ผ์ฐ์ ๋ก ์ด๋ฉด:
- ์ ์ HTML ํ์ผ๋ก ๋์
- JavaScript ๊ธฐ๋ฅ์ ์๋
- ์๋ฒ ์์ด ๋ก์ปฌ ํ์ผ ์์คํ ์์ ์คํ
localhost:8080์ผ๋ก ์ ์ํ๋ฉด:
- Spring Boot ์๋ฒ๊ฐ ์คํ๋์ด์ผ ํจ
- ํ ํ๋ฆฟ ์์ง์ด HTML์ ๋ ๋๋ง
- ์๋ฒ ์ฌ์ด๋ ๊ธฐ๋ฅ ํ์ฉ ๊ฐ๋ฅ
ํ์ฌ ์ํฉ์์๋ Spring Boot ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ์ง ์์ ์ํ์์ localhost์ ์ ์ํ๋ ค๊ณ ํด์ ์ฐ๊ฒฐ์ด ๊ฑฐ๋ถ๋๋ ๊ฒ์ ๋๋ค.
localhost:8080 ์๋ฌ ๋ฐ์ ์ด์
ERR_CONNECTION_REFUSED ์๋ฌ๊ฐ ๋ฐ์ํ๋ ์ด์ ๋:
์น ์๋ฒ๊ฐ ์คํ๋์ง ์์ - Spring Boot ์ ํ๋ฆฌ์ผ์ด์
์ด ์์ง ์์๋์ง ์์์ต๋๋ค
ํฌํธ 8080์ ์ฐ๊ฒฐํ ์ ์์ - localhost:8080์ผ๋ก ์ ๊ทผํ๋ ค๊ณ ํ์ง๋ง ์๋ฒ๊ฐ ํด๋น ํฌํธ์์ ๋๊ธฐํ๊ณ ์์ง ์์ต๋๋ค
์ ์ ํ์ผ ์๋น ์ค์ ๋ถ์กฑ - Spring Boot์์ HTML ํ์ผ์ ์ ์ ๋ฆฌ์์ค๋ก ์๋นํ๋ ์ค์ ์ด ํ์ํ ์ ์์ต๋๋ค
ํด๊ฒฐ์ ์ํ ์์
๊ณผ์
1๋จ๊ณ ๐ Spring Boot ์ ํ๋ฆฌ์ผ์ด์
ํ์ธ# ํ์ฌ ํ๋ก์ ํธ ๊ตฌ์กฐ ํ์ธls -la src/main/java/com/labzang/api/
2๋จ๊ณ ๐ Spring Boot ์๋ฒ ์์#
๐ฅ Gradle์ ์ฌ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
์คํ
./gradlew bootRun
๋๋ Windows์์gradlew.bat bootRun
3๋จ๊ณ ๐ ์ ์ ๋ฆฌ์์ค ์ค์ ํ์ธ
src/main/resources/application.properties ํ์ผ์ ๋ค์ ์ค์ ์ถ๊ฐ:
# ์ ์ ๋ฆฌ์์ค ๊ฒฝ๋ก ์ค์ spring.web.resources.static-locations=classpath:/static/,classpath:/templates/spring.mvc.view.prefix=classpath:/templates/spring.mvc.view.suffix=.html
-๋ฌด์์ ๊ฐ์ ธ๋ค ๋ถ์ธ๋ค๊ณ ๋์ง ์์.
:/ ํด๋ ์ด์ค์คํ์ด์ค์ ์ ์ฝ๋ก ์ ๋ถ์ฌ์ผํด?
classpath : Java์์ ํด๋์ค๋ ๋ฆฌ์์ค๋ฅผ ์ฐพ๋ ๊ฒฝ๋ก(path)๋ฅผ ์๋ฏธ
๋ฆฌ์์ค ํ์ผ๋ค์ ์๋ฐ๋ก ๋ถ๋ฌ๋ด๊ธฐ ์ํด ํ์ํจ
:/ : is(be ๋์ฌ)
“ํ์ฌ ํ๋ก์ ํธ์ classpath ๋ฃจํธ(root)๋ก๋ถํฐ ํ์ผ์ ์ฐพ์๋ผ.”
์ฆ,
- classpath: → "ํด๋์คํจ์ค ์์์ ์ฐพ๋๋ค"
- / → "๋ฃจํธ(๋งจ ์ฒ์ ๊ฒฝ๋ก)๋ถํฐ ์ฐพ๋๋ค"
4๋จ๊ณ ๐ ์ปจํธ๋กค๋ฌ ์์ฑ (์ ํ์ฌํญ)
src/main/java/com/labzang/api/controller/HomeController.java ์์ฑ:
@Controllerpublic class HomeController {
@GetMapping
("/")public String home() {return "index";}}
5๋จ๊ณ ๐ ์๋ฒ ์คํ ํ ์ ๊ทผ
์๋ฒ๊ฐ ์ ์์ ์ผ๋ก ์์๋๋ฉด http://localhost:8080์ผ๋ก ์ ๊ทผ ๊ฐ๋ฅ
์ฝ์์์ "Started ApiApplication" ๋ฉ์์ง ํ์ธ
ํ์ฌ ์ํฉ
โ
HTML ํ์ผ ์ง์ ์คํ: ์ ์ ์๋ (ํ์ผ ์์คํ
์์ ์ง์ ์ด๊ธฐ)
โ localhost:8080 ์ ๊ทผ: ์คํจ (์น ์๋ฒ๊ฐ ์คํ๋์ง ์์)
Spring Boot ์ ํ๋ฆฌ์ผ์ด์
์ ๐๋จผ์ ์คํ ํด์ผ
์น ์๋ฒ๊ฐ ์์๋๊ณ localhost๋ก ์ ๊ทผํ ์ ์์ต๋๋ค!
์ปดํ์ผ๋ง ํ๋ ์ด์ ? ๋๋ฉ์ธ์ ์ฌ๋ฆด๋ ค๊ณ , web ์๋ธ์ ์ฌ๋ฆฌ๋ ค๊ณ ,
์ธํฐํ๋ฆญํ ์ํ๊ณ ๋ก์ปฌ๋ก ๋ฐ๋ก ๊ฐ๋ ค๊ณ ํ๋ ๊ฒ์
๋ฐ๋ฏผ์/์ฐ์ ์ค/์์์ง

์๋์ฐ+r -> cmd
java --version

์ธ๊ตญ์ด ์ด๋ ต์ง๋ง ์ด ๋ด์ฉ๋๋ฅธ ์์์ผํจ


@HomeController.java ์ฌ๊ธฐ์ @ApiApplication.java ์ด๊ฒ์ ์คํํ๋ฉด, @index.html ์ด๊ฒ์ด ๋ธ๋ผ์ฐ์ ์ ๋ณด์ฌ์ง๊ธฐ๋ฅผ ์ํด. ์ด๋ ๊ฒ ์ฝ๋๋ง ์์ฑํด์ค, ์คํ์ ๋ด๊ฐ ํ ๊ฑฐ์ผ.



๋ก๊ทธ์ธ์ฐฝ ๋ง๋ค๊ธฐ


@index.html ์ฌ๊ธฐ์ @index.css ๋ฅผ ์ธ๋ผ์ธ๋ฐฉ์์ผ๋ก ์ํฌํธํ๋๋ก ์์ ํด์ค.
@index.html ์ฌ๊ธฐ์ @index.css ๋ฅผ ์ธ๋ผ์ธ๋ฐฉ์์ผ๋ก ์ํฌํธํ๋๋ก ์์ ํด์ค.
๋ฌธ์ฅ ํด์
“@index.html ์ฌ๊ธฐ์ @index.css ๋ฅผ ์ธ๋ผ์ธ ๋ฐฉ์์ผ๋ก ์ํฌํธํ๋๋ก ์์ ํด์ค.”
์ด ๋ง์ ์ฆ,
“HTML ํ์ผ(index.html)์ ์๋ ๋ด์ฉ์ ๋ฐ๊ฟ์,
๋ณ๋๋ก ์กด์ฌํ๋ CSS ํ์ผ(index.css)์ ์คํ์ผ์ HTML ์์ ์ง์ ํฌํจ์ํค๋๋ก ํด๋ฌ๋ผ”
๋ ๋ป์ด์์.
“์ธ๋ผ์ธ ๋ฐฉ์์ผ๋ก ์ํฌํธ”๊ฐ ์๋ฏธํ๋ ๊ฒ
“์ธ๋ผ์ธ(inline)”์ด๋ HTML ํ์ผ ์์ ์ง์ ์คํ์ผ์ ์จ๋ฃ๋ ๋ฐฉ์์ ๋งํฉ๋๋ค.
์ฆ,
<link>๋ก ๋ถ๋ฌ์ค์ง ์๊ณ HTML ์์ <style> ํ๊ทธ๋ก CSS ๋ด์ฉ์ ํฌํจ์ํค๋ ๊ฒ์ด์์.
๋ก๊ทธ์ธ์ด๋ ํ์๊ฐ์ ๋ฒํผ ๋ง๋ค๊ธฐ- chat gpt์ ๋ฌผ์ด๋ด
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ํ์ ๊ด๋ฆฌ ์์คํ
- ๋ก๊ทธ์ธ</title>
<link rel="stylesheet" th:href="@{/styles/index.css}">
<style>
/* ๊ธฐ์กด ์คํ์ผ ์ ์ง */
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
min-height: 100vh;
color: #333;
}
.header {
background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
color: white;
padding: 30px 0;
text-align: center;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}
.header h1 {
font-size: 2.8rem;
margin-bottom: 10px;
font-weight: 700;
}
.header p {
font-size: 1.2rem;
opacity: 0.9;
}
.container {
max-width: 1400px;
margin: 0 auto;
padding: 30px 20px;
}
/* ๐ฝ ๋ก๊ทธ์ธ ๊ด๋ จ ์คํ์ผ ์ถ๊ฐ */
.login-section {
display: flex;
justify-content: center;
align-items: center;
min-height: 70vh;
}
.login-box {
background-color: white;
padding: 2rem;
border-radius: 15px;
width: 320px;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
text-align: center;
}
.login-box input {
width: 100%;
padding: 10px;
margin-bottom: 1rem;
border: 1px solid #ccc;
border-radius: 8px;
}
.login-box button {
width: 100%;
background-color: #1e3c72;
color: white;
padding: 10px;
border: none;
border-radius: 8px;
cursor: pointer;
}
.login-box button:hover {
background-color: #2a5298;
}
</style>
</head>
<body>
<header class="header">
<h1>ํ์ ๊ด๋ฆฌ ์์คํ
</h1>
<p>์จ์ค๊ฐ์ค ๋ฐฐ์ถ๋ ์ฐ์ & LCA & ๊ณต์ ๊ธฐ์ค</p>
</header>
<div class="container">
<section class="login-section">
<div class="login-box">
<h2>๋ก๊ทธ์ธ</h2>
<form id="loginForm">
<input type="email" id="email" placeholder="์ด๋ฉ์ผ" required>
<input type="password" id="password" placeholder="๋น๋ฐ๋ฒํธ" required>
<button type="submit">๋ก๊ทธ์ธ</button>
</form>
<p>์์ง ํ์์ด ์๋์ ๊ฐ์? <a href="/signup">ํ์๊ฐ์
</a></p>
</div>
</section>
</div>
<script>
document.getElementById("loginForm").addEventListener("submit", async (e) => {
e.preventDefault();
const email = document.getElementById("email").value;
const password = document.getElementById("password").value;
const res = await fetch("/api/login", {
method: "POST",
headers: {"Content-Type": "application/json"},
body: JSON.stringify({ email, password }),
});
const data = await res.json();
if (res.ok) {
alert("๋ก๊ทธ์ธ ์ฑ๊ณต!");
localStorage.setItem("token", data.token);
window.location.href = "/";
} else {
alert(data.message || "๋ก๊ทธ์ธ ์คํจ");
}
});
</script>
</body>
</html>
-์ด๊ฑฐ๋ฅผ ๋ฃ์ด๋ด

home์ api์์ ๋ฃ๊ธฐ ์ฎ๊ธฐ๊ธฐ, run๋๋ฅด๊ธฐ
http://localhost:8080/

์ด๋ ๊ฒ ๋ฃ์ด์ ์์คํ ๋จ๋์ง ํ์ธํด์ผํจ!

@login.html ๋ก๊ทธ์ธ ํ๋ฉด์ ์์ฑํด์ค
@register.html ์์ด๋์ ๋น๋ฐ๋ฒํธ, ์ด๋ฆ, ์ด๋ฉ์ผ์ ์
๋ ฅํ๋ ํ์๊ฐ์
ํ์ด์ง๋ฅผ ์์ฑํด์ค. ์คํฌ๋ฆฝํธ๋ ์ฌ์ฉํ์ง ๋ง์์ค

@ ๋๋ฌ์ ๋๊ฐ ์ถ๊ฐํจ
๋ฉ์ฅ
@lab_zang
<header>
<nav>
<div class="logo">Creative Hub</div>
<ul class="nav-links">
<li><a href="#home">ํ</a></li>
<li><a href="/auth/login">๋ก๊ทธ์ธ</a></li>
<li><a href="/auth/register">ํ์๊ฐ์
</a></li>
</ul>
</nav>
</header>
<!-- ํ์ด๋ก ์น์
-->
<section class="hero" id="home">
<div class="hero-content">
<li><a href="#home">๋ง์
</a></li>
<li><a href="/auth/login">๋บ์
</a></li>
<li><a href="/auth/register">๊ณฑ์
</a></li>
<li><a href="/auth/register">๋๋์
</a></li>
</div>
</section>
๊ณ์ฐ๊ธฐ ํ
ํ๋ฆฟ -> ๋ฌธ์ ํด๊ฒฐ์ฉ .์ํํ์ผ
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>๊ณ์ฐ๊ธฐ - Creative Hub</title>
</head>
<body>
<a href="/" class="back-link">
← ํ์ผ๋ก ๋์๊ฐ๊ธฐ
</a>
<div class="login-container">
<div class="login-header">
<h1>๊ณฑ์
</h1>
</div>
</div>
</body>
</html>

๊ฐ์ฅ ์ค์ํ ๋ถ๋ถ!!!!!

์ด์ ๋ํ ๋ด์ฉ์ ์ฑ ์งํผํฐ์ ๋ถํํ์
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ํ์ฌ ์๊ฐ | ํ์ ๊ด๋ฆฌ ์์คํ
</title>
<link rel="stylesheet" href="/styles/index.css" />
<style>
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
color: #fff;
margin: 0;
padding: 0;
}
.header {
background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
padding: 30px 0;
text-align: center;
box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}
.header h1 {
font-size: 2.5rem;
margin-bottom: 10px;
color: #fff;
}
nav {
background-color: rgba(255,255,255,0.1);
backdrop-filter: blur(10px);
text-align: center;
padding: 15px 0;
}
nav ul {
list-style: none;
display: flex;
justify-content: center;
gap: 30px;
padding: 0;
margin: 0;
}
nav a {
color: #fff;
text-decoration: none;
font-weight: 600;
transition: color 0.3s;
}
nav a:hover {
color: #ffd700;
}
.container {
max-width: 1000px;
margin: 0 auto;
padding: 50px 20px;
}
.section {
background-color: rgba(255,255,255,0.1);
border-radius: 15px;
padding: 30px;
margin-bottom: 40px;
box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}
.section h2 {
color: #ffd700;
margin-bottom: 15px;
font-size: 1.8rem;
border-bottom: 2px solid rgba(255,255,255,0.3);
padding-bottom: 8px;
}
.section p {
line-height: 1.7;
color: #f3f3f3;
}
</style>
</head>
<body>
<header class="header">
<h1>ํ์ฌ ์๊ฐ</h1>
<p>์ง์ ๊ฐ๋ฅํ ๋ฏธ๋๋ฅผ ์ํ ํ์ ๊ด๋ฆฌ ์๋ฃจ์
</p>
</header>
<!-- โ
๋ค๋น๊ฒ์ด์
-->
<nav>
<ul>
<li><a href="/">ํ</a></li>
<li><a href="/about" class="active">์๊ฐ</a></li>
<li><a href="/lca">LCA ๋ถ์</a></li>
<li><a href="/emission">์จ์ค๊ฐ์ค ์ฐ์ </a></li>
<li><a href="/report">๊ณต์ ๋ฆฌํฌํธ</a></li>
<li><a href="/login">๋ก๊ทธ์ธ</a></li>
<li><a href="/signup">ํ์๊ฐ์
</a></li>
</ul>
</nav>
<!-- โ
๋ณธ๋ฌธ ๋ด์ฉ -->
<div class="container">
<!-- ํ์ฌ ์๊ฐ -->
<section class="section">
<h2>ํ์ฌ ์๊ฐ</h2>
<p>
์ ํฌ <strong>ํ์ ๊ด๋ฆฌ ์์คํ
</strong>์ ๊ธฐ์
๊ณผ ๊ธฐ๊ด์ด ESG ์๋์ ๋ง์ถฐ
์ฒด๊ณ์ ์ผ๋ก <strong>ํ์์ค๋ฆฝ ์ ๋ต</strong>์ ์๋ฆฝํ๊ณ ์คํํ ์ ์๋๋ก ์ง์ํ๋
ํ๊ฒฝ ๊ธฐ์ ๊ธฐ๋ฐ ํ๋ซํผ์
๋๋ค.
์จ์ค๊ฐ์ค ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ถํฐ LCA ๋ถ์, ๊ณต์ ๋ฆฌํฌํธ ์๋ํ๊น์ง
์์คํฑ์ผ๋ก ์ ๊ณตํฉ๋๋ค.
</p>
</section>
<!-- ํ์์ค๋ฆฝ -->
<section class="section">
<h2>ํ์์ค๋ฆฝ(Carbon Neutrality)</h2>
<p>
ํ์์ค๋ฆฝ์ ๋ฐฐ์ถ๋ ์จ์ค๊ฐ์ค์ ์ด๋์ ๊ฐ์ถํ๊ฑฐ๋ ์์ํ์ฌ
‘์ ๋ฐฐ์ถ๋ 0’์ ๋ฌ์ฑํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
๋ณธ ์์คํ
์ ๊ธฐ์
์ด ๋ฐฐ์ถ๋์ ์ ๋์ ์ผ๋ก ํ์
ํ๊ณ
๊ฐ์ถ ๊ณํ์ ์๋ฆฝํ ์ ์๋๋ก ์ง์ํฉ๋๋ค.
</p>
</section>
<!-- ์จ์ค๊ฐ์ค ๋ฐฐ์ถ๋ ์ฐ์ -->
<section class="section">
<h2>์จ์ค๊ฐ์ค ๋ฐฐ์ถ๋ ์ฐ์ </h2>
<p>
๋ฐฐ์ถ๋ ์ฐ์ ์ ๊ตญ์ ๊ธฐ์ค(GHG Protocol, IPCC ๊ฐ์ด๋๋ผ์ธ ๋ฑ)์ ๋ฐ๋ผ
์ค์ฝํ(Scope 1, 2, 3)๋ณ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
์๋ํ๋ ๋ฐ์ดํฐ ์์ง๊ณผ ๋ถ์์ ํตํด
ํฌ๋ช
ํ๊ณ ์ ํํ ์ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํฉ๋๋ค.
</p>
</section>
<!-- LCA(์ ๊ณผ์ ํ๊ฐ) -->
<section class="section">
<h2>LCA (Life Cycle Assessment)</h2>
<p>
LCA๋ ์ ํ์ ์์ฐ๋ถํฐ ํ๊ธฐ๊น์ง ์ ๊ณผ์ ์์ ๋ฐ์ํ๋
ํ๊ฒฝ ์ํฅ์ ํ๊ฐํ๋ ๋ฐฉ๋ฒ๋ก ์
๋๋ค.
ํ์ ๊ด๋ฆฌ ์์คํ
์ LCA ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๋๋์ด
์ ํ ๋จ์์ ํ์๋ฐ์๊ตญ์ ์ฐ์ถํ ์ ์์ต๋๋ค.
</p>
</section>
<!-- ๊ณต์ ๊ธฐ์ค -->
<section class="section">
<h2>๊ณต์ ๊ธฐ์ค ๋ฐ ๋ณด๊ณ </h2>
<p>
ESG ๊ณต์๋ ๊ตญ๋ด์ธ ๊ท์ ๋ฐ ํ์ค(GRI, TCFD, ISSB ๋ฑ)์ ๋ฐ๋ผ
ํ์ ๋ฐฐ์ถ ๊ด๋ จ ๋ฐ์ดํฐ๋ฅผ ํฌ๋ช
ํ๊ฒ ๊ณต๊ฐํด์ผ ํฉ๋๋ค.
๋ณธ ์์คํ
์ ์๋ํ๋ ๋ฆฌํฌํธ ์์ฑ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ
๊ธฐ์
์ด ์ ์ํ๊ณ ์ ํํ๊ฒ ๊ณต์ ์๊ฑด์ ์ถฉ์กฑํ ์ ์๋๋ก ๋์ต๋๋ค.
</p>
</section>
</div>
</body>
</html>
์ด๊ฑธ about ํ์ผ์ ๋ฃ์ผ๋ฉด

์ด๋ ๊ฒ ๋์ด!!!!!!!!๊บ !!!! ๋ ๋ง์ ๋ ๋น ๊ต์๋๊ป๋ ์นญ์ฐฌ๋ฐ์ ์บฌ์บฌ!

๋๋จธ์ง๋ ๋ค ์ด์ด์ง๊ฒ๋ ์ฝ๋ ์ง์ ํ์ผ ๋ง๋ค์ด์ ์ฐ๊ฒฐ์ํฌ ์์
์ด์ ์์๊ฒ ๋์ค๊ฒ๋๋ง ๊พธ๋ฏธ๋ฉด ๋ ๋ฏ!
๊ณ์ฐ๊ธฐ ๋ฃ๊ธฐ!
index์

-๋ฃ๊ธฐ

์ฐ๊ฒฐ์ํฌ๋ ์ฌ๋์ฌ ์ ๋ฌด ๋งค์ฐ ์ค์!
๋ฐ ์ํค๋ฉด

์ง๋ผ๋ ์ด๋ ๊ฒ ๋ฉ๋๋ค~~
์ค๋์ ๋

'Project ESG+AI > [์ผ์ KPMG]ESG ๋ฐ์ดํฐ ํ์ฉ ํ์คํ ๊ฐ๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| 5์ผ์ฐจ. ์ ๋ ฅ๊ฐ์ด ํฐ๋ฏธ๋์ ๋ณด์ด๊ฒ ํด์ค (0) | 2025.10.15 |
|---|---|
| 4์ผ์ฐจ. ํ์๊ฐ์ ๊ณผ ๋ก๊ทธ์ธ์ ํ ์ ์๊ฒ ๋ง๋ค์ (0) | 2025.10.14 |
| 2์ผ์ฐจ. ui-server ํ๋ก ํธ์๋๋ฅผ ๋ฐฐ์ฐ์(HTML) (0) | 2025.10.01 |
| 1์ผ์ฐจ. ํฌ๋ก์ฐ ์๋๋ฅผ ์์ฑํด์ค (1) | 2025.10.01 |
| [์ผ์ kpmg]ESG ๋ฐ์ดํฐ ํ์ฉ ํ์คํ ๊ฐ๋ฐ์ 1์ผ์ฐจ (0) | 2025.09.30 |