묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[React 2부] 고급 주제와 훅
ProductPage import 할 때, from index.jsx가 아닌 이유
안녕하세요. 강의 재밌게 듣고 있습니다! App.jsx에서 import ProductPage from "./pages/ProductPage" 부분에서 실제 코드는 index.jsx에 작성되어 있는데 디렉터리명인 ProductPage로 경로를 지정해도 동작하는 이유가 궁금합니다.
-
해결됨QGIS 파이썬 자동화 (벡터편) Ver.2
스크립트 불러오기
다음 이미지의 우측처럼 작성된각 기능의 스크립트를 확인하려면 어떠한 경로에서 파일을 찾아 불어오면 될까요??예를 들어 '래스터자르기'의 스크립트를 확인하고 싶으면processing.algorithmHelp('ID')에서는 기능의 설명은 제시되어 있으나 해당 작업이 실행되는 스크립트는 확인할 수 없는데...답변을 받을 수 있을까요?제가 수업 중 놓친 부분이라면 죄송하지만 어느 커리큘럼에서 다루어 주시는지 한번 더 알려주시면 감사하겠습니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
PUT, PATCH 리소스에 대해서
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]안녕하세요.수업을 듣다가 PUT과 PATCH에서 리소스 판단 기준이 헷갈려서 질문드립니다.만약 user 테이블이 있고 테이블에 컬럼이 user_id, user_name, user_pw, user_nickname 이 있습니다.그리고 form 태그를 통해서 회원정보 수정을 하려고 할 때, user_pw와 user_nickname만 수정할 수 있게 두 컬럼에 대해서만 input 태그가 있습니다. input 태그에는 초기값으로 원래의 값이 들어가 있습니다.이 때, 사용자가 둘 중에 어느 것을 바꾸든 form 태그에 있는 전체 데이터를 보낸다고 할 때(바꾸지 않은 값은 초기값으로 보내집니다), 리소스를 user_pw, user_nickname으로만 보고 두 정보를 다 교체하니 PUT으로 봐야할까요? 아니면 리소스를 user 테이블 전체로 보고 user 테이블 중에 두 컬럼만 바꾸니 PATCH로 하는 게 맞을까요??
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
Simulation waveform 활성화 안됌
Simulation waveform 활성화가 되지않습니다.=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
미해결
제발 도와주세요ㅜㅠ
import numpy as np from keras.models import Sequential from keras.layers import Dense, Dropout, Flatten, LSTM from keras.layers import BatchNormalization from keras.initializers import he_normal !pip install np_utils import np_utils from tensorflow.keras.utils import to_categorical from google.colab import drive drive.mount('/content/drive') [train_x, train_y, test_x, test_y] = np.load('/content/drive/MyDrive/LSTM_disaster_prediction_data.npy', allow_pickle = True) X_train = train_x.astype('float32') X_test = test_x.astype('float32') X_train = np.transpose(X_train,(0,2,1)) X_test = np.transpose(X_test,(0,2,1)) y_train = to_categorical(train_y, num_classes=num_classes) y_test = to_categorical(test_y, num_classes=num_classes) num_classes = y_train.shape[1] model = Sequential() model.add(LSTM(units = 4, return_sequences = True, input_shape = (168, 12))) model.add(LSTM(units = 1, return_sequences= True)) model.add(BatchNormalization()) model.add(Dense(64,activation = 'relu', kernel_initializer = 'he_normal')) model.add(Dropout(0.25)) model.add(Dense(num_classes, activation = 'softmax')) model.summary() model.compile(loss = 'categorical_crossentropy', optimizer = 'adam', metrics = ['accuracy']) model.fit(X_train, y_train, epochs = 5, batch_size = 16, verbose = 1, validation_data=(X_test, y_test)) test_loss, test_accuracy = model.evaluate(X_test, y_test) print('검증결과') print('test loss = ', test_loss) print('test accuracy = ', test_accuracy) ValueError: Shapes (None, 3) and (None, 168, 3) are incompatible이렇게 뜨는데 어떻게 고쳐야할지 모르겠어요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
-
미해결파이썬 무료 강의 (활용편6) - 이미지 처리 (OpenCV)
Trackbar 값 변화가 안되는분들
갱신이 안되어서 empty 함수에서 변경하는걸로 바꾸니 되네요 버전은 cv2 4.8.1 입니다.import cv2 def change_trackbar(pos): thresh = cv2.getTrackbarPos('threshold', name) # Bar 이름, 창의 이름 ret, binary = cv2.threshold(img, thresh, 255, cv2.THRESH_BINARY) cv2.imshow(name, binary) img = cv2.imread('book.jpg', cv2.IMREAD_GRAYSCALE) name = 'Trackbar' cv2.namedWindow(name) cv2.createTrackbar('threshold', name, 127, 255, change_trackbar) # Bar 이름, 창의 이름, 초기값, 최대값, 이벤트 처리 cv2.waitKey(0) cv2.destroyAllWindows()참고하세용
-
미해결스프링 부트 - 핵심 원리와 활용
프로메테우스 configuration, target에 springboot-actuator가 인식되지 않습니다.
강의를 따라하는 중 localhost:9090/config를 들어가면global: scrape_interval: 15s scrape_timeout: 10s evaluation_interval: 15s alerting: alertmanagers: - follow_redirects: true enable_http2: true scheme: http timeout: 10s api_version: v2 static_configs: - targets: [] scrape_configs: - job_name: prometheus honor_timestamps: true track_timestamps_staleness: false scrape_interval: 15s scrape_timeout: 10s metrics_path: /metrics scheme: http follow_redirects: true enable_http2: true static_configs: - targets: - localhost:9090로 나옵니다.추가적으로 강의를 따라하고 있는 yml파일과 prometheus.yml 파일도 첨부하겠습니다. # actuator 설정 management: server: port: 8080 info: java: enabled: true os: enabled: true env: enabled: true endpoint: shutdown: enabled: true # shutdown 기능 킴 health: show-details: always endpoints: web: exposure: include: "*" info: app: name: hello-actuator company: house server: tomcat: mbeanregistry: enabled: true servlet: encoding: charset: UTF-8 enabled: true force: true logging: level: h.actuator.controller: debug 프로메테우스.ymlglobal: scrape_interval: 15s evaluation_interval: 15s alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 rule_files: scrape_configs: - job_name: "prometheus" static_configs: - targets: [ "localhost:9090" ] #추가 - job_name: "spring-actuator" metrics_path: '/actuator/prometheus' scrape_interval: 1s static_configs: - targets: [ 'localhost:8080']입니다. 혹시 제가 잘못 따라간 부분이 있을까요?마지막으로 mac os m1 사용 중이고, spring boot 3.2 jdk 17 버전입니다!
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
Begin end 사용
안녕하십니까 수업을 듣던 중 궁금한 점이 생겨서 질문 남깁니다. Always ~~~ begin End Always~~~begin End 는 always 문이 두개라 사용의 이유가 납득이 되는데Always 문안에서 if문이 한번 사용되는데 begin을 쓰신 이유가 궁금합니다.예를들어) Case2.에서 (확실히 나와있는게 case2)Always ~~~ beginIf ~~ beginEnd else beginEndEnd 가 이해가 가지 않습니다. “Always ~~~~beginIf ~~~~~Else ~~~~End“ 하면 똑같지 않나요 ?=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
해결됨Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
modal 컨포넌츠 등록 문의
앞서 App.vue에선,import TodoHeader from './components/TodoHeader.vue'하여components: { 'TodoHeader': TodoHeader, },이렇게 컴포넌츠를 등록했습니다. 그런데 왜 모달은 TodoInput.vue 파일에서components: { popModal: popModal, },이렇게 작은따옴표('') or 큰따옴표("")를 사용하지 않고 등록하는건가요? (정상작동은 합니다~!)
-
미해결자바 코딩테스트 - it 대기업 유제
문제풀이 확인 부탁드립니다.
package com.company.대기업유제.그래프; import java.util.*; class 교육과정 { public String[] solution(String[] subjects, String[] course){ String[] answer = {}; /** * n개의 교육과정 수료해야함 * 교육과목에는 선수과목이 있다. * 선수과목 관련해서는 위상정렬을 사용한다. * n개의 과목을 모두 이수할수있는 순서를 배열에 담아 반환 * (답이 여러개면 그 중 아무거나 반환) 위상정렬의 특징 * subjects : n개의 과목 목록 * course : 선수과목 정보 * */ //먼저 선수과목을 구분하기 위해 노드들을 생성 Map<String, Node> nodes = createNodes(subjects, course); //후위순회로 탐색 LinkedList<String> result = new LinkedList(); Set<Node> discovered = new HashSet<>(); for (var entry : nodes.entrySet()) { if(!discovered.contains(entry.getValue())){ DFS(entry.getValue(), result, discovered); } } return result.toArray(String[]::new); } private void DFS(Node node, LinkedList<String> result, Set<Node> discovered) { discovered.add(node); for (Node next : node.nexts) { if(!discovered.contains(next)){ DFS(next, result, discovered); } } result.addFirst(node.name); } private Map<String, Node> createNodes(String[] subjects, String[] course) { Map<String, Node> nodeMap = new HashMap<>(); for (String subject : subjects) { nodeMap.put(subject, new Node(subject)); } for (String s : course) { String[] split = s.split(" "); //선수과목 String parent = split[1]; // parent -> child String child = split[0]; Node parentNode = nodeMap.get(parent); Node childNode = nodeMap.get(child); parentNode.nexts.add(childNode); } return nodeMap; } class Node{ public Node(String name) { this.name = name; } final String name; Set<Node> nexts = new HashSet<>(); //하위 과목 } public static void main(String[] args){ 교육과정 T = new 교육과정(); System.out.println(Arrays.toString(T.solution(new String[]{"english", "math", "physics", "art", "music"}, new String[]{"art math", "physics art", "art music", "physics math", "english physics"}))); System.out.println(Arrays.toString(T.solution(new String[]{"art", "economics", "history", "chemistry"}, new String[]{"chemistry history", "economics history", "art economics"}))); System.out.println(Arrays.toString(T.solution(new String[]{"math", "science", "music", "biology"}, new String[]{"science music", "math music", "math science", "biology math"}))); } }
-
미해결비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
이미지 부분에 cctv 영상을 넣고 싶은데요.
이미지 부분에 cctv 영상을 구현하고 싶은데, 혹시 .... api를 연동해서 어떻게 연결하면 되는지 알 수 있을까요?
-
해결됨냉동코더의 알기 쉬운 Modern Android Development 입문
RecyclerView.Adapter vs ListAdpater
안녕하세요.ListAdapter로 리사이클러뷰를 생성할 때의 장점으로는 notify관련 함수를 개발자가 일일이 설정해줄 필요가 없고, DiffUtil을 통해 데이터 셋의 차이를 빠르게 계산해준다는 점이 있다라고 말씀해주셨는데 ... 그럼 기존의 Recyclerview.Adapter는 사용하지 않는 편이 더 좋은걸까요? 아니면 ListAdapter에 이러한 장점들이 있음에도 불구하고 Recyclerview.Adapter가 꼭 쓰여야하는 특별한 상황이 남아있을까요?
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
alert Store - composable 이중으로 들어가는 이유
안녕하세요. 해당 강의에서 alert Store를 만들고 적용할 때 기존 composable파일에서 alertStore파일을 연결하는데 템플릿 파일에서 직접 alertStore로 접근하지 않고(예시의 counter처럼) composable파일을 통해 우회 접근한 이유가 있을까요? 단지 기존 composable파일을 물고있는 파일들의 수정소요때문이라면 각 파일들이 store를 직접 바라봐도 상관없는건지, 아니면 추후 유지보수 등의 이유로 의도적으로 한번 건너서 접근한것인지 궁금합니다
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
401 에러
splash screen에서 await Storage.write 하여 accessToken 을 작성해주었으나 그대로 401 에러 발생합니다. 아래 사진은 data가 없다고 하여 그대로 진행하였으나, 401에러로 인해 화면에 아무것도 보이지 않는 상황입니다
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
제이쿼리에서 focus와 click의 차이
jQuery에서 '클릭한다'는 동작의 실행 코드로 맨 위에서는 focus를 사용했고, 아래에서는 click을 사용하신 것은 input에 사용할때와 아닐 때의 차이인 것인가요?
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
이더넷(Ethernet) 가상화
안녕하세요, 선생님. L2관련 질문입니다. osi 7계층에서 data link(L2)를 구현한 Ethernet 프로토콜은 H/W를 통해 물리적으로 설명이 되는 네트워크라고 이해했습니다. 또, 선생님께서 L2는 보통 Driver와 NIC 펌웨어에 해당된다고 하셨는데요,(섹션0. 유저모드와 커널모드) 그럼 이더넷은 가상화를 통해 Virtual machine 형태로 구현이 된 것으로 볼 수 있나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
editForm에러 ㅠㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]https://drive.google.com/file/d/1GiCM0Ws2CjXRwfZDbpFkAOVjx7kcYOhw/view?usp=sharing 상품상세에서 상품수정을 누르면 500에러가 뜹니다 !! 도저히 원인을 못 찾겠네요 ㅠㅠ
-
미해결자바 코딩테스트 - it 대기업 유제
혼자서 푼 문제 확인 부탁드립니다.
package com.company.대기업유제.그래프; import java.util.HashMap; import java.util.Map; import java.util.PriorityQueue; class 공굴리기 { public int solution(int[][] board, int[] s, int[] e) { /** * n * m 격자판 * 0은 빈공간 1은 벽 * * 공은 격자의 상하 좌우 네방향으로 빈공간을 이동할수있음 벽을 만나면 멈춘다. * s 공의 위치 * e 공의 목표지점 * 목표위치까지 최단거리 ㄱ * 목표지점까지 도달못하면 -1 * * */ int[] dx = {-1, 0, 1, 0}; int[] dy = {0, -1, 0, 1}; PriorityQueue<Candidate> queue = new PriorityQueue<Candidate>(); Map<String, Integer> minPosMap = new HashMap<>(); Pos first = new Pos(s[1], s[0]); for (int i = 0; i < 4; i++) { queue.add(new Candidate(first, 0, i)); } while (!queue.isEmpty()) { int size = queue.size(); for (int i = 0; i < size; i++) { Candidate candi = queue.poll(); Pos poll = candi.pos; //벽을 만나지 않았으면 가던 방향으로 계속 이동 if(!candi.frontWall(board, dx, dy)){ Pos newPos = new Pos(candi.pos.x + dx[candi.direction], candi.pos.y + dy[candi.direction]); Candidate newCandi = new Candidate(newPos, candi.cnt + 1, candi.direction); Integer basePrice = minPosMap.getOrDefault(newPos.getName(), Integer.MAX_VALUE); if (basePrice < newCandi.cnt) continue; queue.add(newCandi); minPosMap.put(newPos.getName(), newCandi.cnt); }else{ //벽을 만나면 그때 방향 돌리기 //벽을 만났을때만 목표지점 체크하기 if (poll.x == e[1] && poll.y == e[0]) { // print(board); return minPosMap.getOrDefault(poll.getName(), Integer.MAX_VALUE); } for (int j = 0; j < 4; j++) { int moveX = dx[j] + poll.x; int moveY = dy[j] + poll.y; if (moveX < 0 || moveY < 0 || moveX >= board[0].length || moveY >= board.length) continue; // * 0은 빈공간 1은 벽 if(board[moveY][moveX] == 1) continue; Pos newPos = new Pos(moveX, moveY); Candidate newCandi = new Candidate(newPos, candi.cnt + 1, j); Integer basePrice = minPosMap.getOrDefault(newPos.getName(), Integer.MAX_VALUE); if (basePrice < newCandi.cnt) continue; queue.add(newCandi); minPosMap.put(newPos.getName(), newCandi.cnt); } } } } return -1; } public void print(int[][] board){ for (int i = 0; i < board.length; i++) { for (int j : board[i]) { System.out.print(j + " "); } System.out.println(); } } class Pos { int x; int y; public Pos(int x, int y) { this.x = x; this.y = y; } public String getName() { return x + "" + y; } } class Candidate implements Comparable<Candidate> { Pos pos; int cnt; int direction; public Candidate(Pos pos, int cnt, int direction) { this.pos = pos; this.cnt = cnt; this.direction = direction; } public boolean frontWall(int[][] board, int[] dx, int[] dy){ int moveX = dx[direction] + pos.x; int moveY = dy[direction] + pos.y; if (moveX < 0 || moveY < 0 || moveX >= board[0].length || moveY >= board.length) return true; // * 0은 빈공간 1은 벽 if(board[moveY][moveX] == 1) return true; return false; } @Override public int compareTo(Candidate o) { return this.cnt - o.cnt; } } public static void main(String[] args) { 공굴리기 T = new 공굴리기(); System.out.println(T.solution(new int[][]{{0, 0, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0}, {1, 0, 1, 1, 1, 0}, {1, 0, 0, 0, 0, 0}}, new int[]{1, 0}, new int[]{4, 5})); System.out.println(T.solution(new int[][]{{0, 0, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0}, {1, 0, 1, 1, 1, 0}, {1, 0, 0, 0, 0, 0}}, new int[]{0, 0}, new int[]{4, 2})); System.out.println(T.solution(new int[][]{{1, 0, 1, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 1, 0}, {1, 1, 0, 1, 1}, {0, 0, 0, 0, 0}}, new int[]{0, 3}, new int[]{4, 2})); System.out.println(T.solution(new int[][]{{0, 1, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0}, {0, 1, 1, 0, 1, 1}, {0, 0, 0, 0, 0, 0}}, new int[]{0, 0}, new int[]{4, 5})); System.out.println(T.solution(new int[][]{{0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0}}, new int[]{0, 0}, new int[]{4, 3})); } } 문제를 다 이해했다고 생각했는데 한참 헤맸네요.. ㅜㅜ AI인턴이 어떻게 동작하는지 모르겠지만 AI로 답변 달아주셔도 됩니다.
-
미해결게임 엔진을 지탱하는 게임 수학
곱집합이 외적 인가요?
고등학교때 배웠던 개념과 비슷한거 같은데 용어만 다른것인지... 궁금합니다!
-
미해결MERN STACK 커뮤니티 : 시작부터 배포까지 알려주는 React
네이버 클라우드를 사용하지 않는 사람은 외부저장소~env 까지 따라하지 않아도 되죠?
궁금합니다