[✈️ μ΅œμ’…ν”„λ‘œμ νŠΈ] 배포 ν™˜κ²½μ— 따라 λ‹€λ₯΄κ²Œ λ³΄μ΄λŠ” 였λ₯˜ λ©”μ„Έμ§€

[✈️ μ΅œμ’…ν”„λ‘œμ νŠΈ] 배포 ν™˜κ²½μ— 따라 λ‹€λ₯΄κ²Œ λ³΄μ΄λŠ” 였λ₯˜ λ©”μ„Έμ§€

✏️ 문제 μƒν™©λ‘œκ·ΈμΈ λ‘œμ§μ—μ„œ μ‚¬μš©μžκ°€ 잘λͺ»λœ 이메일 λ˜λŠ” λΉ„λ°€λ²ˆν˜Έλ₯Ό μž…λ ₯ν•  경우 "잘λͺ»λœ 이메일 λ˜λŠ” λΉ„λ°€λ²ˆν˜Έμž…λ‹ˆλ‹€." λΌλŠ” alert λ©”μ‹œμ§€κ°€ λ‚˜νƒ€λ‚˜λ„λ‘ κ°œλ°œν–ˆλ‹€.이 λ‘œμ§μ€ 개발 λͺ¨λ“œμ—μ„œλŠ” μ •μƒμ μœΌλ‘œ λ™μž‘ν–ˆμœΌλ‚˜, ν”„λ‘œμ μ…˜ λͺ¨λ“œμ—μ„œλŠ” μ‚¬μš©μž μ •μ˜ λ©”μ‹œμ§€κ°€ μ•„λ‹Œ μ„œλ²„ 였λ₯˜ λ©”μ‹œμ§€κ°€ μ•Œλ¦Όμ°½μ— κ·ΈλŒ€λ‘œ λ…ΈμΆœλ˜λŠ” λ¬Έμ œκ°€ λ°œμƒν–ˆλ‹€. πŸ€―ν•΄λ‹Ή 였λ₯˜κ°€ λ°œμƒν•˜λŠ” 원인을 νŒŒμ•…ν•΄ 보고 ν•΄κ²°ν•œ 방법을 정리해 보자!! βœοΈ  μ˜€λ₯˜ν”„λ‘œλ•μ…˜ λͺ¨λ“œμ—μ„œ κΈ°λŒ€ν•œ 결과개발λͺ¨λ“œμ—μ„œλŠ” μ˜λ„ν•œ λŒ€λ‘œ λ©”μ‹œμ§€κ°€ ν‘œμ‹œλ˜μ—ˆλ‹€. ν”„λ‘œλ•μ…˜ λͺ¨λ“œμ—μ„œ μ‹€μ œ κ²°κ³Όν•˜μ§€λ§Œ ν”„λ‘œμ μ…˜ λͺ¨λ“œμ—μ„œλŠ” μ•„λž˜μ™€ 같이 μ„œλ²„ 였λ₯˜ λ©”μ‹œμ§€κ°€ κ·ΈλŒ€λ‘œ λ…ΈμΆœλ˜μ—ˆλ‹€. γ…œγ…œ βœοΈ  μ›μΈ 뢄석이 λ¬Έμ œλŠ” Next.js 와 같은 ν”„λ ˆμž„μ›Œν¬μ˜ ν”„λ‘œλ•μ…˜ λΉŒλ“œ ν™˜κ²½ νŠΉμ„± λ•Œλ¬Έμ— λ°œμƒν•œ κ²ƒμ΄μ—ˆλ‹€.ν”„..

  • textsms
[✈️ μ΅œμ’…ν”„λ‘œμ νŠΈ] supabase μ—μ„œ transaction μ μš©ν•˜κΈ°

[✈️ μ΅œμ’…ν”„λ‘œμ νŠΈ] supabase μ—μ„œ transaction μ μš©ν•˜κΈ°

