250121 TIL
·
TIL
AOP(Aspect Oriented Programming)https://jjiyuuuuun.tistory.com/55#AOP-1-10 📌AOP관련 의존성 추가dependencies {implementation 'org.springframework.boot:spring-boot-starter-aop'}   ▪️Aspect (애스펙트)공통 기능(횡단 관심사, cross-cutting concern)을 구현한 모듈▶️로깅, 트랜잭션 관리, 보안 체크 등핵심 로직과 별개로 동작하는 부가기능을 담당하는 클래스스프링 빈에 @Aspect를 명시하면 해당 빈이 Aspect로 작동한다. @Aspect@Componentpublic class LoggingAspect { // 여기에 부가기능 구현 (예: 로깅)} ▪..
250120 TIL
·
TIL
빈의 생명주기(Bean Life Cycle)  1️⃣ 빈 생성컨테이너가 빈의 인스턴스 생성싱글톤 스코프는 빈 공장(애플리케이션 컨텍스트)이 초기화 될 때 생성 2️⃣ 의존성 주입@Autowired나 XML 설정 등을 통해 의존성을 주입받음 3️⃣ 초기화 (Initialization)초기화 작업 수행@PostConstruct (JSR-250)InitializingBean 인터페이스의 afterPropertiesSet() 메서드XML 또는 Java Config에서 지정한 initMethod4️⃣ 사용빈이 사용된다. 애플리케이션의 비즈니스 로직 수행에 사용 5️⃣ 소멸 (Destruction)빈이 컨테이너에서 제거되거나 애플리케이션 종료 시 소멸 작업이 수행@PreDestroy (JSR-250)Disposab..
250117 TIL
·
TIL
IoC 컨테이너는 객체를 빈이라는것으로 관리를 한다?컨테이너에 객체(빈)를 등록하여 컨테이너가 객체를 사용하는 권한을 가진다?컨테이너 안 객체들 사이에 의존성을 주입 하여 객체들 간의 관계를 정리한다?IoC (Inversion of Control, 제어의 역전)👉🏻애플리케이션의 제어 권한을 개발자(혹은 프로그램 코드)에서 프레임워크나 컨테이너(SPRING)로 넘기는 것 Spring에서는 IoC를⭐DI (Dependency Injection)⭐ 방식을 통해 구현 Spring의 IoC 컨테이너를 이용하여 Bean을 등록하는 방법1️⃣ XML 파일을 이용한 Bean 등록2️⃣ Java Config 클래스를 이용한 Bean 등록: @Configuration과 @Bean을 사용하여 빈을 등록 ▶️외부 객체 3..
@RestController vs @Controller
·
Spring
1️⃣ @RestController: 데이터 응답 전용▪️ @Controller ➕ @ResponseBody👉🏻 즉, 모든 메서드에 기본적으로 @ResponseBody가 적용▪️JSON, XML 등 데이터를 응답하는 데 사용.▪️주로 REST API를 구현할 때 사용.▪️HTML 페이지를 반환하지 않음.@RestControllerpublic class MyRestController { @GetMapping("/api/data") public String getData() { return "Hello, JSON!"; }}// 응답: "Hello, JSON!" (JSON 형식으로 응답) 2️⃣ @Controller: 페이지 렌더링 전용HTML, JSP, Thymeleaf 같은..
250116 TIL
·
TIL
프레임워크 vs 라이브러리프레임 워크▪️전체적인 구조와 규칙을 제공하는 틀, 개발자가 그 틀 안에서 작업하며, 프레임워크가 개발 과정을 주도함 ▪️프레임워크는 레고 세트와 비슷하다, 이미 만들어진 가이드(설명서)가 있어 그 규칙에 따라 조립,정해진 구조에 맞춰야함 🧩프레임 워크 구성요소1. Cold Spot (프레임워크 코어)▪️ 변경되지 않고 반복적으로 재사용되는 부분.▪️프레임워크가 제공하는 핵심 라이브러리와 핵심 기능, 개발자가 수정하거나 확장하지 않음. 2. Hook Point (확장 포인트)▪️ 프레임워크가 개발자에게 제공하는 확장 가능한 지점.▪️ 일반적으로 추상 클래스나 인터페이스 형태로 제공됨.▪️ 개발자는 이 부분을 구현하거나 상속받아 애플리케이션 고유의 로직을 추가할 수 있음 Spri..
250110 TIL
·
TIL
리액트(React)👉🏻사용자 인터페이스(UI)를 구축하기 위한 자바스크립트 라이브러리 📌Virtual DOM (가상 DOM)👉🏻실제 DOM의 경량화 된 사본으로 메모리 상에서만 존재 동작 방식상태 변화(useState)Virtual DOM 렌더링: 리액트는 먼저 Virtual DOM에 변경 사항을 적용차이 비교 (Diffing): Virtual DOM의 현재 상태와 이전 상태를 비교하여 변경된 부분을 찾아냄실제 DOM 업데이트: Virtual DOM에서 계산된 차이점만 실제 DOM에 반영📌Single Page Application (SPA)👉🏻단일 HTML페이지로 구성되어, 다른 페이지로 이동할 때 마다 전체 페이지를 로드 하지 않고 필요한 부분만 동적으로 로드 함컴포넌트 기반 구조🔹리액..
250109 TIL
·
TIL
문서 객체 모델 (DOM, Document Object Model)▪️웹 페이지의 구조를 표현하는 프로그래밍 인터페이스▪️웹 페이지의 각 요소를 객체로 표현▪️JavaScript를 통해 웹 페이지를 동적으로 수정하거나 새로운 요소를 추가하는 등 다양한 작업을 할 수 있다.DOM의 주요 메서드1️⃣ 요소 선택:document.getElementById(id) : ID로 요소를 선택document.getElementsByClassName(className) : 클래스 이름으로 요소 선택document.getElementsByTagName(tagName) : 태그 이름으로 요소 선택document.querySelector(selector) : CSS 선택자로 요소 선택 (단일 요소, 첫 번째 요소 선택)doc..
250108 TIL
·
TIL
prototype▪️new를 사용해서 객체를 생성한다 → 생성 할 때마다 다 별개의 객체가 생성 됨▪️공통적인 부분, 특정 함수나 값을 재 사용하려면 prototype 속성, 메서드로 정의한다function Animal(type, name, sound) { this.type = type; this.name = name; this.sound = sound; this.say = function () { console.log(this.sound); }}//객체 생성//새로운 객체를 만들 때에는 new 키워드를 앞에 붙여주어야 함const dog = new Animal('개', '멍멍이', '멍멍');const cat = new Animal('고양이', '야옹이', '야옹..
250106-07 TIL
·
TIL
JavaScript▶️ 클라이언트와 서버 측 모두에서 사용할 수 있는 스크립트 언어▪️인터프리터 언어: 자바스크립트는 별도의 컴파일 없이 실행, 브라우저에서 바로 실행 ▪️동적 언어: 데이터 타입 선언 없이도 변수를 생성 ▪️비동기 프로그래밍 지원: 콜백, 프로미스, async/await을 통해 비동기 코드를 효율적으로 처리콘솔 출력console.log("Hello, World!");변수 선언▪️ var: 함수 스코프를 가짐.   1️⃣변수 스코프 : 함수 단위   *️⃣ ES6 이후에는 지양하고 있다   2️⃣ var 중복 선언이 가능 --> 의도치 않게 다른 값을 사용할 수도 있음    3️⃣ 호이스팅 된다 선언한 변수보다 먼저 사용 가능▪️ let: 블록 스코프를 가짐.▪️ const: 상수, 블록..
자바스크립트 터미널 출력 안 됨 이슈
·
Snags
nvm 사용하여 Node.js 설치하고 브라우저 환경에서는 콘솔이 출력 되는데 터미널에서는 출력이 안됨노드도 지웠다가 깔아봤지만 그대로,, 🛠️여러가지 터미널 출력이 안되는 상황들🛠️1. 환경변수 설정node -v 후 버전이 나오면 환경변수 잘 설정 된건데 버전도 잘 나옴(노드는 잘 설치 되어있다는 ) 환경변수 문제는 아님환경변수도 제어판에서 바꿈 ㅠ 2. 터미널을 powershell이 아닌 CMD에서 수행 ➡️바꿔도 안됨 3. 윈도우 사용자 계정이 한글로 설정되어 있어 콘솔 인코딩에 문제가 발생함 ➡️원래 사용자 폴더는 영어 이름 폴더였는데 혹시 몰라서  윈도우 계정까지 이름도 바꿈 4. 파일 저장 ➡️제대로 함  5. 터미널 설정 ➡️ 터미널 자체는 잘출력 됨  6. 경로 설정 문제 ➡️문제 없음..