본문 바로가기

Java7

Springboot: Content-Type 'multipart/form-data' is not supported 발생 상황 multipart/formdata 콘텐트 타입으로 이미지를 요청 body에 받을 때 문제 org.springframework.web.HttpMediaTypeNotSupportedException: Content-Type 'multipart/form-data;boundary=----WebKitFormBoundaryAwYdPgnCGZSXBO1H;charset=UTF-8' is not supported at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgument.. 2023. 9. 11.
Error: Cannot invoke because "this.repository" is null 발생 상황 PostgreSQL 에 hibernate로 처음 연동 후, 테스트용 API를 보내본 상황 java.lang.NullPointerException: Cannot invoke "project.labelingtool.backend.api.resource.adapter.out.persist.BankRepository.findAll()" because "this.repository" is null at project.labelingtool.backend.api.resource.adapter.out.persist.ResourceRepositoryImpl.findAllBanks(ResourceRepositoryImpl.java:24) ~[main/:na] at project.labelingtool.back.. 2023. 9. 2.
Error parsing HTTP request header 발생 상황 프로젝트 postman 으로 로컬환경에서 통합테스트 중 API 요청할 때 다음과 같은 에러가 발생하였다. 2023-09-02T22:10:25.550+09:00 INFO 72091 --- [nio-8080-exec-1] o.apache.coyote.http11.Http11Processor : Error parsing HTTP request header Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level. java.lang.IllegalArgumentException: Invalid character found in method name [0x160x030x010x000xf70x010x000x0.. 2023. 9. 2.
🔧 IntelliJ 외부 라이브러리 추가 CS16 과정에서는 git repogitory가 아니라 주로 gist를 사용한다. Maven, Gradle 프로젝트와는 다른 방법을 사용해서 외부 라이브러리 추가해 주어야 한다. 은근히 헷갈려서 계속 찾아보게되는 외부 라이브러리 추가하는 방법. 이럴바에는 글로 써두고 두고두고 보자 👀 2023. 02. 24 'IntelliJ 외부 라이브러리 추가' IntelliJ 외부 라이브러리 추가 방법 업데이트 주요 외부 라이브러리 mysql-connector-j : MySQL과 연결하는 JDBC 드라이브 IntelliJ에서 외부 라이브러리를 추가하는 방법 `File` 👉 `Project Structure` (`command` + `;` ) `Modules` 👉 프로젝트 선택 👉 `Dependencies` 👉 `+`.. 2023. 2. 24.
Garbage Collection(가비지 컬렉션) Garbage Collection (GC) 이란? 프로그램을 개발하다보면 유효하지 않은 메모리, 가비지가 발생한다. 프로그램이 동적으로 할당한 메모리 영역 중 사용하지 않은 영역을 탐지하여 해지하는 기능이다. 여기서 동적으로 할당한 메모리 영역이란, JVM에서 Heap을 말한다. 사용하지 않은 영역이란 어떤 변수도 가리키지 않아 사용하지 않은 메모리를 말한다. GC가 언어와 동작하는 환경마다 다르지만, 특정 때에 특정 방식으로 필요없는 정보들을 삭제한다. 해제하는 것을 잊은 경우 메모리를 재사용할 수 없는데, (메모리를 차지하지만 사용되지는 않는다.) 이러한 것을 메모리 누수memory leak라고 한다. Managed Language ↔ Unmanaged Language C, C++ 등 Unmanage.. 2022. 12. 26.
Java의 데이터 타입 분류와 메모리 할당 데이터 타입의 분류 프로그램은 자료구조(데이터)와 알고리즘의 결합으로 이루어진다. Java의 데이터 타입에는 크게 기본타입(primitive type)과 참조타입(reference type)으로 분류된다. 기본 타입 기본 타입 메모리 사용 크기 저장되는 값 범위 byte 1byte -2^7 ~ (2^7 - 1) char 2byte 0 ~ (2^16 - 1), 유니코드 short 2byte -2^15 ~ (2^15 - 1) int 4byte -2^31 ~ (2^31 - 1) long 8byte -2^63 ~ (2^63 - 1) float 4byte (+/-)1,4E-45 ~ (+/-)3.4028235E38 double 8byte (+/-)4.9E-324 ~ (+/-)1.7976931348623157E308.. 2022. 12. 19.
Java 실행 과정 Java는 무엇일까? 자바는 객체지향 프로그래밍 언어이다. C언어에 객체지향적 기능을 추가하여 만든 C++와는 달리 처음부터 객체 지향 언어로 개발되었다. 프로그래밍 언어programing language이다. 실행환경(JRE)과 개발도구(JDK), 라이브러리(API)를 포함한다. 모던 프로그래밍 언어 (객체지향 언어 + 함수형 언어) Java의 주요 특징 객체지향 언어이다. 객체를 만들기 위해 설계도인 클래스를 작성하고, 객체를 연결하여 목적이 맞는 프로그램을 만든다. 캡슐성, 상속화, 다형성을 지원한다. 하이브리드 언어이다. 컴파일 언어인 동시에 인터프리터 언어이다. 시스템에 무관한 이진 파일을 만듦으로써 컴파일 언어에 가까운 속도와 시스템 독립성을 얻을 수 있다. 자동 메모리 관리가 가능하다. 객체.. 2022. 12. 17.