묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결윤재성의 Google 공식 언어 Kotlin 프로그래밍 시작하기
인틀리제이 업데이트 관련
인틀리 제이 업데이트로 인해 뉴 프로젝트 누르면 강의랑 다른데 어떻게 생성 해야하나요??
-
미해결블록체인 이더리움 Dapp 개발에 트러플 드리즐 활용하기
MyNewComponent.js의 return( )문 내의 일부 소스가 안보여서 부탁을 드립니다.
안녕하세요. 수고많으십니다. MyNewComponent.js의 return( )문 내의 일부 소스가 안 보여서 부탁을 드립니다.
-
미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
클로저 예제 중 'NoneType' 에 대한 질문입니다.
def closure_ex1(): series = [] def averager(v): series.append(v) print('inner >> {} / {}'.format(series, len(series))) return sum(series) / len(series) (return averager) avg_closure1 = closure_ex1() avg_closure2 = closure_ex1 위의 클로저 예제에서 closure_ex1 함수의 return averager를 제거하고 두가지 방식으로 변수 할당을 해보았습니다. 그리고 아래와 같이 타입을 출력해보았는데 NoneType과 function이라는 결과값이 나왔습니다. print(type(avg_closure1)) -> NoneType print(type(avg_closure2)) -> function avg_closure1 = closure_ex1() 이렇게 변수를 할당하는 것은 avg_closure1에 closure_ex1 함수가 실행된 상태로 할당되어 있는 것을 의미하는 건가요? 그래서 함수의 실행 결과인 리턴값이 없기 때문에 NonType이라고 출력되는 건가요? 계속 (return 부분)을 return averager, return series, 생략 이렇게 넣어서 결과를 출력해보니 값이 다 다르게 나오고, 느낌은 오는데 명확히 정리가 잘 안됩니다 ㅠㅠ 항상 친절한 답변 감사드립니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
Axios 대문자 표기와 axios 소문자표기가 있는데어느것이 맞는걸까요?
안녕하세요 선생님...저 코딩 중에 Axios 대문자 표기와 axios 소문자표기가 있는데 둘다 사용하는 것 같기도하고..아닌것같기도하고...뭐가 맞는걸까요? ㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
오류에대한 질문이 있습니다!
java: Illegal char <:> at index 106: C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.2.4\jbr\bin\Could not find com.h2databases:h2:. Required by: project : 이런 오류가 뜨는데요 구글에 검색을 해봐도 답이 나오지않습니다.. 영상 그대로 한것같은데 이 문제 때문에 실행을 못하고있습니다 ㅠㅠ
-
해결됨쉽게 배우는 adobe XD 기초부터 실무까지 완벽 마스터
질문입니다!
안녕하세요 선생님 강의 잘 보고있습니다! 질문이 있는데요, 3:25에서 색상표 여시고 드래그로 조정하시는 효과랑 그림자 속성이 가지고 있는 X, Y, B 중에 B효과랑 서로 어떤 차이가 있는지 궁금합니다. 감사합니다~
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
강의문서 오타 제보 드립니다.
안녕하세요 강사님 강의 문서 오타 제보 드립니다. 감사합니다.
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
아나그램 개선 전 문제풀이 오류
str1 = input() str2 = input() dict1 = {} dict2 = {} for x in str1: dict1[x] = dict1.get(x, 0) + 1 for x in str2: dict2[x] = dict2.get(x, 0) + 1 for i in dict1.keys(): if i in dict2.keys(): if dict1[i] != dict2[i]: print('NO') break else: print('NO') break else: print('YES') 이 코드는 강의에 있는 개선 전의 딕셔너리 풀이 코드입니다. 개선의 문제가 아니라 이 코드 자체에 오류가 있는 거 같아요! str1이 AaBb이거 str2가 AaBbCc이면 답이 'NO' 여야하는데 'YES'로 나와요. 즉 dic1이 dict2에 포함관계이면 무조건 'YES'가 나오는 것 같습니다
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Order의 생성 메스드 관련 질문드립니다
Order에서 생성자 대신 createOrder를 사용하는 이유는 뭔가요? create에서 생성만 하는게 아니라 추가적인 작업이 있을 수 있어서 따로 메서드를 분리해놓은 것 같은데 제가 생각한게 맞나요? (이후에 order 생성시 추가적인 작업이 있을 수 있으므로)
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
travis-ci github sync문제
위와 같이 Syncing이라고만 뜨고 정작 sync는 안되고 있어요. 구글링해보니 로그아웃하고 재로그인하라는데... 그래도 잘 안되네요. 해결방법 있을까요?
-
미해결Vue.js 시작하기 - Age of Vue.js
props 넘겨주고 vue 개발자 도구에서 확인했을 때 질문합니다.
안녕하세요! 강의 듣다가 질문 드립니다. 강의에서 props를 하위 컴포넌트로 전달하고 뷰 개발자 도구로 확인했을 때, 하위 컴포넌트에서 'propsData'라는 이름의 속성과 'hi'라는 속성 값이 보이는 것을 봤습니다. 따라서 실습해봤는데, 저는 좀 다르게 보여서 질문 드립니다. props란에 'propsData'라는 이름의 속성값이 undefined라고 되어 있고, 밑에 $attrs란에 강의랑 같이 나옵니다. 왜 저는 props란에는 undefined라고 뜨고 $attrs란에 나오는 것인지 궁금합니다. 코드와 사진 같이 첨부합니다. [코드] <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <div id="app"> <app-header v-bind:propsData="message"></app-header> </div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script> const appHeader = { template: '<h1>header</h1>', props: ['propsData'] } const vm = new Vue({ el: '#app', components: { 'app-header': appHeader }, data: { message: 'hi' } }) </script> </body> </html> [강의 캡쳐] [제 화면 캡쳐]
-
미해결실전 인공지능으로 이어지는 딥러닝 개념 잡기
XOR 강의 중에 질문있습니다
XOR 강의를 진행하시던 중 처음에는 y^ = HX+b로 구하시다 갑자기 y^ = XHT(전치행렬) + b로 구하시는 부분이 있습니다 계속 HX + b로 구하지 않고 굳이 전치행렬 개념을 도입하면서까지 곱셈 순서를 바꾸는 이유가 궁금합니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
강의에서 하라는데로 따라했는데 적용이 되지 않습니다.
npm run backend를 하고나서 localhost로 들어가 index.js를 수정했는데도 restarting due to changes... 이것만 터미널에 나오고 강의영상처럼 starting node index.js가 나오지 않으면서 새로고침해도 적용이 되지 않습니다.
-
미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
UnboundLocalError에러에 대한 질문입니다.
이미 올라온 질문에 대한 선생님의 링크를 보았습니다. 그리고 이해를 해보았는데 제가 이해한게 맞는지 확인하고 싶어서 질문 드립니다. def func_v3(a): print(a) print(c) c = 40 수업시간의 예제입니다. 제가 이해한 바로는 함수가 실행되기 전에 파이썬은 func_v3 함수를 해석하여 c 를 로컬변수(로컬 네임스페이스)로 생각을 한다. 그리고 함수를 실행하는데 print(c) 차례에서 c가 아직 정의되지 않은 상태이기 때문에 UnboundLocalError가 생긴다 그래서 global 키워드를 사용해서 print(c) 이전에 전역변수임을 명시적으로 알려줘야 한다! 이렇게 결론을 내렸는데 맞는건가요? 항상 좋은 강의 감사드립니다.
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
module 'pandas_profiling' has no attribute '__version__'
안녕하세요. pandas profiling 에서 version 체크를 할 경우 계속해서 [module 'pandas_profiling' has no attribute '__version__'] 이처럼 오류가 발생합니다. 혹 stackoverflow 에 해결법이 있을것 같아 찾아보았지만(해당링크) 해도 안되네요. 참고로 conda 와 cmd 창에 pandas-profiling 을 설치할 경우 already satisfied 라고 나옵니다.
-
미해결홍정모의 따라하며 배우는 C언어
2차원 배열의 주소 관련 질문.
본강의의 코드중 int main() { //int a = 3; //int arr[a]; int data[ROWS][COLS] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 0, 1, 2} }; printf("%d\n", data[2][3]); int* ptr = &data[0][0]; printf("%d\n", *(ptr + 3 + COLS * 2)); return 0; } 위의 코드에서 int* ptr = &data[0][0] 부분이 헷갈리는데요. 교수님이 지난강의에서 설명 하셨던거 처럼 2차원 배열이더라도 결국에 메모리에는 1차원 으로 저장되어있기때문에 data, &data[0], &data[0][0] 3개가 모두 같습니다. 그런데 int* ptr = &data[0]를 하면 output에서 워닝이 발생하고 int* ptr = data도 워닝이 발생합니다. 지난강의를 다시 한번 더 복습했는데도 이해가 잘 안되네요 ㅜㅜㅜㅜㅜ;;;; 지금 포인터에서 계속 막히는데 프로그래밍은 그냥 관두는게 좋을까요? 아무래도 저는 이해가 계속 안되는거 같아서요.
-
해결됨1:1채팅 만들기(Android + Kotlin + Firebase)
Styles.xml file not showing
Styles.xml 파일은 어디서 찾을 수 있나요? App>res>values 디렉터리 안에는 colors.xml이랑 strings.xml파일밖에 안보여서요. 현재 사용하는 Android Studios는 Ver.4.1.1 입니다.
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
강의문서 오타 제보 드립니다.
안녕하세요 강사님 강의 문서 오타 제보 드립니다. 감사합니다.
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
혹시나 인텔리제이가 아니라 이클립스로 진행하시는 분을 위해....
1. build.gradle에 추가 // 14-1. queryDSL을 위한 dependency implementation 'com.querydsl:querydsl-jpa' implementation 'com.querydsl:querydsl-apt' /* 14-2. queryDSL을 위한 dependency를 받기 위해서 buildscript를 적어준다 */ buildscript { dependencies { classpath("gradle.plugin.com.ewerk.gradle.plugins:querydsl-plugin:1.0.10") } } /* 14-3. queryDSL plugin apply */ apply plugin: "com.ewerk.gradle.plugins.querydsl" /* 14-4. querydsl */ def querydslDir = 'src/main/generated' querydsl { library = "com.querydsl:querydsl-apt" jpa = true querydslSourcesDir = querydslDir } sourceSets { main { java { srcDirs = ['src/main/java', querydslDir] } } } compileQuerydsl { options.annotationProcessorPath = configurations.querydsl } configurations { querydsl.extendsFrom compileClasspath } 2. 1번을 다 입력했다면 gradle represh 한번 해주고 3-1. 첫번째 방법 (1) cmd 창을 켜서 프로젝트가 저장되어 있는 폴더 경로로 들어간다. -> 여기서는 D:\workspace(jpa)\shopJpa (2) .\gradlew build를 실행 (3) src 밑에 generated폴더가 생성된다. 3-2. 두번째 방법 (1) 이클립스 상단 메뉴에서 window 클릭 (2) Show View -> other -> gradle 검색 -> Gradle Task 클릭 (3) Gradle Task에서 해당 프로젝트를 더블클릭 (4) build 폴더로 가서 build를 선택 후 마우스 오른쪽 클릭 (5) Run Gradle Tasks를 클릭하면 src 밑에 generated 폴더가 생성된다. 4. 프로젝트에 새로 생긴 generated의 경로를 추가해줘야 사용 가능 (1) 프로젝트 우클릭 -> Properties ->Java build Path (2) Source 탭에서 Add Folder... 클릭 (3) src 밑에 새로 생긴 generated폴더 체크 후 확인 (4) apply 클릭 후 확인 (5) 이제 src/main/java에서 src/main/generated를 접근해서 사용할 수 있다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
orderList.html에서 검색시 전체회원만 조회가 됩니다.
orderList.htm에서 회원이름 및 주문상태를 선택한 후 검색을 누르면 OrderController orderList 메소드가 호출 되는데 orderSearch 객체의 멤버변수 모두 null로 입력이 되어 있어서 전체 회원 조회밖에 안되내요. @GetMapping(value = "/orders") public String orderList(@ModelAttribute("orderSearch") OrderSearch orderSearch, Model model) { List<Order> orders = orderService.findOrders(orderSearch); model.addAttribute("orders", orders); return "order/orderList"; } <!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org"> <head th:replace="fragments/header :: header"/> <body> <div class="container"> <div th:replace="fragments/bodyHeader :: bodyHeader"/> <div> <div> <form th:object="${orderSearch}" class="form-inline"> <div class="form-group mb-2"> <input type="text" th:field="*{memberName}" class="formcontrol" placeholder="회원명"/> </div> <div class="form-group mx-sm-1 mb-2"> <select th:field="*{orderStatus}" class="form-control"> <option value="">주문상태</option> <option th:each= "status : ${T(jpabook.jpashop.domain.OrderStatus).values()}" th:value="${status}" th:text="${status}">option </option> </select> </div> <button type="submit" class="btn btn-primary mb-2">검색</button> </form> </div> <table class="table table-striped"> <thead> <tr> <th>#</th> <th>회원명</th> <th>대표상품 이름</th> <th>대표상품 주문가격</th> <th>대표상품 주문수량</th> <th>상태</th> <th>일시</th> <th></th> </tr> </thead> <tbody> <tr th:each="item : ${orders}"> <td th:text="${item.id}"></td> <td th:text="${item.member.name}"></td> <td th:text="${item.orderItems[0].item.name}"></td> <td th:text="${item.orderItems[0].orderPrice}"></td> <td th:text="${item.orderItems[0].count}"></td> <td th:text="${item.status}"></td> <td th:text="${item.orderDate}"></td> <td> <a th:if="${item.status.name() == 'ORDER'}" href="#" th:href="'javascript:cancel('+${item.id}+')'" class="btn btn-danger">CANCEL</a> </td> </tr> </tbody> </table> </div> <div th:replace="fragments/footer :: footer"/> </div> <!-- /container --> </body> <script> function cancel(id) { var form = document.createElement("form"); form.setAttribute("method", "post"); form.setAttribute("action", "/orders/" + id + "/cancel"); document.body.appendChild(form); form.submit(); } </script> </html>