묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
JSP, 타임리프 는 정적, 동적?
안녕하세요 강의 잘 듣고 있습니다. 질문드리고 싶은 것은 중요하진 않지만 괜히 면접이나 다른 부분에서 용어를 명확히 하고 싶어 여쭤봅니다. JSP, 타임리프 같은 것들은 정적 또는 동적 중에 정확히 어느 것에 더 적합하다고 할 수 있나요? 의미적으로는 정적인데, 실제 기능은 동적아닌가요? pdf45 에서 그림에서는 동적으로 html을 생성한다고 되어있고, pdf 49 에서는 주로 정적인 화면에 사용한다고 되어 있어서 약간 헷갈립니다. 항상 친절한 답변 감사드립니다.
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
야구게임에서 궁금한점이 있습니다.
야구게임에서 무작위 숫자를 만들 때 Math.random()을 사용해서 0이상 1미만의 숫자를 생성하는 부분에서 Math.random() * 9 + 1 을 하는 이유가.. Math.random() * 10을 하면 나중에 반올림을 했을 때 0이 포함이 되기 때문에 0을 없애기 위해서 Math.random() * 9 + 1을 해 주는건가요? Math.random() * 10
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
service.super(request, response)
안녕하세요. 강의 복습 중 궁금한 점이 있습니다. 강의에서 service(request, response) 를 오버라이드 하시고, html 문서 코드를 적어주셨는데, super.service(request, response)는 지우셨는데, 부모의 serivce 메서드는 사용하지 않아도 괜찮은 건가요? 제가 테스트 해보니 super.serivce()를 안 써주면 doGet이나 doPost 같은 메서드들이 호출이 안 돼서요. 실제로 이렇게 해도 상관이 없는 건지 궁금합니다!!
-
미해결TensorFlow 2.0으로 배우는 딥러닝 입문
코드 실행 질문
안녕하세요? 강의를 듣다가 코드 실행이 안되는 점 질문 드리려고 글을 남깁니다. 윈도우에서 가르쳐주신대로 파워쉘 창을 띄우고 코드를 실행하려고 했는데 잘 되지 않아 무엇이 잘못되었는지 궁금합니다. 첨부된 사진에서 어떤 점이 잘못되었는지 알려주시면 감사하겠습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
player의 이동에 대하여..
안녕하세요!! 언제나 고생많으십니다. 오랜만에 질문드립니다!! 서버 작동되는 흐름 파악하면 클라이언트를 까먹고 클라 공부하면 또 서버 까먹어서 상당히 어렵네요..ㅎ 오랜만에 다시 클라 작동방식 다시 복습하고 있는데 예전에 정확히 알아보지 않고 넘어갔던 흐름을 디버깅하면서 다시 보고 있습니다.. 지금까지 혼자 파악한 흐름을 잠시 정리해보면...(MyPlayer가 움직을 때 기준) 코드 흐름 상 처음에 방향키를 한 번 받아 Dir가 바뀌면 ① 그 턴의 Update문에서 UpdateController를 호출하면서 UpdateIdle을 호출하고 거기에서는 State만 Moving으로 바뀌고 return 해준 다음 ② 다음 턴의 Update문의 UpdateController에서 UpdateMoving으로 가게 되고 그 턴에서는 아직 destPos가 아직 바뀌지 않았으므로 MoveToNextPos로 바로 들어가게 되어 CellPos를 방향키 칸으로 바꾸어 준 다음 ③ 다음 턴의 Update의 UpdateController에서 UpdateMoving으로 가서 스르륵 동작을 시작하고 ④ 몇 번의 UpdateMoving 반복 끝에 목적지에 도착하면 그때는 Dir 가 None 이기 때문에 State를 Idle로 돌리고 return하는 것으로 파악하였습니다. 여기서 정말 이해하기 힘들었던건 UpdateMoving에 처음 진입할 때는 이미 기본 Update문이 (UpdateIdle 실행으로) 한 번 돌고 난 후인데도 MoveToNextPos로 넘어갔을 때 여전히 Dir가 Up을 유지하고 있어서 if (Dir == MoveDir.None) { State = CreatureState.Idle; CheckUpdatedFlag(); return; } 에서 CreatureState.Idle로 바뀌고 바로 return 하지 않은 점 입니다.. 너무 궁금해서 일일이 로그를 찍어 확인하니 아무리 키를 사아알짝 눌러도 키가 눌리는 로그는 2~3번이 찍히는 것으로 보아 2~3번의 Update 문이 돌 때까지는 MyPlayerController.cs의 UpdateController의 CreatureState.Moving 케이스에서 GetDirInput()을 호출하더라도 키 값이 입력되어 Dir이 Up을 유지하는 것을 파악하였습니다... (틀린 부분이 있다면 길어서 죄송하지만 지적 부탁드립니다..) Q. 라이브 코딩식으로 강의를 진행하시면서 이런 부분까지 어떻게 생각하면서 진행을 하시는건 지 궁금합니다...역시 많이 해봐야 감각이 생기는 걸까요?? (예를 들면 'MoveToNext는 두번째 Update에서 진입할테지만 KeyInput은 두세번은 연타로 눌리니 아직까진 Dir가 MoveDir.None이 아닐꺼야... if 에 (Dir == MoveDir.None) 를 써도 괜찮아!' 이런식의 생각을 하시는 걸까요..?) 또 한 가지 더 궁금한게 있는데요!! MyPlayer가 한 칸 움직일 떄 Dir, State, cellPos까지 세팅된 패킷이 한 번 가고 State가 Idle로 바뀔 떄 또 한 번 패킷이 보내져 두 번의 Broadcasting이 되는 것으로 파악됩니다.. Q 이때 타 클라이언트의 화면에 뜬 MyPlayer 게임오브젝트를 보았을 때 MyPlayer 클라이언트에서 처음 보낸 패킷에 의해 타 클라이언트의 MyPlayer 게임오브젝트에 붙은 CreatureController의 UpdateMoving으로 스르륵 움직이는 동작이 else문에 의해 반복되다가 if(dist < _speed * Time.deltaTime) 에 걸려 transform.position = destPos; 으로 설정되기도 전에 CreatureState.Idle을 담고 있는 다음 패킷이 전송되어 타 클라이언트의 MyPlayer 게임오브젝트의 움직이는 애니메이션이 도중에 뚝 끊기지 않으리라는 보장을 어떻게 하는걸까요..? 질문이 쓸데없이 길고 읽기도 귀찮으시겠지만 혼자 좀 잘못 된 방향으로 가고 있는게 아닌가라는 불안감이 커서 이렇게 라도 질문드립니다..! 한 번 읽어주시고 시간 나실 때 답변 부탁드립니다!!
-
미해결Svelte.js SPA 영화 검색 프로젝트
에러 질문 있습니다!
netlify로 배포한 사이트에서 검색시 아래와 같은 오류가 발생하는데 해결방법이 있을까요?? Mixed Content: The page at 'https://suspicious-ride-04b74f.netlify.app/#/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://www.omdbapi.com/?apikey=7035c60c&s=frozen&type=movie&y=&page=1'. This request has been blocked; the content must be served over HTTPS.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
안녕하세요 질문입니다!
max를 안쓰고 answer=''; 로 시작해도 상관없을까요?.. function solution(s){ let answer = ''; for( let x of s ){ if( x.length > answer.length ) answer = x; } return answer; } 보기 안좋은 코드인지 괜찮은 코드인지 구분이 안돼서 질문남깁니다! 감사합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
spring mvc 시작하기 부분에서 오류 질문이요..!
SpringMVC - v1,v2 를 수행할때 코드를 오타없이 정확히 입력했는데도(혹시 몰라서 교재 복붙까지했습니다) 맨 아래 사진과 같은 에러가 뜹니다. 다른 FrontController - v1,v2,v3,v4,v5.... 들은 여전히 잘 작동하구요 제가 어떤걸 잘못했을까요?? 코드를 보면 클래스명이 회색으로 뜨긴하는데..... 왜 안되는지 이유를 모르겠습니다ㅠ +) 이게 정확한 오류 메시지인지는 모르겠으나 혹시 몰라서 이건가 싶어 남깁니다..! 2021-08-19 23:45:36.747 ERROR 14332 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Circular view path [new-form]: would dispatch back to the current handler URL [/springmvc/v2/members/new-form] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)] with root cause package hello.servlet.web.springmvc.v2;import hello.servlet.domain.member.Member;import hello.servlet.domain.member.MemberRepository;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.util.List;@Controller@RequestMapping("/springmvc/v2/members")public class SpringMemberControllerV2 { private MemberRepository memberRepository = MemberRepository.getInstance(); @RequestMapping("/new-form") public ModelAndView newForm() { return new ModelAndView("new-form"); } @RequestMapping("/save") public ModelAndView save(HttpServletRequest request, HttpServletResponse response) { String username = request.getParameter("username"); int age = Integer.parseInt(request.getParameter("age")); Member member = new Member(username, age); memberRepository.save(member); ModelAndView mav = new ModelAndView("save-result"); mav.addObject("member", member); return mav; } @RequestMapping //List public ModelAndView members() { List<Member> members = memberRepository.findAll(); ModelAndView mav = new ModelAndView("members"); mav.addObject("members", members); return mav; }}
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
분명 객체(인스턴스)가 2개가 생성되었는데 stock_num은 0이 출력됩니다.
사진 첨부합니다. 강의 항상 잘듣고 있어요!
-
해결됨[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
custom.js 만들기 중 오류 문의입니다.
/*모달 동작*/ 1번) $('.open-modal').click(function(){ $('.modal').show() }) 2번) $('.close-modal').click(function(){ $('.modal').hide() }) 모달 만들기에서 1번 과정을 적은후 복사해서 2번으로 수정할 때 실수로 $('.open-modal').click(function(){ $('.modal').show() })$('.close-modal').click(function(){ $('.modal').hide() }) 이렇게 윗줄로 올려서 복사했더니 모달js 뿐 아니라 네비게이션이랑 탭메뉴 잘 실행되다가 같이 안되어 버리는 문제가 발생했습니다. 윗줄로 올린거 뿐인데 왜 이런 문제가 발생하나요? 오류는 찾아서 고쳐서 잘 실행되는데 왜 그런지 이유가 궁금합니다.
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
같은 트렌젝션 안에서 mappedBy 참조의 주의점에 대하여 질문드립니다!
실습을 해보다가 em의 움직임에 궁금한 점이 생겨서 질문드립니다. 실습 부분을 제가 임의로 단순화 시켜서 조금 다른 점이 있을 수도 있습니다. 아래와 같은 두 가지 Entity가 있다고 가정합니다. 제가 성공하고 싶은 로직은 아래와 같은 로직입니다. 결론부터 말씀드리면 '성공하고 싶은 로직' 즉 mappedBy로 참조한 student entity에 접근해서 Id를 출력하기 위해서는 필수1, 필수2, 필수3이 모두 필요했습니다. 처음 저는 em.flush() (필수1)로 DB에 반영만 해주면, 필수2, 필수3 필요없이 곧바로 mappedBy로 필드를 사용해서 Student Entity를 호출할 수 있을 줄 알았습니다. DB에 반영하기만 하면 em이 알아서 전부 관리해 줄 줄 알았던 것입니다. 처음에는 필수1 만 사용해서 A로직으로 구현했었고 studentList에는 어떤 element도 들어있지 않은 empty 컬렉션이 반환되었습니다. 그런데 실험을 해보니 필수1과 필수2를 통해 DB에 영속성 컨텐스트 내용을 반영한 뒤 초기화까지 해줘야 했습니다. 그리고 그대로 newShcool_A를 사용하면 안 되었고 em.find()(필수3)로 다시 DB에서 가져온 newShcool_B를 사용해야 mappedby 필드로 Student Entity들을 참조할 수 있었습니다. 결론적으로는 하나의 트렌젝션에서 mappedBy 필드를 사용할 때는 주의해야 겠다는 교훈을 얻긴 했지만 두 가지 궁금증이 생겼습니다. <질문1> 제가 위에서 실험해본 대로 EntityManager가 동작하는 것이 맞는지요? 제가 실험을 엉뚱하게 했을 수도 있을 것 같아서요. <질문2> 제가 처음 생각한대로 DB에 영속성 컨텍스트를 반영해주기만 하면 <필수1만 사용> 되지 않는 이유가 무엇일까요? 굳이 영속성 컨텍스트를 초기화하고 em.find()로 다시 DB 데이터를 가지고 와야 하는 이유를 정확히 모르겠습니다. 프록시를 사용해야 하니까? 라고 막연하게 생각하고 있지만 정확한 원리가 궁금합니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
나누기 연산
나누기를 하면 소수점이 나오는데 int로 처리하나요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
포스트맨 이미지가 올라가질 않습니다
계속 이런 메세지가 뜨면서 진행이 되질 않습니다 형식도 파일로 바꾸고 그대로 했는데 왜 이러는걸까요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
안녕하세요. 새롭게 코드를 짜봤는데 혹시 반례가 있을까요?
function solution(budget, priceArr) { let count = 0; priceArr.sort((arr1, arr2) => (arr1[0] + arr1[1]) - (arr2[0] + arr2[1])); for (const index in priceArr) { if (budget - priceArr[index][0] + priceArr[index][1] > 0) { budget -= priceArr[index][0] + priceArr[index][1]; count++; } else if (budget - (priceArr[index][0] / 2) + priceArr[index][1] > 0) { count++; break; } else { break; } } return count; }
-
해결됨Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
Hacker news api 접속 오류
Hacker news 클론코딩 실습을 진행하면서 axios로 api 데이터를 받아와지지가 않습니다. https://github.com/tastejs/hacker-news-pwas/blob/master/docs/api.md 에 올라와 있는 api 주소들 https://api.hnpwa.com/v0/news/1.json https://api.hnpwa.com/v0/newest/1.json https://api.hnpwa.com/v0/ask/1.json 세 개 모두 데이터가 받아와지지 않으며, 브라우저에서 링크 타고 접속하는것도 되지가 않습니다. 몇일전에는 잘 실습하다가 갑자기 오늘부터 이러는데..... 실습 환경의 문제인가요?? 필요한 정보일지는 모르겠지만, 브라우저에서 링크를 접속했을 때에는 500 ERROR가 발생합니다. 안내 문구는 다음과 같습니다. Error: Server Error The server encountered an error and could not complete your request. Please try again in 30 seconds.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
SASM 질문들이 좀 있어서 올렸습니다.
1. 어셈블리어인 SASM에서 사칙연산을 진행할 때, "메모리"와 "메모리" 조합은 왜 불가능한 건가요...? 연산을 진행할 때, 연산을 할 값들의 메모리 크기와 결과값을 집어넣을 메모리의 크기를 모르기 때문에 그런건가요? 설령 안다고 해도 연산을 진행하려는 메모리 크기가 각자 다를 수도 있어서 아예 원천적으로 막은건가요? 2. ;ex) 100 / 3은 ? mov ax, 100 mov bl, 3 div bl PRINT_DEC 1, al NEWLINE mov al, ah PRINT_DEC 1, al 여기서 ah를 바로 출력할 수 없어서 al로 옮기셨었는데, 혹시 그 이유를 알 수 있을까요? 너무 궁금해서 질문을 올렸습니다.
-
미해결C# 입문부터 Xamarin Forms(자마린 폼즈) + Maui(마우이) 안드로이드, 윈도우 앱(UWP) 동시에 만들기
버튼 추가하는 것에 질문 있어서 드립니다.
람다식을 사용해서 작성하시는 것으로 봤습니다. btn.Clicked += (s, e) => //람다식 형태로 표현(s는 이벤트의 센더 e는 이벤트aurgs) { this.BackgroundColor = Color.Chartreuse; }; Content = new StackLayout { Children = { btn } }; 이런 코드인데 이벤트 추가할 때 기존에 쓰던 C#에서 winform등에 사용하는 이벤트 핸들러를 만들어서 추가한 후 xaml에서 만들어진 이벤트 함수를 만들어서 사용해도 똑같이 동작하나요? 예를 들어 btn.Click += btn_ck; private void btn_ck(s,e) {}; 와 같은 방식이여 다음으로 람다식 구문에 btn.Clicked += (s, e) => 에서 =>가 의미하는 바가 무엇인지요??
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
web.js 안됩니다.
(사진)
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
사가와 리듀서 순서
사가와 리듀서 순서가 저는 사가가 더 먼저 콘솔에 찍히는데 이상 없이 동작하면 괜찮은거 맞나요??
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
@Service 관련 질문 드립니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. import com.example.catalogservice.service.CatalogService; ....public class CatalogController { Environment env; CatalogService catalogService;... CatalogController는 생성자로 의존성을 주입받습니다(단, 여기서 import한 CatalogService는 impl이 아닌 인터페이스 자체입니다). 여기서 CatalogService는 @Component 같이 스프링에 알리는 객체로 설정하지 않은 인터페이스 입니다. @Servicepublic class CatalogServiceImpl implements CatalogService{ 한편 Impl에 @Service 어노테이션이 붙어있고, 또 implements로 CatalogService를 받아오기 때문에, 스프링에서는 CatalogServiceImpl을 알아서 CatalogService로 인식해서 넣어주는건가요? 그냥 단순하게 생각하면, 컨트롤러에서 CatalogServiceImpl 객체가 주입되어야 된다고 생각되는데(Service 붙은 Bean이 CatalogServiceImpl이기때문에), 스프링에서 어느정도 선까지 알아서 해주는지 감이 안 잡히네요ㅠ 스프링이 서비스로 인식하는 대상은 반드시 Bean객체 어노테이션(@Service, @Component 등)이 붙은 클래스에 의해 상속되는 인터페이스여야 하는건가요? 기존에 다른 언어로 개발하다가 마땅한 마이크로서비스 강의가 없어서 듣고 있는데 스프링 기반 지식이 조금 딸려서 질문 드립니다ㅠ(앞선 로드맵으로 스프링이 어떻게 돌아가는지 대강만 알고있어요ㅠ)