Framework
-
폼 로그인 방식 중 구글 로그인을 위한 예제입니다.지난 소셜 로그인 글과 이어집니다. ※ 테스트 환경Spring BootJDK 1.8GradleThymeleaf1. 구글 설정1. Google Cloud 접속2. 프로젝트 생성새 프로젝트를 생성합니다. 3. OAuth 클라이언트 ID 생성1) 메뉴의 API 및 서비스에서 사용자 인증 정보를 클릭2) 사용자 인증 정보 만들기 - OAuth 클라이언트 ID를 클릭 3) 동의 화면 구성 클릭 4) 시작하기 5) 앱 정보 입력 후 만들기 4. 동의화면 만들기1) OAuth 클라이언트 만들기 클릭 2) 애플리케이션 유형 선택 후 리디렉션 URI 입력 2. 로그인 구현카카오 로그인과 동일하게 클라이언트 ID, 보안키를 통해 서버로 인증 코드를 요청하고, 응답받은 ..
[Spring Boot]구글 로그인 구현 2025. 3. 5. -
최근 공유 가계부 앱을 런칭했습니다.이제 기능을 하나씩 확장 중인데요. 오늘은 다국어 기능을 추가했던 과정을 기록해봤습니다.서비스 중인 앱은 Flutter로 개발되었고, flutter_localizations와 intl 패키지를 이용해 다국어 기능을 구현했습니다. 테스트 환경Flutter 3.27.1intl 패키지는 Flutter에서 다국어(i18n)와 숫자, 날짜, 통화 형식 등의 로컬라이제이션을 지원하는 공식 패키지입니다.flutter_localizations와 함께 사용하면 앱의 언어를 디바이스 설정에 따라 자동 변경할 수도 있고, 앱 내 설정을 통해 수동으로 변경할 수도 있습니다. 1. 패키지 다운로드flutter pub add flutter_localizations --sdk=flutterflu..
[Flutter]다국어 구현 2025. 2. 21. -
최근 모바일앱을 개발하며 Text Editor 기능을 추가하게 되었습니다. 앱에서의 에디터 기능 추가는 처음이었는데, 역시나 라이브러리가 잘 되어 있어 어렵지 않게 만들 수 있었습니다.오늘은 Text Editor로 사용한 flutter_quill 사용법에 대해 알아보겠습니다. ※ 테스트 환경Flutter 3.22.3Dart 3.4.41. 패키지 설치현재 개발 중인 서비스에서는 모바일앱에서 에디터를 통해 글을 작성하게 되면 API를 통해 DB에 저장된 후, 웹 브라우저를 통해 보여지게 됩니다.이러한 구조를 위해 아래 3개의 패키지를 설치합니다.flutter_quill: ^9.1.1vsc_quill_delta_to_html: ^1.0.5flutter_quill_delta_from_html: ^1.3.12fl..
[Flutter]Text Editor 적용하기 2025. 1. 5. -
최근 앱 개발을 하면서 항상 추가해왔던 구글 애드몹(google_mobile_ads)을 추가하던 중 아래와 같은 오류가 발생했습니다..Error (Xcode): Undefined symbols:Error (Xcode): Linker command failed with exit code 1 (use -v to see invocation) 다행히 Github에서도 동일한 오류로 질문이 올라온 것을 확인할 수 있었습니다.Google Mobile Ads가 5.x 버전대로 업데이트되면서, Xcode 15.3 이상으로의 업데이트가 필요한 것으로 확인되었습니다.현재 Xcode 버전은 15.2 버전이었고, 업데이트를 진행했습니다. 이후에 디바이스 에러가 발생했지만 podfile, package 업데이트를 통해 오류가 ..
[Error]Linker command failed with exit code 1 (use -v to see invocation) 2025. 1. 2. -
최근 코드드림 프로젝트를 다시 시작하면서 API 명세 작성을 위해 Springdoc을 이용했습니다.이전에 Springfox Swagger를 이용해본 경험이 있어 이번에는 Springdoc을 선택했고, 어떻게 사용하는지 포스팅을 통해 알아보겠습니다. ※ 테스트 환경Spring Boot 2.7.5Springdoc 1.6.10GradleSpringdocSpringdoc은 Spring Boot 프로젝트에 특화된 OpenAPI 3.0 기반 라이브러리입니다. 주요 특징은 다음과 같습니다.Spring Boot와의 강력한 통합 지원Spring MVC 또는 Spring WebFlux 컨트롤러와 자동으로 연동하여 OpenAPI 문서를 생성Swagger UI와 OpenAPI 스펙을 기본적으로 포함하여 설정이 간단Sprin..
[Spring Boot]Springdoc 적용하기 2024. 12. 23. -
Windows 환경에서 Flutter 최초 설치시 발생하는 에러 모음입니다. 1. cmdline-tools component is missingAndroid SDK의 cmdline-tools 구성 요소를 감지하지 못했을 때 발생하는 에러입니다.1-1. Android Studio 실행Customize - All settings 클릭 1-2. Language & frameworks - Andorid SDK Android SDK Command-line Tools 선택 후 Apply 2. Android license status unknownFlutter가 Android SDK와 관련된 라이센스 동의를 감지하지 못할 때 발생합니다.아래 명령어를 통해 에러를 해결할 수 있습니다.flutter doctor --a..
[Error]Flutter 설치 에러 모음 2024. 12. 18. -
오늘은 Naver Map을 활용해 개발 중인 애플리케이션에 지도를 적용해 보았습니다.작업 과정에서는 pub.dev의 flutter_naver_map 라이브러리를 참고했으며, 문서가 잘 정리되어 있어 해당 문서를 참고하시면 도움이 될 것입니다. ※ 테스트 환경Flutter 3.22.3Dart 3.5.4flutter_naver_map 1.3.01. 어플리케이션 등록1-1. Naver Map 사용 등록NCP Console에 접속하여 Application을 등록합니다. 1-2. 네이버 지도 서비스 등록Web Dynamic Map, Mobile Dynamic Map을 선택하고, Android, iOS 패키지명을 입력합니다. 1-3. Client ID 확인 2. Naver Map 위젯 만들기2-1. 지도 초기화...
[Flutter]Naver Map 사용하기 2024. 12. 9. -
최근 팀프로젝트로 회원가입을 통해 몇 개의 이미지들을 저장 받고, 조회가 가능한 기능을 구현하고 있습니다.농실농실과 같이 최소한의 비용으로 서버를 구동시킬 계획으로 Cafe24 호스팅을 염두해두고 있는데요. 아무래도 파일 저장소를 따로 두기에는 비용 가늠을 할 수 없어 이미지 파일을 Base64로 변환해 DB로 저장하기로 했습니다. Cafe24의 호스팅 서비스는 서버 용량내 DB 용량이 무제한이기 때문에 주기적으로 데이터를 정리하며 DB를 활용할 예정입니다. 본론으로 돌아와 이미지를 Base64로 변환하다보니 트래픽 용량을 생각해야 했습니다. 최대 등록 가능한 이미지는 20개로 기획했고, 테스트를 통해 확인했을 때 총 20개의 이미지가 담긴 응답 크기는 455KB( 227ms)로 최적화가 필요한 수준이..
[Spring Boot]압축 전송하기 2024. 12. 6.