묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Vue.js 시작하기 - Age of Vue.js
기존 backend(express) 설계에 vue-cli(혹은 nuxt)를 붙이는 경우에는 디렉토리를 어떤식으로 설계하는지 궁금합니다.
안녕하세요? 퀄리티 높은 강의 덕분에 많은 도움을 받고 있습니다. 정말 감사합니다 강사님!제가 궁금한 점은, 저는 기존에 백엔드만 학습했었습니다. 그래서 제가 작성했던 코드들도 백엔드만 고려하여 디렉토리를 설계했었습니다. 예시로 제가 이전에 진행했던 API 로직 관련 프로젝트의 디렉토리 구조는 다음과 같습니다.. ├── config │ ├── config.ts ├── controllers │ ├── post.ctrl.ts │ └── user.ctrl.ts ├── models │ ├── index.ts │ ├── sequelize.ts │ ├── hashtag.ts │ ├── like.ts │ ├── post.ts │ ├── user.ts │ └── refreshToken.ts ├── node_modules ├── routes │ ├── index.ts │ ├── post.router.ts │ └── user.router.ts ├── types │ └── express.d.ts ├── utils │ ├── generateToken.ts │ └── authenticateToken.ts ├── index.ts ├── tsconfig.json ├── package-lock.json └── package.json이 프로젝트는 SNS와 관련된 api 로직들을 작성하는 것이었습니다. 강사님 강의를 보면서 이 프로젝트에 vue(nuxt)를 이용하여 프론트엔드단의 코드도 작성하려고 하는데, 이럴 경우 디렉토리를 어떻게 설계하면 되는지 궁금해서 질문드렸습니다.추가로, vue나 nuxt + express 같은 경우 먼저 vue-cli나 nuxt init을 통해 생성되는 짜여진 디렉토리 위에서 backend를 나중에 추가하는 방식이 일반적인 것 같은데, 이런 식으로 구성되는 이유도 궁금합니다.
-
미해결SwiftUI - iOS14 퍼펙트 가이드
강의 파일 다운로드
좋은 강의 감사합니다. 강의 자료를 내려받기 할 수 있는 곳을 알려주시면 감사하겠습니다.
-
미해결[전자책 100PAGE]아직도 구매대행만 하니?! 구매대행과 병행수입을 한번에! 무재고.무배송. 스마트 스토어로 월 200벌기! 부업 투잡
강사분 이메일 어디서 알수있나요?
제목 그대로 입니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
sync에러
open해서 build.gradle해서 하면사진과 같이 에러가 뜹니다.뿐만 아니라 서버도 뜨지 않아서 run을 하지 못합니다.
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Futuer<String> 부분에서 잠시 이해가 안되었습니다. 제가 어떤걸 좀더 공부하면 될까요
리턴값을 정의 해주기 위해 Futuer<String> 을 넣어준다~ 라고 하신 부분이 조금 이해가 안갑니다.기존강의중 제가 어느부분을 좀 더 다시 보면 해당 부분을 이해하기 좋을지 조언을 부탁드립니다.
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
LightGBM의 boosting 파라미터 관련
언제나 좋은 강의 감사드립니다. 강의와 교재에 LightGBM 의 boosting 파라미터는 주로 Default 값인 gbdt만 사용하였는데요, 교제(개정2판 기준 248Page) 및 docs에 보면 Random Forest도 가능하다는 내용이 있습니다. 여태까지 Random Forest는 대표적인 bagging기법이라고 생가했는데 Boosting 파라미터에서 선택하게 될 수 있어 이럴 경우 어떻게 동작이 되는지 궁금합니다. (이럴경우 경사하강법을 사용을 하지 않는건가요? 그럼..LightGBM을 써야 하는이유가 없어 보이기도 하고... 뭔가 혼란이 와서 문의 드립니다^^;;다시 한번 좋은 강의에 언제나 감사드립니다.
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
특정 영화의 더 상세한 정보가져오기
const {data:moviedetail} = await axios.get(`movie/${movieId}`,{params:{append_to_reponse:'videos'}}) setmovie(moviedetail)`movie/${movieId}`,{<---------- 이부분이요 params:{append_to_reponse:'videos'}});선생님 저 윗 부분은1. 중괄호로 params를 묶으신건 어떤걸 의미하는건가요?2.append_to_response:'videos' 이부분은 문법인가요?감사합니다
-
해결됨실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
멀티 모듈에 대한 질문이 있습니다!!
안녕하세요 !! 자바 개발자가 되기 위해 학습하다가 코틀린을 새로 배우는 과정에서 이 강의를 듣게 된 학생입니다!!먼저 좋은 강의 제공해주셔서 정말 감사합니다!!멀티 모듈에서 Repository를 각각 api 모듈에 맞게 구현하고, Spring Data JPA Repository를 코어 모듈에 둔다고 하셨는데. 이런 경우에는 api 모듈에서 core와 관련된 그래들 설정(Querydsl or db 등)이 들어가겠구나 라는 생각이 들었습니다. 멀티 모듈의 장점 중 하나가 모듈의 역할에 맞게 의존성을 관리하는 것도 있다고 생각하는데, 이런 경우 이 장점을 잃지는 않을까 우려됩니다.그래서 저는 멀티모듈을 사용할 때, core 모듈에 Repository와 관련한 코드를 놓고, 사용하는 모듈에서 인터페이스, 혹은 Repository를 참조하는 구현체를 만들어 해당 클래스만 사용하게끔 유지하는 게 좋지 않을까 생각하는 편인데요. 혹시 강사님의 의견은 어떠신지 궁금합니다!!(적고 보니 강의 내용과는 조금 다른 질문인 것 같아 조금 죄송스럽네요 ㅠㅠ)
-
미해결모두의 깃 & 깃허브
다중 github 계정이 있는 경우 sourcetree의 계정관리
안녕하세요.다중 github 계정이 있는 경우 sourcetree의 계정관리를 어떻게 하면 좋은 지 팁등이 있을까요?예를들면 github 계정이 개인계정이 있고, 회사계정 이 있는 경우 두 계정 스위칭을 문제없이 잘 관리할 수 있는 방법이 있을까요감사합니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
post 요청이 가지 않습니다.
코드를 아래와 같이 제대로 작성하였고, 백엔드 서버도 잘 돌아가는거 확인했습니다. 그런데 서브밋 버튼을 누르고 데브툴 네트워크 탭을 보면 post 리퀘스트가 전혀 뜨지 않습니다. 의심되는 이유는 에러메세지'4. WrappedApp created new store with withRedux(App) {initialState: undefined, initialStateFromGSPorGSSR: undefined}'가 뜨는데, 리덕스의 이니셜 스테이트가 undefined이라니 왜 이렇게 된걸까요? 리듀서에 스테이트들 다 잘 적혀있는데 혹시 이 에러 때문에 디스패치 자체가 안되고 있는 걸까요? 리듀서 문제라기엔 백엔드 서버 없이 더미데이터로 돌리면 잘 됐었기 때문에 왜인지 도통 모르겠습니다.<회원가입 관련 리듀서>import produce from "../util/produce"; export const initialState = { signUpLoading: false, signUpDone: false, signUpError: null, me: null, signUpData: {}, loginData: {}, userList: {}, }; export const SIGN_UP_REQUEST = "SIGN_UP_REQUEST"; export const SIGN_UP_SUCCESS = "SIGN_UP_SUCCESS"; export const SIGN_UP_FAILURE = "SIGN_UP_FAILURE"; const dummyUser = (data) => ({ id: data.id, nickname: "Jin Choi", Posts: [{ id: 1 }], Followings: [ { nickname: "Elle" }, { nickname: "Mazzie" }, { nickname: "Lori" }, ], Followers: [ { nickname: "Coco" }, { nickname: "Mephis" }, { nickname: "WillB" }, ], password: data.password, }); const reducer = (state = initialState, action) => produce(state, (draft) => { switch (action.type) { case SIGN_UP_REQUEST: draft.signUpLoading = true; draft.signUpError = null; draft.signUpDone = false; break; case SIGN_UP_SUCCESS: draft.signUpLoading = false; draft.signUpDone = true; break; case SIGN_UP_FAILURE: draft.signUpLoading = false; draft.signUpError = action.error; break; default: break; } }); export default reducer; <회원가입 관련 사가>import { all, delay, fork, put, takeLatest, call } from "redux-saga/effects"; import axios from "axios"; import { SIGN_UP_FAILURE, SIGN_UP_REQUEST, SIGN_UP_SUCCESS, } from "../reducers/user"; function signUpAPI(data) { return axios.post("https://localhost:3065/user", data); //only post, put, patch can pass data } function* signUp(action) { try { const result = yield call(signUpAPI, action.data); console.log(result); yield put({ type: SIGN_UP_SUCCESS, data: action.data, }); } catch (err) { console.error(err); yield put({ type: SIGN_UP_FAILURE, error: err.response.data, }); } } function* watchSignUp() { yield takeLatest(SIGN_UP_REQUEST, signUp); } export default function* userSaga() { yield all([ fork(watchSignUp), ]); } <백엔드 라우트>const express = require("express"); const router = express.Router(); const bcrypt = require("bcrypt"); const { User } = require("../models"); router.post("/", async (req, res, next) => { try { //email existence check const exUser = await User.findOne({ where: { email: req.body.email, }, }); if (exUser) { return res.status(403).send("The email is in use"); } const hashedPassword = await bcrypt.hash(req.body.password, 10); await User.create({ //inserting data to table asynchronously email: req.body.email, nickname: req.body.nickname, password: hashedPassword, }); res.status(200).send("ok"); } catch (error) { console.error(error); next(error); } }); module.exports = router; 조언부탁드립니다. 감사합니다.
-
해결됨[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
댓글 수정 및 삭제 구현 관련해 질문드립니다
안녕하세요 선생님, [초급편] 안드로이드 커뮤니티 앱 만들기를 완강한 수강생입니다. 게시글 수정/삭제 파트와 아래 두 질문을 참고해가며 현재 댓글 수정/삭제를 구현하기 위해 애쓰는 중인데, 잘 되지 않아 질문드립니다.https://www.inflearn.com/questions/411607https://www.inflearn.com/questions/619233게시글 설정과 마찬가지로 내가 쓴 댓글에만 보이는 설정 버튼을 클릭하면다이얼로그를 통해 수정/삭제로 진입하게끔 만드는 데 까지는 성공했습니다.첫 번째 질문입니다.우선 수정 기능의 경우 아래 ????? 부분에 어떤 값을 넣어야 할지 감이 안 옵니다. BoardReadActivity.kt // 댓글 클릭하면 -> 대화상자 뜸 // 파이어베이스의 댓글 키를 기반으로 댓글 데이터(=본문+uid+시간) 받아옴 cLV.setOnItemClickListener { parent, view, position, id -> // 명시적 인텐트 -> 다른 액티비티 호출 val intent = Intent(baseContext, CommentEditActivity::class.java) // 댓글수정 액티비티로 댓글의 키 값 전달 intent.putExtra("?????", ?????) // 댓글수정 액티비티 시작 startActivity(intent) }"key", key를 넣으면 댓글이 아닌 게시글의 키 값이 되어 댓글이 수정되지 않고,"commentKey", commentKey를 넣으면 앱이 죽습니다. 게시판 프래그먼트에서 리스트뷰 아이템을 클릭하면 게시글로 이동하듯댓글 리스트뷰 아이템을 클릭하면 수정 액티비티로 넘어가는 것도 시도해봤는데요, 빨간색이 게시글의 키, 파란색이 댓글의 키일 때 다행히 댓글의 키는 잘 받아오는데 댓글의 키'만' 알다보니 파이어베이스로부터 기존 댓글 내용을 받아올 수도, 수정한 내용을 업데이트 할 수도 없습니다.BoardReadActivity.kt // 댓글 클릭하면 -> 대화상자 뜸 // 파이어베이스의 댓글 키를 기반으로 댓글 데이터(=본문+uid+시간) 받아옴 cLV.setOnItemClickListener { parent, view, position, id -> // 명시적 인텐트 -> 다른 액티비티 호출 val intent = Intent(baseContext, CommentEditActivity::class.java) // 댓글수정 액티비티로 댓글의 키 값 전달 intent.putExtra("commentKey", commentKeyList[position]) // 댓글수정 액티비티 시작 startActivity(intent) }다이얼로그에서 댓글수정 액티비티로 넘길 때와 마찬가지로 ????? 부분에 어떤 값을 넣어야 할지 모르겠습니다.CommentEditActivity.kt // 댓글을 수정 private fun editCommentData(commentKey: String) { // 수정한 값으로 업데이트 FBRef.commentRef.?????.child(commentKey).setValue(CommentModel( // 제목 및 본문은 직접 수정한 내용으로, binding.commentMainArea.text.toString(), // uid와 시간은 자동 설정됨 FBAuth.getUid(), FBAuth.getTime() )) // 수정 확인 메시지 Toast.makeText(this, "댓글이 수정되었습니다", Toast.LENGTH_SHORT).show() // 댓글수정 액티비티 종료 finish() }혼자 해결하려니 너무 맨 땅에 헤딩이라ㅠㅠ 질문 올립니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
배포가 안되고 상태가 심각으로 나옵니다...
강의를 보고 따라서 진행을 했더니 빨간색으로 심각이 나오네요...그래서 로그에 들어가서 최근 100개의 로그를 보니까오류 원인으로 추정되는 부분이 있었습니다.2022/08/28 17:41:22.790598 [INFO] save docker tag command: docker tag 0370c9c70821 current_backend:latest 2022/08/28 17:41:22.790604 [INFO] save docker tag command: docker tag d942a3872fb6 current_nginx:latest 2022/08/28 17:41:22.790609 [INFO] save docker tag command: docker tag 75708d3d8c71 current_frontend:latest 2022/08/28 17:41:22.790614 [INFO] save docker tag command: docker tag 2b7d6430f78d nginx:latest 2022/08/28 17:41:22.790618 [INFO] save docker tag command: docker tag 5dcd1f6157bd node:16-alpine 2022/08/28 17:41:22.790631 [INFO] Running command /bin/sh -c docker rm `docker ps -aq` 2022/08/28 17:41:22.942159 [INFO] Error response from daemon: You cannot remove a running container 6a0c86ea39e968de428d3d30608a610c32c9250c12390b835b82e2367f1e5329. Stop the container before attempting removal or force remove Error response from daemon: You cannot remove a running container 9c2ffeccce2f1e0b49d4f50e7c5de38e7084d077faf3f19123151adc30de6dcb. Stop the container before attempting removal or force remove Error response from daemon: You cannot remove a running container d4507eceb5d8d6384be032723cbcae38f1a427f9b261cef64c78199ed24595a2. Stop the container before attempting removal or force remove 2022/08/28 17:41:22.942188 [INFO] Running command /bin/sh -c docker rmi `docker images -aq` 2022/08/28 17:41:23.115076 [INFO] Error response from daemon: conflict: unable to delete 968794bfee27 (cannot be forced) - image has dependent child images Error response from daemon: conflict: unable to delete 60a98349297b (cannot be forced) - image has dependent child images Error response from daemon: conflict: unable to delete 0370c9c70821 (cannot be forced) - image is being used by running container d4507eceb5d8 Error response from daemon: conflict: unable to delete 8ad18f4e6824 (cannot be forced) - image has dependent child images Error response from daemon: conflict: unable to delete d942a3872fb6 (cannot be forced) - image is being used by running container 6a0c86ea39e9 Error response from daemon: conflict: unable to delete 69041b2058c4 (cannot be forced) - image has dependent child images Error response from daemon: conflict: unable to delete 75708d3d8c71 (cannot be forced) - image is being used by running container 9c2ffeccce2f Error response from daemon: conflict: unable to delete f9fde158cd3b (cannot be forced) - image has dependent child images Error response from daemon: conflict: unable to delete b91481250af7 (cannot be forced) - image has dependent child images Error response from daemon: conflict: unable to delete a5f559502b12 (cannot be forced) - image has dependent child images Error response from daemon: conflict: unable to delete 2b7d6430f78d (cannot be forced) - image has dependent child images Error response from daemon: conflict: unable to delete 5dcd1f6157bd (cannot be forced) - image has dependent child images이렇게 나오더라구요...뭐가 원인인지 뭘 해결해야 하는건지 혹시 알려주실 수 있으신가요??ㅠㅠ
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
IOS 시뮬레이터 에서만 에러가 납니다.
안드로이드에서는 잘 되는데 아이오에스 시뮬레이터버젼 ios 15.5에서 에러가 나면서 안됩니다.구글맵과 충돌인거 같은데..ㅠㅠ맥북 에어 m2 사용중입니다.Error (Xcode): Building for iOS Simulator, but linking in object file built for iOS, file '/Users/ddur/Documents/flutterDev/mapgogo/ios/Pods/GoogleMaps/Maps/Frameworks/GoogleMaps.framework/GoogleMaps' for architecture arm64Could not build the application for the simulator.Error launching application on iPhone SE (3rd generation).
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
UserLoanHistory.bookName의 nullability
Book.name에 @Column(nullable = false)을 붙였으니 UserLoanHistory.bookName도 논리적으로 null이 될 수 없는데요. 그래서 bookName에는 애노테이션을 붙이지 않으신 건가요? 애노테이션을 붙여서 DDL에 물리적으로 not null을 설정해야 하는 게 아닌가 싶어 질문 드립니다.
-
미해결다양한 사례로 익히는 SQL 데이터 분석
실습자료 복원 오류
안녕하세요 선생님현재 Mac m1 사용 중입니다!백업파일 용량이 너무 커서인지 잘 모르겠지만, ga_sess / ga_sess_hits 등의 파일이 덜들어 온것 같습니다.혹시 해결책이 있을까요?감사합니다!!
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
nginx.conf 수정관련
많은 개린이분들이 저처럼 시간낭비하지말라고 글을 남깁니다.. 거의 다잉메세지입니다...강사님이 nginx.conf파일을 수정하시는데요실제로 우리가 내려받는 파일의 09폴더에 있는 nginx.conf.http파일에는 고쳐야할 부분이 총 세가지 입니다. (영상과는 다르게 되어 있는 부분들도 있습니다. 그것들까지 포함해서 총 세개!)도메인(총 6개 였습니다.) : funcoding.xyz >> 각자 도메인으로 수정맨 아래 server블락(443포트 https관련) 위아래로 있는 주석(*/, /*)삭제역시 맨 아래 server블락에 servername아래에 있는 네줄의 코드 앞에 있는 #. 역시 주석관련된 건데, #를 모두 삭제다시 되돌아보면 부끄러울정도로 간단한 것들이였는데, nginx나 docker가 처음이다보니 허둥대다가 몇일을 날렸는지 모르겠네요
-
미해결평생 써먹는 데이터 기반 투자법 with 파이썬 퀀트 투자
강의 내에 파이썬 버전과 패키지들 버전이 어떻게 되나요?
강의에 맞는 가상환경을 만들려는데파이썬 버전, 기타 패키지들의 버전은 어떻게 되나요?혹시 패키지 목록을 requirements.txt로 만들어주실 수 있을까요?
-
미해결Svelte.js [Core API] 완벽 가이드
textarea에서 esc 키를 누를 때 오류
13:08 초에서 on:keydown을 통해 event.key가 Escape인지 확인하여 offEditMode()를 실행하는 로직을 짜주셨는데, 결과적으로 작동하지 않았습니다.console.log로 이벤트를 찍어봤는데 Escape의 경우 콘솔창에도 기록되지 않는데, 어떻게 해야 정상적으로 실행이 가능할까요? Enter는 정상적으로 addList를 실행했었습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
paramMap
안녕하세요 개념이 정립이 잘 안되서 그러는데 결국 paramMap이라는게 http://localhost:8080/request-param?username=hello&age=20이걸 예로 들면 username=hello, age = 20이걸 paramMap에 저장한 다음 꺼내는 건가요?
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
x도 같고 y도 같고 z도 같다면 어떻게 되나요?
안녕하세요 선생님.이 부분에서 만약에 비교 대상이x도 같고 y도 같고 z도 같아서저 3가지 if에 대해 모두 false일때는위 코드가 어떻게 동작하나요....?실행할 코드가 없어보이는데...