묻고 답해요
132만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
MessageSource가 Locale 정보를 가져오는 코드 위치가 궁금합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요, 지금 스프링 코드를 보면서 MessageSource와 LocaleResolver의 흐름을 파악하고 있었습니다.LocaleResolver가 어떻게 resolve하고 set하는지는 코드가 명확해서 파악은 되고 있습니다. 그런데, Thymeleaf에서 #{label.ex}와 같은 메세지 코드가 있을 때, MessageSource가 어디서 호출되고, Locale정보를 어떻게 가져오는지 확인이 어려운 상태입니다. 저의 추측으로는 LocaleContextHolder에서 Locale 정보를 가져오는 거 같은데 눈으로 직접 확인을 해보고 싶어서요.Spring 코드에서 이 부분이 어디서 호출되는지 알려주시면 감사하겠습니다.
-
미해결[백문이불여일타] 데이터 분석을 위한 기초 SQL
Weather Observation Station 6 풀이 질문(LIKE OR)
해당 문제를 풀 때 다음과 같이 코드를 작성했는데요. SELECT City FROM Station WHERE City LIKE 'a%' or 'e%' or 'i%' or 'o%' or 'u%';결과물을 보니까 A로 시작하는 CITY만 출력되더라고요. OR로 연결되는 모든 조건에는 컬럼명과 LIKE를 써줘야 하닌데, 'a%' 뒤에 있는 것들은 그렇지 않아서 결과로 출력되지 않은 건가요?AND도 OR처럼 여러 번 쓰면 뒤에 컬럼명과 LIKE를 또 써줘야 하나요?
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
이 풀이는 왜 안되는지 질문 드리고 싶습니다.
def dfs(level, p): if level >= n: for x in res: if x != 0: print(chr(x + 64), end="") global cnt cnt += 1 print() else: for i in range(1, 27): if a[level] == i: res[p] = i dfs(level + 1, p + 1) res[p] = 0 elif i >= 10 and i // 10 == a[level] and i % 10 == a[level + 1]: # elif i >= 10 and a[level] * 10 + a[level + 1] == i: res[p] = a[level] * 10 + a[level + 1] dfs(level + 2, p + 1) res[p] = 0안녕하세요 선생님.다름이 아니고 제가 주석처리한 부분이 처음에 시도했던 방법인데 왜 이 방법에서는 정답이 출력이 안되는지 궁금해서 질문 남깁니다. 상태트리를 그리면서 추적을 해봐도 이부분 이해가 어렵네요.in2 파일을 출력했을 때 9개가 아닌 18개로 출력이 되고 중복 출력이 되고 있는 상황입니다.
-
미해결웹 애니메이션의 새로운 표준, Web Animations API
keyframeEffect를 찾을 수 없다고 나와요
안녕하세요 GroupEffect 수강중에 이런 에러가 떠서요 - 질문에 대한 답변은 강의자가 하는 경우도 있고, 수강생 여러분들이 해주시는 경우도 있습니다. 같이 도와가며 공부해요! :)- 작성하신 소스코드 자체의 오류보다는, 개념이나 원리가 이해되지 않는 부분을 질문해주시는게 좋습니다. 그대로 따라했는데 소스코드에서 버그가 나는 경우는 99%가 오타에 의한거라서, 완성된 소스랑 찬찬히 비교해보시면 직접 찾으실 수 있을 거예요. 개발자도구 console에 오류로 표시된 부분만 완성 코드에서 복사->붙여넣기를 해보시는 것도 방법입니다.- 먼저 유사한 질문이 있었는지 검색해보세요.- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
프로젝트 중인데 빠른답변 부탁드립니다..ㅜㅜ
현재 프론트와 백 나눠서 프로젝트를 진행중입니다.강의에서는 하나의 레파지토리에 프론트폴더, 백앤드폴더, docker-compose.yml 파일이 있던데저희는 오가니제이션으로 사용중이며, 프론트레파지토리, 백앤드레파지토리 나뉘어져있는 상황입니다. 강의처럼 Docker, Travis ci를 이용해서 자동배포를 할 예정인데,1. 이 상황에서는 docker-compose.yml파일과 nginx를 위한 Dockfile이 어느곳에 위치하게 되나요?2. 또, 강의에서는 mysql을 도커이미지로 만들고있던데, 만약 로컬에 이미 mysql이 깔려있고, AWS RDS를 이용중이라면 mysql에 대한 도커파일이 필요없는게 맞을까요?jwt토큰기반으로 프로젝트를 진행중이라 AT를 저장하기위해 redis를 사용중인데 이 상황이라면 redis에 대한 도커파일도 필요한건가요? 만약필요하다면 도커파일을 어떤식으로 작성해야하나요? ㅠㅠ또 강의에서는 travis ci를 하나의 레파지토리(프론트 폴더와 백앤드폴더)로 하여 자동배포중이던데 1번에서 언급한것처럼 두개의 레파지토리로 나뉘어져있을 경우 travis ci에는 두개로 등록하여 빌드 및 테스트하는게 맞을까요??
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
webview 강의 따라하는데 다음과 같은 에러가 나옵니다. ㅜㅜ
webview 강의 진행중 에러가 나와서 문의 드립니다. console창에 나온 에러 내용입니다. 강의보면서 세팅 똑같이 했는데 이렇게 나오면서 화면이 아무것도 적용이 안되네요.Performing hot restart...Syncing files to device Android SDK built for x86...Restarted application in 797ms.E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null)E/flutter ( 3101): #0 WebStorageHostApi.create (package:webview_flutter_android/src/android_webview.pigeon.dart:2036:7)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null)E/flutter ( 3101): #0 WebViewHostApi.create (package:webview_flutter_android/src/android_webview.pigeon.dart:289:7)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null)E/flutter ( 3101): #0 WebSettingsHostApi.create (package:webview_flutter_android/src/android_webview.pigeon.dart:1013:7)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null)E/flutter ( 3101): #0 WebSettingsHostApi.setDomStorageEnabled (package:webview_flutter_android/src/android_webview.pigeon.dart:1061:7)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null)E/flutter ( 3101): #0 WebSettingsHostApi.setJavaScriptCanOpenWindowsAutomatically (package:webview_flutter_android/src/android_webview.pigeon.dart:1087:7)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null)E/flutter ( 3101): #0 WebSettingsHostApi.setSupportMultipleWindows (package:webview_flutter_android/src/android_webview.pigeon.dart:1113:7)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null)E/flutter ( 3101): #0 WebSettingsHostApi.setLoadWithOverviewMode (package:webview_flutter_android/src/android_webview.pigeon.dart:1239:7)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null)E/flutter ( 3101): #0 WebSettingsHostApi.setUseWideViewPort (package:webview_flutter_android/src/android_webview.pigeon.dart:1263:7)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null)E/flutter ( 3101): #0 WebSettingsHostApi.setDisplayZoomControls (package:webview_flutter_android/src/android_webview.pigeon.dart:1288:7)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null)E/flutter ( 3101): #0 WebSettingsHostApi.setBuiltInZoomControls (package:webview_flutter_android/src/android_webview.pigeon.dart:1313:7)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null)E/flutter ( 3101): #0 WebViewClientHostApi.create (package:webview_flutter_android/src/android_webview.pigeon.dart:1476:7)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null)E/flutter ( 3101): #0 WebSettingsHostApi.setUserAgentString (package:webview_flutter_android/src/android_webview.pigeon.dart:1163:7)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): #1 Future.wait.<anonymous closure> (dart:async/future.dart:522:21)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): #2 WebViewAndroidPlatformController.updateSettings (package:webview_flutter_android/webview_android_widget.dart:275:5)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null)E/flutter ( 3101): #0 WebSettingsHostApi.setMediaPlaybackRequiresUserGesture (package:webview_flutter_android/src/android_webview.pigeon.dart:1189:7)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null)E/flutter ( 3101): #0 DownloadListenerHostApi.create (package:webview_flutter_android/src/android_webview.pigeon.dart:1749:7)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): #1 Future.wait.<anonymous closure> (dart:async/future.dart:522:21)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): #2 WebView.setDownloadListener (package:webview_flutter_android/src/android_webview.dart:379:5)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null)E/flutter ( 3101): #0 WebChromeClientHostApi.create (package:webview_flutter_android/src/android_webview.pigeon.dart:1861:7)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): #1 Future.wait.<anonymous closure> (dart:async/future.dart:522:21)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): #2 WebView.setWebChromeClient (package:webview_flutter_android/src/android_webview.dart:399:5)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null)E/flutter ( 3101): #0 WebViewHostApi.loadUrl (package:webview_flutter_android/src/android_webview.pigeon.dart:401:7)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(error, java.lang.IllegalStateException: Trying to create a platform view of unregistered type: plugins.flutter.io/webviewE/flutter ( 3101): at io.flutter.plugin.platform.PlatformViewsController$1.createPlatformView(PlatformViewsController.java:489)E/flutter ( 3101): at io.flutter.plugin.platform.PlatformViewsController$1.createForTextureLayer(PlatformViewsController.java:191)E/flutter ( 3101): at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.create(PlatformViewsChannel.java:128)E/flutter ( 3101): at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.onMethodCall(PlatformViewsChannel.java:55)E/flutter ( 3101): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:258)E/flutter ( 3101): at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295)E/flutter ( 3101): at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:322)E/flutter ( 3101): at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12)E/flutter ( 3101): at android.os.Handler.handleCallback(Handler.java:938)E/flutter ( 3101): at android.os.Handler.dispatchMessage(Handler.java:99)E/flutter ( 3101): at android.os.Looper.loop(Looper.java:223)E/flutter ( 3101): at android.app.ActivityThread.main(ActivityThread.java:7656)E/flutter ( 3101): at java.lang.reflect.Method.invoke(Native Method)E/flutter ( 3101): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)E/flutter ( 3101): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)E/flutter ( 3101): , null, null)E/flutter ( 3101): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:653:7)E/flutter ( 3101): #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:315:18)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): #2 SurfaceAndroidViewController._sendCreateMessage (package:flutter/src/services/platform_views.dart:1017:30)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): #3 AndroidViewController.create (package:flutter/src/services/platform_views.dart:801:5)E/flutter ( 3101): <asynchronous suspension>E/flutter ( 3101): 도움 좀 부탁드립니다.
-
미해결웹플로우(Webflow) 시작하기 - 코딩 없이 자유도 높은 프로토타입 만들기
파비콘 옆에 사이트 설명문구 수정외 2
안녕하세요? 파비콘은 세팅메뉴에 있어서 사용하고 있는데요 그 옆에 사이트 제목은 어디서 입력하나요? Framer는 Titlerhk Page Description이 파비콘과 같은 메뉴에 있던데요홈페이지에서 접속시 팝업창을 띄울려면 어떻게 해야 하나요>공지사항같은 게시판 기능은 어떻게 하면 좋을까요?감사합니다
-
해결됨한 입 크기로 잘라먹는 타입스크립트(TypeScript)
클래스 문법 관련 질문 드립니다.
안녕하세요.6-0 자바스크립트의 클래스 관련 강의를 듣고 강의노트에 링크해주신 MDN 웹 문서를 읽어보다가 궁금한 게 생겨서 질문 드립니다.강의에서는 아래 코드와 같이 클래스를 정의할 때 필드를 먼저 작성한 뒤에 생성자를 작성하는 방식을 소개 해주셨습니다.class Student { // 필드 name; age; grade; // 생성자 constructor(name, grade, age) { this.name = name; this.grade = grade; this.age = age; } }그리고 링크해주신 MDN 문서의 예시에는 클래스를 정의할 때 필드 정의를 생략하고 바로 생성자를 작성하는 코드를 보여주고 있는데요.class Rectangle { constructor(height, width) { this.height = height; this.width = width; } }필드를 명시적으로 작성하는 것과 작성하지 않는 것에는 어떤 차이가 있을까요? 강의에서 작성한 코드 중 필드 부분을 주석처리해도 동일한 실행 결과가 나와서 생략이 가능한 부분인지 궁금합니다. 혹은 생략하지 않고 반드시 적어주어야 하는 경우가 있을까요?개인적으로 검색을 통해 찾아보고자 했는데 검색 방법이 잘못되었는지 적절한 자료를 찾지 못하여 질문을 남기게 되었습니다.차근차근 이해하기 쉬운 좋은 강의 제공해주셔서 감사합니다. ++ 추가질문후속 강의를 이어서 듣고 타입스크립트에서 필드를 생략 가능한 상황에 대해 공부했습니다.자바스크립트에서는 타입스크립트와 달리 좀 더 유연하게 사용할 수 있기 때문에 필드를 작성하지 않아도 코드실행이 되는 것으로 보면 될까요?
-
해결됨Practical Testing: 실용적인 테스트 가이드
controller, service용 dto를 분리시키는 것에 대한 질문
항상 잘 듣고 있습니다. 감사합니다. controller layer와 service layer의 dto를 서로 분리시켜서 service layer가 상위 레이어를 모르도록 한다는 것은 이해가 되었습니다.질문 드리겠습니다! dto를 분리할 때, 중복된 코드가 복잡성을 증가시킬 수도 있고 운영 시, 두 dto 간의 변환 과정의 비용이 어느 정도 성능에 영향을 미칠 수 있다고도 생각합니다.2개로 분리하는 방법은 일반적인 설계 패턴은 아니라고 생각되는데, 혹시 현업에서도 자주 사용하는 방식이신지가 궁금합니다. service에서 생성된 response 데이터에 대해서도 controller만의 response dto를 따로 생성할 필요가 있는지 궁금합니다. 클라이언트로 내려주는 응답 객체로 controller 클래스에서 ResponseEntity는 사용하지 않으시는지,주로 현업에서도 강의에서처럼 응답 객체(ApiReponse)를 커스텀해서 내려주는 방식을 선호하시는지 궁금합니다.
-
해결됨PM을 위한 데이터 리터러시(프로덕트 데이터 분석)
<습관 = 문제 해결>에 대해
안녕하세요, 카일님. 결국 습관을 형성시켜 지속적으로 문제를 해결한다는 말씀에 궁금한 점이 생겨 질문드립니다.우리가 해결하고자 하는 문제가 리텐션을 필요로 하는 제품이 아니라면, 습관 형성이 어렵다고 생각하는데 모든 프로덕트가 결국 '습관화'시키는 게 중요한가요?인스타그램이나 유투브 같은 서비스들은 리텐션을 필수적으로 하는 반면, 결혼, 세금 환급 등 해결하고자 하는 문제가 일회성이거나, 인생에 살면서 정말 적은 횟수로 발생하는 문제라면 이런 프로덕트도 리텐션(습관형성)을 중요하게 고려해야 하는 지 모르겠어서요. 리텐션이 정말 중요한가? 정말 무식하게 들릴 수 있지만.. 사실 사람들이 앱을 많이 찾고 사용하는 건 중요하지만 결제(구매) 전환을 붙일 수 있는 구조가 아니거나, 1번같은 리텐션이 상대적으로 적을 수밖에 없는 앱들이면 서비스 입장에서 괜찮은 수익 창출을 낼 수 없는데 단순히 사람들을 불러모으고 사용하게 만드는 게 왜 중요한지 궁금합니다. 질문이 기네요..ㅎㅎ 보시고 여유있으시다면 답변 부탁드립니다 ㅎㅎ
-
미해결홍정모의 따라하며 배우는 C언어
float의 가장 작은 값
강의에서 1:00에서 변수 max에다가 float가 가질 수 있는 가장 작은 값을 입력하는데 FLT_MAX에다가 -를 붙이는데 FLT_MIN을 사용하지 않는 이유가 뭔가요?또 정수형의 경우예를들어 char형이면 char형의 최댓값은 127이고 최솟값은 -128이어서 최댓값인 127에 -를 붙여도 최솟값이 안되는데실수의 경우는 다른가요? 그냥 최대값인 FLT_MAX에 -를 붙이면 최솟값이 되나요? 항상 감사합니다!!!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@Autowired 에러 납니다
1:57초 강의 보면Autowired를 달아주는데똑같이 해보니까이런 에러가 뜹니다
-
미해결스프링 시큐리티 OAuth2
검증 아키텍처 이해 - BearerTokenAuthenticationFilter 강의 편 질문있습니다.
강의 : 검증 아키텍처 이해 - BearerTokenAuthenticationFilter 안녕하세요 강사님, 강의 학습중 질문이 있습니다. 다음은, 시큐리티 설정 파일 일부 코드이며여기서 JwtAuthorizationRsaPublicKeyFilter 를 추가로 Bean 등록하였는데요. 일단 Bearer 에 관련된건 BearerTokenAuthenticationFilter가 수행하고doFilterInternal 메서드에서 시큐리티 컨텍스트에 저장 하는 코드를 확인했습니다. 여기서 수업시간에 생성한 JwtAuthorizationRsaPublicKeyFilter 필터입니다첫번째 질문강의 예제 한에서는 시큐리티 컨텍스트에 저장하는초점에 있어서는,JwtAuthorizationRsaPublicKeyFilter 필터가 없어도 문제 없는것 같은데 제 생각이 맞나요? 두번째 질문두 필터의 순서는 어떻게 지정되는건가요? 세번째 질문또한 JwtAuthorizationRsaPublicKeyFilter 필터에 추가적인 로직을 부여한다면,1. 직접 커스텀 필터를 특정 필터 전/후에 등록2.리프레쉬 토큰 로직3.DB 커넥션이 필요한 작업4. 토큰 유효시간 검증등과 같은 작업할때 일까요?아니면 또다른 상황이 있을까요?
-
해결됨디지털포렌식전문가 2급 필기 핵심 요약집[전자책]
안녕하세요 자격증 관련하여 질문이 있습니다.
안녕하세요 이번에 디지털포렌식전문가2급 준비하는 학생입니다.다름이 아니라 자격증과 관련하여 궁금한 것이 있어 여쭈어봅니다.일단 필기, 실기 둘 다 합격해야 자격증 발급이 되는 것으로 인지를 하고 있는데 만약 필기는 합격하고 실기는 합격하지 못한 경우 필기가 합격됐다는 것이 인정되는 기간이 어느정도인지 궁금합니다.(필기를 합격해야 실기를 볼 수 있다고 인지를 하기 때문에 이러한 질문을 드립니다)
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
윈도우 cmd 에서의 실행(질문 수정)
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 이번에 기본적으로 필요한 자바와 db를 독학한 후 스프링을 시작하였습니다.이번 빌드를 실행할 때, 저는 자바 17버전과 스프링부트 3.0 이상 버전을 다운했기에 교안에 나와있는 '자주하는 질문'에 나와있는 [Querydsl 부트 3.x 설정] 의 gradle 버전에 맞게 코드를 옮겨붙인 후 실행하였습니다.gradle의 코드를 처음 그대로의 상태(gradle 수정 전)에서 실행할 때는 intellij 와 윈도우 모두 잘 실행되었으나,gradle 부분을 Querydsl 부트 3.x 설정로서 실행하니 intellij에선 이상이 없었지만, 윈도우 cmd에서 실행할 시 /hello 는 연결이 안되었습니다. gradle 수정으로 인한 에노테이션 연결이 달라져 라이브러리를 가져오지 못한 건가 라는 생각은 들지만, 이게 확실치 않고 어떻게 수정을 해야할지 찾아봐도 해결책을 찾지 못해 질문드립니다.(빌드를 하는데는 오류가 발생하지 않았습니다.) 1.수정 전의 gradle수정 후의 gradle - ( '자주하는 질문'에 나와있는 [Querydsl 부트 3.x 설정] )plugins { id 'java' id 'org.springframework.boot' version '3.1.1' id 'io.spring.dependency-management' version '1.1.0' } group = 'hello' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } repositories { mavenCentral() } jar { enabled = false }dependencies {implementation 'org.springframework.boot:spring-boot-starter-data-jpa'implementation 'org.springframework.boot:spring-boot-starter-web'implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0'compileOnly 'org.projectlombok:lombok'runtimeOnly 'com.h2database:h2'annotationProcessor 'org.projectlombok:lombok'testImplementation 'org.springframework.boot:spring-boot-starter-test'//Querydsl 추가implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta"annotationProcessor "jakarta.annotation:jakarta.annotation-api"annotationProcessor "jakarta.persistence:jakarta.persistence-api"}tasks.named('test') {useJUnitPlatform()}clean {delete file('src/main/generated')}cmd에서의 실행순서1. 저장해놓은 hello-spring 디렉토리로 이동2. gradlew.bat build -x check 으로 빌드( -x check 없이 빌드 시 에러가 발생하여 구글링을 통해 찾아낸 방법입니다.)3. java -jar (빌드한 jar 파일)결과수정 전 gradle 에서는 이상이 없으나.수정 후 gradle로 실행 시, intellij에서는 이상없이 잘 작동하지만, cmd로 실행 시 localhost:8080/hello 에서 whitelable error page가 발생저의 오류원인 추측1.애노테이션이 제대로 되지 않아 라이브러리를 불러오지 못했다.2. 지정된 파일 경로가 잘못되어 에러가 발생했다.
-
해결됨Next.js 시작하기(feat. 지도 서비스 개발)
실행안됨
위와 같이 실행이 안되고 저 상태로 계속 멈춰있습니다. 종료하고 다시해도 안되고, 삭제했다 다시 설치해도 안되고, 컴퓨터를 껐다 켜도, NPM을 업그레이드 시켜도 계속 저 창에서 멈춰있는 것만 반복하는데 뭐가 문제일까요?
-
해결됨Next.js 시작하기(feat. 지도 서비스 개발)
getStaticPaths 질문
1. fallback:true인 경우 npm run build 할때 정적 페이지를 생성하는게 아니라외부사용자가 접근한 시점에 생성을해서 보여준다는 것인가요?맞다면 npm build 시점에는 생성을 하나도 안한다는 건가요?2. fallback: false인 경우 npm run build 시에 getStaticPaths 에서 return한 path에 대한 페이지만 생성하는게 맞나요?3. getStaticProps 안에서 fallback에 대한 처리는 fallback:true인 경우에만 처리하는거죠?(return { notFound: true } 같은것)4. getStaticPaths는 path에 따른 페이지를 생성시켜주는 함수이니 동적 라우팅에만 사용하는 함수인가요?5. 데이터가 자주 바뀌는 페이지도 이러한 방식을 적용가능한것 같은데 초기 페이지에 대해서SSR과 SSG 중 하나의 선택지로 골라서 적용을 해야할것 같네요. 어떤것을 선택해야 하는지는직접 성능을 측정해가면서 비교하는게 정확한가요? 아니면 강좌에서 말씀하신것 처럼 웬만하면 SSR를 지양하고SSG를 적용하는쪽으로 가는게 좋은건가요? CSR, SSR, SSG 적용을 하는 판단기준이 잘 안서네요.
-
미해결Practical Testing: 실용적인 테스트 가이드
Controller 테스트할 때, Service 에 대한 로직
안녕하세요! 테스트에 대해 의아했던 부분이 많이 풀리는 강의입니다. 정말 감사드려요. 강의를 잘 듣고 있다가 궁금한게 생겨서요!controller @mockBean Service service @test void postData() { // when when(service.message()).thenRetrun() }간단하게 코드를 적어봣는데요!service에 대해 MockBean으로 주입만 해줬을 뿐, Service에 대한 로직이 없어서요!제 생각에는 Service가 return 하는 부분은 이미 서비스 계층에서 테스트가 끝났고 Controller 에 테스트를 해야하는 주점은1 ) Request 에 오는 데이터들의 검증뿐이라고 생각하는데 맞나요? Get 같은 경우에도 Service에 오는 건 그냥 빈 배열처리하셨더라구요! 감사합니다!
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
처음 테스트시에 에러가 나오는데 모르겠네요
처음 테스트 하는데 이렇게 나옵니다.왜 이럴까요? ㅠㅠ
-
미해결[2024년 출제기준] 웹디자인기능사 실기시험 완벽 가이드(HTML+CSS+JQUERY)
footer에 사진처럼 일자로 되어있는데 똑같이 따라했는데 뭐가문제일까요 ,,
푸터부분에 일자로 되어서 강의처럼 안되는데 뭐가문제일까요 ,,선생님이 하신대로따라했는데 계속 저부분이 안되서 문의드립니다 ...ㅠㅠㅠㅠ