전체 글

🖥️ 인터넷(Internet)의 개념인터넷은 말 그대로 전 세계를 연결하는 거대한 네트워크입니다. 우리가 웹을 사용할 때 이 네트워크를 통해 정보를 주고받을 수 있습니다.🕸️ 인터넷의 주요 특징패킷 교환 방식(Packet Switching)인터넷에서 데이터는 패킷이라 불리는 작은 조각으로 나뉘어서 전송됩니다. 이 패킷들은 여러 경로로 분산되어 가다가, 도착지에서 다시 합쳐져서 완전한 데이터를 만들어냅니다. 예를 들어, 웹 사이트를 방문할 때마다 페이지 내의 텍스트, 이미지, 영상들이 작은 데이터 덩어리로 나누어져 전송됩니다.IP 주소IP 주소는 인터넷 상에서 각 장치를 식별할 수 있게 해주는 고유 번호입니다. 집 인터넷에 연결된 스마트콘, 컴퓨터, TV는 각각 다른 IP 주소를 가지고 있어서 인터넷에..
🌐 웹이란 무엇인가? 왜 중요한가?🧐 웹 정의와 역할웹(World Wide Web), 흔히 우리가 '인터넷'이라고 부르는 그 공간은 사실 웹과 인터넷이 서로 다른 개념입니다.인터넷은 전 세계를 연결하는 네트워크 인프라입니다.웹은 그 네트워크 상에서 정보를 교환하는 시스템입니다.즉, 웹은 인터넷을 통해 정보를 전달하고 연결하는 역할을 합니다. 오늘날 우리가 사용하는 웹은 정보를 빠르고 효율적으로 주고받을 수 있는 플랫폼으로, 인간의 일상과 활동에서 중요한 역할을 하고 있습니다.“인터넷” ≠ “웹”🕰️  웹의 역사와 발전웹의 시작은 1990년대 초반, 팀 버너스 리(Tim Berners-Lee)가 제안한 WWW(월드 와이드 웹)이었습니다. 당시 정보는 각기 다른 시스템에 흩어져 있었고, 이를 연결하는 ..
🔍 변수의 스코프(Scope)란?변수의 스코프(Scope)란 변수가 선언된 위치에 따라 접근할 수 있는 범위를 의미합니다. 적절한 스코프 설정은 메모리 사용 최적화, 코드 가독성 및 유지보수성 향상시키는 데 중요한 역할을 합니다.🏷️ 변수의 종류에 따른 스코프자바에서 변수는 선언 위치에 따라 지역변수(Local Variable), 멤버 변수(Member Variable)로 나뉘며, 멤버 변수는 다시 클래스 변수(Class Variable)와 인스턴스 변수(Instance Variable)로 구분됩니다.📌 지역 변수(Local Variable)특정 블록 {} 내에서만 사용할 수 있는 변수입니다.메서드 내에서 선언된 변수들은 해당 메서드 내에서만 접근이 가능합니다.블록이 끝나면 메모리에서 자동으로 해제..
DML(Data Manipulation Language)데이터 삽입(INSERT), 수정(UPDATE), 삭제(DELETE), 병합(MERGE)을 할 수 있는 SQL 언어입니다. 저장(COMMIT) 혹은 롤백(ROLLBACK)이 반드시 필요하며 이를 통해 트랜잭션을 제어할 수 있습니다.INSERT테이블에 행을 삽입할 때 사용하는 명령어로 한 번에 한 행만 입력이 가능합니다.(SQL Server는 여러 행을 동시에 삽입할 수 있습니다.)하나의 컬럼에는 한 값만 삽입 가능하며, 컬럼별 데이터 타입과 사이즈에 맞게 삽입해야 합니다.INTO 절에 컬럼명을 명시하여 일부 컬럼만 입력할 수 있으며, 작성하지 않은 컬럼은 NULL이 입력됩니다.전체 컬럼에 대해서는 데이터 입력 시 테이블 뒤에 컬럼명을 생략할 수 있습..
서브쿼리(Subqueries)서브쿼리란, 하나의 SQL문 안에 포함되어 있는 또 다른 SQL문입니다. 반드시 괄호로 묶어서 표현해야 합니다.서브쿼리를 사용할 수 있는 절SELECTFROMWHEREHAVINGORDER BY기타 DML서브쿼리 주의사항GROUP BY 절은 사용할 수 없습니다.특별한 경우(TOP-N 분석 등)을 제외하고 서브쿼리 절에 ORDER BY 절을 사용할 수 없습니다.서브쿼리의 종류동작하는 방식에 따른 종류UN-CORRELATED(비연관) 서브쿼리서브쿼리가 메인쿼리 컬럼을 가지고 있지 않은 형태입니다.메인쿼리에 서브쿼리가 실행된 결과 값을 제공하기 위해 사용합니다.CORRELATED(연관) 서브쿼리서브쿼리가 메인쿼리 컬럼을 가지고 있는 형태입니다.메인쿼리가 먼저 수행된 후 서브쿼리 조건..
데이터베이스와 관계형 데이터베이스 개요데이터베이스와 DBMS(Database Management System)데이터베이스 : 특정 목적에 맞게 데이터를 저장하고 관리하는 집합입니다.DBMS : 데이터를 효과적으로 관리하기 위한 시스템으로, 대량의 데이터를 쉽게 저장하고 검색할 수 있도록 도와줍니다.관계형 데이터베이스관계형 데이터베이스는 데이터를 테이블 형태로 저장하여 테이블 간의 관계를 통해 효율적으로 데이터를 관리합니다. 관계형 데이터베이스는 SQL을 통해 데이터를 조회하고 관리하며, 데이터의 무결성과 일관성을 보장하기 위해 정규화 및 다양한 무결성 제약 조건을 적용합니다.특징데이터의 분류, 정렬, 탐색하는 속도가 빠릅니다.신뢰성이 높으며, 데이터 무결성을 보장합니다.기존의 작성된 스키마를 수정하기 어..
정규화의 개념정규화는 최소한의 데이터만을 하나의 엔터티에 가지는 방식으로 데이터를 분해하는 과정입니다. 데이터의 일관성, 중복을 줄이고 최대한의 데이터 유연성을 가지는데 초점을 둡니다. 그리고 데이터의 중복을 제거하고 데이터 모델의 독립성을 확보하고 데이터의 이상현상을 줄이기 위한 DB 설계 기법입니다.정규화는 엔터티를 상세화하는 과정으로 논리 데이터 모델링 수행 시점에서 고려하게 됩니다.이상현상(Abnormality)정규화를 하지 않아 발생하는 현상입니다.삽입이상 : 데이터를 삽입하는 과정에서 발생하는 비효율 또는 오류가 발생할 수 있습니다.갱신이상 : 데이터를 수정할 때 중복 데이터로 인해 일관성 문제가 발생할 수 있습니다.삭제이상 : 데이터를 삭제할 때 함께 의도치 않은 데이터가 손실될 수 있는 현..
데이터 모델링이란?데이터 모델링 정의데이터 모델링은 현실 세계의 복잡한 문제를 데이터베이스(DB)로 표현하기 위해 추상화하는 과정입니다. 고객의 비즈니스 프로세스를 분석하고 규칙을 정의하여 데이터를 효과적으로 모델링하고 분석 및 설계를 수행할 수 있도록 도와줍니다. 이를 통해 이해 관계자들과의 원활한 소통을 가능하게 하며, 이 과정을 단계별로 구체화하여, 데이터를 효과적으로 모델링하여 분석 및 설계 작업을 수행합니다.데이터 모델링의 주요 특징추상화 : 현실 세계의 데이터를 단순화하여 중요한 부분의 공통적인 특징을 찾고 단순하게 표현합니다.단순화 : 현실을 단순화하여 핵심 요소에 집중하고, 복잡한 문제를 단순화하여 표현합니다.명확화 : 데이터 모델이 모호하지 않도록 명확한 의미를 가지며, 하나의 의미를 전..
빈 등록과 관리 방법의 다양한 패턴스프링에서는 빈을 등록하고 관리하는 다양한 방법을 제공하고, 개발자가 애플리케이션 요구사항에 맞는 방식을 선택할 수 있습니다. 수동 등록과 자동 등록의 차이, 조건부 빈 등록, 여러 빈 중 우선순위를 설정하는 방법 등 다양한 패턴을 사용하면 더욱 유연한 애플리케이션 구성이 가능합니다.수동 빈 등록스프링에서는 @Bean 애노테이션을 사용해서 수동으로 빈을 등록할 수 있습니다. 이 방법은 주로 외부 라이브러리나 복잡한 초기화 로직을 가진 객체를 빈으로 등록할 때 사용합니다. @Bean 애노테이션은 @Configuration 클래스 내부에서 사용되며, 스프링이 이 메서드를 호출해서 반환된 객체를 빈으로 등록하게 됩니다.@Configurationpublic class AppCo..
스프링 빈 스코프 개요스프링에서 빈 스코프는 빈의 생명주기를 정의하는 중요한 개념입니다. 즉, 스프링 IoC 컨테이너가 빈을 언제 생성하고 어떻게 관리하고, 어떻게 주입할지 결정하는 설정입니다. 스프링은 다양한 스코프를 지원하고, 각각의 스코프는 특정 시점에서 빈을 어떻게 주입할지를 정의합니다. 스프링에서 지원하는 대표적인 빈 스코프에는 아래와 같은 방법이 있습니다.싱글톤(Singleton) : 기본 스코프로, 애플리케이션 전체에서 하나의 빈 인스턴스만 생성하고 공유합니다.프로토타입(Prototype) : 요청할 때마다 새로운 빈 인스턴스를 생성합니다.Request : 웹 애플리케이션의 HTTP 요청 시마다 새로운 빈을 생성합니다.Session : HTTP 세션당 하나의 빈 인스턴스를 생성하고, 세션이 ..
Gyunny
Gyunny