프로젝트
-
[베스트위시] - GitHub Actions 관련 트러블 슈팅프로젝트/베스트위시 2025. 7. 2. 11:13
1. Config파일 인식 불가 문제문제config 파일은 .gitignore파일에 되있기 때문에 GitHubAction에서 지정해 줄 수가 없었음해결deploy.yaml에서 config 파일을 직접 생성해서 필요 내용을 넣어주는 것으로 해결- name: Configuraion file setting run: | echo "API_KEY = ${{ secrets.CONFIG_API_KEY }}" > BestWish/Config_Release.xcconfig echo "SUPABASE_URL = ${{ secrets.CONFIG_SUPABASE_URL }}" >> BestWish/Config_Release.xcconfig echo "CLIENT_ID = ${{..
-
[베스트위시] - CoreML 관련 트러블 슈팅프로젝트/베스트위시 2025. 7. 2. 11:10
1. 포맷에러트레이닝할 데이터는 형식이 무조건 갖춰져야 가능함에러 발생 이유기존 annotation.json의 형식은 아래와 같았음{ "image": "레트로/21349.jpg", "annotations": [ "스타일:레트로", "상의:카테고리:블라우스", "상의:색상:베이지", ... ]}{ "image": "레트로/21349.jpg", "annotations": [ "스타일:레트로", "상의:카테고리:블라우스", "상의:색상:베이지", ... ]}{ "image": "레트로/21349.jpg", "annotations": [ "스타일:레트로", "상의:카테고리:블라우스", "상의:색상:베이지", ... ]}해결 방법코드..
-
[베스트위시] - RxDataSource 관련 무한 루프 문제프로젝트/베스트위시 2025. 7. 2. 11:03
RxDataSource 관련 무한 루프 문제이미지 분석 뷰에서는 다수의 컬렉션뷰를 사용하기 위해 CompositionalLayout을 적용함.각 섹션별로 RxDataSource에서 섹션 모델을 정의해 셀과 헤더 데이터를 지정함.ViewModel에서 처리된 결과를 모델에 저장하고, 해당 모델을 구독해 컬렉션뷰에 바인딩함.하지만 헤더의 세그먼트 컨트롤 값이 변경될 때마다 DataSource가 재바인딩되며 무한 루프가 발생했음.결과적으로 동일한 세그먼트 값이 들어오면 이벤트를 방출하지 않도록 예외 처리를 적용함./// 이미지 분석 후 카테고리에 따라 데이터 방출private func setItems(category: String) { // 이전 카테고리와 비교해서 같은 값이 방출되면 무시 // Rx..
-
[베스트위시] - 카메라 화면이 종료되도 계속 카메라가 켜져 있는 문제 해결프로젝트/베스트위시 2025. 7. 2. 10:59
1. 카메라 화면이 종료되도 계속 카메라가 켜져 있는 문제 해결카메라 레이어의 세션 해제 시점을 명확히 지정하지 않으면, 해당 레이어를 포함한 뷰 컨트롤러가 사라져도 세션이 메모리에 남아 계속 실행됨뷰 컨트롤러의 생명주기(viewDidAppear/viewWillDisappear)에 맞춰 세션을 연결·해제하도록 변경하여 문제를 해결/// 뷰가 사라질 때마다 카메라 세션 종료 및 삭제 override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) globalQueue.async { [weak self] in guard let self else { return } ..
-
베스트 위시프로젝트/베스트위시 2025. 6. 18. 21:30
개인정보처리방침 전화번호(Tel): 82 - 10 - 7207 - 9912 이메일(email) : bycompany@gmail.com 백영컴퍼니> >은(는) 「개인정보 보호법」 제30조에 따라 정보주체의 개인정보를 보호하고 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립·공개합니다. ○ 이 개인정보처리방침은 2023년 1월 1부터 적용됩니다. 제1조(개인정보의 처리 목적)> >은(는) 다음의 목적을 위하여 개인정보를 처리합니다. 처리하고 있는 개인정보는 다음의 목적 이외의 용도로는 이용되지 않으며 이용 목적이 변경되는 경우에는 「개인정보 보호법」 제18조에 따라 별도의 동의를 받는 등 필요한 조치를 이행할 예정입니다. • 1. 홈페이..
-
[베스트위시] - CoreML학습을 위한 데이터셋 디렉토리 트리 구조 만드는 법프로젝트/베스트위시 2025. 2. 28. 18:02
이번에 새로 사이드 프로젝트를 하기 위해 필요한 요구사항을 파악하고 조사하는 중이다.여러가지 필요 조건을 찾아보던 중, CoreML이라는 프레임워크를 사용해 머신러닝학습을 해보려고 한다. 혹시 CoreML 혹은 CreateML에 대해서 궁금한 점이 있으면 이 포스팅을 참고하길 바란다. https://quarang.tistory.com/97 [iOS] - CoreML, CreateML이란?오늘은 새프로젝트를 하기 위해 머신러닝 관련 기술을 찾아보던 중 알게 된 내용에 대해서 포스팅해 보겠다. Core ML이란? Apple에서 제공하는 머신러닝 프레임워크로, iOS, MacOS 등과 같은 Apple 플quarang.tistory.com 먼저 나는 이미지를 인식시켜 해당 이미지에 대한 여러정보를 출력하려한다...
-
[아이매드] - 메모리 최적화(2)프로젝트/아이매드 2024. 10. 30. 19:52
저번에 이어서 메모리를 최적화 해보겠다. 이번에 생긴 문제도 Kingfisher사용 미숙으로 발생한 문제다. 아이매드의 메인화면에서는 여러 옵션으로 작품을 추천해준다. 옵션은 총 8개 한 옵션당 20개씩 추천 작품이 존재하고, 메인화면에서는 모든 추천 작품의 포스터를 표시하니 실제로 앱에서 표시하는 이미지는 대략 200개 가까이 된다. 만약 KFImage를 KFImage(URL(string:image)) .resizable() .cancelOnDisappear(true) .cacheMemoryOnly(false)이렇게만 쓰게 된다면, 메인화면에서만 메모리를 1GB씩이나 사용하게 된다. 다른 대규모 앱들은 메모리 사용량이 어떻게 되는지 잘 모르겠지만... 그걸 모르는 내가 봐도 한 화면에 ..
-
[아이매드] - 메모리 최적화(1)프로젝트/아이매드 2024. 10. 30. 12:01
요즘 이미 만들어 놓은 프로젝트의 성능을 개선하는 작업을 하고 있다.기능만을 개발하던 프로젝트였기 때문에 테스트를 하면서 이런저런 문제들이 보이기 시작해 이것들을 해결하기로 했다. 일단 첫번째로 개선해야할 문제는 메모리 문제였다. 아이매드는 사용자에게 많은 작품의 정보를 제공하다보니 이미지를 다룰일이 많다. 그 이미지는 서버에서 이미지 경로의 end point를 제공받아 Kingfisher라는 라이브러리를 사용해 앱에 표시한다. 하지만 앱을 사용하다보니 일정 수준 이상 사용할 경우 앱이 자동으로 꺼진다. 10000% 버퍼 오버플로우임을 직감했다.확인해보니 작품 추천 같은 무수히 많은 이미지 리스트를 스크롤하면 메모리 사용률이 점점 증가하다가 일정 수준이 넘어서 앱이 다운되는 것이였다. 이미지라고 하면....