묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
4:58 이중for문 질문있습니다.
"정렬이 된 원소의 이전 원소보다 하나 이전의 원소까지 순회해야합니다" 라는 말이 잘 이해가 안가서 그러는데 [3, 2, 1, 4] 기준으로 4가 정렬이 된 원소이고, 배열의 나머지 원소가 모두정렬을 하기 위해선 두번째 원소인 2까지는 순회해야지 세번째 원소의 1과 비교해서 정렬해준다는 말로 이해하면 될까요??정렬된 원소의 -2 번째(인덱스 0부터 -2번쨰원소)까지 순회해야하고, -2번째까지로 범위를 잡는 이유는 -1번째는 비교대상이기때문에 비교후에 정렬이 되기때문이 맞을까요???
-
미해결FastAPI 완벽 가이드
pydactic 5강의 ValidationError의 인스턴스에 대한 질문입니다.
ValidationError가 valueerror보다 인스턴스 생성하기가 쉽지 않기 때문에 valueerror를 사용하셨다고 말씀하신 부분이 있는데, 어떤 부분의 어려움이 있는 것인지 좀 더 자세히 알고 싶어 질문을 드립니다. 검색으로 해당 부분에 대한 내용을 찾아 보려 했으나 잘 이해하지 못한 상태인 제가 선정할 수 있는 검색어들 자체가 모호하여 정확한 결과를 얻기가 힘들었습니다.
-
미해결[2024 업데이트] UX/UI 시작하기 : Figma 입문 (Inflearn Original)
자료 다운로드 방법
수업 자료를 다운로드하려고 https://www.figma.com/@inflearn 에 들어가서 [업데이트]라고 된 것 3가지를 다운받으려 하는데 자료를 어떻게 다운받는지 모르겠어요. 편집화면? 비슷한 것만 나와요.제가 피그마를 하나도 몰라서 ... 어떻게 할 지 모르겠습니다.기존 글을 찾아보니 인프런에서 다운로드 하는 방법도 있던데 만약 이것도 가능하면 어떻게 찾아가는지 알려주세요.
-
해결됨이해하면 인생이 바뀌는 Windows API hook
IAT Hook 기술 개요 에서 질문이있습니다.
안녕하세요 강사님MyMessageBox안에서는 MessageBoxW를 쓴 이유를 제가 제대로 이해한게 맞나요?MessageBoxA로 바꾸니까 stack overflow 가 생기는것 까지는 확인하였습니다.iat hook으로 인해MessageBoxA 호출 -> IAT 에서 메모리 참조 -> MyMessageBox -> MessageBoxA호출 -> .. 무한 반복될뻔한것을MessageBoxA 호출 -> IAT 에서 메모리 참조 -> MyMessageBox -> MessageBoxW호출 후 그냥 return 0 -> main으로 무사히 돌아옴 이렇게 된건가요?
-
해결됨실전 연습으로 익히는 고급 타입스크립트 기술
설명 블로그에 대한 질문
안녕하세요 수업 잘 듣고 있습니다 설명 블로그가 닫혀 있어서 열리지 않네요..
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
앱 글로벌 배포 질문드립니다.
효과적으로 다국어 처리하는 과정을 말씀해주셨는데 강사님께서는 모든앱을 글로벌 출시를 기준을 잡고 앱개발을 하시나요? 글로벌 출시를 할 경우와 국내 타겟팅 만 할 경우 광고 수익은 어떤지도 궁금하네요. 또 글로벌 출시를 할때의 팁이 또다른것들이 있을까요?
-
미해결스프링 핵심 원리 - 고급편
빈 후처리기에 프록시 객체 질문 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 강사님훌륭한 강의 항상 잘 보고 있습니다.다름이 아니라, 이번에 빈 후처리기와 프록시 패턴에 대해 질문이 있습니다. 아래와 같이 빈 후처리기에서 A 객체를 A 프록시로 바꿔치기 해서 스프링 빈에 저장하고, A 프록시를 싱글톤으로 관리한다라고 이해했습니다. 이때, 궁금한 부분이A 프록시가 A 객체를 상속받아서, 부가기능인 advisor 기능을 추가한 A 프록시라는 객체를 새롭게 생성해서 스프링 빈으로 등록을 한다라고 이해하면 되는건가요?예를 들어, A 클래스가 A 메소드만 구현한 클래스라면A 프록시 객체는 A메소드와 A advisor라는 부가기능이 추가된 클래스같은 형태로 구현되고, 스프링 빈으로 등록된다고 이해를 하면 되는건가요?? 왜냐하면, 제가 이해한게 맞다면, 아래와 같이 proxy가 advisors를 호출한 뒤에, target을 호출한다는 개념이 잘 이해가 되질 않습니다. proxy가 target의 비지니스 로직도 가지고 있고, advisor도 가지고 있는 객체라서 proxy에서 내부적으로 로직을 다 처리하면 되는 것 아닌가요?? 설명 부탁드립니다 감사합니다
-
미해결Airflow 마스터 클래스
Email Operator: ConnectionRefusedError
안녕하세요,Email Operator 수행 과정에서 실행 버튼을 누르고 나면 다음과 같은 에러가 나타납니다.ConnectionRefusedError: [Errno 111] Connection refused어떻게 해결해야 할까요?
-
해결됨코드로 배우는 React 19 with 스프링부트 API서버
로그가 안찍히네요..
package org.zerock.apiserver.service; import lombok.extern.log4j.Log4j2; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.zerock.apiserver.DTO.PageRequestDTO; import org.zerock.apiserver.DTO.TodoDTO; import org.zerock.apiserver.Service.TodoService; import java.time.LocalDate; @SpringBootTest @Log4j2 public class TodoServiceTests { @Autowired TodoService todoService; @Test public void testGet() { Long tno = 50L; log.info(todoService.get(tno)); } @Test public void testResister() { TodoDTO todoDTO = TodoDTO.builder() .title("Title...") .content("Content...") .dueDate(LocalDate.of(2023,12,30)) .build(); log.info(todoService.resister(todoDTO)); } @Test public void testGetList() { PageRequestDTO pageRequestDTO = PageRequestDTO.builder().build(); log.info(todoService.getList(pageRequestDTO)); } } 마지막 테스트를 진행하는데 로그가 안찍히네요...2024-12-02T17:01:47.099+09:00 INFO 13948 --- [ Test worker] o.z.apiserver.service.TodoServiceTests : org.zerock.apiserver.DTO.PageResponseDTO@4dea763c이런식으로만 찍히는데.. 원래 위에 테스트들은 문제없이 잘 됐는데 왜 안되는걸까요?
-
미해결데이터 분석 SQL Fundamentals
제발...오류가 계속 납니다
uninstaller로 삭제하고 터미널에서도 2차 확인하고 다시 설치후에 비밀번호를 작성하였는데도 안됩니다.제발 도와주세요,,,, .
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
개인 프로젝트 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)아니오2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]여기에 질문 내용을 남겨주세요. 개인 프로젝트 진행중 해당 부분과 같이 프론트측에 Dto를 전송하려 합니다. 아래에서는 log를 확인하여 json 객체가 잘 만들어졌는지 값이 제대로 들어갔는지 확인하였습니다.이후 objectMapper.writeValue(response.getWriter(), loginResponse); 로 프론트에 값을 보냈는데해당 페이지처럼 값들이 제대로 전달되지 않습니다. 저희가 원래 생각한 로직은 next step의 값에 따라 프론트가 알맞게 처리하는것인데 이건 프론트측의 로직 문제인가요 아니면 백엔드측이 잘못보내준건지 모르겠습니다
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
이 오류는 먼가요 ㅠㅠ
저는 안드로이드 화면을 켜고 구동시켜 볼려고 하면 화면 자체가 안켜 지네요 ~ 이유가 멀까요 ㅠㅠ 쌤 ~.
-
해결됨[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
Stateless서버에서의 유저인스턴스
session방식이 아닌 토큰방식을 쓰는데유저 요청시 정보를 매번 DB에서 긁어와야 할까요? 아니면 Service마다 accountId를 키로해서 각 유저 정보를 저장해놓고 사용하는게 좋을까요?메모리에 일부 정보를 저장해 두었다가 유저 요청시, DB에 접근하지 않고 검증할 수 있는 부분은 메모리 단에서 거르는 방식으로 DB접근 오버헤드를 줄이면 좋을거 같은데유저 정보를 메모리에 들고있는다고 하면 Stateful방식을 쓰지 Stateless방식을 쓰는 이점이 있나 해서 질문드립니다
-
미해결
앱의 수준에 관한 질문
안녕하세요 강사님, 본 과정에서 만들어지는 앱은 학생들이 언어를 배워보는 경험을 목표로 하시는건지 아니면 React native를 모르는 전문개발자가 실제 상용 목적의 앱을 만들 수 있도록 하는 것을 목표하는 것인지 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
9회 빅분기 3-1
설명변수 포함이라는 말 때문에 p-value 구하고 2개 + 상수항 포함으로 3을 적었네요..문제에 상수항은 빼라는 말이 있었나요...?
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
코드 정렬 기능
🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨질문 하시기 전에 꼭 확인해주세요- 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다)- 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다)- 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢)질문 하실때 꼭 확인하세요- 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X)- 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지)- 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우)- 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요- 강의의 몇 분 몇 초 관련 질문인지 알려주세요!- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의자님께서는 강의에서 어떤 코드 정렬 기능을 쓰고 계신지 궁금합니다. 단축키를 이용하시는 것 같은데 저는 똑같이 안되는 것 같습니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-0 질문 있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 선생님 제가 풀이한건데 문제에 예시 입력을 했을 때 맞게 나오고 다르게 해봤는데 맞게 나왔는데 어떤 부분 때문에 틀렸는지 도저히 몰라 질문 남깁니다. 어떤 반례가 있길래 이럴까요??#include<bits/stdc++.h> using namespace std; string s; int n,cnt,ret =-987654321,start; stack<char>st; int main(){ ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); cin >> n >> s; for(char c : s){ if(st.size() && st.top() == '(' && c == ')'){ cnt += 2; st.pop(); }else if(st.size() && st.top() == ')' && c == '('){ while (!st.empty()) st.pop(); st.push(c); cnt = 0; }else{ st.push(c); } ret = max(ret, cnt); } cout << cnt << "\n"; return 0; }
-
미해결스프링 핵심 원리 - 기본편
@Configuration
[질문 내용]AppConfig 같은 클래스를 만들고 바로 상단에 @Configuration 어노테이션을 설정하면 그 클래스는 스프링 컨테이너라고 봐도 된다는 거죠?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
order 테이블의 id값이 왜 4, 11인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 강의에서 order 테이블을 조회하면 id값이 4, 11로 나오는데 저는 1, 2로 나옵니다. 아무리 생각해봐도 4, 11로 나올 이유가 없어보이는데 왜 4,11로 나오는지 궁금합니다
-
미해결
베릴로그 송수신기
송신기와 수신기를 만들려고 합니다.송신기는 64비트 데이터를 관리하고 이를 한 비트씩 시리얼 방식으로 shift하여 송신합니다. 송신기의 FSM은 다음과 같은 상태를 가집니다:IDLE: 송신 대기 상태.LOAD: 데이터 로드 상태 (Payload 포함).SHIFT: 데이터를 1비트씩 시리얼로 전송.WAIT: 수신으로 전환 조건을 확인.송수신 통합 구조송신기에서 자동으로 숫자가 증가하면서 데이터가 생성되고, 비교 결과가 참이면 데이터를 수신기로 전달합니다. 이를 위해 tx, rx 모듈과 ID_Comparator를 사용합니다. 송신기의 조건은 자동으로 숫자가 올라가며, 숫자가 비교기랑 맞으면 자동으로 수신에 넘어가는걸 만들고 싶어요. 근데 잘 숫자가 자동으로 올라가는 부분과 숫자 저장하는 부분이 잘 되지 않습니다 ㅜㅜmodule Rx(clock, control, KEY0, KEY1, SW, HEX0, HEX1, HEX2, HEX3, HEX4, HEX5, LEDR);// clock=P11, control=KEY1, KEY0=clr, SW[9]=Eninput clock, control;input KEY0, KEY1; // KEY0과 KEY1을 독립적으로 선언input [9:0] SW;output [0:6] HEX0, HEX1, HEX2, HEX3, HEX4, HEX5;output [9:0] LEDR;wire [15:0] preamble;wire [11:0] SFD;wire [1:0] DestinationID, SourceID;wire [31:0] payload;wire [2:0] state, next_s;wire [63:0] Data;wire trans, MS, count;// halfsecond 모듈halfsecond half_sec(clock, KEY0, SW[9], count);// savedata 모듈savedata s0(.clock(clock),.En(SW[9]), // Enable을 SW[9]로 연결.control(control),.SW(SW),.preamble(preamble),.SFD(SFD),.DestinationID(DestinationID),.SourceID(SourceID),.payload(payload),.state(state),.next_s(next_s),.Data(Data),.LEDR(LEDR),.MS(MS),.count(count));// transdata 모듈transdata t0(.clock(clock),.clr(KEY0), // clr을 KEY0로 연결.control(control),.Data(Data),.trans(trans),.count(count));// 7-segment 출력num_7seg H0(Data[3:0], HEX0);num_7seg H1(Data[7:4], HEX1);num_7seg H2(Data[11:8], HEX2);num_7seg H3(Data[15:12], HEX3);num_7seg H4(Data[19:16], HEX4);num_7seg H5(Data[23:20], HEX5);endmodulemodule savedata(clock, En, control, SW, preamble, SFD, DestinationID, SourceID, payload, state, next_s, Data, LEDR, MS, count);input clock, En, control, count;input [9:0] SW;output reg [15:0] preamble;output reg [11:0] SFD;output reg [1:0] DestinationID, SourceID;output reg [31:0] payload;output reg [2:0] state, next_s;output reg [63:0] Data;output reg MS;output [9:0] LEDR;reg P;reg [1:0] S;wire match_preamble;wire match_sfd;wire [15:0] expected_preamble = 16'b1010101010101010;wire [11:0] expected_sfd = 12'b101010110100;Compare_Preamble_SFD c0(clock, SW[9], preamble, expected_preamble, SFD, expected_sfd, match_preamble, match_sfd);parameter S0 = 3'b000, S1 = 3'b001, S2 = 3'b010, S3 = 3'b011, S4 = 3'b100, S5 = 3'b101, S6 = 3'b110, S7 = 3'b111;always@(posedge clock or negedge En)beginif (!En)state <= S0;else if (count)state <= next_s;endalways@(posedge clock or posedge SW[9] or posedge SW[8] or negedge En)beginif(SW[9])beginData <= 0;preamble <= 0;SFD <= 0;DestinationID <= 0;SourceID <= 0;MS <= 0;payload <= 0;state <= S0;P <= 1'b0;S <= 2'b00;endelse if (SW[8])beginSourceID <= SW[1:0];MS <= SW[2];endelse if (!En)beginif(state == S0)beginstate <= next_s;endelse if(state == S1 && P == 1'b0)beginpreamble <= {preamble[7:0], SW[7:0]};state <= next_s;P <= 1'b1;endelse if(state == S1 && P == 1'b1)beginpreamble <= {preamble[7:0], SW[7:0]};state <= next_s;P <= 1'b0;endelse if(state == S2 && S == 2'b00)beginSFD <= {SFD[7:0], SW[3:0]};state <= next_s;S <= 2'b01;endelse if(state == S2 && S == 2'b01)beginSFD <= {SFD[7:0], SW[3:0]};state <= next_s;S <= 2'b10;endelse if(state == S2 && S == 2'b10)beginSFD <= {SFD[7:0], SW[3:0]};state <= next_s;S <= 2'b00;endelse if(state == S3)beginDestinationID[1:0] <= SW[1:0];state <= next_s;endelse if(state == S4)beginSourceID[1:0] <= SW[1:0];state <= next_s;endelse if(state == S5)beginpayload <= payload + SW[7:0];state <= next_s;endelse if(state == S6)beginData <= {preamble, SFD, DestinationID, SourceID, payload};state <= next_s;endendendassign LEDR[2:0] = state;assign LEDR[5:3] = next_s;assign LEDR[8:6] = {P, S};assign LEDR[9] = MS;endmodulemodule transdata(clock, clr, control, Data, trans, count);input clock, clr, control;input [63:0] Data;output reg trans;reg [63:0] shift;reg en;reg [5:0] bit_count;output count;halfsecond h0(clock, clr, control, count);always@(posedge clock or posedge clr)beginif (clr)begintrans <= 1'b0;shift <= 64'b0;en <= 1'b0;bit_count <= 6'b0;endelse if (control == 0 || count == 1)beginshift <= Data;en <= 1'b1;bit_count <= 6'b0;endelse if (en)begintrans <= shift[63];shift <= {shift[62:0], 1'b0};bit_count <= bit_count + 1;if (bit_count == 6'b111111)beginen <= 1'b0;endendendendmodulemodule Compare_Preamble_SFD (input clk,input clr,input [15:0] received_preamble,input [15:0] expected_preamble,input [11:0] received_sfd,input [11:0] expected_sfd,output reg match_preamble,output reg match_sfd);always @(posedge clk or posedge clr)beginif (clr)beginmatch_preamble <= 0;match_sfd <= 0;endelsebeginmatch_preamble <= (received_preamble == expected_preamble);match_sfd <= (received_sfd == expected_sfd);endendendmodulemodule num_7seg (S, HEX);input [3:0] S;output [0:6] HEX;assign HEX[0] = (~S[3]&~S[2]&~S[1]&S[0])|(~S[3]&S[2]&~S[1]&~S[0])|(S[3]&~S[2]&S[1]&S[0])|(S[3]&S[2]&~S[1]&S[0]);assign HEX[1] = (~S[3]&S[2]&~S[1]&S[0])|(S[2]&S[1]&~S[0])|(S[3]&S[1]&S[0])|(S[3]&S[2]&~S[0]);assign HEX[2] = (~S[3]&~S[2]&S[1]&~S[0])|(S[3]&S[2]&~S[0])|(S[3]&S[2]&S[1]);assign HEX[3] = (~S[3]&~S[2]&~S[1]&S[0])|(~S[3]&S[2]&~S[1]&~S[0])|(S[2]&S[1]&S[0])|(S[3]&~S[2]&S[1]&~S[0]);assign HEX[4] = (~S[3]&S[0])|(~S[3]&S[2]&~S[1])|(~S[2]&~S[1]&S[0]);assign HEX[5] = (~S[3]&~S[2]&S[0])|(~S[3]&~S[2]&S[1])|(~S[3]&S[1]&S[0])|(S[3]&S[2]&~S[1]&S[0]);assign HEX[6] = (~S[3]&~S[2]&~S[1])|(~S[3]&S[2]&S[1]&S[0])|(S[3]&S[2]&~S[1]&~S[0]);endmodulemodule halfsecond(Clr, Clk, En, Q);input Clk, Clr, En; output reg Q;reg [25:0] D; always @ (posedge Clk)beginif (~Clr)beginD <= 25'b0;Q <= 1'b0;endelse if (En)beginif (D == (25'd24999999)) // 0.5초 주기beginD <= 25'b0;Q <= 1'b1;endelsebeginD <= D + 1'b1;Q <= 1'b0;endendelsebeginD <= 26'b0;Q <= Q;endendendmodule