본문 바로가기

Back-End44

[java] Stream 총정리 스트림이란? 스트림(Stream)은 자바 8에서 추가된 기능으로 함수형 인터페이스인 람다(lambda)를 활용할 수 있는 기술이다. 예전에는 배열이나 컬렉션을 반복문을 순회하면서 요소를 하나씩 꺼내 여러가지 코드를(예를 들어 if 조건문 등) 섞어서 작성했다면 스트림과 람다를 이용하여 코드의 양을 대폭 줄이고 조금 더 간결하게 코드를 작성할 수 있다. 또한 스트림을 이용하면 멀티 스레드 환경에 필요한 코드를 작성하지 않고도 데이터를 병렬로 처리할 수 있다. 결론은 스레드를 이용하여 많은 데이터들을 빠르게 처리할 수 있다. 기존의 반복문을 사용한다면 synchronized와 같은 병렬성을 위한 동기화 코드를 관리해야 한다. 스트림은 크게 3가지 단계로 동작한다. 1. 컬렉션이나 배열 등으로부터 스트림을 생.. 2022. 8. 9.
[JPA] JPA Repository 메소드로 쿼리없이 코딩 JPA Repository에서 쿼리를 이용하는 방법은 여러가지가 있다. 1. JPQL 이용 2. nativeQuery 사용 3. Querydsl 사용 4. 메소드 명명만으로 쿼리 생성 4번의 방법을 이용한 JPA 사용법이다. 검색 메서드 1). findAll() DB에서 전체 값을 list로 불러올때 사용한다. 2). findOne() primary key로 값을 1건 조회할 때 사용한다. 3). findByXX => SQL Where절이라고 생각하자. findBy뒤에 우리가 정의한 Entity의 이름을 붙이면된다. Entity의 이름의 첫글자는 대문자로 하며, id를 조건으로 검색한다면 findById(int id) 로 검색하면 된다. 여기서 여러개의 조건을 걸고싶다면...? And조건 findById.. 2022. 8. 9.
[JPA] 필드와 컬럼 매핑 어노테이션 정리 @Column -> 컬럼 매핑 - name -> 필드와 매핑할 테이블의 컬럼 이름 - insertable,updatetable -> 등록, 변경 가능 여부 - nullable(DDL) -> null 값의 허용여부를 설정 - unique(DDL) -> @Table의 uniqueConstraints와 같지만 한 컬럼에 간단히 유니크 제약조건을 걸 때 사용 - columnDefinition(DDL) -> DB 컬럼 정보를 직접 줄 수 있다. - length(DDL) -> 문자 길이 제약조건, String 타입에만 사용 - precision, scale(DDL) -> BigDecimal 타입에서 사용한다.(Long도 사용 가능), precision은 소수점을 포함한 전체 자릿수를, scale은 소수의 자릿수다... 2022. 8. 1.
[JPA] ddl-auto 주의 및 실무 적용 ddl-auto 종류 hibernate.ddl-auto : 1. create -> 기존테이블 삭제 후 다시 생성(DROP + CREATE) 2. create-drop -> create와 같지만 종료시점에 테이블 DROP 3. update -> 변경된 부분만 반영(운영DB 적용 x) 4. validate -> Entity와 Table이 정상 매핑되었는지만 확인 5. none -> 사용하지 않음(사실상 없는 값이지만 관례상 none이라고 한다.) 주의사항 -> 운영 장비에는 절대 create, create-drop, update 사용 X -> 개발 초기 단계는 create 또는 update -> 테스트 서버는 update 또는 validate -> 스테이징과 운영 서버는 validate 또는 none -> .. 2022. 8. 1.
[면접] 자바 문제 (for문 안에 객체 ????..) public class Test { public static void main(String args[]) { int sum = 0; for (int i = 0; i < 10_000_000; i++) { sum += i; Test test = new Test(); } System.out.println("sum =" + sum); } } 질문: 정상적으로 동작이 될까요?.. 대답: 아니요 (잘된다...)... 3가지의 속임수가 있다.. 1. int형은 21억까지 밖에 못받음..(...기본) (눈치못챔) 2. 10_000_000 언더바 표기법은 자바7버전 이후부터 사용 가능 3. for문안에 test 객체 생성?.. 이건 왜 실행이 될까 모르겠다.. 답 : 내 생각에는 for문이 돌면서 이름이 겹치기 때문에 .. 2022. 7. 22.
[AWS] putty(CentOS7)에서 자바 11버전 다운받는법 자체적으론 자바버전이 8버전까지 밖에 지원이 안되기때문에 11버전은 외부에서 받아야한다. 참고 링크.. https://pompitzz.github.io/blog/Java/awsEc2InstallJDK11.html#jdk-%E1%84%89%E1%85%A5%E1%86%AF%E1%84%8E%E1%85%B5 AWS EC2에 JDK 11 설치하기 | BLOG AWS EC2에 JDK 11 설치하기 작성일: 2020-07-05 17:44 pompitzz.github.io https://blog.naver.com/PostView.naver?blogId=code0x00&logNo=222496722924&categoryNo=7&parentCategoryNo=0&viewDate=&currentPage=1&postListTo.. 2022. 7. 8.