묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
actuator/busrefresh 가 동작하지 않습니다
안녕하세요 강의 잘 듣고 있습니다 GET HTTP method 방식의 acturator/beans, actuator/health API 호출은 잘 동작하지만 POST 방식의 acturator/refresh 또는 actuator/busrefresh API 호출은 에러가 발생하고 동작하지 않습니다 구글링을 해봐도 원인 파악이 어려워서 강의 진행이 어렵습니다.. 혹시 원인을 알고 계시면 안내해주시면 감사하겠습니다
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
안녕하세요? onion.haus 없어졌나요 ㅜㅜㅜㅜ
서버상 띄운후 superuser 만드는거 참고 많이 했었는데 접속 안되요 ㅜㅜ https://onion.haus/detail/3448 다시 알려주실 수 있나요 ㅜㅜㅜ
-
미해결
php 회원가입 db 질문 드립니다.
Fatal error: Uncaught Error: Undefined class constant 'MYSQL_ATTR_INIT_COMMAND' in C:\Apache24\htdocs\dbcon.php:8 Stack trace: #0 C:\Apache24\htdocs\index.php(2): include() #1 {main} thrown in C:\Apache24\htdocs\dbcon.php on line 8. APM 환경에서 php로 회원가입을 구현하고 싶은데 위와 같은 오류가 뜹니다. 오류 문장에 언급된 php 파일 첨부합니다.. 찾아봐도 잘 안 나오고 뭐가 문제인지 모르겠습니다. ㅇ위에서 말한 line 8은 아래입니다. 오래 붙잡았는데도 도저히 모르겠습니다.. 도와주시면 감사하겠습니다. $options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'); dbcon.php <?php $host = 'localhost'; $username = ''; $password = ''; $dbname = 'userdb'; $options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'); try { $con = new PDO("mysql:host={$host};dbname={$dbname};charset=utf8",$username, $password); } catch(PDOException $e) { die("Failed to connect to the database: " . $e->getMessage()); } $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $con->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); if(function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()) { function undo_magic_quotes_gpc(&$array) { foreach($array as &$value) { if(is_array($value)) { undo_magic_quotes_gpc($value); } else { $value = stripslashes($value); } } } undo_magic_quotes_gpc($_POST); undo_magic_quotes_gpc($_GET); undo_magic_quotes_gpc($_COOKIE); } header('Content-Type: text/html; charset=utf-8'); session_start(); ?> index.php <?php include('dbcon.php'); include('check.php'); if(is_login()){ if ($_SESSION['user_id'] == 'admin' && $_SESSION['is_admin']==1) header("Location: admin.php"); else header("Location: welcome.php"); } ?> <!DOCTYPE html> <html> <head> <title>로그인 예제</title> <link rel="stylesheet" href="bootstrap/css/bootstrap1.min.css"> </head> <body> <div class="container"> <h2 align="center">로그인</h2><hr> <form class="form-horizontal" method="POST"> <div class="form-group" style="padding: 10px 10px 10px 10px;"> <label for="user_name">아이디:</label> <input type="text" name="user_name" class="form-control" id="inputID" placeholder="아이디를 입력하세요." required autocomplete="off" readonly onfocus="this.removeAttribute('readonly');" /> </div> <div class="form-group" style="padding: 10px 10px 10px 10px;"> <label for="user_password">패스워드:</label> <input type="password" name="user_password" class="form-control" id="inputPassword" placeholder="패스워드를 입력하세요." required autocomplete="off" readonly onfocus="this.removeAttribute('readonly');" /> </div> <div class="checkbox"> <label><input type="checkbox"> 아이디 기억</label> </div> </br> <div class="from-group" style="padding: 10px 10px 10px 10px;" > <button type="submit" name="login" class="btn btn-success">로그인</button> <a class="btn btn-success" href="registration.php" style="margin-left: 50px"> <span class="glyphicon glyphicon-user"></span> 등록 </a> </div> </br> </form> </div> </body> </html> <?php $login_ok = false; if ( ($_SERVER['REQUEST_METHOD'] == 'POST') and isset($_POST['login']) ) { $username=$_POST['user_name']; $userpassowrd=$_POST['user_password']; if(empty($username)){ $errMSG = "아이디를 입력하세요."; }else if(empty($userpassowrd)){ $errMSG = "패스워드를 입력하세요."; }else{ try { $stmt = $con->prepare('select * from users where username=:username'); $stmt->bindParam(':username', $username); $stmt->execute(); } catch(PDOException $e) { die("Database error. " . $e->getMessage()); } $row = $stmt->fetch(); $salt = $row['salt']; $password = $row['password']; $decrypted_password = decrypt(base64_decode($password), $salt); if ( $userpassowrd == $decrypted_password) { $login_ok = true; } } if(isset($errMSG)) echo "<script>alert('$errMSG')</script>"; if ($login_ok){ if ($row['activate']==0) echo "<script>alert('$username 계정 활성이 안되었습니다. 관리자에게 문의하세요.')</script>"; else{ session_regenerate_id(); $_SESSION['user_id'] = $username; $_SESSION['is_admin'] = $row['is_admin']; if ($username=='admin' && $row['is_admin']==1 ) header('location:admin.php'); else header('location:welcome.php'); session_write_close(); } } else{ echo "<script>alert('$username 인증 오류')</script>"; } } ?>
-
해결됨코딩은 실전이다! - Git알못을 위한 깃린이코스(Git, Github 실습위주)
슬랙 초대 부탁드립니다!
슬랙 초대 부탁드립니다. 이메일은 rlaehdehd2001@gmail.com 입니다. 강의 잘 듣고 있습니다:)
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
repository mocking 문의
안녕하세요~ 최태현님 테스트 코드 작성에 있어서 고민이 있어 문의남깁니다. 이전까지 다른 강의 영상에서는 repository를 mocking해서 서비스를 테스트하는 영상을 많이 봤습니다. 그래서 서비스 테스트시에는 repository 를 mocking 하는것이 실무에서 흔한 방식이고 best practice라고 생각했습니다 그런데 실무에서 적용해보니 mocking을 하게되면 테스트 코드가 서비스 메소드의 내부 구현에 대해 너무 잘 알게되더라구요, 그러다보니 실제 코드의 내부 구현이 바뀌면 테스트 코드도 바뀌게 될 여지가 많더라구요.. 반면 스프링부트 테스트로 h2에 연결해서 하는 테스트는 상대적으로 느려 피드백이 늦는것이 단점일것같습니다. 개인적으로는 강의에 나온것처럼 스프링 부트 테스트로 h2에 연결해서 테스트하는 후자가 더 마음에 드는데요. 실제로 현업에서는 서비스 테스트시 둘중 어떤걸로 사용하시나요? 실제 강의하신것처럼 후자로 테스트를 많이 하시나요? 좋은 강의 감사합니다~
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
빌드 과정 JAVA HOME 오류
저는 오류가 이런식으로 나는데요 ㅜㅜ 어떻게 해결해야 할까요? 계속 검색해봤는데 오류가 안고쳐집니다..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@AfterEach해서 storeclaer로 테스트 클리어하는 건데
영한쌤은 되던데 저는 안되네요
-
미해결스프링 배치
파티셔닝의 사용 케이스가 어떻게 될까요?
안녕하세요 강사님! 강의 잘보고 있습니다! 파티셔닝에 대해 학습하게 되었고 장점도 잘 알겠는데 보통 실무에서 몇만건 정도 처리를 할때 파티셔닝을 적용해도 되겠다싶을까요? 상황마다 다르겠지만 대략적으로 궁금합니다
-
미해결Django REST Framework 핵심사항
post, comment crud 질문
해당 강의의 최종 단계에선 post, comment 에 대해서 crud가 가능한 것인가요?? post는 get, comment는 post만 가능하다고 확인이 되어서요!
-
해결됨Flutter 앱 개발 기초
5회차 firebase 사용하기 따라하는 중인데 질문이 있습니다.
약 15분 37초쯤 ios 디렉터리에 있는 podfile설정하는 부분에 관한 질문입니다. 저는 ios디렉터리 하위목록에 podfile이 없는데 왜 그런 것일까요..??flutter버전이 달라서 그런 것일까요? flutter버전 : flutter_windows_3.0.5-stable
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
상품을 삭제하려면 어떻게 하면 좋을까요?
혹시 상품 상세페이지에서 상품 삭제를 하려면 어떻게 하면 좋을까요??,,,계속해서 하는데 모르겠어서요ㅠㅠ!
-
해결됨스프링 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;