전체 글 373

관리자 페이지에 모델 등록하기

📘 『시마당 프로젝트 따라하기』5장. 관리자 페이지에 모델 등록하기작성자: easyfly작성일: 2025년 7월 12일🟧 1. Django 관리자(admin)란?Django는 자동으로 관리자 웹페이지를 제공합니다.우리가 만든 모델을 여기에 등록하면 웹에서 직접 데이터 추가/수정이 가능합니다.시니어들의 시를 등록하거나 수정하는 기능도 관리자에서 직접 가능합니다.🟦 2. 관리자 계정 생성📥 명령어python manage.py createsuperuser✅ 입력 항목Username: easyflyEmail address: easyfly@example.comPassword: ********입력을 마치면 Superuser created successfully. 메시지가 출력됩니다. ※ 관리자 생성에서 비밀..

시 모델 만들기: Poem과 Author

📘 『시마당 프로젝트 따라하기』4장. 시 모델 만들기: Poem과 Author작성자: easyfly작성일: 2025년 7월 11일🟧 1. 모델이란?모델(model)은 웹서비스에서 데이터를 설계하는 설계도입니다.우리는 poem 앱 안에 작가(Author)와 시(Poem) 모델을 만들어시니어들의 작품을 저장하고 관리할 수 있도록 합니다.🟦 2. 모델 정의📁 위치madang/poem/models.py📄 코드 작성from django.db import modelsclass Author(models.Model): name = models.CharField(max_length=50) bio = models.TextField(blank=True) def __str__(self): ..

HTML5/반응형 웹 2025.07.11

Django 프로젝트 시작과 앱 만들기

📘 『시마당 프로젝트 따라하기』3장. Django 프로젝트 시작과 앱 만들기작성자: easyfly작성일: 2025년 7월 10일🟧 1. Django 프로젝트 시작📍 작업 위치가상환경이 활성화된 상태에서 madang 디렉터리 내에서 작업합니다:cd ~/madangsource venv/bin/activate📥 명령어django-admin startproject simadang ..(점)을 꼭 입력해야 현재 디렉터리(=madang)를 프로젝트 루트로 사용하게 됩니다.📁 생성된 구조madang/├── manage.py├── simadang/│ ├── __init__.py│ ├── settings.py│ ├── urls.py│ ├── asgi.py│ └── wsgi.py🟧 2. 개발 ..

HTML5/반응형 웹 2025.07.10

Python 가상환경 설정과 Django 설치

📘 『시마당 프로젝트 따라하기』2장. Python 가상환경 설정과 Django 설치작성자: easyfly작성일: 2025년 7월 9일🟦 1. 왜 가상환경을 사용할까?Python은 다양한 프로젝트에서 서로 다른 패키지 버전을 필요로 합니다.가상환경을 사용하면 각 프로젝트마다 독립된 환경을 만들어 충돌 없이 관리할 수 있습니다.🟧 2. 가상환경 만들기📍 사전 조건EC2에 접속한 상태여야 합니다:ssh -i easyfly-key.pem ubuntu@📥 명령어sudo apt updatesudo apt install python3-venv -y# 작업 디렉터리 생성mkdir madangcd madang# 가상환경 생성python3 -m venv venv# 가상환경 활성화source venv/bin/act..

HTML5/반응형 웹 2025.07.09

시마당 프로젝트 따라하기

📘 『시마당 프로젝트 따라하기』1장. AWS 가입과 EC2 인스턴스 생성작성자: easyfly작성일: 2025년 7월 8일🟧 1. AWS란?Amazon Web Services(AWS)는 클라우드 컴퓨팅 플랫폼입니다.우리는 이 중에서 EC2(Elastic Compute Cloud)를 이용해 웹서버를 직접 운영합니다.🟦 2. AWS 가입하기1️⃣ 홈페이지 접속주소: https://aws.amazon.com2️⃣ 가입 절차이메일 주소 입력 → 루트 사용자로 가입비밀번호 설정AWS 계정 이름 지정 (예: easyfly-senior)신용카드 등록 (1달러 인증만, 실제 요금 없음)신원 인증 (휴대폰 번호로 문자 인증)계정 유형: 개인플랜 선택: 무료 요금제(FREE TIER) 선택✅ 가입 완료 메시지가 나오..

HTML5/반응형 웹 2025.07.08

