![[React] Axios instance와 interceptors](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHbbHO%2FbtsH6ZKCua6%2Fhf3jCY9MdqlPhEJM8SuXvK%2Fimg.png)
Axios란 ?axios는 서버와 통신하기 위한 HTTP 비동기 통신 라이브러리 입니다 ! 보통 처음 접하는 axios 요청은 아래와 같이 작성할 것입니다.// get 요청axios.get('/test')// post 요청axios.post('/test', { testString : 'test'}) Axios instance기본 axios에서 더 나아가 instance를 설정해줄 수 있습니다.axios instance를 이용하여 API 통신에 대한 구성 기본 값 설정을 더 쉽게 할 수 있습니다 !export const axiosInstance = axios.create({ baseURL: process.env.REACT_APP_URL_JAVA, headers: {'Content-Type' : '..
![[Spring, Spring Boot] NoClassDefFoundError javax/xml/bind/DatatypeConverter](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcrUuhQ%2FbtsH6ehpF3b%2FzRMDKZeDpqNGHFsVzwpOkK%2Fimg.png)
NoClassDefFoundError란 ?일반적으로 NoClassDefFoundError 에러는 컴파일 시점에 존재했던 클래스가 런타임에 존재하지 않으면 발생하는 에러라고합니다.로그인 API에서 JWT를 이용해 인증을 구현하는 중 해당 에러가 발생하였습니다. javax/xml/bind/DatatypeConverter를 찾지 못하여 발생한 에러였습니다.JDK11이 되면서 Java EE와 CORBA Module이 제거되었다고합니다 ! 해결 방법저의 경우 Spring Boot를 사용 중이었기에 아래와 같은 dependency를 주입하여 해결하였습니다 !!implementation group: 'org.glassfish.jaxb', name: 'jaxb-runtime', version: '2.3.2'
![[Java, 자바] static의 의미와 사용법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbfjf2u%2FbtsH6RF4ruI%2Fo9KMA0XYb19JjpnTYakU2K%2Fimg.png)
Static이란 ?static은 정적이라는 뜻으로 '고정된'이란 의미를 가지고 있습니다. Static이라는 키워드를 사용하여 Static변수와 Stitic메서드를 만들 수 있는데 다른말로 정적필드와 정적 메소드라고도 하며 이 둘을 합쳐 정적 멤버라고 합니다.정적필드와 정적 메서드는 객체(인스턴스)에 소속된 멤버가 아니라 클래스에 고정된 멤버입니다. 그렇기에 클래스 로더가 클래스를 로딩해서 메서드 메모리 영역에 적재할 때 클래스별로 관리됩니다. 따라서 클래스의 로딩이 끝나 즉시 바로 사용할 수 있습니다. 정적(Static) 멤버 생성Static 키워드를 통해 생성된 정적멤버들은 Heap영역이 아닌 Static영역에 할당됩니다. Static 영역에 할당된 메모리는 모든 객체가 공유하여 하나의 멤버를 어디서든..
![[Java, 자바] 싱글톤 패턴(Singleton Pattern)이란 ?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZ29kw%2FbtsH5ZdJ8U8%2FucUXnTO1gkph4GBeQhwOaK%2Fimg.png)
싱글톤 패턴이란 ?싱글톤 패턴은 객체 지향 프로그래밍에서 특정 클래스가 단 하나만의 인스턴스를 생성하여 사용하기 위한 패턴입니다.생성자를 여러번 호출하더라도 인스턴스가 하나만 존재하도록 보장하여 애플리케이션에서 동일한 인스턴스에 접근할 수 있도록 해줍니다 ! 싱글톤 패턴을 사용하는 이유는?커넥션 풀, 스레드 풀, 디바이스 설정 객체 등과 같은 경우 인스턴스를 여러 개 만들게 되면 불필요한 자원을 사용하게 되고, 프로그램이 예상치 못한 결과를 낳을 수 있습니다. 따라서 객체를 필요할 때마다 생성하는 것이 아닌 단 한 번만 생성하여 전역에서 이를 공유하고 사용할 수 있게 하기 위해 싱글톤 패턴을 사용합니다 ! 싱글톤 패턴의 장단점장점유일한 인스턴스 싱글톤 패턴이 적용된 클래스의 인스턴스는 애플리케이션 전역에..
![[Java, 자바] instanceof란 ?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzqXtO%2FbtsH52he60S%2FfsnkuzS259alMME651kKj1%2Fimg.png)
instanceof란 ?instanceof는 객체 타입을 확인하는 연산자입니다 ! 형변환 가능 여부를 확인하여 true/false로 결과를 반환해줍니다. 주로 상속 관계에서 부모 객체인지 자식 객체인지 확인하는 데 사용됩니다 ! instanceof 사용방법instanceof의 기본 사용방법은 아래의 예시와 같이 "객체 instanceof 클래스"를 선언함으로써 사용할 수 있습니다.class Parent{}class Child extends Parent{}public class InstanceofTest { public static void main(String[] args){ Parent parent = new Parent(); Child child = new Child()..
![[Spring, Spring Boot] @Transactional의 중첩에 대하여](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpJD62%2FbtsH5IJ4SQs%2F64uwAgL6EPGPKoYclkFGN1%2Fimg.png)
트랜잭션의 개념은 여기를 클릭하여 확인해보세요 ! @Transactional이 중첩이 되었을 때업무 중 @Transactional이 중첩이 되었을 때(아래와 같은 상황) 어떻게 진행될지 궁금해졌다 !@Transactionalpublic Info buy(String item){ payment newPayment = new payment(item); return payment(newPayment)}@Transactionalpublic Info payment(Info info){ buyRepository.save(info); return info;}buy 메서드에서 payment 메서드를 호출하고 있는데, 두 메서드 모두 @Transactional 어노테이션이 적용되어 있는 상태입니다. 트랙잭션의..
![[Spring, Spring Boot] @Configuration이란 ?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtlPwG%2FbtsH5ZEPic8%2FPASMIe29ZFs8fFEh6f2K11%2Fimg.png)
@Configuration이란 ?Spring, Spring Boot에서 Bean을 수동으로 등록하기 위해서는, class 상단에 @Configuration 어노테이션을 적용해주고, @Bean을 사용해 수동으로 빈을 등록할 수 있습니다 !빈을 생성할 때 메서드의 이름으로 빈의 이름이 결정됩니다. 그러므로 중복된 빈의 이름이 존재하지 않도록 주의해줘야합니다 !@Configurationpublic class DatabaseConfig { @Bean public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) { return new SqlSessionTemplate(sqlSessionFactory); ..
![[React] .js vs .jsx의 차이점](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWlMCu%2FbtsH4W3noyc%2Feua51D9FHERrIPXBrvHyX0%2Fimg.png)
JSX란 ?jsx는 JavaScript XML의 약자로 자바스크립트에서 XML을 추가한 확장형 문법입니다. 큰 특징은 자바스크립트에서 HTML 문법을 사용할 수 있다는점입니다.주로 리액트나 다른 프론트엔드 프레임워크에서도 사용이 가능합니다 ! .js와 .jsx의 차이점리액트에서 .js보다 .jsx를 쓰는 이유는 자바스크립트 내에서 HTML을 사용할 수 있다는 점 이외에는 기능적으로 별다른 차이점이 존재하지 않습니다.리액트 공식 홈페이지에서 jsx 관련해서 자바스크립트 내에서 직관적으로 UI 관련 작업이 관련 작업이 가능하고, 개발에 도움을 주는 에러 및 경고 메시지를 표시할 수 있게 해준다고합니다 !js와 jsx는 큰 차이점이 없고 프로젝트 시 팀 내에서 js를 쓸 것인지, jsx를 쓸 것인지 협의를 하..