묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
messages.properties default로 없으면 에러
영한 선생님 안녕하세요. 이번 챕터가 개인적으로 흥미로워서 제 방식대로 적용해보고 있는데 이게 왜 안 되는지 너무 궁금해서 찾다가 해결이 안 돼서 질문 드립니다. 질문 1) 위 사진처럼 resources > i18n 하위에 여러 국가 messages 파일을 두었고, application.properties 설정 역시 spring.messages.basename=i18n.messages 위와 같이 해주었습니다. (아무 내용이 없는) default 프로퍼티 파일인 messages.proerties 없이 단순히 이렇게만 설정하니 어떤 언어로 바꾸어도 ?? ~~ ?? <-- 이런 식으로 국제화가 적용되지 않더라고요. messages.properties를 반드시 두어야 하나요? (localeResolver를 bean으로 등록해서 defaultLocale 을 설정해도 잘 안 되는 거 같아 질문드립니다...) 질문2) 위 사진에서 제가 준비한 언어는 영어, 스페인어, 일본어, 한국어입니다. (messages.properties는 아무것도 없는 빈 파일입니다) 만약에 여기 없는 언어로 설정이 되면, 어떤 언어로 나올지 궁금해서 아래와 같이 설정을 해주었습니다. request header 값을 추출한 결과 accept-language: nl,es;q=0.9,en;q=0.8,ko;q=0.7,en-US;q=0.6,ko-KR;q=0.5 이렇게 나와서, 저는 네덜란드어에 대한 국제화 파일이 없기 때문에 그 다음 우선순위인 영어로 국제화가 될지 알았는데, 무조건 한국어로 국제화가 됩니다. 한국어는 우선순위가 가장 하위인데 왜 이렇게 되는지 잘 모르겠습니다... (@Bean으로 localeResolver default locale은 따로 설정해주지 않았습니다.)
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
VirtualFree 함수 질문입니다.
Release 함수에서 baseAddress를 구할때 [ <------offset-----------> [ 할당영역 ]] 0 -------------------------↑address 4095 만약 page가 1개만 할당되었을 경우 offset을 구하려면 위와 같이 0~4096 주소 범위라면 address 값 자체가 3000이면 address%page_size =3000 이고 address -3000=0 으로 baseAdress를 구하는 것은 이해가 되는데 막상 데이터를 보면 address는 8바이트의 임의의 숫자입니다. 0~4095,4096~8191 과 같이 주소값 자체가 PageSize로 나타나는 것이 아닌데 address%page_size 가 offset을 나타내는게 가능한가요? baseAddress부터는 4096씩 할당 받는다해도 이전의 주소가 임의의 값 아닌가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
싱글톤 컨테이너 와 스프링 컨테이너
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 서블릿 컨테이너는 싱글톤으로 관리되고 서블릿 객체를 생성, 초기화, 호출, 종료하는 생명주기등 영환님이 설명해주는 서블릿을 보면 이전강의에서 스프링 컨테이너와 비슷하게 느껴지는데 서블릿 컨테이너와 싱글톤 컨테이너는 같은거라고 봐도 되는걸까요?
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
@ApiResponse 사용시 에러
@ApiResponse 데코레이터를 사용하면 아래처럼 에러가 발생하네요. eslint-disable 말고 해결할 수 있는 방법이 있을까요? Decorator function return type is 'void | TypedPropertyDescriptor<unknown>' but is expected to be 'void' or 'any'. Type 'TypedPropertyDescriptor<unknown>' is not assignable to type 'void'. 10 @ApiResponse({ ~~~~~~~~~~~~~~ 11 status: 200, ~~~~~~~~~~~~~~~~ ... 13 type: ReadOnlyCatDto, ~~~~~~~~~~~~~~~~~~~~~~~~~ 14 })
-
미해결모두를 위한 파이썬 : 필수 문법 배우기 Feat. 오픈소스 패키지 배포 (Inflearn Original)
PIL 오류
PIL 오류가 나타납니다. 설치도 했습니다.
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
express를 WAS역할이라고 생각해도 될까요?
안녕하세요? Spring에서 NestJS로 전향하기 위해서 강의를 열심히 듣고 있습니다. nodejs나 nestjs를 공부하면서 express가 WAS인가 하는 궁금증이 들었습니다. Node.js는 Javascript의 런타임 이고, express라는 웹 프로엠워크 이용하여 Web Application 구동해준다 라고 생각을 합니다만 express를 was라고 생각해도 맞는 걸까요 ?
-
미해결Kevin의 알기 쉬운 RxJava 1부
Error 발생 시에도 계속 처리 방법
안녕하세요. 강의 잘 수강중인 수강생입니다. 받아온 리스트를 flatMap을 통해 각각 observable 작업을 만들고 순차적으로 실행할 때 중간에 하나가 실패하더라도 계속 그 다음 Observable로 넘어가도록 하는 방법은 없나요? 아니면 혹시 좋은 처리 방법이 있을지요. try-catch를 flatMap 내부 블럭에서 쓰기엔 rxJava스럽지 않은 방법이고... onErrorReturnNext같은 함수를 쓰기도 좀 애매하네요. 가운데 fetchData() 부분만 봐주시면 될 것 같습니다 import io.reactivex.Completable import io.reactivex.Observable import io.reactivex.Single import org.mockito.ArgumentMatchers.anyInt import org.mockito.Mockito import org.mockito.kotlin.eq import org.mockito.kotlin.given import org.mockito.kotlin.whenever import java.lang.Exception val db = mutableListOf<String>() fun <T : Any> safeEq(value: T): T = eq(value) ?: value fun main() { val fakeSentenceMaker: SentenceMaker = Mockito.mock(SentenceMaker::class.java) whenever(fakeSentenceMaker.getNonLuckySentence(anyInt())) .thenCallRealMethod() whenever(fakeSentenceMaker.getLuckySentence()) .thenCallRealMethod() given(fakeSentenceMaker.getNonLuckySentence(safeEq(4))) .willAnswer{ throw Exception("실패!") } val repository = Repository(fakeSentenceMaker) repository.fetchData() .subscribe({ println("성공 >> ") }, { println("실패 >> $it") }) Thread.sleep(1000) db.also { println(it) } } class Repository( private val sentenceMaker: SentenceMaker ) { private fun getList(): Single<List<Int>> { return Single.just(listOf(1, 2, 3, 4, 5, 6, 7, 8)) } fun fetchData(): Completable { return getList() .flatMapObservable { Observable.fromIterable(it) } .flatMap { println("현재 데이터 >> $it") if (it == 7) { sentenceMaker.getLuckySentence() } else { sentenceMaker.getNonLuckySentence(it) } } // .onErrorResumeNext(Observable.just("Error!")) .flatMapCompletable { println("before emit >> $it") saveData(it) } } fun saveData(data: String): Completable { return Completable.create { emitter -> println("emit >> $data") db.add(data) emitter.onComplete() } } } class SentenceMaker { fun getLuckySentence(): Observable<String> { val luckySentence = "7은 행운의 숫자입니다" return Observable.just(luckySentence) } fun getNonLuckySentence(num: Int): Observable<String> { val nonLuckySentence = "${num}은 행운의 숫자가 아닙니다" return Observable.just(nonLuckySentence) } }
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Docker network 생성 중
안녕하세요. 강의 내용중에 network 구성하면서요. docker network create --gateway 172.18.0.1 --subnet 172.18.0.0/16 ecommerce-network gateway하고 subnet 지정하지 않고 만들 경우 직접 IP 지정해서 container 띄울 경우 오류가 발생할 수 있다는게 이해가 잘 안됩니다...
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
Likers가 정의되지 않는것 같습니다 ㅜ
안녕하세요 제로초님 강의 듣다 해결이 되지 않는 부분이 있어 질문 남깁니다. 강의 마지막까지 듣고, 서버연결하여 새로고침하여 localhost사이트에 들어가는데, 이러한 에러가 떠서 질문드려요 ㅜ Likers는 분명히 fullPost 넘길때 넘겼는데 const fullPost = await Post.findOne({ where: { id: post.id }, include: [{ model: Image }, { model: Comment, include: [{ model: User, //댓글 작성자 attributes: ['id', 'nickname'] }] }, { model: User, // 게시글 작성자 attributes: ['id', 'nickname'] }, { model: User, //좋아요 누른사람 as: 'Likers', attributes: ['id'] }] }) 물론 게시글 불러오는 posts에서도 Likers를 불러오도록 설정 해놨습니다 const posts = await Post.findAll({ limit: 10, order: [ ['createdAt', 'DESC'], [Comment, 'createdAt', 'DESC'] ], include: [{ model: User, attributes: ['id', 'nickname'] }, { model: Image }, { model: Comment, include: [{ model: User, attributes: ['id', 'nickname'], }] }, { model: User, as: 'Likers', attributes: ['id'] }] }) 이렇게요 현재 터미널에서는 이러한 에러가 뜨며 진행이 되지 않고 있습니다. 구글링도 해보고 다양한 루트로 찾아보고있는데 해결이 되지 않아 질문드립니다 ㅜㅜ
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
제 방식대로 풀어봤습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 맥북 Xcode를 쓰고 있어서 채점 프로그램을 못쓰는데, 구조체랑 함수를 따로 만들어서 문제를 풀어도 되는지 궁금합니다. #include <stdio.h> struct Question { int number; int answer; }; int sum(int n) { int i, sum = 0; for (i = 1; i <= n; i++) { sum += i; } return sum; } int main() { int n, i; scanf("%d", &n); Question arr[n]; for (i = 0; i < n; i++) { scanf("%d %d", &arr[i].number, &arr[i].answer); } for (i = 0; i < n; i++) { if (arr[i].answer == sum(arr[i].number)) printf("YES\n"); else printf("NO\n"); } return 0; }
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
메모리 db 관련 질문 드립니다.
application 설정 파일에 아무것도 적지 않으면 자동으로 메모리 db로 연결해주신다고 하셨는데 그 부분에 두 가지 질문이 있습니다. 첫 째, h2뿐만 아니라 다른 데이터베이스에서도 메모리 db로 연결해주나요? 둘 째, 만약에 다른 데이터베이스에서도 메모리 db로 연결시켜 줄 경우 예들 들어서 build.gradle에 h2랑 mariaDB를 둘 다 의존관계 추가할 경우 어느 데이터 베이스의 메모리 db로 연결이 되나요?
-
미해결따라하며 배우는 MySQL on Docker
안녕하세요!
안녕하세요! 선생님! 좋은 강의 감사합니다. 강의마다 한개씩 질문할것같은데 ㅠㅠㅠ 죄송합니다. 우선적으로 궁금한건 브릿지를 이용해서 컨테이너가 재실행했을때 IP의 변동의 문제를 없애준다는 것에 매우 신기했는데요. 그럼 제가 이해한건 재실행되면 container안에 있는 mysql db 가 구성된 브릿지 네트워크 구성은 괜찮은건가요? 재실행되면 mysql 구성도 다 리셋되는것이 아닌가 했는데 강의들어보니 재실행은 IP만 변경되지 안에있는 구성은 계속 유지가 되는것같아서요! 그럼 브릿지 name이 아닌 브릿지 네트워크 IP를 넣어도되지않을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
GetMapping 관련 질문!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]1. @GetMapping(" ") 안에 들어가는 단어를 8080/ 뒤에 쓰면 해당 매서드를 호출하는걸로 알고있는데 안되서요. 맨 처음 선언해줬던 hello를 제외하고 다 안됩니다. 다시 디버깅해도 안되구요! 2. 파란색 동그라미 아이콘??이 처음엔 강의에서 보던거와 같이 파란색 동그라미였는데 파일 위치를 바꾸고 나서부터? 저렇게 바뀌었던 것 같습니다. 그래서 1번도 안되는 느낌이구요 혹시 원래대로 돌릴 수 있는 방법이 있나요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
제가 맞게 이해한건지 잘 모르겠습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] Q1. IDENTITY 전략에서만 예외적으로, persist() 호출 직후 바로 insert 쿼리가 전달되어, DB에 데이터가 저장된다고 설명해주셨는데요, 이때 DB에 저장한 직후 동시에 그 DB에 넣은 Entity를 영속성 컨텍스트의 1차 캐시에도 넣고, insert 시DB에 생성된 PK를 가져와서 영속성 컨텍스트 안에 해당 Entity를 관리하는데 사용하는게 맞을 까요 ? Q2. ppt 32p 를 보면 allocaitonSize 속성 부분에서 "데이터베이스 시퀀스 값이 하나씩 증가하도록 설정되어 있으면 이 값을 반드시 1로 설정해야 한다" 라고 나와있는데요, 수업 내용과 같이 이 allocationSize 값 만큼 한번에 DB에 id를 할당하기 때문에 , DB에 할당되어야 할 id값을 1나씩 증가하도록 설정해야 하는 상황이라면, 이 값을 1로 설정해야 한다 라고 이해하였습니다. 그런데 ppt에 나온것과 같이 데이터베이스 시퀀스 값이 하나씩 증가하도록 설정해야 하는 특별한 상황이 따로 있는지 궁금합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
가중치가 음수인 그래프를 행렬로 표현하기
안녕하세요 듣다가 문득 궁금해서 질문드립니다. 제목이 질문의 모든것인데요, 그래프를 행렬로 표현하는 과정에서 끊겨있다는 것을 음수로 표현한다고 하셨는데 그럼 가중치가 음수일 수도 있는(정수범위) 그래프에서 행렬을 이용해 표현하려고 하면 끊겨있다는 것은 어떻게 표현할 수 있을까요??
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
string[] names = Enum.GetNames(type); 에러
string[] names = Enum.GetNames(type); ArgumentException: Type provided must be an Enum. Parameter name: enumType 이렇게 에러가 나는데 뭐가 잘못된지 못찾겠습니다 ㅠ
-
미해결이펙티브 자바 완벽 공략 1부
실무에서도 계층형 빌더가 자주 쓰이나요?
뭔가 보면서도 '저렇게 까지 빌더를 써야하나?' 라는 생각이 들어서 궁금해서 여쭤봅니다. 실무에서 계층형 빌더가 자주 쓰이나요??
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
안드로이드 설치버전
강사님 강의가 예전 강의라서 4.2 버전 설치하면 빌드부터가 안됩니다. (윈도우기준 , 2022년 3월 31일 기준) 2021년 9월 1일날 출시한 arctic fox 버전 이나 2021년 9월 2일 출시한 범블비 버전 설치하세요.. 제가 4.2버전 설치해서 에러나서 세팅하는데 5시간 날리고 얻은 교훈입니다. 다른 수강생들한테 혼란을 방지하고자 이 게시판에 게시글 남깁니다.
-
미해결따라하며 배우는 MySQL on Docker
안녕하세요!
안녕하세요! 폴더를 만들때는 chmod 777 권한을 주고 굳이 my.cnf 와 같은 mysql 구성파일에는 왜 chmod 644 를 주신건가요? 생각을 해보면 중요도에 따라 권한이 달라진다고는 생각하는데 딱 느낌만 올뿐 명확한 이유를 모르겠습니다. 그리고 추가적으로 궁금한게 있습니다! 예를 들면 aws rds 에 mysql 을 생성한다고 했을 떄, 뭐 Container에 mysql을 생성한다했을 때! 그 Container에 들어가서 mysql 에 접속하잖아요? -v /db/data:/var/lib/mysql 와같이 불륨을 넣어줄때. 이것을 해석할때 Container(aws RDS) 와 같은 물리적인 디스크에 물리적인 데이터를 소프트웨어 mysql 쪽 저장공간에 저장시킨다 라고 생각하면될까여? 감사합니다!
-
미해결[웹 퍼블리싱 실습] 웹 표준 사이트 만들기
웹 퍼블리싱 실습 예제
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 웹 사이트를 공부하는데 단순하게 태그같은 것들을 외우는 것만 하다보니 지루하고 재미도 없었고 실습하는 것도 버벅이면서 헤메이고 있었습니다. 이 강의를 보면서 흥미도 다시 생기고 같이 따라서하다보니 전체적인 틀도 잡을 수 있는 유익한 시간이였습니다. 쉽고 재밌게 가르쳐주셔서 감사합니다. 덕분에 재밌게 웹 페이지 제작하고 있습니다 gomssam0003.dothome.co.kr/web/index.html