전체 글 157

Django Python 강의

코드잇 Django 웹 개발 강의 듣기! https://www.codeit.kr/paths/skill/django-web-development?categoryId=62c288ea672c77328d2aa4ad Django 웹 개발 - 분야별 강의 | 코드잇 입문자도 쉽게 배울 수 있는 파이썬 기반의 웹 개발 프레임워크, Django를 사용해서 웹 서비스를 만들어 보세요! www.codeit.kr 참고 https://docs.djangoproject.com/ko/4.2/intro/overview/ Django The web framework for perfectionists with deadlines. docs.djangoproject.com https://developer.mozilla.org/ko/doc..

공부 기록 2023.05.11

ERD(Entity Relationship Diagram)

ERD(Entity Relationship Diagram) : ERD(Entity Relationship Diagram)는 구조화된 데이터에 대한 일련의 표현으로, 데이터베이스를 구축할 때 가장 기초적인 뼈대 역할을 한다. 또한 시스템을 구축할 때 가장 우선적으로 설계해야 할 부분이다. Entity : 데이터 모델링에서 사용되는 객체 Entity - 학생 Attributes - 이름, 성별, 나이 등의 속성 학생은 이름, 성별, 나이 등의 속성값으로 구성된 Entity이다. * 엔터티(Entity) : 테이블을 구성하는 객체 구성성분 * 인스턴스(Instance) : 데이터베이스에 저장된 데이터 내용의 전체 집합, ex - 학생 정보 * 속성(Attribute) : 인스턴스의 구성요소로써 더 이상 분리되..

정리 2023.05.08

기본키(Primary key)와 외래키(Foreign key)

Keys : 키(key)는 DB에서 조건을 만족하는 레코드를 찾거나 순서대로 정렬할 때 레코드를 서로 구분할 수 있는 기준이 되는 속성을 뜻한다. 키(key)란 특정 튜플을 식별할 때 사용하는 속성 혹은 속성의 집합을 말하며, 키의 종류는 기본키, 슈퍼키, 후보키, 대체키, 외래키 등으로 나뉜다. 키의 종류 Super key (수퍼키) Candidate key (후보키) Primary key (기본키) Alternate key (대체키) Foreign key (외래키) Composite key (복합키) 기본 키(Primary key) 기본 키(Primary key)는 유일성과 최소성을 가지며(후보키), 해당 레코드를 식별할때 기준이 되는 반드시 필요한 키이다. - 테이블은 하나의 기본 키 제약 조건만 ..

정리 2023.05.04

MVC1, MVC2 차이점

MVC패턴이란? https://programinglab.tistory.com/63 MVC1 모든 클라이언트 요청과 응답을 JSP가 담당하는 구조로 구현 난이도는 쉽다. JSP 페이지 안에서 모든 정보를 표현(view)하고 저장(model)하고 처리(control)되므로 재사용이 힘들고, 읽기도 힘들어 가독성이 떨어진다. 장점: 단순한 페이지 작성으로 쉽개 구현 가능하다, 중소형 프로젝트에 적합하다. 단점: 웹 애플리케이션이 복잡해지면 유지보수 문제가 발생된다, 개발자와 디자이너 역할 분담이 어려워서 원할한 의사소통이 필수이다. MVC2 유지보수가 힘든 MVC 패턴1의 단점을 보완하기 위해 나온 패턴이다. 웹 브라우저 요청을 controller에서 처리한다. controller는 요청에 대한 로직처리를 m..

정리 2023.05.01

@RequestBody, @RequestParam, @ModelAttribute

@RequestBody 클라이언트가 전송하는 JSON 형태의 HTTP Body 내용을 MessageConverter를 통해 Java Object로 변환시켜주는 역할을 한다. 값을 주입하지 않고 값을 변환 시키므로(Reflection을 사용해 할당), 변수들의 생성자, Getter,Setter가 없어도 정상적으로할당된다. @RequestParam 1개의 HTTP 요청 파라미터를 받기 위해 사용한다. @RequestParam은 필수 여부가 true이기 때문에 기본적으로 반드시 해당 파라미터가 전송되어야 한다. 전송되지 않으면 400Error를 유발할 수 있으며, 반드시 필요한 변수가 아니라면 required의 값을 false로 설정해줘야 한다. @ModelAttribute HTTP Body 내용과 HTTP ..

