본문 바로가기

전체 글43

[JPA] 프록시 객체와 지연로딩 정리 HTML 삽입 미리보기할 수 없는 소스 1. 프록시 객체란 프록시 객체는 실제 Entity를 대신하는 가짜 객체이다. 사용법을 보면은 무슨 뜻인지 이해가 갈 것이다. 먼저 java에서 프록시 객체를 생성하는 방법은 이렇다. entityManager.getReference(타겟엔티티.class, 엔티티의PK) getReference함수의 리턴값을 확인해 보면 'the found entity instance'라고 적혀있다. 즉 엔티티 객체를 돌려준단 것이다. 그러면 getReference 함수를 통해서도 Entity 객체가 조회되고 find() 함수를 통해서도 Entity가 조회되는데 무슨 차이가 있는걸까? 그 차이는 getClass()를 직접 로깅을 해보는 순간 다르단 걸 알 수 있다. EntityMana.. 2023. 8. 27.
Springboot ftp 파일 업로드/다운로드 HTML 삽입 미리보기할 수 없는 소스 1. 클라우드 FTP 서버에 연결 클라우드 FTP를 생성하는 부분은 해당 글을 참조 => [CentOS 7] FTP 서버 구축 과정 현재 로컬 애플리케이션(spring boot)에서 클라우드에 있는 FTP서버에 연결을 하여 업로드와 다운로드를 진행하는 상황이다. @Service @Slf4j public class FTPService { @Value("${ftp.server}") private String server; @Value("${ftp.port}") private int port; @Value("${ftp.username}") private String username; @Value("${ftp.password}") private String password.. 2023. 8. 25.
[CentOS 7] FTP 서버 구축 과정 HTML 삽입 미리보기할 수 없는 소스 1. 네이버 클라우드 플랫폼을 통한 서버, 공인 IP 대여 필자는 현재 내 PC가 아닌 외부의 PC를 FTP 서버로 사용하기 위해 컴퓨터와 그 컴퓨터에 연결된 네트워크가 필요하므로 네이버 클라우드 플랫폼을 사용하여 생성했다. 서버 타입을 Micro로 설정해야 체험판 계정에서 무료로 사용할 수 있음. 외부 네트워크에서의 통신을 위해 공인 IP 대여 후 서버에 연동해 준다. ACG 탭에 들어가서 22번과 21번 포트를 열어준다. 참고로 공인 IP는 유료로 한 달에 4050원 정도 한다. 추가로 서버 구축 시 생성한 인증키를 통해 root 계정 비밀번호를 조회할 수 있다. 2. vsftpd를 통한 FTP 서버 구성 지금 만들려는 서버는 FTP 서버 즉, File Tran.. 2023. 8. 25.
[Java] 입출력(I/O) 정리 HTML 삽입 미리보기할 수 없는 소스 1. 입/출력이란 입출력은 컴퓨터 프로그램과 내부/외부 환경 간의 데이터 전송을 의미하는데 예를 들어 마우스와 키보드를 통해 어떤 명령을 입력하면 화면으로 출력이 되고 한 서버에서 요청을 하면 데이터를 전송(출력) 해주기도 한다. Java에서는 입출력(I/O)이라는 것을 보통 처음 접하게 되는 것이 파일에 처리를 할 때이다. 그때 사용하는 것이 InputStream과 OutputStream인데 그것을 이해하고 사용하기 위해서는 Stream이 무엇인지 알아야 하는데 Stream과 파일 처리에 대한 것은 뒷부분에서 자세히 다룬다. 2. Stream이란 스트림이란 데이터가 이동하는 통로라고 이해하면 쉽다. 우리가 통신을 할 때 모든 것은 스트림을 통해 이동을 하게 되는데.. 2023. 8. 24.