묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전 프로젝트로 배우는 타입스크립트
eslint 설치 후에 error가 많이 발생하네요ㅠㅠ
아래 terecal님 처럼 같은 에러가 발생했습니다.... settings.json파일에 아래와 같이 지정해주었고 저번에 같은 에러가 떠서 아래 문구도 추가해 주었는데 .eslint.js파일과 app.ts파일에 많은 에러가 뜨네요.. ㅠㅠ
-
미해결쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
설치가 안되어 수강이 불가 합니다.
안녕하세요 하기와 같은 오류가 발생하여 설치가 안되는 것 같습니다. VM 파일 재설치 및 timeout 늘리는 것은 이미 했으나 동일한 오류가 발생합니다. 확인 부탁드립니다~~ Command: ["modifyvm", "8cef7f6d-42fc-492a-9b61-b230e06b62fa", "--groups", "/k8s-SgMST-1.20(github_SysNet4Admin)"] Stderr: VBoxManage.exe: error: Could not rename the directory 'C:\Users\jooyoung\VirtualBox VMs\새 그룹\m-k8s-1.20(github_SysNet4Admin)' to 'C:\Users\jooyoung\VirtualBox VMs\k8s-SgMST-1.20(github_SysNet4Admin)\m-k8s-1.20(github_SysNet4Admin)' to save the settings file (VERR_ALREADY_EXISTS) VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component SessionMachine, interface IMachine, callee IUnknown VBoxManage.exe: error: Context: "SaveSettings()" at line 3265 of file VBoxManageModifyVM.cpp > Please fix this customization and try again.
-
미해결쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
VM에서 설치가 안되네요..
안녕하세요 VM에서 설치 하려고 하는데 하기와 같은 오류가 발생하고 설치가 안됩니다. 처음에는 timeout이 발생하여 시간을 늘렸고, 시간 늘린 이후에는 하기와 같은 오류가 발생합니다. VM도 삭제 후 재 설치 하였으나 동일합니다. 설치가 안되서 다음 학습을 진행 할 수가 없습니다. 확인 부탁드립니다~! Command: ["modifyvm", "8cef7f6d-42fc-492a-9b61-b230e06b62fa", "--groups", "/k8s-SgMST-1.20(github_SysNet4Admin)"] Stderr: VBoxManage.exe: error: Could not rename the directory 'C:\Users\jooyoung\VirtualBox VMs\새 그룹\m-k8s-1.20(github_SysNet4Admin)' to 'C:\Users\jooyoung\VirtualBox VMs\k8s-SgMST-1.20(github_SysNet4Admin)\m-k8s-1.20(github_SysNet4Admin)' to save the settings file (VERR_ALREADY_EXISTS) VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component SessionMachine, interface IMachine, callee IUnknown VBoxManage.exe: error: Context: "SaveSettings()" at line 3265 of file VBoxManageModifyVM.cpp > Please fix this customization and try again.
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
10:50 span태그
span태그는 인라인요소 태그라고 하셨는데 float를 사용하게되면 왜 크기값을 가질 수 있는지 궁금합니다! 제가 놓친 부분이 있는건가요?
-
미해결태블로 대시보드 기초
제목에 년도 표시하기 문의
교제에 나와 있는 아래 예제를 관련 문의 드려요... 1. 마크에 있는 YMD(Today)가 매계변수 today selection과 연동되어서. 제목 "YTD Sales as of 2020년 3월 4일"에 표시되게 되있는데요.. 작성방법이 어떻게 되는지 혹시 알수 있을까요? 처음 배우다 보니, 기초적인것에서 질문이 생기네요.. 2. 매개변수로 Year를 만들고.. 연도를 xx년으로 선택하면 제목에서 " xx년 sales" 나오게 할 수 있는 방법이 있을까요?
-
미해결Svelte.js SPA 영화 검색 프로젝트
script에서 img load event를 사용하면 해당 url이 로딩될 때까지 기다리는 건가요?
안녕하세요 Heropy님. 실습 중 궁금한 점이 있어 질문 드립니다. - MovieCard.svelte의 script에서 img Element를 생성하고, load event를 붙여서 로드되는지 감지하는데 이 load가 되는지는 아래 html의 poster 요소의 style=background-image: url({movie.Poster});의 image load가 완료 될 때 동작하는 걸까요? 만약 그렇다면 동일한 url 요청이 2번 발생(poster와 info내의 poster)하게 되는데 두 요청이 모두 완료될 때 트리거 되는 건가요? 네트워크 탭을 보면 실제 요청은 1번만 발생하는데 동작 구조가 궁금합니다. 그리고 이후 요청에 대해서는 disk cache로 동작하게 되는데 disk cache는 자동으로 캐싱되는 것인지도 궁금합니다!(자동 캐싱이라면 캐싱이 유지되는 조건이나 기본 값이 있는지도 궁금하네요) 고퀄리티 강의 올려주셔서 항상 감사드립니다!
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
얕은 복사에 관하여
함수에 들어오는 배열같은 값을 바로 가져가서 쓰지않고 얕은 복사를 하는 이유가 있을까요??
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
세션 쿠키(브라우저 종료 시 세션 삭제)
안녕하세요. 영한님 강의 잘 듣고 있습니다. 세션 쿠키에 대해서 질문드리고 싶습니다. 강의에서 세션 쿠키는 클라이언트의 브라우저 종료 시까지만 유지된다고 설명해주셨는데요. 그럼 클라이언트가 브라우저를 종료하면 서버 쪽에서도 이 쿠키 값을 메모리에서 삭제하는 건가요? 만약 그렇다면 서버는 클라이언트의 브라우저 종료 시점을 어떻게 알고 있는 건가요? (HTTP 통신은 stateless해서 한 번 통신하고 클라이언트의 상태를 저장하지 않기에 세션이라는 개념이 나온 걸로 저는 이해하고 있습니다. 브라우저가 종료할 때, 현재 열려있는 탭의 서버에 종료한다는 메시지라도 보내는 걸까요?)
-
미해결Svelte.js SPA 영화 검색 프로젝트
axios 요청 시 y 파라미터가 빈 값인 경우 에러가 발생합니다
안녕하세요. 강의 잘 듣고 있습니다. store/movie.js에서 axios.get를 사용해 api request 시에 y파라미터 값으로 year를 전달하게 되는데요.(강의 6:40 ~ 부분) Search 컴포넌트에서 All years 옵션 선택 시 빈 스트링 값인 ""이 value로 전달되고, &y=""로 요청이 되게 되는데 OMDb API가 변경되었는지 해당 요청에 대해 401 에러를 반환합니다.(이유는 모르겠지만 API Key가 정상임에도 에러 메시지가 Invalid API Key Error네요.) const res = await axios.get(`https://www.omdbapi.com/?apikey=${OMDB_API_KEY}&s=${title}&type=${type}${year ? `&y=${year}`: ""}`) 위와 같이 year 값이 존재하는 경우에만 y파라미터를 사용하도록 변경하니 잘 작동하는데요. 원인이 정확하지 않아 확인 차 여쭤봅니다. 그리고 위와 같이 값 존재 여부에 따라 파라미터를 선택적으로 넘겨주고 싶을 때 저렇게 코딩하는게 맞나요...?(좀 더 좋은 방식이 있는지 궁금합니다)
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
Gunicorn container의 state 가 계속 stop 됩니다
매번 좋은 강의 감사드립니다! gunicorn container가 계속 stop 되고 8080번 포트로 연결하면 찾을 수 없는 사이트라고 나옵니다..! start 버튼을 눌러도 잠깐 동안만 실행되고 자동으로 다시 stop 됩니다ㅠㅠ status 는 Stopped for a few seconds with exit code 3 이렇게 나옵니다! exit 3 은 구글링으로 잘 안나오는 것 같아서 질문드립니다! 감사합니다!
-
미해결타입스크립트 입문 - 기초부터 실전까지
union 타입 반환에 대해서 질문합니다
타입 가드 쪽 강의를 살펴보다 질문이 생겼습니다. interface Developer { name: string; skill: string; } interface Person_ { name: string; age: number; } function introduce(): Developer | Person_ { return {name: "tony",age: 33, skill: "ts"}; // } 유니온 타입을 사용하면 Developer와 Person_의 공통 속성인 name에만 접근할 수 있는 걸로 알고 있었는데, 반환값을 코드와 같이 작성하면 세 속성 전부를 반환할 수 있는 이유가 무엇인지 궁금합니다.
-
미해결태블로를 활용한 시간 데이터 시각화
라인차트 매개변수활용한 성장률 표시
올려주신 강의 정주행 하고 있습니다..^^ 라인차트 매개변수 활용한 시각화부분을 실습해 보다가 궁금한 부분이 있어서 글 드려요... 성장률 DELATA값을 만들어서 넣어 보았는데..아래와 같이 선의 양쪽에 동일하게 표시되네요.. 이것을 강의 예제 파일처럼.. 매출은 양쪽 모두 표시되고...성장률은 오른쪽 끝에만 표시되게 하려면 어떻게 해야하는지 문의 드립니다..
-
미해결실전! 스프링 데이터 JPA
Slice
안녕하세요 영한님 감사합니다 PageRequest pageRequest = PageRequest.of(0, 3, Sort.by(Sort.Direction.DESC, "username")); Slice<Member> page = memberRepository.findByAge(age,pageRequest); ------------------------------------------------------- 결과: select member0_.member_id as member_i1_0_, member0_.age as age2_0_, member0_.team_id as team_id4_0_, member0_.username as username3_0_ from member member0_ where member0_.age=? order by member0_.username desc limit 4 ======================================== 질문 1. limit4 로 DB 를 쿼리를 날리는데 그런데 콘솔에서 데이터를 찍어보면 member=Member(id=5, username=member5, age=10) member=Member(id=4, username=member4, age=10) member=Member(id=3, username=member3, age=10) 이렇게 3건이 나오는데 중간에 JPA가 DB의 쿼리문과는 다르게 중간에 변환을 시켜주는것인가요 ? 질문 2 Slice 는 다음페이지 여부를 위해 Slice (count X) 추가로 limit + 1을 조회하는데, 이전에 페이징에서 사용한 page.hasNext(); 이 메서드를 쓰면 되는거 아닌가요? ? [(totalcount) 를 가져오지 않아서 성능상 유리해서 사용하는것인가요 ?]
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
FrameworkServlet.service와 DispatcherServlet.doDispath의 차이가 무엇인가요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용] 이전 강의에서의 Frontcontroller.service와 DispatcherServlet.doDispath의 기능이 같은데, 그럼, FrameworkServlet.service은 왜 같이 호출되는 건가요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
1XX 상태 코드
다음과 같은 상황에서는 HTTP 로 어떻게 해결하는지 궁금합니다. 파일 업로드 -> 서버 내 작업 (ex. STT, 인코딩 등) -> 작업 결과 반환 서비스 중 서버에서 처리하는 작업이 몇 초 내로 끝나지 않는 작업이 있어서 progress bar 형태로 진행 상황을 제공하려 합니다. 이런 경우 다른 해결 방법을 사용하는지, 1XX 코드를 사용하는 적절한 예인지 궁금합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
로컬 이미지를 불러오려고 합니다.
로컬 이미지를 html에서 바로 경로를 잡아서 출력하려고 합니다. 문제는 <img src="/Users/2jaebbang/Desktop/qr/qrcode.png"> 이렇게 하면 경로를 인식을 못하는지 출력이 안됩니다. 참고로 macOs입니다. 검색을 해보니 Server.xml 파일에 <Context path="/img" reloadable="true" docBase="지정한 폴더 절대 경로"/> 을 넣고 servlet-context파일에 <resources mapping="/resources/**" location="/resources/" /> <resources mapping="/img/**" location="지정한 업로드 폴더 절대경로" /> 이러한 코드를 넣으라고 나오는데 저는 application.yml 파일만 존재합니다. yml 파일에서도 위의 코드들이 삽입 가능한지 궁금합니다. 만약 안된다면 위의 xml파일을 어떻게 생성하는지 궁금합니다.
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
dist폴더에 대해서
강의내용과는 좀 무관하지만 궁금한게 있어서 질문드립니다. package.json과 같은 경로에 있는 dist폴더의 역할은 뭔가요? 제 생각엔 캐시의 용도이거나 빌드를 하게 되면 dist폴더에 ts를 js로 변환시키고 변환시킨 코드를 실행하는 것 같은데 그렇게 이해해도 될까요? 이런 질문을 드린 이유는 코드를 변경하고 요청을 보냈지만 변경한 코드가 적용되지 않아서 확인해 봤더니 dist의 js파일이 변경되지 않았더라구요. dist폴더를 지우고 다시 start를 하니까 dist폴더가 만들어지면서 해결은 됐습니다. 캐시의 용도라면 dist폴더를 지우는 방법말고 명령어를 통한 캐시 삭제 방법이 있는지 궁금합니다.
-
미해결[구버전] 웹 애플리케이션 개발을 위한 IntelliJ IDEA 설정 (2020 ver.)
intellij 자동 완성 기능 문의
안녕하세요? pom.xml 파일에 dependency를 추가할 때 아래 화면 처럼 groupId에 입력 시 artifactId까지 보이는데(그림1), 제가 사용하고 있는 intellij에서는 groupId까지만 보입니다(그림2). 설정하는 부분이 따로 있는건가요? 그림1 그림2
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
onRemovePost 함수 호출시 계속 같은 아이디가 나옵니다.
데브툴스로 리덕스 확인해봐도 배열로 쭈욱 포스트가 잘 들어가 있는데 삭제버튼만 누르면 post.id가 즉 함수안에서 프롭스를 쓰는 그 부분이 콘솔을 찍어봐도 첫번째꺼 id:1만 가져오네요 ㅜㅜ
-
미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
%00 사용하면 오류 발생
<? header("Content-Type: text/html; charset=UTF-8"); $gubun = $_GET["gubun"]; if(empty($_FILES["userfile"]["name"])){#클라이언트에 존재하는 파일의 원래 이름 echo "<script>alert('파일을 업로드 하세요!');history.back(-1);</script>"; exit(); } $path = "./upload/"; $filename = $gubun."_".$_FILES["userfile"]["name"];#서버에 저장된 업로드된 파일의 임시 파일 이름 $file_info = pathinfo($path.$filename); $ext = strtolower($file_info["extension"]); $ext_arr = array("php", "html", ""); if(in_array($ext, $ext_arr)){#파일 이름에 "php", "php3", "php5", "html", "htm" 확장자가 포함되어 있으면 예외처리(블랙리스트) echo "<script>alert('허용되지 않은 확장자 입니다1.');history.back(-1);</script>"; exit(); } if(!move_uploaded_file($_FILES["userfile"]["tmp_name"], $path.$filename)){#$_FILES["userfile"]["tmp_name"](서버에 저장된 임시 파일)을 $path.$filename(업로드될 경로:upload/$filename)에 저장 echo "<script>alert('파일 업로드에 실패하였습니다.');history.back(-1);</script>"; exit(); } ?> <li>업로드 성공 : <?=$path.$filename?></li> ------------------------------------------------------------------------------------------------------------ POST /null_ex1/upload.php?gubun=aa.php%00 HTTP/1.1 Host: 127.0.0.1:81 Content-Length: 1588436 Cache-Control: max-age=0 sec-ch-ua: "Chromium";v="92", " Not A;Brand";v="99", "Google Chrome";v="92" sec-ch-ua-mobile: ?0 Upgrade-Insecure-Requests: 1 Origin: http://127.0.0.1:81 Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryFJAvtYdjVBOAe0Td User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: navigate Sec-Fetch-User: ?1 Sec-Fetch-Dest: document Referer: http://127.0.0.1:81/null_ex1/index.php Accept-Encoding: gzip, deflate Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7 Connection: close ------WebKitFormBoundaryFJAvtYdjVBOAe0Td Content-Disposition: form-data; name="userfile"; filename="test.jpg" Content-Type: image/jpeg --------------------------------------------------------------------------------------------------------------- HTTP/1.1 200 OK Date: Fri, 27 Aug 2021 15:23:45 GMT Server: Apache X-Frame-Options: SAMEORIGIN X-Powered-By: PHP/7.4.7 Vary: Accept-Encoding Content-Length: 282 Connection: close Content-Type: text/html; charset=UTF-8 <br /> <b>Warning</b>: move_uploaded_file() expects parameter 2 to be a valid path, string given in <b>C:\Bitnami\wampstack-7.4.7-0\apache2\htdocs\null_ex1\upload.php</b> on line <b>25</b><br /> <script>alert('파일 업로드에 실패하였습니다.');history.back(-1);</script>