Backend-dev/Spring 4

[Spring] 스프링 빌드 오류 모음 || sudo: ./gradlew: command not found 에러가 뜰 때

스프링 프로젝트 개발을 마치고 빌드를 실행하기 위해 ./gradlew build 를 수행해야 하는데, (관리자 권한으로 수행) 분명 작업 폴더에 접근했고 목록에 gradlew 가 있는 것을 봤는데도 수행이 안될 때가 있다. [CASE1] 우선 프로젝트 파일을 원격지에서 받아왔을 경우, 자바나 gradle 환경이 달라서 오류가 날 수는 있다. => gradle -v (gradle 버전 확인) , java --version (자바 버전 확인) 버전이 다르면 그에 맞게 업그레이드/다운그레이드를 해줘야 함 [CASE2] 무한 빌드 상태에 빠질 경우 (무한 빌드의 경우, 돌리고자 하는 서버의 메모리를 확인할 것. 본인은 클라우드를 사용하여 프리 티어로 받은 메모리가 1G밖에 되지 않아서 그런 것이었고 증설하니 문..

Backend-dev/Spring 2024.02.21

[Spring] 첫 실행시 로그인 화면이 뜨는 경우? / Please sign in

스프링 코드를 작성하고 서버를 돌렸는데 계속해서 이런 창이 떴다. 음.. 찾아보니 Provider 가 문제다, 하는데 내 생각엔 firebase Security 쪽 문제같아서 삽질을 또 했다. 그러다가 해결 방법을 발견! main 실행 코드에 @SpringBootApplication에 다음과 같이 exclude속성을 달아주면 끝이다. @SpringBootApplication(exclude = {SecurityAutoConfiguration.class}) 정상 작동을 확인.

Backend-dev/Spring 2024.02.05

[Spring] @Autowired 사용법? 스프링 빈 의존성 주입과 @RequiredArgsConstructor

의존성(Dependency)이란? A 클래스에서 b함수를 호출하기 위해서 B함수가 필요할 때, 'A클래스는 B클래스의 의존성을 가진다' 고 한다. 스프링 빈을 등록하고 의존성 주입을 할 때 @Autowired를 쓰면 의존성 주입이 편하다. 이렇게 config 파일에서 빈을 등록해주고, 컨트롤러에서 의존성 주입을 해주려는데 밑줄이 뜨면서 사용을 추천하지 않는다고 떴다. @Autowired의 장점은 매우 편리하다는 것. 단점은 -의존성 불분명성: @Autowired를 사용하면 코드가 어디서든 해당 빈을 주입할 수 있으므로 어떤 클래스가 어떤 빈을 주입하는지 명확히 파악하기 어려움 -코드의 복잡성 증가 등이 있다. 대신 사용할 수 있는 방법으로는 -생성자 주입(Constructor Injection) -Set..

Backend-dev/Spring 2024.02.05

[Spring] Firebase 초기 설정 / 스프링 프로젝트에 admin SDK 추가하기

이번에 새로 들어가게 된 프로젝트에서 소셜 로그인 인증 방식을 사용하기로 했다. 스프링부트 OAuth2 보안 설정을 직접 해주는 방법도 있지만, 다양한 소셜 로그인을 진행해야하므로 Firebase를 이용해보자. 먼저 Firebase 콘솔(https://firebase.google.com/?hl=ko) 에 접속해서 Firebase | Google’s Mobile and Web App Development Platform 개발자가 사용자가 좋아할 만한 앱과 게임을 빌드하도록 지원하는 Google의 모바일 및 웹 앱 개발 플랫폼인 Firebase에 대해 알아보세요. firebase.google.com 구글 로그인 후, 프로젝트 생성-Authentication Sign-in-method-새 제공업체 추가 본인은..

Backend-dev/Spring 2024.02.04