프레임워크 31

[인프런][스프링 입문] 13~16 강

회원 서비스 테스트 컴포넌트 스캔과 자동 의존관계 설정 자바 코드로 직접 스프링 빈 등록하기 회원 웹 기능 - 홈 화면 추가 https://github.com/pythaac/Spring_tutorial/tree/main/%EC%8A%A4%ED%94%84%EB%A7%81%20%EC%9E%85%EB%AC%B8%20-%20%EC%BD%94%EB%93%9C%EB%A1%9C%20%EB%B0%B0%EC%9A%B0%EB%8A%94%20%EC%8A%A4%ED%94%84%EB%A7%81%20%EB%B6%80%ED%8A%B8%2C%20%EC%9B%B9%20MVC%2C%20DB%20%EC%A0%91%EA%B7%BC%EA%B8%B0%EC%88%A0 GitHub - pythaac/Spring_tutorial: These are..

[ReactNative] FCM+AsyncStorage 설치 후 build failed

1. 현상 react native로 android를 타겟으로 한 프로그램 작성 도중에 아래와 같은 현상이 발생했습니다. 이전에 정상적으로 build와 emulator가 실행되었었고, FCM과 AsyncStorage 사용을 위한 패키지 설치 및 테스트 도중 발생하였습니다. 2. 문제 접근 1) [실패] app:mergeLibDexDebug FAILED mergeLibDexDebug에 관련하여 검색해본 결과, 아래와 같이 android/app/build.gradle에 추가 삽입이 필요하다는 내용을 확인하였습니다. android { ... defaultdConfig { ... multiDexEnabled true ... } dependencies { ... implementation 'androidx.mult..

[인프런][스프링 입문] 9~12 강

비즈니스 요구사항 정리 회원 도메인과 리포지토리 만들기 회원 리포지토리 테스트 케이스 작성 회원 서비스 개발 https://github.com/pythaac/Spring_tutorial/tree/main/%EC%8A%A4%ED%94%84%EB%A7%81%20%EC%9E%85%EB%AC%B8%20-%20%EC%BD%94%EB%93%9C%EB%A1%9C%20%EB%B0%B0%EC%9A%B0%EB%8A%94%20%EC%8A%A4%ED%94%84%EB%A7%81%20%EB%B6%80%ED%8A%B8%2C%20%EC%9B%B9%20MVC%2C%20DB%20%EC%A0%91%EA%B7%BC%EA%B8%B0%EC%88%A0 GitHub - pythaac/Spring_tutorial: These are test tut..

[인프런][스프링 입문] 5~8 강

빌드하고 실행하기 정적 컨텐츠 MVC와 템플릿 엔진 API https://github.com/pythaac/Spring_tutorial/tree/main/%EC%8A%A4%ED%94%84%EB%A7%81%20%EC%9E%85%EB%AC%B8%20-%20%EC%BD%94%EB%93%9C%EB%A1%9C%20%EB%B0%B0%EC%9A%B0%EB%8A%94%20%EC%8A%A4%ED%94%84%EB%A7%81%20%EB%B6%80%ED%8A%B8%2C%20%EC%9B%B9%20MVC%2C%20DB%20%EC%A0%91%EA%B7%BC%EA%B8%B0%EC%88%A0 GitHub - pythaac/Spring_tutorial: These are test tutorial codes between react na..

[인프런][스프링 입문] 1~4 강

강의 소개 프로젝트 생성 라이브러리 살펴보기 View 환경설정 https://github.com/pythaac/Spring_tutorial/tree/main/%EC%8A%A4%ED%94%84%EB%A7%81%20%EC%9E%85%EB%AC%B8%20-%20%EC%BD%94%EB%93%9C%EB%A1%9C%20%EB%B0%B0%EC%9A%B0%EB%8A%94%20%EC%8A%A4%ED%94%84%EB%A7%81%20%EB%B6%80%ED%8A%B8%2C%20%EC%9B%B9%20MVC%2C%20DB%20%EC%A0%91%EA%B7%BC%EA%B8%B0%EC%88%A0 GitHub - pythaac/Spring_tutorial: These are test tutorial codes between react ..

[Spring] 문서의 요소 콘텐츠에서 부적합한 XML 문자

[에러] 문서의 요소 콘텐츠에서 부적합한 XML 문자(유니코드: 0x14)가 발견되었습니다. (An invalid XML character (Unicode: 0x14) was found in the element content of the document.) Tistory API의 결과를 XML로 받아오며 아래와 같은 방식으로 XML String(xml)을 파싱하여 사용하였습니다. import org.w3c.dom.Document; import org.xml.sax.SAXException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.Parse..

[Spring] 예외 처리시 Throws vs try-cat-finally

예외처리를 하는 방법으로 Throws와 try-cat 두 가지 방법이 있는데, 어떤 방식으로 예외처리를 사용하는 것이 좋을지 찾아보게 되었습니다. 어떤 예외처리를 사용할지에 대해 간단하게 다음 2가지 기준이 있었습니다. catch문에서 유의미한 처리를 할 수 있는 경우만 try-catch 사용 input parameter로 인한 오류의 경우 throws Exception 사용 CrudRepository Exception CrudRepository를 사용할 때는 따로 exception을 확인할 필요가 없는게 DataAccessException에 대해 built-in되어 있다고 합니다. NonTransientDataAccessException - DB에 존재하지 않는 id의 접근과 같이, 예외 원인이 정정되..

[Spring] CrudRepository의 save vs saveAll

프로젝트를 하면서 데이터를 저장하는 부분을 구현하고 있었습니다. CrudRepository에는 Iterable을 input으로 여러 tuple을 저장하는 메서드인 saveAll을 제공하고 있습니다. 그런데 제가 구현하는 부분에서는 loop에서 여러 tuple을 save로 저장하고 싶었습니다. 두 메서드의 속도에 차이가 있을까요? save가 오래걸리지 않을까? 저는 단순하게 여러번 쿼리를 날리는 것보다 한 번 쿼리를 날리는 것이 더 시간이 덜 소요될 것이라 생각했습니다. 예를 들어 100개의 tuple을 저장해야한다고 했을 때, save 메서드로 tuple 하나마다 데이터베이스에 요청을 날리면, 데이터베이스는 쿼리가 올 때마다 해당 데이터를 저장하기위해 저장장치에 접근할 것이라 생각했기 때문입니다. sav..