'Back-End' 카테고리의 글 목록
THE 1995 DevOps Note
Back-End/Java
JAVA 메타스페이스란??
2025.09.17
Java 8부터 도입된 메모리 영역 이전 버전(Java 7까지)에서는 클래스 메타데이터를 PermGen(Permanent Generation) 영역에 저장했는데, Java 8부터는 PermGen이 제거되고 Metaspace라는 새로운 영역이 도입 특징클래스 메타데이터 저장소JVM이 로딩한 클래스의 메타데이터(클래스 구조, 메소드, 필드 정보 등)를 저장하는 영역이에요.PermGen과의 차이점PermGen은 JVM 힙 메모리 내부에 있었지만,Metaspace는 **네이티브 메모리(native memory, OS 메모리)**를 사용해요.→ 즉, JVM 힙 크기와는 별개로 운영체제 메모리를 사용하기 때문에 PermGen보다 더 유연해졌어요.자동 확장 가능기본적으로 제한이 없어서, 필요할 때마다 OS 메모리에서..
Back-End/Java
자바 8 / 17 / 21 버전별 차이점
2025.06.04
🔹 Java 8 (2014년 출시, LTS)주요 기능Lambda 표현식: 함수형 프로그래밍 도입Stream API: 데이터 처리 방식 개선 (map/filter/reduce)java.time 패키지: 새로운 날짜/시간 APIOptional 클래스: NullPointerException 방지특징: 기존 Java에서 함수형 프로그래밍으로의 전환점🔹 Java 17 (2021년 출시, LTS)주요 기능Sealed Classes: 클래스 상속 제한Pattern Matching for instanceof: 타입 캐스팅 간소화Switch 표현식 개선 (Java 14~부터 미리보기 → 정식 도입)Records: 불변 데이터 객체 간결하게 정의Text Blocks: 여러 줄 문자열을 쉽게 작성JEP 410: 보안 문..
Back-End
Node.js
2025.02.11
1. npm (Node Package Manager)npm 명령어 정리npm init프로젝트 초기화 (package.json 생성)npm init -y기본 설정으로 바로 초기화npm install 패키지 설치npm i install의 단축어npm install -g 글로벌 설치npm uninstall 패키지 삭제npm update패키지 업데이트npm list설치된 패키지 확인npm run package.json에 정의된 스크립트 실행npm startstart 스크립트 실행 (npm run start)와 동일npm test테스트 스크립트 실행npm audit보안 취약점 검사npm cache clean --force캐시 삭제설치 예제npm install express스크립트 예제 (package.json){..
Back-End/Spring
Spring Swagger
2025.02.10
Spring Swagger란?Swagger는 RESTful API의 문서를 자동으로 생성해주는 도구입니다. Spring Boot 프로젝트에서 주로 Swagger UI를 통해 API 명세를 시각적으로 보여줍니다. 이를 통해 개발자나 클라이언트는 API의 동작 방식과 요청/응답 구조를 쉽게 이해하고 테스트가능Swagger는 이제 **OpenAPI Specification (OAS)**로 발전했으며, Springdoc OpenAPI 라이브러리를 주로 사용Swagger의 장점자동 API 문서화: 코드 주석 기반으로 자동 문서 생성API 테스트 용이: Swagger UI에서 직접 API 호출 및 테스트개발자 협업 강화: 명확한 API 명세 제공버전 관리: API 변경에 따른 문서 자동 업데이트Spring Boot..
Back-End/Spring
Spring Security
2025.02.10
Spring Security는 스프링 프레임워크 기반의 인증과 권한 부여(Authentication & Authorization)를 담당하는 보안 프레임워크입니다. 웹 애플리케이션과 REST API에서 보안을 강화하기 위해 사용주요 기능인증(Authentication)사용자가 누구인지 확인하는 과정예: 로그인 처리권한 부여(Authorization)인증된 사용자가 특정 리소스에 접근할 수 있는 권한이 있는지 확인예: 관리자 페이지 접근 제한보안 공격 방어CSRF(Cross-Site Request Forgery) 방어세션 고정 공격 방어XSS(Cross-Site Scripting) 방어클릭재킹 방어다양한 인증 방식 지원기본 폼 로그인HTTP Basic AuthOAuth2/OpenID ConnectJWT(J..