분류 전체보기 279

CSS 우선순위 - 실무에서 바로 쓰는 적용 팁

CSS 우선순위를 이해했다고 해서 실전에서 모든 충돌을 해결할 수 있는 건 아니다.특히 수십~수백 개의 CSS 파일이 섞여 있는 레거시 프로젝트에서는 "어디서 온 스타일인지 찾는 것" 자체가 가장 큰 문제다. 이 포스팅에서는 복잡한 실무 환경에서 CSS 우선순위 문제를 관리하고 해결하는 실제 전략만 모아 정리했다.(혹시 CSS 우선순위에 대한 기본 개념이 부족하다면, 이 포스팅을 먼저 보는 것을 추천한다.) 1. 어디서 적용되는 스타일인지 빠르게 찾는 방법실무에서 가장 중요한 건 출처 추적이다. 1) Chrome DevTools "Computed" 패널 활용 요소를 검사하고 "Computed" 탭을 보면:현재 적용된 스타일어떤 파일 / 몇 번째 줄에서 왔는지우선순위 승패 여부까지 모두 확인 가능하다. 2..

FrontEnd/CSS 2025.11.22

CSS 우선순위 완전 정리 (Specificity & Cascade)

HTML에서 어떤 스타일이 최종적으로 적용되는지 헷갈린다면,이 포스팅 하나로 모두 정리할 수 있다. 1. CSS 우선순위란?HTML 요소에 여러 CSS 규칙이 동시에 적용될 경우, 브라우저는 특정 규칙을 선택해 적용한다.이때 어떤 규칙을 우선할지 결정하는 기준이 바로 우선순위(Specificity & Cascade) 이다. CSS 우선순위는 다음 4가지 요소로 결정된다.중요도(!important)명시도 (Specificity)소스(origin)와 선언 위치선언된 순서 (Order) 각 요소별로 자세히 정리해보자. 2. 우선순위 1순위: !important동일 속성끼리 충돌할 때, !important는 모든 요소보다 우선한다..box { color: red !important;}단, !importan..

FrontEnd/CSS 2025.11.22

[Spring] Filter와 Interceptor의 차이 정리

1. 개요Spring MVC기반 웹 애플리케이션에서는 요청(Request)와 응답(Response)이 Controller에 도달하기 전 후로다양한 처리가 필요한 경우가 많다.(예: 로그인 세션 확인, 인코딩 설정, 접근 권한 체크, 로깅 등) 이때 사용할 수 있는 대표적인 두 가지 기술이 바로 Filter와 Interceptor이다. 2. Filter (javax.servlet.Filter)개념Servlet 표준 스펙에서 제공하는 기능이다.DispatcherServlet 이전 단계에서 모든 요청을 가로채서 전처리/후처리 가능.Spring MVC에 종속되지 않고, 톰캣/JEUS 등 Servlet 컨테이너 레벨에서 동작한다. 적용 시점Client → Filter → DispatcherServlet → C..

Java/Spring 2025.10.31

[Spring] Spring Framework vs Spring Boot 비교 정리

1. 개념과 철학의 차이Spring Framework는 개발자가 직접 조립하는 구조이다.각 설정파일을 직접 관리하고, 필요한 라이브러리 버전도 일일히 맞춰야 했다. 반면 Spring Boot는 "실행 중심 프레임워크" 이다.내장 서버와 자동 설정을 통해 실행만 하면 바로 서비스가 구동된다.구분 Spring Framework Spring Boot 핵심 철학개발자가 설정하고 조립설정 자동화 + 실행 중심실행 구조외부 WAS 기반내장 WAS 포함 (Tomcat 등)진입점web.xml → DispatcherServletmain() → SpringApplication.run() 2. 설정 구조의 진화Spring 시절에는 web.xml, root-context.xml, servlet-context.xml 등 ..

Java/Spring 2025.10.29

[Spring] 자주 사용하는 어노테이션 정리 및 예시

Spring Framework는 객체를 관리하고 계층 간 의존성을 자동 주입하기 위해 다양한 어노테이션을 제공한다.이 중 실제 개발 현장에서 자주 사용되는 핵심 어노테이션들을 중심으로 설명한다. 1. @Component, @Service, @Repository, @Controller이 네 가지는 Spring Bean 등록용 어노테이션이다.즉, Spring이 해당 클래스를 컨테이너에서 관리하도록 등록하는 역할을 한다.내부적으로는 모두 @Component를 기반으로 하며, 역할에 따라 의미만 다르다. (1) @Component가장 기본적인 Bean 등록용 어노테이션이다.Helper, Util, Validator 등 특정 계층에 속하지 않는 일반 클래스를 Bean으로 등록할 때 사용한다.import org.s..

Java/Spring 2025.10.28

[Spring] 순서 의존 AOP로 인해 파라미터 순서만 바꿔도 코드가 동작하지 않은 이유

