2024/11 14

[Django] 장고 ORM

1. ORM 1-1. Object-Relational-Mapping 객체 관계형 매핑파이썬으로 데이터베이스를 조작할 수 있게 해줌객체 지향 언어에서는 클래스를 이용한 객체로 데이터와 기능을 캡슐화해서 다루고, 데이터베이스는 테이블과 행으로 데이터를 저장하고 관리하는데, 이 두가지 사이의 개념적인 간극을 줄인것SQL 안쓰고 Python으로 데이터베이스 조작하는 방법 SQL Statement ↔ ORM ↔ Python Object 1-2. ORM 종류Python - Django ORM, SQLAlchemy, Tortoise ORM …JAVA - JPA, Hybernate …Node.js - Sequalize …1-3. ORM 장점SQL을 잘 알지못해도 DB 조작 가능SQL을 알아도 기존의 복잡한 쿼리문 작성..

카테고리 없음 2024.11.17

프론트/백엔드 이중 유효성 검증하는 이유

중복 작업이 아니라, 각자의 역할이 다름. 0. 프론트엔드와 백엔드 유효성 검증의 차이 0-1. 프론트엔드 유효성 검증역할: 사용자 경험을 향상시키기 위함실시간 피드백 제공 (입력 오류 시 빨간 경고 표시 등)데이터가 서버로 전송되기 전에 간단히 필터링but: 프론트엔드 유효성 검증의 한계프론트엔드 검증은 쉽게 우회될 수 있음악의적인 사용자가 브라우저의 개발자 도구를 사용해 검증을 비활성화하거나, 직접 조작한 데이터를 서버로 보낼 수 있음 0-2. 백엔드 유효성 검증역할: 데이터의 신뢰성과 보안을 보장보안: 악의적인 데이터 입력(예: SQL Injection, 스크립트 공격)을 방지데이터 무결성: 잘못된 데이터(예: 형식에 맞지 않는 이메일, 비어 있는 필드 등)가 데이터베이스에 저장되지 않도록 보장ex..

카테고리 없음 2024.11.16

CSS 메모

1. DISPLAY 속성태그들마다 display 속성이 존재함! 1-1. Block 속성부모태그의 100% 너비를 모두 가져가면서 블록 모양의 형태를 갖고 있는 것!높이는 따로 설정하지 않는 이상, 기본 설정 값 혹은 내용물에 맞춰 설정됨.child 가 여러개면 아래로 쌓임 1-2. Inline 속성글씨가 있다 -> 글씨의 높이 만큼만. 한 줄 내의 일정 부분만 갖고가게 됨.child 가 여러개면 오른쪽으로 쌓임 1-3. Inline-block블록인데도 불구하고 인라인처럼 오른쪽으로 쌓이는 형식으로 구성된 블록. 1-4. None존재하지 않음.html 태그 상에서는 존재하지만, 브라우저에 시각화되는 과정에서는 아무것도 없우  2. Visibility 속성 (시각화 속성)2-1. Hidden 속성displ..

카테고리 없음 2024.11.15

퓨어장고 vs DRF 차이점

퓨어 장고 (Django Template 기반)설명:Django의 기본 템플릿 시스템과 클래스 기반 뷰(CBV) 또는 **함수 기반 뷰(FBV)**를 사용.HTML, CSS, Django 템플릿 문법을 사용하여 백엔드와 프론트엔드가 강하게 결합.데이터를 서버에서 처리하고, 렌더링된 HTML을 클라이언트로 보냄.특징:서버에서 직접 HTML 생성: 데이터를 뷰에서 처리하고 템플릿에 전달.Django 템플릿 문법 사용: {% for %}, {% if %}, {% url %}, {% static %} 등.JS 사용은 선택 사항: 간단한 프로젝트에서는 JS가 크게 필요하지 않을 수도 있음.장점:빠른 프로토타입 개발: 백엔드와 프론트엔드를 동시에 개발.간단한 프로젝트에 적합.서버사이드 렌더링이므로 SEO 친화적.단..

카테고리 없음 2024.11.14