맛있는 개발자의 기록 일기
  • 홈
  • 관리창
  • 메뉴 닫기
  • 글작성
  • 방명록
  • 환경설정
    • 분류 전체보기 (84)
      • Java (74)
      • Food (2)
      • Java 기초 (0)
      • Java 심화 (0)
      • Language (4)
        • Java (4)
      • Framework (2)
        • Spring (2)
      • DevOps (1)
        • Git (1)
      • Cloud (1)
        • Amazon Cloud (1)
  • 홈
  • 태그
  • 방명록
Java

[Java] 자바 Stream (map, filter, sorted, collect)

▶ Stream 이란? 스트림의 사전적 의미는 '흐르다' 또는 '개울'이다. 프로그래밍에서의 스트림도 사전적 의미와 크게 다르지 않다. 다만, 여기서 물이 흐르는 것은 아니고 데이터의 흐름을 뜻한다고 이해하면 될 것이다. Java 8부터 Stream을 사용할 수 있다. 기존에 자바 컬렉션이나 배열의 원소를 가공할 때, for문 / foreach 등으로 원소 하나씩 골라내어 가공을 했지만, stream을 이용하여 람다 함수로 간결하고 깔끔하게 요소들을 처리 가능하게 되었다. ※ 간략 정리 데이터의 흐름이다. Java 8에서 추가한 람다를 활용할 수 있는 기술 중 하나이다. 배열 / 컬렉션 인스턴스에 함수 여러 개를 조합해서 원하는 결과를 필터링하고 가공된 결과를 얻는다. 한 번 종료 작업을 한 스트림에 대..

2022. 8. 31. 14:27
Java

[QueryDSL] DATE_FORMAT 사용하기

서론 QueryDSL에서도 SQL Function 사용을 통해 쿼리를 간단하게 작성해야 할 경우가 있다. 이 경우, Expressions.StringTemplate(), Expressions.numberTemplate() 등을 통해 SQL Function을 사용할 수 있다. 이를 통해 Date cast, Lower case 작성 등을 QueryDSL에서 쉽게 사용이 가능하다. MySQL에서 DATE 건드리기 먼저 MySQL에서 Date_Format을 사용하는 방법을 알아보자. //Date 포맷을 변경하고 날짜를 지정한 형식으로 출력 DATE_FORMAT('2022-03-24', '%Y%m%d') DATE_FORMAT(날짜, 변경할 양식) //Date 날짜를 더하거나 빼야할 경우 DATE_ADD(기준날짜,..

2022. 8. 30. 17:24
Java

[React] 비동기로 동작하는 setState에 대한

이번 포스팅에서는 React에서 setState의 Callback 함수를 사용하는 경우를 소개합니다. 이슈 개발을 하는 중, setState함수가 실행되어 값이 변경되었음에도, state를 사용하는 함수는 한 박자 늦게 변경되는 이슈가 있었습니다. 이러한 이유의 원인을 찾아보니 setState가 비동기 함수라서 그렇다고 합니다. setState 함수는 이벤트 핸들러 함수에서 바로 값을 경신(변경)하는 것이 아니라, 이벤트 핸들러 함수가 종료 후 react에 의해 state값이 경신됩니다. 해결방안 react에서 setState의 Callback 함수를 사용하는 경우는 state를 변경 후 변경된 state를 사용하는 경우입니다. setState 함수로 state의 값을 변경 후 경신된 값을 콘솔에 출력하..

2022. 8. 30. 10:11
Java

[JAP] 트랜잭션이란 무엇일까?

트랜잭션 트랜잭션(Transaction)의 정의를 내려보자면, 트랜잭션은 Database의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업 단위나 한 번에 수행되어야 할 일련의 연산을 의미한다. 만약 데이터베이스의 데이터를 수정하는 도중에 예외가 발생된다면 어떻게 해야 할까? DB의 데이터들은 수정이 되기 전의 상태로 되돌아가져야 하고, 다시 수정 작업이 진행되어야 할 것이다. 이렇듯 여러 작업을 진행하다가 문제가 생겼을 경우 이전 상태로 롤백하기 위해 사용되는 것을 트랜잭션(Transction)이라고 한다. 트랜잭션은 더 이상 쪼갤 수 없는 최소 작업 단위를 의미한다. 그래서 트랜잭션은 commit으로 성공하거나 rollback으로 실패 이후 취소되어야 한다. 하지만 모든 트랜잭션이 동일한 ..

2022. 8. 19. 09:07
Java

[MYSQL] AES_ENCRYPT / AES_DECRYPT

해당 함수는 암호화 함수입니다. 128비트 길이로 인코딩 되어 저장됩니다. 그러나 소스를 수정해서 256비트까지 확장시킬 수 있다고 합니다. AES_ENCRYPT 문자열을 암호화하고, 바이너리 문자열을 반환합니다. # "암호화 키"는 임의의 값이 올 수 있으며, "문자열"은 암호화하고자 하는 값이 됩니다. # AES_ENCRYPT 암호화 INSERT INTO 테이블명 VALUES (HEX(AES_ENCRYPT('문자열', '암호화 키'))); AES_DECRYPT 암호화된 문자열을 복호화합니다. 유효하지 않은 데이터는 PADDING을 감지하고, NULL을 반환합니다. # "암호화 키"는 임의의 값이 올 수 있으며, "문자열"은 암호화하고자 하는 값이 됩니다. # AES_DECRYPT 복호화 SELECT ..

2022. 8. 18. 09:51
Java

[Java] JAR vs War 비교 분석

공통점 JAVA의 jar 툴을 이용하여 생성된 압축(Archive) 파일이다. 애플리케이션을 쉽게 배포하고 동작시킬 수 있도록 관련 파일(리소스, 속성 파일 등)들을 패키징 해준다. 보통 Maven 등을 통해서 내려받는 라이브러리들은 CLASS 파일들이 묶인 jar파일로 구성되어 있다. 서비스 배포 시에 프로젝트를 WAR 포맷 형식으로 묶어서 /webapps 등의 지정된 경로에 넣고 Tomcat 등의 웹 컨테이너(web contaioner)를 이용하여 deploy 하는 식으로 서비스를 배포한다. 차이점 JAR(Java Archive) .jar 확장자 파일에는 Class와 같은 Java 리소스와 속성 파일, 라이브러리 및 액세서리 파일이 포함한다. 즉, Java 애플리케이션이 동작할 수 있도록 자바 프로젝..

2022. 8. 10. 10:20
  • «
  • 1
  • ···
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • ···
  • 14
  • »
Powered by Privatenote Copyright © 맛있는 개발자의 기록 일기 All rights reserved. TistoryWhaleSkin3.4

티스토리툴바