실습·구현
-
개념: Cloud computing Web App 기초 원리클라이언트-서버 모델은 요청과 응답의 관계를 통해 작동하며, API, 프로토콜, 요금 구조에 기반한다. 기술의 진화는 Unix 시스템에서 클라우드 컴퓨팅으로 발전하였고, 클라우드 서비스는 IaaS, PaaS, SaaS의 계층 구조로 구성되어 있다. 각 계층은 물리적 자원, 추상화된 실행 환경, 최종 소프트웨어를 제공하며, 경제적 요소와 수요-공급 관계를 반영한다.
-
Git: GitHub Desktop 이용GitHub Desktop을 사용하여 새로운 리포지토리를 생성하고 로컬에서 작업한 후 GitHub에 업로드하는 방법과 기존 리포지토리를 클론하여 사용하는 방법을 설명합니다. 새 프로젝트는 "New Repository"를 통해 생성하고, 기존 프로젝트는 "Clone Repository"를 통해 로컬에서 수정 후 푸시합니다.
-
Deployment (배포·배달 방식) 변화앱 배포 환경의 변화에 대한 주요 개념으로는 물리적 자원과 추상화된 논리적 객체, Host OS와 Guest OS, 이미지와 컨테이너, 오케스트레이션, 그리고 Kubernetes가 포함된다. Kubernetes는 컨테이너의 배포, 확장 및 관리를 자동화하는 오픈소스 플랫폼으로, Pod, Service, Deployment와 같은 객체를 통해 효율적으로 관리한다.
-
HW Mini PC: 윈도우 OS를 개인서버로 사용해보기윈도우 OS를 개인 서버로 활용하기 위한 가이드로, CCTV 시스템, IP 연결 제어, NAS 설정 방법을 설명합니다. WebDAV 프로토콜을 사용하여 파일 저장 및 공유를 지원하며, IIS 활성화와 도메인 구매, 포트 포워딩 설정 등의 절차를 포함합니다.
-
AI Wrapper 설계 기초LLM 기반 애플리케이션 개발은 기존 오픈소스 기술의 조합에 의존하며, LangChain과 RAG 기술을 활용하여 사용자 경험을 최적화하는 것이 중요하다. 애플리케이션은 유연한 계층 구조로 설계되어 각 계층이 특정 기능을 담당하며, PEFT, RAG, Agent 기술의 조합이 성공적인 앱 구축의 핵심 전략이다. LangChain은 다양한 모듈을 조율하여 복잡한 추론 흐름을 관리하며, 개발자의 경쟁력은 기술 모듈을 효과적으로 조합하고 최적화하는 능력에 있다.
-
Dataset - DB와의 상호작용CRUD 기능은 데이터베이스의 기본이며, REST API와 밀접하게 연결되어 있습니다. 트랜잭션은 원자성과 일관성을 보장하며, ACID 속성을 만족해야 합니다. 데이터 무결성을 위해 다양한 제약조건이 필요하며, 인덱싱은 검색 성능을 향상시킵니다. 정규화는 데이터 중복을 줄이고 구조적 일관성을 확보하는 데 중요하지만, 과도한 정규화는 성능 저하를 초래할 수 있습니다. 효율적인 데이터베이스 설계는 이러한 모든 요소들이 조화롭게 작동할 때 가능해집니다.
-
Web App Full Stack 개발 개요웹 앱 개발은 백엔드 중심과 프론트엔드 중심 접근 방식으로 나뉘며, API를 통해 상호작용합니다. 주요 언어, 플랫폼, 프레임워크, 라이브러리를 소개하고, Next.js와 FastAPI의 통합 구조 및 프로젝트 디렉터리 구조를 설명합니다. 배포 방식은 Docker를 사용하여 통합 실행 설정을 제공합니다.
-
Web App 관련 기술 용어 - 데이터 흐름으로 정리하기웹 앱 개발에서 기술 용어보다 데이터 흐름의 이해가 중요하다. 입력, 처리, 출력을 명확히 구분하고 연결하여 설계해야 하며, Firebase 플랫폼을 활용하여 효율적인 개발이 가능하다. Tailwind CSS와 컴포넌트를 사용하여 사용자 인터페이스를 빠르게 구현할 수 있으며, 데이터 저장, 계산 로직, 표현 방식을 정확히 설계하는 것이 핵심이다.
-
OS Windows WSL2에서 Ubuntu OS 실행하기WSL2는 Windows에서 리눅스 개발 환경을 제공하는 경량 가상화 구조로, 설치 및 초기 설정 방법을 단계적으로 안내합니다. WSL2의 장점으로는 빠른 성능, Windows와 Linux 파일 시스템 간의 연동, VS Code 통합 등이 있으며, Ubuntu 배포판 설치와 사용자 계정 설정 방법도 포함되어 있습니다. 초기 환경 구성 후 패키지 업데이트 및 개발 도구 설치가 가능합니다.
-
Data Flow. Client-Server 환경에서클라이언트-서버 환경에서 SSH는 원격 서버의 Shell에 안전하게 접속하는 통신 프로토콜로, 사용자는 로컬 PC에서 명령어를 입력하여 서버와 상호작용합니다. 운영체제의 구조는 사용자, Shell, Kernel, 하드웨어로 구성되며, 이들 간의 정보 처리 흐름은 명확하게 정의됩니다. WSL2와 AWS EC2 환경에서 각각의 Shell 사용 방식이 설명됩니다.
-
앱 분석 - EBS의 Web App (Danchoo+)EBS의 Danchoo+는 AI 진단, 추천, 분석을 통해 학생의 학습을 지원하지만, 실제로는 규칙 기반 시스템과 간단한 통계 분석(Item2Vec)을 사용한다. 각 단계에서 진단, 추천, 분석, 결과 제공이 이루어지며, 이는 사용자 맞춤화에는 한계가 있지만 정책기관의 요구를 충족시킨다. 향후 Transformer 기반 모델과 강화학습을 통해 발전할 가능성이 있다.
-
LLM Deep Research에서의 핵심요소대규모 언어 모델(LLM)의 심층 연구는 파라미터 수 경쟁을 넘어, 하이퍼파라미터 최적화, 배치 크기, 에폭, 학습률 스케줄링 등 핵심 요소를 정밀하게 설계하고, 연산 자원의 효율적 사용을 강조합니다. 이를 통해 학습 안정성과 효율성을 동시에 확보하며, LLM의 확장성과 서비스 가치를 높이는 것이 중요합니다. 경쟁력은 규모가 아닌 정밀성과 효율성에 기반해야 합니다.
-
수식 문서 작성용 LaTeX 배포판 추천MiKTeX는 설치 용량이 작고 패키지를 자동으로 설치할 수 있어 Windows 사용자에게 적합하며, TeX Live는 모든 주요 패키지를 포함하고 높은 호환성을 제공하여 학계에서 표준으로 사용된다. 두 배포판 모두 주기적인 업데이트를 제공하며, MiKTeX는 개별 패키지 중심, TeX Live는 전체 동기화 방식으로 운영된다. 설치 방법은 MiKTeX 공식 사이트에서 파일을 다운로드하고 설치 과정 중 패키지 설치 옵션을 선택하는 것으로 이루어진다.
-
quarto: Publishing FrameworkQuarto는 Pandoc 기반의 오픈 소스 출판 시스템으로, Jupyter/R/VS Code 워크플로를 통합하여 HTML, PDF, DOCX, 슬라이드 등을 재현성 있게 생성한다. 코드 실행 및 출력 캐시, 크로스레퍼런스, 서지 인용 기능이 내장되어 있어 설정이 간편하다. Quarto는 다양한 언어와 포맷을 지원하며, 여러 도구와 비교했을 때 단일 소스에서 다양한 출력 형식을 제공하는 장점이 있다.
-
Pandoc을 이용한 파일 형식 변환법Pandoc을 사용하여 다양한 파일 형식으로 변환하는 방법을 설명합니다. EPUB 파일은 Pandoc으로 Markdown으로 변환할 수 있으며, PDF 파일은 pdf2htmlEX와 Pandoc을 조합하여 HTML로 변환 후 Markdown으로 변환할 수 있습니다. 추가 옵션으로 LaTeX 수식을 유지하거나 PDF 내 이미지를 포함하여 변환하는 방법도 안내합니다.
-
Database 구조 - Schema와 DB 종류스키마는 데이터베이스의 데이터 구조와 구성 방식을 정의하며, 데이터 무결성 유지, 타입 표준화, 관계 정의 등의 기능을 수행한다. 데이터베이스 유형으로는 관계형, 문서형, 키-값, 벡터 DB가 있으며, 각 유형은 스키마 특성과 저장 방식이 다르다. 문서형 DB는 JSON/BSON 형식으로 데이터를 저장하며 유연한 구조를 제공하고, 키-값 DB는 단순한 Key-Value 쌍으로 빠른 조회 성능을 자랑한다. 벡터 DB는 임베딩 벡터 기반의 유사도 검색을 지원한다.
-
LLM 차이점을 만드는 핵심요소최신 대규모 언어 모델(LLM)의 성능은 입력 데이터의 품질, Transformer 아키텍처의 유형, 학습 방식, 추론 최적화 기법에 따라 달라진다. LLM은 문장 생성, 번역, 요약 등 다양한 자연어 처리 태스크를 수행하며, 입력 데이터의 토큰화 방식, Fine-tuning 전략, 강화 학습 적용 여부가 중요한 요소로 작용한다. 각 모델은 이러한 요소들의 조합에 따라 고유한 강점과 사용 시나리오를 가지게 된다.
-
LLM 비교 Testing Lab대규모 언어 모델(LLM)은 Proprietary LLM과 Open-Source LLM으로 구분되며, 각각의 장단점이 있다. Proprietary LLM은 강력한 성능과 API를 제공하지만 데이터 프라이버시에서 제약이 있으며, Open LLM은 로컬 실행과 완전한 Fine-tuning이 가능해 연구와 데이터 보호에 유리하다. LLM Testing Lab은 다양한 모델을 비교하고 평가하여 최적의 선택을 돕는 통합 실험실로, 사용자와 개발자가 신뢰할 수 있는 AI 솔루션을 설계하는 데 필수적인 도구이다.
-
LLM Fine-tuning (LoRA 방식) 실습대규모 언어 모델(LLM)을 LoRA 방식으로 미세 조정하는 방법을 안내하며, 사전 학습 모델과 토크나이저 불러오기, 학습 데이터셋 준비, 모델 경량화, Trainer 설정 및 Fine-tuning 실행, 모델 저장, Ollama 실행용 모델 변환, 로컬 실행 예시를 포함합니다. 이를 통해 다양한 오픈소스 LLM을 효율적으로 배포할 수 있습니다.
-
Web App Full Stack 개발 기초프론트엔드는 사용자 인터페이스(UI)를 구축하며, HTML, CSS, JavaScript가 주요 언어로 사용된다. 백엔드는 데이터 처리와 서버 로직을 담당하며, Node.js, Python, Java, PHP, C# 등의 언어가 사용된다. API를 통해 프론트엔드와 백엔드 간의 데이터 통신이 이루어지며, RESTful API와 GraphQL이 주요 기술이다. 각 언어별로 다양한 프레임워크가 존재하여 개발 생산성을 높인다.