java33 JpaRepository에 정의되지 않은 메소드 사용법 JPA 레퍼런스를 보았을 때 findAllBy... findBy...... get... 엄청 많았다.하지만 이것들만 가지고는 SQL의 where절 조건 걸어 조회하거나 업데이트 하는게 불가능해 보여서 추가로 조사를 진행했다. 메소드의 이름으로 조건을 줄 수 있다고 한다. 예를들면 레퍼런스에 findAllById 라는 항목이 있는데 Id가 고정된것이 아닌 유동적으로 변경이 가능하다.findAllById를 SQL로 바꿔보면SELECT * FROM {tableName} where ID;//만약 ID가 리스트 타입이라면SELECt * FROM {tableName} where ID in [{ListAttribute1}, {ListAttribute2}, ...];이런식으로 JPA가 쿼리문으로 작성하는 것 같다. 하.. 2024. 11. 19. Spring Annotation 컨닝페이퍼 스프링에서 제공하는 주요 어노테이션 정리단순 데이터 뭉치로 빈약한 설명, 부정확할 가능성 있음컴포넌트 스캔 및 빈 등록 관련 어노테이션@Component : 일반적인 스프링 빈으로 등록할 때 사용@Service : 비즈니스 로직을 처리하는 클래스에 사용@Repository : DB와 연동되는 클래스에 사용@Controller, @Restcontroller : 웹 요청을 처리하는 클래스에 사용의존성 주입(DI) 관련 어노테이션@Autowired : 필드, 생성자, 메소드에 의존성을 주입할 때 사용@Qualifier : 같은 타입의 여러 빈 중에서 특정 빈을 선택할 때 사용.@Inject / @Resource : DI를 위한 다른 방식의 어노테이션(Jakarta 및 JSR-330 표준)으로@Autowired.. 2024. 10. 21. Spring Bean 클래스들을 스프링 컨테이너에 스프링 빈으로 등록해서 애플리케이션을 실행한다는걸 알았다.그럼 모든 클래스를 등록해야 할까? 어떻게 등록해야 할까? 같은 의문들이 생겨서 GPT를 비롯하여 구글링 한 결과를 정리하려고 한다. 첫번째 의문에 대한 결과는 당연하게도스프링 컨테이너에 모든 빈을 등록하는것은 아니었다.자동으로 빈을 등록하고 생성해서 애플리케이션을 관리해주는것도 아니었다.이 부분이 쿠버네티스의 마스터노드 - 파드와 차이점이었다. 스프링 컨테이너에 빈을 등록하는 방법어노테이션 기반 등록 - @Component, @Service, @Repository, @Controller 같은 어노테이션을 클래스에 붙이면스프링이 해당 클래스들을 스캔해서 알아서 빈으로 등록해준다.Java 설정 클래스- @Configur.. 2024. 10. 21. Spring Framework 기본 요소 개념 정리 응근히 사전에 알고 들어가야 할 용어들이 많지만 생소한 용어가 생각보다 적었다.가볍게 큰 틀을 이루는 개념 몇 가지를 가볍게 정리하겠다.어노테이션 (Annotation)코드에 메타데이터를 추가하는 방법. 컴파일러나 런타임 시점에 특정 동작을 하도록 지시하는 역할 순수 자바만 사용할 때에 어노테이션은 자주 써봐야 @Override 정도였는데 스프링같은 경우에는 수많은 어노테이션이 존재한다.자바와 직관적인 차이점중 하나라고 생각한다. 스프링 빈 (Spring Bean)이름만 보면 자바 빈이 떠오른다.빈이라는 이름은 같지만 개념은 매우 다르다.스프링 컨테이너에 의해 관리되는 객체를 빈, 스프링 빈 이라고 한다. 개발자가 직접 생성하고 관리하지 않아도 스프링이 알아서 객체의 라이프사이클을 관리해준다.쿠버네티스의.. 2024. 10. 21. 자바스크립트의 대표적인 메소드 alert() 브라우저에 팝업 창을 띄워 메시지를 보여준다.alert("bye JS"); console.log() 브라우저의 콘솔에 메시지나 데이터를 출력한다. 주로 디버깅을 위해 사용console.log("message in browser's consol"); setTimeout()특정 코드를 일정 시간 후에 실행하도록 예약한다. 단위는 ms예약 가능한 sleep() 같다.setTimeout(funtion() { console.log("이 폭탄은 5초후에 폭파합니다...4...3..");}, 5000); setInterval()일정 간격으로 반복적으로 실행되는 코드를 설정한다.setInterval(Funtion() { console.log("0.5초마다 숨쉬기");}, 500); clearTimeou.. 2024. 10. 18. 자바스크립트 기본 문법 가볍게 정리 변수 선언var : 함수 스코프 (전역변수와 유사), 같은 변수를 여러 번 선언할 수 있다. 하지만 의도치 않은 버그가 발생할 가능성 때문에 최근에는 잘 쓰이지 않는 추세let : 블록 스코프 (지역변수와 유사), 재할당이 가능하다.const : 블록 스코프, 상수 선언 시 사용. 재할당이 불가능하다. 데이터 타입String : 문자열. 늘 먹던 문자열이 맞다.Number : 숫자. 특이하게도 기본이 int, float 이 아니라 Number부터 튀어나온다.Boolean : true/falseArray : 배열Object : 객체. 사실 왜 객체인지 모르겠다. 키-맵 쌍으로 이루어져 있어서 딕셔너리나 해쉬맵같은데Json 때문일까? 객체로 불린다.null : 아무것도 없다. pandas의 null과 유사한.. 2024. 10. 18. 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. 함수형 인터페이스와 람다 우선 메소드와 함수의 차이점부터 정리하겠다. 함수 : 독립되어 기능을 하는 코드뭉치메소드 : 클래스, 인터페이스, 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. 이전 1 2 3 4 다음