묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Model은 무엇을 가리키는 건가요?
Controller는 서블릿View는 템플릿 엔진Model은 Member 같은 객체를 의미한다고 생각했는데HttpServletRequest의 Attribute가 모델이라고 하셔서 질문 드립니다. Model은 무엇을 가리키는 것이고Member가 Model이 아니라면 무엇인가요?
-
미해결비전공 기획자 및 관리자를 위한 IT 필수 지식
안녕하세요. 수강신청하며 강의자료 부탁드립니다
안녕하세요!이런 강의가 있다니 정말 다행입니다 ㅎㅎ강의 자료도 부탁드리겠습니다 inhye0116@naver.com여기로 보내주세요 ㅎㅎ비전공자이지만 이 강의 듣고 공부해서 부족함 없는 기획자, 관리자가 되겠습니다 ㅎㅎ
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
로그에 대해 실무에서 저장방법
[질문 내용]실무에서는 로그를 파일로 저장하나요? 아니면 데이터베이스에 저장하나요? 궁금하네요
-
해결됨프론트엔드 개발환경의 이해와 실습 (webpack, babel, eslint..)
웹팩 버전
안녕하세요.현재 웹팩의 가장 최신버전이 5버전으로 알고 있는데,해당 강의에서는 4버전으로 진행하더라고요.제가 잘 몰라서 그런데.. 4버전으로 공부해도 상관은 없겠죠?
-
해결됨프론트엔드 개발환경의 이해와 실습 (webpack, babel, eslint..)
웹팩-cli 버전을 명시하지 않으면 왜 에러가 날까요?
안녕하세요? 웹팩 cli를 처음 깔아보는 수강생입니다..npm install -D webpack@4 webpack-cli위의 코드처럼 그냥 webpack-cli를 깔면, 에러가 발생하는데요...그래서수업시간에 webpack-cli를 버전3을 사용한다는 글을 보고, 다음과 같이 명령어를 바꿔서 쳐보았더니npm install -D webpack@4 webpack-cli@3정상적으로 설치가 되었습니다. 왜 버전을 명시해주지 않으면 에러가 발생하나요?
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
Verilog Module argument에 대해 질문이 있습니다.
안녕하세요.Vivado Xilinx에서 찾을 수 있는 'xilinx_true_dual_port_no_change_2_clock_ram'의 Verilog 코드를 분석하다가 막힌 부분이 있어서 질문을 드립니다.이해가 되지 않는 부분은 모듈의 인자값 addra, addrb의 정의부분입니다.해당코드는 메모리를 정의해주는 코드이기에 메모리의 Depth길이에 따라서 input으로 받는 Address의 길이를 모듈내에 정의된 함수 'clogb2'로 설정합니다.궁금한것은 모듈내부에 정의된 함수로 모듈 인자값을 설정할 수 있는 것이 궁금합니다.무엇보다 본 코드는 Xilinx에서 제공한 것인데, RTL코드를 Block Design 모듈로 불러올때 함수를 사용하는 부분에서 Error가 나옵니다.(단, clogb2(RAM_PEPTH-1)를 다른 숫자로 치환하면 Error는 없음) module xilinx_true_dual_port_no_change_2_clock_ram #( parameter RAM_WIDTH = 18, // Specify RAM data width parameter RAM_DEPTH = 2048, // Specify RAM depth (number of entries) parameter RAM_PERFORMANCE = "HIGH_PERFORMANCE", // Select "HIGH_PERFORMANCE" or "LOW_LATENCY" parameter INIT_FILE = "" // Specify name/location of RAM initialization file if using one (leave blank if not) ) ( input [clogb2(RAM_DEPTH-1)-1:0] addra, // Port A address bus, width determined from RAM_DEPTH input [clogb2(RAM_DEPTH-1)-1:0] addrb, // Port B address bus, width determined from RAM_DEPTH input [RAM_WIDTH-1:0] dina, // Port A RAM input data input [RAM_WIDTH-1:0] dinb, // Port B RAM input data input clka, // Port A clock input clkb, // Port B clock input wea, // Port A write enable input web, // Port B write enable input ena, // Port A RAM Enable, for additional power savings, disable port when not in use input enb, // Port B RAM Enable, for additional power savings, disable port when not in use input rsta, // Port A output reset (does not affect memory contents) input rstb, // Port B output reset (does not affect memory contents) input regcea, // Port A output register enable input regceb, // Port B output register enable output [RAM_WIDTH-1:0] douta, // Port A RAM output data output [RAM_WIDTH-1:0] doutb // Port B RAM output data ); reg [RAM_WIDTH-1:0] BRAM [RAM_DEPTH-1:0]; reg [RAM_WIDTH-1:0] ram_data_a = {RAM_WIDTH{1'b0}}; reg [RAM_WIDTH-1:0] ram_data_b = {RAM_WIDTH{1'b0}}; // The following code either initializes the memory values to a specified file or to all zeros to match hardware generate if (INIT_FILE != "") begin: use_init_file initial $readmemh(INIT_FILE, BRAM, 0, RAM_DEPTH-1); end else begin: init_bram_to_zero integer ram_index; initial for (ram_index = 0; ram_index < RAM_DEPTH; ram_index = ram_index + 1) BRAM[ram_index] = {RAM_WIDTH{1'b0}}; end endgenerate always @(posedge clka) if (ena) if (wea) BRAM[addra] <= dina; else ram_data_a <= BRAM[addra]; always @(posedge clkb) if (enb) if (web) BRAM[addrb] <= dinb; else ram_data_b <= BRAM[addrb]; // The following code generates HIGH_PERFORMANCE (use output register) or LOW_LATENCY (no output register) generate if (RAM_PERFORMANCE == "LOW_LATENCY") begin: no_output_register // The following is a 1 clock cycle read latency at the cost of a longer clock-to-out timing assign douta = ram_data_a; assign doutb = ram_data_b; end else begin: output_register // The following is a 2 clock cycle read latency with improve clock-to-out timing reg [RAM_WIDTH-1:0] douta_reg = {RAM_WIDTH{1'b0}}; reg [RAM_WIDTH-1:0] doutb_reg = {RAM_WIDTH{1'b0}}; always @(posedge clka) if (rsta) douta_reg <= {RAM_WIDTH{1'b0}}; else if (regcea) douta_reg <= ram_data_a; always @(posedge clkb) if (rstb) doutb_reg <= {RAM_WIDTH{1'b0}}; else if (regceb) doutb_reg <= ram_data_b; assign douta = douta_reg; assign doutb = doutb_reg; end endgenerate // The following function calculates the address width based on specified RAM depth function integer clogb2; input integer depth; for (clogb2=0; depth>0; clogb2=clogb2+1) depth = depth >> 1; endfunction endmodule
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2
안녕하세요 강사님.작업형2 확률 데이터를 구하는 문제에서문제 예시와 직접 출력한 데이터의 소수점 자릿수 차이가 많이 나는데 이대로 제출해도 상관이 없을까요?그리고 소수점 자릿수가 많이 출력 되는 이유는 무엇인가요?
-
미해결[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
varchar text 차이
[연습] 실제 데이터 기반, 데이터베이스 직접 만들어보기111:55데이터타입 varchar text 차이가 궁금합니다 '그리고 강의내에서 varchar의 경우 int와 달라서 auto_increment를 사용할수없다고 하셨는데 auto_increment는 숫자에만 가능해서 그런건가요?
-
해결됨프론트엔드 개발환경의 이해와 실습 (webpack, babel, eslint..)
import해오는 두가지 방법에 대해 제가 잘 이해한건지 확인받고 싶습니다!!
강사님께서, 수업중에 import해오는 방법을 두가지를 언급하셨는데요,import * as math from './math.js'; // [방법1] 모든 export를 math라는 객체로 가져오기 import { sum } from './math.js'; // [방법2] sum함수만 가져오기방법1로 import할 경우, sum함수를 사용하기 위해서 math.sum(,) 이렇게 써야하지만,방법2로 import할 경우, 그냥 바로 sum(,)으로 사용하면 되나요? 저는 일단 그렇게 이해하고 있는데그러면 import * as math1 from './math1.js'; import * as math2 from './math2.js';이렇게 math1.js와 math2.js에서 각각 sum함수를 만들고, 그걸 app.js에서 위와 같이 import해서 사용했을 때,math1.sum(,) 그리고 math2.sum(,) 이렇게 쓰면 되니깐, 이름이 sum으로 같아도 충돌이 안나겠네요? 그러나 방법2방식으로 import { sum } from './math1.js'; import { sum } from './math2.js';이렇게 가져온다면, 둘다 sum(,)으로 호출하게 되니깐, 이름 충돌이 발생하겠네요?제가 이해한것이 맞는지 확인부탁드려요ㅠㅠ
-
해결됨클릭만으로 웹페이지 만들기 - 한국인이 좋아하는 속도로 때려넣는 워드프레스
Spoonacular Food Api를 워드프레스에 넣고싶습니다
이런 질문을 드려도 되는지 모르겟지만 이 api를 토대로 원하는 음식을 검색하면 해당 음식 재료들이 나오게 하고 싶은데 이게 강사님이 강의하신 구글 클라우드 기반으로 만든 워드프레스로 가능한가요?
-
미해결홍정모의 따라하며 배우는 C++
전처리기 질문
#include <iostream> #include <algorithm> using namespace std; #define MY_NUMBER 333 #define MAX(a, b) (((a) > (b)) ? (a) : (b)) //#define LIKE_APPLE void doSomething() { #ifdef LIKE_APPLE cout << "Apple " << endl; #endif #ifndef LIKE_APPLE cout << "Orange" << endl; #define LIKE_APPLE doSomething(); return; #endif } int main() { doSomething(); //cout << MAX(1+3+4-3,2) << endl; //cout << std::max(1 + 3, 2) << endl; return 0; }위에서 doSomething()안에서 LIKE_APPLE이 정의되어있지 않았을 시, #define LIKE_APPLE로 정의를하고싶은데, 불가능한가요? GPT를 돌려도 원하는 답이 나오지 않아서,,,,
-
해결됨Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
Dynamic Slot
안녕하세요 강사님!다이나믹 슬롯 관련해서 제가 생각하고 있는게 맞는건지 궁금해서 질문을 드립니다!다이나믹 라우터를 #[반응형데이터] 이런식으로 하면 동적으로 변경할 수 있고 v-bind나 v-on같은 이벤트에도 사용할수 있다고 하셨는데요그렇다면 반응형데이터를 사용하는 경우는 조건에 따라 리턴되는 값에 따라서 다이나믹 슬롯으로 사용할 수 있다는 건지 그게 궁금합니다..디테일한 강의를 해주셔서 정말감사합니다!
-
미해결자바 코딩테스트 - it 대기업 유제
심사위원 시간복잡도
이렇게 작성했는데, 시간 복잡도에 걸리지 않게 작성한것이 맞나요?? import java.util.*; class Main { public int solution(int[] score, int k){ int answer = 0; Arrays.sort(score); int sum=0; ArrayList<Integer> ans = new ArrayList<>(); //k개 원소를 담을 리스트 for(int i=0; i<score.length; i++) { //배열을 처음부터 탐색한다. int diff = score[i+k-1] - score[i]; //앞 뒤 원소의 차이를 구한다. if(diff<=10) { //만약 그 차이가 10이하이면 int cnt=0; //개수를 세기위한 변수 int j=i; //i번째 원소부터 시작해서 리스트에 담는다. while(true) { //10이하의 경우에서 제일 첫번째로 찾는게 정답이다. if(cnt==k) break; //k개만큼 담았으면 반복문 멈춘다. ans.add(score[j++]); //답에 해당하는 원소들을 ans에 담아준다. cnt++; } break; } } sum=0; //원소들의 합계를 구하기 위한 변수 for(int i=0; i<ans.size(); i++) { sum+=ans.get(i); } answer = (int)sum/k; return answer; } public static void main(String[] args){ Main T = new Main(); System.out.println(T.solution(new int[]{99, 97, 80, 91, 85, 95, 92}, 3)); System.out.println(T.solution(new int[]{92, 90, 77, 91, 70, 83, 89, 76, 95, 92}, 4)); System.out.println(T.solution(new int[]{77, 88, 78, 80, 78, 99, 98, 92, 93, 89}, 5)); System.out.println(T.solution(new int[]{88, 99, 91, 89, 90, 72, 75, 94, 95, 100}, 5)); } }
-
해결됨[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
카프카 클러스터 ID 충돌 이슈가 있습니다.
처음에 강의를 보면서 주키퍼와 브로커를 띄우면 문제없이 실행되는데, 다음날 다시 실행하려고 하면 kafka.common.InconsistentClusterIdException: The Cluster ID 8Q9ArKFaQjG9sOAyuBI3DQ doesn't match stored clusterId Some(golWFU1QQCWt7dC6LX9zhw) in meta.properties. The broker is trying to join the wrong cluster. Configured zookeeper.connect may be wrong.위와 같은 메시지가 뜨면서 브로커가 실행을 못합니다. data 디렉토리에 생성된 meta.properties를 삭제하고 다시 실행하면 문제없이 동작하는데, 번거롭기도 하고, 실제로도 이렇게 사용하는게 맞는건가 하는 의문도 드네요. 해당 부분에 대해 조언 좀 부탁드리겠습니다. :)
-
미해결
회사에 제출 할 서류가 필요합니다.
회사에 교육 결과 보고서를 제출해야 합니다.몇 가지 서류가 필요합니다.(교육기관)의 사업자등록증(교육기관)의 통장 사본위 두 서류를 아래의 메일로 보내주시면 감사하겠습니다.tortoise8947@gmail.com
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
JdbcMemberRepository와JdbcTemplateMemberRepository 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. build.gradle입니다찾아보니https://www.inflearn.com/questions/589975/jdbcmemberrepository-%EC%97%90%EB%9F%AC해당 결과와 똑같은 증상인 것 같은데 해결방안을 찾지 못했습니다.
-
해결됨ElasticSearch Essential
전체 노드가 아닌 하나의 노드를 내릴때 샤드 할당 제한
안녕하세요, 수강생인데 궁금한점이 있어서 문의드립니다.제가 마스터 노드 3, 데이터 노드 5대를 구성하고 운영하고있는데,전체 노드를 내리고 올릴때마다 샤드 할당을 persistent: cluster.routing.allocation.enable: "primaries",로 제한하고 인덱싱 서비스 중지하고 POST /_flush 다시 올리고 난 뒤 none으로 풀었습니다.궁금한점은 전체 노드가 아니고 일부노드(ex 데이터 노드 3번등)를 내리고 올릴때도 샤드 할당 제한이 필요한가요? 전체 노드 내리고 올릴떄는 샤드 리밸런싱 방지를 위해서 샤드 할당을 제한한건데 일부 노드만 내리고 올리면 샤드 리밸런싱이 발생하지 않아 샤드 제한이 필요할 것같진 않아서요. 공식문서에서도 "full"-cluster라고 되어있어요.. 확실하게 알고싶어서 질문드립니다!감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 최종 타겟 데이터 관련 질문
안녕하세요. 질 좋은 강의 덕에 이제 작업형2를 나름 능숙하게 잘 수행하고 있습니다.다만 최종 데이터를 선택하는 방법이 헷갈리네요. 최종 예측결과가 2개의 컬럼으로 표현될 때그냥 하던대로 pred[ : , 1]로 roc_auc_score를 확인하고 있는데요. 첫번째 컬럼으로 제출해야되는 상황이 문제에 따라 생길 것 같은데문제에서 설명해주는 내용이 조금 난해합니다 ㅠㅠ
-
해결됨[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
강의 잘 듣고 있습니다~!
import datetimeimport pausefrom selenium import webdriverfrom selenium.common import WebDriverExceptionfrom selenium.webdriver.chrome.service import Servicefrom selenium.webdriver.common.by import Byfrom webdriver_manager.chrome import ChromeDriverManagerchromedriver_path = r'C:\workspace\chromedriver.exe'# 브라우저 생성# mac 의 경우 /User/내거로/Documents/chromedriverbrowser = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=webdriver.ChromeOptions())# 카페 열기browser.get('https://cafe.naver.com/joonggonara')# 2023년 6월 13일 10시 25분 00초까지 대기# pause.until(datetime.datetime(2023, 6, 14, 9, 29, 00))# 게시판 선택browser.find_element(By.ID, 'menuLink2418').click()# 게시판의 광고글 제외 글 들 가져오기list = browser.find_elements(By.CSS_SELECTOR, '#main-area > div:nth-child(4) > table > tbody > tr:nth-child(1) > td.td_article > div.board-list > div > a')print(list)# 게시판의 첫 번째 글 입장안녕하세요 크롤링 초보입니다.네이버 카페에서 정해둔 게시판에 들어가 각 글들을 들어가서 확인하는 프로그램을 개인적으로 만들어보고자 하는데 #게시판의 광고글 제외 글 들 가져오기부분에서 리스트에 담지 못하고 있어요 강의 내용 중 없는 부분이긴 하지만 3일동안 해결하지 못해서 여기에 올려봅니다 ㅠㅠ - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
T1-9 코드
import pandas as pd import numpy as np df = pd.read_csv('../input/bigdatacertificationkr/basic1.csv') mean = df['f5'].mean() std = df['f5'].std() standard = (df['f5'] - mean) / std print(standard.median()) 강사님 위와같이 Z정규화 공식을 직접 만들어 대입했는데 풀이의 정답과는 유사하지만 소수점이 살짝 다르게 나옵니다. 제 공식이 잘못된걸까요?제 풀이의 정답: 0.2593132572746011풀이 정답: 0.260619629559015