전체 글

영속성 컨텍스트란?“엔티티를 영구 저장하는 환경”이라는 뜻EntityManager.persist(entity) : 엔티티를 영속성 컨텍스트에 저장EntityManager를 통해서 영속성 컨텍스트에 접근엔티티의 생명주기비영속 (new/transient)영속성 컨텍스트와 전혀 관계가 없는 새로운 상태영속 (managed)영속성 컨텍스트에 의해 관리되는 상태em.persist(Member);를 하면 이 상태가 됨준영속(detached)영속성 컨텍스트에 저장되었다가 분리된 상태삭제 (removed)삭제된 상태비영속 (new/transient)객체를 생성만 하고 EntityManager에 넣지 않은 상태영속 (managed)객체가 영속 컨텍스트에 의해 관리되고 있는 상태em.persist(member)를 하면 E..
JPA 구동 방식먼저 Persistence라는 클래스를 만듦여기서 META-INF/persistence.xml에 있는 설정 정보를 읽어서 EntitiyManagerFactory라는 클래스를 만듦그리고 EntityManagerFactory에서 필요할 때마다 EntityManager 생성META-INF/persistence.xmlCopy --> 여기서 설정 정보 조회JpaMainCopypackage hellojpa;import jakarta.persiste..
Windows 10에서는 기본적으로 Homebrew가 지원되지 않지만, **WSL (Windows Subsystem for Linux)**을 사용하여 Ubuntu와 같은 Linux 배포판을 설치한 후, Homebrew를 설치할 수 있습니다. Homebrew는 macOS와 Linux에서 널리 사용되는 패키지 관리자로, 소프트웨어 설치, 관리, 업데이트 등의 작업을 쉽게 할 수 있도록 도와줍니다. 이제, Windows 10에서 Homebrew를 설치하는 방법을 단계별로 알아보겠습니다.1. WSL (Windows Subsystem for Linux) 설치Homebrew를 Windows 10에 설치하려면 먼저 WSL을 설치해야 합니다. WSL을 사용하면 Windows에서 Linux 배포판을 실행할 수 있습니다...
· Java ☕️
1. IntelliJ IDEA에서 Project SDK 설정먼저, IntelliJ IDEA에서 Project SDK를 Java 17로 설정해야 합니다. 이는 프로젝트에서 사용하는 기본 Java 버전을 정의합니다.설정 방법:IntelliJ IDEA를 열고, 상단 메뉴에서 File > Project Structure를 선택합니다.왼쪽 메뉴에서 Project를 선택합니다.오른쪽 패널에서 Project SDK 항목을 확인합니다. 드롭다운 메뉴에서 Java 17을 선택합니다.만약 Java 17이 목록에 없다면, Add SDK 버튼을 클릭하여 Java 17 SDK를 추가해야 합니다.Java 17 SDK가 설치되어 있지 않다면, OpenJDK 17 다운로드 또는 AdoptOpenJDK에서 Java 17을 다운로드하여..
util 폴더 안에 있는 AwsS3Utils 참고이미지 등록AwsS3Utils 클래스 안의 uploadImageToFolder 메서드를 사용uploadImageToFolder 메서드 안에서 uploadImage 메서드를 호출해서 사용// 특정 폴더에 이미지를 S3에 업로드하는 메서드 public String uploadImageToFolder(String folderName, Long id, MultipartFile file) throws IOException { String fileName = folderName + "/" + id + "/" + UUID.randomUUID() + getFileExtension(file.getOriginalFilename()); // S3..
프로젝트를 하던 도중 이미지 미리보기를 구현할 일이 있었다.file을 가져오면서 FileReader를 사용하게 되었다.document.getElementById('images').addEventListener('change', function (event) { const files = event.target.files; const imageContainer = document.getElementById('div_added_pictures'); imageContainer.innerHTML = ''; // 기존 미리보기 이미지 제거 Array.from(files).forEach(file => { const reader = new FileReader(); read..