묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
JPA와 DB 설정, 동작확인 강의 질문입니다.
안녕하세요! JPA와 DB 설정, 동작확인 강의에서 h2 데이터베이스 jdbc:h2:tcp://localhost/~/jpashop 에 연결하지 않은 상태에서jpashop 웹애플리케이션을 실행해봤습니다. Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set 오류가 뜨면서 localhost:8080에 접속이 안됩니다. MemberRepositoryTest도 Run 하니까 java.lang.IllegalStateException: Failed to load ApplicationContext 이런 에러가 뜨는데 h2 데이터베이스에 접속하지 않은 상태라서 인가요? 저가 생각하기론1. jpashop 웹 애플리케이션을 먼저 실행한다.2. 웹 서버가 돌아가면 h2 데이터베이스에 접속할 수 있다. 이렇게 생각하는데 제가 반대로 알고 있는건가요?h2데이터베이스와 스프링부트 웹 애플리케이션간의 통신 과정을 잘 모르겠습니다.도와주시면 정말 감사하겠습니다!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
갑자기 build error가 나서 질문 드립니다.
갑자기 build 시에 이런 내용의 에러가 발생했습니다. "C:\Program Files\Java\jdk-11.0.15.1\bin\java.exe" -Dmaven.multiModuleProjectDirectory=C:\Users\sspure123\Desktop\jpa-basic "-Dmaven.home=C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.1.3\plugins\maven\lib\maven3" "-Dclassworlds.conf=C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.1.3\plugins\maven\lib\maven3\bin\m2.conf" "-Dmaven.ext.class.path=C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.1.3\plugins\maven\lib\maven-event-listener.jar" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.1.3\lib\idea_rt.jar=64655:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.1.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.1.3\plugins\maven\lib\maven3\boot\plexus-classworlds-2.6.0.jar;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.1.3\plugins\maven\lib\maven3\boot\plexus-classworlds.license" org.codehaus.classworlds.Launcher -Didea.version=2022.1.3[INFO] Scanning for projects...[WARNING] [WARNING] Some problems were encountered while building the effective model for jpa-basic:ex1-hello-jpa:jar:1.0.0[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing. @ line 13, column 21[WARNING] [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.[WARNING] [WARNING] For this reason, future Maven versions might no longer support building such malformed projects.[WARNING] [INFO] ------------------------------------------------------------------------[INFO] BUILD FAILURE[INFO] ------------------------------------------------------------------------[INFO] Total time: 0.180 s[INFO] Finished at: 2022-07-28T22:29:49+09:00[INFO] ------------------------------------------------------------------------[ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1][ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.[ERROR] Re-run Maven using the -X switch to enable full debug logging.[ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles:[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/NoGoalSpecifiedException Process finished with exit code 1 구글링을 통해 검색하여, maven 문제라는 것을 알았고, pom.xml을 통해 다음과 같은 코드를 추가하였는데도 문제가 해결되지 않았습니다ㅠㅠ <pluginRepositories> <pluginRepository> <id>central</id> <name>Central Repository</name> <url>https://repo.maven.apache.org/maven2</url> <layout>default</layout> <snapshots> <enabled>false</enabled> </snapshots> <releases> <updatePolicy>never</updatePolicy> </releases> </pluginRepository></pluginRepositories><repositories> <repository> <id>central</id> <name>Central Repository</name> <url>https://repo.maven.apache.org/maven2</url> <layout>default</layout> <snapshots> <enabled>false</enabled> </snapshots> </repository></repositories> 어떻게 해결해야 할까요?
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
23:05 select의 value={value} 질문입니다.
질문이있는데 select부분에 value={value} 이부분은 왜하는건가요? onchange={e => onChange(e.target.value} 에서 e.target.value는 option의 value={value}를 의미하는건알겠습니다. 그렇다면 option에 value만넣어저도 제가한 코드에서는 정상작동하는데 select의 value는 없애도되는건가요? http://colorscripter.com/s/vSMyU07 제가한 코드도 첨부합니다.
-
미해결Vue.js 제대로 배워볼래?(Vue.js 프로젝트 투입 일주일 전)
main.js 질문드립니다.
강사님의 main.js 파일내용과는 달리 저는 ----------------------------------------------- import Vue from 'vue' import App from './App.vue' Vue.config.productionTip = false new Vue({ render: h => h(App), }).$mount('#app') ----------------------------------------------- 이렇게 설정되어있는데 무엇이 다른건가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
service 메소드의 파라미터명을 바꾸시는 이유가 있을까요?
안녕하세요.강의를 듣다가 override된 service method의 파라미터명을 계속 바꾸시는걸 봤는데,왜 바꾸시는지 이유를 알 수 있을까요?기존 : protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {변경 : protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {스프링과는 무관한 질문이오나 너무 궁금하여 질문해봅니다.감사합니다.
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
정상인가요?
items 에 overflow:hidden 을 주지 않아도 cleat : both; 를 주지 않아도 정상적으로 레이아웃이 짜지는데 잘되고 있는 거 맞나요? 프로그램은 vscode 입니다.
-
미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
upload_prob10 에러 문제
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. WEB-INF/web.xml을 알맞게 수정했는데 아래와 같은 오류가 발생했습니다. 확인 부탁드리겠습니다.!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
21분 28초 실행
코드를 실행 하게 되면 맨 위부터 순차적으로 create sequence hibernate_sequence start with 1 increment by 1 call next value for hibernate_sequence call next value for hibernate_sequence 이 코드들의 실행 결과가 team_id에 1이 들어가고, member_id 2가 들어가게 되는거 같은데 하나의 시퀀스를 서로가 같이쓰게 되는형태인거죠? 만약에 그렇다면 따로 시퀀스를 쓰게 하려면 어떻게 해야하나요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
if(s[i]!===s[n-i-1]) 부분이 오류나는데 왜그런걸까요?
안녕하세요. 강의 코드구현중 6분 52초 코드에서 강사님처럼 if(s[i]!==s[n-i-1]) 이렇게하면 코드오류가 안나는데 if(s[i]!===s[n-i-1]) === 3개를 붙이면 코드오류가 나는걸 확인했는데, 혹시 코드오류 이유를 알수 있을까요? 강의 감사히 늘 잘 듣고 있습니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
리덕스 구현 중에 에러가 났습니다.
리덕스연결을 시키고 실행을 했는데 위와 같은 메세지가 발생했습니다. ㅜㅜ 답변해주시면 감사하겠습니다.!! applayout import 코드는 아래와 같습니다. _app.js import 코드
-
미해결풀스택을 위한 탄탄한 프런트엔드 부트캠프 (HTML, CSS, 바닐라 자바스크립트 + ES6) [풀스택 Part2]
혹시 vscode는 사용 안 하실까용?? 엇 그리고 CSS 셀렉터 정리 1에도 질문 있습니다!
강의마다 다 codesandbox 이더라구요!! CSS Selector 정리1 부분에서 [속성=값]: 이 부분들 대소문자 구분하지 않는다고 적혀있는데, 속성은 대소문자 구분을 안하지만 값은 대소문자 구분을 하네용!
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
TS Lint 설치 질문 & 권한 요청드립니다.
안녕하세요. Vue 기초강좌를 듣고나서 중급강좌로 넘어온 수강생입니다. 강의 해주신 것 정말정말 완전 잘 듣고 있다고 말씀드리고 싶었습니다~ 질문 VS Code에서 TSLint 설치를 하려고 확장탭에서 검색을 하니 설치는 가능한 상태이지만,[이 확장은 더이상 유지 관리되지 않으므로 더 이상 사용되지 않습니다.] 라고 뜨는데, 혹시 TSLint로 검색했을 때에 같이 드는 다른 중에서 대신 설치할 수 있는 것이 있는지 여쭤봅니다.<TS Lint 검색시 같이 나오는 리스트>- TSLint / TSLint Vue / TSLint Snippets / TSLint Vue-TSX※Vue+TypeScript 강좌도 같이 듣고 있어서 그 강좌에 나오는 환경설정은 되어 있는데, 그거랑은 별도로 TSLint를 설치해야 하는지 여쭤봅니다. Github 권한 요청 인프런 아이디 : ehddndnjs@hanmail.net 인프런 이메일 : ehddndnjs@hanmail.net 깃헙 아이디 : ehddndnjs@hanmail.net 깃헙 Username : sumin33
-
미해결Nuxt.js 시작하기
혹시 nuxt에도 swr과같은 기능을하는것이 있을까요?
같은 데이터를 쓰는경우 여러 컴포넌트에서 똑같은 api를 호출할텐데 swr과 같이 여러곳에서 호출을해도 캐싱을해서 똑같은 api호출시 1번만호출하게끔 할수있나요 ?
-
미해결
Why is Scubanautic the Best Place to try Scuba Diving in Mallorca?
If you're looking for a place to try it out in Diving in Mallorca, Scubanautic is the place for you. They offer scuba diving Mallorca courses of varying lengths, including one-day classes for beginners who want to take things slowly and more challenging courses for those who are ready to take their skills to the next level. They have instructors from all over the world who speak English and other languages. And they make sure every course is customized to suit your needs so that you can be assured of a great experience during your time with them.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
프로젝트 설정저장
강의 내용과는 직접적인 연관은 없지만 프로젝트를 신규로 만들때마다 어노테이션 프로세싱체크, 빌드 설정에서 인텔리제이로 빌드, 등을 매번다시 설정해야하나요?
-
미해결
What is the Best Catalytic Converter Recycling Australia Company?
Are you looking for the best catalytic converter recycling Australia company? If so, then look no further than QLD Catalytic Converters. They offer a lifetime warranty on their catalytic converters because They believe that when it comes to your vehicle, you deserve nothing but the best. They don't stop at being the best. And also offer same-day shipping and affordable pricing so that your wallet doesn't suffer either. Call now!
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
while문 안 질문있습니다.
while(sum >= m) 으로 작성해주셨는데요 while(sum > m)으로 해도 반복 횟수는 똑같은거 같은데 맞나요? 그냥 궁금해서.. 확인차 글 남깁니다 !
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
질문이 있습니다!
안녕하세요. 사실 선생님 강의 시리즈 전체 다 들은지 꽤 됐습니다. 배운 걸 바탕으로 개인 사이드 프로젝트를 진행중에 있습니다. 저의 경우 Spring Security 와 JWT를 함께 써서 로그인 및 인증인가를 처리하고 있습니다. 지금까지 한 방식은 다음과 같습니다. 만약 사용자 정보를 삭제하는 요청이 수행되기 위해서는 먼저 컨트롤러에서 요청을 받고, 서비스 내부에 기능을 수행하고 리턴을 해주는데, 서비스 내부 메소드에서 현재 접속중인 유저의 세션을 Authentication auth = SecurityContextHolder.getContext().getAuthentication() 을 이용해서 세션 정보를 받아주고, 메소드의 들어온 userId 가 현재 로그인 된 유저의 userId 가 같다면 삭제되게 로직을 만들어서 작동도 잘 됩니다. 다만, 생각을 해보니 Service 에서는 보통 도메인의 비즈니스 로직이 들어가야하는데 저의 경우는 Spring Security를 여기에 의존해서 쓰고 있어서 문제가 될 수 있다고 생각해서 한 가지 의문이 들어서 질문 드립니다. 선생님은 보통 실무에서 인증인가를 어디서 처리하시나요? 서비스 안에서 Security를 의존하는 방식이 문제가 될까요? 문제가 된다면 다음과 같은 방식으로 해결하고자 하는데 어떤지 조언 부탁드리겠습니다. 1. 서비스 로직 진입 전 필터계층을 aop로 두고, 해당 API, 즉 컨트롤러에 진입할 때 필터 계층에서 미리 걸러주는 방법 2. 컨트롤러에서 인증에 필요한 정보를 미리 뽑아서 서비스 메소드 파라미터로 전달해주기 감사합니다 ^^
-
미해결배달앱 클론코딩 [with React Native]
회원가입 서버 연동 진행 중에 무한 로딩 현상이 발생합니다..
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 주소가 잘못된 것 같기도 한데.. 메트로 서버에 주소까지는 콘솔 잘 찍히구요 빌드 후안드로이드 스튜디오에서 10.0.2.2:3105 주소가 나오는 것 확인 했습니다.. public static final String API_URL = "http://10.0.2.2:3105"; 어떤 문제 인지 알 수 있을까요..? 아래는 SignUp 코드 전문 입니다 import React, {useCallback, useRef, useState} from 'react'; import { ActivityIndicator, Alert, KeyboardAvoidingView, Platform, Pressable, StyleSheet, Text, TextInput, View, } from 'react-native'; import {NativeStackScreenProps} from '@react-navigation/native-stack'; import {RootStackParamList} from '../../App'; import DismissKeyboardView from '../components/DismissKeyboardView'; import axios, { AxiosError } from 'axios'; import Config from 'react-native-config'; type SignUpScreenProps = NativeStackScreenProps<RootStackParamList, 'SignUp'>; function SignUp({navigation}: SignUpScreenProps) { const [loading, setLoading] = useState(false); const [email, setEmail] = useState(''); const [name, setName] = useState(''); const [password, setPassword] = useState(''); const emailRef = useRef<TextInput | null>(null); const nameRef = useRef<TextInput | null>(null); const passwordRef = useRef<TextInput | null>(null); const onChangeEmail = useCallback(text => { setEmail(text.trim()); }, []); const onChangeName = useCallback(text => { setName(text.trim()); }, []); const onChangePassword = useCallback(text => { setPassword(text.trim()); }, []); const onSubmit = useCallback( async () => { if (loading) { return; } //로딩 중인데 버튼 누를 경우 요청 XX if (!email || !email.trim()) { return Alert.alert('알림', '이메일을 입력해주세요.'); } if (!name || !name.trim()) { return Alert.alert('알림', '이름을 입력해주세요.'); } if (!password || !password.trim()) { return Alert.alert('알림', '비밀번호를 입력해주세요.'); } if ( //이메일을 검사하는 정규 표현식 !/^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/.test( email, ) ) { return Alert.alert('알림', '올바른 이메일 주소가 아닙니다.'); } if (!/^(?=.*[A-Za-z])(?=.*[0-9])(?=.*[$@^!%*#?&]).{8,50}$/.test(password)) { return Alert.alert( '알림', '비밀번호는 영문,숫자,특수문자($@^!%*#?&)를 모두 포함하여 8자 이상 입력해야합니다.', ); } console.log(email, name, password); //axios 사용해서 서버로 보내주기, async await 문법 쓸거임 try{ setLoading(true); console.log(Config.API_URL); //Http 메서드 : get, put, patch, post, delete, head, options 등 (get, delete는 data를 못넣음) const response = await axios.post(`${Config.API_URL}/user`, { email, name, password, });// 네이버에 내 아이피 치면 내 주소 나옴 console.log(response.data); Alert.alert('알림', '회원가입 되었습니다.'); navigation.navigate('SignIn'); } catch (error) { // 요청 실패 시 const errorResponse = (error as AxiosError).response; //타입 적용한 변수 console.error(errorResponse); if(errorResponse) { Alert.alert(errorResponse.data.message); } } finally { //try든 catch든 항상 최종적으로 finally 구문 실행함 setLoading(false); } }, [loading, navigation, email, name, password]); const canGoNext = email && name && password; return ( <KeyboardAvoidingView behavior = "position"> <View style={styles.inputWrapper}> <Text style={styles.label}>이메일</Text> <TextInput style={styles.textInput} onChangeText={onChangeEmail} placeholder="이메일을 입력해주세요" placeholderTextColor="#666" textContentType="emailAddress" value={email} returnKeyType="next" clearButtonMode="while-editing" ref={emailRef} onSubmitEditing={() => nameRef.current?.focus()} blurOnSubmit={false} /> </View> <View style={styles.inputWrapper}> <Text style={styles.label}>이름</Text> <TextInput style={styles.textInput} placeholder="이름을 입력해주세요." placeholderTextColor="#666" onChangeText={onChangeName} value={name} textContentType="name" returnKeyType="next" clearButtonMode="while-editing" ref={nameRef} onSubmitEditing={() => passwordRef.current?.focus()} blurOnSubmit={false} /> </View> <View style={styles.inputWrapper}> <Text style={styles.label}>비밀번호</Text> <TextInput style={styles.textInput} placeholder="비밀번호를 입력해주세요(영문,숫자,특수문자)" placeholderTextColor="#666" onChangeText={onChangePassword} value={password} keyboardType={Platform.OS === 'android' ? 'default' : 'ascii-capable'} textContentType="password" secureTextEntry returnKeyType="send" clearButtonMode="while-editing" ref={passwordRef} onSubmitEditing={onSubmit} /> </View> <View style={styles.buttonZone}> <Pressable style={ canGoNext ? StyleSheet.compose(styles.loginButton, styles.loginButtonActive) : styles.loginButton } disabled={!canGoNext || loading} // || 로딩 중 일때는 회원가입 버튼 클릭 안되게 onPress={onSubmit}> { loading ? ( <ActivityIndicator color='white'/> // 로딩 ) : ( <Text style={styles.loginButtonText}>회원가입</Text> )} </Pressable> </View> </KeyboardAvoidingView> ); } const styles = StyleSheet.create({ textInput: { padding: 5, borderBottomWidth: StyleSheet.hairlineWidth, }, inputWrapper: { padding: 20, }, label: { fontWeight: 'bold', fontSize: 16, marginBottom: 20, }, buttonZone: { alignItems: 'center', }, loginButton: { backgroundColor: 'gray', paddingHorizontal: 20, paddingVertical: 10, borderRadius: 5, marginBottom: 10, }, loginButtonActive: { backgroundColor: 'blue', }, loginButtonText: { color: 'white', fontSize: 16, }, }); export default SignUp;
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
데이터셋 바꾸기
질문이 있습니다. 제가 yolov5를 사용하기 위해 데이터셋을 ai hub라는 사이트에서 가져왔는데 데이터가 json파일과 사진 파일 밖에 안 들어있습니다. json 파일 안에는 데이터 전처리(바운딩 박스)가 다 되어 있습니다. 하지만 yolov5를 사용하려면 각 사진 파일마다 텍스트 파일이 있어야 하는데 혹시 json 파일을 안의 바운딩 박스 데이터를 각 사진의 텍스트 파일로 변환하는 방법이 있을까요?