전체 글 346

[DataBase] 03. SQL(Structured Query Language)(2)

SQL(Structured Query Language)(2)#Database/Concepts/Temp(10/10) 굉장히 공들여서 작성한 글이여서 원래 동아리 스터디 용도로 일부 공개 했었는데, 더 많은 분들이 봤으면 하는 마음에 오픈!게시글 길이 제한으로 글을 분리해서 업로드하는 점 양해 바랍니다SQL에서의 집합 연산 (SET Operations in SQL)위에서는 특정 릴레이션들에서 특정 조건을 만족하는 튜플, 또는 그 튜플 중 원하는 attribute를 선택하는(= 쿼리) 구문에 대해 배웠다.여기서부터는 두 개 이상의 쿼리 결과를 조합해서 하나의 결과 집합을 만들어내는 집합 연산에 대해 알아본다. (쿼리 + 쿼리)SQL은 테이블 데이터에 대해 수행될 수 있는 집합 연산을 지원합니다.이는 테이블에 ..

DataBase/Concepts 2024.10.11

[DataBase] 03. SQL(Structured Query Language)(1)

SQL(Structured Query Language)(1)#Database/Concepts/Temp(10/10) 굉장히 공들여서 작성한 글이여서 원래 동아리 스터디 용도로 일부 공개 했었는데, 더 많은 분들이 봤으면 하는 마음에 오픈!게시글 길이 제한으로 글을 분리해서 업로드하는 점 양해 바랍니다첫 번째 챕터에서 데이터를 정의하는 언어 DDL, 데이터를 조작하는 언어 DML에 대해서 배웠고 데이터베이스에 접근하고 조작하는데 사용하는 표준적인 언어로 SQL에 대해서 간단히 소개하였다. 이번 챕터에서는 SQL에 대해 자세히 다룬다. SQL의 중요성에 대해선 첫 번째 챕터에서 다뤘으므로 넘어간다.SQL Parts - 개요SQL은 DDL, DML, DCL, TCL 모두를 포함하고 있다. 이 4가지에 대해서 배..

DataBase/Concepts 2024.10.10

[DataBase] 02. Relational Model(관계형 모델)

Relational Model(관계형 모델)#Database/Concepts(10/10) 굉장히 공들여서 작성한 글이여서 원래 동아리 스터디 용도로 일부 공개 했었는데, 더 많은 분들이 봤으면 하는 마음에 오픈!이전 챕터에서 여러 종류의 Data Model에 대해 간단히 언급하고 넘어갔다. 그 중 Relational Model에 대해 이번 챕터에서 다루게 된다.관계형 모델로 만들어진 데이터베이스를 RDB라고 한다. RDB는 매우 중요하다. 실제로 여러분이 사용하는 서비스 대부분에서 대부분의 도메인을 RDB로 저장하고 있다.Application에서 사용하는 DBMS나 프로그래밍 언어, 프레임워크는 언젠간 새롭고 더 나은 것으로 바뀔 것이다. 현재 IT 서비스 기업에서 가장 많이 사용하는 자바, 스프링, M..

DataBase/Concepts 2024.10.10

[DataBase] 01. Introduction

Introduction#Database/Concepts(10/10) 굉장히 공들여서 작성한 글이여서 원래 동아리 스터디 용도로 일부 공개 했었는데, 더 많은 분들이 봤으면 하는 마음에 오픈!들어가기 앞서이 과목을 배우기 앞서서 Database가 왜 필요한 지부터 생각해보자.여러분이 수강신청 시스템을 만들어야 하는 개발자가 되었다고 생각해보자. 기존에 배웠던 프로그래밍 문법(Java, C)와 GUI를 이용해서 수강신청 시스템을 만들기로 했다. 어떻게 해서 수강 과목, 회원, 클래스를 만들고 프로그래밍을 완료해서 컴파일후 프로그램을 실행시킨다. 하지만 이 프로그래밍이 종료되면 메모리 상의 데이터는 모두 사라지게 된다.따라서 여러분들은 프로그래밍입문 시간에 배운 파일 입출력을 이용해서 2차 저장소(HDD or..

DataBase/Concepts 2024.10.10

[PS/BOJ] 20166번. 문자열 지옥에 빠진 호석 - C++[cpp]

문제 접근탐색을 하면서 현재 구성하고 있는 문자열이 신이 좋아하는 문자열인지를 체크해주면 된다.이 문제의 특징이라면, 지나왔던 칸에 다시 방문할 수 있다는 것. 그리고 비교 대상이 되는 문자열의 길이가 5이하로 매우 짧다는 점이다. 이 문제를 살펴보고 탐색까지 떠올렸으면 BFS? DFS? 를 생각해볼 것이다. 이런 문제에선 현재 구성하고 있는 문자열로 신이 좋아하는 문자열을 만들 수 없는 경우에는 탐색을 멈추고, 아니면 탐색을 계속하도록 DFS를 생각해볼 수 있다.이렇게 접근한다면 구현하려고 생각해본다면 1. 모든 문자열의 substring, 그리고 신이 좋아하는 문자열에 모두 포함되면 되면 count를 증가2. substring에만 속하면 이어서 탐색3. substring에만 속한다면 탐색 종료  하지..

PS/BOJ 2024.10.10

[컴퓨터 구조] 01. Computer Abstractions and Technology

Computer Abstractions and Technology#Computer_Architecture1장: 컴퓨터 추상화 및 기술컴퓨터 혁명(The Computer Revolution)컴퓨터 기술의 발전은 도메인 특화 가속기(Domain-Specific Accelerators)에 의해 뒷받침됨새로운 응용 프로그램을 실현 가능하게 만듦자동차 내 컴퓨터, 휴대폰, 인간 게놈 프로젝트, 월드 와이드 웹, 검색 엔진 등 다양한 곳에서 사용됨컴퓨터는 우리의 생활 전반에 걸쳐 존재컴퓨터의 종류(Classes of Computers)개인용 컴퓨터 (Personal Computers)범용 컴퓨터로 다양한 소프트웨어를 사용비용과 성능 간의 상충(tradeoff)이 존재서버 컴퓨터 (Server Computers)네트..

[JPA] 다대일(N:1) 단방향 VS 양방향 정리

사이드 프로젝트로 게시판 만들기를 하고 있었는데, 게시글과 회원 엔티티를 N:1 단방향으로 해야할 지, 양방향으로 해야할 지 고민을 하다가 정리한 내용이다. (인프런 김영한 강사님 강의 질문 게시글의 내용을 일부 포함하고 있다) 게시글에서는 회원이 필요함. 기본적으로 글을 작성할 때 회원의 id가 필요하고, 이름이 필요할 수도 있음 회원에서는 게시글 엔티티가 필요할까?:  회원이 작성한 글을 조회할 때는 게시글 엔티티를 리스트로 가지고 조회할 수도 있고, 쿼리(em.find)를 날려서 조회할 수도 있다.(게시글에 있는 member를 조회)전자는 양방향이고, 후자는 단방향에 해당한다. 단방향을 사용해야 하는 이유 1)회원이 갑자기 뜬금없이 게시글 id를 참조하는 경우가 있을까? 게시글에 존재하는 다른 필드..

Spring/JPA 2024.09.29