-
[Spring] 스프링 컨테이너(Spring Container)
1. 컨테이너(Container)란?SW 분야에서 컨테이너는 "애플리케이션이 실행되는 데 필요한 모든 구성 요소(코드, 라이브러리, 환경 설정 등)를 하나로 묶어서 independent(독립적)하게 실행할 수 있도록 관리해 주는 상자" 또는 "객체의 생명주기를 관리하는 주체"를 의미합니다.동작 원리: 개발자가 일일이 "어떤 객체를 만들고, 실행하고, 소멸시킬지" 직접 코드로 제어하는 대신, 컨테이너가 알아서 객체의 생성·관리·삭제를 전담해 줍니다. (이것을 Inversion of Control, 제어의 역전이라고 불러요!)종류:IoC/DI 컨테이너: (예: Spring 컨테이너) 자바 객체(Bean)의 생명주기를 관리서블릿 컨테이너: (예: Tomcat) 웹 요청을 받아 서블릿 객체를 관리하고 실행OS/..
2026.10.14
-
[Spring] XML (eXtensible Markup Language)
XML (eXtensible Markup Language)XML은 데이터를 저장하고 전달하기 위해 태그() 형태로 작성하는 문서 형식이다. HTML과 비슷해 보이지만, HTML이 "화면에 어떻게 보여줄지"를 정의한다면 XML은 "어떤 데이터를 담고 있는지"를 구조화해서 나타냅니다. 채원 컴퓨터공학 2. Spring에서 XML을 왜 썼을까?Spring의 핵심 개념은 Inversion of Control (IoC, 제어의 역전)과 Dependency Injection (DI, 의존성 주입)입니다.개발자가 직접 객체를 new로 생성하지 않고, 스프링이 객체(Bean)를 대신 생성하고 관리해 주는데요! 이때 스프링에게 "어떤 객체를 만들고, 객체들끼리 어떻게 연결해 줄지" 가르쳐줘야 합니다. 그 역할..
2026.10.14
-
[Servlet] JSP (JavaServer Pages)
JSP (JavaServer Pages)JSP (JavaServer Pages)는 Java를 사용해 동적인 웹 페이지를 생성하는 백엔드 서버 웹 기술입니다.쉽게 말해, HTML 코드 안에 Java 코드를 삽입하여 클라이언트(브라우저)의 요청에 따라 실시간으로 변화하는 웹 화면을 만들어주는 기술입니다.주요 특징HTML 중심의 작성: 기본 구조는 HTML이며, 필요할 때 같은 태그(스크립틀릿)를 사용해 Java 코드를 집어넣습니다.서블릿(Servlet)으로의 변환: 작성한 .jsp 파일은 브라우저로 직접 전달되지 않습니다. 웹 서버(Tomcat 등)가 이를 Java 서블릿(.java) 코드로 자동 변환한 뒤 컴파일하여 final HTML로 만들어 브라우저에 보냅니다.MVC 패턴에서의 역할: Spring이나..
2026.10.12
-
[Java] Tomcat
Tomcat아파치 톰캣(Apache Tomcat)은 자바(Java) 기반의 웹 애플리케이션 서버(WAS, Web Application Server)이다.아파치 소프트웨어 재단에서 관리하는 오픈소스 소프트웨어로, 자바 서블릿(Servlet)과 JSP(JavaServer Pages) 기술을 실행할 수 있는 표준 환경을 제공한다.핵심 특징과 역할웹 애플리케이션 서버(WAS)단순히 정적 파일(HTML, CSS, 이미지)만 전달하는 웹 서버(Web Server)와 달리, 사용자의 요청에 따라 백엔드 로직(Java 코드)을 실행하여 동적인 결과를 만들어 전달한다.서블릿 컨테이너 (Servlet Container)개발자가 작성한 자바 서블릿의 생명주기(생성, 실행, 소멸)를 관리하고, 클라이언트의 HTTP 요청을 수..
2026.10.11
-
[Java] 자바(Java) 백엔드 웹 기술의 발전 역사 (Java Edition → EJB → Spring)
자바 에디션(Java Edition)자바(Java)를 만든 회사에서 "자바라는 언어로 어디에 쓸 프로그램을 만들 건가?"에 따라 자바 세트를 몇 가지 종류로 나누어 놓았는데, 이걸 에디션(Edition)이라고 부른다.1. 자바의 3대 에디션 (사용 목적에 따른 분류)쉽게 비유하자면, MS 오피스에 '홈/학생용', '기업용'이 따로 있는 것처럼 자바도 용도별 패키지가 다르다. Java SE (Standard Edition)Java EE / J2EE Jakarta EE(Enterprise Edition) Java ME (Micro Edition)용도기본형대형 기업용 확장팩임베디드/모바일용목적PC용 일반 프로그램 개발대규모 웹 사이트, 은행 시스템,대기업 백엔드 서버 개발가전제품, 임베디드 기기,과거 2G 피..
2026.10.11
-
캐싱(Caching)
캐싱(Caching)은 자주 사용하는 데이터나 계산 결과를속도가 빠른 임시 저장소(캐시, Cache)에 따로 보관해 두었다가, 필요할 때 빠르게 재사용하는 기술이다.매번 먼 곳(원래 서버, 데이터베이스, 하드디스크)까지 가서 똑같은 데이터를 새로 가져오는 대신,가까운 곳에 복사본을 두고 즉시 꺼내 쓰는 원리이다.쉽게 이해하는 비유: 책상과 도서관원본 데이터 (DB/서버): 멀리 있는 도서관 서가 깊숙이 보관된 책캐시 메모리 (Cache): 내 책상 위에 올려둔 메모장캐싱 과정: 도서관까지 가서 책을 새로 찾아오는 게 오래 걸리니까, 자주 읽는 단원이나 내용은 책상 위 메모장에 요약해 두고 필요할 때마다 책상 위를 바로 확인하는 것!캐싱을 사용하는 핵심 이유응답 속도 향상: 멀리 있는 서버나 느린 데이터베..
2026.09.07
-
[JS] 자주 쓰이는 DOM 요소 속성
DOM(Document Object Model) 요소 속성(Property)= DOM 조작 속성저런 속성들은 자바스크립트로 HTML 요소를 조작할 때 사용한다.자주 쓰이는 주요 DOM 조작 속성들 🎨 자주 쓰이는 주요 DOM 조작 속성들은 아래와 같다.React, Vue, Angular 등의 프레임워크나 jQuery 등 라이브러리의 도움을 전혀 받지 않고 쓰는'순수한 자바스크립트 그 자체'에 해당하는 바닐라 스크립트의 문법이다.* jQuery는 과거에 많이 쓰던 라이브러리이다. 1. 내용 및 글자 조작element.textContent 태그 안의 순수 텍스트를 읽거나 변경 (보안상 안전하고 빠름)element.innerHTML태그 안의 HTML 구조 자체를 변경 (예: element.innerHTML ..
2026.09.04
-
[C언어] 파일 입출력 - 읽기 (fopen, fgets, fseek, feof, fclose)
1) fopen(경로, mode);FILE * 형의 값을 반환 2) fgets(buffer, length, file);fgets 함수는 줄바꿈(\n)이 있다면 줄바꿈까지만 읽어온다. 따라서 fgets함수가 호출되었을 때는 첫 번째 line까지만 읽어온다. 3) fseek(파일, 이동할 거리, 이동을 시작할 위치);file을 읽어들일 때에는 file pointer라는 것이 있다. 참고 자료1) https://jeckl.tistory.com/entry/C%EC%96%B8%EC%96%B4-21%EA%B0%95-%ED%8C%8C%EC%9D%BC-%EC%9E%85%EC%B6%9C%EB%A0%A5-%EC%9D%BD%EA%B8%B0-fopen-fgets-fseek-feof-fclose ([C언어] ..
2025.03.29
-
[FE][08] HTML 핵심 요소, 주석, 전역 속성
블록(상자) 요소특별한 의미가 없는 구분을 위한 요소. (Division)제목을 의미하는 요소 (Heading)
2024.07.13
-
[FE][07] HTML 글자, 상자
HTML 글자, 상자 요소가 화면에 출력되는 특성을 크게 2가지로 구분한다. 1) 인라인(Inline) 요소 글자를 만들기 위한 요소들대표적인 인라인 요소 본질적으로 아무것도 나타내지 않는콘텐츠 영역을 설정하는 용도2) 블록(Block) 요소상자(레이아웃)을 만들기 위한 요소들 "레이아웃을 설정한다."
2024.07.09