1. 문제 상황Spring MVC 기반 프로젝트에서 로그아웃 기능을 점검하던 중, 동일한 기능을 하는 두 메서드 중 하나는 정상 동작하고 다른 하나는 아무 반응이 없었다. 두 메서드는 코드 한 줄 다르지 않았고, 단지 파라미터 순서만 달랐다. // 정상 동작@RequestMapping("/logout")public String logout(HttpServletRequest request, @ModelAttribute UserContext userContext, HttpServletResponse response) { ... }// 동작 안 함@RequestMapping("/logout")public String logout(HttpS..

Java/Spring 2025.10.21

Babel과 Webpack 개념 정리

1. 모듈 번들러의 개념모듈 번들러(Module Bundler)는 여러 개의 자바스크립트, CSS, 이미지 파일 등을 하나 또는 여러 개의 번들 파일로 묶어주는 도구이다.브라우저는 원래 여러 개의 파일을 각각 요청해야 했기 때문에 요청 수가 늘어나면 성능이 저하되고, 파일 간 의존성 관리가 어려워지는 문제가 있었다. 이 문제를 해결하기 위해 등장한 것이 모듈 번들러이며, 대표적인 예로 Webpack이 있다.모듈 번들러를 사용하면 여러 개의 소스 파일을 하나의 패키지로 묶어 네트워크 요청을 최소화하고, 코드 의존성을 체계적으로 관리할 수 있다. 2. Babel의 개념Babel은 최신 자바스크립트(ES6 이상) 문법을 구버전 브라우저에서도 동작하도록 변환해주는 트랜스파일러(Transpiler)이다.즉, 새..

FrontEnd 2025.10.18

Tomcat 9.0 디렉터리 구조와 주요 구성요소

Apache Tomcat 9.0을 설치하면 여러 디렉터리와 파일들이 함께 제공된다.각 폴더와 파일은 서버 실행, 설정, 로그 관리, 웹 애플리케이션 배포 등 다양한 역할을 담당한다. 이번 글에서는 Tomcat 9.0 기준으로, 실제 운영에서 많이 쓰이는 폴더/파일을 중심으로 전체 구조를 살펴보고자 한다. Tomcat 9.0 기본 디렉터리 구조 1. bin/ - 실행 관련 스크립트역할: 톰캣 서버 시작/종료 및 실행 환경 제어주요 파일startup.sh / startup.bat → 서버 실행shutdown.sh / shutdown.bat → 서버 종료catalina.sh / catalina.bat → 실행 옵션 제어(톰캣의 핵심 런처)setenv.sh / setenv.bat → JVM 옵션, 환경 변수..

Server/Tomcat 2025.10.02

아파치(Apache)와 톰캣(Tomcat) - 왜 "아파치 톰캣"이라고 부를까?

웹 서비스를 구축하다 보면 "아파치(Apache)"와 "톰캣(Tomcat)"이라는 용어를 자주 접하게 된다.특히 자바 기반 웹 애플리케이션을 운영할 때는 톰캣 위에 war 파일을 올려 배포하는 경우가 많다. 그런데, 두 개념이 헷갈리기도 하고, "아파치 톰캣"이라는 이름 때문에 아파치와 톰캣이 하나로 묶여 있다고 생각하는 경우도 많다. 이번 글에서는 아파치와 톰캣의 개념, 역할, 그리고 "아파치 톰캣" 이라는 명칭의 진짜 의미를 정리해보고자 한다. 1. 아파치(Apache)란?정식 명칭: Apache HTTP Server (줄여서 Apache, 또는 Apache HTTPD)역할: 정적인 웹 문서(HTML, CSS, 이미지 등)를 클라이언트(브라우저)에게 전달하는 웹 서버(Web Server)특징정적..

Server/Tomcat 2025.10.02

"만화로 보는 오라클 튜닝" 을 통해 배운 Oracle SQL 튜닝

실무에서 SQL 성능 문제를 접할 때마다 인덱스를 추가하거나 실행계획만 확인하곤 했다. 그러나 이번에 "만화로 보는 오라클 튜닝"을 읽으면서, Oracle의 뷰와 실행계획 원리를 활용해 더 체계적으로 접근할 수 있다는 것을 알게 되었다. 책을 통해 정리한 주요 내용은 다음과 같다. 1. Dictionary View로 문제 시점 확인SQL이 언제, 어떤 상황에서 부하를 일으켰는지는 DBA 성능 뷰(Dynamic Performance View) 로 확인할 수 있다.V$SQL, V$SESSION, DBA_HIST_SQLSTAT 등을 이용하면 SQL 실행 횟수, 소요 시간, 블록 I/O를 추적할 수 있다. V$SQL – SQL별 누적 성능 확인SELECT sql_id, executions, ..

DataBase/Oracle 2025.09.29
반응형