inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

우분투에서 작업시 윈도우로 mysql 설치하는 것에 관해서

미해결

[리뉴얼] React로 NodeBird SNS 만들기

제로초쌤 제가 우분투에서 Nodebird를 진행하고 있는데 더북에 써져있는 거처럼 리눅스(우분투)에서 설치하는 방법 그대로 설치하다가 Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (13) 소켓 에러가 계속 나서 해결하려고 인터넷에 찾아보면서 따라하고 있는데 해결이 안되서 혹시 윈도우로 mysql설치해서 진행해도 크게 차이가 없을까요?

  • redux
  • node.js
  • react
  • nodejs
  • express
  • next.js
  • Next.js
CJW 댓글 2 좋아요 0 조회수 421

최신 mysql 에 node.js 가 연결되지 않는 문제 해결 방법(session 9 - session store-mysql)

미해결

Node.Js 활용하기

"mysql -u root -p"해서 mysql을 들어가고, 다음과 같은 명령어를 실행해봅니다. ALTER USER 'root'@' localhost ' IDENTIFIED WITH mysql_native_password BY '0000' 그리고 app_session_mysql.js를 다시 실행하면 session table이 만들어진 것을 확인할 수 있습니다. "왜 최신 mysql에서 저렇게 해야 sessions table이 자동으로 만들어 지는가?"는 인터넷에 찾아보면 나와있습니다!

  • node.js
  • javascript
  • nodejs
박정인 댓글 1 좋아요 0 조회수 700

M:N 등록/조회 API 작성에서 Typescript 문제 질문드립니다.

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

안녕하세요. 제가 찾고 기다리던 내용의 강의라 매우 만족하며 수강하고 있는 수강생입니다! ㅎ products.service.ts 파일에서 create와 update 메서드 작성할 때 typescript 에러에 대해 질문드립니다. products.service.ts 파일 create 메서드에서 productTags를 등록하는 과정에 const result2 = [] 부분을 const result2: string[]로 작성하면 await productRepository.save (...) 에서 No overload matches this call이 뜨고 update 메서드에서 updateProductInput에 UpdateProductInput로 타입을 지정하면 위와 마찬가지로 await productRepository.save (newProduct)에서 No overload matches this call이 뜹니다. 두 경우 모두 Type 'string' is not assignable to type 'ProductTag' 문제로 product.entity.ts에서는 productTag를 아래와 같이 등록하고 @Field(() => [ProductTag]) @JoinTable() @ManyToMany(() => ProductTag, (productTags) => productTags.products) productTags: ProductTag[]; createProduct.input.ts에서는 CreateProductInput에서 productTag를 아래와 같이 등록해서 발생하는 문제라고 추측했습니다. @Field(() => [String]) productTags: string[]; 두 경우 모두 타입을 지정하지 않고 any로 두면 문제는 사라지긴 합니다. any로 두고 사용할 수밖에 없는 것인지 아니면 타입 지정을 해서 사용하는 방법이 있는지 궁금합니다.

  • nodejs
  • node.js
  • rest-api
  • docker
  • javascript
  • tdd
  • express
  • nestjs
  • NestJS
endymion cheon 댓글 1 좋아요 0 조회수 491

mysql 데이터베이스 연결 안되는 문제 Unable to connect to the database

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

