묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨코딩은 실전이다! - Git알못을 위한 깃린이코스(Git, Github 실습위주)
슬랙 초대 부탁드려용
강의 잘 들었습니다. seong7517@gmail.com 초대 부탁드리겠습니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
antDesign Warning
앤트디자인 사용 하니까 이런 경고 가 뜨는데 이건 왜뜨는 걸까요? react에서 사용할땐 이런거 없었는데 왜 이런건가요? 새로고침 할때마다 나타납니다. 에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다.도움이 되는 질문을 하는 방법을 알려드립니다.https://www.youtube.com/watch?v=PUKOWrOuC0c0. 숫자 0부터 시작한 이유는 1보다 더 중요한 것이기 때문입니다. 에러가 났을 때 해결을 하는 게 중요한 게 아닙니다. 왜 여러분은 해결을 못 하고 저는 해결을 하는지, 어디서 힌트를 얻은 것이고 어떻게 해결한 건지 그걸 알아가셔야 합니다. 그렇지 못한 질문은 무의미한 질문입니다.1. 에러 메시지를 올리기 전에 반드시 스스로 번역을 해야 합니다. 번역기 요즘 잘 되어 있습니다. 에러 메시지가 에러 해결 단서의 90%를 차지합니다. 한글로 번역만 해도 대부분 풀립니다. 그냥 에러메시지를 올리고(심지어 안 올리는 분도 있습니다. 저는 독심술사가 아닙니다) 해결해달라고 하시면 아무런 도움이 안 됩니다.2. 에러 메시지를 잘라서 올리지 않아야 합니다. 입문자일수록 에러메시지에서 어떤 부분이 가장 중요한 부분인지 모르실 겁니다. 그러니 통째로 올리셔야 합니다.3. 코드도 같이 올려주세요. 다만 코드 전체를 다 올리거나, 깃헙 주소만 띡 던지지는 마세요. 여러분이 "가장" 의심스럽다고 생각하는 코드를 올려주세요.4. 이 강좌를 바탕으로 여러분이 응용을 해보다가 막히는 부분, 여러 개의 선택지 중에서 조언이 필요한 부분, 제 경험이 궁금한 부분에 대한 질문은 대환영입니다. 다만 여러분의 회사 일은 질문하지 마세요.5. 강좌 하나 끝날 때마다 남의 질문들을 읽어보세요. 여러분이 곧 만나게 될 에러들입니다.6. 위에 적은 내용을 명심하지 않으시면 백날 강좌를 봐도(제 강좌가 아니더라도) 실력이 늘지 않고 그냥 코딩쇼 관람 및 한컴타자연습을 한 셈이 될 겁니다.
-
미해결WEB2 - Node.js
pm2가 잘 안돌아갑니다 ㅠㅠ
https://opentutorials.org/module/3549/22110 보충수업까지 들어봤지만... 잘 안되네요 예를 들어 파일 수정하고 웹 페이지 새로고침을 해도 바뀐 부분이 없는 경우도 허다하고 삭제같은 경우도 위에 title 태그 옆에서 빙글빙글 돌기만 하고 수행이 되지 않습니다
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
이중포인터로 해결 불가능하다 하셨는데
처음에는 고민하다가 공격대상을 공격하기 직전에 대상을 확인하고 공격하는으로 해결했습니다만 (delete 코드 이후에 포인터를 받아서 썻습니다) 나중에 코드 추가등으로 인해 지금은 직전에 대상을 확인한다고 해도 그 사이에 대상 객체가 delete될수도 있겠다 싶어서 좀더 범용적인 해결방법을 위해 이중포인터로 해결을 했습니다. 전체 코드가 너무 긴 듯해 기본적으로 _target을 Player**로 들고있고 _target을 사용하는부분을 모두 (*_target)으로 수정했습니다. *Exercise_A.cpp Arrow 생성되는 구문 Arrow* arrow = new Arrow(reinterpret_cast<Player**>(&knight), archer->_attack); 이 방법이 조금 더 범용적이라 생각했던 이유는 delete를 했을때 자신이 가지고있는 포인터는 nullptr로 바꿀 수 있으나 이걸 복사해 간 다른 포인터 변수들은 초기화 되지 않기 해당 포인터 자체를 가르키는 이중포인터로 해결하면 된다 생각했습니다. 이때 포인터를 하나를 두고 해당 포인터를 참조하려고하는 모든 이중포인터는 해당 포인터를 가리키게 한 뒤 nullptr체크를 한다면 해결 가능하다 생각했는데 혹시 어떠한 경우에 문제가 발생하게 되는지 궁금합니다. 만약 이중포인터로 해결이 불가능하다면 결국 어떤 객체의 포인터는 해당 객체를 delete하는곳에서만 관리를 하고 다른곳에서는 포인터를 가져가는게 아니라 해당 객체를 관리하는곳에 말씀하시느 ID등을 이용해서 객체 접근을 시도하는것이 안전한 방법이다 라고 생각했습니다! 이 부분도 혹시 틀린부분이 있으면 지적해주시면 감사하겠습니다. 앗 추가로 이걸 고치면서 static_cast는 이중포인터는 허락 안해준다는걸 알게됬네요!
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
문제 4번 질문입니다.
문제는 금방찾았는데 어떻게 고쳐야할지가 고민이더라고요. 오버플로우 문제인데 체력이 회복하는 포션이 생겼는데 최대체력을 만들어도 되는지, 한번 회복량에 제한은 있는지 확실하지 않아 일단 _hp를 __int64로 바꿨습니다. 생각하보면 코드가 문제라기보다는 과도한 테스트가 문제인거 같아보이는데요. 만약 실제 현업에서 너무 오버한 테스트로인한 오버플로우라면 코드를 고치기보다는 해당 테스트를 수정하는편인가요?
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
함수 설명 단축키는 모에요? 함수 파라메터 위에 아무스 포인터 올려놓고 보는거요.
함수 설명 단축키는 모에요? 함수 파라메터 위에 아무스 포인터 올려놓고 보는거요.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
volume 기능이 되지 않네요..
코드를 수정한 후에 새로 docker run을 해도 아무것도 달라지지 않습니다. 이유를 알 수 있을까요? 맥에서 사용하고 있습니다
-
미해결엑셀 매크로와 VBA 기초부터 실무활용까지 완전 정복
행번호 질문
안녕하세요, 기초부터 꼼꼼히 알려주셔서 별 문제 없이 따라오고 있는 수강생입니다. 올려주신 코드에는 행번호 = 취합시트.Range("A1").End(xlDown).Row + 1 로 되어 있습니다. 행번호 = 취합시트.Range("A1").End(xlDown).Offset(1,0) 으로 처리할 경우는 행번호 변수가 0으로 계산되어 에러처리부분으로 이동하는데 차이가 무엇인지 알 수 있을까요?
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
res.send() === throw new Error() ???
항상 답변 달아주시는 조현영님께 감사 인사부터 드립니다. 라우터 메서드를 생성하고 조건에 따라 next("route")와 next()를 분기하였습니다. app.get( "/routing", (req, res, next) => { res.send("routing"); if (false) { next("route"); } else { next(); } }, (req, res) => { console.log("라우팅 실패"); } ); app.get("/routing", (req, res) => { console.log("라우팅 성공"); }); 조건문이 false인 상태로 next()함수로 바로 다음에 있는 미들웨어가 실행되며 console.log("라우팅 실패")가 실행됩니다. 그런데 app.get( "/routing", (req, res, next) => { res.send("routing"); if (false) { next("route"); } else { next(); } }, (req, res) => { console.log("라우팅 실패"); throw new Error("에러 발생"); } ); 조건문 다음 미들웨어에 에러를 발생 시키는 코드를 추가하고 실행하면 Cannot set headers 에러가 발생합니다. 전에 올렸던 질문이랑 유사하죠. 제가 궁금한 것은 분명히 res.send()(res객체를 사용한 응답형태 메서드)를 두번 이상 사용하지 않았는데도 (전체 코드에서 get메서드로 "/routing"을 참조하는 코드는 없습니다.) 응답 객체를 두개 이상 사용한 효과가 throw new Error() 코드를 집어넣었더니 발생한다는 것이었습니다. throw new Error가 응답 객체(req)와 어떠한 관련이 있나요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@ResponseStatus와 @ExceptionHandler 함께 사용한 부분 질문있습니다ㅠㅠ
12:00 ~ @ResponseStatus와 @ExceptionHandler 함께 사용한 부분 설명 관련 두가지 궁금한게 있습니다. 전 시간에 ResponseStatus를 사용하면 ResponseStatusExceptionResolver가 상태 코드를 변경해서 sendError를 발생시킨다고 이해했는데 그럼 sendError가 WAS로 해당 에러를 전달하려고할텐데 그 과정에서 중간에서 @ExceptionHandler가 그 예외를 잡아서 처리함으로써 WAS로 예외가 전달되지 못하고 상태 코드만 변경되고 응답은 처리한데로 정상흐름으로 된다는 건가요..? 그럼 서버 내부적으로 로그를 남긴다던가 하는 용으로 쓰이고 클라이언트에게는 정상적으로 응답하도록 하는 효과가 있는건지요...!
-
해결됨하루만에 Cypress로 작성하는 자바스크립트 E2E 테스트 코드
spec.js 파일 질문입니다!
안녕하세요! 저도 vscode를 사용중인데 test 메서드를 강의에서와 같이 자동완성으로 사용하려면 따로 익스텐션 설치가 필요한가요? 저는 vscode내에서 자동완성이 뜨지않고 js 파일도 주황색으로 따로 구분되지 않아서요!
-
미해결타입스크립트 입문 - 기초부터 실전까지
tsc가 계속 오류가 납니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. zsh: command not found: tsc 이렇게 뜨면서 안되는데요 npm은 8.1.2 node는 16.13.1버전 사용하고 있습니다. tsc index.ts하니까 zsh: command not found: tsc 이렇게 오류가 뜨는데 어떻게 해결하나요? 노드 재설치는 해봤는데 계속 같은 오류가 뜨네요
-
미해결비전공자를 위한 개발자 취업 올인원 가이드 [통합편]
포트폴리오 및 TIL에 관한 질문
안녕하세요~ 멘토님 강의를 수강을 잘하고있습니다. 저는 프론트엔드개발자가 되기위해서 학원에 공부를 다니고 있는데요 요즘 파이널프로젝트에 대해서 고민이 많았습니다. 그래서 멘토님의 강의를 보면서 지금 많은 정보를 얻어 궁금한점이 생겼습니다. 포트폴리오는 프로젝트들의 모음이라고 하셨고, 노션에 작성하면 좋다고 하셨는데요 노션에 제가한 토이프로젝트와 팀프로젝트의 이슈를 적어서 모아두는것이 좋다고하셨는데 그럼 그 적어놓을것을 회사에 포트폴리오와같이 내도 되나요? (회사에서 이상하게 생각하지 않을까요? ) 그리고 프론트엔드 개발자 포트폴리오라고 검색하니까 아래의 링크처럼 많이 나와있는데요 저렇게 포폴을 만드는것을 말씀하신걸까요? 조언 부탁드립니다. <링크첨부> 프론트엔드개발자포폴예시링크
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
강의에서 어시스트 기능 질문있습니다.
14:45 쯤에 (*_target2).에서 _hp를 자동완성시켜주는데 당시 Player.h, Player,cpp 둘 다 해당 타겟인 몬스터 클래스에 대한 정보는 하나도 없는데 어떻게 몬스터 클래스 내부에 _hp가 있는지 알고 자동완성을 시켜주는지요? 이 부분말고도 그런상황이 자주 나오더군요 선생님께서 visual assist를 사용하고있다는건 초반 강의 질문중에 본것같은데 이녀석의 기능인가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
HttpSession 과정을 문의드립니다.
안녕하세요! 항상 좋은 답글 달아주셔서 감사합니다! 이번 질문 글에서는 HttpSession의 동작 방식에 대해 어려운 부분이 있어 문의드리고 싶어 글을 적습니다. HttpSession session = request.getSession(); session.setAttribute(SessionConst.LOGIN_MEMBER, loginMember);log.info("RESPONSE COOKIE = {} ",response.getHeader("JSESSIONID") );log.info("RESPONSE COOKIE = {} ",response.getHeaders("JSESSIONID") );return "redirect:/"; 제가 궁금한 것은 위의 코드와 관련된 부분입니다. 위의 코드에서는 HttpServletRequest에서 session 값을 얻어서, 그곳에 loginMember를 저장하면서 Session과 Member를 Mapping 해주는 것으로 이해하고 있습니다. 그런데 특이한 점은 Response에 만들어진 Session이 쿠키 형태로 포함되지 않고 나간다는 점입니다. 위 코드를 실행하면 위의 콘솔창에서 볼 수 있듯이, Response에는 어떤 쿠키도 포함되어 나가지 않습니다. 개발자 도구에서도 POST /login에서는 Response에 JESSIONID가 쿠키로 포함되어 오지 않는 것으로 확인이 됩니다. 그렇지만 Redirect를 할 때는 JSSESIONID라는 쿠키가 포함되어 Request 되는 것을 볼 수 있습니다. 내용을 상세히 정리하면 위와 같습니다. 질문을 간단히 정리하면 다음과 같습니다. 1. Request를 통해 얻은 HttpSession은 response가 나갈 때, 쿠키로 클라이언트에 전달되나요? 2. Response로 전달된다면 제가 어떻게 그 부분을 확인할 수 있는지 알려주실 수 있으실까요? 3. Response로 전달되지 않는다면 어떤 형태로 클라이언트에 전달되는지 알려주실 수 있으실까요? 번외 질문 : session.setAttribute("loginMember", loginMember)를 하면 마치 ConcurrentHashMap처럼 저장되는 것으로 이해를 하고 있습니다. "loginMember"만을 저장해둔 ConcurrentHashMap에 session.getId를 key로 value는 loginMember가 저장된다고 이해하면 될까요? 항상 좋은 답변 주셔서 너무 감사합니다. 새해 복 많이 받으세요!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
gradlew build error
jAVA 11 version 을 다운 받았고 설치후 JAVA_HOME까지 설정하고 확인까지 다했는데 자꾸 invalid가 떠서 해결방법을 찾는 도중 batch compiler 확장프로그램을 받았고 받은 이후 빨간줄이 그여져 잇는 부분에 주석을 달았다니 해결이 되었습니다. 해결은 되었지만 왜이런지 이유를 알고 싶은데 구글링을 해도 찾을 수가 없어서 올려봅니다 혹시 아시는분 계시면 답변 부탁드립니다 감사합니다!
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
EditPlus 다운은 유효로 되어 있는데 무료로 다운 받는 방법 있을까요?
■ 질문 남기실 때 꼭! 참고해주세요.- 먼저 유사한 질문이 있었는지 검색해주세요.- 궁금한 부분이 있으시면 해당 강의의 타임라인 부분을 표시해주시면 좋습니다.- HTML, CSS, JQUERY 코드 소스를 텍스트 형태로 첨부해주시고 스크린샷도 첨부해주세요.- 다운로드가 필요한 파일은 해당 강의의 마지막 섹션에 모두 있습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
findByName 부분에서 java.lang.NullPointerException 오류가 나는 지점에 대해 질문합니다.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 회원 리포지토리 테스트 케이스 작성의 findByName() 부분에서 다음과 같은 에러가 뜹니다. java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because the return value of "sejeong_park.hellospring.domain.Member.getName()" is null MemoryMemberRepositoryTest.java의 해당 부분은 @Test public void findByName(){ Member member1 = new Member(); member1.setName("spring1"); repository.save(member1); // member1을 저장 Member member2 = new Member(); member2.setName("spring2"); repository.save(member2); // member1을 저장 Member result = repository.findByName("spring1").get(); assertThat(result).isEqualTo(member1);} 다음과 같이 작성했고, Repository의 전문을 가져오면, MemberRepository 인스턴스와 package sejeong_park.hellospring.repository;import sejeong_park.hellospring.domain.Member;import java.util.List;import java.util.Optional;public interface MemberRepository { // Repository 에 4가지 기능 Member save(Member member); Optional<Member> findById(Long id); Optional<Member> findByName(String name); List<Member> findAll(); void clearStore(); Optional<Member> findId(Long memberId);} MemoryMemberRepository 클래스 전문 입니다. package sejeong_park.hellospring.repository;import sejeong_park.hellospring.domain.Member;import java.util.*;public class MemoryMemberRepository implements MemberRepository { private static Map<Long,Member> store = new HashMap<>(); private static long sequence = 0L; @Override public Member save(Member member) { // save 할 때 메모리에 저장을 해야함 // store에 넣기 전에 member에 ID 값을 세팅해줌 member.setId(++sequence); // 멤버를 저장할 때 sequence 값을 올려줌 store.put(member.getId(), member); // Map에 저장 됨 return member; } @Override public Optional<Member> findById(Long id) { // store에서 꺼내면 됨 return Optional.ofNullable(store.get(id)); } @Override public Optional<Member> findByName(String name) { // name을 찾는 것 // store의 value값과 member.getName()과 같은 변수 name값을 찾는 것 return store.values().stream() .filter(member -> member.getName().equals(name)) .findAny(); } @Override public List<Member> findAll() { return new ArrayList<>(store.values()); // values가 member들이므로 멤버들을 반환 } @Override public void clearStore() { } @Override public Optional<Member> findId(Long memberId) { return Optional.empty(); }} 에러 코드 상 domain> Member> getName부분에 에러가 있는 듯 하여, package sejeong_park.hellospring.domain;public class Member { private Long id; // 아이디 식별자 -> 시스템이 지정해주는 ID private String name; // 고객이 회원 가입 할 때 적는 이름 public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName(){ return name; } public void setName(String spring) { this.name = name; }} 위는 domain>Member의 전문입니다. 자료와 코드를 비교해보았는데, 코드의 차이점을 찾지 못했습니다. 오류를 보면 테스트 NullPointerException 에러를 보아, Optional 혹은 get()하면서 에러가 생긴 듯 한데, 원인을 찾지 못하고 있습니다. 도움을 주시면 감사하겠습니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
리액트 핫로딩 옵션 줘도 동작을 안하네요 ㅠ
ㅠㅠ 잘못된 부분이 있으면 아무나 알려주시면 감사하겠습니다.. 밑에 많은 분들께서 올려주신 글 참고해서 해봤는데 docker 실행 옵션에 -e CHOKIDAR_USEPOLLING=true 위 옵션으로 실행해도 안되고 Dockerfile.dev 파일에 ENV CHOKIDAR_USEPOLLING=true 로 설정을 줘도 안되고 docker-compose.yml 파일에 environment: # 리액트 핫로딩 작동 옵션을 true 로 줘야 Volume 기능을 정상적으로 사용할 수 있다. - CHOKIDAR_USEPOLLING=true 설정을 해줘도 리프래쉬시 화면이 변경되지 않네요... 컨테이너 내부에 접근해서 확인하였을 땐 App.js파일이 정상적으로 바뀌고 있습니다. 무슨문제일까요
-
미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
pip install -r requirements.txt 오류 문의
설치 중간에 다음과 같은 에러가 발생했습니다. 어떻게 처리하면 될까요? ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. astroid 2.4.2 requires wrapt~=1.11, which is not installed.