목록전체 글 (379)
나의 발자취
개인 설정의 마지막 피날레, 프로필 사진 업로드 기능이 남았다.사진 업로드 기능의 경우, 밸런스투표/게시글 작성/챌린지 인증 등 여러 기능에 재사용되기 때문에 재사용 가능한 모듈로 만드느라 좀 고려할 것들이 많았다. 이미지 파일을 업로드하는데, 로컬에 저장하면 그 주소를 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의 기본 틀은 아래와..
드디어 back and forth 를 하며 모델-마이그레이션-시드 과정 중에서 하나라도 오류를 발견하면 연쇄적으로 고쳐서 이제 거의 에러가 없는 부분을 다 고쳤고,,seed 데이터를 다시 지웠다가 집어넣었다가 하는 과정에서 sequelizer 의 sequence 테이블에 의해 예전에 부여되었던 PK의 id 이후의 번호부터 넘버링되기 때문에 또 이를 위한 과정도 진행해야했다. 아래 과정을 정말 반복했다. (psql 접속 상태에서) 마이그레이트 지우기 DO $$ DECLARE r RECORD;BEGIN FOR r IN (SELECT tablename FROM pg_tables WHERE schemaname = 'public') LOOP EXECUTE 'DROP TABLE IF EXIS..
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를 가져와야하는데 없어서 ..