프로젝트/장기 프로젝트26 [MOTI] iOS 시뮬레이터에서 애플 로그인 안되는 이슈 해결 안녕하세요. SwiftUI 초기 버전 (iOS 13) 에서 소셜 로그인으로 애플 로그인을 구현했습니다. 배포 후 언젠가부터 실기기에선 정상 동작하지만, 시뮬레이터에서 애플 로그인이 안되더라고요. 당시엔 원인을 모르겠고 일시적인 오류인 줄만 알았어요. 시간이 지나도 해결이 안되길래 구글링을 열심히 했었는데요. 저 뿐만 아니라 많은 사람들도 시뮬레이터에서 애플 로그인이 되지 않는 이슈 스레드가 많았습니다. 명확한 해결책이 없어 애플에서 고쳐주질 않는구나 싶어서 실기기로 테스트를 주로 했었습니다. 어쩔 수 없이 시뮬레이터로 테스트를 할 때엔 토큰을 직접 입력하고 넘어가며 테스트를 했었습니다. 최근에 구글링을 하던 중 SwiftUI 에서 애플 로그인을 지원하는 중이더군요. 기존 코드에선 직접 버튼 뷰를 만들고,.. 프로젝트/장기 프로젝트 2023. 9. 11. Hustle #10. 프로젝트 구조 잡기 안녕하세요, 다람쥐입니다. 저번 포스팅에선 Aquery Tool 으로 ERD 모델링을 했습니다. 2023.09.04 - [프로젝트/장기 프로젝트] - Hustle #9. Aquery Tool 으로 ERD 모델링하기 이번 포스팅은 허슬 프로젝트 구조를 잡으려고 합니다. 프로젝트 구조는 무엇일까? 프로젝트 구조는 프로젝트를 구성하는 폴더와 파일을 정리하는 방식입니다. 다른 백엔드 프레임워크에서는 정해진 파일명, 정해진 폴더명을 써야 하는 경우가 많은데요. 스프링 부트에서는 어노테이션만 붙이면 스캔하여 클래스를 찾을 수 있습니다. 따라서 프로젝트 구조는 정해지지 않고 마음대로 정할 수 있는데요. 그렇다면 어떻게 프로젝트 구조를 정해야 할까요? 허슬의 프로젝트 구조 허슬의 구성 요소는 다음과 같습니다. 컨트롤러.. 프로젝트/장기 프로젝트 2023. 9. 11. Hustle #9. Aquery Tool 으로 ERD 모델링하기 안녕하세요, 다람쥐입니다. 이번 포스팅은 ERD 모델링 포스팅입니다. 저번 포스팅까지는 AWS 인프라를 셋팅하거나 간단한 프로젝트 설정을 했습니다. 이제 팀원들 끼리 만나 테이블 설계를 해 볼 차례였어요. 허슬 프로젝트의 규모가 꽤 있어 제대로 된 테이블 모델링이 필요한 상황이었는데요! 처음에 만든 것과 다르게 기획이 바뀌어서 테이블이 또 바뀌기도 하고 개발하면서도 테이블이 바뀌기도 했는데요. 이번 포스팅에선 어떻게 설계를 했고 어떻게 수정 이력을 관리했는지 담았습니다. 저희... ERD 모델링 해볼까요? 때는 바야흐로 7월달이었어요. 허슬 프로젝트의 피그마를 처음 전달 받았을 때 느꼈던 점은 규모가 꽤 크다, 정도였어요. 적어도 도메인이 네 개 이상이었어서 쉽지 않겠다, 라는 느낌이 들었는데요. ERD.. 프로젝트/장기 프로젝트 2023. 9. 4. Hustle #8. Jasypt 암호화 라이브러리 적용 안녕하세요. 저번 포스팅까지는 AWS 인프라 설정을 세 차례나 진행했습니다. AWS 인프라 설정에 꽤 긴 시간을 공들였는데요. 이번 포스팅에선 허슬 프로젝트에 Jasypt 암호화 라이브러리를 적용해보고자 합니다. 왜 Jasypt 암호화 라이브러리를 적용하나요? 지난 번에 스프링 부트에서 Jasypt 암호화 라이브러리를 적용해 본 포스팅을 올렸습니다. 2023.06.20 - [Back-End/Spring 자료실] - [스프링 부트] Jasypt 설정 암호화로 Github Repo 에 안전하게 올리기 [스프링 부트] Jasypt 설정 암호화로 Github Repo 에 안전하게 올리기 안녕하세요. 스프링 부트에서 Jasypt 라이브러리를 사용해서 설정을 암호화하는 방법을 알아봅시다. application.ym.. 프로젝트/장기 프로젝트 2023. 9. 3. Hustle #7. (3부) AWS 인프라 초기 셋팅 - HTTPS 적용, 리버스 프록싱 설정, CloudFront 배포 안녕하세요. 저번 포스팅에선 AWS 아키텍처를 설계하고 관련 리소스를 생성했습니다. 다음 인프라 셋팅으로 세 가지 작업만을 남았습니다. 도메인 인증서를 발급하고 NginX 으로 HTTPS 를 적용합니다! NginX 설정하는 김에 스프링 부트 서버 포트로 리버스 프록싱을 설정합니다. 저번에 가비아에 AWS Route53 네임 서버를 적용했는데요. 이를 기반으로 ACM 인증서를 발급하고 CloudFront 까지 배포해보도록 하겠습니다. HTTPS 프로토콜을 적용해야 하는 이유 HTTPS 프로토콜을 적용하여 주고 받는 데이터를 암호화합니다. 중간에 데이터가 탈취 되어도 내용을 해독할 수 없게 만듭니다. 토큰 정보 등 중요한 데이터를 보호하여 보안을 강화합니다. 도메인 인증서 발급 Https 를 적용하려면 인증.. 프로젝트/장기 프로젝트 2023. 9. 1. Hustle #6. (2부) AWS 인프라 초기 셋팅 - 아키텍처 설정, EC2, S3 등 리소스 생성 안녕하세요. 저번 포스팅에 이어 AWS 인프라를 셋팅해 봅니다. 이번에는 AWS 아키텍처를 설계하고 그에 따른 리소스를 생성해 보려고 합니다. 가비아에서 산 도메인을 AWS Route 53 과 연동하는 작업도 같이 하려고 합니다. 1. 요구 사항 아키텍처 요구 사항을 정의해 봅니다. 첫 번째로 과금이 되지 않아야 합니다. 프리 티어로 수용이 가능한 설계를 해야 합니다. AWS 프리 티어 세부 정보는 아래 사이트에 검색하여 열람할 수 있습니다. 무료 클라우드 컴퓨팅 서비스 - AWS 프리 티어 Q: AWS 프리 티어란 무엇입니까? AWS 프리 티어는 고객에게 서비스별로 지정된 한도 내에서 무료로 AWS 서비스를 살펴보고 사용해 볼 수 있는 기능을 제공합니다. 프리 티어는 12개월 프리 티어, 상 aws.a.. 프로젝트/장기 프로젝트 2023. 8. 31. Hustle #5. (1부) AWS 인프라 초기 셋팅 - AWS 계정, IAM 계정, 예상 결제 요금 알림 안녕하세요, 다람쥐입니다. 이번 포스팅에선 AWS 인프라 초기 셋팅을 해보려고 합니다. 계획 대략적인 개요는 다음과 같습니다. 1. 구글 계정을 만들고 AWS 계정을 만듭니다. 계정 정보는 모두 노션에 기록하며 비밀번호는 보안이 강한 규칙으로 생성합니다. 2. 결제 알림을 설정합니다. 인보이스 전송과 프리티어 알림을 설정하고 CloudWatch 결제 알림을 설정합니다. 예상 월 요금이 상한선을 초과하면 이메일로 알림이 오도록 설정합니다. 3. AWS IAM 을 설정합니다. 루트 계정에 MFA 를 설정합니다. 또한 팀원 계정을 만들고 공지합니다. 책임자 계정, 팀원(백엔드 / 프론트엔드) 계정, PM 계정 으로 사용자 그룹을 나눠 공통 권한을 설정합니다. 4. 서버에 필요한 리소스를 생성합니다. AWS .. 프로젝트/장기 프로젝트 2023. 7. 10. Hustle #4. 이슈 템플릿, 브랜치 규칙 설정, 프로젝트 보드 만들기 안녕하세요, 다람쥐입니다. 이번 포스팅에선 깃허브 레포지토리를 설정하려고 합니다. 이슈 템플릿, PR 템플릿을 만들고 브랜치 PR 규칙을 설정하려고 합니다. 또한 프로젝트 보드도 만들려고 합니다. 이슈, Pull Request(PR) 은 무엇일까? 깃허브에서 아이디어, 피드백, 작업, 버그를 추적하기 위한 기능으로 Issue(이슈)를 제공합니다. 이슈는 메인테이너(작업자)들이 작업을 위해 사용할 수 있고 오픈소스에 기여하는 사람들이 버그 문의를 하는 소통의 창구로도 사용합니다. 이슈로 새로운 제안을 할 수도 있습니다. 즉, 서비스 개발 작업을 위한 이슈 트래킹 도구로도 사용할 수 있으며 버그 문의를 받거나 새로운 제안을 할 수 있는 일종의 커뮤니티가 될 수 있습니다. Pull Request, PR 은 한.. 프로젝트/장기 프로젝트 2023. 7. 6. Hustle #3. 스프링 부트 프로젝트 생성하기 안녕하세요, 다람쥐입니다. 백엔드 서버를 개발하기에 앞서 스프링 부트 프로젝트를 생성했습니다. 스프링 부트 프로젝트는 https://start.spring.io/ 에서 생성할 수 있습니다. 이 사이트는 spring initializr 이름을 가진 웹사이트입니다. 프로젝트 빌드 도구와 언어, 스프링 부트의 버전, 프로젝트 메타데이터, 패키징 방법, 자바 언어 버전을 설정합니다. 뿐만 아니라 프로젝트 의존성까지 검색하여 스프링 부트 프로젝트와 관련한 의존성이 포함된 채로 셋팅해줍니다. ADD DEPENDENCIES... (CMD + B) 버튼을 클릭하면 아래처럼 검색창이 나타납니다. 스프링 부트 의존성들을 검색하여 추가 및 삭제 수 있습니다. 의존성 이름과 분류, 간단한 설명을 알려주고 검색 속도 또한 빠릅.. 프로젝트/장기 프로젝트 2023. 7. 6. Hustle #2. 1주차 할 일 정하기 안녕하세요, 다람쥐입니다. 이전에는 UMC 동아리에서 진행하는 스포츠 대회 플랫폼 허슬 프로젝트를 소개드렸습니다. Hustle #1. 허슬 프로젝트 시작 UMC 동아리 안녕하세요. 다람쥐입니다. 올 해엔 UMC 동아리를 하고 있는데요, 방학을 맞아 팀 프로젝트를 시작했습니다. PM 역할인 학생이 아이디어를 제출하고 디자이너와 개발 직군과 팀매칭을 itchipmunk.tistory.com 이번 포스팅은 1주차 개발 할 일을 정리해보려고 합니다. 필수 디자인 안이 나오면 ERD 다이어그램 만들기 선택 기본 프로젝트 생성하기 깃허브 셋팅하기 기본 프로젝트 추가하기 깃허브 셋팅하기 이슈, PR 템플릿 만들기 리뷰어 규칙 설정하기 README.md 형식 만들기 프로젝트 보드 만들기 Jasypt 암호화 라이브러리 .. 프로젝트/장기 프로젝트 2023. 7. 5. Hustle #1. 허슬 프로젝트 시작 UMC 동아리 안녕하세요. 다람쥐입니다. 올 해엔 UMC 동아리를 하고 있는데요, 방학을 맞아 팀 프로젝트를 시작했습니다. PM 역할인 학생이 아이디어를 제출하고 디자이너와 개발 직군과 팀매칭을 거칩니다. 여러 차수를 거쳐 모든 동아리원이 매칭이 완료됩니다. 팀 매칭이 끝나면 바로 팀 프로젝트가 시작됩니다. 팀 프로젝트 고를 때 고려했던 점들 제가 팀 프로젝트를 고를 때 염두하던 점이 있었어요. 첫 번째로 배포가 빠른 플랫폼을 선택했습니다. iOS, Android, Web 플랫폼 중에서 그 중 Web 플랫폼을 선택했습니다. 결과물을 실시간으로 확인할 수 있다는 건 동기 부여가 잘 되는 장점이 있더라고요. 모바일 플랫폼도 테스트 플랫폼을 통해 빠르게 확인이 가능하지만, 운영 단계에선 여건상 스토어 체제에 .. 프로젝트/장기 프로젝트 2023. 7. 5. MOTI #3. The bucket does not allow ACLs (AccessControlListNotSupported) 오류 해결 안녕하세요. NodeJS 에서 S3 에 파일을 업로드 하는 코드가 있었습니다. 다른 계정으로 이전 이후 파일 업로드가 되지 않는 버그가 있었는데요. MOTI #2. AWS 프리 티어 종료 후 새로운 프리 티어 계정으로 이동하기 안녕하세요! 저번 게시글 이후 오랜만에 포스팅하네요. 2022.01.27 - [프로젝트/장기 프로젝트] - MOTI #1. iPhone 13 Pro 에서 디자인이 깨지는 버그 ( feat. VStack & ZStack ) MOTI #1. iPhone 13 Pro 에서 디자인이 깨 itchipmunk.tistory.com 오류 로그를 보니 위와 같이 AccessControlListNotSupported: The bucket does not allow ACLs 오류가 나타납니다. S3.. 프로젝트/장기 프로젝트 2023. 6. 9. 이전 1 2 3 다음