전체 글 42

프로그래머스_배열 만들기 2

문제 설명정수 l과 r이 주어졌을 때, l 이상 r이하의 정수 중에서 숫자 "0"과 "5"로만 이루어진 모든 정수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.만약 그러한 정수가 없다면, -1이 담긴 배열을 return 합니다.예) 5 이상 555 이하의 0과 5로만 이루어진 정수는 작은 수부터 5, 50, 55, 500, 505, 550, 555가 있습니다. 따라서 [5, 50, 55, 500, 505, 550, 555]를 return 합니다. Answer 1반복문의 범위를 l 이상 r 이하로 설정정수를 문자열로 변환, 0과 5로만 이루어진 정수인지 확인하는 변수 check_num 설정문자열의 문자가 0과 5가 아니면 check_num을 false로 바꾸기chec..

카테고리 없음 2025.01.23

Docker_기본

Docker 기본 플로우dockerfile 작성 → image 빌드 → container 실행 dockerfile 컨테이너 이미지를 생성하기 위한 명령어 모음이 담긴 텍스트 파일 (명령이 들어있는 설계도)dockerfile 작성 - 실제로 실행해야할 명령어들을 순서대로 작성베이스 이미지 선택 이미지의 기반이 될 OS 또는 런타임 선택 애플리케이션 설치 및 설정 필요한 코드와 파일을 이미지에 복사 파일 복사 애플리케이션 실행에 필요한 라이브러리나 도구 설치 작업 디렉토리 설정 컨테이너에서 열어야 할 포트 정의 애플리케이션 실행 명령어 컨테이너 실행 시 기본으로 실행될 명령 설정 더보기# 1. 베이스 이미지FROM python:3.10-slim# 2. 작업 디렉토리 설정WORKDIR /app # 컨테..

카테고리 없음 2025.01.21

Django_set_password 함수

set_password사용자의 비밀번호를 안전하게 저장할 수 있도록 해시(hashing) 처리를 해주는 메서드평문으로 입력된 비밀번호를 해시화하여(암호문으로 변경하여) 데이터베이스에 저장직접 평문 비밀번호를 저장하지 않음해시 알고리즘을 사용해 암호문으로 변경되기 때문에 보완성이 보장됨UserCreationForm은 내부적으로 set_password를 사용하여 비밀번호를 해시화함from django.contrib.auth.models import User# 사용자 생성user = User(username='example_user')# 비밀번호 해시화user.set_password('password12341234') # 데이터베이스에 저장user.save()비밀번호 검증검증 성공 : "데이터 베이스의 암호..

카테고리 없음 2025.01.20

Django_ 해시, 쿠키, 세션

웹 보안의 기본 원칙: 쿠키, 세션, 해시, (JWT)웹 애플리케이션 개발에서 보안은 매우 중요한 부분입니다.쿠키, 세션, 해시, JWT는 웹 보안을 위해 함께 사용되는 핵심 기술입니다.  서로 보완하며 웹 보안을 더욱 강화합니다.사용자의 정보를 안전하게 관리하고 인증된 사용자에게만 서비스를 제공해야 신뢰성을 얻을 수 있습니다. "cㅜ키는 cㄹ라이언트, sㅔ션은 sㅓ버에 저장"클라이언트가 서버(웹)에 요청을 보냄 -> 서버는 세션 ID를 만듦 -> 세션 ID와 함께 쿠키한테 전달쿠키가 다음에 요청을 할 때는 세션 ID를 함께 서버에 보내줌 쿠키(cookie): 웹 애플리케이션의 작은 기억 장치 세션 ID를 저장하여 세션을 유지하는 데 사용 특정 사용자 구별사용자 상태 저장 (로그인 상태나 장바구니 정보)..

카테고리 없음 2025.01.17

Django_REST

REST(Representational State Transfer)웹 서비스를 설계하는 아키텍처 스타일 중 하나로, 원칙과 특징을 가짐자원(Resource): 모든 것은 자원으로 표현되며, URI(Uniform Resource Identifier)를 통해 고유하게 식별예) /users/1 (사용자 ID가 1인 사용자)행위(Methods): HTTP 메서드를 사용하여 자원을 처리GET: 조회POST: 생성PUT: 전체 수정PATCH: 일부 수정DELETE: 삭제표현(Representation): 자원의 상태는 JSON, XML, HTML 등의 형식으로 전송{ "id": 1, "name": "John Doe", "email": "john@example.com"} 설계 원칙클라이언트-서버 구조: 클라이언..

