Tiny Star

ABOUT DEV 186

[🪪SQLD] 1과목 - 데이터 모델링의 이해 : 데이터 모델의 이해 (24년 개정 요약)

그동안 공부한 1과목 복습 겸 내용 공유를 할까한다. 아직 개정된 요약은 많이 없기 때문에 구매한 이론서를 보고 하나하나 요약을 해봤다. 이 글만 보고 합격할 수 있도록 출판사 매출에 씨를 말리겠다는 각오를 해본다. · · · [데이터 모델의 이해] · 데이터 모델링 : 비즈니스 운영 내에서 데이터의 수집, 저장, 사용방법 등 전체적인 내용을 개념화하고 시각화하여 데이터베이스를 구축하기 위한 분석 또는 설계의 과정으로 데이터 모델링 표기법을 사용하는 데이터 관점의 업무 분석기법 · 모델링의 특징 1) 추상화(Abstraction) : 현실세계를 간략하게 표현 2) 단순화(Simplification) : 누구나 쉽게 이해할 수 있도록 표현 3) 명확성(Clarity) : 명확하게 의미가 해석되어야 하고 한..

[Linux] 리눅스의 특징과 기본 구성요소

리눅스의 기본적인 특징 · C언어 기반으로 높은 이식성과 확장성 · 국제적이고 개방적으로 개방되어 문제점에 대한 대처가 빠르기 때문에 안정성과 신뢰성 ·최상위 디렉터리가 존재하고 모든 것을 해당 디렉터리 하부에 존재시키는 계층적 파일 시스템 리눅스의 기본 환경 - 기본 구성 요소 H/W -> 커널 -> 쉘 -> 명령어 · 커널 : 운영체제의 핵심적인 부분으로 하드웨어를 관리해주고 사용자가 실행한 명령어를 하드웨어까지 전달을 시켜주는 역할(.dll) · 쉘(명령어 번역기) : 사용자가 내리는 명령어를 커널이 알아들을 수 있도록 번역해 주는 역할 · 명령어 : 전부 실행 프로그램으로 이루어짐 리눅스의 기본 환경 - 프롬프트 · 프롬프트란? 1. 컴퓨터가 입력을 기다리고 있음을 가리키기 위해 화면에 나타내는 ..

키오스크 refactoring

최근 김영한 선생님의 Java 강의를 다시 들으면서 복습 중인데 입문 강의가 종료된 기념으로 과거 Java의 J도 잘 모르던 시절 부트캠프 개인과제였던 키오스크 시스템을 재정비 해보았다. 우선 while문을 돌 때 가장 먼저 출력해야하는 Main Category. 1. HashMap을 하나하나 출력해주던 코드를 for문을 완벽하게 쓸 수 있게 되었기 때문에 전부 for문으로 돌면서 출력할 수 있도록 코드를 간결히 했다. // System.out.println(menuList.get(1)); // System.out.println(menuList.get(2)); // System.out.println(menuList.get(3)); // System.out.println(menuList.get(4)); /..

Computer Science - 데이터베이스 기초

데이터베이스(Datavase) 체계적으로 구성된 데이터의 집합이며, 이 데이터들은 컴퓨터에서 쉽게 접근, 관리, 업데이트, 저장될 수 있도록 구성 데이터는 다양한 목적으로 사용되며, 조직이나 기업에서는 중요한 정보와 자료를 보관하고 관리하기 위해 사용됨 데이터베이스는 정보의 효율적 관리를 위해 일반적으로 컴퓨터 시스템 내에서 구축 데이터 베이스의 특징 · 구조화된 데이터 : 데이터베이스는 구조화된 형태로 저장되며, 데이터가 테이블, 열, 행 등의 구조로 구성되어 있어 정보를 쉽게 파악하고 처리가 가능 · 중복 최소화 : 여러 사용자가 동시에 데이터베이스에 접근하여 데이터를 공유하고, 필요한 정보를 동시에 처리가 가능 · 데이터의 공유 및 동시 접근 : 데이터베이스는 사용자의 권한에 따라 데이터 접근을 제..

Computer Science - 네트워크 기초 MAC 주소, IP 주소 및 주소체계, DHCP, NAT, HTTPS