yarn start:dev 실행 하고 나면 아래와 같이 나오면서 에러가 뜨고 있어요 ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)... 아래 코드도 정상적으로 기입 했는데, 계속 접속 오류로 연결이 되지가 않습니다. import { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo' import { Module } from '@nestjs/common' import { GraphQLModule } from '@nestjs/graphql' import { TypeOrmModule } from '@nestjs/typeorm' import { BoardsModule } from './apis/boards/boards.module' import { Board } from './apis/boards/entities/board.entity' @Module({ imports: [ BoardsModule, GraphQLModule.forRoot<ApolloDriverConfig>({ driver: ApolloDriver, autoSchemaFile: 'src/commons/graphql/schema.gql', }), TypeOrmModule.forRoot({ type: 'mysql', host: 'localhost', port: 3306, username: 'root', password: 'test1234', database: 'myproject03', entities: [Board], synchronize: true, logging: true, }), ], // controllers: [AppController], // providers: [AppService], }) export class AppModule {} 현재 brew 확인시 Mysql 서버도 정상적으로 켜져 있는것을 확인 할 수 있어요 디비버에서도myproject03 이라고 정확하게 만들었습니다. 선생님의 강의하고 다른부분을 못 찾았는데, 데이터 베이스가 연결이 안될 때는 어느부분을 더 점검 해 봐야 할지요?

  • tdd
  • node.js
  • javascript
  • express
  • rest-api
  • nodejs
  • docker
  • nestjs
  • NestJS
김형 댓글 1 좋아요 3 조회수 3730

length 오류

미해결

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

콘솔 결과와 error가 같이 출력됩니다!

  • html/css
  • react-native
  • react
  • node.js
  • express
  • nodejs
  • 머신러닝
  • javascript
  • 머신러닝 배워볼래요?
  • tensorflow
  • HTML/CSS
유영 댓글 1 좋아요 0 조회수 740

react-router-dom link클릭시 이동이 안되는 오류

미해결

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

안녕하세요 강사님 해당 상품을 클릭했을때 url은 바뀌지만 상품상세페이지로 화면은 바뀌지 않는 오류가 발생했습니다(새로고침하면 화면이 바뀌긴 합니다) 다른 수강생들의 비슷한 질문답변을 참고하여 <React.StrictMode>를 지워도보고 react-router-dom 버전도 5.2.0이고 Route path도 "/products/:id"라고 적었는데 여전히 오류가 해결되지 않습니다 https://github.com/kanghanju/grab-market-client/commit/01c0657f4f64398b47493c1b2c3b44836bf1a785# 여기는 Link태그 해당 수업코드 파일입니다!

  • html/css
  • HTML/CSS
  • 머신러닝 배워볼래요?
  • react
  • node.js
  • react-native
  • nodejs
  • 머신러닝
  • tensorflow
  • express
  • javascript
한조 댓글 2 좋아요 0 조회수 1588

네이버 항공권 관련 제가 작성한 코드 조심스럽게 공유해드립니다.ㅜ

미해결

파이썬 무료 강의 (활용편3) - 웹 스크래핑 (5시간)

안녕하세요 먼저 좋은 강의 해주시는 나도코딩님께 감사드립니다. 이전에 나름 정성들여 글을 작성했는데, 확인이 안돼서 다시 작성해봅니다. 제가 강의를 보고있는 2023년 1월 19일과 강의날인 2020년 8월과 네이버 항공권 인터페이스가 많이 상이하고, 셀레니움과 파이썬 버전이 달라 저의경우 아래와 같이 코드를 작성했습니다. 다른분들께 도움이 되었으면 좋겠습니다. 현재 저의 환경의 경우 python버전 3.10.7 버전이고 selenium또한 강의때 사용하신것 보다 더 높은 것으로 보입니다. 현재 제 경우와 강의내용과 상이한 부분은 아래와 같습니다. 네이버 항공권 진입시, "지금 바로 혜택 확인하기" 광고 팝업창 발생, 해당부분 get_attribute메소드를 사용해 title을 비교해, 팝업이 있다면 팝업을 삭제하는 XPATH를 확인해 해당 엘리먼트를 클릭하도록 구현 browser.find_element_by_class_name과 같이 find_element_by_~~ 메소드 사용불가 => 현재 제가 사용중인 셀레니움 버전이 상위 버전으로 보이는데, 이는 3 line과 같이 import By로 쉽게 수정 가능 find_elements_link_text 메소드 사용 불가 => 2020년대비 2023년 현재 네이버 항공권 웹페이지 인터페이스의 변화때문인지 "가는 날" 및 날짜 선택을 위해 해당 메소드 사용시 빈리스트만 반환 "가는 날"은 XPATH로 엘리먼트를 얻어와 클릭하도록 구현 원하는 날짜의 경우 class이름을 확인해 모든 날짜정보를 갖고와 원하는 날짜정보만 사용하도록 구현 (compute_date 함수 참고 부탁 드립니다.) 추가적으로, 이 경우에 1년치 달력정보를 모두 읽어와 속도가 매우 느린데 더 좋은 방법을 알고계신분은 공유 부탁드립니다. ( _ _ ) compute_date(dates, 30)[1].click() 코드를 이렇게 수정해 오는날을 2월 30일을 선택하려 했으나 3월 30일을 선택해, 코드 오류인줄 알고 디버깅해보니 2월달은 30일이 없었습니다...ㅎ 정상동작 중 입니다. 저와같이 초반에 고생하시는 분들께 조금이나마 도움이 되었으면 좋겠습니다. 감사합니다. import time from selenium import webdriver from selenium.webdriver.common.by import By URL = "https://flight.naver.com/" def compute_date(dates, target) -> list: print("compute entire date information from current month to limit") return [date for date in dates if date.text == str(target)] browser = webdriver.Chrome() # browser.maximize_window() browser.get(URL) time.sleep(1) # remove AD popup find = browser.find_elements(By.CLASS_NAME, "anchor") for f in find: if f.get_attribute("title") == "지금 바로 혜택 확인하기": browser.find_element(By.XPATH, '//*[@id="__next"]/div/div[1]/div[9]/div/div[2]/button[1]').click() print("remove pop up") break # push 가는 날 button also delay 1 sec is necessary, if don't use this, can not read date information. browser.find_element(By.XPATH, '//*[@id="__next"]/div/div[1]/div[4]/div/div/div[2]/div[2]/button[1]').click() time.sleep(1) # read date information and push 25 day dates = browser.find_elements(By.CLASS_NAME, "sc-evZas dDVwEk num".replace(" ", ".")) compute_date(dates, 25)[0].click() # read date information and push 30 day dates = browser.find_elements(By.CLASS_NAME, "sc-evZas dDVwEk num".replace(" ", ".")) compute_date(dates, 30)[0].click() while True: pass

  • selenium
  • python
  • 웹-크롤링
  • 웹 스크래핑
박재현 댓글 2 좋아요 7 조회수 2584

playground api-docs 질문

미해결

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

playground에서 api-docs가 강의에 있는 docs랑 다릅니다 같게 할 방법이 있을까요?

  • seo
  • react
  • graphql
  • nodejs
  • Next.js
cheolung 댓글 2 좋아요 0 조회수 446

DB 연결 성공 후 테이블 까지 만들었습니다.

미해결

[리뉴얼] React로 NodeBird SNS 만들기

그런데 테이블을 선택해서 코드를 보려면 자꾸 workbench가 팅겨서 꺼집니다 ㅠㅠ 코드를 깃허브에 있는 class형 함수를 긁어서 사용해서 문제가 되는걸까요..?ㅠㅠ 아래는 오류창입니다..

  • redux
  • nodejs
  • react
  • express
  • Next.js
hyuri 댓글 2 좋아요 1 조회수 557

사가 모든 설정 후 로그인시 오류

해결됨

[리뉴얼] React로 NodeBird SNS 만들기

강사님 모든 코드를 수정한 후 로그인하려고 하는데 아이디, 비밀번호 입력 후 누르면 로그인이 되지 않습니다. 콘솔창에 에러도 나타나지 않아서 어디가 틀렸는지 모르겠네요. 몇개파일의 코드 같이 올려드립니다. 아래는 로그인 안되는 화면캡처본입니다. LoginForm.js import React, { useCallback, useMemo } from "react"; import Link from "next/link"; import { Form, Input, Button } from "antd"; import styled from "styled-components"; import useInput from "../hooks/useInput"; import { useDispatch, useSelector } from "react-redux"; import { loginRequestAction } from "../reducers/user"; const FormWrapper = styled(Form)` padding: 15px; `; const LoginForm = () => { const dispatch = useDispatch(); const { isLoggingIn } = useSelector((state) => state.user); const [id, onChangeId] = useInput(""); const [password, onChangePassword] = useInput(""); const style = useMemo(() => ({ marginTop: 10 }), []); const onSubmitForm = useCallback(() => { console.log(id, password); dispatch(loginRequestAction({ id, password })); }, [id, password]); return ( <FormWrapper onFinish={onSubmitForm}> <div> <label htmlFor="user-id">아이디</label> <Input name="user-id" value={id} onChange={onChangeId} required></Input> </div> <div> <label htmlFor="user-password">비밀번호</label> <Input name="user-password" value={password} onChange={onChangePassword} required ></Input> </div> <div style={style}> <Button type="primary" htmlType="submit" loading={isLoggingIn}> 로그인 </Button> <Link href="/signup"> <a>회원가입</a> </Link> </div> </FormWrapper> ); }; export default LoginForm; reducers-user.js export const initailState = { isLoggingIn: false, // 로그인 시도중 - 로딩창을 띄우기위해 isLoggedIn: false, isLoggingOut: false, // 로그아웃 시도중 me: null, signUpDate: {}, loginData: {}, }; // 로그인 액션 create export const loginRequestAction = (data) => { return { type: "LOG_IN", data, }; }; export const logoutRequestAction = () => { return { type: "LOG_OUT", }; }; const reducer = (state = initailState, action) => { switch (action.type) { case "LOG_IN_REQUEST": console.log("reducers login"); return { ...state, isLoggingIn: true, }; case "LOG_IN_SUCCESS": return { ...state, isLoggingIn: false, isLoggedIn: true, me: { ...action.data, nickname: "가나다" }, }; case "LOG_IN_FAILURE": return { ...state, isLoggingIn: false, isLoggedIn: false, }; case "LOG_OUT_REQUEST": return { ...state, isLoggingOut: true, }; case "LOG_OUT_SUCCESS": return { ...state, isLoggingOut: false, isLoggedIn: false, me: null, }; case "LOG_OUT_FAILURE": return { ...state, isLoggingOut: false, }; default: return state; } }; export default reducer; sagas-user.js import { all, fork, delay, put, takeLatest } from "redux-saga/effects"; import axios from "axios"; function loginAPI(data) { return axios.post("/api/login", data); // 서버에 요청 } function* login(action) { try { console.log("saga login"); yield delay(1000); // 비동기 요청 대신수행 // const result = yield call(loginAPI, action.data); yield put({ type: "LOG_IN_SUCCESS", data: action.data, }); } catch (err) { yield put({ type: "LOG_IN_FAILURE", data: err.response.data, }); } } function logoutAPI() { return axios.post("/api/logout"); // 서버에 요청 } function* logout() { try { yield delay(1000); // const result = yield call(logoutAPI); yield put({ type: "LOG_OUT_SUCCESS", }); } catch (err) { yield put({ type: "LOG_OUT_FAILURE", data: err.response.data, }); } } function* watchLogIn() { yield takeLatest("LOG_IN_REQUEST", login); } function* watchLogOut() { yield takeLatest("LOG_OUT_REQUEST", logout); } export default function* userSaga() { yield all([fork(watchLogIn), fork(watchLogOut)]); } configureStore.js import { applyMiddleware, createStore, compose } from "redux"; import createSagaMiddleware from "redux-saga"; import { createWrapper } from "next-redux-wrapper"; import { composeWithDevTools } from "redux-devtools-extension"; import reducer from "../reducers"; import rootSaga from "../sagas/index"; const configureStore = () => { const sagaMiddleware = createSagaMiddleware(); const middlewares = [sagaMiddleware]; const enhancer = process.env.NODE_ENV === "production" ? compose(applyMiddleware(...middlewares)) : composeWithDevTools(applyMiddleware(...middlewares)); const store = createStore(reducer, enhancer); store.sagaTask = sagaMiddleware.run(rootSaga); return store; }; const wrapper = createWrapper(configureStore, { debug: process.env.NODE_ENV === "development", }); export default wrapper;

  • nodejs
  • redux
  • react
  • express
  • Next.js
뽀개즈아 댓글 3 좋아요 0 조회수 692

daily temperatures 문제 질문

미해결

코딩테스트 [ ALL IN ONE ]

안녕하세요! Leetcode daily temperature 문제 해설을 보다 질문이 생겨서 남깁니다! while 문으로 stack을 돌면서 대소 비교를 하는데, 여기서의 시간복잡도가 O(n)이 될 걱정은 안해도 되나요? 어렴풋이 생각하기에, stack에 temperatures의 원소가 들어가기 때문에 n개의 원소가 들어갈 것이고, for문으로 길이가 n인 temperatures를 돌면 결과적으로 worst case로 O(n^2)이 될 수도 있지 않나 ... 라는 생각이 들었습니다. 시간복잡도 개념이 아직 부족해서 헷갈리는 것 같은데 제가 어떤 부분을 간과했을까요?

  • python
  • algorithm
  • 코테 준비 같이 해요!
강욱 댓글 1 좋아요 5 조회수 533

Error: 'app.router' is deprecated!

미해결

따라하며 배우는 도커와 CI환경 [2023.11 업데이트]

강의와 같은 코드로 도커를 실행하면 아래와 같은 에러가 발생했습니다. Error: 'app.router' is deprecated! 해당 에러는 아래와 같이 코드를 변경해주시면 해결 가능합니다. 변경 전 코드: app.router.get('/', (req, res) => { res.send('Hello World');}) 변경 후 코드: app.get('/', (req, res) => { res.send('Hello World');})

  • deprecated
  • nodejs
  • github
  • docker
  • aws
  • docker
  • 도커
  • cicd
  • travis-ci
  • 데이터 엔지니어링
김기쁨 댓글 1 좋아요 0 조회수 410

건의사항

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

제가 잘못 본건지는 모르겠지만, Node.js API구현 중 퍼사드 패턴 47:31초에서 function getToken() { const myconunt =6 if(mycount === undefined){ console.log("에러발생!!! 갯수를 제대로 입력해주세요!!!") return ~~~ } 좌측 인강화면을 보시면 01-04-token-count-api-facade 폴더에 들어있는 index.js파일에서 function getToken() 함수에서 매개변수를 지우고, const mycount = 6 으로 대체하였습니다. 하지만, 우측 노션에 학습자료 퍼사드 패턴에서는 function getToken(count) { ~~} 라고 해서 count매개 변수가 존재합니다. count를 여전히 매개변수로 사용하고 있습니다. 즉 "노션에 있는 자료가 수정되어야 한다고 생각합니다." 노션 자료 중 호출하는 부분에서 createTokenOfPhone('01012345678', 6); 매개변수 6도 삭제되어야 합니다. "REST-API 실습 강의"에서 postman으로 학습시 "휴대폰 번호 전송"이 안되서 순간적으로 당황했습니다. 확인하시고, 답글 달아주시면 감사하겠습니다. 해당강의는 Node.js API구현 중 퍼사드 패턴 47:31초입니다. 노션은 학습 자료 / 퍼사드 패턴 입니다.

  • tdd
  • nodejs
  • rest-api
  • javascript
  • docker
  • express
  • NestJS
똑같이썼는데안돼 댓글 3 좋아요 1 조회수 662

수업중 나온 깃허브 저장소가 없는 이유

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

수업중 나온 깃허브 저장소가 없는 이유가 궁금합니다. 현재 스크린샷처럼 되어 있는 주소가 없어요

  • NestJS
  • rest-api
  • javascript
  • express
  • docker
  • tdd
  • nodejs
김형 댓글 1 좋아요 0 조회수 474

강의자료 부탁드립니다

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

안녕하세요 선생님 강의자료 부탁드립니다 b_9108@naver.com 입니다 감사합니다

  • python
댓글 1 좋아요 0 조회수 287

16분경 onChangeText에 useInput을 사용해도 되지 않나요?

해결됨

[리뉴얼] React로 NodeBird SNS 만들기

[text, setText]와 onChangeText를 만들어놓은 훅 useInput을 사용해서 코딩해도 되지 않나요? 그렇게 하지 않은 이유가 긍금합니다!

  • nodejs
  • redux
  • express
  • react
  • Next.js
뽀개즈아 댓글 1 좋아요 0 조회수 365

정밀도를 100%로 만드는 법

미해결

[개정판] 파이썬 머신러닝 완벽 가이드

1명의 확실한 P 예측과 나머지를 모두 N으로 예측했을 때 정밀도가 100%가 된다고 말씀하셨습니다. 이 경우에 재현율도 1 / 1+0 해서 100%되지 않나요?

  • python
  • 머신러닝 배워볼래요?
  • 통계
Munju Ham 댓글 1 좋아요 0 조회수 299

error installing "core" component MSI.

미해결

장고 설계철학으로 시작하는 파이썬 장고 입문

안녕하세요 강사님. 어제 시작한 사람입니다! 다름이 아니라, 개발 환경 구축 중에 터미널에서 파이썬 버전 설치 단계가 계속 에러가 뜹니다. PS C:\Users\ped> pyenv install 3.11.1 :: [Info] :: Mirror: https://www.python.org/ftp/python :: [Installing] :: 3.11.1 ... :: [Error] :: error installing "core" component MSI. :: [Error] :: couldn't install 3.11.1 다른 버전도 모두 마찬가지입니다! 공장 초기화를 해도 이렇게 뜹니다.. ++ 그래서 파이썬 공식 홈페이지에 가서 파이썬을 수동 설치했습니다. 이후 다시 따라가려니(글로벌 버전 지정), 또 에러가 뜹니다. PS C:\Users\ped> pyenv global 3.11.1 pyenv specific python requisite didn't meet. Project is using different version of python. Install python '3.11.1' by typing: 'pyenv install 3.11.1' 어떻게 해야 할 까요.. 진도를 못 나가서 답답합니다 ㅠㅠ

  • django
  • python
kjkim 댓글 2 좋아요 0 조회수 1673

크롬 개발자도구로 확인했을 때 key값이 20부터 나오는 경우

미해결

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

해당 강의 3분 30초 이후부터 컴포넌트 창에 들어가서 DiaryList 컴포넌트의 DiaryItem들을 확인하는 장면이 나와있습니다. 강사님의 화면에서는 키값들이 0부터 잘 출력되지만 저는 아래와 같이키값들이 20부터 39까지 출력됩니다. useEffect를 건들이기 전 일기를 추가하는 부분에서는 키값들이 0부터 잘 출력되는 것을 보아 이번 강의에서 건들인 부분이 문제인것 같아 강사님이 올려주신 App.js 코드를 복붙하여 실습해보아도 해당 현상이 일어납니다. 그 이유를 알 수 있을까요?

  • react
  • nodejs
  • javascript
이선호 댓글 1 좋아요 3 조회수 660

탈출문자 \b에 관해 질문이 있습니다.

미해결

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자

print("Redd\bApple") << RedApple이 되는 것은 알겠는데요 시험삼아 print("Redd\b")를 출력했더니 Redd그대로 나오더라구요?? \b뒤에 어떤 문자열이 있어야 앞의 한 글자를 지울 수 있는 건가요??

  • 탈출문자
  • python
Ambition 댓글 1 좋아요 0 조회수 345

인기 태그

인프런 TOP Writers

주간 인기글