본문 바로가기

GPT13

Spring Annotation 컨닝페이퍼 스프링에서 제공하는 주요 어노테이션 정리단순 데이터 뭉치로 빈약한 설명, 부정확할 가능성 있음컴포넌트 스캔 및 빈 등록 관련 어노테이션@Component : 일반적인 스프링 빈으로 등록할 때 사용@Service : 비즈니스 로직을 처리하는 클래스에 사용@Repository : DB와 연동되는 클래스에 사용@Controller, @Restcontroller : 웹 요청을 처리하는 클래스에 사용의존성 주입(DI) 관련 어노테이션@Autowired : 필드, 생성자, 메소드에 의존성을 주입할 때 사용@Qualifier : 같은 타입의 여러 빈 중에서 특정 빈을 선택할 때 사용.@Inject / @Resource : DI를 위한 다른 방식의 어노테이션(Jakarta 및 JSR-330 표준)으로@Autowired.. 2024. 10. 21.
Spring Framework 기본 요소 개념 정리 응근히 사전에 알고 들어가야 할 용어들이 많지만 생소한 용어가 생각보다 적었다.가볍게 큰 틀을 이루는 개념 몇 가지를 가볍게 정리하겠다.어노테이션 (Annotation)코드에 메타데이터를 추가하는 방법. 컴파일러나 런타임 시점에 특정 동작을 하도록 지시하는 역할 순수 자바만 사용할 때에 어노테이션은 자주 써봐야 @Override 정도였는데 스프링같은 경우에는 수많은 어노테이션이 존재한다.자바와 직관적인 차이점중 하나라고 생각한다. 스프링 빈 (Spring Bean)이름만 보면 자바 빈이 떠오른다.빈이라는 이름은 같지만 개념은 매우 다르다.스프링 컨테이너에 의해 관리되는 객체를 빈, 스프링 빈 이라고 한다. 개발자가 직접 생성하고 관리하지 않아도 스프링이 알아서 객체의 라이프사이클을 관리해준다.쿠버네티스의.. 2024. 10. 21.
snmp4j 컨닝페이퍼 org.snmp4j 라이브러리의 주요 인터페이스와 클래스, 그들의  메소드를 가볍게 정리하겠다. snmp4j API 주소는 아래이다.https://agentpp.com/doc/snmp4j/org.snmp4j/module-summary.html org.snmp4j (SNMP4J 3.8.2)module org.snmp4j Copyright 2005-2024 Frank Fock (SNMP4J.org)agentpp.com  주요 인터페이스SNMPSNMP 프로토콜의 핵심 인터페이스SNMP 메시지를 송수신하는 기능을 제공한다.주요 메소드send(PDU pdu, Target target) : SNMP 메시지 송신PDU (Protocol Data Unit)SNMP 메시지를 표현하는 인터페이스요청, 응답, 오류 메시지(.. 2024. 9. 10.
SNMP 정리 SNMP = Simple Network Management Protocol네트워크 장비를 관리하고 모니터링하기 위한 프로토콜.라우터, 스위치, 서버 같은 네트워크 장비의 상태와 성능을 추적하고 제어하는 데 사용된다. 구성 요소관리 시스템 (Management System) : 네트워크를 모니터링하고 관리하는 소프트웨어 또는 하드웨어.네트워크 관리 콘솔이나 서버 소프트웨어가 이에 속한다.관리 대상 (Managed Devices) : 관리와 모니터링 대상이 되는 네트워크 장비들라우터, 스위치, 서버 등이 이에 속한다.관리 에이전트 (Management Agent) : 관리 대상 장비에 설치된 소프트웨어관리 정보 베이스(MIB) : SNMP가 사용하는 데이터베이스로, 장비의 상태 정보를 저장하고 관리하는데 사.. 2024. 9. 10.
함수형 인터페이스와 람다 우선 메소드와 함수의 차이점부터 정리하겠다. 함수 : 독립되어 기능을 하는 코드뭉치메소드 : 클래스, 인터페이스, Enum 등에 의존해야 하는 코드뭉치, 다른 말로 클래스 함수라고도 부른다. 왜 함수와 메소드를 집고 넘어가는가 하면 자바는 함수가 존재하지 않기에 함수와 같은 기능을 구현하고자 도입된것이 함수형 인터페이스와 람다라고 생각하기 때문이다. 가볍게 함수형 인터페이스와 람다를 정리해 보겠다.함수형 인터페이스오직 단 하나의 추상 메소드만을 가지는 인터페이스. 람다함수형 인터페이스의 추상 메소드를 구현하는 표현식 자바는 다른 언어처럼 함수가 독립적으로 존재할수가 없다. 그래서 익명함수, 람다표현식을 사용하더라도 상위에 함수형 인터페이스가 존재해야 하고, 함수형 인터페이스가 가진 메소드를 구현하는 방식.. 2024. 9. 5.
Runnable과 Thread의 차이점 Runnable 인터페이스Runnable은 자바의 함수형 인터페이스로, 오직 하나의 메소드인 run() 메소드를 가지고 있다. 이 메소드 안에 스레드가 수행할 작업을 정의할 수 있다.Runnable 인터페이스를 구현하는 클래스를 만들거나, 익명 클래스, 람다 표현식을 사용해 run() 메소드를 구현할 수 있다.// Runnable 인터페이스를 구현하는 클래스class MyRunnable implements Runnable { @Override public void run() { System.out.println("Runnable running"); }}// 실행Thread thread = new Thread(new MyRunnable());thread.start(); Runn.. 2024. 9. 5.
TimeOut을 사용하는 대표적인 상황 몇가지 TimeOut은 지정된 시간 내에 작업이 완료되지 않았을 때 프로그램이 계속 대기하는것을 방지하기 위해 사용됨무한히 대기하는 문제를 방지하고, 시스템 자원을 효율적으로 관리하며, 응답성을 높이기 위해 매우 중요하다. 네트워크 통신HTTP 요청/응답 : 클라이언트가 서버에 HTTP 요청을 보내고 응답을 기다릴 때, 서버가 너무 오래 응답하지 않으면 TimeOut을 설정해 요청을 취소하거나 예외를 발생시킨다. 예를 들어, API 호출이 특정 시간 내에 완료되지 않으면, 타임아웃을 통해 다른 작업을 시작할 수 있다.소켓 통신 : 소켓을  통해 데이터 전송을 할 때, 데이터 수신이 일정 시간 안에 이루어지지 않으면 타임아웃이 발생하여 연결을 종료하거나 재시도를 하도록 할 수 있다. 데이터베이스 관리긴 쿼리 실행.. 2024. 8. 27.
JAVA Stream API 정리 JAVA의 Stream API는 데이터 처리 작업을 간결하고 효율적으로 수행할 수 있도록 다양한 메소드를 제공한다. 중간 연산 (InterMediate Operations)중간 연산은 스트림을 반환하는 연산으로, 여러 번 체이닝(연결)할 수 있다. 이 연산들을 최종 연산이 호출될 떄까지 실제로 수행되지 않는다.filter(Predicate predicate) // 조건에 맞는 요소들만을 포함하는 새로운 스트림을 반환함map(Function mapper)// 각 요소에 함수가 적용된 결과로 구성된 새로운 스트림을 반환// 파이썬의 apply와 비슷한듯distinct()// 중복 요소를 제거한 스트림을 반환sorted()// 요소들을 정렬한 스트림을반환 flatMap(Fuction> mapper) // 각 .. 2024. 8. 22.
서블릿의 메소드와 핸들러,JUnit 개념 정리 setAttribute역할 : 요청(request)객체에 데이터를 저장함사용이유 : 서블릿에서 처리된 데이터를 Jsp와 같은 view로 전달할 때 사용함getRequestDispatcher역할 : 지정된 경로의 리소스(Jsp파일 등)에 대한 Request Dispatcher 객체를 반환함사용이유 : 서블릿이 요청을 다른 리소스로 전달하거나, 다른 리소스로부터 포워딩을 받기 위해 사용함forward역할 : 클라이언트의 요청을 다른 리소스(Jsp, 서블릿 등)로 전달한다.사용이유 : 클라이언트로부터 받은 요청을 다른 리소스로 전다랗고, 그 리소스에서 응답을 생성하도록 한다.getParameter역할 : 클라이언트가 요청한 Http요청의 파라미터값을 가져오는 메소드사용이유 : HTML 폼이나 쿼리 스트링을 통.. 2024. 7. 26.