목록전체 글 (360)
나의 발자취
개인 설정의 마지막 피날레, 프로필 사진 업로드 기능이 남았다.사진 업로드 기능의 경우, 밸런스투표/게시글 작성/챌린지 인증 등 여러 기능에 재사용되기 때문에 재사용 가능한 모듈로 만드느라 좀 고려할 것들이 많았다. 이미지 파일을 업로드하는데, 로컬에 저장하면 그 주소를 string으로 필드에 넣을 수 있지만 그렇게 하고 싶지 않고 바로 DB에 저장하고 싶어서 BLOB 형식으로 지정하느라 모델과 마이그레이션 파일을 다시 수정해야했다.(기존에는 필드 형식이 string으로 되어있었음) BLOB?Binary Large Object 의 약자로, 데이터베이스에서 대용량 바이너리 데이터를 저장하기 위한 데이터 타입을 의미 따라서 모델과 마이그레이션 파일은 BLOB으로 해주는것이 맞다.- 모델-마이그레이션 파일 ..
미들웨어도 다 문제 없는데 왜 자꾸 날까 생각을... 줄별로 찍어보니, 81번째 줄에서 에러남. 그럼, checkNickname()함수를 갔다 오면서 에러가 난다는건데, 닉네임의 길이를 처리하는 과정에서 에러가 난 모양이다.(인코딩!) checkNickname 함수 내부에서 req.body를 사용하고 있는데, 비동기 함수 호출 후 req.body가 예상과 다르게 변경되는 경우!!) 결국, checkNickname 함수에서 req.body(nickname) 자체 값을 받아서 인코딩을 위한 처리를 할때 값이 변환이 되어서, 비동기처리를 할 때 checkNickname 함수를 끝내고 오면 다음줄로 넘어가야 하는데 req.body가 undefined로 되어버려서 이런 문제가 발생했던 것! 해결 방법checkNi..
돈없어서 급히 크레딧 추가 근데 크레딧 등록한다고 해서 바로 활성화되는게 아니다 ; Open AI로 다시 돌아와서Sweden Central이 리소스가 많아서 지역을 그렇게 설정한다. 검토+만들기를 하고 리소스로 이동 상단의 'Azure OpenAI Studio'로 이동 클릭 들어가서 Model catalog > gpt-4 클릭 이말고도 여러가지 모델들이 있다. 달리도!! 아무튼 모델을 클릭해서 들어오면 바로 배포 버튼이 있다. 클릭 기본 설정만 해주고 배포 버튼을 누른다. 그러면 엔드포인트와 api 키가 나타난다. 이를 복사해서 포스트맨으로 가준다. Auth에 key: api-key, value: 키값을 복붙해서 넣어주고 엔드포인트로 POST 요청을 보내본다.request의 기본 틀은 아래와..
addSale()SaleViewModel.swift에서, 상품 등록에서 사진을 등록했을 때 전달해주는 것을 구현해줄것이다.(잠깐 Postman을 켜서) 우리가 값만 넣을 때는 x-www-form-urlencoded로 보낸다.우리는 이미지와 텍스트 등 여러가지 form을 보내므로, form-data 형식으로 보낸다. -> Swift의 MultipartData()를 사용할 것이다.(참고로, json 구조가 복잡한 경우 raw 타입으로 보낼 수 있다.)사진을 서버에서 여러 장 가져와야 하므로, MultipartData()의 인스턴스인 formData.append()를 써준다. * withName: 서버에서 key-value값 중 어떤 값으로 받아오는지를 확인한다. * 언랩핑을 했어도, 이 값 자체가 옵셔널이..
여러가지 원인이 있겠지만,(내려받은) 해당 프로젝트와 타겟 버전이 내 로컬의 것이 더 높은 경우, 안뜰 수 있다.조금 낮춰주면 왼쪽과 같이 떴던 목록에서 오른쪽과 같이 목록들이 여러개 뜨는 걸 볼 수 있다!
2024.11.19 - [앱 개발/iOS] - [SwiftUI ver] 당근마켓 거래서비스 풀스택 구현하기 (Frontend) - 무한 스크롤 [SwiftUI ver] 당근마켓 거래서비스 풀스택 구현하기 (Frontend) - 무한 스크롤2024.11.15 - [앱 개발/iOS] - [SwiftUI ver] 당근마켓 거래서비스 풀스택 구현하기 (Frontend) - 로그인, 회원가입, 상품 리스트 업데이트 [SwiftUI ver] 당근마켓 거래서비스 풀스택 구현하기 (Frontend) - 로그인,wildguess.tistory.com에 이어서 작성 MainView.swift에 가서 탭바를 추가해준다. EntryView.swift에서 한번 로그인이 되었을 때 계속 로그인이 되도록 하려면,MemberView..
2024.11.15 - [앱 개발/iOS] - [SwiftUI ver] 당근마켓 거래서비스 풀스택 구현하기 (Frontend) - 로그인, 회원가입, 상품 리스트 업데이트 [SwiftUI ver] 당근마켓 거래서비스 풀스택 구현하기 (Frontend) - 로그인, 회원가입, 상품 리스트 업데2024.11.15 - [Backend] - [SwiftUI ver] 당근마켓 거래서비스 풀스택 구현하기 (Backend) [SwiftUI ver] 당근마켓 거래서비스 풀스택 구현하기 (Backend)달라진 것- 에러핸들링: 에러코드별로 에러 내역을 불러준wildguess.tistory.com 지난 포스팅에 이어서 무한스크롤을 이어서 구현한다.오류 나는 이유: environment object를 가져와야하는데 없어서 ..
2024.11.15 - [Backend] - [SwiftUI ver] 당근마켓 거래서비스 풀스택 구현하기 (Backend) [SwiftUI ver] 당근마켓 거래서비스 풀스택 구현하기 (Backend)달라진 것- 에러핸들링: 에러코드별로 에러 내역을 불러준다. 2. saleRouter.js페이지네이션을 해서, 페이지에 맞춰서 컨테이너의 갯수가 나오게끔 한다. const limit = pageSize; const offset = (page - 1) * pagwildguess.tistory.com에 이어서 작업한다.SwiftUI 프로젝트 생성MVVM 구조를 따라서 Model - View - View Model 폴더구조를 만들어준다.공통적으로 사용되는 컴포넌트는 Common Views 폴더 안에 따로 관리를..