공부 기록 2023.04.27

자료구조

자료구조 자료구조(data structure)는 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다. 또는 특정 모양 자체를 자료구조라고도 부른다. 더 정확히 말해, 자료 구조는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미한다. 신중히 선택한 자료구조는 보다 효율적인 알고리즘을 사용할 수 있게 한다. 읽어보기 https://velog.io/@yukina1418/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0%EB%8A%94-%EC%A0%95%EB%A7%90-%EC%A4%91%EC%9A%94%ED%95%A0%EA%B9%8C-%EC%9E%91%EC%84%B1%EC%A4%91 https://ko.wiki..

공부 기록 2023.04.25

동기와 비동기의 차이

동기(synchronous) 요청과 결과가 동시에 일어나는 방식으로 요청을 보낸 후 응답을 받아야 다음 동작이 진행된다. 사용자가 서버로 요청을 보냈을 경우 요청에 대한 응답을 리턴받기 전까지는 다른 것을 하지 못하고 기다려야 한다. 순서에 맞춰 진행되는 장점이 있지만, 여러 가지 요청을 동시에 처리할 수 없다. - 설계가 매우 간단하고 직관적이다. - 결과가 주어질 때까지 대기해야 한다. 비동기(Asynchronous) 요청과 결과가 동시에 일어나지 않는 방식으로 요청과 결과가 동시에 일어나지 않는다. 요청한 곳에 결과가 나타나지 않으며, 사용자가 서버로 요청을 보냈을 경우 요청에 대한 응답을 기다리지 않고, 다른 것을 수행할 수 있으며 서버로 다른 요청을 보낼 수도 있다. - 요청에 대한 결과가 반환..

정리 2023.04.21

MySQL

MySQL MySQL은 가장 널리 사용되고 있는 오픈 소스의 관계형 데이터베이스 관리 시스템(RDBMS: Relational DBMS)이다. MySQL은 다중 사용자와 다중 스레드를 지원하며, C언어, C++, JAVA, PHP 등 여러 프로그래밍 언어를 위한 다양한 API를 제공하고 있다. MySQL은 유닉스, 리눅스, 윈도우 등 다양한 운영체제에서 사용할 수 있으며, 특히 PHP와 함께 웹 개발에 자주 사용된다. 또한, 오픈 소스 라이센스를 따르기는 하지만, 상업적으로 사용할 때는 상업용 라이센스를 구입해야만 한다. SQL(Structured Query Language)이란? : 데이터베이스에서 자료를 처리할 때 사용하는 구조화된 질의어를 의미한다. MySQL의 장점 1. 오픈 소스 라이센스를 따르기..

정리 2023.04.19

제네릭(Generic)?

제네릭(Generic) : 자바에서 제네릭(generic)이란 데이터의 타입(data type)을 일반화한다(generalize)는 것을 의미한다. 제네릭은 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법이다. 컴파일 시 미리 타입 검사(type check)를 수행할 때의 장점 1. 클래스나 메소드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있다 2. 반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있다. JDK 1.5 이전에서는 여러 타입을 사용하는 대부분의 클래스나 메소드에서 인수나 반환값으로 Object 타입을 사용했다. 하지만 이 경우에는 반환된 Object 객체를 다시 원하는 타입으로 타입 변환해야 하며, 이때 오류가 발생할 가능성도 존재한다..

정리 2023.04.18

컬렉션 프레임워크(collection framework)

컬렉션 프레임워크(collection framework)란? : 자바에서 컬렉션 프레임워크(collection framework)란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미한다. 즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것이다. 컬렉션 프레임워크 주요 인터페이스 1. List 인터페이스 2. Set 인터페이스 3. Map 인터페이스 이 중에서 List와 Set 인터페이스는 모두 Collection 인터페이스를 상속받지만, 구조상의 차이로 인해 Map 인터페이스는 별도로 정의된다. 따라서 List 인터페이스와 Set 인터페이스의 공통된 부분을 Collection 인터페이스에서 정의하고 있다. Lis..

정리 2023.04.16