본문 바로가기

백엔드/Java18

[스프링부트-AWS] 게시글 이미지 저장 게시글을 등록할 때 내용에 이미지를 어떻게 등록을 하는지. Quill Text Editor - 내용 입력폼 사용 1. 글을 작성하면서 클라이언트가 이미지 삽입시 프론트에서 백엔드로 이미지 생성 요청을 보낸다. https://chanung.tistory.com/200 [스프링부트] AWS S3에 이미지 저장, 불러오기 스프링부트-S3(AWS) 1. 클라이언트에서 사진을 전달 받아 S3에 사진 저장하기 1. 클라이언트가 사진을 등록한다. 2. 사진이 서버에 전송이 된다. 3. 서버에서 사진을 S3에 전송한다. 4. S3에 사진을 저 chanung.tistory.com 2. s3저장소에서 이미지 생성후 주소값을 다시 클라이언트에게 리턴해준다. 3. 마지막 등록 버튼을 누르고 게시글의 내용을 저장 4. DB에 .. 2023. 5. 31.
[스프링부트] AWS S3에 이미지 저장, 불러오기 스프링부트-S3(AWS) 1. 클라이언트에서 사진을 전달 받아 S3에 사진 저장하기 1. 클라이언트가 사진을 등록한다. 2. 사진이 서버에 전송이 된다. 3. 서버에서 사진을 S3에 전송한다. 4. S3에 사진을 저장한다. 클라이언트 -> 서버 파일전송 스프링부트-S3 사전작업 S3 연결작업 진행 (구글링 하시면 자세히 나온다) 진행이 완료되면 accessKey 랑 secretKey가 나온다. build.gradle 설정 dependencies { implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE' implementation 'org.springframework.boot:spring-boot-starter-da.. 2023. 4. 27.
자바/ 제곱 구하기 1. 제곱 비트연산 9입력 2. Math.pow함수 Math.pow(2, 2) = 2의 2승 4 입력, 출력 값이 double 2022. 11. 12.
자바/ 소문자를 대문자로, 대문자를 소문자로 toUpperCase() String a = "sss"; a = a.toUpperCase(); System.out.print(a); -> SSS toLowerCase() String a = "sSS"; a = a.toUpperCase(); System.out.print(a); -> sss 2022. 11. 12.
<FAST CAMPUS>자바 웹개발-객체지향 프로그래밍 직렬화 직렬화 ( Serialization ) - 인스턴스의 상태를 그대로 저장하거나 네트워크로 전송하고 이를 다시 복원 하는 방식 보조스트림 ( ObjectInputStream 과 ObjectOutputStream 사용 ) 직렬화는 인스턴스의 내용이 외부(파일, 네트워크 ) 로 유출되는 것이므로 프로그래머가 객체의 직렬화 기능 여부를 명시해야됨 Person 객체를 파일로 저장 ( 유출 하는 행위 ) --------------------------------------------------------------------------------------------------------------------------- 그 외 입출력 클래스와 데코레이터 패턴 - File 클래스 : 파일개념을 추상화한 클래.. 2021. 1. 27.
<FAST CAMPUS>자바 웹개발-객체지향 프로그래밍 표준 입출력 System 클래스의 표준 입출력 멤버 public class System{ public static PrintStream out; // 표준 출력 스트림 public static InputStream in; // 표준 입력 스트림 public static PrintStream err; // 표준 에러 스트림 } System.in.read() 를 사용 할 때 in 멤버는 inputStream 을 쓰고 그 안에 read 라는 메서드로 읽고 반환 값은 int로 된다 byte로 읽는데 int로 반환되는 이유는 파일의 끝에 도달하면 -1을 반환해야되기 때문 입력 예 입력에 한글을 설정 해결 ( 보조스트림 : InputStreamReader ) 바이트 단위 입출력 스트림 InputStream : 바이.. 2021. 1. 26.
<FAST CAMPUS>자바 웹개발-객체지향 프로그래밍 예외와 예외처리 오류란 무엇인가? - 컴파일 오류 : 프로그램 코드 작성 중 발생하는 문법적 오류 - 실행 오류 : 실행 중인 프로그램이 의도 하지 않은 동작을 하거나 프로그램이 중지되는 오류 자바는 예외 처리를 통하여 프로그램의 비정상 종료를 막고 log를 남길 수 있다. 모든 예외 클래스의 최상위 클래스는 Exception 클래스 try-catch 문으로 예외처리하기 finally - 밑에 코드를 보면 스트림클래스를 열면 무조건 죽든 살든 그 스트림은 닫아야한다 (fis.close) 그래서 catch문이 여러개가 있는경우 있는 문 마다 다 넣어줘야 하는데 finally문장은 무조건 실 행 되는 문장이여서 하나의 문장으로 스트림파일을 닫을 수 있다. 다양한 예외처리 예외 처리 미루기 ( throws ).. 2021. 1. 25.
<FAST CAMPUS>자바 웹개발-객체지향 프로그래밍 람다식 ( 함수형 프로그래밍 ) 람다식이란? - 클래스를 생성하지 않고 함수의 호출만으로 기능을 수행 - 함수형 인터페이스를 선언함 함수형 프로그래밍이란? - 순수 함수를 구현하고 호출한다. - 매개 변수만을 사용하도록 만든 함수 입력 받은 자료를 기반으로 수행되고 외부에 영향을 미치지 않으므로 안정적이고 확장성 있는 프로그래밍 방식. 람다식 실행 예 ) 스트림 - 자료의 대상과 관계없이 동일한 연산을 수행할 수 있는 기능 (자료의 추상화) - 배열, 컬렉션에 동일한 연산이 수행되어 일관성 있는 처리가 가능 - 한번 생성하고 사용한 스트림은 재사용할 수 없다. - 스트림 연산은 기존 자료를 변경하지 않는다. - 중간 연산 ( 자료를 필터링, 자료를 얻어오기 등)과 최종 연산(중간 연산의 합 등 결과물)으.. 2021. 1. 24.
<FAST CAMPUS>자바 웹개발-객체지향 프로그래밍 Set 인터페이스 - 1 Set 인터페이스의 정의 - 순서대로 저장되지 않는다 -> iterator () 메서드로 호출 - Collection 하위의 인터페이스 - 중복을 허용하지 않음 - get(i) 메서드가 제공되지 않음 ( Iterator로 순회 ) - 저장된 순서와 출력순서는 다를 수 있음 - 아이디, 주민번호, 사본 등 유일한 값이나 객체를 관리할 때 사용 - HashSet, TreeSet 클래스 HashSet 클래스 ( Set 인터페이스 구현 클래스 ) Hash셋 으로 멤버관리 MemberHashSet 클래스 MemberHashSetTest ( 구현 ) 같은 아이디로 멤버를 선언하였을 때 Member 클래스 equals 메서드 재정의 Set 인터페이스 - 2 TreeSet 클래스 - 객체의 정.. 2021. 1. 23.