요즘 디자이너 커뮤니티에서 가장 많이 보이는 질문이 있습니다.

요즘 디자이너 커뮤니티에서 가장 많이 보이는 질문이 있습니다.
"AI가 내 일자리를 뺏어갈까요?"
Midjourney, DALL-E 3, Stable Diffusion 같은 AI 이미지 생성 도구가 놀라운 퀄리티의 결과물을 쏟아내고 있습니다. 몇몇 기업들은 AI 도구를 활용해 디자이너 인력을 줄이고 있다는 보도도 나옵니다.
결론부터 말하자면, AI는 디자이너를 대체하지 않습니다. 다만 AI를 활용하지 못하는 디자이너는 도태될 것입니다.

AI가 잘하는 것과 못하는 것
AI가 잘하는 3가지
1. 대량 생산
- SNS 썸네일 100개 생성: 10분
- 제품 사진 배경 제거: 1초
- 로고 시안 50개 생성: 5분
한 이커머스 기업은 Midjourney로 제품 상세 페이지 이미지를 자동 생성해 디자인 비용을 70% 절감했다고 밝혔습니다.
2. 트렌드 조합
- Behance, Pinterest 수억 개 이미지 학습
- 2024년 유행 컬러, 폰트, 레이아웃 자동 추천
- 통계 기반 "무난한" 디자인 생성
3. 초안 빠른 작성
- 클라이언트 요구사항 입력
- 10개 시안 자동 생성
- 디자이너는 그중 1~2개를 골라 정교화
AI가 못하는 4가지
1. 맥락 이해 불가
한 스타트업이 AI로 로고를 만들었습니다. 기술적으로 완벽했지만 클라이언트는 "뭔가 우리 브랜드 같지 않다"며 거부했습니다.
디자이너는 1시간 인터뷰를 진행했습니다.
- "어떤 느낌을 원하세요?"
- "고객들이 우리를 어떻게 봤으면 좋겠어요?"
- "경쟁사와 차별화하고 싶은 지점은?"
그렇게 나온 로고는 즉시 채택됐습니다.
AI는 "깔끔하고 모던한 로고"를 만들 수 있습니다. 하지만 "우리 회사의 DNA를 담은 로고"는 사람만이 만들 수 있습니다.
2. 책임과 소통 불가
클라이언트가 말합니다. "이 색상을 좀 더 따뜻하게 바꿔주세요."
AI의 대응
- 무작위 색상 10개 생성
- 클라이언트 의도와 무관
디자이너의 대응
- "따뜻하다는 게 주황 계열을 원하시는 건가요?"
- "아니면 채도를 낮추길 원하시나요?"
- "이런 느낌은 어떠세요?" (3가지 방향 제시)
- 2회 수정 후 완성
3. 창의적 돌파구 부재
AI는 기존 데이터의 조합만 만들 수 있습니다.
2023년 칸 광고제 수상작들을 보면 대부분 "예상 밖의 아이디어"였습니다. AI는 "평균적으로 좋은 디자인"을 만들지만, "역사에 남을 디자인"은 만들지 못합니다.
4. 법적 책임 공백
AI가 만든 디자인이 타인의 저작권을 침해하면 누가 책임질까요?
2025년 현재, AI 생성물의 저작권은 법적 공백 상태입니다. 클라이언트는 "책임질 사람"이 필요합니다. 그게 바로 프리랜서 디자이너의 역할입니다.
AI 시대, 디자이너의 3가지 생존 전략
전략 1: AI를 도구로 활용하라
AI를 적으로 보지 말고, 시간을 절약해주는 조수로 활용하세요.
실전 활용 사례
작업 단계별 AI 활용
1. 초안 생성: Midjourney로 10개 시안 → 1개 선택
2. 이미지 편집: Remove.bg로 배경 제거 (10분 → 1초)
3. 컬러 팔레트: Coolors.co로 자동 생성 후 미세 조정
4. 폰트 조합: Fontjoy로 추천 후 최종 선택
5. 정교화: Figma나 adobe에서 세부 작업
결과
- 작업 시간: 50% 단축
- 월 프로젝트 수: 3개 → 7개
- 월 소득: 150만 원 → 350만 원
한 프리랜서 디자이너는 AI 도구 활용 후 월 소득이 2배 이상 증가했습니다.
전략 2: AI가 못하는 영역에 집중하라
AI가 약한 4가지 영역
1. 브랜드 전략
- AI: 로고 10개 생성
- 디자이너: 클라이언트 인터뷰 → 브랜드 DNA 파악 → 스토리가 담긴 1개 로고
차별화 포인트: "왜 이 디자인인가?"를 설명할 수 있는 능력
2. UX/UI 설계
- AI: 예쁜 화면 100개 생성
- 디자이너: 사용자 행동 분석 → 클릭률 높은 배치 → A/B 테스트
차별화 포인트: 데이터 기반 디자인 결정
3. 클라이언트 소통
- AI: 피드백 반영 불가
- 디자이너: 경청 → 해석 → 3회 수정 내 완성
차별화 포인트: 듣고 이해하는 능력
4. 트렌드 선도
- AI: 기존 트렌드 조합
- 디자이너: "곧 이런 스타일이 유행할 것" → 선제적 제안
차별화 포인트: 시장 예측 능력
전략 3: 포트폴리오에 "AI 활용" 명시하라
AI 사용을 숨기지 말고, 오히려 강점으로 어필하세요.
포트폴리오 작성 예시
AI 활용 전
- 작업 기간: 7일
- 시안 수: 3개
- 수정 횟수: 5회
- 비용: 100만 원
AI 활용 후
- 작업 기간: 3일 (초안 1일 + 정교화 2일)
- 시안 수: 10개 (AI 생성 후 선별)
- 수정 횟수: 2회 (빠른 수정)
- 비용: 70만 원 (30% 할인)
클라이언트 반응: "시간도 짧고 비용도 저렴하네요!"
AI 시대의 역설, 디자이너 수요는 오히려 증가한다
2030년 예측
업계 전문가들의 전망
- AI 도구 사용률: 90% (거의 모든 디자이너가 사용)
- 디자이너 수요: 증가 (AI가 비용을 낮춰 수요 폭발)
- 평균 소득: 2배 증가 (생산성 향상)
왜 이런 역설이 발생하나
1. 디자인 비용 하락 → 더 많은 기업이 이용
- 과거: 로고 100만 원 → 소상공인은 엄두도 못 냄
- 현재: AI 활용으로 50만 원 → 소상공인도 의뢰
2. 작업 속도 향상 → 디자이너 1명이 더 많은 프로젝트
- 과거: 월 3개 프로젝트
- 현재: 월 7개 프로젝트
3. 퀄리티 상승 → 만족도 증가 → 재주문 증가
- AI가 "평범한 디자인"을 "괜찮은 디자인"으로 상향
실제 유사 사례
사진 편집 AI가 발전했지만 사진작가 수요는 오히려 증가했습니다.
이유: AI가 "평범한 사진"을 "괜찮은 사진"으로 만들어주니, 더 많은 사람들이 사진 서비스를 이용하게 됐습니다.
하지만 모든 디자이너가 살아남는 건 아닙니다.
살아남는 디자이너
- AI를 도구로 활용
- 브랜드 전략, UX, 소통 능력 강화
- 빠른 작업으로 월 소득 2배
도태되는 디자이너
- AI를 거부
- 단순 작업만 반복
- 속도와 소통 모두 느림
AI는 디자이너의 적이 아니라 동료입니다. 마치 포토샵이 등장했을 때 "손그림 화가가 사라질 것"이라는 공포가 있었지만, 오히려 디자이너 수요가 폭발한 것처럼요.
소속사 모델은 프리랜서에게 AI 교육을 무료로 제공하고, AI가 영업을 대신하며, 백업 시스템으로 안정성을 보장합니다. AI 시대는 위기가 아니라 기회입니다.

