묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
트랜잭션이 적용되지 않는 메소드에 대해서 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의에서는 accountTransfer 메소드에 @Transactional을 붙여서 트랜잭션 관리가 되도록 했는 데 만약에 같은 클래스에서 @Transactional이 붙어 있지 않는 메소드에서는 트랜잭션 매니저를 거치는 지, 만약 거치지 않는 다면 어떻게 작동하는 지 궁금합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
지연 로딩(+ 변경감지..?) 에 대해 질문 드립니다.
지연 로딩으로 인한 프록시 객체는 실제 사용 시에 쿼리가 나가는 것으로 생각했으나,생각과 달리 동작하여 질문을 드립니다.> followers, followings는 LAZY로 설정되어 있습니다.this.followings.add() 호출 시점에 Lazy Loading이 수행되어 쿼리가 나갈 것으로 예상했으나, 다음과 같은 출력입니다. getFollowers().size() 호출 시에야 실제 쿼리가 나가는 것으로 보입니다. 필드에 getter가 아닌 직접 접근이 문제였는지 테스트 해보았는데, 직접 액세스 시에도 초기화는 진행되는 것으로 확인됐습니다. 추측가는 바는...Q1. 혹시 컬렉션의 메소드별(add() , size())로 초기화가 진행되고 아니고 차이가 있을까요?Q2. 위 경우, 아무튼 메모리 상 컬렉션에만 객체를 저장한 상태가 됐습니다. 근데, size() 호출 시에 DB에서 끌어온 컬렉션과, 메모리에 올라간 1개가 합쳐진 개수가 잘 합쳐진 것 같습니다. followers 같은 경우 엔티티에 스냅샷도 없어야 할 상황인 것 같은데, 작동 원리가 궁금합니다!
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
코랩 파이토치 환경 변화 관련
안녕하세요 선생님가장 최근에 코랩 파이토치 환경이 변경되어 선생님께서 코멘트 주신 내용이 있었는데요저도 그 글을 보고 파이토치를 재설치해서 mmcv를 사용하고 있었습니다.그런데 오늘 오후부터 mmdetection 첫번째 사진과 같은 방법으로 코드를 돌리면mmengine 이 인식되지 않는다는 오류가 발생합니다. 확인한번 부탁드려도 될까요?혼자 해결해보려고 mmdetection installation 페이지에서 아래와 같이 설치해보았는데그 때는 mmengine이 없다는 말은 안나오는데 mmdet.datasets.builder가 인식이 안되더라구요실제로 mmdet.dataset 폴더 안에 builder.py가 없더라구요. 제가 어느 부분을 놓친건지.. 조언부탁드립니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@CookietgValue도 객체를 자동으로 생성해주나요 ?
HomeController의 homeLogin메서드의 파라미터 중 memberId에는 @ModelAttribute가 붙지 않았는데LoginController에서 오는 response의 Cookie를 자동으로 어떻게 받는 건가요 ?
-
미해결퀘이사(Quasar) 완벽 마스터: Vue 프론트 웹을 빠르게 만들고 싶다면! (Based Vue3)
라우터 질문
링크이동을 하는데 a href에 "#/to/typography"가 걸려있는데 여기서 to를 빼거나 혹은 #을 빼는 방법이 뭘까요?
-
해결됨it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
이거 크루스칼로 풀어도 풀리는데 맞는건가요?
const p = [ [1, 2, 6], [1, 3, 3], [3, 2, 2], [2, 4, 1], [2, 5, 13], [3, 4, 5], [4, 2, 3], [4, 5, 7], ]; solution(p, 5, 8); function solution(p, city, line) { p.sort((a, b) => a[2] - b[2]); const unf = Array(city + 1).fill(0); for (let i = 0; i < city + 1; ++i) unf[i] = i; function find(v) { if (v === unf[v]) return v; else return (unf[v] = find(unf[v])); } function union(f1, f2) { const c1 = find(f1); const c2 = find(f2); if (c1 != c2) { unf[c1] = c2; return true; } return false; } let cost = 0; for (let i = 0; i < p.length; ++i) { const [c1, c2, val] = p[i]; if (union(c1, c2)) { cost += val; } } return cost; } 크루스칼로 풀어도 풀리는데 이것도 맞는 풀이인가요?테스트 케이스가 더 잇엇으면 좋겟네요
-
미해결홍정모의 따라하며 배우는 C언어
8.5 getchar()와 scanf()를 함께 쓸 때 버퍼 비우기
안녕하세요, 공부하다 버퍼에 대한 궁금증이 생겨 질문드려요!아래의 코드를 실행하고 콘솔에서 입력할 때, A(엔터'\n')3(공백)5(엔터'\n') 의 형식으로 입력하게 되면, A와 3 사이에 제가 입력한 엔터는 따로 버퍼 비우기를 하지 않았는데도 scanf를 만났을 때 문제를 일으키지 않는데요..! 그 이유를 알고 싶습니다.강의 너무 잘 듣고 있고, 교수님 강의 덕에 c에 대해 더 본질적으로 알게 되는 것 같아 늘 감사드립니다!#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> void display(char cr, int lines, int width); int main() { char c; int rows, cols; printf("Input one character and two integers : \n"); while ((c = getchar()) != '\n') { scanf("%d %d", &rows, &cols); while (getchar() != '\n') continue; display(c, rows, cols); printf("Input another character and two integers:\n"); printf("Press Enter to quit.\n"); } return 0; } void display(char cr, int lines, int width) { for (int i = 0; i < lines; ++i) { for (int j = 0; j < width; ++j) putchar(cr); putchar('\n'); } }
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
로그인 -필터,인터셉터
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]로그인 -필터,인터셉터부분에서 왜 uuid를 생성하나요?생성하는 이유와 생성하지 않을시 문제를 알려주세요ㅕ
-
미해결홍정모의 따라하며 배우는 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로 확인하는 방법 말고 사이트의 코딩을 여는 방법이 있나요?