묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
sdk 오류 문의드립니다
인녕하세요 안드로이드 라이센스 추가시 오류가 나는데 해결방법 문의드립니다 기존에 c:/app/ 경로에 안드로이드 스튜디오가 깔려있었는데요xl예물레이터는 실행시 오류가나서 일단 다른 디바이스로 실행 시켰습니다.문의내용: 안드로이드 라이센스 추가시 오류1.sdk 매니저에서 영상에 나온 항목 설치(Android SDK Command-line Tools 등등)2.환경변수 설정위 두가지 내용들 다 적용된것도 확인했는데 해결방법을 모르겠습니다확인해봐야할 부분 알려주시면 감사하겠습니다
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Basic Video Call을 통해서 영상 접속이 처음에만 되는 이유가 뭘까요?
코드를 그대로 따라하면서 작성했는데이상하게도 영상 마지막 부분에서 나온 웹사이트를 통해서 시도해보면채널 참가 첫 1회시에만 기능하고채널 나가기를 누른 후 다시 참여할때는 emulator에서 아무리 기다려도 채널에 유저가 없습니다 가 뜹니다.이유를 찾으려고 해봤지만,, 쉽지 않네요...
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
DateTime selectedDate = DateTime(DateTime.now().year);
DateTime selectedDate = DateTime(DateTime.now().year);7분10초 쯤여기서 00시부터 다시 시작 한다고 하셨는데이런 식으로 코드 작성하게 되면 시간은 0으로 초기화 되는 건가요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
회원 가입 페이지 기능 생성(3) Error: DataSource is not set for this entity.
client 쪽에서는 에러가 안나지만server 쪽에서 데이터는 잘 받지만Error: DataSource is not set for this entity.나네요.백엔드쪽은 익숙하지가 않아 구글링을 해봐도 어디서 에러가 나는지 잘 모르겠습니다. 게시판에 유사한 글이 있긴 하지만 해결책을 안되어 문의 드려요.AppDataSource는 이렇게 되어있습니다. 제 깃 주소는 https://github.com/ssinking91/Reddit입니다. 이 버그 너무 해결하고 싶습니다.감사합니다. 임시방편으로 모든 entity를 불러와 AppDataSource의 entities경로로 넣어 줬습니다.혹시 에러나시는 분들 임시방편으로 이렇게 해주시면 잘 됩니다.import "reflect-metadata"; import { DataSource } from "typeorm"; import User from "./entities/User"; import Post from "./entities/Post"; import Sub from "./entities/Sub"; import Comment from "./entities/Comment"; import Vote from "./entities/Vote"; export const AppDataSource = new DataSource({ type: "postgres", host: "localhost", port: 5432, username: "postgres", password: "password", database: "postgres", synchronize: true, logging: false, // entities: ["src/entities/**/*.ts"], entities: [User, Post, Sub, Comment, Vote], migrations: [], subscribers: [], });
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
프로젝트 생성시 이름 제한?
안드로이드 스튜디오에서프로젝트 생성시 이렇게 나오는데...이게 안드로이드스튜디오 버전에 따라 다른걸까요?이름 방식이 틀렸다라는것으로 이해되는데 ㅠㅠ 다르게 이름을 쓰니까 또 되긴하거든요... 또 추가로 안드로이드 스튜디오에서 iOS시뮬레이터를 구동했는데재생버튼을 누르려고 보니계속 No device selected라고 나오네요 ㅠㅠ재부팅도 했는데뭔가 잘못한걸까요 항상 감사합니당
-
해결됨문과생이 가르쳐 주는 퍼블리싱 - 클론코딩
background 질문입니다
<div class="item"style="background: url(./resources/images/tmp/visual1.jpg) no-repeat 50% 0; background-size: cover;"> 사진을 가운데 설정하기 위해서 no=repeat으로 반복되지 않게 설저을 하고 50% 0을 설정했는데 이거는 어떤 속성인지 알 수 있을까요? 위치를 잡아주는 건가요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Vscode 질문이요~!
안녕하세요 작년에 혼자 vscode로 플러터 깔짝하다가 올해 각잡고 해볼려고 코팩님 mac 셋업 따라하고 vscode로 시뮬레이터 작동이 안되는데요 operation not permitted exit code 126이런 메세지? 가 뜨는데요 제 추측으로는 터미널 설정 때문에 에러가 나는거 같은데요전 vscode가 친숙한데 어떻게 방법 없을까요?flutter doctor 로 체크했을 땐 이상 없습니다!!
-
미해결Slack 클론 코딩[실시간 채팅 with React]
workspace 값이 읽히지 않습니다.(prototype)
채널에서 워크스페이스 정보가 뜨지 않아 검사 창을 열어보니, 제 UserData 객체에 Workspace객체가 없고, prototype 객체가 하나 있는 것을 발견했습니다.이후 네트워크에서 값을 확인해보니, 서버는 user의 data에 정상적으로 워크스페이스를 보내고 있는 것도 확인했습니다.혹시나 싶어, 새 워크스페이스를 만들어서 보내도 서버에서는 정상적으로 처리해주었지만, 클라이언트에선 전혀 받지 못하고있습니다. 이럴 경우 어떻게 처리해주어야 하는지 여쭤보고싶습니다.워크스페이스 부분의 코드를 첨부하며 리액트(+dom)의 버전은 17, axios의 버전은 0.26.1, swr의 버전은 2.0.3 입니다. import Menu from '../../components/Menu'; import loadable from '@loadable/component'; import axios from 'axios'; import React, { useCallback, useState, VFC } from 'react'; import { Route, Switch } from 'react-router'; import useSWR from 'swr'; import fetcher from '../../utills/fetcher'; import { AddButton, Channels, Chats, Header, LogOutButton, MenuScroll, ProfileImg, ProfileModal, RightMenu, WorkspaceButton, WorkspaceModal, WorkspaceName, Workspaces, WorkspaceWrapper, } from '../Workspace/styles'; import { IUser } from '../../typings/db'; import { Link } from 'react-router-dom'; import Modal from '@components/Modal'; import { Button, Input, Label } from '@pages/Login/styles'; import useInput from '@hooks/useInput'; import { toast } from 'react-toastify'; const Channel = loadable(() => import('../../pages/Channel')); const DirectMessage = loadable(() => import('../../pages/DirectMessage')); const Workspace: VFC = () => { const { data: UserData, error, mutate, } = useSWR<IUser | false>('/api/users', fetcher, { dedupingInterval: 2000, }); const [showUserMenu, setShowUserMenu] = useState(false); const [showCreateWorkspaceModal, setShowCreateWorkspaceModal] = useState(false); const [newWorkspace, onChangeNewWorkspace, setNewWorkpsace] = useInput(''); const [newUrl, onChangeNewUrl, setNewUrl] = useInput(''); const onClickUserProfile = useCallback((e) => { e.stopPropagation(); setShowUserMenu((prev) => !prev); }, []); const onClickCreateWorkspace = useCallback(() => { setShowCreateWorkspaceModal(true); }, []); console.log('showUserMenu3 :', showUserMenu); console.log('UserData LastCheck: ', UserData); const onLogout = useCallback(() => { axios .post('http://localhost:3095/api/users/logout', null, { withCredentials: true, }) .then((response) => { mutate(response.data, false); console.log('onLogOut :', response.data); }) .catch((error) => { alert(error.response.data ? error.response.data : '애러 캐치 실패'); }); }, []); const onCloseModal = useCallback(() => { setShowCreateWorkspaceModal(false); }, []); const onCreateWorkspace = useCallback( (e) => { e.preventDefault(); if (!newWorkspace || !newWorkspace.trim()) return; if (!newUrl || !newUrl.trim()) return; axios .post( '/api/workspaces', { workspace: newWorkspace, url: newUrl, }, { withCredentials: true, }, ) .then((response) => { console.log('modalData :', response); mutate(); setShowCreateWorkspaceModal(false); setNewWorkpsace(''); setNewUrl(''); console.log('data check CreateWS: ', UserData); }) .catch((error) => { console.dir(error); toast.error(error.response?.data, { position: 'bottom-center' }); }); }, [newWorkspace, newUrl], ); // if (!data) { // console.log('data check back to login: ', data); // return <Redirect to="/login" />; // } console.log(' :', UserData); return ( <div> <Header> <span onClick={onClickUserProfile}> <ProfileImg src="../../img/leaf_toy.png" alt="fail to load profile" /> {showUserMenu && ( <Menu style={{ right: 0, top: 38 }} show={showUserMenu} onCloseModal={onClickUserProfile}> <ProfileModal> <img src="../../img/leaf_toy.png" /> <div> <span id="profile-name">{UserData ? UserData.nickname : 'false'}</span> <span id="profile-active">Active</span> </div> </ProfileModal> <LogOutButton onClick={onLogout}>로그아웃</LogOutButton> </Menu> )} </span> </Header> <WorkspaceWrapper> <Workspaces> {UserData !== false && UserData?.Workspaces?.map((ws) => { return ( <Link key={ws.id} to={`/workspace/${ws.id}/channel/일반`}> <WorkspaceButton>{ws.name.slice(0, 1).toUpperCase()}</WorkspaceButton> </Link> ); })} <AddButton onClick={onClickCreateWorkspace}>+</AddButton> </Workspaces> <Channels> <WorkspaceName>Select</WorkspaceName> <MenuScroll>menuScroll</MenuScroll> </Channels> <Chats> <Switch> <Route path="/workspace/channel" component={Channel} /> <Route path="/workspace/dm" component={DirectMessage} /> </Switch> </Chats> </WorkspaceWrapper> <Modal show={showCreateWorkspaceModal} onCloseModal={onCloseModal}> <form onSubmit={onCreateWorkspace}> <Label id="workspace-label"> <span>workspace 이름</span> <Input id="workspace" value={newWorkspace} onChange={onChangeNewWorkspace}></Input> </Label> <Label id="workspace-url-label"> <span>workspace url</span> <Input id="workspace" value={newUrl} onChange={onChangeNewUrl}></Input> </Label> <Button type="submit">생성하기</Button> </form> </Modal> </div> ); }; export default Workspace; 또, fetcher의 문제일 수 있을 것 같아, fetcher의 코드 또한 올려봅니다. import axios from 'axios'; import React from 'react'; const fetcher = <Data,>(url: string): any => { axios.get<Data>(url, { withCredentials: true }).then((response) => response.data); }; export default fetcher;
-
해결됨[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
fetchData()
안녕하세요, 선생님.StatModel.fromJson(json: jasonData) 로 데이터 값을 받아 올 때...'에어코리아'에서 제공해주는 데이터의 값이"-"로 표시된 경우 값을 받아오지 못하고 Error를 던집니다. 예를 들면, no2Value = double.parse(json['no2Value'] ?? '0'),경우 Double로 파싱해서 받아오거나 값이 없으면 '0'으로 반환해 주고 있는데 "-"값으로 처리된 데이터의 경우 어떻게 처리해 주면 값을 받아 올 수 있을지??? 좋은 방법 있을까요? 이 값 때문에 알 수 없는 다양한 에러가 계속 발생하고 있었습니다......
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
강의 추가 계획
강의 잘 보고 있습니다. 언제나 감사드립니다.궁금한점은 강의 내용중에 aos, ios배포방법은 빠져있는데 강사님 책에는 배포방법이 있더라구요물론 인터넷으로 찾아서 방법을 알 수 있겠지만 강의들으면서 차근차근 공부하고 싶어서요.혹시 배포방법을 강의에 추가할 계획이 있을까요?아님 강사님 책을사서 봐야하나요 (보니깐 다른부분은 해당 강의와 겹치는 내용이 많아 보여서요) +그리고 추가로 해당 강의에 구글광고 연동하는것도 추가하실 계획이 있는지 말씀주세여!
-
미해결Slack 클론 코딩[실시간 채팅 with React]
dist 폴더 안에 js파일 네임이 달라요
6:00 에 dist 파일이제 파일이랑 구조가 다른데 따로 설정을 해주신건가요??
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
영상통화 6.x.x 프로젝트 세팅 관련
영상통화 6.x.x 버전에 있는 프로젝트 셋팅 강의가 영상통화 6.x.x 버전과 맞지 않는 것 같아서 강의를 그대로 따라해도 셋팅과정에서 오류가 생깁니다. 프로젝트 셋팅 강의는 agora 4.x.x 기준으로 진행되는 것 같은데 4.x.x 버전과 6.x.x 버전에서 셋팅하는 코드가 다르기 때문인지 그대로 붙여넣기를 했는데 빨간줄로 오류가 발생하고, permisson_handler도 영상에 나온 버전이랑 현재 최신 버전이랑 달라서 ios 셋팅과정에서 Podfile가 나오지 않는 오류가 발생합니다. 저만 잘못 따라온 걸까요.. 해결 부탁드립니다 ㅠㅠ
-
해결됨Slack 클론 코딩[실시간 채팅 with React]
useSWRInfinite import
import useSWR, { useSWRInfinite } from 'swr'; const { data: chatData, mutate: mutateChat, revalidate, setSize } = useSWRInfinite<IDM[]>( (index) => `/api/workspaces/${workspace}/dms/${id}/chats?perPage=20&page=${index + 1}`, fetcher, );이렇게 하면 useSWRInfinite 가 import가 안되는데,import useSWRInfinite from 'swr/infinite'이렇게 따로 import 해주어야 import가 제대로 되네요
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
flutter doctor 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.코드팩토리 디스코드https://bit.ly/3HzRzUMFlutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다! 안녕하세요 강사님flutter doctor를 진행했을 때 해당 문제가 생겨 질문드립니다. 구글링 해보고 설치를 진행해봤는데 잘 모르겠습니다 ㅠㅠ
-
해결됨쉽게 배우고, 포트폴리오로 만드는 반응형 웹! #설화수
css bacground-image를 인식하지 못합니다.
경로를 확실히 주었는데 vs code에서는 작동하지만 intellij 에서는 적용되지 않습니다.다른 방법은 없을까요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
Docker 질문
소스코드에 server와 client에도 Dockerfile이 있던데 이걸로 Dockerlize가 되나요?
-
해결됨Slack 클론 코딩[실시간 채팅 with React]
@types/loadable__component module not found error 도와주시면 감사하겠습니다.!
에러해결 시도현황 (하단에 npm list 첨부했습니다.)생각한 원인node_moduels\@loadable\component 의 경로로 탐색을 하는 상황인데 npm i @types/loadable__component 결과로 다운받은 모듈의 위치는 @types 디렉토리아래 존재하는 상황이므로 노드가 경로를 못찾나? 라고 생각했습니다.=> 첫 시도에러 상황: module not fount 상황으로 @types directory 를 찾지 못해 생긴 문제로 생각했습니다.에러 메시지vscode 상황브라우저 상황=> @types 를 추가해 경로를 고쳐봤습니다. 마우스를 올리면 이런식으로 나오는데, 브라우저에서는 module not found 가 나옵니다.브라우저 상황=> 두 번째 시도에러 추론.. webpack 문제?잘은 모르지만, webpack config에 @loadable 을 추가해봐도 해결이 안됩니다. => @loadable 이 없는 상황에도 에러가 납니다. => @loadbale resolve argument 로, (__dirname, '@types') 에러납니다. (import loadable from '@loadable/component' 상황입니다.) => @loadable resolve argument 로, (__dirname, '@types/loadable__component') 에러납니다. (import loadable from '@loadable/component' 상황입니다.) 두 번째 시도의 에러 첨부본 모두 vscode 를 재부팅후 npm run dev를 실행한 결과입니다. ref) => npm list
-
미해결Slack 클론 코딩[실시간 채팅 with React]
? 연산자
아래의 코드에서 다음과 같은 에러가 나타납니다 {member.id === userData?.id && <span> (나)</span>}"'false | IUser' 형식에 'id' 속성이 없습니다.'false' 형식에 'id' 속성이 없습니다.",userData?.id는 userData가 존재할때만 id property에 접근하고, userData가 false면 접근하지 않는 것으로 알고 있는데, 왜 저러한 오류가 나타나는지 의문입니다.이전에도 error.response?.data 같은 문법을 많이 썼는데, 왜 저게 오류인지 의문입니다.
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Window 세팅중 오류사항
도저히 모르겠습니다. 어제오늘 시간 다 날렸네요^^;
-
미해결Slack 클론 코딩[실시간 채팅 with React]
mutate, revalidate
4: 48 mutate 대신 revalidate를 사용하셨는데revalidate가 지금은 사용하지 않는 단어라서 지금까지 mutate로 대체해서 사용했어요제로초님처럼 로그인 했을 때 에러가 나진 않는데 바꾸지 않아도 되나요??