카테고리 없음 2025.01.16

Django_commit=False

commit=False는 데이터베이스에 바로 저장하는 것이 아닌 수정이 필요한 경우 사용합니다. commit=False 없이 저장하는 경우form.save()​폼 데이터를 즉시 데이터베이스에 저장폼 데이터를 수정하지 않고 그대로 저장할 때 사용 가능 commit=False를 사용하는 경우post = form.save(commit=False)post.author = request.user # 예: 작성자 정보 추가post.save()form.save(commit=False)는 폼 데이터를 데이터베이스에 저장하지 않고 해당 모델 객체만 반환반환된 객체를 수정한 후 명시적으로 .save()를 호출하여 데이터베이스에 저장저장 전에 추가로 값을 설정하거나 다른 작업을 수행해야 할 때 필요예) author, cr..

카테고리 없음 2025.01.15

Django_ HTML 태그

HTML 태그Django 템플릿에서 데이터를 표현할 때 HTML 태그를 사용합니다. 줄바꿈 적용 태그 - 단순 줄바꿈(글 사이 공백 없음) - 문단 표현(글 사이 일정 크기의 공백 발생) - (태그 내에 있는 그대로 보여줌)DjangoHTML 태그태그 내 내용 그대로 적용 제목 ~ : 헤딩{{ blog.title }}Posts{% for post in posts %} {{ post.title }} {{ post.content }}{% endfor %} 단락: 문단 (paragraph){% for post in posts %} {{ post.content }}{% endfor %} : 구역 (division) This is a block of content. {% for pos..

카테고리 없음 2025.01.14

Django_클래스 추상화

클래스 추상화여러 모델, 뷰 등에서 공통적으로 사용하는 코드를 부모 클래스로 분리해 재사용코드 중복 제거: 동일한 필드나 메서드를 여러 클래스에 반복해서 쓰지 않아도 됨쉬운 유지보수: 공통으로 관리하므로 기능 추가나 확장, 수정하기 쉬움추상화된 클래스는 데이터베이스에 테이블 생성이 안됨 Meta 클래스의 `abstract = True`로 지정하면 추상 클래스로 설정되어 테이블로 생성되지 않음자식 클래스만 테이블 생성됨주로 모델 클래스에 적용뷰에서도 공통 로직(템플릿 등)을 모아 부모 클래스로 작성한 후 상속받아 사용할 수 있음모델 파일 사용 예시) blog/models.py기존 Post, Tag 클래스는 model.Model을 상속받기 때문에 중복 코드들을 한 클래스(TimestampedModel)에 넣..

카테고리 없음 2025.01.13

Django_HTTP Form과 Django Form

HTTP FormHTML 양식을 사용하여 데이터를 전송form 태그를 사용Django뿐만 아니라 모든 웹 프레임워크 및 서버에서 사용 가능클라이언트-서버 통신HTTP 요청으로 데이터를 서버에 보냄GET: 데이터베이스를 건드리는 작업을 한다 POST: 데이터베이스는 접근하지 않고 / 페이지를 연다action 속성은 데이터를 전송할 URL을 지정, method 속성은 HTTP 메서드 지정 Name: Content: Submitfrom django.http import HttpResponsedef submit_view(request): if request.method == "POST": name = request.POST.get('name') email = r..

카테고리 없음 2025.01.10

Django_Model Relationship

RDBMS (Relational Database Management System)관계형 모델에 기반한 데이터베이스 관리 시스템관계형 데이터베이스1:1, 1:N, N:M 관계데이터 간의 관계를 잘 나타내기 위함상황에 적절하게 관계 필드 선택하기 (데이터베이스가 쓸데없는 데이터로 채워질 수 있으며, 혼돈이 일어날 수 있음)기본 키(primary key), 외래 키(foreign key)로 데이터를 관리MySQL, PostgreSQL, Oracle Database O2O(One to One): 1:1 관계하나의 테이블의 각 행이 다른 테이블의 하나의 행과 연결관계 필드: OneToOneField예) 작성자와 아이디 O2M(One to Many): 1:N 관계하나의 테이블의 한 행이 다른 테이블의 여러 행과 연..

카테고리 없음 2025.01.09