no image
int[][] vs List<List<Integer>>
백준 ABCDE 문제 풀다가 몰랐던 사실을... 진짜 몰랐다.. 바보인가 공부 제대로 해야지... 그래서 둘의 차이점이 궁금해서 끄적끄적 적어본다.. 🔹 int[][](배열 기반)고정 크기의 2차원 배열 구조로, 메모리를 선언 시점에 미리 모두 할당인접 행렬 표현에 적합하며, 두 정점 간의 연결 여부를 빠르게 확인하지만 인접 리스트처럼 연결된 정점만을 저장하는 데는 비효율적이며, 공간 낭비가 발생 🔹 List>(리스트 기반)가변 크기의 리스트 안에 또 다른 리스트를 포함한 구조로, 필요한 만큼 메모리를 동적으로 확장인접 행렬 표현은 다소 불편하지만, 인접 리스트 표현에는 최적화되어 있어 연결된 정점만 효율적으로 관리일반적으로 그래프 문제에서 공간·시간 효율이 뛰어나 많이 사용 시간복잡도 & 공간복잡도..
2025.05.13
no image
SQL vs NoSQL
🔎 SQL (관계형 데이터베이스, RDBMS)구조화된 쿼리 언어(Structured Query Language)를 사용하여 데이터를 관리하는 관계형 데이터베이스데이터는 행(Row)과 열(Column)로 구성된 테이블에 저장됨테이블 간 관계를 통해 데이터를 연결 🔎 NoSQL (비관계형 데이터베이스, Not Only SQL)전통적인 SQL 문법을 사용하지 않으며, 비정형 또는 반정형 데이터를 유연하게 저장하는 비관계형 DB.테이블 구조가 없거나 유동적이며, 다양한 데이터 모델(Document, Key-Value 등)을 지원함. 그렇다면 NOSQL 왜 생긴걸까? 무수히 많은 데이터의 저장이 가능해지면서, 분산처리 및 저장의 개념인 하둡이 나오고 RDB로는 적합하지 않게 되었으며, 비정형 데이터의 저장 수..
2025.04.30
SQL
no image
05. SQL - 2
✅ 데이터 조작 언어의 개념데이터 정의 언어로 정의된 데이터베이스 내의 데이터에 대해 여러 연산을 수행하기 위한 명령어의 집합사용자에게 데이터베이스에 저장된 데이터를 처리할 수 있게 하는 일체의 도구 제공정의된 테이블 등에 레코드를 삽입 , 수정 , 삭제 및 검색하는데 사용되는 SQL 명령어들의 집합데이터 조작 언어는 실행 즉시 반영되는 영구적 변경을 위한 명령어의 집합이 아니며 복구가 가능 ✅ 명령어의 종류CRUD를 위한 SQL 명령어의 종류- INSERT : 테이블 스키마에 적합한 레코드를 삽입- UPDATE: 테이블에서 조건을 만족하는 특정 레코드의 컬럼값을 수정- DELETE: 테이블에 조건을 만족하는 특정 레코드를 삭제- SELECT : 조건을 만족하는 레코드를 테이블에서 검 ✅ INSER ..
2025.04.30
no image
04. SQL - 1
✅ SQL관계대수에 기초해 RDBMS의 데이터 관리를 위해 1970년대 초 IBM에서 설계로 특징으로는 비절차적 언어, 필요한 데이터만 기술하며 인간의 언어와 매우 유사하고 간단, 명료함 ✅ SQL 구성📌 데이터 정의 언어(DDL)- 데이터베이스 내의 객체를 생성 및 삭제하고 그 구조를 조작하는 명령어의 집합- 데이터가 준수해야 하는 제약조건을 기술 📌 데이터 조작 언어(DML)- DDL에 의해 정의된 테입ㄹ에 데이터르 조작하는 명령어의 집합- 데이터의 대한 CRUD 명령을 포함 📌 데이터 제어 언어(DCL)- DBMS의 동작, 접근 권한 등을 관리하는 SQL 명령어의 집합 ✅ 데이터 정의 언어의 개념데이터베이스 객체를 생성, 삭제 또는 구조를 수정하는 명령어의 집합 📌 종류- 저장 ..
2025.04.30
no image
03. 관계형 모델
✅ 릴레이션 ✅ 릴레이션의 특징- 레코드의 유일성 : 중복된 레코드의 존재가 불가능- 레코드의 무순시성 : 레코드의 순서는 의미가 없음- 컬럼의 무순서성 : 컬럼은 순서가 없고, 이름과 값의 쌍- 컬럼값의 원자성 : 모든 값들은 나눌 수 없는, 단 하나의 의미 ✅ 키의 개념릴레이션 레코드를 유일하게 식별하는 값 📌 속성 및 종류속성 : 유일성 , 최소성 📌 종류- 슈퍼키 : 유일성 만족- 후보키 : 유일성 , 최소성 만족- 기본키 : 레코드의 구분을 위해 선택된 후보키- 외래키 : 참도된 한 릴레이션의 기본키 키의 참조는 두 릴레이션의 포함된 레코드간 연관성을 표현 ✅ 관계형 모델의 제약조건- 영역 제약 조건 : 컬럼에 정의된 영역에 속한 값으로만 컬럼값이 결정- 키 제약 조건 : 키는 레코드를..
2025.04.29
no image
02. 데이터베이스 모델링
✅ 데이터 베이스 모델링데이터의 의미를 파악하고 데이터와 관여하는 업무 프로세스를 개념적으로 정의하고 분석하는 작업📌 단계사용자 요구 분석 -> 개념적 데이터 모델링 -> 논리적 데이터 모델링 -> 물리적 데이터 모데링 - > 내부 스키마 ✅ 정의사용할 데이터의 선별하고 데이터베이스에 체계적으로 구조화하여 저장, 사용할 방법이 필요- 데이터 모델 : 데이터의 의미, 데이터 타이브 연산등을 명시하기 위해 사용할 수 있는 개념- 데이터 모델링 : 데이터에 대한 요구사항을 분석하여 추상화하는 과정으로 실세계 일부분을 DBMS가 지원하는 데이터 모델의 형태로 나타내는 과정 ✅ 데이터베이스 모델링의 단계개념적 데이터 모델링- 요구사항을 바탕으로 추상화하고 해석 오류 방지- 실세계의 데이터를 개념적으로 일반..
2025.04.29
no image
01. 데이터베이스 이해
✅ 데이터 관리대량의 데이터를 저장 및 관리하고 필요한 데이터를 신속히 검색할 수 있도록 보조하는 장치에 대한 요구가 증가로 한 조직의 여러 응용 시스템을 다수의 사용자가 공용으로 사용하기 이해 통합, 저장, 관리하는 장치를 말함. 전통적인 데이터 관리 방식으로는 파일 처리 시스템 이 있다. ✅ 파일 처리 시스템데베가 개발되기전 데이터 관리에 사용하며 업무 별 애플리케이션에서 사용하는데이터를 개별 데이터 파일에 저장 관리하는 시스템 📌 문제점데이터 종속의 문제- 저장된 데이터가 특정 사용자만 될 수 있도록 제한되는 문제 (물리적 데이터 종속, 논리적 데이터 종속)데이터 중복의 문제- 동일한 사항에 대한 중복된 데이터는 일관성, 보안성 경제성 측면에서 발생되는 문제 발생 원인무결성 훼손의 문제-..
2025.04.29
no image
[정보처리기사] 3트만에 합격 ㅋ...
25년도가 오기전... 3회 시험에 드디어 정보처리기사 시험에 합격.. 중간에 화장실 가고 싶어서 제대로 풀지 못한 것도 있고, 1번 문제를 제대로 못 본 게 조금 아쉽네요. 맞을 수 있는 문제를 틀린 게 좀 한탄스럽습니다. ㅠㅠ 그래서 이번에는 비전공자의 기준보다는 어느 정도 지식이 있는 분이라면(코드를 보고 해석할 수 있는 분이라면) 3일만 공부해도 합격이 가능하다고 생각합니다! 정보처리기사 필기는 3일 정도 공부해서 시험을 봤던 기억이 납니다. 사실 필기는 암기 위주로 공부하면 합격하는 데 큰 어려움이 없어요. 다음은 조금 더 어려운 실기입니다. ㅋ 저는 노션에 시험에 자주 나오는 부분을 정리해놓았으니, 필요하신 분들은 한 번 참고해보세요. 😊정보처리기사 실기정리 정리하자면, 코드 부분은 제외..
2025.02.02
no image
RestTemplate, WebClient(+ 동기vs비동기 방식)
프로젝트 진행 중 OpenAI API를 연동하는 과정에서, RestTemplate과 WebClient 두 가지 방법의 차이점과 각각의 장단점에 대해 고민하게 되었습니다. 스프링 애플리케이션에서 HTTP 요청을 처리하는 방법으로 RestTemplate과 WebClient가 있습니다. 스프링 5.0 이전까지는 RestTemplate이 주로 사용되었으나, 스프링 5.0 이후로는 WebClient가 새로 도입되어 현재는 WebClient를 사용하는 것이 권장되고 있습니다. 그럼 RestTemplate과 WebClient는 각각 어떤 특징을 가지고 있으며, 왜 WebClient를 권장하는지 자세히 살펴보겠습니다.  RestTemplateRestTemplate 이란?스프링 3.0에서부터 지원하는 RestTempla..
2025.02.02