묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결처음하는 플러터(Flutter) 기초부터 실전까지 [풀스택 Part4] (쉽고 견고하게 단계별로 다양한 프로젝트까지)
챕터별 퀴즈 자료 문의
강의 덕분에 빠르게 언어에 대하여 이해를 하는 중입니다. 감사합니다.혹시 퀴즈에 대한 공유 문서는 제공이 안되는 것인가요? 문제를 한번에 풀고 영상을 보고 싶은데 퀴즈 파일은 따로 공유받은것이 없습니다..!
-
해결됨Slack 클론 코딩[백엔드 with NestJS + TypeORM]
Entity, Dto 관련해서 궁금증이 있습니다! (오류 사항은 아니지만.. 갑자기 궁금해져서 글을 남기게 되었습니다.)
안녕하세요. 해당 강의를 보다가 궁금증이 생겨서 글을 남기게 되었습니다.Entity는 디비 테이블의 컬럼들을 작성(실제 컬럼 및 디비에 없는 컬럼들까지)하고 Dto는 요청에서 받는 타입들을 작성하고 해당 타입들을 Controller 전에 검증해주는 클래스라고 알고 있었습니다. 궁금한건 아래 2가지 인 것 같습니다.Entity는 디비 테이블의 컬럼을 / Dto는 타입 검증을 위한 데코레이터들을 작성하는 클래스로 분리되는 개념으로 생각해왔었는데 잘 못 생각하고 있었던건가요??만약, Dto 클래스에 있는 컬럼들을 생략하면 nickName?: string; 처럼 선택적 옵션들과 @IsString()등 타입 검증을 해주는 데코레이터들을 전부 Entity에 작성해주는 건가요?? 저는 Entity는 건들이지 않고 Dto에서 선택적 옵션과 타입 검증들의 데코레이터를 사용하고 있었어서 궁금해졌습니다..!
-
미해결[실전]텍스톰 TEXTOM 실전 강의: 빅데이터 논문 작성을 위한 텍스트 분석/텍스트마이닝
기 정제한 데이터의 영문 수정 가능 여부
강의 잘 들었습니다.그림, 표 영문 작성 논문의 경우 워드클라우드의 한글 텍스트를 영문으로 변경하고 싶은데 프로그램 내에서 변경 가능할까요?
-
미해결스프링 핵심 원리 - 기본편
인텔리제이 깃 다운시 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 강의 내용을 git으로 private로 커밋하여 다른 강의를 옮겨듣던 기존의 노트북에 내려받았습니다.내려받은 경우 화면과 같이 애너테이션이 작동하는건지 안하는건지.. 그냥 디스플레이 설정이 다른건지는 잘 모르겠는데 좌측에 .bean 초록색이나 실행버튼이 노출되지 않는 현상은 어떠한 현상일까요..?
-
미해결
수강중 시간이 지난후 들을려고하니 기록이 없음ㅡ무제한 수강가능과목 ㅡAWS CI CD 등
수강중 시간이 지난후 들을려고하니 기록이 없음ㅡ무제한 수강가능과목 ㅡAWS CI CD 등 해결요망
-
미해결
수강중 시간이 지난후 들을려고하니 기록이 없음ㅡ무제한 수강가능과목 ㅡAWS CI CD 등
수강중 시간이 지난후 들을려고하니 기록이 없음ㅡ무제한 수강가능과목 ㅡAWS CI CD 등
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-X 시간초과 질문입니다!
안녕하세요!extendCCTV함수 부분에서 강의 코드와 살짝 다르게 모든 while문을 다음과 같이 작성했더니 시간 초과가 발생합니다! 내부의 조건문을 이렇게 작성했을 때 시간초과가 발생하는 이유가 궁금합니다..!while(true) { int ny = y + dy[dir]; int nx = x + dx[dir]; if(ny<0 || ny>=n || nx<0 || nx>=m || a[ny][nx]==6) break; if(a[ny][nx] == 0) { a[ny][nx] = 8; _change.push_back({ny, nx}); } y = ny; x = nx; }
-
미해결Slack 클론 코딩[실시간 채팅 with React]
프로젝트에 사용할 상태와 로직 관리 라이브러리 훅 사용 질문입니다.
로그인 및 인증,인가(세션,jwt둘다 사용), 게시판(이미지포함), 댓글, 소켓채팅 정도의 기능을 구현하여 테스트 코드와 docker로 띄워서 CI/CD까지 구현하려고 합니다. 상태랑 로직 관리를 useReducer, React Context API, React Query, redux, graphql 정도로 생각하고 있는데 어떤걸로 하는게 좋을까요?!
-
미해결[React 1부] 만들고 비교하며 학습하는 React
프로젝트에 사용할 상태와 로직 관리 라이브러리 훅 사용 질문입니다.
로그인 및 인증,인가(세션,jwt둘다 사용), 게시판(이미지포함), 댓글, 소켓채팅 정도의 기능을 구현하여 테스트 코드와 docker로 띄워서 CI/CD까지 구현하려고 합니다. 상태랑 로직 관리를 useReducer, React Context API, React Query, redux, graphql 정도로 생각하고 있는데 어떤걸로 하는게 좋을까요?!
-
해결됨만들면서 배우는 리액트 : 기초
프로젝트에 사용할 상태와 로직 관리 라이브러리 훅 사용 질문입니다.
로그인 및 인증,인가(세션,jwt둘다 사용), 게시판(이미지포함), 댓글, 소켓채팅 정도의 기능을 구현하여 테스트 코드와 docker로 띄워서 CI/CD까지 구현하려고 합니다. 상태랑 로직 관리를 useReducer, React Context API, React Query, redux, graphql 정도로 생각하고 있는데 어떤걸로 하는게 좋을까요?!
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
프로젝트에 사용할 상태와 로직 관리 라이브러리 훅 사용 질문입니다.
로그인 및 인증,인가(세션,jwt둘다 사용), 게시판(이미지포함), 댓글, 소켓채팅 정도의 기능을 구현하여 테스트 코드와 docker로 띄워서 CI/CD까지 구현하려고 합니다.상태랑 로직 관리를 useReducer, React Context API, React Query, redux, graphql 정도로 생각하고 있는데 어떤걸로 하는게 좋을까요?!
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
프로젝트에 사용할 상태와 로직 관리 라이브러리 훅 사용 질문입니다.
로그인 및 인증,인가(세션,jwt둘다 사용), 게시판(이미지포함), 댓글, 소켓채팅 정도의 기능을 구현하여 테스트 코드와 docker로 띄워서 CI/CD까지 구현하려고 합니다.상태랑 로직 관리를 useReducer, React Context API, React Query, redux, graphql 정도로 생각하고 있는데 어떤걸로 하는게 좋을까요?!
-
미해결스프링 핵심 원리 - 기본편
도대체 뭐가 문제인지 모르겠녜요..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 2시간동안 계속 찾아봤는데 뭐가 문지인지 모르겠습니다... nullpoint가 계속 뜨네요ㅕ
-
미해결C로 배우는 자료구조 및 여러가지 예제 실습
배열대신 포인터 arithmetic으로 써야하는 이유가 있을까요?
배열대신 포인터 arithmetic으로 써야하는 이유가 있을까요?
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
npm run seed 실행해도 테이블의 기본값이 생성되지 않는 이유가 뭔가요..??
안녕하세요.npm run seed를 실행하면 아래와 같은 내용만 나오고 기본 값 생성이 되지 않습니다. 에러 메세지가 Unknown arguments: d, seed 이것뿐인 것 같은데.. 알 수 없는 인수.. d, seed가 무슨 말인지 모르겠습니다.a-nest@0.0.1 seed > ts-node ./node_modules/typeorm-extension/bin/cli.cjs seed -d ./dataSource.ts Usage: typeorm-extension <command> [options] Commands: typeorm-extension db:create Create database. typeorm-extension db:drop Drop database. typeorm-extension seed:run Populate the database with an initial data set or generated data by a factory. typeorm-extension seed:create Create a seeder file. Options: -h, --help Show help [boolean] -v, --version Show version number [boolean] Unknown arguments: d, seed dataSource.tsimport { DataSource } from 'typeorm'; import dotenv from 'dotenv'; import { ChannelChats } from './src/entities/ChannelChats'; import { ChannelMembers } from './src/entities/ChannelMembers'; import { Channels } from './src/entities/Channels'; import { DMs } from './src/entities/DMs'; import { Mentions } from './src/entities/Mentions'; import { Users } from './src/entities/Users'; import { WorkspaceMembers } from './src/entities/WorkspaceMembers'; import { Workspaces } from './src/entities/Workspaces'; dotenv.config(); const dataSource = new DataSource({ type: 'mysql', host: 'localhost', port: 3306, username: process.env.DB_USERNAME, password: process.env.DB_PASSWORD, database: process.env.DB_DATABASE, entities: [ ChannelChats, ChannelMembers, Channels, DMs, Mentions, Users, WorkspaceMembers, Workspaces, ], migrations: [__dirname + '/src/migrations/*.ts'], charset: 'utf8mb4_general_ci', synchronize: false, logging: true, }); export default dataSource; create-initial-data.tsimport { Seeder, SeederFactoryManager } from 'typeorm-extension'; import { DataSource } from 'typeorm'; import { Workspaces } from '../../entities/Workspaces'; import { Channels } from '../../entities/Channels'; export default class UserSeeder implements Seeder { public async run( dataSource: DataSource, factoryManager: SeederFactoryManager, ): Promise<any> { const workspacesRepository = dataSource.getRepository(Workspaces); await workspacesRepository.insert([ { id: 1, name: 'Sleact', url: 'sleact', }, ]); const channelsRepository = dataSource.getRepository(Channels); await channelsRepository.insert([ { id: 1, name: '일반', WorkspaceId: 1, private: false, }, ]); } } .envSECRET=제로초강의 PORT=3095 DB_USERNAME=root DB_PASSWORD=password DB_DATABASE=sleact package.json{ "name": "a-nest", "version": "0.0.1", "description": "", "author": "", "private": true, "license": "UNLICENSED", "scripts": { "build": "nest build", "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "start": "nest start", "start:dev-backup": "nest start --watch", "start:dev": "nest build --webpack --webpackPath webpack-hmr.config.js --watch", "start:debug": "nest start --debug --watch", "start:prod": "node dist/main", "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", "test": "jest", "test:watch": "jest --watch", "test:cov": "jest --coverage", "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", "test:e2e": "jest --config ./test/jest-e2e.json", "typeorm": "node --require ts-node/register ./node_modules/typeorm/cli.js", "db:create": "ts-node ./node_modules/typeorm-extension/bin/cli.cjs db:create -d ./dataSource.ts", "db:drop": "ts-node ./node_modules/typeorm-extension/bin/cli.cjs db:drop -d ./dataSource.ts", "seed": "ts-node ./node_modules/typeorm-extension/bin/cli.cjs seed -d ./dataSource.ts", "schema:drop": "ts-node ./node_modules/typeorm/cli.js schema:drop", "schema:sync": "ts-node ./node_modules/typeorm/cli.js schema:sync", "db:migrate": "npm run typeorm migration:run -- -d ./dataSource.ts", "db:migrate:revert": "npm run typeorm migration:revert -- -d ./dataSource.ts", "db:create-migration": "npm run typeorm migration:create -- ./src/migrations/", "db:generate-migration": "npm run typeorm migration:generate -- ./src/migrations -d ./dataSource.ts" }, "dependencies": { "@nestjs/common": "^10.0.0", "@nestjs/config": "^3.0.0", "@nestjs/core": "^10.0.0", "@nestjs/platform-express": "^10.0.0", "@nestjs/swagger": "^7.1.2", "@nestjs/typeorm": "^10.0.0", "bcrypt": "^5.1.0", "class-validator": "^0.14.0", "mysql2": "^3.6.0", "reflect-metadata": "^0.1.13", "rxjs": "^7.8.1", "swagger-ui-express": "^5.0.0", "typeorm-extension": "^3.0.1" }, "devDependencies": { "@nestjs/cli": "^10.0.0", "@nestjs/schematics": "^10.0.0", "@nestjs/testing": "^10.0.0", "@types/express": "^4.17.17", "@types/jest": "^29.5.2", "@types/node": "^20.3.1", "@types/supertest": "^2.0.12", "@typescript-eslint/eslint-plugin": "^5.59.11", "@typescript-eslint/parser": "^5.59.11", "eslint": "^8.42.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", "jest": "^29.5.0", "prettier": "^2.8.8", "run-script-webpack-plugin": "^0.2.0", "source-map-support": "^0.5.21", "supertest": "^6.3.3", "ts-jest": "^29.1.0", "ts-loader": "^9.4.3", "ts-node": "^10.9.1", "tsconfig-paths": "^4.2.0", "typeorm-model-generator": "^0.4.6", "typescript": "^5.1.3", "webpack": "^5.88.2", "webpack-node-externals": "^3.0.0" }, "jest": { "moduleFileExtensions": [ "js", "json", "ts" ], "rootDir": "src", "testRegex": ".*\\.spec\\.ts$", "transform": { "^.+\\.(t|j)s$": "ts-jest" }, "collectCoverageFrom": [ "**/*.(t|j)s" ], "coverageDirectory": "../coverage", "testEnvironment": "node" } } 혹시 경로를 못찾는 건가 싶어서 데이터소스 파일쪽에 seeds의 경로를 넣어주려고 했으나 seeds에 오류가 발생해서 다시 원복 시켰었습니다.(src>database>seeds>create-initial-data.ts 파일은 제로초님 깃에서 복붙했습니다.)강의에서 듣기로는 dataSource > create-initial-data 로 넘어가면서 기본 값이 생성된다고 들었는데요 어디 부분을 확인해봐야 할까요??
-
미해결만들면서 배우는 프론트엔드 DO IT 코딩 (Next.js, Typescript)
배포 후 오류
선생님! 안녕하세요배포 전 작동 잘 되는 지 확인 후,배포 후 로그인 까지는 잘 되는데, / 하고 사용자 홈페이지에 들어갔을 때 '사용자를 찾을 수 없습니다'오류가 생깁니다.getServerSideProps 코드입니다.export const getServerSideProps: GetServerSideProps<Props> = async ({ query }) => { const { screenName } = query; if (screenName === undefined) { return { props: { userInfo: null, screenName: '', }, }; } const screenNameToStr = Array.isArray(screenName) ? screenName[0] : screenName; try { const protocol = process.env.PROTOCOL || 'http'; const host = process.env.HOST || 'localhost'; const port = process.env.PORT || '3000'; const baseUrl = `${protocol}://${host}:${port}`; const userInfoResp: AxiosResponse<InAuthUser> = await axios(`${baseUrl}/api/user.info/${screenName}`); return { props: { userInfo: userInfoResp.data ?? null, screenName: screenNameToStr, }, }; } catch (err) { console.error(err); return { props: { userInfo: null, screenName: '', }, }; } };https://blah-blah-one.vercel.app/ 배포했습니다.vercel 설정은 아래와 같이 설정했습니다.firebase도메인 등록도 했습니다.다만 배포 후 도메인 주소는 위와 같이 변경되었습니다firebase콘솔도 잘 찍힙니다.어디가 문제 인지 확인해봐야할까요?(제 최종 깃허브 주소입니다. https://github.com/cccodus313/Blah-Blah)
-
미해결[하루 10분|Web Project] HTML/JS/CSS로 나만의 심리테스트 사이트 만들기
다음 버튼을 누르면 다음질문으로 넘어가게 만들고 싶어요.
안녕하세요.강의 잘 듣고 있습니다.다음 문제를 넘어갈때 답을 고르는게 아니라다음 버튼을 만들어서 그 버튼을 누르면 넘어가게 만들고 싶은데요. 어떻게 코드를 짜면 될지 너무 고민입니다 ㅠㅠ 혹시 알려주실 수 있나요? 간단하게 어떤 방식으로 짜면 된다라는 힌트라도 주시면 감사하겠습니다 ㅠㅠ
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
네이버를 시작페이지로 버튼이 없어요
내가 원하는 태그를 선택하자: beautifulsoup 강의에서 naver 메인에서 네이버를 시작페이지로 버튼을 크롤링하는 예제로 설명을 하셨는데, 현재 naver 홈에는 '네이버를 시작페이지로 버튼'이 존재하지 않습니다.. Q1 제가 이해한게 맞다면 '네이버를 시작페이지로 버튼'이 a태그에서 id로 작성되어 있고 id는 한 게 밖에 업어서 태그로 가져오기 좋은 속성?이라서 위 버튼을 예제로 사용하신 것 같은데, 없다면 어떤 버튼으로 크롤링을 해보면 좋을까요..? Q2 id를 가져오는게 아니면 가져오는 코드 부분에서 이름 앞에 #만 제거하면 정상적으로 작동하는건가요?
-
미해결피그마(Figma)를 활용한 UI디자인 입문부터 실전까지 A to Z
핸드오프 관련해서 궁금한 점이 있습니다.
안녕하세요. 강의를 보던 와중에 헷갈리는 부분이 있어서 질문드립니다.개발자에게 핸드오프 공 유시 특정 스크린만 공유하고 싶을 때는 스크린을 선택하여 링크를 보내면 된다고 하셨는데요.강의로 볼 때는 전체가 다 공유된 것 같은데 특정 스크린만 선택하여 공유하여도 다른 화면도 같이 보이게 되는 걸까요?그럼 특정 스크린과 전체 스크린을 공유할 때 개발자가 보는 화면에서 어떤 차이점이 있는지 궁금합니다.감사합니다.
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
40강 git bash 에서 git 사용에 관한 질문입니다.
안녕하세요 강사님,강의 정말 잘 듣고 있습니다!40강 관련 질문입니다.git init 명령어를 터미널에서 사용하니 C:/Users/library-app/.git: Permission denied이런 오류가 발생해서 git bash에서 git init을 사용해 보았더니 되더군요.그런데 git add . 입력하면 위와 같은 Permission denied가 또 발생합니다..git status를 입력 하면 아래와 같이 나왔습니다구글링 해 보니 ssh key를 등록하라고 해서 따라서 해 보고 github repository도 삭제했다가 다시 만들어서 실행 해 보았는데도 이렇습니다.무슨 이유에서 인지 .gitignore 파일도 만들어지지 않습니다.제가 구글링으로 해결하려고 이것저것 따라 하다가 더 꼬인 것 같긴 한데....도저히 어디서 부터 잘못된 것인지 모르겠어서 질문드립니다.