묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결프론트엔드 개발자를 위한 웹팩
배포시 질문
배포시에도 html플러그인 을 사용하고 싶다면 dependencies 이쪽에도 플러그인 을 추가 하면되는건가요?? 혹시 devDependencies 와dependencies 를 나누는 이유를 명확하게 알고싶은데 devDependencies로 테스트를 하고 배포할때 devDependencies안에 있는 파일들을 전부 dependencies안에 다운을 받는 방식도 있나요 ??
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
안드로이드 버전
강의의 내용과 다른 최신 버전의 안드로이드에 카드스택뷰를 적용해도 되나요?? 이 강의 내용을 그대로 적용해도 될까요? 바텀 네비게이션을 추가로 구현하고싶은데 setOnItemSelectedListener 이 인식이 안되는것같아서요ㅠㅠ
-
미해결PHP 7+ 프로그래밍
php 8 로 하시는 분들을 위한 ini 팁
질문은 아니지만 혹시 저처럼 php 8로 하시는 분들이 계실까봐 글 남겨요^^ php 8로 받으시면 php.ini-development와 php.ini-production 파일이 있는데 이 중 아무거나 php.ini로 바꾸시면 됩니다. 저는 php.ini-development를 php.ini로 바꿨어요.
-
해결됨풀스택 리액트 토이프로젝트 - REST, GraphQL (for FE개발자)
늦은시간에 죄송합니다.
강의를 듣다가.. 제 수준에 당황에서 글을 남깁니다.. 혹시 이번강의(routes의 정의)가 이해가 되지 않는다면 어느파트를 집중해서 공부해야하는지 여쭤보고 싶습니다. 처음에는 막연하게 리액트, 타입스크립트를 공부하고 서버쪽 기초를 배우고 싶어, 그래프 큐엘과 아폴로등을 공부하기 위해 강의를 신청햇는데 기본적인 개념조차 안잡혀있는 제자신을 확인 할 수 있는 기회가 되었습니다 ㅠㅠ.. 수업과 관련이 없는 내용이지만 노드js를 공부한 후 듣는 편이 좋을까요 .. 아니면 어디를 공부하여야 할까요.. 답변 기다리겠습니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
토큰저장위치에 관하여
안녕하세요, 강의 듣다가 질문드립니다. cookie-parser를 이용하여 client의 cookie에 토큰을 넣는 것으로 이해하였는데 왜 mongoDB에도 token이 저장되는 것인가요?? 또한 사용자가 logout했을때, client쪽의 token을 지워버리면 안되는 것인가요?? **우선 왜 DB에 토큰이 저장되는지 모르겠습니다!!**
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
안녕하세요, vitis로 만든 디지털 서킷을 칩으로 제작하는 과정이 궁금합니다.
안녕하세요 수강중인 학생입니다. 저는 지금 연구실에 소속되어있고, 기존에 연구들은 Verilog를 이용해 디지털 블락을 만들고, PNR 한 뒤 케이던스에서 불러와 아날로그 블락과 함께 적절하게 합쳐진 뒤 칩으로 만들고 있습니다, 제가 궁금한 것은 이러한 강의에서 배운 것 처럼 HLS 를 하였을때, 어떤식으로 칩으로 구현이 가능한지 그 과정이 궁금합니다. 제가 만들고자 하는것은 ADC같은 아날로그 블락이 필요해서 케이던스로 제가 만든 디지털 블락을 가져오고 싶은데 혹시 관련하여 알려주실 수 있으신지 여쭈어봅니다.
-
미해결최신 딥러닝 기술 Vision Transformer 개념부터 Pytorch 구현까지
key의 차원으로 정규화
중간에 루트 키의 차원으로 나눠주는 부분에 있어서 내적이 너무 커지는 것을 방지하기 위함이라고 하셨는데 내적이 커지면 왜 그레디언트 배니싱 현상이 일어나는 것인가요?
-
미해결모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
검증로직 구현 이후 die($db_conn->error) 부분은 삭제하는 이유
$title = $db_conn->read_escape_string($_POST["title"]); $writer = $db_conn->read_escape_string($_POST["writer"]); $password = $db_conn->read_escape_string($_POST["password"]); $content = $db_conn->read_escape_string($_POST["content"]); $secret = $db_conn->read_escape_string($_POST["secret"]); 이런식으로 검증로직을 추가해준 후에 다음의 die구문을 없애주는 이유는 무엇인가요? $db_conn->query($query) or die($db_conn->error);
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
useParams 으로 id값 받은후 console.log확인시 2번출력 문제
(문제) 안녕하십니까. 양질의 강의를 정말 잘 듣고 있습니다. useParams 으로 id값 받은후 console.log확인시 2번출력이 됩니다. 위와 같이 크롬 console.log에서 2회 출력이 됩니다.useParam이랑 관련없이 console.log("===1번===")확인해봐도 2회 출력이 됩니다. (질문)혹시 저런상황에서 그냥 넘어간다면 문제가 생길까요? 계속 찾다가 못찾아서 그냥 다음 커리큘럼 진행중이고치명적인 문제는 발생하지않았는데 강의를 들을때 나오는 페이지 로딩 속도 보다느린것같아요 (현재코드) https://github.com/ByeonghwiJeong/grab-market-client/commit/35f8c987867b6150af6bc1c7200233540e19ac65 <src폴더 : App.js> <main폴더 : index.js> <src폴더 : index.js> <product폴더 : index.js>
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
10분 50초의
강사님 10분 40초경에서 item이 items[position]을 가르키고 items가 MutableList에 있는값이 하나하나씩 들어간다고 하셨는데요. 왜 그런지 전혀 이해가 안되네요 ㅜㅜ 구글 검색해보니 mutableList가 일반 리스트처럼 쓰인다는건 알고 있는데요. 질문1. 이 mutablelist는 그러면fragement_singer1, fragement_singer2, fragement_singer3를 담고 있는건가요?? 질문2. items는 변수니깐 muteblelist 그자체인가요? 질문3. items[position] 여기에서의 position에는 어떤값이 들어가는건가요?? position이 int라고 들어가있고 어떤식으로 들어가는지 모르겠습니다. 많은 질문 죄송합니다 ㅜㅜ
-
미해결[하루 10분|Web Project] HTML/JS/CSS로 나만의 심리테스트 사이트 만들기
og:image 지정했는데요
<meta property="og:image" content="img/og-logo.png"> 이렇게 지정했는데 ㅠㅠ 카톡공유하기 해봤더니 그림이 안뜨고 글만 가네요 ㅠㅠ 혹시 해결책이 있을까요? 참고해서 잘만들어보고 있습니다 너무감사드려요
-
미해결스프링 시큐리티
WebSecruityConfigurerAdapter가 2개이면 아래 검은 노드로 표현된 filter들이 2개씩 있는 것인가요?
안녕하세요 좋은 강의 감사하게 잘 보고 있습니다.시큐리티 공부를 해야하는 중 이런 강의가 있어서 다행이라고 생각하고 있습니다. 다름이 아니라 WebSecruityConfigurerAdapter 설정을 강의에서와 같이 2개 만들면 아래쪽 검은 노드로 표현된 filter들이 최대 2개씩 존재할 수 있다고 생각하면 되는지 궁금합니다. 만약 그렇다면 우선순위가 높은 filters에서 Authentication 객체가 할당된 경우 우선순위가 낮은 filters에서는 어떻게 되는지요. 예를 들어서 SecurityContextHolder에 이미 Authentication 객체가 존재하는데 만약에 우선순위가 낮은 filters에서도 UsernamePasswordAuthenticationFilter가 있어서 새롭게 인증이 되게 되면 같은 일을 반복하는 것 같기도 하고 무언가 문제가 생길 것 같기도 해서요.
-
해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
인기제품 추천방식 실습 결과가 달라요!
안녕하세요 거친코딩님! 인기 제품 추천 방식 코드를 보고 따라쳤는데, 강사님이랑 결과(movie_id)가 다른데 왜 그런건가요?
-
미해결디파이 킹덤 P2E(Play to Earn)로 투잡하기
디파이킹덤의 아발란체 서브넷 런칭관련
안녕하세요. 최근 디파이킹덤이 아발란체의 서브넷 쪽으로 크리스탈 베일을 런칭 했다는 소식을 듣고 진입하여 강의를 듣고있는 유저인데요, 관련해서 수익 극대화 방법 또한 알려주시면 감사하겠습니다.
-
미해결Do it! 자바 프로그래밍 입문 with 은종쌤
생성자가 이해가 안가요..
public Student() { korea = new Subject(); math = new Subject(); } 이게 어떤..역할인건지.. 왜 빈 괄호를 붙이는지 이해가 안가요 ㅠ
-
미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
print(array_g.tolist())
출력한 결과값에 'I'가 없는데 이유가 궁금합니다. 아래 같은 질문이 있었으나 답변이 없어, 질문 남깁니다! 확인 부탁드립니다.
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
2022년 개정판 질문 드립니다.
이전 버전에 대해 이렇게 세세하게 신경써주시고 관심을 가져주시니 너무 감사드립니다. 저도 해당강의를 중간까지 봤는데요 혹시 모든강의를 재촬영 해서 올려주시는건가요.. 아니면 강의를 새롭게 추가해주셔서 올려주시는 것인가요? 다시 처음부터 봐야할지 잘모르겠어서 질문드립니다.
-
미해결프로그래밍 시작하기 : 웹 입문 (Inflearn Original)
이미지가 안가려지는 에러
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있* { padding: 0; margin: 0; } ul, li { list-style: none; } button.transparent { background-color: transparent; border: 0; outline: 0; cursor: pointer; } .container { width: 100%; background-color: #f0f0f0; padding: 10px; } article.card { width: 600px; margin: 20px auto; margin-bottom: 60px; background: #fff; border: 1px solid #c0c0c0; border-radius: 3px; } /* header 시작 */ article.card header { height: 40px; padding: 10px; } article.card header > div { display: inline-block; /* 수평정렬 */ vertical-align: middle; } .circle-image { height: 100%; padding: 5px; box-sizing: border-box; /* padding을 줘도 넘치지 않도록 border-box 설정 */ } .circle-image > img { height: 100%; border-radius: 50%; } .card-username { padding: 10px 0; font-weight: 900; line-height: 20px; margin-left: 5px; font-size: 13px; } .option-more { float: right; padding: 7px; } /* header 종료 */ /* content 시작 */ .card-container { padding: 5px 10px; } /* 버튼 css */ .card-buttons { padding: 0 5px; margin-top: 5px; } .card-buttons > div { display: inline-block; margin-right: 10px; } .card-buttons > div.last-card-button { float: right; margin-right: 0; } /* 좋아요 */ .card-likes { padding: 5px; font-size: 13px; font-weight: 900; } /* 본문 */ .card-content { padding: 2px 5px; font-size: 13px; } .card-content li > div { padding: 1px 0; } .card-content li > div > span { font-weight: 990; } .card-content li.comment > div > button { float: right; } .card-content li.comment > div > button > img { width: 12px; margin-right: 5px; } /* 시간 */ .card-time { padding: 3px; font-size: 11px; color: #a0a0a0; } /* 푸터*/ footer.card-comment { position: relative; height: 55px; border-top: 1px solid #e0e0e0; } footer.card-comment input { width: 100%; height: 100%; border: 0; outline: 0; padding: 0 15px; color: #606060; box-sizing: border-box; /* 넘치길래 추가함 */ } footer.card-comment > div { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); /* 위로 50퍼 올린다 */ /* 여기가 젤 어렵네 */ } footer.card-comment > div > button { color: #0095f6; opacity: 0.5; /* opacity: 투명도 */ padding: 10px 5px; } /* 케러셀*/ article.card main .carousel { width: 100%; /* 600px에 맞게 100퍼센트로 지정 */ position: relative; /* slide의 부모태그 */ } article.card main .carousel > div { overflow: hidden; /* overflow hidden을 통해 넘치는걸 가려짐 */ } article.card main .carousel ul { width: 10000px; /* 이걸 키우고 li를 고정시켜 슬라이드 될수있게 */ } article.card main .carousel ul > li { display: inline-block; } article.card main .carousel ul > li img { width: 600px; } .slide { position: absolute; top: 50%; transform: translateY(-50%); /* 헷갈리는 부분 */ padding: 10px; } .slide img { opacity: 0.75; } .slide-right { right: 0; /* 오른쪽에서 시작하도록 right 0주기 */ } .carousel footer { position: absolute; height: 20px; text-align: center; width: 100%; bottom: -20px; /* height 20px 뛰움으로써 밑으로 내렸지만 더 명세적으로 bottom: -20px*/ } .carousel footer div { width: 6px; height: 6px; background-color: #a8a8a8; /* 네모난거 4개는 상자에다 배경색을 넣은것 인디케이터 */ display: inline-block; border-radius: 50%; } .carousel footer div.active { background-color: #0095f6; } //위에까지가 css 자료 //여기부터 자바스크립트!! window.addEventListener('load', function() { var carousels = document.getElementsByClassName('carousel'); //케러셀 이벤트를 등록하는 로직 for(var i = 0; i < carousels.length; i++) { addEventToCarousel(carousels[i]); // 현재해당하는 carousels 가져옴(배열) } }); function addEventToCarousel(carouselElem) { var ulElem = carouselElem.querySelector('ul'); var liElems = ulElem.querySelectorAll('li'); //너비값 조정 var liWidth = liElems[0].clientWidth; //현재 li의 너비값 var adjustedWidth = liElems.length * liWidth; //이미지 갯수 * 너비 ulElem.style.width = adjustedWidth + 'px'; //슬라이더 버튼 이벤트 등록 , 슬라이드에 대한 객체 정보 다빼옴 var slideButtons = carouselElem.querySelectorAll('.slide'); //슬라이드 버튼 갯수만큼 반복 for (var i=0; i < slideButtons.length; i++) { slideButtons[i].addEventListener('click', createListenerSlide(carouselElem)); } } //클로저로 해서 캐러셀을 이벤트가 호출될때 바뀌지 않고 사용하기 위해 function createListenerSlide(carouselElem) { return function(event) { //event는 매개변수고 이 블록안에서 사용가능 var clickedButton = event.currentTarget;//현재 클릭한 버튼 가져오기 // 값 가져오기 var liElems = carouselElem.querySelectorAll('li'); var liCount = liElems.length; //길이는 4야 var currentIndex = carouselElem.attributes.data.value; //currentIndex : 현재 보고있는 이미지의 순번 //carouselElem의 모든 속성을 가져오고 데이터를 가져오겠다 //슬라이드 버튼 체크 right값을 포함하는지 //-1해주는이유는 4개일경우 마지막은 3이 마지막이기때문 if(clickedButton.className.includes('right') && currentIndex < liCount - 1) { currentIndex ++; scrollDiv(carouselElem, currentIndex); //위에서 3이라면 ++되므로 4번의 위치로 스크롤을 조정해주는 역할 } else if(clickedButton.className.includes('left') && currentIndex > 0) { currentIndex --; //0이면 왼쪽으로 못넘김 scrollDiv(carouselElem, currentIndex); } //인디케이터 업데이트 updateIndicator(carouselElem, currentIndex); //슬라이드 버튼 보여줌 여부 업데이트 updateSlideButtonvisible(carouselElemm, currentIndex, liCount); //새롭게 보여지는 이미지 인덱스 값을 현재 data 값으로 업데이트 carouselElem.attributes.data.value = currentIndex; } } //다음으로 이동할 매개변수로 nextIndex 이용 function scrollDiv(carouselElem, nextIndex) { var scrollable = carouselElem.querySelector('div');//오버플로 히든되는 var liWidth = scrollable.clientWidth;//div의 사이즈 600이라 600이올거임 var newLeft = liWidth * nextIndex; //2번을 하야된다 하면 1200px이 움직일것 scrollable.scrollTo({left: newLeft, behavior: 'smooth'}); } function updateIndicator(carouselElem, currentIndex) { var indicators = carouselElem.querySelectorAll('footer > div'); for (var i = 0; i < indicators.length; i++) { if (currentIndex == i) { indicators[i].className = 'active'; } else { indicators[i].className = ''; } } } function updateSlideButtonvisible(carouselElem, currenIndex, liCount) { var left = carouselElem.querySelector('.slide-left'); var right = carouselElem.querySelector('.slide-right'); if (currenIndex > 0) { left.style.display = 'block'; } else { left.style.display = 'none'; } if(currenIndex < liCount - 1) { right.style.display = 'block'; } else { right.style.display = 'none'; } } 현재 에러 1.이미지가 한개만 보여야하는데 가려지지않는다 2.자바스크립트를 통해 다음사진으로 넘겨지지만 네번째 사진이 보여지지않고 세번째사진도 넓이에 맞지않다. 어느 코드에서 문제가 있는걸까요 선생님 ㅜㅜ
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
mapping 사용법
사용 에디터: VSCode V6 Flat 버전을 할 때에 mapping에서 toList()가 먹지를 않습니다. 정확한 에러는 toList() 메소드가 없다고 메소드를 만들어 달라고 합니다. mapping 사용법에는 Map<City, Set<String>> lastNamesByCity = people.stream().collect( groupingBy(Person::getCity, mapping(Person::getLastName, toSet()))); 위와 같이 to타입()으로 쓰는 것 같은데 왜 toList() 타입이 적용 안되는지 모르겠습니다. OrderApiController @GetMapping("/api/v6/orders") public List<OrderQueryDto> ordersV6() { List<OrderFlatDto> flats = orderQueryRepository.findAllByDto_flat(); return flats.stream() .collect(Collectors.groupingBy(o -> new OrderQueryDto(o.getOrderId(), o.getName(), o.getOrderDate(), o.getOrderStatus(), o.getAddress()), Collectors.mapping(o -> new OrderItemQueryDto(o.getOrderId(), o.getItemName(), o.getOrderPrice(), o.getCount()), toList()))).entrySet().stream() .map(e -> new OrderQueryDto(e.getKey().getOrderId(), e.getKey().getName(), e.getKey().getOrderDate(), e.getKey().getOrderStatus(), e.getKey().getAddress(), e.getValue())) .collect(Collectors.toList()); } OrderFlatDto package jpabook.jpashop.repository.order.query; import java.time.LocalDateTime; import jpabook.jpashop.domain.Address; import jpabook.jpashop.domain.OrderStatus; import lombok.Data; @Data public class OrderFlatDto { private Long orderId; private String name; private LocalDateTime orderDate; private OrderStatus orderStatus; private Address address; private String itemName; private int orderPrice; private int count; public OrderFlatDto(Long orderId, String name, LocalDateTime orderDate, OrderStatus orderStatus, Address address, String itemName, int orderPrice, int count) { this.orderId = orderId; this.name = name; this.orderDate = orderDate; this.orderStatus = orderStatus; this.address = address; this.itemName = itemName; this.orderPrice = orderPrice; this.count = count; } } OrderQueryDto package jpabook.jpashop.repository.order.query; import java.time.LocalDateTime; import java.util.List; import jpabook.jpashop.domain.Address; import jpabook.jpashop.domain.OrderStatus; import lombok.Data; import lombok.EqualsAndHashCode; @Data @EqualsAndHashCode(of = "orderId") public class OrderQueryDto { private Long orderId; private String name; private LocalDateTime orderDate; private OrderStatus orderStatus; private Address address; private List<OrderItemQueryDto> orderItems; public OrderQueryDto(Long orderId, String name, LocalDateTime orderDate, OrderStatus orderStatus, Address address) { this.orderId = orderId; this.name = name; this.orderDate = orderDate; this.orderStatus = orderStatus; this.address = address; } public OrderQueryDto(Long orderId, String name, LocalDateTime orderDate, OrderStatus orderStatus, Address address, List<OrderItemQueryDto> orderItems) { this.orderId = orderId; this.name = name; this.orderDate = orderDate; this.orderStatus = orderStatus; this.address = address; this.orderItems = orderItems; } } OrderQueryRepository public List<OrderFlatDto> findAllByDto_flat() { return em.createQuery("select new jpabook.jpashop.repository.order.query.OrderFlatDto(o.id, m.name, o.orderDate, o.status, d.address, i.name, oi.orderPrice, oi.count)" + " from Order o" + " join o.member m" + " join o.delivery d" + " join o.orderItems oi" + " join oi.item i", OrderFlatDto.class) .getResultList(); }
-
미해결인공지능 기초수학
강의교안좀 부탁드립니다
제가 기초가 부족해 교안이 필요할 거 같습니다 zentle10@naver.com 부탁좀 드릴게요