묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘
소멸자 관련 질문
안녕하세요 강사님 ~List() { while (_size > 0) pop_back(); delete _head; delete _tail; } 리스트를 구현하는데 다음과 같이 소멸자가 없어도 잘 작동은 하더라고요 그래도 이걸 하는게 다른 기능을 하는 함수들이 동적 메모리를 할당하면서 전에 소멸자를 안해 줬기 때문에 메모리 오염이 일어나기 때문이라고 생각하는데 제가 이해한게 맞나요? 추가로 저 리스트 프로그램을 아예 종료하거나 꺼버리면 애초에 new로 동적할당된 부분도 자연스럽게 지워지는게 맞나요?(왠지 맞을것 같지만 확인차 여쭤보았습니다.)
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
객체지향 질문있습니다
1. class 는 설계도라고 하셨는데 그렇다면 main 함수에서든지 그 위에 전역변수 선언하는 영역에서든지 객체를 생성하지 않으면 class 내에 모든 멤버변수나 멤버함수의 메모리가 잡히지 않는다는 건가요?2. 또 구조체를 제가 그새 까먹어서... 구조체 역시 구조체 내의 변수들을 한 데 모아주는 역할만 할 뿐 구조체 변수를 따로 만들지 않으면 구조체 내의 묶어준 변수들의 메모리가 잡히지 않는건가요?
-
미해결C# 입문부터 Xamarin Forms(자마린 폼즈) + Maui(마우이) 안드로이드, 윈도우 앱(UWP) 동시에 만들기
18강에서 ref가 이해가 되지 않습니다
18강에서Ch_17 ch_17 = new Ch_17() Ch_18.time3(ref ch_17)클래스:public static void time3(ref Ch_17 ch_17) { ch_17.name = "태권브이" Console.WriteLine(ch_17.name + "고향:" + Ch_17.homeTown) }이 나옵니다. 근데 이미 클래스에서 ch_17을 참조 (ref Ch_17 ch_17)한다고 나와있는데 왜 클래스를 이용할 때 ref ch_17를 붙여야 하나요? 강의를 한 번 더 보니 이해가 되었습니다. ref Ch_17 ch_17은 매개변수 내의 클래스이고 ref ch_17을 해서 ref Ch_17 ch_17 내에 ch_17 클래스를 넣는 것이군요!
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
그 달의 마지막 날이 작성이 되지 않습니다.
페이지 구현- 일기쓰기 (/new) 강의의 40분 48초 부터 onClick={handleSubmit}에서 9월 30일이나 10월 31일같이 그 달의 마지막날은 new(새로운 글)이 작성이 되지 않습니다.. 이유가 무엇인가요? const getStringDate = (date) => { return date.toISOString().slice(0,10); }export const getStringDate = (date) => { let year = date.getFullYear(); let month = date.getMonth() + 1; let day = date.getDate(); if (month < 10) { month = 0${month}; } if (day < 10) { day = 0${day}; } return ${year}-${month}-${day};};
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
퍼블릭클라우드서비스 쿠버네티스에서도 인증서 관리를 별도 해야하나요?
안녕하세요. 퍼블릭클라우드서비스에서 제공하는 클라우드서비스 GKS, EKS, AKS에서도 인증서 관리를 해주어야하는 지 궁금합니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
@마다 빨간줄이 그어지네요
razor 와 cshtml파일의 @ 부분에 빨간줄이 그어집니다.근데 실행에는 문제가 없어요 해결 방법이 있나요?
-
미해결
타전공 4년제 졸업 VS 학은제 학사 취득
안녕하세요.제 글을 보시는 분들 가볍게 의견 남겨주셨으면 좋겠습니다.현재 저는 개발자로 진로를 정하였는데, 비전공자이기 때문에 학벌로 인한 고민이 많은 상태입니다.현재는 타전공의 대학을 휴학중인 상태고, 1학년까지 마치고 휴학을 했기 때문에 복학해서 졸업하려면 3년의 시간이 걸립니다.그리고 휴학을 하면서 학점은행제 과정을 수료했기 때문에, 학은제로 내년 초 3개월만 하면 대학 학사 학위가 나오는 상황이구요. (대학과 학은제는 모두 컴공관련 아닌, 비전공과 입니다)하지만 내년에 대학교 복학을 하지 않으면 제적 되는 상황인데 ,여기서 고민은 한학기 남은 학은제 그냥 수료할지(=대학은 제적 처리됨),아니면 하던 학은제를 포기하고 그냥 복학해서 3년을 다니며 (타전공일지라도) 4년제를 졸업을 해야할지 고민입니다. 대학을 졸업까지 1년 정도 남으면 고민 안하고 복학을 했을 것 같은데 타전공인데다가 3년을 더 다녀야 한다는 생각에 고민이 됩니다. ( 이 3년이면 개발공부를 하기에 정말 중요한 시간이 될 것 같아서요) 대학교 수준은 중위권 정도의 국립대이며 , 과는 어문계열의 한 학과 입니다.<요약하자면>우선 비전공자로서 개발자로 진로를 확실히 정하였고 , 타전공일 지라도 4년제의 국립대 타이틀을 얻기 위해 대학을 3년동안 다녀야 할지, 인식 수준은 낮지만 그 3년 아껴서 학사 취득에 시간을 단축하고 개발 공부를 한시라도 빨리 시작하기 위한 학은제를 마저 수료하는게 나을지 고민입니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
gradlew 빌드시 에러 발생 관련
인텔리제이에서 springboot Application 및 테스트는 모두 정상적으로 완료됩니다. 그런데 강의에서는 터미널을 통해 ./gradlew clean build로 빌드를 하시더라고요 이것을 따라하니 계속 에러가 발생합니다. 원인을 알 수 있을까요? ㅠ
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
onetomany 관계인 엔티티의 속성을 필터링에 사용하는것에 대해서
안녕하세요 강사님 강사님의 강의 잘듣고있습니다. 강사님의 강의를 듣고 프로젝트 진행중 고민인 부분이 있어 질문남깁니다!전체는 아니지 대략적인 erd 부분입니다.게시물에 달려있는 태그, 게시물 제목 등으로 필터링 하는 상황입니다. 또한 "게시물" 엔티티와 "게시물_태그" 엔티티가 양방향으로 되어있습니다.궁금한점이 게시물에 있는 태그를 조건으로 필터링할때 아래 두방식중 어떠한 방식이 적합합니까? 아니면 더좋은 방법이 있으시다면 어떤것이 있는지 여쭈어봐도 되나요?!게시물 테이블에 태그를 제외한 나머지 조건으로 필터링한 후 결과 게시물들의 "게시물_태그" 프록시 객체를 초기화하면서 태그 조건에 만족하는 게시물을 필터링하는 방법"게시물_태그" 테이블에서 태그조건을 가진 게시물들을 먼저 찾은후(찾은후 group등을 이용) 나머지 조건사용해서 필터링하기읽어주셔서 감사합니다!!!
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
loginAction 에 대해 질문드립니다
제로초님의 강의 잘 보고 많이 배우고 있습니다!!이 영상을 보고 배운 코드를 바탕으로 연습을 하고있는데,loginAction이 실행이 안되는 것 같습니다.. 따로 에러메시지도 뜨지 않아서 계속 해결이 안되어 질문드립니다..isLoggedIn이 false에서 submit하여도 true로 바뀌지를 않습니당.. reducers/index.js// 서버사이드렌더링을 위함 import { HYDRATE } from "next-redux-wrapper"; // 리듀서 합쳐주는 메서드 import { combineReducers } from "redux"; import user from "./user"; import post from "./post"; // (이전상태,액션) => 다음상태 const rootReducer = combineReducers({ index: (state = {}, action) => { switch (action.type) { case HYDRATE: console.log("HYDRATE", action); return { ...state, ...action.payload, }; default: return state; } }, user, post, }); export default rootReducer; reducers/user.jsconst dummyUser = { id: 1, nickname: "제로초", Posts: [], Followings: [], Followers: [], }; export const initialState = { isLoggedIn: false, user: null, signUpData: {}, loginData: {}, }; export const SIGN_UP = "SIGN_UP"; export const SIGN_UP_SUCCESS = "SIGN_UP_SUCCESS"; export const LOG_IN = "LOG_IN"; // 액션의 이름 export const LOG_IN_SUCCESS = "LOG_IN_SUCCESS"; // 액션의 이름 export const LOG_IN_FAILURE = "LOG_IN_FAILURE"; // 액션의 이름 export const LOG_OUT = "LOG_OUT"; export const signUpAction = (data) => { return { type: SIGN_UP, data, }; }; export const signUpSuccess = { type: SIGN_UP_SUCCESS, }; export const loginAction = (data) => { return { type: LOG_IN, data, }; }; export const logoutAction = { type: LOG_OUT, }; export const signUp = (data) => { return { type: SIGN_UP, data, }; }; export default (state = initialState, action) => { switch (action.type) { case LOG_IN: { return { ...state, isLoggedIn: true, user: dummyUser, loginData: action.data, }; } case LOG_OUT: { return { ...state, isLoggedIn: false, user: null, }; } case SIGN_UP: { return { ...state, signUpData: action.data, }; } default: { return { ...state, }; } } }; pages/_app.jsimport Head from "next/head"; import "../styles/global.css"; import wrapper from "../store/configureStore"; function App({ Component }) { return <Component />; } export default wrapper.withRedux(App); pages/login.js 여기 아랫부분의 필요없는 것 같은 코드는 생략했습니다..! import { useCallback } from "react"; import useInput from "../hooks/useInput"; import { useDispatch, useSelector } from "react-redux"; import { loginAction } from "../reducers/user"; function Login() { const [email, onChangeEmail] = useInput(""); const [password, onChangePassword] = useInput(""); const dispatch = useDispatch(); const onSubmitForm = useCallback(() => { console.log(email, password); dispatch( loginAction({ email, password, }) ); }, [email, password]); return ( <> <div className={style.loginHead}> <Link href="/"> <a> <span> <ImArrowLeft2 size="25" color="gray" /> </span> </a> </Link> <img src={`/`} alt="" /> <span>로그인</span> </div> <div className={style.inputLogin}> <form action="/" encType="multipart/form-data" method="post" onSubmit={onSubmitForm} > <h1>로그인</h1> <label htmlFor="user-email">이메일</label> <br /> <input type="email" name="user-email" value={email} onChange={onChangeEmail} reqired /> <br /> <label htmlFor="user-password">비밀번호</label> <br /> <input name="user-password" type="password" value={password} onChange={onChangePassword} reqired /> <br /> <button type="submit">로그인</button> </form> </div>
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
리눅스 관련 질문_터미널 실행 안됨
강의 영상을 따라가다 보면 강사님 께서는 h2콘솔을 띄우고 다른 작업을 하다가 다시 ls ... cd~ 등 경로를 타고가서 gradlew 를 실행한다든가 하시는데요..왜 저는 h2 콘솔을 한 번 열고나면 그냥 아무 명령어도 먹히지가 않습니다 ㅠㅠ
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
시퀄라이즈 메서드관련 질문
안녕하세요. 제로초님 강의 잘듣고있습니다.강의를 응용하면서 좋아요 순으로 게시글을 가져오는 라우터를 만들고 있습니다.sequelize.literal을 사용해서 여러 시도를 해봤지만 동일하게 컬럼을 알 수 없다고 오류가 발생합니다. order: [[sequelize.literal('COUNT(Likers.id)'), 'DESC']],order: [[Sequelize.literal("(COUNT(`likers->like`.`PostId`))"), "DESC"]],DB는 처음 접해봐서 구글링, 공식문서를 참고해도 도저히 해결하기 힘들어서 질문드리겠습니다.참고자료도 함께 첨부하겠습니다.const express = require('express'); const { Sequelize, Op } = require('sequelize'); const { Post, User, Image, Comment } = require('../models'); const router = express.Router(); router.get('/top', async (req, res, next) => { // loadTopPostsAPI / GET /posts/top try { const posts = await Post.findAll({ limit: 20, offset: 0, // Likers의 갯수로 정렬하려면 조건은 어떻게 해야하나요? order: [[Sequelize.literal("(COUNT(`likers->like`.`PostId`))"), "DESC"]], include: [{ model: User, attributes: ['id', 'nickname'], }, { model: Image, }, { model: Comment, include: [{ model: User, attributes: ['id', 'nickname'], }], }, { model: User, as: 'Likers', attributes: ['id'], }], }) res.status(200).json(posts); } catch (error) { console.error(error); next(error); } });
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
post 시 id가 6자리문자열로 들어옵니다
{ "title": "자! 새로운 글입니다!", "content": "희망찬 vue3!", "createAt": 1664546739213, "id": "SJ5GpEi" }16:15id 가 6으로 되지 않고 7자리 문자열로 들어오는 이유를 모르겠습니다.createPost.vue에서마지막 id를 추가로 따로 받아서 +1을 하고 그값을 form값에 포함시켜 post하는 방법도 있겠지만,왜 선생님은 id가 저절로 +1되고, 저는 따로 설정해야 하는 이유를 모르겠습니다. 참고) 제 버전"dependencies": { "axios": "^0.27.2", "vue": "^3.2.38", "vue-router": "^4.1.5" }, "devDependencies": { , "json-server": "^0.17.0", "prettier": "^2.7.1", "vite": "^3.0.9" }
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
TextRPG(OOP) #1 질문
TextRPG(OOP) #1의 19:37 부분에서 기본 생성자를 선언해줘야 하지만, Creature(CT_PLAYER)으로 몬스터인지 플레이어인지 확인시켜주신다고 했는데, 이 부분이 어떻게 기본 생성자를 대체할 수 있는지 잘 모르겠습니다..
-
미해결
안녕하세요 영한님.
김영한의 스프링 부트와 JPA 실무 완전 정복 로드맵로드맵 할인 더 이상하지 않는가요~?나중에 구매하려고 했는데 할인기간이 지났나요?대학생 학생 할인 받을 수 있는방법도 혹시 있을까요?
-
미해결3dsmax 초급부터 전문가까지 - 한방에 끝내는 3dsmax 강좌
단축키 자료
단축키 자료가 열리지 않는데 어떤 경로로 열어야 하나요? 워드, PDF 등 다 열리지 않아서요
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
안녕하세요 선생님 서버 scale out 에 대해 질문드리려합니다.
안녕하세요 장고 클라우드 서버로 AWS를 쓰면서 지속적으로 하고 싶었던 기술이 CI CD + AutoScaling을 동시에 도입을 하고 싶었습니다. 기존에 github action과 aws ec2로 자동 배포는 어찌어찌해서 찾아서 해봤는데 결국에는 하나의 서버 인스턴스로만 돌아가기 때문에 나중에 부하 걱정이 되더라고요 그래서 제가 사용하고 싶은 조합은 AWS Autoscaling + AWS Codedeploy + AWS EC2 + AWS Loadbalance + GithubAction을 통해 github에 코드가 push되면 loadbalance 타겟 그룹된 전 인스턴스가 전부 코드 업데이트 되어 배포가 되는것을 생각을 해봤는데, 위 조합으로 제가 생각한 내용이 가능할까요? 제가 codedeploy는 한번도 써보지 않아서 사실 감이 잘안오는데, codedeploy는 github에 코드가 push되지 않더라도 자동으로 autoscaling에서 인스턴스를 생성하면 깃허브 코드가 적용된 서버를 생성하기 위해서 필요할것 같더라고요. 위는 결국 서버를 유연하게 관리하기 위한 제가 생각한 조합이구 제 생각한 위 아키텍처에 문제가 있을까요?(사실 일단 위 아키텍처 직접 구현이 어려울것 같아서 먼저 전문가이신 선생님께 확인을 받고 찾아보려합니다.)보통 기업에서는 어떻게 서버 로드를 유연하게 관리하나요?? 클라우드 관점에서용!(다양한 자료나 서비스 다 좋습니다 !!)쿠버네티스나, ECR, ECS 클러스터를 활용하나요? 궁금적으로 제가 현재 원하는 방식은 비교적 접근성 좋고(쉽고 ㅠㅠ) 혼자서 어느 정도 컨트롤 할만한 서버 아키텍처 구성을 원해서 질문드립니다!! (쿠버네티스는 어렵다고 들어서 선생님강의에서도 ㅠㅠ어렵다고 말씀하시고 ㅎㅎ; 위 방법이 가능성이 있는지 파악하고 나중에 차근차근공부하려합니다)
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
argument resolver로 InputStream만 받을 경우 오류 발생
[질문 내용]@PostMapping("/request-body-string-v2") public void requestBodyStringV2(InputStream inputStream) throws IOException { String messageBody = StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8); log.info("messageBody = {}", messageBody); } HTTP 요청 메시지 - 단순 텍스트 강의에서v2를 똑같이 따라서 작성하다가 제가 Writer는 생략하고 inputStream만 받아서 바이트 코드를 String 값으로 변환한 뒤 로그 출력만 하려 했는데 inputStream만 받고 포스트맨으로 v2 url에 post로 요청을 보냈더니 에러가 발생했습니다. 아무리 생각해 봐도 writer를 뺀 것 말고는 다 똑같아서 에러가 날 이유가 없다고 생각했는데, 이상하게 에러가 발생했습니다. 그래서 혹시나 하는 마음에 영상과 완전히 똑같이 Writer를 넣어서 서버를 다시 시작하고 요청을 보냈더니 제대로 작동했습니다.이상한 건, writer 뿐만 아니라 다른 아무 argument resolver에 등록된 객체를 함께 받으면 문제 없이 동작한다는 것이었습니다. 에러 내용을 확인해 보니 타임리프 템플릿 오류인 것 같은데 inputStream이랑 관련이 없어 보여서 어느 부분이 문제인 지 알 수가 없었습니다..ㅠinputStream을 단일로 받으면 문제가 있는 것인 지 질문 남겨봅니다! 밑은 에러 내용입니다.org.thymeleaf.exceptions.TemplateInputException: Error resolving template [request-body-string-v2], template might not exist or might not be accessible by any of the configured Template Resolversat org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateManager.java:869) ~[thymeleaf-3.0.15.RELEASE.jar:3.0.15.RELEASE]at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:607) ~[thymeleaf-3.0.15.RELEASE.jar:3.0.15.RELEASE]at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1098) ~[thymeleaf-3.0.15.RELEASE.jar:3.0.15.RELEASE]at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1072) ~[thymeleaf-3.0.15.RELEASE.jar:3.0.15.RELEASE]at org.thymeleaf.spring5.view.ThymeleafView.renderFragment(ThymeleafView.java:366) ~[thymeleaf-spring5-3.0.15.RELEASE.jar:3.0.15.RELEASE]at org.thymeleaf.spring5.view.ThymeleafView.render(ThymeleafView.java:190) ~[thymeleaf-spring5-3.0.15.RELEASE.jar:3.0.15.RELEASE]at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1405) ~[spring-webmvc-5.3.23.jar:5.3.23]at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1149) ~[spring-webmvc-5.3.23.jar:5.3.23]at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1088) ~[spring-webmvc-5.3.23.jar:5.3.23]at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964) ~[spring-webmvc-5.3.23.jar:5.3.23]at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.23.jar:5.3.23]at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.23.jar:5.3.23]at javax.servlet.http.HttpServlet.service(HttpServlet.java:681) ~[tomcat-embed-core-9.0.65.jar:4.0.FR]at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.23.jar:5.3.23]at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) ~[tomcat-embed-core-9.0.65.jar:4.0.FR]at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.65.jar:9.0.65]at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.23.jar:5.3.23]at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23]at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.23.jar:5.3.23]at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23]at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.23.jar:5.3.23]at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23]at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.65.jar:9.0.65]at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
강의랑 관련은 없지만 파일 업로드 관해서 질문 드립니다.
<div> <Input type="text"/> <Button @click="fileClick('fileUpload')">파일 첨부</Button> <input ref="fileUpload" type="file" class="is-blind" /> </div> methods: { fileClick(target) { this.$refs[target].click(); }, } 커스텀 파일업로드를 작성하려하는데 현재 input type="file"은 숨기고 ref로 연결하여button을 클릭하였을때 input type="text"쪽에 파일명을 넣고싶은데 v-model로 어떻게 접근해야할까요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
H2 데이터베이스 이전 테이블 잔존 관련
jpashop 으로 데이터베이스를 만들고, 강의 영상처럼 ls-arlth 로 mv.jpashop 파일이 만들어진 것을 확인했습니다h2 웹 콘솔에서 jdbc:h2:~/jpashop 경로로 접속하면 이전에 JPA 기초 클래스에서 만들어졌던 테이블이 나옵니다무었 때문에 그런걸까요?