전체 글 67

# 31일차 [JavaScript] 비동기 / 12.18

동기와 비동기  - 동기 > 작업이 순차적으로 실행된다. 한 작업이 끝날 때까지 다음 작업은 대기 상태.  - 특징코드가 작성된 순서대로 실행이전 작업이 완료될 때까지 다음 작업을 시작하지 않는다.실행 흐름이 직관적, 결과를 바로 확인할 수 있다.단점 : 시간이 오래 걸리는 작업이 있을 경우 전체 프로그램이 멈추는 블로킹 문제가 발생할 수 있다.  - 비동기 > 특정 작업이 완료되지 않아도 다음 작업을 실행한다. 결과는 나중에 처리된다. - 특징코드 실행 순서가 보장되지 않을 수 있다.Non - blocking 방식으로, 긴 시간이 필요한 작업 중에도 다른 코드를 실행할 수 있다.사용자 경험 개선에 유리하며, 네트워크 요청이나 파일 읽기 같은 시간이 오래 걸리는 작업에 적합. - 작동 원리 > 자바스크립..

#29일차 [DB] SQL 활용, 최적화 원리 / 12.16

서브쿼리 ( Subquery )  > 서브쿼리는 SQL 문장 내에서 다른 SQL 문장을 포함하는 구조. 서브쿼리를 사용하면 데이터베이스에서 더 복잡한 질의를 수행할 수 있고, 한 번에 여러 단계의 처리를 수행할 수 있다.  - 서브쿼리 사용가능 위치SELECT 절FROM 절WHERE 절HAVING 절INSERT 절UPDATE 절DELETE 절  SQL 최적화 - 인덱스  > 데이터베이스에서 데이터 검색 속도를 향상시키기 위한 자료구조. > 책의 색인과 비슷하게 동작하며, 특정 컬럼의 값과 해당 데이터가 저장된 위치를 매핑하여 빠른 검색을 가능하게 한다.   - 인덱스의 주요 특징데이터 검색 속도 향상 : 인덱스의 주요 목적으로 테이블 전체를 스캔하는 대신 인덱스를 통해 빠르게 데이터를 찾을 수 있다.자료..

공부기록/DB 2024.12.16

# 28일차 [DB] SQL 모델링 & 쿼리 실습(2) / 12.13 - 15

레스토랑 예약 시스템 // 엔티티 테이블 설계CREATE table Customers ( id int primary key auto_increment, name varchar(255) not null, phone_number varchar(13) not null, email varchar(255) not null);CREATE table Tables ( id int primary key auto_increment, capacity int not null);CREATE table Reservations ( id int primary key auto_increment, customer_id int, table_id int, reservation_time timestamp not null, foreign ke..

공부기록/DB 2024.12.16

#26-27일차 [DB] SQL 모델링 & 쿼리 실습 / 12.11-12

대학교 관리 시스템  // 엔티티 테이블 설계CREATE table Departments ( id int primary key auto_increment, name varchar(255) not null, building varchar(255), budget DECIMAL(10, 2));CREATE table Professors ( id int primary key auto_increment, name varchar(255) not null, title varchar(255), office_number varchar(255), department_id int, foreign key (department_id) references Departments(id));create table Courses ( id..

공부기록/DB 2024.12.16

#24 - 25일차 [DB] SQL /12.09-10

SQL ( Structured Query Language )  > SQL은 관계형 데이터베이스 시스템에서 데이터를 정의, 조작, 제어하기 위해 사용되는 표준화된 프로그래밍 언어. > 사용자가 데이터베이스에 데이터를 저장, 수정, 삭제 및 검색할 수 있게 한다.  - SQL의 종류와 대표 명령어종류설명대표 명령어DDL데이터 정의 언어CREATE, ALTER, DROP, RENAME, TRUNCATEDML데이터 조작 언어SELECT, INSERT, UPDATE, DELETEDCL데이터 제어 언어GRANT, REVOKETCL트랜잭션 제어 언어COMMIT, ROLLBACK, SAVEPOINT  - 테이블의 구성 요소행(Row) : 테이블에서 개별 레코드를 나타낸다.한 행은 테이블의 모든 열에 대한 값을 포함한다..

공부기록/DB 2024.12.12

#22-23일차 [DB] 데이터베이스 기초 /12.05-06