βœ… κ°œμš”κ²Œμ‹œκΈ€ μ‚­μ œ κΈ°λŠ₯을 κ΅¬ν˜„ν•˜λŠ” κ³Όμ •μ—μ„œ, κ²Œμ‹œκΈ€μ„ μ‚­μ œν•  λ•Œ ν•΄λ‹Ή κ²Œμ‹œκΈ€μ— μ—°κ΄€λœ 이미지도 ν•¨κ»˜ μ‚­μ œλ˜μ–΄μ•Ό ν•œλ‹€. 이 μž‘μ—…μ€ κ²Œμ‹œκΈ€κ³Ό 이미지 두 개의 ν…Œμ΄λΈ”μ—μ„œ μ—…λ°μ΄νŠΈκ°€ 이루어져야 ν•˜λ©°, λ‘˜ 쀑 ν•˜λ‚˜λΌλ„ μ‹€νŒ¨ν•  경우 데이터 무결성이 깨질 μœ„ν—˜μ΄ μžˆλ‹€.  κ·ΈλŸ¬λ‚˜... μˆ˜νŒŒλ² μ΄μŠ€λŠ” ν˜„μž¬ νŠΈλžœμž­μ…˜μ„ κ°„νŽΈν•˜κ²Œ μ§€μ›ν•˜μ§€ μ•ŠλŠ”λ‹€κ³ ν•œλ‹€. supabase Discussion 에도 μ–ΈκΈ‰λ˜μ—ˆλ“―, μˆ˜νŒŒλ² μ΄μŠ€λŠ” PostgreSQL 을 기반으둜 ν•˜κ³  μžˆμ–΄μ„œ PostgreSQL μ—μ„œ μ œκ³΅ν•˜λŠ” ν•¨μˆ˜λ₯Ό μ΄μš©ν•˜λ©΄ νŠΉμ • 쿼리에 λŒ€ν•΄ νŠΈλžœμž­μ…˜μ„ μ μš©ν•  수 μžˆλ‹€! πŸ₯Ή λ”°λΌμ„œ 두 μš”μ²­(κ²Œμ‹œκΈ€ μ‚­μ œ/이미지 μ‚­μ œ) 을 μ•ˆμ „ν•˜κ²Œ μ²˜λ¦¬ν•˜λ €λ©΄ PostgreSQL ν•¨μˆ˜λ₯Ό μž‘μ„±ν•˜μ—¬ νŠΈλžœμž­μ…˜μ„ μ μš©ν•΄ 보도둝 ν•˜μž. βœ… ν•¨μˆ˜ λ§Œλ“€κΈ°PostgreSQ..

  • textsms
React Hook Form 의 setValue λ₯Ό μ‚¬μš©ν•˜μ—¬ μ΄ˆκΈ°κ°’ μ„€μ •

React Hook Form 의 setValue λ₯Ό μ‚¬μš©ν•˜μ—¬ μ΄ˆκΈ°κ°’ μ„€μ •

