묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
강의 업데이트 항목 문의
강사님 안녕하세요.'마지막 업데이트일 : 2023년 03월 05일'로 확인되는데 어떤 부분이 업데이트가 된건가요??혹시 실전문제풀이 자료도 변동이 있을까요??
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
제시어 실행이 안돼요
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>끝말잇기</title> <style></style> </head> <body> <div><span id="order">1</span>번째 참가자</div> <div>제시어:<span id="word"></span></div> <input type="text"> <button>입력</button> <script> const number = parseInt(prompt("몇명이 참가하나요?")); const $button = document.querySelector("click"); const $input =document.querySelector("input"); const $word =document.querySelector('#word'); let word; //제시어 let newWord; //새로 입력한 단어 const onInput = (event) => { newWord =event.target.value; } const onClickButton = () => { if(!word) { word=newWord; $word.textContent =word; //date 바꾸고 화면도 바꾸고 $input.value = ''; } else { //비어있지않다 } }; $button.addEventListener('click', onClickButton); $input.addEventListener('input', onInput); </script> </body>단어를 작성해서 입력 버튼을 눌렀을 때 제시어에 단어가 나오질 않아요 ..이런 오류가 떠서 찾아보니까 addEventListener 함수가 실행이 안되어서 오류가 난다고 해서 해결책으로body태그 안에 script 를 넣어주면 된다고 하는데 계속 오류가 나네요 ,,
-
미해결생활코딩 - React
TOC.js에서 while문 안에
저 push 함수 안에 /content/는 어떤것을 의미하나요?
-
미해결
강의 수강 신청 관련 문의
수강중인 강의가 수료발급까지 끝나고 마무리 됬는데, 다른 강의 신청하려고 신청해도 계속 미수강중인 강의가 있다고 메시지가 뜹니다. 확인부탁드립니다
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
버추얼 박스 사용시 각 노드간 연결 문제
강의 내용에 나와 있는 버추얼 박스를 3개 만들어서 쿠버네티스 환경을 만들려고 했습니다. 강의 나온 대로 kubeadm init과 join을 수행했는데, 연결이 계속 안되는 현상이 있었고, 확인해보니 쿠버네티스와는 상관없는 버추얼 박스 VM 간의 통신이 제대로 안되는 이슈였습니다. NAT로 연결되어 있었는데, 어댑터 브릿지로 변경해도 VM 간의 연결이 제대로 안되었습니다. 강의 중에는 연결이 잘되던데, 방법 문의드립니다.
-
미해결파이썬 무료 강의 (활용편3) - 웹 스크래핑 (5시간)
네이버 웹툰을 활용한 BeautifulSoup 강좌에서 인터페이스가 달라졌습나다.
웹 크롤링을 하려 하니까 인터페이스가 완전히 갈아엎어져서 이거 뭐 어떻게 해야할지를 모르겠네요
-
미해결누구든지 하는 리액트: 초심자를 위한 react 핵심 강좌
App.js에서 handleCreate 함수 생성 시 오류
영상 속 App.js에서는 클래스로 정의되어있는데요요새는 React app create하면,디폴트로 function App()으로 만들어놓더라구요 클래스에서는 handleCreate=() =>{ }정의가 되지만,function으로 정의된 App.js에서는...오류가 뜹니다.const를 앞에다 붙여도 안되고;;왜그럴까요?클래스 컴포넌트가 아닌 function으로 정의된 App.js에서는 어떻게 내부 함수를 생성해야하는지 알려주세요.ㅠㅠㅠ
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
formData 대신 객체로 보낼때
백엔드에 게시글 등록시 const upload = multer({...}) router 에서 upload.none() 를 사용하였습니다. 작성된 코드에서는 이미지 업로드 버튼을 누르고 이미지 선택 확인 누르는 순간 로컬에 저장되고 반환되어 프론트에서 imagePaths 에 담겨있습니다. 그 후 강의에선 imagePaths를 FormData에 담아서 보내고있는데 imagePaths는 텍스트만 들어있어서 객체로 보내보려고합니다.배열을 그대로 담으면 될 것 같아 dispatch({ type: ADD_POST_REQUEST, data: { imagePaths, content: text }, });이렇게 작성하여 보냈는데 Network에서도 성공이고 프론트에서도 오류나는것 없이 다 SUCCESS입니다. 게시글에는 사진이 나타나지 않습니다. 경로가 잘못된 것 같지는 않고 .. 어떤 문제가 있는걸까요? [등록 전][등록 후]
-
해결됨스프링 부트 - 핵심 원리와 활용
선생님 안녕하세요 단순 질문입니다.
스프링 하면 김영한 이라는 말을 많이 들어서 이번에 오픈 기념 처음 수강하는 수강생입니다.자바 17버전을 사용하는 이유가 있을까요?또한 제가 진행한 프로젝트에서는 Maven을 사용했는데 Gradle을 사용하는 이유가 있을까요?Gradle을 2~3년전 안드로이드에서 처음 접해봤었는데 그때는 버그도 많고 그래서 선입견이 조금 있네요 ㅎㅎ,,
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
반납 기능 관련해서 질문드립니다.
강사님 안녕하세요. 이번 강의에서 BookService에 returnBook을 만들어주었는데요, 실행을 하면 반납을 했음에도 불구하고, 같은 이름의 사용자가 이미 반납한 책을 또다시 반납해도 오류가 발생하지 않고, 반납에 성공했다고 결과가 나오는 것을 알게되었습니다.제 생각에는 UserLoanHistory history = userLoanHistoryRepository.findByUserIdAndBookName(user.getId(), request.getBookName()) .orElseThrow(IllegalArgumentException::new);해당 코드에서 findby부분에is return도 추가하여 userLoanHistoryRepository.findByUserIdAndBookNameAndIsReturn(user.getId(), request.getBookName(), false)로 해주어야 대출중인 책을 반납하는 동작이 한번 이루어지고, 중복반납이 안될거 같은데 혹시 제가 이해를 잘못한건지 궁금합니다. 감사합니다!
-
미해결그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
4.7강에서 endpoints 호출이 안 되는데 이유를 모르겠습니다
실습을 그대로 따라했는데 마지막에 curl external-data를 해도 커넥션이 되지 않습니다. 그 이유를 혹시 아실까요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
이론강의 buttons 중에
앞 강의 중 gestureDetector를 배운적이 없는데배웠다고 표현하시는데, 어느부분에서 배웠는지 알 수 있을까요?
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
강의자료 최신화 요청 드립니다.
안녕하세요, 강의자료 다운로드 화면에서 받아지는 PDF가 현재 강의 내용과 차이가 있습니다.자료 최신화 부탁드립니다~
-
미해결워드프레스(WordPress) 완전정복
백그라운드 이미지ㅠㅠ
백그라운드 이미지가 안나와요.왜그런거에요?
-
미해결유니티 머신러닝 에이전트 완전정복 (기초편)
드론 작동
안녕하세요! 혹시 드론의 크기를 키우면 스크립트에서 변경해야 할 내용이 있나요? 영상과 똑같이 한 후 terrain을 추가하고 드론의 크기를 키우면 드론이 움직이지 않아요..
-
해결됨ARM Cortex-M 프로세서 프로그래밍
Thumb2 기반 ldr r0, [PC, #imm] 명령어 해석법 질문 드립니다.
강의 잘 보고 있습니다.주소 지정 작업을 위해 기본 레지스터로 사용될 경우 왜 항상 4바이트 정렬해야하나요?강의 마지막 부분에서 나온 예를 보면0x08000632에서 로드 명령을 실행하는 동안 PC 레지스터는 0x08000636로 읽지만-> 파이프라인 구조니까 0x08000632에서 실행하는 동안 PC의 값은 Thumb의 경우 +4, Thumb2의 경우 +8가 될 것으로 생각이 됩니다.ldr...[pc]의 기본 주소는 Align(0x08000636, 4), 즉 0x08000634이다.-> 왜 4바이트 정렬을 해야하는지 이해가 가지 않습니다.
-
미해결깃헙 블로그(Github blog)로 차별화 된 나만의 홈페이지 만들기!
유투브 강의랑 내용이 같은것같은데....
선생님!!!유투브 강의랑 내용이 같은것같은데....혹시 내용 업데이트 될예정인가요 ㅜㅜ???아니면 그대로 유지인가요..?
-
미해결
Spring Mybatis Test 관련 질의
안녕하세요김영한 강사님 강의를 잘 듣고 있는 학생입니다.항상 친절한 대답 해주셔서 감사합니다. 질문 1. MyBatis로 테스트 연습 해보고 있는데요. 테스트시 @MybatisTest를 이용하는 게 있고,@Mock(Mokito)를 이용하는 방법이 있더라고요. 혹시 두개의 차이가 방법론의 차이인건지 아니면 Mybatis 연동 테스트시에는 @MybatisTest를 이용하고, 기타 서비스, 매퍼등 테스트시에는 @Mock를 이용하는 건지 궁금합니다. 질문 2. 블로그 참고하여 아래처럼 테스트해보았는데 NullPointer Exception이 떠서 해결방법이 어떤건지 궁금합니다(참고 블로그 : https://plz-exception.tistory.com/28)OrderMapper@Mapper public interface OrderMapper { OrderVO getOrder(@Param("seq") Long seq); List<OrderVO> getOrders(); }OrderVO@Getter public class OrderVO { private Long productseq; private String productName; public OrderVO() { } public OrderVO(Long productseq, String productName) { this.productseq = productseq; this.productName = productName; } }OrderMapper.xml<mapper namespace="tdd.test.OrderMapper"> <select id="getOrder" resultType="OrderVO"> Select * from order_product where seq = #{seq} </select> </mapper>Test java@MybatisTest @Slf4j @AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE) class OrderMybatisTestTest { @Autowired private OrderMapper orderMapper; @Test @DisplayName("Order Mapper Test") public void mybatis_Mapper_XML_테스트() throws Exception { //given Long seq = 1L; //when OrderVO order = orderMapper.getOrder(seq); //then assertThat(order.getProductseq()).isEqualTo(1L); //log log.info("테스트 결과 {} / {}", order.getProductseq(), order.getProductName()); } }Error
-
미해결실전! Querydsl
QueryDSL 5.0.0 기준으로 강의 내용을 정리했는데 올바르게 이해한 것일까요?
searchPageSimple(): 조회 쿼리와 카운트 쿼리를 한번에 실행searchPageComplex(): 조회 쿼리와 카운트 쿼리를 분리QueryDSL 5.0.0부터는 fetchResults()와 fetchCount()를 deprecated 메서드로 공지함에 따라, 강의 내용처럼 searchPageSimple()과 searchPageComplex()를 구분해서 구현할 필요 없이 searchPageComplex()의 방식으로만 구현하면 됨.@Override public Page<MemberTeamDto> searchWithPaging(MemberSearchCond cond, Pageable pageable) { // 데이터 조회 쿼리 (페이징 적용) List<MemberTeamDto> content = queryFactory .select( new QMemberTeamDto( member.id.as("memberId"), member.username, member.age, team.id.as("teamId"), team.name.as("teamName") ) ) .from(member) .leftJoin(member.team, team) .where( usernameEq(cond.getUsername()), teamNameEq(cond.getTeamName()), ageGoe(cond.getAgeGoe()), ageLoe(cond.getAgeLoe()) ) .offset(pageable.getOffset()) .limit(pageable.getPageSize()) .fetch(); // count 쿼리 (조건에 부합하는 로우의 총 개수를 얻는 것이기 때문에 페이징 미적용) Long total = queryFactory .select(member.count()) // SQL 상으로는 count(member.id)와 동일 .from(member) .leftJoin(member.team, team) .where( usernameEq(cond.getUsername()), teamNameEq(cond.getTeamName()), ageGoe(cond.getAgeGoe()), ageLoe(cond.getAgeLoe()) ) .fetchOne(); return new PageImpl<>(content, pageable, total); } 이 때, total을 아래와 같이 구할 수도 있지만long total = queryFactory .selectFrom(member) .leftJoin(member.team, team) .where( usernameEq(cond.getUsername()), teamNameEq(cond.getTeamName()), ageGoe(cond.getAgeGoe()), ageLoe(cond.getAgeLoe()) ) .fetch() // 조건에 부합하는 전체 데이터를 조회 (List) .size(); // List의 길이로 total을 구하기count 함수는 SQL 차원에서 지원하기 때문에 굳이 이렇게 전체 데이터를 받아온 뒤에 애플리케이션 레벨에서 별도로 size()를 호출해서 구할 필요 없고, 처음부터 카운트 쿼리를 호출하는 것이 나음.이유는 전체 데이터를 불러오고 나서 size()로 구하는 방식은 영속성 컨텍스트에 데이터를 전부 받아온 뒤에 개수를 따로 세는 것이기 때문에 불필요하게 메모리를 잡아먹기 때문. total을 구하는 방식에 대한 내용은 강의에 언급되지 않았기 때문에 제가 따로 검색해보고 내린 결론입니다. 제가 생각한 것이 맞는지 궁금합니다.이외에도 잘못된 부분이 있다면 지적해주시면 감사하겠습니다.
-
미해결프로그래밍 시작하기 : 도전! 45가지 파이썬 기초 문법 실습 (Inflearn Original)
'is' 와 '==' 언제 사용하나요?
'is'와 '==' 차이점은 어느 정도 이해되는데, 각각을 언제 사용해야 하는지는 잘 모르겠습니다. 검색을 해보면 주로 '==' 사용하고 None 과 비교할 때 'is'를 사용한다고 하는데 실제로 이렇게 사용하나요?z = 'None'a = Noneprint(f'z is None : {z is None}')print(f'z == None : {z == "None"}')print(f'a is None : {a is None}')print(f'a == None : {a == "None"}')z is None : False z == None : True a is None : True a == None : False