VPC(Virtual Private Cloud) 기본 통신 제어

VPC(Virtual Private Cloud) 기본 통신 제어VPC(Virtual Private Cloud)에서의 기본 통신 제어는 네트워크의 보안성과 접근 제어를 위해 핵심적인 요소입니다. AWS에서 VPC는 사용자가 정의한 논리적 격리 네트워크이며, 이 안에서 통신을 제어하기 위해 다양한 메커니즘이 사용됩니다. 다음은 VPC 내 기본 통신 제어 수단과 동작 방식입니다.🔐 VPC 기본 통신 제어 요소1. 서브넷(Subnet)VPC 안의 IP 주소 범위를 나누는 단위퍼블릭 서브넷: 인터넷 게이트웨이와 연결됨프라이빗 서브넷: 외부와 직접 연결 없음 (NAT 사용 가능)2. 라우팅 테이블(Route Table)네트워크 트래픽의 전달 방향을 결정기본 라우팅 테이블은 VPC 생성 시 자동으로 생성퍼블릭 서브..

사설 네트워크(Private Network)

RFC1918에서는 사설 네트워크(Private Network)에서 사용하기 위해 공인되지 않은 IP 주소 범위, 즉 프라이빗 IP 주소(Private IP Address) 범위를 정의하고 있습니다. 이 주소들은 인터넷상에서는 라우팅 되지 않으며, 주로 내부 네트워크용으로 사용됩니다.다음은 RFC1918에서 정의한 3개의 프라이빗 IP 주소 블록입니다.🔒 RFC1918 프라이빗 IP 주소 범위 클래스 주소 범위 서브넷 마스크 개요 클래스 A10.0.0.0 ~ 10.255.255.255255.0.0.0 (또는 /8)대형 기업, 기관 등에서 사용클래스 B172.16.0.0 ~ 172.31.255.255255.240.0.0 (또는 /12)중형 네트워크에 적합클래스 C192.168.0.0 ~ 192.1..

Django ModelForm의 Meta 클래스 완전 정복

✅ Django ModelForm의 Meta 클래스 완전 정복 ✅ 1. Meta 클래스란?Meta는 폼 클래스 내부에 정의되는 특별한 클래스입니다.이 클래스는 폼의 동작 설정(예: 연결된 모델, 사용할 필드, 표시할 라벨 등)을 담습니다.ModelForm 또는 ModelAdmin 등이 사용할 **메타 정보(meta-information)**를 제공합니다.✅ 2. 사용 목적ModelForm이 어떤 모델을 기반으로 할지, 어떤 필드를 폼에 표시할지 등의 정보를 알려줍니다.✅ 3. 기본 구조class QuestionForm(forms.ModelForm): class Meta: model = Question # 연결할 모델 fields = ['subject', 'content']..

HTML5/반응형 웹 2025.06.10

AWS 학습 계획

AWS 학습 계획🌐 1단계: AWS 기초 이해주요 개념 정리IaaS (Infrastructure as a Service): 서버, 저장소, 네트워크 등을 인터넷으로 제공 (예: EC2, S3 등)PaaS (Platform as a Service): 애플리케이션 개발 및 실행을 위한 플랫폼 제공 (예: Elastic Beanstalk)SaaS (Software as a Service): 완성된 소프트웨어를 웹 기반으로 제공 (예: AWS WorkDocs)주요 용어Region: AWS 리소스가 물리적으로 존재하는 지역Availability Zone: Region 안의 독립된 데이터 센터콘솔: AWS 웹 관리 인터페이스CLI (Command Line Interface): 명령어 기반 리소스 관리 도구☁️ 2..

리스트 내포 실전 응용― 텍스트 분석부터 AI 입력 전처리까지

리스트 내포 실전 응용― 텍스트 분석부터 AI 입력 전처리까지지금까지 우리는 리스트 내포의 문법을 익혔습니다.이제는 그것을 어떻게 현실 문제 해결에 적용할 수 있는지 실제 예제를 통해 확인해봅니다.1. 텍스트 정제text = "This is a Sample Sentence for Text Processing"stopwords = ['is', 'a', 'for']words = [word.lower() for word in text.split() if word.lower() not in stopwords]2. 단어 길이 필터링sentence = "Python is simple yet powerful"long_words = [w for w in sentence.split() if len(w) >= 5]3. A..