데이터베이스란?  - 데이터: 숫자, 문자, 이미지 등 다양한 정보  - 데이터베이스: 데이터를 체계적으로 모아서 저장하고 관리하는 공간 > ex) 도서관의 책 목록, 쇼핑몰의 상품 정보  - DBMS (Database Management System) : 데이터베이스를 관리하고 조작하는 소프트웨어 > ex) MySQL, Oracle, PostgreSQL, SQLite  - DBMS의 주요 기능  > 데이터 저장 및 검색 > 데이터 무결성 유지 > 동시 사용자 접근 관리 > 데이터 보안 제공  - 데이터베이스의 특징실시간 접근성> 실시간으로 데이터를 처리하고 응답할 수 있어야한다.지속적인 변화> 동적으로 유지되며, 데이터의 삽입, 삭제, 갱신 등을 통해 항상 최신상태를 유지동시 공용> 다수의 사용자가 응..

공부기록/DB 2024.12.11

#21일차 [Java] 음식 주문 프로그램 만들어보기 /12.04

음식점을 등록하고 음식점에서 고객이 주문한 후 리뷰를 등록, 조회하는 프로그램을 만들어봤다.// Shop 클래스package jungmin.kdelivery;import java.util.ArrayList;import java.util.HashMap;public class Shop { /** * 등록 가능한 음식 수, 음식 초기화 변수, 가격 필드 생성 * 매장명, 메뉴명, 가격 필드 생성 */ private String shopName; // 해시맵으로 음식이름과 가격을 쌍으로 가진다. private HashMap foods; /** * @Shop() : 생성자 정의 * 매장만 먼저 입력받도록 합니다. * 나머지 변수는 initVal..

공부기록/Java 2024.12.09

#20일차 [Java] Optional Calss, 파일 입출력, 스레드, 자바 가상 머신 /12.03

Optional Class  > Optional은 NullPointerException(NPE) 즉 null값으로 인해 에러가 발생하는 현상을 객체 차원에서 효율적으로 방지하고자 도입되었다.  > 연산 결과를 Optional에 담아서 반환하면 따로 조건문을 작성해주지 않아도 NPE가 발생하지 않도록 코드를 작성할 수 있다.  > Optional은 제네릭 클래스로, 어떤 타입의 객체도 감쌀 수 있어서 이를 통해 null이 될 가능성이 있는 값을 안전하게 처리할 수 있다.   - Optional 클래스의 주요 특징값의 존재 여부를 명시적으로 표현 : 값이 있을 수도 있고 없을 수도 있는 상황을 처리한다.제네릭 지원 : 어떤 타입의 객체든 감쌀 수 있다.null 대신 사용 : 메서드 반환 값으로 null을 사..

공부기록/Java 2024.12.09

#19일차 [Java] 스트림 (Stream)

스트림의 핵심 개념과 특징  - 핵심 개념 스트림이란? : 배열 및 컬렉션의 저장 요소를 하나씩 참조해서 람다식으로 처리할 수 있도록 하는 반복자.각 데이터를 흐름에 따라 우리가 원하는 결과로 가공하고 처리하는 일련의 과정스트림을 사용하면 선언형 프로그래밍 방식으로 데이터를 처리할 수 있어 직관적인 코드 작성이 가능하다. 지금까지 코드를 사용했던 방식은 명령형 프로그래밍이라고 하는데, 이는 "어떻게" 코드를 작성할지에 초점을 두고 있다면, 선언형 프로그래밍은 "무엇"에 집중하여 코드를 작성하는 방식으로 내부의 동작 원리를 모르더라도 어떤 코드가 어떤 역할을 하는지 직관적으로 이해할 수 있다.람다식을 사용하여 데이터를 처리한다.데이터 소스에 상관없이 같은 방식으로 데이터를 가공/처리할 수 있다.  - 스트..

공부기록/Java 2024.12.04

#18일차 [Java] (1) Annotation, Lambda Expression

Annotation이란?  > 소스 코드가 컴파일되거나 실행될 때 컴파일러 및 다른 프로그램에게 필요한 정보를 전달해 주는 문법 요소  > 전에 봤던 @Override 처럼 애너테이션은 @로 시작하며, 클래스, 인터페이스, 필드, 메서드 등에 붙여서 사용할 수 있다.  > 표준 애너테이션 : JDK에 내장된 일반적인 애너테이션  > 메타 애너테이션 : 다른 애너테이션을 정의할 때 사용하는 애너테이션  > 애너테이션도 사용자가 직접 정의해서 사용할 수 있으며, 이러한 애너테이션을 사용자 정의 애너테이션이라고 한다.  Spring을 공부할 때 더 자세하게 나오니 개념 정도만 알아두자.   Lambda ************  > 람다식은 함수형 프로그래밍 기법을 지원하는 자바의 문법요소이다.  > 메서드를 ..

공부기록/Java 2024.12.04