· MAC 주소(Media Access Control) : 네트워크 인터페이스 카드(NIC)가 제조사에 의해 할당된 고유한 주소로 데이터 링크 계층에서 사용되며, 네트워크에서 장치들을 식별하는 역할 · IP 주소 및 주소체계 : 네트워크 상에서 장치들이 서로를 식별하기 위한 주소 IPv4/IPv6 두가지 종류가 있음 ✅ IPv4 : 32비트 주소 체계로 약 42억개의 주소를 제공하지만 인터넷 확장으로 주소 부족 문제가 발생 : 네트워크와 호스트 부분으로 나뉘고 클래스 기반 및 서브넷팅을 통해 관리 장점 : 보편성, 설치 및 유지보수가 쉬움, 호환성 단점 : 주소 부족, 보안이 취약함 ✅ IPv6 : 128비트 주소 체계로 약 340억 10^28개의 주소를 제공하며 급격한 인터넷 사용증가에 대비 : 종단간..

Computer Science - 네트워크 기초

· 네트워크 : 컴퓨터 및 기타 장치들 간에 데이터를 교환할 수 있게 하는 연결된 시스템 토폴로지(Topology) · 네트워크의 물리적인 구조 또는 논리적인 배치 스타 토폴로지 : 중앙에 허브 또는 스위치가 있고, 각 장치가 직접 연결 ✅ 허브 또는 스위치에 장애가 발생하면 전체 네트워크에 영향 버스 토폴로지 : 모든 장치가 하나의 중앙 통신 라인에 연결 ✅ 충돌이 발생할 수 있고, 단일 포인트 오브 실패(single point of failure)가 존재 링 토폴로지 : 각 장치가 정확히 두 개의 이웃에 연결된 구조 ✅ 한 장치의 장애가 전체 네트워크에 영향을 미칠 수 있 망 토폴로지 : 여러 개의 토폴로지를 조합하여 만든 복합 구조 ✅ 유연성이 높지만 관리가 복잡함 네트워크 분류 · LAN (Lac..

Computer Science - 선형 자료구조

자료구조 데이터를 효과적으로 저장하고 관리하기 위한 구조의집합 선형 자료구조 데이터가 일렬로나열되어 있는구조로 각 데이터는 바로 앞이나 뒤의 데이터와 관계를 맺고 있음 선형 자료구조의 특징 1. 순차적인 구조 : 선형 자료구조는 데이터가 순차적으로 저장되어 있음 2. 인덱스 또는 포인터 사용 : 각 요소에 접근하기 위해서 인덱스(배열) 또는 포인터(연결 리스트) 등을 사용해야 함 선형 자료구조의 종류 1. 배열 (Array) : 동일한 자료형들의 요소들을 순차적으로 나열한 자료구조 · 인덱스를 통해 빠른 접근이 가능하며, 메모리에 연속적으로 할당 · 빠른 읽기와 쓰기 작업이 필요한 경우, 정해진 크기의 고정된 데이터 집합에 적합 2. 연결 리스트 (Linked List) : 각 노드가 데이터와 다음 노드..

Computer Science - 프로그래밍 패러다임

프로그램을 설계하고 구현하는 방식을 나타내는 체계 또는 철학으로 다양한 프로그래밍 패러다임이 존재하며, 이러한 패러다임은 언어 및 도구의 선택과 코드 구조/스타일에 영향을 줌 프로그래밍 패러다임의 종류 1. 선언형 프로그래밍 패러다임 선언형 프로그래밍은 "무엇을" 수행할 것인지를 명시하고 "어떻게" 수행할 것인지에 대한 세부 사항은 숨기는 방식 예시: SQL, HTML, CSS 목표가 무엇이어야 하는지를 선언하며, 어떻게 달성할지에 대한 구체적인 단계는 나타내지 않음 2. 함수형 프로그래밍 패러다임 함수형 프로그래밍은 함수를 일급 객체로 다루며, 상태 변경을 피하려는 패러다임 예시: Haskell, Lisp, JavaScript (함수형 프로그래밍 지원) 함수 조합, 불변성, 순수 함수 등의 개념을 강조..

Computer Science - MVC 패턴과 MVVM 패턴의 비교

MVC (Model-View-Controller) 패턴 Model: 데이터와 비즈니스 로직을 관리하는 부분 View: 사용자 인터페이스를 표시하고 사용자 입력을 수신하는 부분 Controller: Model과 View 사이의 상호 작용을 조정하고 사용자 입력을 처리하는 부분 의존성 View는 Model에 종속되지만, Model과 View는 직접 통신하지 않음 Controller는 Model과 View 사이의 중재자 역할을 하고, Model과 View 간의 의존성을 관리함 데이터 바인딩 데이터 바인딩은 일반적으로 수동으로 처리됨 Controller가 Model에서 데이터를 가져와서 View에 수동으로 표시함 ✅ 전통적이고 간단한 패턴으로 익숙한 개발자가 많음 ✅ 상대적으로 쉽게 이해하고 구현할 수 있음 ✅..