묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
sort 사용해도 괜찮은 걸까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
노드js 14버젼 설치 안되시는 분 참조하세요
node.js 14.x is no longer actively supported이하 뭐시기 떠서 개열받았는데https://corona-world.tistory.com/83 여기 보시는 방법대로 하시면 잘 됩니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
ManyToMany 테이블이 자동으로 만들어지지 않습니다..
import { ProductCategory } from 'src/apis/productsCategories/entites/productCategory.entity'; import { ProductSaleslocation } from 'src/apis/productsSaleslocations/entities/productSaleslocation.entity'; import { ProductTag } from 'src/apis/productsTags/entities/productTag.entity'; import { User } from 'src/apis/users/entities/user.entity'; import { Column, Entity, JoinColumn, JoinTable, ManyToMany, ManyToOne, OneToOne, PrimaryGeneratedColumn, } from 'typeorm'; @Entity() export class Product { @PrimaryGeneratedColumn('uuid') id: string; @Column() name: string; @Column() description: string; @Column() price: number; @Column({ default: false }) isSoldout: boolean; @JoinColumn() // 1:1 연결에서는 두 테이블 중 중심을 정하는 JoinColumn을 달아주어야한다. @OneToOne(() => ProductSaleslocation) // 일대일 연결. 어떤 테이블이랑 연결될지 표기. ProductSaleslocation 테이블과 연결 할 것이다. productSaleslocation: ProductSaleslocation; // 그 때 사용되는 Column은 productSaleslocation이고 타입은 다음과 같다, FK @ManyToOne(() => ProductCategory) // many가 Product 한개인게 Category productCategory: ProductCategory; // FK @ManyToOne(() => User) user: User; @JoinTable() // ManyToMany는 둘 중 하나에 JoinTable 작성 @ManyToMany(() => ProductTag, (productTags) => productTags.products) // 상대방 입장에서 나를 볼 때 products productTags: ProductTag[]; // 객체가 여러개이기 떄문에 객체 배열타입 사용 } import { Product } from 'src/apis/products/entities/product.entity'; import { Column, Entity, ManyToMany, PrimaryGeneratedColumn } from 'typeorm'; @Entity() export class ProductTag { @PrimaryGeneratedColumn('uuid') id: string; @Column() name: string; @ManyToMany(() => Product, (products) => products.productTags) products: Product[]; }ManyToMany 설정했는데.. product_product_tags_product_tag 테이블이 자동으로 생성이 안되네요. 코드 말고 건드려줘야 할 부분이 있나요?
-
미해결자바스크립트 : 기초부터 실전까지 올인원
강의가 재생이 안됩니다.
해당 강의(자바스크립트에서 API를 불러보자) 재생 버튼 누르면 동작하지 않고 그 전 강의에서 다음강의 수강하러가기로 이동해도 건너띄어지는데 확인좀부탁드립니다
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
폴더, 파일, 함수 생성시 s붙이는 기준
product vs products 와 같이파일 및 폴더 생성시 s를 붙이는 기준이좀 해깔리는데,어디에서 설명해주셨는지 기억이 안나서질문 드립니다~답변 주시면 감사하겠습니다~1.apis 아래 1depth 폴더에는 s를 붙임apis/products 2. entities 폴더 내부 파일 s 안붙임entities/product.entity.ts 3.module.ts, resolver.ts, service.ts 에는 s붙임src/products/products.module.tssrc/products/products.resolver.tssrc/products/products.service.ts
-
해결됨[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
섹션 19 Authorization 탭 이용해서 Basic 토큰 보내기 음량 문제
음량이 갑자기 작아진 강의 입니다. 빠른 피드백 감사합니다. 코드팩토리 통합 링크https://links.codefactory.aiFlutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다!
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
reduce방식으로 풀어보았습니다.
감사합니다.function solution(array) { let continuous = 0; return array.reduce((pre, current) => { current === 1 ? continuous++ : (continuous = 0); return pre + continuous; }, 0); } console.log(solution([1, 0, 1, 1, 1, 0, 0, 1, 1, 0]));
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
map을 이용해서 풀어 보았습니다
원본 배열 길이와 반환 배열 길이가 같기 때문에 map 함수를 이용하였고, if else 분기문을 가독성 좋게 switch case를 이용하였습니다.function solution(array, array2) { return array.map((v, index) => { if (v === array2[index]) return "D"; switch (v) { case 1: return array2[index] === 2 ? "B" : "A"; case 2: return array2[index] === 1 ? "A" : "B"; case 3: return array2[index] === 1 ? "B" : "A"; } }); } console.log(solution([2, 3, 3, 1, 3], [1, 1, 2, 2, 3]));
-
해결됨[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
enum 컬럼 옵션에 대한 질문합니다.
10강의 Typeorm 이론의 EnumColumn에서는 EumColumn에서는 @Column({ type : 'enum', enum : Role, default : Role.USER, }) role: Role;enum에 Role 타입을 enum : Role 이렇게 넣고 11강의 Relations강의에서 Enum Column에서는@Column({ enum : Object.values(RolesEnum), type : 'enum', default : RolesEnum.USER }) role : RolesEnum;옵션에서 enum : Object.values(RolesEnum)로 설정을 하는데 무슨 차이가 있나요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
게시판만들다가 질문드립니다
import "./App.css"; import { BrowserRouter, Route, Routes } from "react-router-dom"; import MainPage from "./pages/MainPage"; import Board from "./pages/Board"; import { useEffect } from "react"; function App() { useEffect(() => console.log("app is loading"), []); return ( <BrowserRouter> <Routes> <Route path="/" element={<MainPage />}></Route> <Route path="/board/:bbsId" element={<Board />}></Route> <Route path="/board/:bbsId/new" element={<Board />}></Route> </Routes> </BrowserRouter> ); } export default App; import React, { useEffect, useState } from "react"; import { useNavigate, useParams } from "react-router-dom"; // useParams를 import import BoardList from "../pagesComponent/BoardList"; import BoardEdit from "../pagesComponent/BoardEdit"; import BoardView from "../pagesComponent/BoardView"; import Layout from "../layout/Layout"; import axios from "axios"; export const BbsSettingContext = React.createContext(); const Board = () => { const { bbsId } = useParams(); // const [currentUrl, setCurrentUrl] = useState(null); const [boardSettData, setBoardSettingData] = useState(null); useEffect(() => { let mode = window.location.pathname.split("/")[3] == null ? "list" : window.location.pathname.split("/")[3]; console.log(`mode::::::::::::::${mode}`); setCurrentUrl(mode); axios .get("http://localhost:8080/board/" + bbsId) .then((response) => { const boardSettData = response.data.bbsEntity; console.log(boardSettData); setBoardSettingData(boardSettData); }) .catch((error) => console.log(error)); }, [currentUrl]); return ( <BbsSettingContext.Provider value={boardSettData}> {currentUrl == "list" ? ( <Layout> <BoardList /> </Layout> ) : currentUrl == "new" ? ( <Layout> <BoardEdit /> </Layout> ) : currentUrl == "edit" ? ( <Layout> <BoardEdit /> </Layout> ) : currentUrl == "view" ? ( <Layout> <BoardView /> </Layout> ) : ( <BoardList /> )} </BbsSettingContext.Provider> ); }; export default Board; import React from "react"; import { useContext, useHistory } from "react"; import { BbsSettingContext } from "../pages/Board"; import PageNationPage from "./PageNationPage"; import { useNavigate } from "react-router-dom"; const BoardList = () => { const boardSetData = useContext(BbsSettingContext); console.log(boardSetData); const Navigate = useNavigate(); const handleBoardEdit = () => { // 원하는 동작을 수행할 코드를 여기에 추가 console.log("쓰기로 이동"); Navigate("/board/1/new"); }; return ( <div className="BoardList"> <table className="bbsTable"> <colgroup> <col style={{ width: "10%" }} /> <col style={{ width: "40%" }} /> <col style={{ width: "10%" }} /> <col style={{ width: "20%" }} /> <col style={{ width: "10%" }} /> </colgroup> <thead> <tr> <th scope="col">번호</th> <th scope="col">제목</th> <th scope="col">작성자</th> <th scope="col">등록일</th> <th scope="col"> 조회</th> </tr> </thead> </table> <PageNationPage /> <button onClick={handleBoardEdit}>쓰기</button> </div> ); }; export default BoardList; import React from "react"; import { useState, useEffect, useContext } from "react"; import { BbsSettingContext } from "../pages/Board"; const BoardEdit = () => { const boardSetData = useContext(BbsSettingContext); console.log(boardSetData); return <div>BoardEdit</div>; }; export default BoardEdit; 안녕하세요 다름이 아니라 일기장 보고 게시판을 응용해서 만들던 도중에 안되는게 있어서 질문드립니다.http://localhost:3000/board/1이 리스트로 나오는데요 ...거기서 쓰기를 누르면 http://localhost:3000/board/1/new으로 위에 url은 바뀌는데밑에 ui는 전혀 바뀌질 않습니다 .그리고 Board.js에 useEffect쪽에 콘솔로 찍어봐도 들어오지가 않는데 이유를 좀 알수있을까요 ????? 근데 쓰기 버튼말고 그냥 직접 url을 입력하고 enter를 입력하면 이동합니다 .
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃헙 권한 요청드립니다
인프런 아이디 : sangkipm@gmail.com인프런 이메일 : sangkipm@gmail.com깃헙 아이디 : sangkipm@gmail.com깃헙 username : kimsangkipm
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
fragment 질문
fragment는 메모리를 사용하니까 직접 화면에 그리는것보다 빠른 건가요?그렇다면 메모리 속도 > 화면 그리는 속도 라고 봐도 될까요??
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이렇게해도 괜찮은걸까요?
(사진)
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
제시어가 비어잇는가 ???
여기서 왜 if(!word) 를 해석하면 왜 이게 word 가 언디 파인드라고 하면 false 가되고 여기에 !주면 true 인건 알겟는데 워드가 트루인경우이지 이게왜 제시어가 비어잇는경우인가요 ????? 말자체가이해가 안되는데요 ??? 저는 이게 어떤원리로 돌아가는지 그림으로 안그려집니다 ㅜㅜ if(!word) // 제시어가 비어잇는가? { // 비어잇다 word = newWord; // 입력한단어가 제시어가 된다 // $word.textContent = word; $input.value=''; }
-
미해결Vue.js 시작하기 - Age of Vue.js
props 이름 명명 시 주의사항?
props의 이름을 정할 때 카멜식으로 했더니 인식이 안되네요.. 대소문자 섞이면 안되나요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
filter를 이용해서 풀어보았습니다.
감사합니다. // 내코드 function solution(array) { let max = 0; return array.filter((v) => { if (v > max) { max = v; return true; } }).length; } console.log(solution([130, 135, 148, 140, 145, 150, 150, 153]));결과는 : [130,135,148,150,153] 5가 나옵니다
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
filter를 이용한 풀이
강의 보기전 제가 문제를 제대로 이해 했는지 모르겠으나,첫줄6과 7을 비교를 처음 시작, 그 이후 부터 자신의 바로 앞 수보다 큰 수만 출력 이렇게 이해해서 filter와 삼항연산자를 이용하여 풀어보았습니다.function solution(num, array) { return array.filter((v, index) => index === 0 ? v > num : array[index] > array[index - 1] ); } console.log(solution(6, [7, 3, 9, 5, 6, 12]));
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
Promise, resolve, setTimeout에 대한 질문입니다.
async function aaa() { console.log(1); console.log(2); await new Promise((resolve, reject) => { setTimeout(resolve, 3000); }).then(() => { console.log("히히히"); }); console.log(3); } aaa();async function aaa() { console.log(1); console.log(2); await new Promise((resolve, reject) => { setTimeout(() => {}, 3000); }).then(() => { console.log("히히히"); }); console.log(3); } aaa(); 맨위의 코드는 12히히히3 이렇게 잘 찍힙니다. 위의 코드에서 setTimeout(resolve,3000) 에서 resolve를 ()=>{} 로 바꾸니, 12 이렇게 찍힙니다. resolve라는 것을 쓰지 않음으로써 then으로 가지 못해 console.log('히히히')가 동작을 하지 않는 것은 이해가 되는데, promise 외부 코드인 console.log(3); 이 동작하지 않는건 이해가 되지 않습니다. resolve에 뭔가 더 특별한 기능이 더 있는 건가요??
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
코드 작성..
function onLeftClick(e) { const target = e.target; const rowIndex = target.parentNode.rowIndex; const cellIndex = target.cellIndex; const clikedCellData = tableData[rowIndex][cellIndex]; console.log(clikedCellData); if (clikedCellData === CODE.FLAG || clikedCellData === CODE.QUESTION) { console.log('click') return; } if (clikedCellData === CODE.FLAG_MINE || clikedCellData === CODE.QUESTION_MINE || clikedCellData === CODE.MINE) { alert('펑!'); return; } if (clikedCellData === CODE.NORMAL) { const mineCount = countMine(rowIndex, cellIndex); target.textContent = mineCount || ''; target.className = 'opened'; tableData[rowIndex][cellIndex] = mineCount; } }순서도대로 작성해봤는데 강좌 코드랑 if문 순서가 다릅니다. 제대로 동작은 하는거같아요! 어떤게 더 좋은 방법인가요? 더 좋은 if문 작성 팁이 따로있을까요?
-
해결됨웹 애니메이션을 위한 GSAP 가이드 Part.02
.left는 quickTo를 쓰지 않는 이유
.left도 지속적으로 x를 호출하니 quickTo를 쓰면 더 좋지않을까 라고 생각했는데 .left는 to로 컨트롤하시는 이유가 있을까요?quickTo의 기본값이 픽셀이라 퍼센트 넣으면 동작이 이상해지던데 혹시 이런 이유일까요?!