묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
안녕하세요 MVC 강의를 듣다보니 궁금한게 생겼습니다.
안녕하세요! 궁금한 것이 있어 질문 올립니다. 비록 드리는 질문이 강의 내용과 직접적인 연관은 없는 부분이지만.. 제가 타 언어로 개발하다 자바로 새로 전향하는지라 아는 것이 없어, 이런 간단한 질문조차 물어볼 인맥이 없어서 여기다 질문드립니다 ㅠ (구글링 해봤는데 안나옵니다..) 스프링 강의랑 JPA 커리큘럼까지 전편 결제해서 정주행 중이고, 현재 스프링 입문, 기본편, MVC 1편까지 수강을 완료한 상태에서 타임리프 관련하여 궁금한게 생겼습니다. 이직을 위해 Rest Api 쪽도 별도로 공부 중인지라.. Rest Api 사이트에서의 타임리프에 대한 질문인데요, 보통 현업에서 Rest Api로 사이트를 개발할 때 타임리프는 아예 사용하지 않는게 맞는건지 아니면 둘 다 섞어서 사용하는게 맞는건지 궁금합니다. 감사합니다.
-
미해결스프링 시큐리티
savedRequest주소가 이상해요!
저는 사실 한다고 따라한거 같은데... 이게 CustomAuthenticationSuccessHandler에서 성공을 하면 이상하게도 savedRequest에서 resource파일 중 하나를 불러옵니다. 왜 그런지 이유를 잘 모르겟네요... 위의 그림의 경우에는 그냥 로그인을 클릭해서 로그인에 성공했을 때 이렇게 나오는건데요, 웃긴건은 로그인 하지 않은 상태에서 인증이 필요한 url들을 클릭 시에, 인증을 하고 redirect할 때도 동일한 일이 일어난다는 것입니다. 그러니까 url이 자꾸 이상하다는 말입니다. 이 엉터리 URL들이 어디서 생긴건지 찾을수 있게 도와주세요ㅠㅠ
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
z-index 가 먹히지 않습니다
■ 질문 남기실 때 꼭! 참고해주세요.- 먼저 유사한 질문이 있었는지 검색해주세요.- 궁금한 부분이 있으시면 해당 강의의 타임라인 부분을 표시해주시면 좋습니다.- HTML, CSS, JQUERY 코드 소스를 텍스트 형태로 첨부해주시고 스크린샷도 첨부해주세요.- 다운로드가 필요한 파일은 해당 강의의 마지막 섹션에 모두 있습니다. 똑같이 했는데 뭐가 문제일까요.... z-index : 10px; 을 했는데 네비게이션이 올라오질 않네요...ㅠㅠ
-
미해결비전공 기획자 및 관리자를 위한 IT 필수 지식
강의자료요청
안녕하세요 강사님! 강의자료 요청드려요~ 이메일주소는acehwang1210@naver.com 입니다~ 저 추가적으로 궁금한게 있는데요..ㅎㅎ 제가 보험사에서 현재 서비스 기획자로 일하고 있는데 서비스 기획자겸, Project manager로 일하고 있다고 생각하는데요 내부적으로 특정 기능 또는 솔루션 시스템을 도입할 때 프로젝트 매니저로서 기획부터 프로젝트 전반적인 일정 관리 중간중간 개발자와 소통하여 테스트 후 오픈 까지 진행하고 있습니다. 다만 한가지 궁금한점이 프러덕트 매니저로서도 일하고 있는지 궁금합니다.... 카카오톡 채널 내 시나리오형 챗봇을 도입했고, 채팅장에서 가입, 접수 프로세스를 추가 및 기획하는 역할을 수행했는데요 이부분도 프러덕트 매니저라고 볼 수 있을까요?? 프로젝트와 프러덕트 매니가 다소헷갈리네요..
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
타임리프 syntax 에러
안녕하세요 강사님, 강의 잘 보고 있습니다. 다름이 아니라, 타임리프 html 파일에서 syntax 에러가 지속적으로 나고 있습니다. 처음에는 빨간 줄이 나도 어느정도 잘 돌아가, 문제 없다고 생각하고 그냥 넘겼는데요 이번에 Converter 하면서 ${{}} 문법이 제대로 안먹히는것 같습니다.. 하위 에러 로그는 해당 ${{}}문법 로그구요, org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "ipPort" (template: "converter-view" - line 12, col 28) converter-view 소스 내용입니다 답변 부탁드립니다.. 혹시나 해서 해당 package 링크도 올립니다. 수정 --------------------------------- (하위링크에서 확인해주시기 바랍니다.) https://drive.google.com/file/d/1tATecogZPvl2vjnN35Kb1Fjg5nO88ECK/view?usp=sharing 감사합니다..
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
조건문 업그레이드 질문.
그런데, 음식이 하나면 다행인데요~ 만약에 한식 : "불고기"에서 뭐 비빔밥, 전, 이런것들도 추가를 하고 싶을 때는 어떻게 하죠? :)
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
list의 유무 차이
1) arr = list(map(int, input().split())) 2) arr = map(int, input().split())) 안녕하세요 저는 구현하기전에 문제를 읽고 코드설계를 먼저 하는방식으로 공부를 하고 있습니다. 대표값문제를 접하면서 궁금한점이 입력을 받을때 1)과같이 list를 써야하는지 아니면 2)처럼 안써도 되는지 어떻게 판단할 수 있을까요? 1)과 2) 둘 다 띄어쓰기로 구분하는 숫자열을 받는것은 동일하니 list를 써야하는지 안써도 되는지 판단 기준을 못잡겠습니다. 또 현재 대표값문제에서는 2)과 같이 썼을때 어떤 점때문에 의도치않은 결과가 나오는지 궁금합니다. 질문을 정리하자면 1) 여러 값을 입력받을때 list 사용의 판단 기준 2) 대표값문제에서 2)과같이 썼을때 정답이 안나오는 이유
-
미해결윤재성의 만들면서 배우는 Spring MVC 5
maven dependency management
강의 6:21분 부분에서 pom.xml 전체 선택후 ctrl + shift + f 눌렀는데 창이 안 뜹니다.. User Operation is Waiting 창이요!
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
오류 이건 뭔가요???
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관react-dom.development.js:18687 -인터넷창 오류- The above error occurred in the <input> component: at input at form at div at RegisterPage (http://localhost:3000/static/js/bundle.js:660:76) at Route (http://localhost:3000/static/js/bundle.js:46282:29) at Switch (http://localhost:3000/static/js/bundle.js:46484:29) at div at Router (http://localhost:3000/static/js/bundle.js:45901:30) at BrowserRouter (http://localhost:3000/static/js/bundle.js:45522:35) at App at Provider (http://localhost:3000/static/js/bundle.js:42903:5) Consider adding an error boundary to your tree to customize error handling behavior. Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries. logCapturedError @ react-dom.development.js:18687 react-dom.development.js:26923 Uncaught Error: input is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`. at assertValidProps (react-dom.development.js:2942:1) at setInitialProperties (react-dom.development.js:9920:1) at finalizeInitialChildren (react-dom.development.js:10950:1) at completeWork (react-dom.development.js:22193:1) at completeUnitOfWork (react-dom.development.js:26596:1) at performUnitOfWork (react-dom.development.js:26568:1) at workLoopSync (react-dom.development.js:26466:1) at renderRootSync (react-dom.development.js:26434:1) at recoverFromConcurrentError (react-dom.development.js:25850:1) at performConcurrentWorkOnRoot (react-dom.development.js:25750:1)련 문의는 1:1 문의하기를 이용해주세요. client-src-index.js import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import App from './App'; import reportWebVitals from './reportWebVitals'; // import 'antd/dist/antd.css' import { Provider } from 'react-redux'; import { applyMiddleware, createStore} from 'redux'; import promiseMiddleware from 'redux-promise'; import ReduxThunk from 'redux-thunk'; import loginReducer from './_reducers'; const createStoreWithMiddleware = applyMiddleware(promiseMiddleware, ReduxThunk)(createStore) const root = ReactDOM.createRoot(document.getElementById('root')); root.render( <Provider store = {createStoreWithMiddleware( loginReducer, window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__() )}> <App /> </Provider> ); // If you want to start measuring performance in your app, pass a function // to log results (for example: reportWebVitals(console.log)) // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals reportWebVitals(); 여기 문제 같아 보여요 redux 부분 뭔가 있는거 같은데 모르겠네요 loginPage.js import React, { useState } from 'react'; import {useDispatch} from 'react-redux'; import { loginUser } from '../../../_actions/user_action'; function LoginPage(props) { const dispatch = useDispatch(); const [Email, setEmail] = useState(""); const [Password, setPassword] = useState(""); const onEmailHandler = (enent) => { setEmail(enent.currentTarget.value) } const onPasswordHandler = (event) => { setPassword(event.currentTarget.value) } const onSubmitHandler = (event) => { event.preventDefault(); let body = { email: Email, password: Password } dispatch(loginUser(body)) .then(response => { if(response.payload.loginSuccess) { props.history.push('/') } else { alert("Error") } }) } return ( <div style={{ display: 'flex', justifyContent: 'center', alignItems: 'center', width: '100%', height: '100vh' }}> <form style={{desplay: 'flex', flexDirection: 'column'}} onSubmit={onSubmitHandler}> <input>Email</input> <input type="email" value={Email} onChange={onEmailHandler} /> <label>password</label> <input type="password" value={Password} onChange={onPasswordHandler}/> <br/> <button> Login </button> </form> </div> ); } export default LoginPage; RegisterPage.js import React, { useState } from 'react'; import {useDispatch} from 'react-redux'; import { registerUser } from '../../../_actions/user_action'; function RegisterPage(props) { const dispatch = useDispatch(); const [Email, setEmail] = useState(""); const [Password, setPassword] = useState(""); const [Name, setName] = useState("") const [ConfirmPassword, setConfirmPassword] = useState("") const onEmailHandler = (enent) => { setEmail(enent.currentTarget.value) } const onNameHandler = (event) => { setName(event.currentTarget.value) } const onPasswordHandler = (event) => { setPassword(event.currentTarget.value) } const onConfirmPasswordHandler = (event) => { setConfirmPassword(event.currentTarget.value) } const onSubmitHandler = (event) => { event.preventDefault(); if(Password !== ConfirmPassword) { return alert("비밀번호와 비밀번호 확인은 같아야 합니다.") } let body = { email: Email, password: Password, name: Name } dispatch(registerUser(body)) .then(response => { if(response.payload.success) { props.history.push("/login") } else { alert("Failed to sign up") } }) } return ( <div style={{ display: 'flex', justifyContent: 'center', alignItems: 'center', width: '100%', height: '100vh' }}> <form style={{desplay: 'flex', flexDirection: 'column'}} onSubmit={onSubmitHandler}> <input>Email</input> <input type="email" value={Email} onChange={onEmailHandler} /> <label>Name</label> <input type="text" value={Name} onChange={onNameHandler}/> <label>Password</label> <input type="password" value={Password} onChange={onPasswordHandler}/> <label>Confirm Password</label> <input type="password" value={ConfirmPassword} onChange={onConfirmPasswordHandler}/> <br/> <button type='submit'> 회원 가입 </button> </form> </div> ); } export default RegisterPage;
-
미해결윤재성의 만들면서 배우는 Spring MVC 5
에러질문
HomeController 파일 int result = Test2Service.minus(request); 부분에서 Test2Service cannot be resolved 라는 오류가 나오는데 이거 왜 생긴 건가요???
-
미해결비전공자를 위한 개발자 취업 올인원 가이드 [통합편]
코딩 테스트 공부
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 0. Introduction 자기 소개 안녕하세요! 한정수님 강의 이번 년도 1월에 완강하고 이를 토대로 python backend engineer를 목표로 공부 중인 비전공자 김제하라고 합니다. python, OS, 네트워크 HTTP, MySQL, Git 공부를 순서대로 마치고, 프레임워크를 통해서 프로덕트를 만들어보면서 이번 달 들어와서 중단했던 자료구조와 알고리즘 코딩테스트 공부를 다시 시작하여, 백준 사이트를 이용하고 있습니다. 더 일찍 시작할려고 했는데, 다른 거 먼저 공부하다보니...ㅠㅠㅠㅠ -------------------- 1. First Question 강의에서 알려주실 때, 한 자료구조를 공부하고 그 구조에 해당되는 문제만 선별적으로 풀어보라고 하셨습니다. 그런데 백준이나 leetcode를 보면 문제양이 어마어마하게 많은데, 한정수님은 이를 다 풀어보는 걸 권장하시는 바인가요?? ------ 2. Second Question 지치더라도 다시 한 번 긴장하여 강의를 통해 공부하는 게 좋을까요, 아니면 부트캠프를 이용하는게 좋을까요??? 기존에 프레임워크를 통해서 클론 코딩 강의를 들으며 혼자 공부하는 것에 지치는 감이 있어서 이번에 새로 생긴 소수 정예로 기술셋은 django framework와 AWS 인 부트캠프가 생겨서 선결제를 하면 맥북도 준다고 하여 들어볼라고 합니다. 부트캠프를 듣고 취업 후, 6개월 정도의 경험을 쌓은 후 퇴사하여 F-lab이라는 멘토링 제도를 통해 보다 더 레벨업 해볼려고 하는 계획입니다. 클론 코딩 강의를 듣기 전에는 Python 의 또 다른 framework를 통해서 네이버 OPEN API를 이용하여 비동기 크롤링 프로젝트를 만들어본 경험이 있습니다. framework에 대해 더 많이 배울 수 있는 건 강의입니다. 부트캠프에서 여러가지 지원을 해주지만, 한정수님 강의를 듣고 기존에 하던 저로서는 협업하여 쌓는 프로젝트와 AWS 그리고, 멘토분들 인맥 외에는 크게 도움되는 게 없는 듯 합니다. 하지만 취업할 때는 협업 프로젝트보다 개인 프로젝트가 더 중요하지 않나요??? 협업 프로젝트는 자신이 어디까지 했는지 명확하지 않으니, 면접 때 좋지 않게 본다고 들었습니다. ------ P.S 그리고, 다시 한 번 감사의 말씀드립니다. 한정수님 강의를 통해서 많은 길을 돌아가지 않고 곧 바로 가게된 것 같아 다행이라 생각합니다.
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
emit 관련 질문 드립니다
채팅 기능 구현 중에 해결이 안되는 문제가 있어서 질문 드립니다. Router 내에서 req.app.get('io').of('/chat').to(chatting_id).emit('chat', message) 방식으로 소켓에 데이터를 전달할 경우 해당 chatting_id 소켓에 연결되어있는 클라이언트들에게 메세지가 전달되지 않습니다. socket.js 안의 on에서 동일하게 chatting_id를 통해서 emit할경우 수신/발신 모두 정상적으로 진행됩니다.. chatting_id 값은 숫자 1로 동일합니다. 콘솔에 req.app.get('io').of('/chat') 까지는 객체가 잘 들어있는것을 확인했습니다.. 강의 내부에서 동작하는것과 똑같이 작성한것같은데 원인이 무엇일까요..? 라우터 파일(별도 파일로 작성 후 router.js에서 사용) exports.createChattingContents = async (req, res, next) => { const chattingContents = req.body.chatting_contents; const chat = req.app.get('io').of('/chatting'); try { const createdResult = await ChattingContentsRepository.create(chattingContents); chat.to(createdResult.chatting_id).emit('chat', createdResult); res.status(200).send({ ok: true, data: createdResult, }); } catch (error) { next(error); } }; Socket의 chat 부분 socket.on('chat', (data) => { const chattingContents = data; socket.to(chattingId).emit('chat', data); });
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
메이븐에 h2 1.3.176 버전이 의존성이 추가가 안됩니다..
1.3.176 버전을 등록하면 빨간줄 뜨고 계속 2.대 버전으로 업그레이드 하라고 뜹니다. 그렇게 1.4.200 이나 2.1.214 버전을 사용하고 Embeded 로 h2 db를 테스트 connection 하면 not found 라고 뜨면서 연결이 안됩니다.. 그리고 이미 test.mv.db 파일이 c/user/사용자이름 폴더에 존재합니다.. 이럴 땐 어떻게 해야할까요? 아래처럼 추가해주려고하는데 spring: datasource: url: jdbc:h2:tcp://localhost/~/testmsadb yml 파일에 추가가 안되네요 Cannot resolve configuration property 'spring.database.url' 라고 뜹니다. ( 아예 자동완성이 뜨질 않네요)... 이 상황을 어떻게 해결하면 좋을까요? 참고로 하나만 더 말씀드리면 web-admin-others : 는 빨간줄이 뜨고 h2: console: enabled: true settings: web-admin-others: true path: /h2-console Cannot resolve configuration property 'spring.h2.console.settings.web-admin-others' 라고 뜨네요 그리고 저는 spring boot 2.6.10 버전에 자바 1.8 스프링 클라우드 2021.0.3 버전을 사용하고 있습니다.
-
미해결MERN STACK 커뮤니티 : 시작부터 배포까지 알려주는 React
useEffect 질문입니다.
useEffect( () => { alert("나타났습니다") return () => { alert("죽었습니다") } }, [] ) 으로 똑같이 작성하였는데, upload로 들어갈때 나타났습니다 -> 죽었습니다 -> 나타났습니다 이렇게 3번나옵니다. list나 home으로 갈땐 죽었습니다 한번만 나옵니다. 무슨이유일까요...
-
미해결대세는 쿠버네티스 (초급~중급편)
클라우드 환경에서 로드밸런서 IP 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. cloud 환경에서 쿠버네티스 클러스터를 벤더사에서 제공하는 서비스 없이 구성해보고자 강의를 수강중입니다. 현재 GCP를 사용중인데, 강의에서 말씀해주신 클라우드 벤더사를 이용하면 로드밸런서에 IP가 할당 된다는게 GKE 같은 k8s 서비스를 이용해야만 할당이 가능한게 맞나요? 찾아봐도 대부분 서비스를 이용하라는 것 같긴한데 속시원하지가 않아서 질문드립니다.ㅠ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
Sort 이렇게 구현해봤습니다.
이렇게 구현해봤는데 혹시 보충해야 할 점이 있을까요? 이 코드에서 고쳐야 할 점 등 피드백이 있다면 부탁드립니다! 스왑은 전 강의 듣고 여기저기 검색해보다가 좋아보이는게 있어서 차용해봤는데 참 편하네요. 언제나 좋은 강의 감사합니다. static void Sort(int[] scores) { int turn = 0; while (turn < scores.Length) { for (int i = 0; i < scores.Length - 1; i++) { if (scores[i] < scores[i + 1]) (scores[i], scores[i + 1]) = (scores[i + 1], scores[i]); } turn++; } }
-
미해결
지라에서 티켓이란게 정확히 뭔가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 수업 듣는 중 명쾌한 답을 모르겠어서 질문 드립니다. 이슈, 에픽, 버그 등 다른 항목들의 정의는 다 알겠는데 티켓은 정확히 뭔가요? 막연히 파악해보면 이슈같이 과제 하나하나 발행된게 다 티켓인거 같은데, 맞나요?
-
미해결취준생이 반드시 읽어봐야 할 중고신입 전략
PDF 자료는 어디서 다운 받을 수 있나요?
강의 수강하고 pdf 자료를 다운받고 싶은데, 어디로 해야하는 지 잘 모르겠습니다. 알려주실수 있을까요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
질문 아님.^^
주니어 개발자 분들이 지금 이 말을 잘 듣고 느끼시길 바래봅니다. 세상이 편해져도 노력없이 얻는건 없습니다. 오히려 4차 산업 5차 산업으로 발전할 수록 기본 지식을 더 많이 필요할 뿐이지 편하다고 생각하시지 마시고기술이 편해진다는 건 더 많은 지식을 요구한다는 것으로 받아 드리시고 루틴 처럼 자기 개발 잘 하셔서 고액 연봉자또는 훌륭한 사업자로의 길로 가시길 기원해 봅니다.대한민국 개발자 화이링!! ^^
-
해결됨오픈 소스 자바스크립트 React 프로그래밍 입문 Part.1
애저를 처음부터 연결하고 사용해야 하나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 애저를 처음부터 연결해서 배워가야하는지 궁금합니다. 어느정도 공부한 뒤에 다시 1강으로 와서 애저를 연결하는 과정을 다시보고 연결하는 방법까지 익히는걸 그때 해도 되나요? 깃허브까지는 연결을 했는데 애저는 유료이기도하고 복잡하네요 ㅠ