안녕하세요. 유용한 강의와 연습 문제 감사합니다. 파이썬 연습 문제 6번 관련하여 아래와 같이 2가지 질문 드립니다. 문제에서 결과로 요구한 값과 코드로 도출하신 값이 달라, (결과는 ID만 도출, 맨 아랫줄의 값은 도메인이 포함된 전체 이메일로 도출) 아래와 같이 코드를 짜서 결과 값에 맞게 새로 코드를 짜서 도출하긴 했는데, 이런 방법으로 도출을 했을 때 문제가 발생할 여지가 있는지 문의 드립니다. (저는 비전공자로, 코딩에 대한 지식이 전혀 없기 때문에 단순히 확인을 위해 문의 드리는 점 참고 부탁드립니다.) 함수를 정의할 때 쓴 result와, for문에 사용한 result는 같은 값이지만, 마지막에 해당 함수를 출력할 때는 result가 아닌 다른 이름( F )으로 지정 후 출력해도 같은 결과가 나오는 것을 확인하였습니다. 그렇다면 마지막에 함수를 출력하기 위해 쓴 result는 def 구문 안에 있는 result와는 무관하다고 보면 될까요? 다른 이름으로 지정하는 것에 관례적인 문제가 있는지도 궁금합니다. email = [' abc132@naver.com ', ' wow880@gmail.com ', ' hahahahaha@naver.com '] def classifyEmail(email): result = {"naver" : [], "gmail" : []} for e in email: domain = e.split("@")[1] ID = e.split("@")[0] if domain == " naver.com ": result['naver'].append( ID ) else: result['gmail'].append( ID ) return result F = classifyEmail(email) print( F ) 감사합니다.
안녕하세요. 강의 잘 듣고 있습니다. 강의 수강하면서 질문이 하나 있는데요. 지금 제 상황은 1차적으로 출처를 각주에 적지 않음 그냥 본문뒤에 (출처:)를 적는 식으로 통일함 예시) 한글 공부가 너무 어렵네요 (출처: 내 머릿속) 이제 최종적으로 "(출처:" 로 시작해서 ")"로 끝나는 모든 문장을 각주로 넣고 싶음 입니다. 그러면 생각나는 아이디어로는 "(출처:" 로 시작해서 ")"로 끝나는 문장마다 해당 지점에서 각주를 추가하고 복사 후 원래 문장은 지우는 방식으로 반복을 해야 할 것 같은데요. 그런데 혼자 씨름해봐도 쉽지가 않네요. 혹시 어떤 함수를 사용해야할지 도움 주시면 감사하겠습니다. 완벽한 코드가 아니더라도, 어떻게 사용할지 아이디어라도 주시면 제가 해결하겠습니다! 제가 필요한 부분만 수강중인지라, 제목에서 저와 상관없다고 하는 기능은 안 들어서 혹시 설명해주신 강의가 있다면 제목 말씀해주시면 수강하겠습니다.
안녕하세요 강의 정말 잘 듣고있습니다. 현재 강의를 무한 중첩 댓글 구현하기까지 수강했습니다! 테스트를 위해 여러가지 사항들을 직접 체크하고있는데 Github로 로그인한 사용자의 정보들(avatar_url, name)들은 기본적으로 사용하지 않고 랜덤한 닉네임과 기본 아바타 이미지가 나오는게 정상 동작일까요? 제가 이해한 흐름은 다음과 같습니다. 1. Github(OAuth) 로그인 2. Supabase Authentication > Users에 사용자 생성 (profile 테이블에는 아직 생성 되지 않음) 3. SessionProvider에서 useProfileData 호출 export default function SessionProvider({ children }: { children: ReactNode }) { const session = useSession(); const setSession = useSetSession(); const isSessionLoaded = useIsSessionLoaded(); const { data: profile, isLoading: isProfileLoading } = useProfileData( session?.user.id, ); useEffect(() => { supabase.auth.onAuthStateChange((event, session) => { setSession(session); }); }, []); if (!isSessionLoaded) return <GlobalLoader />; if (isProfileLoading) return <GlobalLoader />; return children; } 4. fetchProfile(userId) 실행 export async function fetchProfile(userId: string) { const { data, error } = await supabase .from("profile") .select("*") .eq("id", userId) .single(); if (error) throw error; return data; } Supabase Table Editor > profile 에는 아무런 결과가 저장되어 있지 않기 때문에 PostgrestError: PGRST116 에러 발생 useProfileData catch 블록 실행 → createProfile 호출 랜덤한 닉네임 + avatar_url이 기본으로 저장 만약 제가 이해한 흐름이 맞다면 어떤 방법을 써야할까요? 제일 먼저 드는 생각은 createProfile에 session을 매개변수로 받아서 session.user.user_metadata.full_name 과 avatar_url 을 insert에 넣는걸 생각했습니다. createProfile export async function createProfile(userId: string, session?: Session) { const { data, error } = await supabase .from("profile") .insert({ id: userId, // ↓ 여기 수정 했어용 nickname: session?.user.user_metadata?.full_name || getRandomNickname(), avatar_url: session?.user.user_metadata?.avatar_url || null, }) .select() .single(); if (error) throw error; return data; } use-profile-data.ts export function useProfileData(userId?: string) { const session = useSession(); const isMine = userId === session?.user.id; return useQuery({ queryKey: QUERY_KEYS.profile.byId(userId!), queryFn: async () => { try { const profile = await fetchProfile(userId!); return profile; } catch (error) { if (isMine && (error as PostgrestError).code === "PGRST116") { return await createProfile(userId!, session!); // 여기 session 추가 했어용 } throw error; } }, enabled: !!userId, }); } 이렇게 코드를 수정하고 profile table을 삭제한 후 다시 Github로 로그인 하면 사용자의 프로필 이미지와 이름이 받아와졌습니다. 더 효율적이거나 더 좋은 방법이 있을까요? 혹은 제가 잘못 알고 있는게 있을까요?
큰돌님 안녕하세요. 알고리즘강의부터 유튜브까지 잘 시청하고있습니다. 프론트엔드를 목표로 준비를 하고있는데 대부분 포트폴리오 페이지를 하나씩 구축을 하고 이력서와 같이 첨부하더라구요.. 과거에 리액트 + GSAP로 인터렉션 위주로 만들어놓은게 있지만 손볼것도 많고 요즘은 NextJS가 추세라하여 새로 만들어야할것같은데 이부분이 프론트 지원시 거이 필수적인지 궁금합니다.
안녕하세요 짐코딩님 강의 잘보고 있습니다. 할루시네이션을 방지하려면 항상 use context7을 붙여야하나요? 아니면plan mode에서 해당 부분을 claude가 인지하고 있다면 이후엔 명시하지 않아도 괜찮을까요? next.js 같은 경우 향후에 계속 업데이트 할텐데, 저의 프로젝트도 그에 맞게 코드를 업데이트 해야하나요? 아니면 중요한 버그 문제가 아니면 이전 버전 그대로 두나요? 현업에 종사하지 않아서 궁금한점이 이렇습니다. 감사합니다
안녕하세요, 강의 잘 듣고 있습니다! 6.2강 회원가입 구현 강의 18:06경에 설명해주시는 AuthResponse 타입의 정의?가 변경된 것인지, 제 코드 에디터에는 아래와 같이 표시됩니다. 첫 번째 객체 부분 {data: T; error: null}은 이해가 가는데요, 두 번째 객체 부분은 강의상 화면과 차이가 좀 있어서, 추가로 설명해주실 수 있으면 감사하겠습니다.