λ§ˆμ΄νŽ˜μ΄μ§€ μˆ˜μ • κΈ°λŠ₯을 μ§„ν–‰ 쀑이닀. κ΅¬ν˜„ν•΄μ•Ό ν•  것은 λ‹‰λ„€μž„ μˆ˜μ •ν•˜κΈ°μ΄λ‹€. React Hook Form 을 μ‚¬μš©ν•˜κΈ° μ „μ—λŠ” useState 둜 λ‹‰λ„€μž„ μƒνƒœλ₯Ό κ΄€λ¦¬ν•˜μ˜€κ³  DB μ—μ„œ μ‘°νšŒν•œ μ •λ³΄λ‘œ setNickname() ν•΄μ£Όλ©΄ λλŠ”λ°.. react hook form 은..? 이 사항을 λ†“μΉ˜κ³  μžˆμ–΄μ„œ μˆ˜μ •νŽ˜μ΄μ§€ κ°€λ©΄ DB μ—μ„œ κ°€μ Έμ˜¨ μœ μ € 정보가 보이지 μ•ŠλŠ”λ‹€. 보톡 μˆ˜μ •νŽ˜μ΄μ§€ κ°€λ©΄ μ›λž˜ μ„€μ •ν•΄ 놓은 정보가 뜨기 λ§ˆλ ¨μ΄λ‹ˆ.. λ‚˜λŠ” κΈ°μ‘΄ 정보λ₯Ό ν‘œμ‹œν•΄ 쀄 데이터가 ν•„μš”ν–ˆλ‹€..! μ΄μŠˆReact Hook form 을 μ‚¬μš©ν•  λ•Œ DB 에 μžˆλŠ” κΈ°μ‘΄ 정보λ₯Ό 화면에 μ–΄λ–»κ²Œ 보여주어야 ν•˜λŠ”κ°€? ν˜„μž¬λŠ” μˆ˜μ • λ²„νŠΌμ„ λˆ„λ₯΄λ©΄ 기쑴의 λ‹‰λ„€μž„μ΄ 보이지 μ•ŠλŠ”λ‹€. ν•΄κ²°μ΄κ²ƒμ €κ²ƒ μ°Ύμ•„λ³΄λ‹ˆ.. setValue κ°€ μžˆμ—ˆλ‹€. 생각보닀 μ‰½κ²Œ..

  • textsms

[✈️ μ΅œμ’…ν”„λ‘œμ νŠΈ] supabase storage private bucket μ‚¬μš©ν•΄λ³΄κΈ° (signed url κ³Ό ν•¨κ»˜...)

ν”„λ‘œμ νŠΈμ—μ„œ λ§ˆμ΄νŽ˜μ΄μ§€ κ°œλ°œμ„ λ§‘μ•˜λ‹€. λ§ˆμ΄νŽ˜μ΄μ§€μ—λŠ” μœ μ €μ˜ ν”„λ‘œν•„ 이미지λ₯Ό λ“±λ‘ν•˜λŠ” κΈ°λŠ₯이 μžˆλ‹€. ν”„λ‘œμ νŠΈ μ£Όμ œκ°€ ν”„λΌμ΄λΉ—ν•œ κ³΅κ°„μ—μ„œ 여행을 κΈ°λ‘ν•˜λŠ” 것이기 λ•Œλ¬Έμ— μœ μ €μ˜ ν”„λ‘œν•„ μ΄λ―Έμ§€λŠ” λ³΄μ•ˆμ΄ μ€‘μš”ν•˜λ‹€κ³  μƒκ°ν–ˆλ‹€.  λ°μ΄ν„°λ² μ΄μŠ€λŠ” 수파베이슀λ₯Ό μ‚¬μš© μ€‘μ΄μ–΄μ„œ μ•Œμ•„λ΄€λ”λ‹ˆ signed URL 을 λ§Œλ“€ 수 μžˆλŠ” 것을 μ œκ³΅ν•œλ‹€. 이거λ₯Ό μ‚¬μš©ν•˜κΈ°λ‘œ ν–ˆλ‹€.  signed URL μ΄λž€ μ„œλͺ…λœ URL 을 μ˜λ―Έν•˜λŠ”λ° 사진 링크에 만료 μ‹œκ°„μ„ μ„€μ •ν•˜μ—¬ ν•΄λ‹Ή μ‹œκ°„ λ™μ•ˆλ§Œ μœ νš¨ν•œ URL 이닀. signed URL 을 μ‚¬μš©ν•˜λ©΄ 링크가 만료되면 ν•΄λ‹Ή 링크에 λŒ€ν•œ 데이터에 μ ‘κ·Όν•  수 μ—†μ–΄μ„œ λ³΄μ•ˆμ΄ κ°•ν™”λœλ‹€.  κ΅¬μ‘°signed url 을 μ‚¬μš©ν•˜κΈ° μœ„ν•΄ ν”„λ‘œν•„ 이미지λ₯Ό μ–΄λ–»κ²Œ 관리해야 ν• μ§€ 고민이 ν•„μš”ν–ˆλ‹€. μ™œλƒgkλ©΄ 이미지 링크λ₯Ό..

  • textsms