묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결만들면서 배우는 Figma Design [BASIC-2025 trend updated]
햄버거 아이콘
햄버거 아이콘을 그룹으로 만들고, guide와 iconbox를 비표시로 설정하면 갑자기 크기가 18x16으로 변합니다. 강사님의 영상에 있는 햄버거 아이콘은 guide와 iconbox를 비표시로 설정해도 24x24되네요... 저도 강사님처럼 24x24으로 되는 것이 배치하기 쉬울것같은데 어떻게 설정하면 될까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
3분53초쯤(콘솔화면)
select member0_.username as col_0_0_, 'HELLO' as col_1_0_, 1 as col_2_0_ from Member member0_ where member0_.type='USER' 여기에서 1 as col_2_0_가 나오는데 1이 의미하는게 무엇인가요?
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
오류가 발생했습니다..
영화 나열을 위한 Row 컴포넌트 생성 도중 'NETFLIX ORIGINALS' 자료들이 나타나지 않는 오류가 생겼습니다. 더불어 배경 또한 검정색이 아닌 흰색으로 보입니다. 제 생각에 Row.js 폴더의 movies.map 함수에 문제가 있는 것 같은데 구글링을 해봐도 해결 방법을 찾지 못했습니다. 참고로 movies.map 함수의 앞에 movies && 를 덧붙인 건 그렇게 하지 않으면 화면이 잠깐 나오다가 사라지기 때문입니다. 오타가 있나 싶어서 영상과 소스코드를 몇 번이나 비교해 봤지만 차이점을 찾지 못했습니다. 제 코드의 어떤 부분이 잘못된 걸까요? 혹시 도움을 주실 수 있을까요? 깃허브 주소를 첨부합니다.. https://github.com/minumsa/React_Netflix_Clone/
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
11분 SetMessage 질문
main() { const char* msg = "Hello"; retrun 0; } Hello 라는 문자열이 수정이 불가능 한 이유로는 rodata영역에 들어가기 때문에 수정이 불가능하고 또한 const가 *이전에 붙어있어서 주소로 접근하여 값을 수정하는 것이 불가능하다. (msg라는 포인터 변수의 데이터(가르키는 주소는 수정이 가능하다) 그리고 SetMessage함수에 msg의 주소(값을)를 const char* a로 넘겨주고 a = "Bye"; 로 선언 및 초기화를 해주었을 경우 a는 const char* a 즉, a가 가르키는 값(주소)의 값(데이터 == Hello라는 문자열)수정이 불가능 한 것이지 a라는 포인터 변수가 담고있는 값부분(주소값)을 수정하는 게 불가능 한 것이 아니다. 따라서 SetMessage 함수가 호출되면 a라는 포인터 변수에 처음에 msg의 값에 담긴 "Hello"라는 문자열의 첫번째 주소값이 a에 담기기는 하지만, a = "Bye"로 인해 데이터 영역에 있는 "Bye"의 첫번째 주소가 a라는 포인터 변수의 값에 할당된다. 그리고 a라는 포인터 변수는 스택메모리에 쌓인다. SetMessage함수 호출이 종료되고 나면 a 포인터 변수 메모리 공간은 해제된다. (함수 호출이 종료되면 사용할 수 없는 포인터 변수이다) 제가 이해한것이 맞나요?? (추가로 SetMessage 함수에서 데이터 영역에 Bye"라는 문자열을 데이터 영역에 메모리만 추가를 하고, a가 가르키는 값은 해제가 되니까 결론적으로는 데이터 영역의 메모리만 잡아먹고 아무것도 안한셈이 되는 것인가요?)
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
실전문제 2-3번 질문입니다.
기존 분석 플랫폼에서 이러한 데이터 포인트를 사용한다고 하는 말이 무슨뜻인가요? 데이터 분석 플랫폼에서 kinesis data analytics 서비스를 쓴다는 말인가요?
-
미해결@시코 - Java 제대로 배우기 (완전 기초)
6강 클래스 객체 내용
1:01:53 부분에서 getTelno() 함수에서 0부터 telno.length()-4로 지정해줬으면 010-9999-8888이 아니라 010-9999-까지 출력되야 하는 것 아닌가요? 그 뒤로 ****으로 출력되게 만드는 부분이 생략됐습니다. 1:01:55에서 갑자기 완성된 Score 클래스를 보여주면서 School 클래스에서 출력하는 부분이 나오는데 그 사이에 누락된 내용이 많은 것 같은데 빨리 수정됐으면 합니다.
-
해결됨핵심을 찾아내는 침해사고 분석
강의와 관련해서 궁금하신 내용은 자유롭게 등록 부탁 드립니다.
안녕하세요, 송대근 입니다. 강의와 관련해서 궁금하신 내용은 자유롭게 등록 부탁 드립니다. 감사합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
17분 html 내용
강의 내용의 17분부분의 html 내용은 어디서 복붙 하나요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
file.transferTo(new File(fullPath)) 코드가 이해가 안되요 ㅜ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 강의를 듣다 궁금한점이 있어서 질문드립니다! file.transferTo(new File(fullPath)) 이렇게 해주면 fullPath 경로에 파일이 저장된다고 하셨는데 어떻게 파일이 저장되는 걸까요? @RequestParam MultipartFile file 이렇게 file을 처음에 컨트롤러에서 받는데 이 file 객체에 현재 첨부한 파일이 들어있는거고 file.transferTo()를 하면 ()안의 경로에 file 객체가 가지고 있는 파일이 저장이 되는거라고 생각하면 될까요? 그리고 new File() 이 무슨 역할을 하는지 혹시 알수있을까요?
-
미해결R프로그래밍 기초 다지기
반복문과 조건문에서의 질문사항
반복문 강의 7분대 상황에서, m3의 값이 저는 똑같이 적용해도 달라요. 보시면 선생님은 i가 1일때 5,3인데.. 저는 i가 1일때 5120,3 이런 식이거든요. 제가 판단할때는 m2에 어떤 식으로든 함수계산을 해놓으면 저는 그 이전의 값으로 적용이 안되서 그런거고, 선생님은 m2 맨처음 값으로 치환해서 진행이 된 것 같은데요. 저는 한번 m2에 함수를 넣어 계산하면 그 함수 이전으로 가도, 한번 나온 값으로 다음 계산이 진행되는데 왜 그런걸까요? 선생님처럼 하려면 어떻게 해야하나요??? 답변 좀 꼭 부탁드립니다!!!
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
spring security 사용 vs interceptor 구현
작은 프로젝트 진행 시 spring security를 사용하곤 했는데요... 진리에 케바케이긴 하겠지만 보통 현업에서는 spring security를 이용하여 인증/인가를 구현하시는지 아니면 interceptor를 활용하여 인증/인가를 구현하시는지 궁금합니다.
-
해결됨[하루 10분|Web Project] HTML/JS/CSS로 나만의 심리테스트 사이트 만들기
data.js
안녕하세요? data.js파일은 어떻게 구할 수 있나요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
router query 관련 질문입니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! 강의를 듣던 도중 router주소를 정하는데 있어서 궁금증이 들어서 질문하게 되었습니다. export function removeCartItem(productId) { const request = axios.get(`/api/users/removeFromCart?id=${productId}`) .then(response => { //productInfo , cart 정보를 조합해서 CartDetail을 만든다. response.data.cart.forEach(item => { response.data.productInfo.forEach((product, index) => { if (item.id === product._id) { response.data.productInfo[index].quantity = item.quantity } }) }) return response.data; }); return { type: REMOVE_CART_ITEM, payload: request } } export function onSuccessBuy(data) { const request = axios.post(`/api/users/successBuy`, data) .then(response => response.data); return { type: ON_SUCCESS_BUY, payload: request } } 위의 코드에서 onSuccessBuy 함수에서는 data로 상품 정보등을 보내주었는데, removeCartItem함수에서도 마찬가지로 복잡하게 서버에서 query 정보를 가지고 id를 추출하는 대신, get 대신 post를 쓰고 id정보가 담긴 객체를 보내주는 방법을 사용해도 될까요?? 항상 좋은 강의해주셔서 감사합니다! 앞으로 남은 강의도 열심히 듣겠습니다.
-
미해결Vue.js 시작하기 - Age of Vue.js
개발환경설정에서
마우스 오른쪽 버튼 클릭 후 live server로 창을 띄운다음에 검사를 들어가고,..,., 저는 Vue라는것이 안보입니다. 플러그인설치 : vetur , material icon , night owl , live server 이와같이 했는데 안되는 이유가 뭘까요.,.,
-
미해결[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
데이터 수정
where(조건) 값이 각각 다른 경우에 데이터를 수정하고 싶을 때 한번에 수정하는 방법은 없나요?
-
해결됨장고 설계철학으로 시작하는 파이썬 장고 입문
'bootstrap_form', expected 'endblock'. Did you forget to register or load this tag? 오류
파이참을 안쓰고 vscode로 실습을 따라하고 있는데 bootstrap적용하는 과정에서 {% bootstrap_form form%}을 하면 저러고 오류가 나옵니다. 'bootstrap_form', expected 'endblock'. Did you forget to register or load this tag?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Lock-Free Stack #3 문의 있습니다..
안녕하세요. 좋은 강의 감사합니다..Lock-Free Stack #3에서 shared_ptr<T> TryPop(){CountedNodePtr oldHead = _head; <= === atomic_load를 붙여줘야 하는거 아닌가요 ? CountedNodePtr oldHead = atomic_load(&_head);안 붙여줘도 된다면 왜 안 붙여줘도 되는지 설명 부탁드리겠습니다.
-
미해결따라하며 배우는 웹 게임
2번째 로그인 시 원래 있던 캐릭터가 생성되지 않습니다.
M.match_join이 호출되긴 하는데 PlayerView.js에서 op_code 값이 2가 나오는지 찍어봐도 찍히지 않고 호출되지 않는 거 같습니다. import React, { useEffect, useState, useRef } from 'react' import '../App.css'; const PlayView = () => { const [isHit, setIsHit] = useState(false) const setTimeOutRef = useRef(null); useEffect(() => { if(!window.pc.app.gameApp) return; window.pc.app.gameApp.socket.onmatchdata = (matchState) => { let jsonResult = JSON.parse(String.fromCharCode.apply(null, new Uint8Array(matchState.data))) switch (matchState.op_code) { case 1: onPlayerMove(jsonResult) break; case 2: onHandleInitialData(jsonResult) break; case 3: onPlayerSpawn(jsonResult) break; default: break; } } }, []) const onPlayerMove = () => { } const onHandleInitialData = (data) => { const myAccountId = window.pc.app.gameApp.user.user_id; console.log('onHandleInitialData', data); for (const player of data.players) { if(myAccountId === player.user_id) { continue; } console.log(player); setTimeout(() => { onPlayerSpawn(player); }, 1000); } } const onPlayerSpawn = (data) => { // Create a new player entity. let playerEntity = window.pc.app.root.findByName("Player"); let newPlayerEntity = playerEntity.clone(); // Put Location into new player entity. if(data.position) { let position = data.position; newPlayerEntity.rigidbody.teleport(position[0], position[1], position[2]); } else { newPlayerEntity.rigidbody.teleport(0, 3, 0); } // addChild into Root newPlayerEntity.enabled = true; let sceneRoot = window.pc.app.root.findByName("Root"); sceneRoot.addChild(newPlayerEntity); } useEffect(() => { window.pc.app.on("boxHit", listener); return () => { window.pc.app.off("boxHit", listener) } // window.addEventListener("message", listener) // return () => { // window.removeEventListener("message", listener); // } }, []) const listener = (event) => { // if(event.origin !== "http://localhost:3000") // return; clearTimeout(setTimeOutRef.current); setIsHit(true); setTimeOutRef.current = setTimeout(() => { setIsHit(false); }, 1000); } return ( <div> {isHit && <div className='Popup'>Box is hit</div> } </div> ) } export default PlayView local nk = require("nakama"); local M = {} local function on_player_move(context, dispatcher, tick, state, message) local player = state.presences[message.sender.session_id] if player == nil then return end local ok, decode_data = pcall(nk.json_decode, message.data) if not ok then nk.session_disconnect(message.sender.session_id) return end player.info["position"] = decode_data.position; dispatcher.broadcast_message(1, message.data) end local function on_player_spawn(context, dispatcher, tick, state, message) -- 실제로 매치에 있는 사람이 보낸 것인지 확인. 아니면 return local player = state.presences[message.sender.session_id] if player == nil then return end dispatcher.broadcast_message(3, message.data) end function M.match_init(context, initial_state) local state = { presences = {}, empty_ticks = 0 } local tick_rate = 30 -- 1 tick per second = 1 MatchLoop func invocations per second local label = "" return state, tick_rate, label end function M.match_join_attempt(context, dispatcher, tick, state, presence, metadata) local acceptuser = true return state, acceptuser end function M.match_join(context, dispatcher, tick, state, presences) for _, presence in ipairs(presences) do state.presences[presence.session_id] = presence state.presences[presence.session_id].info = { user_id = presence.user_id, position = {0, 3, 0} } end local player_infos = {} for _, p in pairs(state.presences) do table.insert(player_infos, p.info) end local player_init_data = { players = player_infos, tick = tick } dispatcher.broadcast_message(2, nk.json_encode(player_init_data), presences) return state end function M.match_leave(context, dispatcher, tick, state, presences) for _, presence in ipairs(presences) do state.presences[presence.session_id] = nil end return state end function M.match_loop(context, dispatcher, tick, state, messages) print("messages: ", nk.json_encode(messages)) for _, message in ipairs(messages) do if (message.op_code == 1) then local ok = pcall(on_player_move, context, dispatcher, tick, state, message) if not ok then nk.session_disconnect(message.sender.session_id) end end if (message.op_code == 3) then local ok = pcall(on_player_spawn, context, dispatcher, tick, state, message) if not ok then nk.session_disconnect(message.sender.session_id) end end end return state end function M.match_terminate(context, dispatcher, tick, state, grace_seconds) return state end function M.match_signal(context, dispatcher, tick, state, data) return state, data end return M
-
미해결지금 바로 D3.js 시작하기 : 웹 데이터 시각화
질문이 하나 있어요
이거 하면서 ${} 이런식으로 데이터를 쓰는 경우가 있는데 저는 저 문법이 그냥 텍스트로 인식되서 못 받아오거든요? 저거를 쓰기위해서 뭔가 더 추가를 해야하는게 있는걸까요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
sql문 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 제가 실수로 insert를 3번 눌러서 id가 1, 2, 3이 만들어져서 2,3을 delete 시키고 새로 spring2를 추가했는데 id가 4부터 만들어지네요.. id가 2부터 생성되게 할려면 drop table 말고는 다른 방법이 없을까요?