AI가 내 일자리를 빼앗아갈까요? | 아티링
/* ===== Reset & Base ===== */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Pretendard', -apple-system, sans-serif;
color: var(--black);
background: var(--bg-light);
line-height: 1.7;
font-size: 16px;
}
/* ===== Color Variables ===== */
:root {
--blue: #4169E1;
--gray: #5A5A5A;
--green: #2ECC71;
--beige: #F5DEB3;
--purple: #9B59B6;
--sky: #87CEEB;
--pink: #FF69B4;
--yellow: #FFD700;
--black: #2C2C2C;
--white: #FFFFFF;
--bg-light: #FAFAFA;
}
/* ===== Container ===== */
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
}
.container-narrow {
max-width: 800px;
margin: 0 auto;
padding: 0 24px;
}
/* ===== Hero Section ===== */
.hero-section {
background: white;
padding: 80px 0 60px;
text-align: center;
}
.breadcrumb {
font-size: 14px;
color: var(--gray);
margin-bottom: 24px;
}
.breadcrumb span:last-child {
color: var(--blue);
font-weight: 600;
}
.hero-title {
font-size: clamp(32px, 5vw, 56px);
font-weight: 800;
line-height: 1.2;
margin-bottom: 20px;
letter-spacing: -0.02em;
color: var(--black);
}
.hero-subtitle {
font-size: clamp(18px, 2.5vw, 24px);
color: var(--gray);
margin-bottom: 32px;
line-height: 1.5;
}
.meta-info {
display: flex;
justify-content: center;
align-items: center;
gap: 12px;
font-size: 14px;
color: var(--gray);
flex-wrap: wrap;
}
.meta-info .divider {
color: #D1D5DB;
}
/* ===== Key Stats ===== */
.key-stats-section {
padding: 60px 0;
}
.stats-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 24px;
}
.stat-card {
background: white;
padding: 40px 32px;
border-radius: 16px;
text-align: center;
box-shadow: 0 2px 8px rgba(0,0,0,0.08);
transition: transform 0.3s, box-shadow 0.3s;
}
.stat-card:hover {
transform: translateY(-4px);
box-shadow: 0 8px 16px rgba(0,0,0,0.12);
}
.stat-icon {
font-size: 48px;
margin-bottom: 16px;
}
.stat-number {
font-size: 56px;
font-weight: 900;
color: var(--blue);
line-height: 1;
margin-bottom: 4px;
}
.stat-unit {
font-size: 24px;
font-weight: 700;
color: var(--blue);
margin-bottom: 12px;
}
.stat-label {
font-size: 16px;
color: var(--gray);
font-weight: 500;
}
/* ===== Content Section ===== */
.content-section {
padding: 80px 0;
width: 100%;
}
.content-section .container {
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
}
.section-header {
text-align: center;
margin-bottom: 48px;
}
.section-tag {
display: inline-block;
padding: 6px 16px;
background: var(--blue);
color: white;
font-size: 12px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.1em;
border-radius: 20px;
margin-bottom: 16px;
}
.section-title {
font-size: clamp(28px, 4vw, 40px);
font-weight: 700;
margin-bottom: 16px;
line-height: 1.3;
color: var(--black);
}
/* ===== Content Card ===== */
.content-card {
background: white;
border-radius: 16px;
padding: 48px;
box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.card-body {
display: flex;
flex-direction: column;
gap: 40px;
}
.text-block {
max-width: 680px;
margin: 0 auto;
}
.text-block p {
font-size: 18px;
line-height: 1.8;
color: var(--gray);
margin-bottom: 20px;
}
.lead-text {
font-size: 20px;
font-weight: 600;
color: var(--black);
margin-bottom: 20px;
line-height: 1.6;
}
.text-block ul {
list-style: none;
padding: 0;
margin: 20px 0;
}
.text-block ul li {
padding: 12px 0 12px 32px;
position: relative;
font-size: 17px;
color: var(--gray);
line-height: 1.7;
}
.text-block ul li::before {
content: '•';
position: absolute;
left: 12px;
color: var(--gray);
font-weight: bold;
}
/* ===== Chart ===== */
.chart-wrapper {
background: var(--bg-light);
padding: 32px;
border-radius: 12px;
}
.chart-title {
font-size: 18px;
font-weight: 700;
margin-bottom: 24px;
text-align: center;
color: var(--black);
}
.chart-caption {
margin-top: 16px;
font-size: 14px;
color: var(--gray);
text-align: center;
}
/* ===== Quote ===== */
.quote-section {
padding: 80px 0;
background: var(--blue);
color: white;
}
.big-quote {
text-align: center;
padding: 0;
border: none;
}
.big-quote p {
font-size: clamp(24px, 3vw, 36px);
font-weight: 700;
line-height: 1.4;
margin-bottom: 24px;
}
.big-quote cite {
font-size: 16px;
font-style: normal;
opacity: 0.8;
}
/* ===== Comparison Grid ===== */
.comparison-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 32px;
width: 100%;
justify-items: stretch;
}
.compare-card {
background: white;
border-radius: 16px;
padding: 40px 32px;
box-shadow: 0 2px 8px rgba(0,0,0,0.08);
transition: transform 0.3s;
width: 100%;
box-sizing: border-box;
}
.compare-card:hover {
transform: translateY(-4px);
box-shadow: 0 8px 16px rgba(0,0,0,0.12);
}
.compare-card.before {
border-top: 4px solid var(--gray);
}
.compare-card.after {
border-top: 4px solid var(--blue);
}
.compare-card.optimized {
border-top: 4px solid var(--green);
}
.card-header {
margin-bottom: 24px;
}
.badge {
display: inline-block;
padding: 4px 12px;
font-size: 12px;
font-weight: 700;
text-transform: uppercase;
border-radius: 12px;
margin-bottom: 12px;
}
.badge-gray {
background: #F3F4F6;
color: var(--gray);
}
.badge-blue {
background: #DBEAFE;
color: var(--blue);
}
.badge-green {
background: #D1FAE5;
color: var(--green);
}
.card-header h3 {
font-size: 24px;
font-weight: 700;
margin: 0;
color: var(--black);
}
.big-number {
font-size: 64px;
font-weight: 900;
line-height: 1;
margin-bottom: 16px;
}
.big-number.color-gray {
color: var(--gray);
}
.big-number.color-blue {
color: var(--blue);
}
.big-number.color-green {
color: var(--green);
}
.compare-card p {
font-size: 18px;
color: var(--gray);
line-height: 1.7;
margin-bottom: 20px;
}
.sub-value {
font-size: 16px;
color: var(--gray);
margin-bottom: 16px;
font-weight: 600;
}
.feature-list {
list-style: none;
padding: 0;
margin-top: 24px;
}
.feature-list li {
padding: 12px 0 12px 32px;
position: relative;
font-size: 17px;
color: var(--gray);
line-height: 1.7;
}
.feature-list li::before {
content: '•';
position: absolute;
left: 12px;
color: var(--gray);
}
/* ===== Data Table ===== */
.data-table {
width: 100%;
border-collapse: collapse;
font-size: 15px;
margin-top: 24px;
}
.data-table thead {
background: var(--bg-light);
}
.data-table th {
padding: 16px;
text-align: left;
font-weight: 700;
color: var(--black);
border-bottom: 2px solid #E5E7EB;
}
.data-table td {
padding: 16px;
border-bottom: 1px solid #E5E7EB;
}
.data-table tbody tr:hover {
background: var(--bg-light);
}
.data-table tbody tr:last-child {
font-weight: 700;
background: var(--bg-light);
}
.data-table tbody tr:last-child td {
border-top: 2px solid #E5E7EB;
}
/* ===== Timeline ===== */
.timeline {
position: relative;
padding-left: 40px;
}
.timeline::before {
content: '';
position: absolute;
left: 15px;
top: 0;
bottom: 0;
width: 2px;
background: var(--blue);
}
.timeline-item {
position: relative;
padding-bottom: 48px;
}
.timeline-marker {
position: absolute;
left: -40px;
top: 0;
width: 32px;
height: 32px;
background: var(--blue);
color: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
font-size: 14px;
}
.timeline-content h4 {
font-size: 20px;
font-weight: 700;
margin-bottom: 12px;
color: var(--black);
}
.timeline-content p {
font-size: 18px;
color: var(--gray);
line-height: 1.7;
margin-bottom: 12px;
}
.timeline-content .timeline-features {
list-style: none;
padding: 0;
margin-top: 16px;
}
.timeline-content .timeline-features li {
padding: 8px 0 8px 24px;
position: relative;
font-size: 16px;
color: var(--gray);
line-height: 1.6;
}
.timeline-content .timeline-features li::before {
content: '→';
position: absolute;
left: 0;
color: var(--blue);
}
.timeline-productivity {
display: inline-block;
margin-top: 12px;
padding: 8px 16px;
background: var(--bg-light);
border-radius: 8px;
font-size: 16px;
font-weight: 600;
color: var(--blue);
}
/* ===== Source Section ===== */
.source-section {
padding: 40px 0;
background: var(--bg-light);
}
.source-text {
text-align: center;
font-size: 14px;
color: var(--gray);
opacity: 0.7;
}
/* ===== CTA Section ===== */
.cta-section {
padding: 80px 0;
background: var(--black);
color: white;
}
.cta-card {
text-align: center;
padding: 60px 40px;
background: var(--black);
border-radius: 20px;
}
.cta-title {
font-size: clamp(28px, 4vw, 40px);
font-weight: 700;
margin-bottom: 20px;
line-height: 1.3;
}
.cta-description {
font-size: 18px;
opacity: 0.8;
margin-bottom: 40px;
line-height: 1.6;
}
.cta-buttons {
display: flex;
justify-content: center;
gap: 16px;
flex-wrap: wrap;
margin-bottom: 40px;
}
.btn {
display: inline-block;
padding: 16px 40px;
font-size: 16px;
font-weight: 700;
border-radius: 50px;
text-decoration: none;
transition: transform 0.2s, box-shadow 0.2s;
cursor: pointer;
border: none;
}
.btn:hover {
transform: scale(1.05);
}
.btn-primary {
background: var(--yellow);
color: var(--black);
}
.btn-primary:hover {
box-shadow: 0 8px 20px rgba(255, 215, 0, 0.4);
}
/* ===== Responsive ===== */
@media (max-width: 768px) {
.hero-section {
padding: 60px 0 40px;
}
.content-card {
padding: 32px 24px;
}
.stats-grid {
grid-template-columns: 1fr;
}
.comparison-grid {
grid-template-columns: 1fr;
}
.cta-buttons {
flex-direction: column;
}
.btn {
width: 100%;
}
.data-table {
font-size: 13px;
}
.data-table th,
.data-table td {
padding: 12px 8px;
}
}
블로그 > 디자인 산업 인사이트
AI가 내 일자리를 빼앗아갈까요?
생성형 AI 시대, 디자이너가 알아야 할 데이터와 전략
2025.12.30
•
8분 읽기
🤖
0
%
AI 대체 가능한 단순 작업 비율
📈
0
배
AI 활용 시 생산성 증가
Problem
생성형 AI가 디자인 업계에 미치는 영향
2023년 ChatGPT 출시 이후, 디자인 업계는 급격한 변화를 겪고 있습니다. McKinsey 보고서에 따르면 디자인 작업의 75%가 AI로 자동화 가능한 것으로 나타났습니다.
AI가 대체하기 쉬운 작업:
템플릿 기반 로고 디자인 (자동화율 85%)
기본 배너/썸네일 제작 (자동화율 80%)
이미지 편집 및 리터칭 (자동화율 70%)
색상 조합 제안 (자동화율 90%)
AI가 대체하기 어려운 작업:
브랜드 전략 수립 (자동화율 15%)
클라이언트 요구사항 파악 (자동화율 10%)
맥락 기반 창의적 해결 (자동화율 20%)
문화적 감수성 반영 (자동화율 5%)
Adobe의 2024년 설문조사에 따르면, 디자이너 73%가 AI 도구를 주 1회 이상 사용하며, 이 중 45%는 생산성이 2배 이상 증가했다고 응답했습니다.
AI 도구 활용도에 따른 작업 효율 변화 (출처: Adobe 2024)
AI를 적극 활용하는 디자이너의 생산성은 3배까지 증가합니다.
Data Analysis
숫자로 보는 AI 시대 디자이너 현황
Before
전통적 디자인 워크플로우
11시간
평균 프로젝트 소요 시간
시안 제작: 5시간
수정 작업: 3시간
레퍼런스 수집: 2시간
기타 작업: 1시간
After
AI 보조 워크플로우
6시간
45% 시간 단축
시안 제작: 2시간 (AI 초안 활용)
수정 작업: 2시간 (자동화)
레퍼런스 수집: 1시간 (AI 검색)
기타 작업: 1시간
Optimized
AI 전문가 워크플로우
3시간
73% 시간 단축
시안 제작: 1시간 (AI 대량 생성)
수정 작업: 0.5시간 (자동화)
레퍼런스: 0.5시간 (AI 큐레이션)
전략 수립: 1시간 (인간 집중)
Timeline
AI 도구 적응 로드맵 (업계 평균 데이터)
1
1단계: 학습기 (1-2개월)
주요 AI 도구 사용법 익히기
ChatGPT: 카피라이팅 보조
Midjourney: 레퍼런스 이미지 생성
Runway: 영상 편집 자동화
예상 생산성: 기존 대비 120%
2
2단계: 적용기 (3-4개월)
실무 프로젝트에 AI 도구 적용
단순 작업 자동화
시안 제작 속도 2배 향상
예상 생산성: 기존 대비 180%
3
3단계: 최적화기 (5-6개월)
AI-인간 협업 프로세스 확립
창의적 작업에 시간 투자 증가
고부가가치 작업 집중
예상 생산성: 기존 대비 250%
4
4단계: 전문가 (7개월 이상)
AI를 전략적 도구로 활용
단순 작업 80% 자동화
프로젝트 단가 상승
예상 생산성: 기존 대비 300%
Data Comparison
디자인 작업별 AI 자동화 가능성 (2024년 기준)
로고 디자인
60%
자동화 가능성
평균 시간 단축: 70%
주요 도구: Midjourney, Looka
인간의 역할: 브랜드 전략, 최종 선택
웹/앱 UI
50%
자동화 가능성
평균 시간 단축: 55%
주요 도구: Figma AI, Uizard
인간의 역할: UX 전략, 사용성 검증
일러스트
70%
자동화 가능성
평균 시간 단축: 80%
주요 도구: Midjourney, DALL-E
인간의 역할: 스타일 디렉션, 정교한 수정
브랜딩 전략
15%
자동화 가능성
평균 시간 단축: 20%
주요 도구: ChatGPT (보조)
인간의 역할: 전략 수립, 클라이언트 소통
Data Table
실무 프로젝트 작업 시간 비교 (단위: 시간)
작업 항목
전통 방식
AI 보조
AI 전문가
시간 절감
로고 시안 10개
5.0
2.0
1.0
80% ↓
SNS 배너 20개
4.0
1.5
0.8
80% ↓
레퍼런스 수집
2.0
0.5
0.3
85% ↓
컬러 팔레트 제안
1.0
0.3
0.2
80% ↓
클라이언트 소통
2.0
2.0
2.5
-25% (↑)
브랜드 전략 수립
3.0
3.0
4.0
-33% (↑)
전체 프로젝트
17.0
9.3
8.8
48% ↓
*주: 클라이언트 소통과 전략 수립은 오히려 시간을 더 투자하는 추세
"AI는 도구입니다. 망치가 목수를 대체하지 못하듯, AI는 디자이너를 대체하지 못합니다. 다만 망치를 쓰는 목수가 맨손으로 일하는 목수보다 빠를 뿐입니다."
Adobe Max 2024, AI와 창의성 세션
Statistics
2024년 디자인 업계 AI 활용 현황
디자이너들의 AI 도구 사용 빈도
디자이너의 88%가 주 1회 이상 AI 도구를 사용하고 있습니다.
출처: McKinsey Global Institute (2024), Adobe Creative Cloud Survey (2024), Adobe Max 2024
AI 시대, 어떻게 준비하고 계신가요?
이 글이 도움이 되셨다면 공유해주세요. 더 많은 디자이너가 AI 시대를 준비할 수 있도록.
다른 인사이트 보기
// iframe 높이 자동 전달 (부모 창에 메시지 전송)
function sendHeightToParent() {
if (window.parent !== window) {
const height = Math.max(
document.body.scrollHeight,
document.body.offsetHeight,
document.documentElement.clientHeight,
document.documentElement.scrollHeight,
document.documentElement.offsetHeight
);
window.parent.postMessage({
type: 'iframe-resize',
height: height
}, '*');
}
}
// 초기 높이 전달
window.addEventListener('load', () => {
sendHeightToParent();
setTimeout(sendHeightToParent, 2000);
});
// 리사이즈 이벤트 감지
let resizeTimer;
window.addEventListener('resize', () => {
clearTimeout(resizeTimer);
resizeTimer = setTimeout(sendHeightToParent, 300);
});
// MutationObserver로 DOM 변경 감지
const observer = new MutationObserver(() => {
sendHeightToParent();
});
observer.observe(document.body, {
childList: true,
subtree: true,
attributes: true
});
// AOS 초기화
AOS.init({
duration: 800,
once: true,
offset: 100
});
// 카운터 애니메이션
function initCounters() {
if (typeof CountUp === 'undefined' && typeof countUp === 'undefined') {
document.querySelectorAll('.stat-number').forEach(el => {
const target = parseFloat(el.dataset.count);
if (target && !isNaN(target)) {
const hasDecimal = target % 1 !== 0;
const decimals = hasDecimal ? 1 : 0;
el.textContent = target.toFixed(decimals);
}
});
setTimeout(initCounters, 500);
return;
}
const CountUpClass = typeof CountUp !== 'undefined' ? CountUp : countUp;
document.querySelectorAll('.stat-number').forEach(el => {
const target = parseFloat(el.dataset.count);
if (target && !isNaN(target)) {
const hasDecimal = target % 1 !== 0;
const decimals = hasDecimal ? 1 : 0;
const options = {
duration: 2,
useEasing: true,
separator: ',',
decimal: '.',
decimals: decimals
};
try {
const counter = new CountUpClass(el, target, options);
if (counter.error) {
el.textContent = target.toFixed(decimals);
return;
}
const observer = new IntersectionObserver(entries => {
entries.forEach(entry => {
if (entry.isIntersecting) {
counter.start();
observer.unobserve(entry.target);
}
});
}, { threshold: 0.5 });
observer.observe(el);
} catch (e) {
el.textContent = target.toFixed(decimals);
}
}
});
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initCounters);
} else {
setTimeout(initCounters, 100);
}
// 차트 초기화 함수
function initCharts() {
if (typeof Chart === 'undefined') {
setTimeout(initCharts, 500);
return;
}
// 차트 1: AI 도구 활용도에 따른 작업 효율 변화
const ctx1 = document.getElementById('chart1');
if (ctx1) {
new Chart(ctx1.getContext('2d'), {
type: 'bar',
data: {
labels: ['AI 미사용', 'AI 보조 활용', 'AI 적극 활용'],
datasets: [{
label: '생산성 지수',
data: [100, 180, 300],
backgroundColor: [
'rgba(90, 90, 90, 0.8)',
'rgba(135, 206, 235, 0.8)',
'rgba(65, 105, 225, 0.8)'
],
borderWidth: 0,
borderRadius: 8
}]
},
options: {
responsive: true,
maintainAspectRatio: true,
plugins: {
legend: {
display: false
},
tooltip: {
backgroundColor: 'rgba(0,0,0,0.8)',
padding: 12,
titleFont: { size: 14, weight: 'bold' },
bodyFont: { size: 13 },
cornerRadius: 8,
callbacks: {
label: function(context) {
return '생산성 지수: ' + context.parsed.y + ' (기준: 100)';
}
}
}
},
scales: {
y: {
beginAtZero: true,
title: {
display: true,
text: '생산성 지수 (기준: 100)'
},
grid: {
color: '#F3F4F6'
}
},
x: {
grid: {
display: false
}
}
}
}
});
}
// 차트 2: 디자이너들의 AI 도구 사용 빈도
const ctx2 = document.getElementById('chart2');
if (ctx2) {
new Chart(ctx2.getContext('2d'), {
type: 'doughnut',
data: {
labels: ['매일 사용', '주 2-3회', '주 1회', '거의 안씀'],
datasets: [{
data: [45, 28, 15, 12],
backgroundColor: [
'rgba(65, 105, 225, 0.8)',
'rgba(135, 206, 235, 0.8)',
'rgba(90, 90, 90, 0.6)',
'rgba(90, 90, 90, 0.3)'
],
borderWidth: 0
}]
},
options: {
responsive: true,
maintainAspectRatio: true,
plugins: {
legend: {
position: 'bottom',
labels: {
padding: 20,
font: { size: 14 }
}
},
tooltip: {
backgroundColor: 'rgba(0,0,0,0.8)',
padding: 12,
titleFont: { size: 14, weight: 'bold' },
bodyFont: { size: 13 },
cornerRadius: 8,
callbacks: {
label: function(context) {
return context.label + ': ' + context.parsed + '%';
}
}
}
}
}
});
}
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', function() {
setTimeout(initCharts, 100);
});
} else {
setTimeout(initCharts, 100);
}