일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 싱글톤 레지스트리
- 외부조인
- 스프링
- DAO의 분리
- null
- 쓰는이유
- 청크
- PYTHON
- JIT
- overriding
- ChainMap
- java
- 백준
- 개발기록
- 싱글톤
- Oracle
- 데이터베이스
- 오버라이딩
- react
- 121
- select
- 리스트 자르기
- GCP Storage
- 자바
- 파이썬
- Spring Framework
- spring
- orderedDict
- defaultdict
- DAO
- Today
- Total
목록java (6)
PengTory
1. Instance (객체) - static 키워드가 없으면 Instance - 객체 생성 후 객체를 통해서 사용 2. Static(정적/ 고정) - static 키워드가 있으면 static - 클래스 명으로 사용 - 필드는 객체간의 공유가 된다. => (myCalcu2, 3, 4는 값을 건들이지 않았음에도 불구하고 하나의 값이 변경되었기 때문에 공유로 인해 다른 것들도 값이 바뀌는 것을 볼 수 있다.) public class CalculatorExample { public static void main(String[] args) { System.out.println("main 메서드 시작"); Calculator myCalcu = new Calculator(); double result1 = myCa..
1. 클래스의 구성 멤버 필드 - 변수와 비슷하지만 기본 초기값이 있음-> 기본 자료형 - 0, 참조자료형 - null로 초기화 - 클래스 내 전체 영역에서 사용 가능 생성자(constructor) - 초기화 - return 타입이 없고, 이름이 클래스명과 동일함 - 객체를 생성할 때 사용됨 - 기본 생성자(매개변수가 없는 것)는 생성자가 하나도 없으면 컴파일러가 자동으로 생성해줌 다음과 같이 생성자를 따로 만든다면 컴파일러가 생성자를 자동으로 만들지 않기 때문에 아래처럼 오류가 난다. public class ClassEx { // 생성자 ClassEx(int a) { } } 메서드 - 하나의 기능 단위로 - 목적: 다른데 사용하기 위해서 예를 들어 구구단을 만드는 코드가 필요하다고 생각해보자. 만약 구..
참조타입 참조타입이란 기본타입과 다르게 객체의 번지(주소)를 참조하는 타입으로 배열, 열거, 클래스, 인터페이스가 있다. - 배열, 클래스, 인터페이스 등 - 동등비교 (== , !=)를 하는 경우에는 메모리 주소값으로 비교한다. (저장된 값으로 비교하는게 아님!) - null(참조하는 주소가 없는 경우)이 가능하다. 그렇다면 참고자료형인 객체를 비교하는 예시를 알아보자. RefType rt = new RefType(); RefType rt2 = new RefType(); System.out.println(rt == rt2); // 결과값: false RefType rt3 = rt2; System.out.println(rt3 == rt2); // 결과값: true System.out.println(rt ..
1. Compile 언어 특징: 소스 -> 컴파일 -> 실행 소스파일을 컴파일이라는 행위를 하게되면 기계어로 변환되고, 기계어가 실행이 되는 방식이다. 장점: Interpreter언어에 비해 속도가 빠르다. 단점: 수정사항이 일어나면 수정이 불편하기때문에 편리성이 좋지 않다. 컴파일러는 OS마다 다르다. 따라서 기계어가 OS마다 달라지게 된다. (OS 구분이 있다.) 종류: C, C++ 2. Interpreter 언어 특징: 소스 -> 실행 인터프리터가 소스 한 줄을 해석에서 실행하고, 다음 줄을 해석해서 실행하는 방식으로 반복한다. 단점: Compile언어에 비해 속도가 느리다. 장점: 수정사항이 일어나도 수정이 편리하기 때문에 편리성이 좋다. 소스만 있으면 돌릴 수 있기 때문에 OS의 구분이 없다. ..
SpringBoot를 사용해 이미지를 함께 저장해야하는 POST API를 만들고 있다. 공부용으로 항상 사용하던 AWS s3 말고 GCP storage를 사용해보고 있다. GCP storage는 s3와 굉장히 비슷하게 이루어져있는 것 같다. 이번 프로젝트에서도 GCPService 클래스를 만들어 GCP storage에 이미지를 올리고 url을 받아 DB에 저장주는 방식을 사용했다. 파일을 업로드하는 코드는 아래와 같다. @Service @Slf4j public class GCPService { @Value("${SPRING_GCP_BUCKETNAME}") private String bucketName; @Autowired private Storage storage; public List uploadFil..
초 난감 예외처리 try{ // ... } catch(SQLException e){ } // 예외를 잡고 아무 것도 안함 -> 만들어선 안됨 try catch문을 써서 예외를 잡아낸 것은 좋지만 catch문 안에 아무것도 쓰지 않아 넘겨버리는 것은 위험하다. 왜냐하면 프로그램 실행 중 오류가 있어 예외가 발생했는데 이를 무시하고 계속 진행하기 때문이다. 그렇다면 cath문 안에 e.printStackTrace() 혹은 System.out.println(e)와 같이 메시지를 출력하는 방법은 어떨까? 잠깐 해결된 듯 보이지만 다른 로그나 메시지에 금방 묻혀 찾기 어려울 것이다. 그렇다면 정상적인 예외처리를 하기 위한 방법을 적어보겠다. 예외의 종류와 특징 자바에서 throw를 통해 발생시킬 수 있는 예외는 ..