Framework
-
Xcode 빌드시 발생한 오류입니다.error: Sandbox: rsync.samba(22953) deny(1) file-write-create /Users/eeesnghyun/Library/Developer/Xcode/DreivedData/Runner-axfbqbxwydyxttaoazrqretedltu/Build/Intermediates.noindex/ArchiveIntermediates/Runner/BuildProductsPath/Release-iphoneos/Flutter.framework (in target 'Runner' from project 'Runner') Xcode는 잠잠하다 싶을 때 이해안되는 오류를 종종 보여주곤 하네요.. Runner - TARGETS - Runner - Build..
[Error]error: Sandbox: rsync.samba(22953) deny(1) file-write-create ... 2024. 8. 26. -
최근 개발 중인 앱에 비밀번호 재설정 기능을 추가하게 되었습니다.앱에서 서버로 비밀번호 재설정 요청을 하면 비밀번호 랜덤 설정 후 메일 전송 로직을 실행하게 됩니다. 이 때, 앱에서는 메일 전송이 완료되기까지 기다릴 필요가 없기 때문에 비동기로 작동할 수 있게 처리했습니다. 오늘은 Spring Boot에 @Async를 이용한 비동기 처리를 알아보겠습니다.테스트 환경Spring Boot 2.7.5JDK 1.8Gradle비동기 처리 없이 비밀번호 재설정을 실행했을 때의 모습입니다. 메일 발송까지 기다리다보니 비밀번호 재설정은 되었음에도 메일 발송 속도에 따라 3~5초 정도의 딜레이가 추가되는 것을 확인할 수 있었습니다.*메일 발송으로 javax.mail 라이브러리를 사용하고 있고 Gmail STMP가 설정되..
[Spring Boot]@Async로 비동기 처리하기 2024. 7. 18. -
최근 만든 앱에 푸쉬 기능을 추가할 일이 생겨 Spring Boot로 구축된 서버에 Firebase를 적용했습니다.이번 포스팅에서는 Firebase Admin SDK를 이용해 푸쉬를 보내는 방법을 알아보겠습니다. 이외에도 FCM를 이용한 글이 있으니 참고해 주세요.Node를 이용한 FCM PushFlutter FCM 설정하기 ※ 테스트 환경Spring Boot 2.7.5JDK 1.8Gradle1. Firebase Admin SDK 다운로드파이어베이스 접속 후 Admin SDK를 다운받습니다. 다운받은 파일을 resousrces 디렉토리에 저장합니다. 2. 의존성 추가푸쉬를 위해 firebase-admin을 추가합니다.build.gradle implementation group: 'com.googl..
[Spring Boot]Firebase Admin SDK를 이용해 푸쉬 보내기 2024. 7. 4. -
최근 Flutter로 모바일 게시판을 개발하게 됐는데 페이징 처리를 고민하다가 무한 스크롤 방식으로 결정했습니다. 패키지 중에 infinite_scroll_pagination이 문서도 잘 나와있고 사용하기도 편했습니다. infinite_scroll_pagination을 적용한 앱(농실농실 보러가기) 화면 중 공지사항 페이지를 예제로 소개합니다. 실제 개발중인 프로젝트의 코드를 가져왔기 때문에 중간중간 import가 불가능한 코드들이 존재합니다. 페이징 컨트롤러, 위젯의 생김새, _fetchPage 함수 부분들만 참고하시고 각자의 프로젝트에 맞게 적용해서 사용하시길 바랍니다. 개발 환경Flutter 3.16.5Dart 3.2.3Spring boot 2.7.51. 패키지 설치flutter pub add in..
[Flutter]무한 스크롤 구현하기 2024. 6. 21. -
앱 스토어에 아무런 설정없이 배포를 했을 때 기본 언어가 EN으로 설정되어 있게 됩니다.아래와 같이 언어란에 KO를 표기하기 위해서 따로 설정이 필요합니다. 프로젝트 - iOS - Runner.xcodeproj 파일을 vscode로 엽니다. project.pbxproj 파일의 developmentRegion과 knowRegions의 en -> ko로 변경합니다.
[Flutter]iOS 앱 기본 언어 정보 한글로 변경하기 2024. 5. 20. -
최근 Next.js로 만든 대출이자계산기 웹 사이트가 있습니다. 검색 노출을 잘 되게 하기 위해 사이트맵을 제출해봤습니다. 사이트맵을 만들어 구글과 네이버에 제출하는 과정들을 소개합니다.Next 14Vercel사이트맵 만들기사이트맵(Sitemap.xml)은 웹 사이트의 페이지 구조를 검색 엔진에 알려주는데 사용됩니다. 사이트맵을 제출하면 검색 엔진이 웹 사이트의 페이지를 빠르게 찾아 색인화할 수 있고, 이를 통해 검색 결과에 더 많은 페이지가 표시될 수 있습니다.npm 패키지 중 next-sitemap을 통해 sitemap을 쉽게 생성할 수 있습니다. next-sitemap을 설치합니다.npm i next-sitemap 빌드 스크립트에 postbuild를 추가합니다.postbuild: "next-site..
Next-sitemap으로 사이트맵(Sitemap.xml) 제출하기 2024. 4. 29. -
이미지 파일을 Multipartfile로 변환하거나 base64 데이터를 파일로 변환하는 방법을 알아보겠습니다.※ 테스트 환경Spring Boot 2.7.5JDK 11Gradle1. 의존성 추가build.gradle// https://mvnrepository.com/artifact/org.apache.tika/tika-coreimplementation 'org.apache.tika:tika-core:2.9.1'// https://mvnrepository.com/artifact/org.springframework/spring-mocktestImplementation 'org.springframework:spring-mock:2.0.8'// https://mvnrepository.com/artifact/or..
[Spring Boot]이미지 파일 변환, base64 to multipartfile 2024. 4. 18. -
작년에 DB Replication을 통해 리더/라이터 인스턴스를 분리하는 작업을 하고 MySQL을 Aurora MySQL로 이전한 경험이 있습니다. 오늘은 Spring Boot에서 Aurora MySQL(또는 MySQL) 의 이중화 방법에 대해 알아보겠습니다. ※ 테스트 환경Spring Boot 2.7.5JDK 11AWS Aurora MySQL 8.0MyBatisDB Replication 사용 이유DB Replication은 데이터베이스 이중화 방법으로써 DB 서버의 부하를 방지하기 위해 사용합니다.replication은 일반적으로 읽기/쓰기 작업을 구분해 데이터베이스 구조를 나누는 방법이 있습니다. 하나의 Writer(Master) 인스턴스를 두고 여러 개의 Reader(Slave) 인스턴스를 구성하는..
[Spring Boot]DB Replication 설정(Aurora MySQL) 2024. 4. 8.