분류 전체보기

· BE/Java
Reflection(리플렉션)클래스의 실체가 아닌 반사된 모습을 이용한 기능.Class 를 이용리플렉션 기능을 지원하지 않는 언어 : C, C++. Pascal사용되는 기술 : JPA, Jackson, Mockito, Junit ...장점 외부, 사용자 정의 클래스들을 사용할 수 있게 함접근제어자에 관계없이 접근이 가능하도록 함단점컴파일 시점이 아닌, 런타임 시점에 클래스를 분석JVM을 최적화할 수 없어 성능저하마찬가지로, 컴파일 에러 확인 불가코드 가독성 저하내부가 노출되어 추상화 파괴  Class실행중인 자바 어플리케이션의 클래스와 인터페이스의 정보를 가진 클래스클래스와 인터페이스의 정보를 가지고 있기 때문에, Class는 클래스의 내용을 모두 확인 가능(ex, 어노테이션, 생성자, 필드, 메서드, ..
· BE/Spring
환경) H2 DB 1. INSERT(UPDATE)update(query, ...) 를 사용하는 경우 추가된 행의 갯수를 반환받을 수 있다.@Overridepublic int insert(ReviewDto dto) { int result = jdbcTemplate.update( "INSERT INTO REVIEWS (SEQ, USER_SEQ, PRODUCT_SEQ, CONTENT, CREATE_AT) VALUES (null, ?, ?, ?, null)", dto.getUserSeq(), dto.getProductId(), dto.getContent() ); return result;}  2. SELECT쿼리를 통해 얻은 데이터 결과값을 dto, vo..
· BE/Java
MapStruct는 객체끼리 매핑을 해주는 유용한 기능이다. 간단하게 아래의 예로 사용법을 알아보자.준비사항MapStruct는 Getter, Setter or builder 를 사용하기 때문에 lombok이 있으면 더욱 편리하게 사용할 수 있다.dependency 설정 시, Lombok 뒤에 MapStruct를 넣어줘야 정상적으로 실행 가능하다.매핑에 진행하기 앞서, 반드시 매핑을 진행하는 두 객체는 아래와 같은 설정을 해야 한다. 반환 타입의 객체: Builder or Setter 필요 (반환 타입의 객체에 데이터를 설정해야 하기 때문)파라미터 타입의 객체: Getter 필요(파라미터 객체의 데이터를 읽어야 하기 때문)  Category.java (Entity)import jakarta.persiste..
· BE/Java
- 알고리즘 분류 : 구현- 사용 언어 : JAVA- 문제 요점    - 바이러스의 번호가 낮은 순서부터 퍼트리면 된다.    - 필자는 우선순위 큐와 큐를 이용해서 풀었다.    - 소스에 보면 결국엔 큐를 이용해서 푸는데 그 이유로는, 우선순위 큐로도 가능하지만 우선순위큐에 넣게되면 넣을 때마다 정렬을 하기 때문에 큐에다가 넣은 것.  소스 설명은 주석을 참고해주세요.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.PriorityQueue;import java.util.Queue;import java.util...
· BE/Java
이 포스팅에서 작성하는 내용은 더 자바, 애플리케이션을 테스트하는 다양한 방법 에서 발췌하였습니다.https://inf.run/CpvH 더 자바, 애플리케이션을 테스트하는 다양한 방법 - 인프런 | 강의자바 프로그래밍 언어를 사용하고 있거나 공부하고 있는 학생 또는 개발자라면 반드시 알아야 하는 애플리케이션을 테스트하는 다양한 방법을 학습합니다., - 강의 소개 | 인프런...www.inflearn.comJMeter?성능, 부하 테스트를 지원하는 자바 오픈 소스 애플리케이션다양한 형태의 애플리케이션도 지원한다.HTTPS/HTTPSMTP, POP3, IMAPFTPJDBCSOAP, REST...GUI 프로그램이 아닌 CLI 환경에서도 테스트가 가능하다.즉, JMeter가 서버에 많은 요청을 보냈을 때, 서버..
· BE/Java
스트림 스트림은 어떤 소스로부터 어떤 스트림을 얻고, 하나 이상의 중간 작업을 수행한 후, 마지막으로 하나의 최종 작업을 수행한다. 중간 작업 : filter, map, flatMap, peel, distinct, sorted, limit, substream 최종 종료 작업 : forEach, toArray, reduce, collect, min, max, count, anyMatch, allMatch, noneMatch, findFirst, findArray 를 포함한다. Java8 부터 추가된 컬렉션의 저장 요소를 하나씩 참조해서 람다식으로 처리할 수 있도록 처리해주는 반복자이다. Reduction 대량의 데이터를 가공해 축소하는 것 데이터의 합계, 평균값, 카운팅, 최댓값, 최소값 필터링, 매핑, ..
· BE/Java
Java 8의 특징 Interface에 default 메서드, static 메서드 사용 가능 자바 8 이전까지 Interface의 abstract 메서드는 반드시 클래스에서 구현했어야 함. 인터페이스에 absrtact 메서드를 추가했다면, 그 인터페이스를 사용한 모든 클래스에서 그 메서드를 구현했어야 함 (바이너리 호환성 이슈) 자바 8이후로 default, static 메서드 사용이 가능 람다식 사용 가능, 람다를 이용해서 스트림API 사용 가능(람다는 Java8 기능 중 큰 변화) Time, Date 관련한 API 추가 함수형 프로그래밍(Functional Programming) 계산을 수학적 함수의 평가로 취급하고, 변경 불가능한 값을 이용 함수형 프로그래밍은 순수 함수들로만 작성된다. 순수함수 :..
· Algorithm
- 알고리즘 분류 : BFS - 사용 언어 : JAVA - 문제 요점 하루가 지날 때 마다 익은 토마토로부터 상하좌우위아래 인접한 토마토가 익게 된다. 모든 토마토가 익으려면 최소 몇 일인 지 구하는 문제 저장될 때부터 모든 토마토가 익어있으면 0 출력 모든 토마토가 익을 수 없으면 -1 출력 필자는 3차원 배열과 토마토의 갯수를 비교하여 풀이 소스 설명은 주석을 참고해주세요. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import java..
멍목
'분류 전체보기' 카테고리의 글 목록