묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨토비의 스프링 부트 - 이해와 원리
@Value에 대해서 질문있습니다.
@MyAutoConfiguration class SampleBeanConfigClass { @Value("${name}") String name; @Bean SampleBean sampleBean(){ System.out.println("sampleBean name = "+name); } }@Configuration class UserConfigClass { @Value("${name}") String name; public UserConfigClass(){ System.out.println("UserConfigClass name = "+name); } @Bean public UserConfigBean userConfigBean(){ System.out.println("UserConfigBean name = "+name); return new UserConfigBean(); } }//application.properties name = springsampleBean name = ${name} UserConfigClass name = null UserConfigBean name = spring아직 PropertySourcesPlaceholderConfigurer는 MyAutoConfiguration으로 등록하지 않은 상태입니다. 그런데 @Value의 위치에 따라null, spring, ${name} 이렇게 각각 나오더라구요이렇게 value의 위치마다 다르게 작동하는 이유가 있을까요..?
-
해결됨만들면서 배우는 프론트엔드 DO IT 코딩 (Next.js, Typescript)
thunder client로 get 요청시 무한로딩
안녕하세요. thunder client로 get 요청시 무한로딩이 됩니다.localhost:3000/api/hello에 대한 요청이 되지 않습니다.다른 open api 요청을 쏴봤는데요. 그건 됩니다.혹시 원인이 무엇일까요?개발 환경은 실행중입니다.폴더 구조입니다. 아래는 코드입니다.// hello.ts // Next.js API route support: https://nextjs.org/docs/api-routes/introduction import { NextApiRequest, NextApiResponse } from 'next'; import FirebaseAdmin from '@/models/firebase_admin'; export default function handler(_: NextApiRequest, res: NextApiResponse) { FirebaseAdmin.getInstance().Firebase.collection('test'); res.status(200).json({ name: 'John Doe' }); } // firebase_admin.ts import * as admin from 'firebase-admin'; interface Config { credential: { privateKey: string; clientEmail: string; projectId: string; }; } /** 싱글톤 패턴을 이용해서 어디서든 같은 인스턴스를 불러낼 수 있도록 한다. */ export default class FirebaseAdmin { public static instance: FirebaseAdmin; /** 초기화 여부 */ private init = false; /** 인스턴스를 반환하는 메서드 */ public static getInstance(): FirebaseAdmin { if (FirebaseAdmin.instance === undefined || FirebaseAdmin.instance === null) { /** 초기화 진행 */ FirebaseAdmin.instance = new FirebaseAdmin(); /** 환경을 초기화한다. */ FirebaseAdmin.instance.bootstrap(); } return FirebaseAdmin.instance; } /** 환경을 초기화할 때 사용할 메서드 */ private bootstrap(): void { /** 등록되어 있는 앱의 갯수가 0이 아니어야 앱이 존재함을 의미한다. */ const haveApp = admin.apps.length !== 0; if (haveApp) { this.init = true; return; } /** config를 활용해서 초기화한다. */ const config: Config = { credential: { /** process.env.로 환경변수에 접근하여 각 값들을 받아온다. * 각 갑들은 undefined일 수 있으므로, 값이 없을 경우 빈 문자열을 할당한다. */ projectId: process.env.projectid || '', clientEmail: process.env.clientEmail || '', /** * privateKey는 원래 개행이 들어간 여러 줄 짜리 텍스트인데, 반환할 때는 json에서는 그렇게 표현할 수 없기 때문에 한 줄이 된다. * 그 한줄짜리 json을 원래대로 개행이 들어가도록 임의로 다시 개행문자를 넣어주는 것이다. */ privateKey: (process.env.privatekey || '').replace(/\\n/g, '\n'), }, }; admin.initializeApp({ credential: admin.credential.cert(config.credential) }); console.info('bootstrap firebase admin'); } /** firestore를 반환 */ public get Firebase(): FirebaseFirestore.Firestore { if (this.init === false) { this.bootstrap(); } return admin.firestore(); } public get Auth(): admin.auth.Auth { if (this.init === false) { this.bootstrap(); } return admin.auth(); } }
-
미해결게임 수학의 이해
이득우의 언리얼 프로그래밍 Part2 개강일
안녕하세요 혹시이득우의 언리얼 프로그래밍 Part2 개강예정일을 알수있을까요?
-
미해결UX/UI 시작하기 : Figma 입문 (Inflearn Original)
constraints에서 상단 스크롤 고정을 할 수 있는 체크 박스 가 보이지 않아요.
constraints에서 상단 스크롤 고정을 할 수 있는 체크 박스 가 보이지 않아요.ㅠ
-
해결됨[입문자를 위한 UE5] Part1. 언리얼 엔진 블루프린트
캐스트 오버헤드 질문
상위 클래스를 특정 하위 클래스로 형변환을 할 때, 캐스트의 성공 여부를 알 수 있는데, 그렇단 의미는 BP에서의 캐스팅은 기본적으로 다이나믹 캐스트로 이루어지나요? 만약 맞다면, 캐스팅이라는 작업이 RTTI로 인한 성능에 저하가 있나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
psum[0] 값이 0인이유
안녕하세요 선생님 수업 잘 듣고 있습니다! 혹시 뇌를 잃어버린 승철이 문제에서 psum[0]값을 정의하지 않았음에도 0인 이유는 무엇인가요? 예전에는 값을 정의하지 않으면 랜덤한 값이 나온다고 어디서 들었던것 같은데 print를 해봐도 0이나와서 신기해서 여쭤봅니다. 강의 잘 듣고 있습니다 감사합니다!
-
미해결홍정모의 따라하며 배우는 C언어
[5.1 반복 루프] goto문 결과 질문
5.1 강의의 6:11초쯤에서 goto문의 출력 결과로 1~9까지만 나오고 10은 안 나왔는데 나중에 설명한다고 하셨는데 설명을 안 하셔서 질문 남깁니다.교수님이 작성하신 코드에서는 n이 10일 때 printf를 안 하고 바로 goto out;이 실행되기 때문에 결과가 9까지 출력되는 것 맞나요?goto문으로 1~10까지 출력되는 반복문을 만들려면 n == 10이 아니라 n == 11로 써야하는 것 맞을까요?
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃헙 권한요청 부탁드립니다.
인프런 아이디 : jongseungim5348@gmail.com인프런 이메일 : jongseungim5348@gmail.com깃헙 아이디 : jongseungim5348@gmail.com깃헙 Username : limjongseung
-
미해결스프링 배치
@JobScope JobParmeter Binding 질문
안녕하세요. @JobScope에 대해서 궁금한게 생겨서요!@Jobscope 를 쓰면 갖는 이점에 대해서는 이해했습니다. 웹어플리케이션이 실행될 때, Job Bean 객체에는 Scope의 JDKProxy 또는 CGLibProxy가 주입되는 것을 이해했고 Step 메소드 실행 시, 실제 Step 객체가 주입되는 것을 이해했습니다.그러므로 여러 스레드 ( 병렬 처리 ) 가 요청에 대한 처리를 할 때, thread safe에 대한 이점도 있을 거고 동시성에도 이점이 있을 거라고 생각됩니다. 여기서 궁금한게, @Value JobParmeters를 바인딩 하는 부분이 궁금한데요.질문 1. 이 JobParmeters는 그럼 Job에서 설정한 여러 Jobpameters 중 꼭 한가지 key값이여야만 하는 걸까요? 가령, name, requestDate 라한다면 둘 중 하나를 선택해도 무방한거죠? 두개는 안될까요?2. 당연한 말이겠지만 여러 Job들에서 다른 Step을 공유하기 위해선 이 Jobparmeter를 정적인 변수보다는 requestDate와 같은 yyyyhhmm ss 같은 변수를 사용하는 것이 좋겠죠?감사합니다!
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
EsLint 적용 불가 문의드립니다.
안녕하세요 강의 보고 실습 중, ESLint가 정상 작동하지 않는 것으로 보여문의 드립니다.현재 상황 (버전)npm Version : 9.6.4Vue Version : 3.2.47VsCode Version : 1.77.3설치된 확장 플러그인Auto Rename TagCSS PeekESLintHTML CSS SupportHTML to CSS autocompletionindent-rainbowKorean Language Pack For visual Studio CodeVue Language Features (Volar)Vue VSCode Snippets플러그인 충돌이 발생 할 수 있어, 기존 VS Code 전체 초기화 후 재 설치 하였습니다.강의에 나온 내용으로 .eslintrc.cjs 수정 및 Eslint.validate도 변경하였으며,오타가 있을 수 있어서 노션에 있는 코드를 그대로 복사 붙여 넣기 하였습니다.Format on save 도 체크 해제 되어 있습니다.현재 문제점이라고 생각하는 부분은npm run lint 커맨드 실행 시 PS > npm run lint> learn@0.0.0 lint> eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignoreOops! Something went wrong! :(ESLint: 8.39.0ReferenceError: Cannot read config file: \.eslintrc.cjsError: OfflineAudioCompletionEvent is not defined at Object.<anonymous> (\.eslintrc.cjs:15:70) at Module._compile (node:internal/modules/cjs/loader:1254:14) at Module._extensions..js (node:internal/modules/cjs/loader:1308:10) at Module.load (node:internal/modules/cjs/loader:1117:32) at Module._load (node:internal/modules/cjs/loader:958:12) at Module.require (node:internal/modules/cjs/loader:1141:19) at module.exports [as default] (node_modules\import-fresh\index.js:32:59) at loadJSConfigFile (\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:2562:47) at loadConfigFile (\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:2646:20) at ConfigArrayFactory.loadInDirectory (\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:2856:34)에러가 출력 됩니다.구글 검색하여 npm install eslint 등 추가로 모듈을 설치 하였으나, 실행이 되지 않습니다.이 이외에는 사실상 Error Line, Warn Line 등 소스 코드에 노란 줄이나 붉은 줄은 나오지 않아사용에는 큰 불편함은 없으나, 자동 줄 정렬이 되지 않아 소스가 상당히 지저분하며, 복습 시 소스 분석에 어려움을 겪고 있어 질문 드립니다.항상 좋은 강의 감사드립니다.요약npm run lint 커맨드 사용 불가소스 자체에 붉은 색, 노란 색 줄은 생기지 않으나 코드가 자동 정렬 되지 않음입니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
영속성 컨텍스트 질문입니다.
3:58초 경에 findMember.setAge(20)으로 결과가 바뀌면 영속성 컨텍스트에 관리가 되는 거고, 안바뀌면 관리가 되지 않는다라는데 이유가 뭔가요 ?JPA가 DB의 데이터에 접근하고 수정하고 작성,삭제 할 수 있다 = 영속성 컨텍스트가 관리한다 같은 말일까요 ?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
캐스팅4총사 강의 질문입니다
뒤에 부분을 다 안보고 질문드렸더니 조금 애매해졌네요.상식적인 캐스팅이 아니라애초에 부모가 어떤 자식의 타입이었는지 확실할때쓰는 것이라고 하는게 맞겠네요.강의에서 나오는 것처럼요Player* p = new Knight();Knight* k1 = static_cast<Knight*>(p);말이 안되는건 아니니까 그때 쓴다 이런 뜻이었네요.역시 한국말은 끝까지 들어봐야 되는거 같네요.. ㅎㅎ답변은 안해주셔도 되겠습니다. 감사합니다.=================================일단 주말에 질문을 드려서 죄송합니다.답변은 월요일에 해주시면 될 것 같습니다!3분 13초부터 나오는 상속 관계끼리의 타입변환에대해서 주석으로 이야기 해주시는 부분인데요Player*->Knight* (다운캐스팅) 이게상식적인 캐스팅이라고 하셨는데 아무리 들어도 뭔가 잘못된게 아닌가싶어서요. 반대로 이야기 하신것 아닌가요?..자식은 부모를 포함하고 있으니까 애초에 부모로도캐스팅 될 수 있는데 부모가 자식으로 캐스팅 되는 것은 타입변환 강의에서도 위험하다고 하셨던것 같은데혹시 player가 자식인가 싶어서 뒤에 내용도 봤는데 Knight가 자식이더군요. 제가 짐작하건데 반대로 이야기 하신게 아닌가 싶은데맞나요??업캐스팅이 상식적인것이고 다운캐스팅은 위험한것 아닌가요?그래서 위험하니까 다운캐스팅 시에는 명시적으로 했던 것이구요.인터넷에서 찾아봐도 다운캐스팅은 업캐스팅에 비해 안전하지 않다고 하는데 다운캐스팅이 상식적인 캐스팅이라는게 이해가 안되어서 질문드려 봅니다.같은 질문이 있나 찾아봐도 없어 이렇게 질문글 남깁니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
AOP 의존성 추가
두가지 궁금사항이 있습니다.1.첫번째@Aspect 애노테이션 을 사용한다면의존성 추가해야된다고 인터넷에 나와있는데,꼭 안해도 되는건가요???implementation 'org.springframework.boot:spring-boot-starter-aop' 2.두번째TimeTraceAop class에 @Component 애노테이션을 추가하면 에러가 안나는데,SpringConfig class에 @bean 으로 등록시 에러가 납니다.콘피그에 빈으로 등록코드를 적을경우 또다른 코드를 주입해야되나요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
상품주문 질문
한명의 회원이 하나의 상품을 여러개 주문하는 것은 가능하지만, 여러개의 상품을 주문하지는 못하나요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
formatter에 pattern이 일어나는 시점
@GetMapping("/formatter/edit") public String formatterForm(Model model){ Form form = new Form(); form.setNumber(10000); form.setLocalDateTime(LocalDateTime.now()); log.info("form={}",form); model.addAttribute("form",form); return "formatter-form"; } @PostMapping("/formatter/edit") public String formatterEdit(@ModelAttribute Form form){ log.info("post form={}",form); return "formatter-view"; }로그를 통해 form, post form을 출력해보았습니다.저는 처음 form은 그냥 입력한 값이 나오고 그다음 post form은 ModelAttribute에 들어갈 때public String formatterEdit(@ModelAttribute Form form){포멧터가 form의 타입을 변경하고 입력한다고 예상했습니다.하지만 로그를 보니 form=FormatterController.Form(number=10000, localDateTime=2023-04-23T12:39:53.251212) post form=FormatterController.Form(number=10000, localDateTime=2023-04-23T12:39:53)값은 값이 나오는 것을 확인했습니다. 제가 생각했을 때는 Argument Resolver 안에 ConversionService 안에 Formatter 가 controller를 호출하기 전 @ModelAttribute에 입력할 때 실행되지만@Data static class Form{ @NumberFormat(pattern = "###,###") private Integer number; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime localDateTime; }에서 @NumberFormat(pattern = "###,###") 패턴이 적용 되는 시점은 html에서"${{form.number}}"중괄호2개가 있을 때다. 그래서 로그는 값은 같은 값이 출력이 되지만 html에서는 다른 값이 출력된다. 라고 이해를 했는 데 맞게 생각한 것인지 궁금합니다. 답변주시면 정말 감사하겠습니다.
-
미해결실전! Querydsl
프로퍼티 접근, 필드 직접 접근, 생성자 사용 중에 어떤 방법이 제일 좋나요 ?
프로퍼티 접근, 필드 직접 접근, 생성자 사용 중에 어떤 방법이 제일 좋나요 ?? @Autowired보다 생성자 주입이 더 좋은 거처럼 더 좋은 방법이 따로 있는건지 궁금합니다 !
-
미해결실전! Querydsl
distinct 테스트코드 관련 질문 드립니다.
@Test public void distinct() { em.persist(new Member("member1")); em.persist(new Member("member2")); em.persist(new Member("member2")); em.persist(new Member("member5")); List<String> usernames = queryFactory .select(member.username).distinct() .from(member) .fetch(); assertThat(usernames) .containsExactly("member1", "member2", "member3", "member4", "member5"); } 테스트코드 직접 짜본 경험이 별로 없어서 그런데이렇게 짜면 되는걸까요 ...?
-
미해결지옥에서 온 Git
맥에서 깃 디렉토리 생성시 화면
맥에서 깃 디렉토리 생성시 블랙 화면은 어디인가요??뭘 실행하고 폴더생성이며 화면에 텍스트 입력을 하나요???
-
해결됨카프카 완벽 가이드 - 커넥트(Connect) 편
안녕 하세요~~
2가지 궁금한게 있는데요첫번째는 카프카 커넥트와 직접 코드로 구현되는 컨슈머 중 하나를 선택해야 할 때 어떤 기준으로 선택하는 것이 좋을까요?커넥트 장점을 보면 추측은 가능하지만 경험이 없으니 실무에서 어떨 때는 커넥트, 어떨 때는 컨슈머 직접 구현을 선택할 수 있는지(이건 경험 꽤 많아요) 기준이 궁금합니다 두번재는 자동으로 토픽 생성시에 시스템 종료하면 어떤게 문제가 될까요?그레이스 풀 셧다운 관련인지 어떤 문제가 생기는지 궁금합니다 감사합니다.
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
리스트 문제풀이 중 append 출력 실패
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 섹션 1 - 리스트 1 강의 중 13분 30초 문제풀이 입니다.선생님이랑 똑같이 한 것 같은데, 왜 저는 golang만 출력 될까요?