묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Slack 클론 코딩[실시간 채팅 with React]
채팅보내기 강의중
안녕하세요 제로초님!채팅보내기 강의를 보고있는데 workspace/index.tsx에서갑자기 socket 코드 가생겼는데 강의에는 설명이 없는거 같아서 문의 남깁니다!
-
미해결핸즈온 리액트 네이티브
9.4 왜 DisplayName이 한글자밖에 안찍힐까요?
프로필 수정하는 부분에서DisplayName을 넣어서 바꿔보면 맨첫 한글자만 가져오게 되는데 setDisplayName이 말을 안듣는 것인지...뭐가 문제인건지 모르겠네요... 코드 확인한번만 해주시면 감사하겠습니다.import { StyleSheet, Text, View, Button, Pressable, TextInput, Keyboard, Alert } from 'react-native'; import PropTypes from 'prop-types'; import { useNavigation } from '@react-navigation/native'; import { useUserState } from '../contexts/UserContext'; import FastImage from '../components/FastImage'; import { MaterialCommunityIcons } from '@expo/vector-icons'; import { GRAY, WHITE } from '../colors'; import HeaderRight from './../components/HeaderRight'; import { useCallback, useEffect, useLayoutEffect, useState } from 'react'; import { updateUserInfo } from '../api/auth'; import SafeInputView from '../components/SafeInputView'; const UpdateProfileScreen = () => { const navigation = useNavigation(); const [user, setUser] = useUserState(); const [displayName, setDisplayName] = useState(user.displayName); const [disabled, setDisabled] = useState(true); const [isLoading, setIsLoading] = useState(false); const onSubmit = useCallback(async () => { Keyboard.dismiss(); if (!disabled) { setIsLoading(true); try { const userInfo = { displayName }; console.log(userInfo); await updateUserInfo(userInfo); setUser((prev) => ({ ...prev, ...userInfo })); // navigation.goBack(); setIsLoading(false); } catch (error) { Alert.alert('사용자 수정 실패', error.message); setIsLoading(false); } } }, [disabled, displayName, navigation, setUser]); useEffect(() => { setDisabled(!displayName || isLoading); console.log('current', displayName); }, [displayName, isLoading]); useLayoutEffect(() => { navigation.setOptions({ headerRight: () => <HeaderRight onPress={onSubmit} disabled={disabled} />, }); }, [navigation, disabled]); return ( <SafeInputView> <View style={styles.container}> <View> <View> <FastImage source={{ uri: user.photoURL }} style={styles.photo}></FastImage> <Pressable onPress={() => {}} style={styles.imageButton}> <MaterialCommunityIcons name="image" size={20} color={WHITE} /> </Pressable> </View> <TextInput value={displayName} onChangeText={(text) => setDisplayName(text.trim())} style={styles.input} placeholder="NickName" textAlign="center" maxLength={10} returnKeyType="done" autoCapitalize="none" autoCorrect={false} textContentType="none" /> </View> </View> </SafeInputView> ); };
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
메이븐 프로젝트
현재 Hello JPA - 프로젝트 생성 부분을 듣고 있는 수강생입니다.그 뒤에 있는 jpa 로드맵 모든 강의에서도 계속 메이븐 프로젝트로 프로젝트 진행을 하시는건가요?메이븐이랑 gradle 프로젝트는 많이 다를까요?
-
해결됨따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
다 잘 되는데 postman에서 err가 떠요
처음엔 config.mongoURI를 못 읽어와서 mongoDB연결이 안 되더니, console.log한 번 찍고 나니까 이상하게 돼요그런데 postman에서 err가 뜹니다..이유가 뭘까요?
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
궁금한것이...
기본에 이어서 실전도 열심히 보면서 공부하고 있는데요,혹시 ...리액트 잠깐 공부할때 보니까 프로젝트는 만들고 빌드해서 배포라고 해야 하나요그럼 뷰도 마찬가지로 그런작업을 거쳐야 하는거지요...지금 실전편에서 게시판을 만들고 있는데 그럼 다 완성이 되고 나면 빌드나 배포등도 해야 하는건지요...그런 내용들까지 이 강좌에 있는건지 궁금합니다.목록으로 봐서는 잘 모르겠어서 여쭈어봅니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
BasicErrorController의 errorHtml()에서 뷰를 찾는 매커니즘
WAS가 /error 요청(이때, Accept: text/html) -> BasicErrorController의 errorHtml() 호출 -> 클라이언트에게는 뷰(오류 페이지)가 전달됩니다. 이 뷰를 찾는 매커니즘이, (이전 파트에서 배웠던) 'BasicErrorController에서 정한 뷰 선택 우선순위에 따라 뷰를 선택. templates/error 폴더 -> static/error 폴더 -> error.html'를 의미하는게 맞나요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
Application > Cookies 에 front에만 저장이 안 돼요...
안녕하세요 제로초님,Application > Cookies 에 sid가 front에만 저장이 안 되는 문제가 있습니다. sid가 back에는 저장이 됩니다.제가 아직 쿠키와 세션 이해가 부족한 건지.. axios config에 뭔가 문제가 있는건지,,, 구글링 해봐도 별 거 안 나오고.. 제가 이미 다 한 거고...https://stackoverflow.com/questions/71036779/cookies-sent-from-backend-but-not-set-correctly-on-frontendhttps://stackoverflow.com/questions/72105765/axios-doesnt-create-a-cookie-even-though-set-cookie-header-is-therefront: config/config.tsimport axios from "axios"; import { backUrl } from "../../config/config"; axios.defaults.baseURL = backUrl; axios.defaults.withCredentials = true; const instance = axios.create({ baseURL: backUrl, // cors withCredentials: true, // cookie (user info) }); // instance.interceptors.request.use(function (instance) { // const kakao_authorization = localStorage.getItem("kakao_authorization"); // const Token = localStorage.getItem("Authorization"); // const Retoken = localStorage.getItem("refresh-Token"); // instance.headers["Authorization"] = Token; // instance.headers["refresh-Token"] = Retoken; // instance.headers["kakao_authorization"] = kakao_authorization; // return instance; // }); export default instance; front - Network 탭front - Application > Cookies 탭back: app.jsconst express = require('express'); const morgan = require('morgan'); const cors = require('cors'); const session = require('express-session'); const cookieParser = require('cookie-parser'); const passport = require('passport'); const dotenv = require('dotenv'); const path = require('path'); const hpp = require('hpp'); const helmet = require('helmet'); const userRouter = require('./routes/user'); const postRouter = require('./routes/post'); const postsRouter = require('./routes/posts'); const db = require('./models'); const passportConfig = require('./passport'); dotenv.config(); const app = express(); db.sequelize.sync() .then(()=>{ console.log('db 연결 성공'); }) .catch(console.error); passportConfig(); app.use(express.json()); // axios로 data보낼 때 app.use('/', express.static(path.join(__dirname, 'uploads'))); // multipart form data app.use(express.urlencoded({ extended: true })); // 일반 form 일 때에는 url encoded로 받음 if (process.env.NODE_ENV === 'production') { app.use(morgan('combined')); app.use(hpp()); app.use(helmet({ contentSecurityPolicy: false })); app.use(cors({ origin: 'http://shinyoungyou.com', credentials: true, })); } else { app.use(morgan('dev')); app.use(cors({ origin: true, credentials: true, })); } app.use(cookieParser(process.env.COOKIE_SECRET)); app.use(session({ saveUninitialized: false, resave: false, secret: process.env.COOKIE_SECRET, cookie: { httpOnly: true, secure: false }, domain: process.env.NODE_ENV === 'production' && '.shinyoungyou.com' })); app.use(passport.initialize()); app.use(passport.session()); app.get('/', (req, res) => { res.send('Express + TypeScript Server'); }); app.post('/api/post', (req, res) => { res.send('this is post http method'); }); app.use("/user", userRouter); app.use("/post", postRouter); app.use("/posts", postsRouter); module.exports = app; back - Application > Cookies 탭
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
상품카테고리 API 실행 후, respository.save() 오류
안녕하세요. 부트캠프 백엔드 강의를 수강하고 있습니다.강의 [섹션8. ORM활용 API구현 > 상품카테고리 등록 API] 에서 질문이 있습니다.ProductCategory 생성 API를 실행하면, ProductCategory의 Metadata가 없다는 오류가 뜹니다강의자료(노션)의 코드를 그대로 copy&paste 해줘도 동일한 오류가 나옵니다.상품카테고리 등록 API 통하여 {name} 인수는 제대로 서버에 들어옵니다.(Console.log에 제대로 나와요)디버깅해보니 아래 코드에서 에러가 발생합니다. const result = await this.productCategoryRepository.save({ name });=> 위 코드를 주석처리하면 오류발생 없이, DB 테이블들이 정상적으로 생성됩니다. {name} 에 인수도 잘 들어오는데, 터미널에서 보면 mysql 쿼리문도 생성이 안됩니다. 제가 어떤 부분에서 수정을 해줘야할까요? 댓글 부탁드립니다~좋은강의에 항상 감사드립니다!
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
라우터 이동시 파라미터 전달
안녕하세요.router로 페이지 이동 시 값을 전달하는 방식이 query 와 params가 있는걸로 알고있는데요,query로 보내면 새로고침해도 값이 남아있지만 url에 파라미터가 보이고params로 보내면 url에 파라미터가 안보이지만 새로고침하면 값이 날라가는데요페이지를 이동할때 url에도 값이 안보이고 새로고침해도 값이 날라가지 않게 파라미터를 넘기려면 어떤 방식으로 값을 넘겨야 하나요??
-
미해결자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 2(마스터편)
입출력 스트림 질문입니다.
안녕하세요.FileOutputStream 객체 생성시 질문이 있어서 글 남깁니다.FileOutputStream fos = new FileOutputStream("output.txt");이후 try() resource 구문을 쓰는 건 문제가 되지 않는데 처음에 변수 초기화를 시켜주지 않고FileOutputStream fos = null;fos = new FileOutputStream("output.txt"); 위와 같이 작성 후 try resource 구문을 작성하면 에러가 나네요. 해당 원인이 무엇인지 궁금합니다.감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberRepositoryTest 실행 오류
application 파일쪽에 띄어쓰기가 2칸으로 되어있는지접속 url에 문제가 있는지 체크를 해봐도 특이 사항은없었는데요 MemberRepositoryTest 실행 시킬때 테이블 생성이 정상적으로 이루어 지고 있지 않습니다...could not prepare statement; SQL [call next value for hibernate_sequence]; nested exception is org.hibernate.exception.SQLGrammarException: could not prepare statementorg.springframework.dao.InvalidDataAccessResourceUsageException: could not prepare statement; SQL [call next value for hibernate_sequence]; nested exception is org.hibernate.exception.SQLGrammarException: could not prepare statement at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:259) at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:233) at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) at app//org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) at app//org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) at app//com.todel.sample.MemberRepository$$EnhancerBySpringCGLIB$$cc977298.save(<generated>) at app//com.todel.sample.MemberRepositoryTest.testMember(MemberRepositoryTest.java:25) at java.base@11.0.16.1/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base@11.0.16.1/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base@11.0.16.1/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base@11.0.16.1/java.lang.reflect.Method.invoke(Method.java:566) at app//org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:725) at app//org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) at app//org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) at app//org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) at app//org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) at app//org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) at app//org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:214) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:210) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:66) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at java.base@11.0.16.1/java.util.ArrayList.forEach(ArrayList.java:1541) at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at java.base@11.0.16.1/java.util.ArrayList.forEach(ArrayList.java:1541) at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86) at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86) at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:99) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:79) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:75) at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62) at java.base@11.0.16.1/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base@11.0.16.1/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base@11.0.16.1/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base@11.0.16.1/java.lang.reflect.Method.invoke(Method.java:566) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94) at com.sun.proxy.$Proxy2.stop(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65) at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)Caused by: org.hibernate.exception.SQLGrammarException: could not prepare statement at app//org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:63) at app//org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:37) at app//org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113) at app//org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:186) at app//org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareStatement(StatementPreparerImpl.java:75) at app//org.hibernate.id.enhanced.SequenceStructure$1.getNextValue(SequenceStructure.java:105) at app//org.hibernate.id.enhanced.NoopOptimizer.generate(NoopOptimizer.java:40) at app//org.hibernate.id.enhanced.SequenceStyleGenerator.generate(SequenceStyleGenerator.java:534) at app//org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:114) at app//org.hibernate.event.internal.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:185) at app//org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:128) at app//org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:55) at app//org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:107) at app//org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:756) at app//org.hibernate.internal.SessionImpl.persist(SessionImpl.java:742) at java.base@11.0.16.1/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base@11.0.16.1/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base@11.0.16.1/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base@11.0.16.1/java.lang.reflect.Method.invoke(Method.java:566) at app//org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:315) at app//com.sun.proxy.$Proxy98.persist(Unknown Source) at app//com.todel.sample.MemberRepository.save(MemberRepository.java:15) at app//com.todel.sample.MemberRepository$$FastClassBySpringCGLIB$$e449817d.invoke(<generated>) at app//org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ... 90 moreCaused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Sequence "HIBERNATE_SEQUENCE" not found; SQL statement:call next value for hibernate_sequence [90036-214] at org.h2.message.DbException.getJdbcSQLException(DbException.java:632) at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) at org.h2.message.DbException.get(DbException.java:223) at org.h2.message.DbException.get(DbException.java:199) at org.h2.command.Parser.readSequence(Parser.java:8471) at org.h2.command.Parser.readTermWithIdentifier(Parser.java:5347) at org.h2.command.Parser.readTermWithIdentifier(Parser.java:5217) at org.h2.command.Parser.readTerm(Parser.java:4901) at org.h2.command.Parser.readFactor(Parser.java:3398) at org.h2.command.Parser.readSum(Parser.java:3385) at org.h2.command.Parser.readConcat(Parser.java:3350) at org.h2.command.Parser.readCondition(Parser.java:3132) at org.h2.command.Parser.readExpression(Parser.java:3053) at org.h2.command.Parser.parseCall(Parser.java:6980) at org.h2.command.Parser.parsePrepared(Parser.java:765) at org.h2.command.Parser.parse(Parser.java:689) at org.h2.command.Parser.parse(Parser.java:661) at org.h2.command.Parser.prepareCommand(Parser.java:569) at org.h2.engine.SessionLocal.prepareLocal(SessionLocal.java:631) at org.h2.server.TcpServerThread.process(TcpServerThread.java:288) at org.h2.server.TcpServerThread.run(TcpServerThread.java:191) at java.lang.Thread.run(Unknown Source) at app//org.h2.message.DbException.getJdbcSQLException(DbException.java:632) at app//org.h2.engine.SessionRemote.readException(SessionRemote.java:637) at app//org.h2.engine.SessionRemote.done(SessionRemote.java:606) at app//org.h2.command.CommandRemote.prepare(CommandRemote.java:78) at app//org.h2.command.CommandRemote.<init>(CommandRemote.java:50) at app//org.h2.engine.SessionRemote.prepareCommand(SessionRemote.java:480) at app//org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1116) at app//org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:92) at app//org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:288) at app//com.zaxxer.hikari.pool.ProxyConnection.prepareStatement(ProxyConnection.java:337) at app//com.zaxxer.hikari.pool.HikariProxyConnection.prepareStatement(HikariProxyConnection.java) at app//org.hibernate.engine.jdbc.internal.StatementPreparerImpl$1.doPrepare(StatementPreparerImpl.java:90) at app//org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:176) ... 114 more
-
해결됨ChatGPT 활용법, 생성 AI 프롬프트 엔지니어링 A to Z - 인공지능의 이해와 활용
33강 질문입니다.
안녕하세요.강의 잘 듣고있습니다.33강에서 구글시트에 새로 생성된 API key를 집어넣는데 계속 에러가 납니다.혹시 유료계정으로 전환해야 하나요?
-
미해결
마이크로 서비스 운영시, 백엔드비용 절감 노하우?
스터디삼아 만든 서비스가 있습니다.지금은 firebase의 DB, Storage의 무료구간을 사용중입니다.사용자가 많지않은 서비스를 운영할때 비용 절감할 수 있는 노하우가 있으실까요?
-
해결됨스스로 구축하는 AWS 클라우드 인프라 - 기본편
var 폴더가 보이지 않는 이유
안녕하세요 리눅스 초보라서 질문 하나 드립니다!16분 50초 즈음에 cd /var/www/html 로 들어가면 index.php 이 있는데요. 최초에 접속하고 나서 ls 혹은 ls -al 로 찍어보면 var 폴더가 보이지 않는데 어떻게 var/www/html 로 들어갈수 있는걸까요?
-
해결됨비전공자의 전공자 따라잡기 - 네트워크, HTTP
내 라우터에서 IP 부분을 떼었다가 붙이는 이유
안녕하세요 제로초님.5분 32초에 내 라우터에서 IP부분을 떼었다가 다시 붙여준다는 말씀을 하셨는데, 이미 네이버 IP를 목적지 IP로 갖고 있는데도 떼는 이유가 무엇인지, 떼었다가 붙였다가 하는 것은 케이스 마다 다르게 행해지는 것인지 궁금합니다.그리고 떼었다가 붙인다면 어떤 정보가 붙는건지 알려주시면 감사하겠습니다😊계속 강의를 보다보니 질문이 늘어나네요..ㅎㅎ+ 내 라우터가 인터넷을 통해서 네이버 라우터IP 주소를 아는 방법은 라우팅 테이블이라는 방법으로 물어물어 IP주소를 알게된다고 하셨는데, 내 컴퓨터는 네이버 IP를 DNS를 통해서 이미 알고있다고 하셨는데 왜 물어물어 가는건지도 설명해주시면 감사하겠습니다!
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
트랜잭션 AOP가 만드는 프록시 객체
스프링 DB를 복습하던 중에 처음 강의 들었을 때는 미처 생각하지 못했던 의문점이 생겨 질문 드립니다.스프링에서는 @Transactional annotation을 사용할 때, @Transactional이 붙은 클래스의 실제 객체 대신 프록시 객체를 만들어서 스프링 컨테이너에 등록한다고 강의에서 들었습니다. 스프링 컨테이너에 등록된 프록시 객체는 내부적으로 실제 객체를 호출하는 것으로 알고 있는데, 그럼 이 실제 객체는 어디에 저장되어있는건가요? 실제 객체도 스프링 컨테이너에 등록되어 있는건지, 아니면 별도의 저장공간에 존재하는건지 궁금합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
인텔 맥 openjdk@17
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] openjdk@17설치후 인텔리제이서 스프링부트 3.0.6 버전을 실행할때 아래와같이 오류가 나는데요혹시 해결방법있으면 알려주시면 좋겠어요 .
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
질문드립니다
이것저것 눌러보다가 처음에 인터페이스부분이 사라져버렸는데 어떻게 복구시켜야할까요?
-
미해결스프링 시큐리티 OAuth2
Spring security 6 이후 client-authentication-method 설정 방법 공유
yml에client-authentication-method: POST로 설정하면 아마 안될 것 입니다.ㅠㅠclient-authentication-method: client_secret_post로 설정하면 해결됩니다..이것 때문에 한참 고생했네요.....
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
이해가 되었는지 확인차 질문드립니다!!
안녕하세요 강사님 늘 강의 잘보고 있습니다!이번 강의가 어려워서 제 나름대로 정리를 해보았는데제가 정리한게 맞는지 확인이 가능할까하여 이렇게 글 올려봅니다!!convertUSD(USD -> System.out.println(USD + " 달러 = " + (USD * 1400) + " 원"), 1); convertUSD 메소드의 매개변수로 Convertible Interface 와 int 가 있는데 매개변수 Convertible Interface 같은 경우, 오버라이딩 메소드를 자식 클래스에 만들어서 객체를 만들어 인자로 사용하는게 아닌 람다식을 이용해서 해당 Interface의 추상 메소드를 람다식으로 구현하여 사용한다고 이해했습니다.틀린 부분이 있다면 지적해주시면 감사하겠습니다!