묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Slack 클론 코딩[실시간 채팅 with React]
로그인 회원가입 둘다 cors 오류가 뜹니다 ㅠㅠ 도대체 뭐가 문제일까요..
안녕하세요~ 그전까지 잘되다가 오랜만에 다시 강의를 이어가려고하는데 갑자기 안됩니다 ㅠㅠ 뭐가 문제일까요..회원가입시에도 페이지가 넘어가지않고 계속 CORS 오류가 생기네요.. https://github.com/nuring9/react-SWR-SlackClone_front제가 따라한 코드 깃허브 주소올립니다 ㅠㅠ
-
미해결[LG유플러스] 앱 만들기 초급 과정 (Flutter)
asset 추가하기에서 pub get 메뉴 찾기
안녕하세요로고 이미지 추가 하였는데 pub get 메뉴가 보이지 않습니다. 좌측 상단에 main.dat에 빨간 엑스로 표시되는데 이것 때문일까요..?? 해결 방법 문의 드립니다.
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
미세먼지앱 비동기 요청 병렬의 futures 질문
Map<ItemCode, List<StatModel>> stats = {}; List<Future> futures = []; for (ItemCode itemCode in ItemCode.values) { futures.add( StatRepository.fetchData( itemCode: itemCode, ), ); } final results = await Future.wait(futures); for (int i = 0; i < results.length; i++) { final key = ItemCode.values[i]; final value = results[i]; stats.addAll({ key: value, }); } return stats;다수의 비동기 요청 병렬로 처리하기 강좌를 듣다가 한가지 의문이 들어 질문드립니다. futures에 모든 데이터를 받아와 await한 후 results에 넣고, results를 이용해 마지막 for구문을 완성하셨는데, 만약 results를 거치지 않고 futures를 그대로 사용해서 for구문을 완성하면 왜 오류가 생기는지 궁금합니다. await Future.wait(futures);for(int i = 0; i < futures.length; i++) {final key = ItemCode.values[i];final value = futures[i];stats.addAll({ key: value, });}return stats;}제가 생각한 코드는 이부분인데, results를 사용하지 않고 바로 futures를 사용해서 실행하면 오류가 생깁니다. 왜 이렇게 하면 안되고 꼭 results를 거쳐야만 하는지 잘 모르겠습니다. 답변 부탁드리겠습니다...
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
final 질문이 있어요.
섹션 0, dartpad 기본기인 첫 번째 영상을 보고있는데요.Set함수를 배우는 부분에서 final Set<String> names = { ... 하셨는데,제가 영상 앞에서 배우기로는 final은 타입을 따로 주지 않아도 되고, 값을 바꿀 수 없다는 걸로 배웠는데제가 따로 테스트해본 결과 (1): final Set<> names ... 로 작성 -> 타입이 없다며, 오류발생.(2): names.add("") -> final로 선언을 하면, 값을 바꿀 수 없는걸로 아는데 값이 추가가능함.이 부분에서 앞에서 배운 final 개념이 혼동이 와서 이렇게 질문을 남겨봅니다.리스트에서의 final은 다른 개념인건가요?
-
미해결Slack 클론 코딩[실시간 채팅 with React]
SWR DevTools 관련
안녕하세요 SWR관련 질문이 있습니다.혹시 React 18버전에서는 SWR DevTools를 어떻게 사용할 수 있는지 부탁 드립니다.감사합니다.
-
미해결[LG유플러스] 앱 만들기 초급 과정 (Flutter)
device는 설치했는데, launch가 안되네요.
에뮬레이터 드라이버 설치가 안되는 것 같습니다.강의에 나온 iphone device는 windows에서 설치가 안되는걸까요?사용중인 PC가 AMD 기반이라서 안되는 것 같습니다.혹시 AMD에서 사용 가능한 driver가 있을까요?
-
미해결[LG유플러스] 앱 만들기 초급 과정 (Flutter)
Flutter 프로젝트 생성해보기 강의 내용 중 aos, ios 시뮬레이터 셋팅 방법 문의 드립니다.
안녕하세요6분 4초경에 안드로이드, 아이폰에 대해서 배웠다고 나오는데...어느 몇 강 확인하면 되는지 문의 드립니다.저는 선생님 화면과 달리 웹만 확인되어 임의로 디바이스를 추가해서 실행해보았더니 아래와 같은 오류가 확인됩니다. 해결 방법 문의드려요~감사합니다.
-
미해결Slack 클론 코딩[실시간 채팅 with React]
채팅보내기 강의중
안녕하세요 제로초님!채팅보내기 강의를 보고있는데 workspace/index.tsx에서갑자기 socket 코드 가생겼는데 강의에는 설명이 없는거 같아서 문의 남깁니다!
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
IOS 버전 업데이트 후 에러 발생(Error (Xcode): File not found: /Applications/...)
Could not build the precompiled application for the device. Error (Xcode): File not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a Error (Xcode): Linker command failed with exit code 1 (use -v to see invocation)안드로이드에서는 에러가 발생하지 않는데 iPhone 시뮬레이터에서 에러가 발생하는데,iOS/Podfile 을 아래와 같이 수정하시면 됩니다.post_install do |installer| installer.generated_projects.each do |project| project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0' end end end installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) end end저의 경우는 마지막 부분을 수정해줬습니다. https://stackoverflow.com/questions/75894992/missing-file-libarclite-iphoneos-a-in-xcode-14-3-after-update-flutter-and-xcod/75901008#75901008
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
강의 영상이 재생이 안됩니다.
강의 제목 :[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출! 안 열리는 강좌18:23CustomScrollView - SliverList 뽀개버리기13:28확인 부탁합니다.
-
미해결[LG유플러스] 앱 만들기 초급 과정 (Flutter)
Flutter 프로젝트 생성해보기 강의 재생 오류
안녕하세요 Flutter 프로젝트 생성해보기 강의가 재생되지 않아서 문의 드립니다.감사합니다.
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
강의 영상이 재생 안대네요
날씨앱중 course/lecture?courseSlug=플러터-프로젝트&unitId=109568 재생이 안댑니다.문제가 있나요?
-
미해결[LG유플러스] 앱 만들기 초급 과정 (Flutter)
긱 SDK 카피 코드 방법 문의
안녕하세요영상 2분 24초경 킥 SDK 코드 카피 방법 안내해주시는데, 실제 링크에서는 카피할 코드가 확인되지 않아서 문의 드려요.Windows install | Flutter
-
미해결Slack 클론 코딩[실시간 채팅 with React]
str.toLowerCase is not a function
예상하지 못한 부분에서 에러가 나와서 질문 남겨드립니다 !ChatBox.tsximport React, { useCallback, useEffect, useRef, VFC } from 'react'; import { ChatArea, EachMention, Form, MentionsTextarea, SendButton, Toolbox } from './styles'; import autosize from 'autosize'; import { Mention, SuggestionDataItem } from 'react-mentions'; import { useParams } from 'react-router'; import useSWR from 'swr'; import { IUser } from '@typings/db'; import fetcher from '@utils/fetcher'; import gravatar from 'gravatar'; interface Props { chat: string; onSubmitForm: (e: any) => void; onChangeChat: (e: any) => void; placeholder?: string; } const ChatBox: VFC<Props> = ({ chat, onSubmitForm, onChangeChat, placeholder }) => { const { workspace } = useParams<{ workspace: string }>(); const { data: userData, error, revalidate, mutate, } = useSWR<IUser | false>('/api/users', fetcher, { dedupingInterval: 2000, // 2초 }); const { data: memberData } = useSWR<IUser[]>(userData ? `/api/workspaces/${workspace}/members` : null, fetcher); const textareaRef = useRef<HTMLTextAreaElement>(null); useEffect(() => { if (textareaRef.current) { autosize(textareaRef.current); } }, []); const onKeydownChat = useCallback( (e) => { if (e.key === 'Enter') { if (!e.shiftKey) { e.preventDefault(); onSubmitForm(e); } } }, [onSubmitForm], ); const renderSuggestion = useCallback( ( suggestion: SuggestionDataItem, search: string, highlightedDisplay: React.ReactNode, index: number, focus: boolean, ): React.ReactNode => { if (!memberData) return; return ( <EachMention focus={focus}> <img src={gravatar.url(memberData[index].email, { s: '20px', d: 'retro' })} alt={memberData[index].nickname} /> <span>{highlightedDisplay}</span> </EachMention> ); }, [memberData], ); return ( <ChatArea> <Form onSubmit={onSubmitForm}> <MentionsTextarea id="editor-chat" value={chat} onChange={onChangeChat} onKeyPress={onKeydownChat} placeholder={placeholder} inputRef={textareaRef} allowSuggestionsAboveCursor > <Mention appendSpaceOnAdd trigger="@" data={memberData?.map((v) => ({ id: v.id, display: v.nickname })) || []} renderSuggestion={renderSuggestion} /> </MentionsTextarea> <Toolbox> <SendButton className={ 'c-button-unstyled c-icon_button c-icon_button--light c-icon_button--size_medium c-texty_input__button c-texty_input__button--send' + (chat?.trim() ? '' : ' c-texty_input__button--disabled') } data-qa="texty_send_button" aria-label="Send message" data-sk="tooltip_parent" type="submit" disabled={!chat?.trim()} > <i className="c-icon c-icon--paperplane-filled" aria-hidden="true" /> </SendButton> </Toolbox> </Form> </ChatArea> ); }; export default ChatBox;혼자서 해결해보려다가 못찾고 있어서 질문 남겨드려요 ㅠㅠ
-
미해결[LG유플러스] 앱 만들기 초급 과정 (Flutter)
IOS/Android simulator 실행방법 문의
flutter 프로젝트 생성할때,강의내용중에는 IOS/Android simulator 실행방법이 없는데, 어떻게 실행하는지 알려주시기 바랍니다.
-
미해결Slack 클론 코딩[실시간 채팅 with React]
데이터 질문이요
const onSubmitForm = useCallback( (e) => { e.preventDefault(); if (chat?.trim() && chatData) { const savedChat = chat; mutateChat((prevChatData) => { prevChatData?.[0].unshift({ id: (chatData[0][0]?.id || 0) + 1, content: savedChat, SenderId: myData.id, Sender: myData, ReceiverId: userData.id, Receiver: userData, createdAt: new Date(), }); return prevChatData; }, false).then(() => { localStorage.setItem(`${workspace}-${id}`, new Date().getTime().toString()); setChat(''); if (scrollbarRef.current) { console.log('scrollToBottom!', scrollbarRef.current?.getValues()); scrollbarRef.current.scrollToBottom(); } }); axios .post(`/api/workspaces/${workspace}/dms/${id}/chats`, { content: chat, }) .then(() => console.log('first')) .catch(console.error); } }, [chat, workspace, id, myData, userData, chatData, mutateChat, setChat], ); const onMessage = useCallback( (data: IDM) => { if (data.SenderId === Number(id) && myData.id !== Number(id)) { mutateChat((chatData) => { chatData?.[0].unshift(data); return chatData; }, false) 이부분은 socket?.on('dm', onMessage) dm보내는 페이지에서 디엠을 보낼 때 onSubmitForm에서 mutate가 먼저 실행돼서 화면 데이터를 먼저 바꿔주고 그 다음 서버로 데이터를 보낸 뒤 처리하는 과정에서 socket.emit()이 실행되고 onMessage가 실행되는 걸로 이해했는데요. onMessage가 받는 데이터가 onSumbitForm의 mutate가 인자로 받는 함수랑 똑같아서 중복작업이 아닌가 싶어서 onMessage mutate 안의 chat.Data?.[0].unshift(data)를 지우고 실행해봐도 똑같은 결과가 나오는데 이 코드는 왜 있는 건가요?
-
미해결Slack 클론 코딩[실시간 채팅 with React]
DM 내용 표시하기
안녕하세요 강의중에 DM 내용 표시 하기 강의에서 map을 활용해 DM내용을 표시하는 부분인데 DM을 클릭하고 내용을 확인할 때 TypeError에러가 뜨면서 chatData.map is not a function 이라는 오류가 나오고 있습니다.. 혼자 해결하다 막혀서 질문 남겨 드립니다! DirectMessage.tsx (return 부분)return ( <Container> <Header> <img src={gravatar.url(userData.email, { s: '24px', d: 'retro' })} alt={userData.nicknam} /> <span>{userData.nickname}</span> </Header> <ChatList chatData={chatData} /> <ChatBox chat={chat} onChangeChat={onChangeChat} onSubmitForm={onSubmitForm} /> </Container> );chatList.tsximport React, { VFC, useCallback, useRef } from 'react'; import { ChatZone } from './styles'; import { IDM } from '@typings/db'; import Chat from '@components/Chat'; import { Scrollbars } from 'react-custom-scrollbars'; interface Props { chatData?: IDM[]; } const ChatList: VFC<Props> = ({ chatData }) => { const scrollbarRef = useRef(null); const onScroll = useCallback(() => {}, []); return ( <ChatZone> <Scrollbars autoHide ref={scrollbarRef} onScrollFrame={onScroll}> {chatData?.map((chat) => ( <Chat key={chat.id} data={chat} /> ))} </Scrollbars> </ChatZone> ); }; export default ChatList; chat.tsximport { IDM, IChat } from '@typings/db'; import React, { VFC, memo, useMemo } from 'react'; import gravatar from 'gravatar'; import { ChatWrapper } from './styles'; interface Props { data: IDM; } const Chat: VFC<Props> = ({ data }) => { const user = data.Sender; return ( <ChatWrapper> <div className="chat-img"> <img src={gravatar.url(user.email, { s: '36px', d: 'retro' })} alt={user.nickname} /> </div> <div className="chat-text"> <div className="chat-user"> <b>{user.nickname}</b> <span>{data.createdAt}</span> </div> <p>{data.content}</p> </div> </ChatWrapper> ); }; export default Chat;오류내용
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
설치 오류
안녕하세요 혹시 path 시 오류가 났나해서 다시 하려하니 이미 진행한걸로 경고 창이 뜹니다 ㅠ echo $PATH 를 한경우 끝이 다르게 아래와 같이 나옵니다.usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin] bin 경로 까지 cd ./ 했을때 저는 선생님과 다르게bin git:(stable) ✗ <<이렇게 나오는데 이게 문제 일까요? ㅠ➜ ~ where flutterflutter not found 도와주세요 ㅠ
-
해결됨Slack 클론 코딩[실시간 채팅 with React]
웹소켓은 프록시 사용 할 수 없나요?
`http://localhost:3095/ws-${workspace}`위 주소로는 잘 되는데 `/api/ws-${workspace}`로는 연결이 안됩니다. 웹소켓은 프록시 못쓰는건지,못쓴다면 혹시 왜 안되는건지 이유를 여쭈워도 괜찮을까요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
데이터 베이스 연결 에러 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 강의 도중 데이터베이스 연결 설정 후 에러가 나서 질문 드립니다!혹시 뭐 터미널이 달라서 그럴까요?