Blog
About Me
citeFred’s Blog
Blog
About Me
citeFred’s Blog
Share
Blog
About Me
citeFred’s Blog
Developer Inyong Kim’s Blog
Post Gallery
Post List
Table
Search
1. Why React? Vite?
1. React란?
2. Vite란?
[React+vite] 1. 프로젝트 개발 환경 구축과 핵심 용어 정리
6일차: 최종 시스템 통합 및 데모 (FastAPI)
부제:
딥보이스/딥페이크 탐지 모델을 활용한
추론 API 서버
구축 및
전체 통합
Agenda: 6일차 학습 목표 및 일정 (8H)
•
모듈 1 (이론/실습):
FastAPI 서버 환경 설정 및 프로젝트 구조 구성
•
모듈 2 (실습):
딥보이스 탐지 API 개발 (FastAPI)
•
모듈 3 (실습):
딥페이크 이미지 탐지 API 개발 (FastAPI)
[AI딥페이크] 6.
딥페이크 탐지 프로젝트(2) - Inference API + Frontend + Backend → Docker 애플리케이션 통합
5일차: 딥페이크 탐지 앱 개발(1) 프로젝트
부제:
데이터 전처리, 딥보이스 및 딥페이크 이미지 모델 분석과 훈련
Agenda: 5일차 학습 목표 및 일정
•
데이터 전처리:
개념 이해 및 딥페이크 탐지를 위한 기초 데이터 확보.
•
딥보이스 모델 분석:
음성 특징 학습 및 진위 판별 메커니즘 이해.
[AI딥페이크] 5.
딥페이크 탐지 프로젝트(1) - AI 모델 학습
4일차: 백엔드 프로그래밍 (NestJS)
부제:
Node.js, TypeScript, NestJS 핵심 개념과 RESTful API 서버 구축
Agenda: 4일차 학습 목표 및 일정
1.
NestJS 이론 (1):
핵심 개념, 아키텍처 (DI, Module)
2.
NestJS 실습 (1):
Nest CLI 환경 구축 및 프로젝트 생성 (Resource)
3.
NestJS 이론 (2):
데이터베이스와 ORM (TypeORM)
[AI딥페이크] 4.
백엔드 프로그래밍 언어 및 개발 환경 구축
(
NestJS
)
3일차 - 프론트엔드 개발: React 기초
부제:
JavaScript 핵심 문법, React 컴포넌트, Hooks를 활용한 딥페이크 탐지 웹 UI 구현
Agenda: 3일차 학습 목표 및 일정
1.
JavaScript Core (이론):
ES6+ 주요 문법, 비동기 처리 (Promise, async/await).
2.
React Core (이론):
SPA, JSX, Component, Props, State 개념.
3.
실습 1 (환경 구축):
React 개발 환경 구축 (Vite), 기본 컴포넌트 및 Props.
[AI딥페이크] 3. 프론트엔드 프로그래밍 언어 및 개발 환경 구축 (React)
2일차: 스마트시티 산업 동향 및 딥페이크 탐지 프로젝트 설계
부제:
딥페이크 탐지 기술의 스마트시티 적용 방안 모색 및 웹 서비스 기획
2일차 학습 목표 및 일정
1.
이론 (2H):
스마트시티 산업 동향 및 딥페이크 탐지 기술 적용 방안
2.
실습 (6H):
딥페이크 탐지 웹 애플리케이션 프로젝트 설계
3.
발표 및 피드백:
팀별 설계 내용 발표
[AI딥페이크] 2.
스마트시티 산업과 AI
1일차: AI 혁신과 스마트시티: 딥페이크 탐지 첫걸음
부제:
AI 기본기, 스마트시티 적용, 그리고 딥페이크 문제의 이해
Agenda: 1일차 학습 목표 및 일정
1.
AI/DL 이론:
AI, 머신러닝, 딥러닝 개념 및 차이점 이해
2.
실습 1 (환경):
Colab 및 Python 데이터 분석 도구 (Numpy/Pandas) 활용
[AI딥페이크] 1. AI 및 스마트시티
1,2,3 장에서의 실습과 설명은 비전공, 웹개발 경험이 없는 대상을 위해 안내했지만, 이 과정도 다소 어렵게 느껴질 수 있는 왕초보들을 위한 AI 활용 방법이다.
1. AI에게 구성 만들도록 하기
•
Framer 홈페이지에서
Start with AI
선택
•
프로젝트 소개 페이지므로
Landing Page
선택 및
전송
•
알아서 에디터가 열리면서, 기본 레이아웃을 AI가 작성한다.
•
왼쪽 Ask Framer… 에서 원하는 것을 입력해보려고 한다.
•
실시간으로 AI가 페이지를 변경하기 시작한다.
[Framer] 4. AI Framer를 활용 웹사이트의 만들기(초심자추천)
1. 웹 서비스의 동작에 대해 이해하기
•
홈페이지는 우리가 보여주는 것 말고도 클릭해서 눌렀을때 동작하는 것들이 포함된다. 이 홈페이지의 예시로는 아래 사진과 같다.
•
우리는 강제로 우리 프로젝트 이미지를 넣긴했지만, 저렇게 프로젝트 메뉴로 이동하니
우리가 수정하지 못했던 부분들이 있는 것을 확인
했다.
•
실제 홈페이지들의 동작은 단순히 이미지를 교체하는 정도로는 한계가 있고,
•
하지만
Framer에서는 이러한 복잡함을 간단히 페이지 구성을 통해 해결
할 수 있다.
[Framer] 3. Framer를 활용 웹사이트의 콘텐츠를 바꿔보기 심화(콘텐츠관리시스템 CMS?)
1. Framer 회원가입
•
회원가입하기
•
구글로 간편 회원가입 하기
•
구글 회원 가입 진행, 알맞는 정보 입력하여 회원 가입 완료하기
•
회원가입 후 나타나는 메인 에디터 페이지
2. 테마 찾기
[Framer] 2. Framer를 활용 웹사이트 디자인과 배포해보기
1. Framer란 무엇인가?
Framer: Create a professional website, free. No code website builder loved by designers.
Framer(프레이머)는 디자이너가 코딩 없이도 실제 작동하는 전문가 수준의 웹사이트를 만들 수 있도록 하는
혁신적인 웹 빌딩 플랫폼
입니다.
과거에는 디자이너가 만든 시안을 개발자가 코드로 구현하는 방식이 일반적이었지만, Framer는
디자인과 개발 사이의 간극을 허물어
디자인 툴에서 작업하듯 웹사이트를 만들고 클릭 한 번으로 바로 인터넷에 게시(배포)할 수 있게 해줍니다.
쉽게 말해, "디자인 툴(Figma 등)의 자유도 + 웹 빌더(Wix, Squarespace 등)의 편리함 + 실제 웹 기술(React)의 강력함"을 합쳐놓은 도구라고 이해하시면 됩니다.
[Framer] 1. 초보, 비전공자를 위한 Framer로 홈페이지 만들기 소개
Python이란 무엇인가?
Python(파이썬)은 1991년 네덜란드의 프로그래머
귀도 반 로섬(Guido van Rossum)
이 개발한 고급 프로그래밍 언어다. 'Monty Python's Flying Circus'라는 영국의 코미디 프로그램에서 이름을 따온 Python은
"간단하고 읽기 쉬운"
철학을 바탕으로 설계되었다.
Python의 핵심 특징
1. 간단하고 직관적인 문법
Python의 가장 큰 장점은
사람이 읽기 쉬운 문법
이다. 다른 프로그래밍 언어에 비해 코드가 영어와 비슷하여 초보자도 쉽게 이해할 수 있다.
[Python] Python이란 무엇인가? - 프로그래밍 입문자를 위한
프로그래밍을 위한 Python 문법 기초
Python Tutorials
[Python] 0. Python 들어가기
수정 필요 부분
AuthModule
auth.module.ts
AuthModule 확인 필요
TypeError: Cannot read properties of undefined (reading 'challenge')
클라이언트 약식 소셜 로그인(OAuth)을 백엔드 서버 중심 인증방식으로 변경
•
보안 및 관례상 프로덕션 환경에서는 Credential 획득 및 관리를 백엔드에서 처리하는 것이 일반적인 관례이자 더 안전한 방식
•
따라서 이전 클라이언트 사이드로 Credential을 전달하던 약식 구현에서 백엔드 중앙집중식 구현으로 변경하고자 한다.
[OAuth2.0] Google Social Login 구현 - 백엔드 중앙 관리식 로직 구현
소셜 로그인은 모두 비슷한 과정
•
이전 카카오 로그인 구현과 결과적으로 동일한 과정을 거친다.
•
실제 애플리케이션에서 구현하는 과정을 정리
[OAuth2.0] Google Social Login 구현 - 클라이언트 사이드 약식
문제 인식
해결 방안 탐색
해결 시도와 결과
Refused to display in a frame because it set 'X-Frame-Options' to 'sameorigin'.
도메인 구매 후, DNS 관리페이지 -> A Record 설정 -> 서버 외부 IP 연결
•
http://www.metaverseacademy.site
•
http://metaverseacademy.site/
•
두개의 접근 주소 HTTP 일반 배포 상태 확인 (이후 → SSL 발급 후 HTTPS 보안 배포로 연결)
자체 서버(로컬) HTTPS 배포를 위한 WACS를 통한 자체 Let’s Encrypt 인증서 발급과 연결
샘플 모습
1.
프론트엔드의 파일 업로드 요청 시작
2.
백엔드 컨트롤러의 요청 흐름
3.
프론트엔드의 파일 데이터베이스 목록 조회 화면
4.
강의실의 시청 화면 진입 모습
5.
시청 화면 요청 시 NAS의 웹서버로부터 서빙되는 영상의 모습
백엔드서버→NAS API 파일 업로드→NAS 영상 서빙 뷰 페이지 반환까지의 구현 샘플
문제 인식
•
문제 상태 분석
해결 방안 탐색
•
특정 유저가 로그인하는 방식의 SSH 세션은 결국 해당 접속을 종료하면 세션이 종료되면서 관련 프로세스가 모두 종료됨
•
따라서, NAS가 계속하여 실행되는 root 유저로 접근하면 해결 할 수 있지만 root계정으로 터미널에 접근하는 것을 개방하는 것은 위험성이 있음
•
NAS 자체에서 제공하는
Docker를 통해 실행하면 root에서 실행하는것이므로 지속적인 프로세스를 유지 할 수 있음
NAS 내 파일업로드 애플리케이션의 특정 SSH에 종속된 세션 만료 문제 + Docker와 Host의 컨텍스트 인식 문제
NAS 파일 스토리지를 활용하기
•
NAS:
•
서비스 백엔드 서버:
•
서비스 프론트엔드 서버:
NAS 파일서버 구축과 웹서버(Nginx)를 통한 파일 서빙
Standalone?
Angular에서 "Standalone" 컴포넌트는 Angular 14 이상에서 도입된 기능으로, 모듈 없이 독립적으로 사용할 수 있는 컴포넌트를 의미합니다. 이는 컴포넌트의 재사용성과 관리성을 높이며, 더 간편하게 애플리케이션을 구성할 수 있게 해줍니다.
Standalone 컴포넌트의 특징
1.
모듈 불필요: 기존의 Angular 컴포넌트는 반드시 모듈에 포함되어야 했지만, Standalone 컴포넌트는 독립적으로 사용할 수 있습니다.
컴포넌트의 standalone의 필요성과 적용 범위 고려
데이터 바인딩을 위한 @Input 데코레이터
Angular에서 데이터 바인딩을 위한 데코레이터는 주로
@Input()
을 사용하여 부모 컴포넌트로부터 값을 받아오는 데 사용됩니다. 이 데코레이터는 자식 컴포넌트에서 부모 컴포넌트의 데이터를 바인딩할 수 있게 해줍니다.
다음은 Angular에서
@Input()
데코레이터를 사용하여 데이터 바인딩을 구현하는 간단한 예시입니다.
1.
자식 컴포넌트 생성 먼저 자식 컴포넌트를 생성하고,
@Input()
을 사용하여 데이터를 받을 준비를 합니다.
Angular의 @Input 데코레이터 사용 방법
https://folk.universitetetioslo.no/trygver/themes/mvc/mvc-index.html
1. MVC 디자인 패턴
[Node.js] 13. MVC 디자인 패턴과 리팩토링
1. 백엔드 NestJS+내장 Express 컨테이너화 및 실행
1.1 Dockerfile 및 .dockerignore 작성
•
MP_Project/Back-end/
Dockerfile
생성
•
MP_Project/Back-end/
.dockerignore
생성
[Docker] Docker VM 활용 통합 배포와 CI/CD 파이프라인 구축
Load more
About Me
Contact
Github
Category
Search
Programming Study
Projects
Thoughts
Life
Tags
Search
React
1
React
1
Python&AI
7
Python&AI
7
Framer
4
Framer
4
Project [LMS Platform]
9
Project [LMS Platform]
9
NestJS 과정
27
NestJS 과정
27
TypeScript
10
TypeScript
10
CS Study
73
CS Study
73
Node.js
13
Node.js
13
Spring-LDW
24
Spring-LDW
24
Spring
144
Spring
144
Java
45
Java
45
Algorithm&DataStructure
35
Algorithm&DataStructure
35
Project [TEAM258]
128
Project [TEAM258]
128
Project [iLanD]
35
Project [iLanD]
35
Project [CafeService]
17
Project [CafeService]
17
Project [GameInsight]
6
Project [GameInsight]
6
Project [Toy]
46
Project [Toy]
46
MySQL
30
MySQL
30
JPA
19
JPA
19
MongoDB
11
MongoDB
11
Elasticsearch
8
Elasticsearch
8
Git
4
Git
4
AWS
16
AWS
16
HTML,CSS
7
HTML,CSS
7
JavaScript
12
JavaScript
12
NAS&Docker
14
NAS&Docker
14
Flask
58
Flask
58
Python
18
Python
18
Interesting
0
Interesting
0
Blogging
6
Blogging
6
Kafka
1
Kafka
1
Mac
4
Mac
4
ETC
10
ETC
10
Redis
2
Redis
2
citeFred All Copyright Reserved. 2025