-
[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
-
[Java] 빌드 도구 maven
mavenvite 같은 빌드 도구메이븐(Maven)은 자바(Java) 프로젝트의 빌드 자동화와 라이브러리 관리(의존성 관리)를 도와주는 대표적인 빌드 도구다.주요 역할 2가지의존성 관리 (Dependency Management)과거에는 필요한 외부 라이브러리(.jar 파일)를 직접 다운로드하여 프로젝트에 추가했다.Maven을 사용하면 `pom.xml` 파일에 필요한 라이브러리 이름과 버전만 적어두면, Maven이 중앙 저장소(Maven Central Repository)에서 자동으로 다운로드하여 프로젝트에 연결해 준다.빌드 자동화 (Build Automation)소스 코드 컴파일, 테스트 실행, 패키징(.jar 또는 .war 파일 생성), 배포 등 프로젝트를 실행 가능한 상태로 만드는 일련의 과정을 자동..
2026.10.11
-
[BE] 로그 레벨 (log level)
로그 레벨 (log level)로그 레벨(Log Level)은 시스템이 출력하는 로그 메시지의 중요도나 심각도를 단계별로 나타낸 기준이다.애플리케이션 운영 및 개발 시 상황에 맞게 로그 레벨을 설정하면, 필요한 정보만 선별하여 보거나 디버깅 및 장애 대응을 훨씬 효율적으로 할 수 있다.주요 로그 레벨 (심각도 순)보통 아래로 갈수록 더 심각하고 중요한 로그를 의미한다.라이브러리에 따라 일부 명칭은 다를 수 있으나 standard 표준 구조는 비슷하다.로그 레벨설명주요 사용 상황FATAL애플리케이션 실행이 불가능할 정도의 치명적인 에러DB 연결 불능, 시스템 다운 등 즉시 복구가 필요한 경우ERROR의도하지 않은 문제가 발생했으나 시스템 전체가 멈추지는 않은 상태API 호출 실패, 예외(Exception)..
2026.10.11
-
[BE] 소켓(Socket) / 클라이언트-서버 모델
클라이언트-서버 모델이 통신하는 '구조와 역할분담'에 대한 개념이라면, 소켓(Socket)은 그 통신을 실제로 가능하게 만들어주는 '창구(도구)'다. 두 개념은 현대 네트워크 프로그램 개발의 핵심 축을 이루고 있다.1. 클라이언트-서버 (Client-Server) 모델네트워크 참여자를 요청하는 주체(Client)와 응답하는 주체(Server)로 역할을 명확히 나누는 네트워크 아키텍처 모델이다.클라이언트 (Client)서비스를 이용하는 요청자다. (예: 웹 브라우저, 모바일 앱)필요할 때만 서버에 접속하여 데이터나 서비스를 요청하고, 응답을 받아 사용자에게 보여준다.서버 (Server)서비스를 제공하는 응답자다. (예: 웹 서버, DB 서버)24시간 상시 대기하며 클라이언트의 요청을 받아 처리하고 결과를 ..
2026.10.10
-
캐싱(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