묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결홍정모의 따라하며 배우는 C언어
p2와 ar2가 왜 호환이 안되는지 모르겠습니다.
교수님이 p2는 이중포인터이고 ar2는 2개의 int를 가진 배열의 포인터...?라고 말씀하시는데 잘 모르겠습니다. 말씀이 이해가 안됩니다. p2는 두번의 주소값을 거쳐야 하는데 ar2는 ar2[0][0]의 주소값을 의미하기 때문에 한번만 주소값을 거칠 수 밖에 없어서 호환이 안되는건가요>?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
postData.split is not a function 에러
[제로초 강좌 질문 필독 사항입니다]질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다.도움이 되는 질문을 하는 방법을 알려드립니다.https://www.youtube.com/watch?v=PUKOWrOuC0c0. 숫자 0부터 시작한 이유는 1보다 더 중요한 것이기 때문입니다. 에러가 났을 때 해결을 하는 게 중요한 게 아닙니다. 왜 여러분은 해결을 못 하고 저는 해결을 하는지, 어디서 힌트를 얻은 것이고 어떻게 해결한 건지 그걸 알아가셔야 합니다. 그렇지 못한 질문은 무의미한 질문입니다.2.3.case ADD_POST_TO_ME: return { ...state, me: { ...state.me, Posts: [{ id: action.data }, ...state.me.Posts], }, };const PostCardContent = ({ postData }) => ( //#해쉬태그 <div> {postData?.split(/(#[^\s#]+)/g).map((v, i) => { if (v.match(/(#[^\s#]+)/)) { return ( <Link href={`/hashtag/${v.slice(1)}`} key={i}> <a>{v}</a> </Link> ); } return v; })} </div> ); function* addPost(action) { try { //const result = yield fork(addPostAPI, action.data); yield delay(1000); const id = shortId.generate(); yield put({ //put : dispatch type: ADD_POST_SUCCESS, data: { id, content: action.data, }, }); yield put({ type: ADD_POST_TO_ME, data: id, }); } catch (err) { yield put({ type: ADD_POST_FAILURE, data: err.response.data, }); } }로그인하고 게시물을 아무거나 입력하고 짹짹을 누르면 에러가뜹니다postData.split이 읽히지가 않아서 ?까지 넣어봤는데 같은오류가 나옵니다.<PostCardContent postData={post.content} />여기서 post.content는 콘솔로 찍어본 결과 "첫 번째 게시글 #해시태그 #jangsan"만 뜹니다어디가 문제인지 잘모르겠습니다
-
미해결스타트업 사업계획서를 위한 337프레임웍
PDF 자료 받는 방법?
PDF 자료는 어디서 받을 수 있을까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘
Prim 알고리즘에서 best관련 질문 있습니다.
두가지 질문이 있습니다.Prim으로 맵 생성할 때 best가 왜 필요한 것인지 이해가 잘 되지 않아서 질문 드립니다. 제 생각으로는 트리와 연결된 간선들 중 어차피 가장 작은 가중치를 가지는 간선을 선택할 텐데 그걸 굳이 best로 저장하고 갱신시킬 필요가 있는 것인지...잘 모르겠습니다.또 선택한 정점과 연결된 간선들을 discovered에 넣는 부분에서 굳이 새로 발견한 정점이 있다면 continue해야 하는 이유도 잘 모르겠습니다. 그 위에서 트리에 있었다면 continue하는 부분 만으로 충분하다고 생각되어서요.참고로 두 부분을 빼도 맵은 잘 작동하기에 더욱 이해가 되질 않아 질문합니다!// 어떤 정점이 트리에 포함되어 있나? map<Pos, bool> tree; // 정점의 부모는 누구인가? map<Pos, Pos> parent; // 만들고 있는 트리에 인접한 간선 중, 해당 정점에 닿는 최소 간선의 정보 map<Pos, int32> best; // 다익스트라와 거의 유사함. // 단, 다익스트라의 best는 시작점을 기준으로 한 cost // 프림에서 best는 현재 트리를 기준으로 한 cost for (int32 y = 0; y < _size; y++) { for (int32 x = 0; x < _size; x++) { best[Pos{ y,x }] = INT32_MAX; tree[Pos{ y,x }] = false; } } priority_queue<CostEdge, vector<CostEdge>, greater<CostEdge>> discovered; const Pos startPos = Pos{ 1,1 }; // 랜덤으로 정해도 됨. discovered.push(CostEdge{ startPos, 0 }); parent[startPos] = startPos; best[startPos] = 0; while (discovered.empty() == false) { CostEdge bestEdge = discovered.top(); // 가중치 가장 작은 간선을 선택 discovered.pop(); // 새로 연결된 정점 Pos v = bestEdge.vertex; if (tree[v] == true) // 만약 트리에 v가 이미 있었다면 continue continue; tree[bestEdge.vertex] = true; // 맵에 적용 // 이전 정점(= 새로 연결된 정점의 부모) Pos u = parent[v]; int y = (u._y + v._y) / 2; int x = (u._x + v._x) / 2; _tile[y][x] = TileType::EMPTY; for (const CostEdge& e : edges[bestEdge.vertex]) // 선택한 정점과 연결된 간선들을 discovered에 넣음. { if (tree[e.vertex]) // 새로 발견한 애들이 이미 있었다면 continue continue; if (e.cost > best[e.vertex]) // 다른 경로로 더 좋은 후보가 발견되었으면 continue continue; discovered.push(e); parent[e.vertex] = bestEdge.vertex; best[e.vertex] = bestEdge.cost; } }
-
해결됨모의해킹 실무자가 알려주는, XSS 공격 기법
섹션 4. 공격상세방법론 - [미션] 게시판 취약점 찾기 풀이 검토 및 개인적인 질문
안녕하세요. 크리핵 티브님 미션으로 주셨던 강의 내용 풀이 시도한 내용과 개인적인 질문 내용 드리겠습니다. 미션1) board/index.php에서 XSS 취약점을 최대한 많이 찾아보는 미션-> 맨 처음에는 black-box test 방식으로 시도했으나 도무지 방법을 찾지 못해서 php 코드를 보고 풀이를 했습니다.-> 붉은 상자로 표시한 부분에 value 값에 XSS 구문을 넣으면 XSS가 가능할 것으로 판단 했습니다.-> 그래서 URL에 vlaue=<script>alert('XSS');</script> 구문을 넣어서 XSS가 잘 동작함을 확인했습니다.-> DOM을 통해 client 단에서 동작하는 것이 아니기 때문에 Reflected-XSS로 판단합니다.[검증]-> burp suite로 XSS를 동작시킬 때 Response부분을 잡아본 것인데 Response에 alert('XSS')가 들어감을 확인할 수 있습니다. [질문1]위에서 Refelected XSS외에 다른 XSS 취약점을 찾지 못했는데 다른 XSS 취약점도 있는지 궁금합니다. 그리고 제가 아직 모든 강의를 끝까지 들은건 아닌데 혹시 추후 강의 들에서 풀이가 있는지도 궁금합니다. 미션2) xss/eample5.php에서 어떤 XSS가 가능한지, DOM인지 Relfected 인지 한 번 찾아보는 미션-> 이 역시도 black-box test방식으로 시도했으나 결국 성공하지 못해 php코드를 확인하고 XSS를 시도하였습니다.-> permissionCheck() 함수를 이용해서 XSS 공격을 시도해 봤습니다.-> URL에 ");로 if문을 닫아 버린 다음에 <script>태그를 이용했으나 필터링 코드에 의해 막혔습니다.-> 그래서 필터링 코드를 우회하기 위해 XSS cheat sheet를 이용했습니다.-> 위의 이미지외에 여러 cheat sheet에 있는 코드를 시도했으나 모두 실패했습니다.-> php코드를 보면 DOM XSS와 Relfected XSS모두 가능할 것 같지만 잘 모르겠습니다. [질문 2]해당 필터링 구문을 우회하려면 어떻게 하는지 궁금합니다. [질문3-개인적인 질문]현업에서는 black box test방식으로 모의해킹을 진행하게 되면 back-end단에서 돌아가는 코드(ex. php, jsp, asp, Node.js 등)구조를 알 수가 없는데 그러면 그냥 guessing을통해서만 XSS취약점을 점검해야 하는지 궁금합니다.(전제 조건이 file download/upload취약점을 사용하지 않고 XSS를 점검하는 경우를 질문드리는 겁니다.) 감사합니다.
-
미해결SCSS(SASS)+GRID+FLEX 실전 포트폴리오 퍼블리싱
beautify 확장자가 더이상 관리되지 않다고합니다
beautify 확장자가 더이상 관리되지 않다고 해서beautify css/sass/scss/less 확장자를 다운받았는데괜찮을까요??
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃헙 권한 재요청 드립니다.!!
깃헙 권한 재요청 드립니다! 인프런 아이디 : jungsr417@hanwha.com인프런 이메일 : jungsr417@hanwha.com깃헙 아이디 : jungsr417깃헙 Username : jsr 감사합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
bufferwriter << 오버로딩 궁금한 점이 있습니다.
const T& 버전과 T&& 버전으로 오버로딩 되어 있는데T&&가 보편참조라서 const T& 버전이 사용이 안되는건 아닌지 궁금합니다. 그리고 T&& 버전에서 std::move를 왜 사용하는건지 궁금합니다.
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
JSP 회원목록 조회
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]save 까지는 잘 되는데 JSP 회원목록을 조회할때 500에러가 뜹니다.members.jsp 코드입니다bulid.gradle 입니다
-
미해결퀘이사(Quasar) 완벽 마스터: Vue 프론트 웹을 빠르게 만들고 싶다면! (Based Vue3)
npm run dev를 해도 브라우저 화면에서 안나옵니다.
npm run dev를 해도 브라우저 화면에서 안나옵니다.그러다가 constants.js파일에서 썼던 아래의 소스를 지워보았더니 그럼 또 잘나옵니다. 제가 뭔가 잘못 넣은걸까요???export default boot(({ app }) => { app.config.globalProperties = 'Hello Quasar!!'; });그리고 두번째 질문은 터미널에 npm run dev를 할때마다 http://localhost:9001/#/, http://localhost:9002/#/,http://localhost:9003/#/ 이렇게 로컬호스트 번호가 증가하는데 제가 run을 계속해서 그런건가요??
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
requestParamV4 메서드 관련 질문입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]여기에 질문 내용을 남겨주세요.requestParamV4@RequestParam의 required 기본값이 true라고 말씀해주셨는데 username을 빼고 보내도 오류가 안나서 질문드립니다.@RequestParam이 직접적으로 명시되어 있지않으면 required false가 기본값인 걸까요?http://localhost:8080/request-param-v4?age=20 요청
-
미해결[2025년 출제기준] 웹디자인기능사 실기시험 완벽 가이드
웹페이지 여는 법
안녕하세요.현재 사이트에 올라와있는 홈페이지 예제를 참고하여 홈페이지 레이아웃을 만들고자 합니다.크롬에서 f12 단축키를 통해 코딩코드를 확인하고 있는데F12로 확인하는 방법 말고 사이트의 코딩을 여는 방법이 있나요?
-
해결됨독하게 되새기는 C 프로그래밍
파일 처리와 UI 분리 #2에서 동기화가 없어도 괜찮은건가요?
File I/O를 위한 thread를 생성했을 때 User Event 받는 thread가 같은 자원에 접근하는데 동기화 없이 진행해도 괜찮은건가요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
exit 해서 root 빠져 나오기
exit 써서 root 나오시라 했는데 아무리 해도 ,, root인데 어떡하죠?...ㅜㅜ
-
해결됨코딩테스트 [ ALL IN ONE ]
longest 사용 이유?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 왜 여기서 longest 변수를 사용하는건지 궁금합니다 그냥 cnt 출력하면 안되는건가요?
-
미해결애플 웹사이트 인터랙션 클론!
load 이벤트시 첫 비디오 이미지가 뜨네요.
window.addEventListener('load' ... 중략sceneInfo[0].objs.context.drawImage(sceneInfo[0].objs.videoImages[0], 0, 0);안녕하세요.작업하다 이상해서, 강의자료도 같이 확인해보니 중간에 새로고침시 videoImages의 첫 이미지가 잠시 뜨는데, 아마 위의 코드 때문이 아닌가 합니다. 저 부분은 첫 scene의 장면임에도 불구하고, 뜬다는 것은 찰나이긴 하지만, 첫영역부터 순간적으로 중간으로 이동하면서 나타나는 현상같기도 한데, 이게 컴퓨터의 성능차이일수도 있다는 생각이 들기도 합니다. 저만 이런건지 모르겠습니다만..저 코드를 제거하고 중간에서 새로고침해보니 안보여서 문제가 없지만, 최상단 첫화면에서 새로고침하면 이미지가 안보이니 또 문제더군요.그래서 위 코드를 제거후, 새로고침시 조금 스크롤되는 코드에서 추가 조건문(else)를 붙여서 아래와 같이 수정해보았습니다. if (tempYOffset > 0) { let siId = setInterval(() => { scrollTo(0, tempYOffset); tempYOffset += 5; if (tempScrollCount > 20) { clearInterval(siId); } tempScrollCount++; }, 20); } else { sceneInfo[0].objs.context.drawImage(sceneInfo[0].objs.videoImages[0], 0, 0); } 이렇게 처리하니 문제가 없는 듯 한데, 이게 저한테만 생기는 문제인지, 아니라면 제가 위와 같이 처리한 방법이 맞는것인지 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-T 진짜 무식하게 풀기 테케는 통과되는데 ㅎㅎ
#include<iostream> using namespace std; int n, a[1000004], b[1000004]; int main(){ cin >> n; for(int i=0;i<n;i++){ cin>>a[i]; } for(int i=0;i<n-1;i++){ if(a[i]<a[i+1]){ b[i]=a[i+1]; }else if(a[i]>a[i+1]){ int k=i, temp=i; for(int j=i;j<n-1;j++){ if(a[j]<a[j+1])break; k++; } for(int j=temp;j<=k;j++){ b[j]=a[k+1]; } int flag=1; for(int j=i;j<n-1;j++){ if(a[i]<a[j+1]){ flag=0; break; } } if(flag)b[i]=-1; } } b[n-1]=-1; for(int i=0;i<n;i++){ cout << b[i] << " "; } }
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
GetMapping 에서 @ModelAttribute 사용 이유
영상 8:57 에서 @GetMapping("/add") 에서 파라미터로 @ModelAttribute를 받는 이유가 무엇인가요 ? PostMapping이 아니라 GetMapping일 때는 데이터가 넘어오지 않기 때문에 사용할 이유가 없는 것 아닌가요 ??
-
해결됨코딩은 처음이라 with 웹 퍼블리싱 - CSS
hover했을 때 margin top 설정 시에 왜 hover 전에도 margin top을 써야하죠?
transform강의 4분 13초쯤 보면 hover했을 때 margin top을 50px로 주고 img{} 에도 margin top을 0으로 써주라고 하셨는데 왜 그래야하는거죠? hover 전에 0인거 안 써줘도 잘 작동하던데 이유가 있나요?
-
미해결스프링 기반 REST API 개발
Spring Boot 3.x.x 버전 , gradle 사용 할 때 ASCII 관련 설정 참고하세요
혹여나 Spring Boot 3.x.x. 버전에 gradle 사용할 경우 ASCII 관련 해 설정하는 부분을 정리 해 놓았습니다.혹시 저와 같은 Setting을 진행하시는 분들은 참고해주시면 좋을 것 같아요!설명 바로가기