묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결퀘이사(Quasar) 완벽 마스터: Vue 프론트 웹을 빠르게 만들고 싶다면! (Based Vue3)
질문 있습니다
boot쪽 강의 들으면서 터미널에 quasar new boot initalization 라고 썻는데 보안오류라고 뜨면서 안되네요quasar : 이 시스템에서 스크립트를 실행할 수 없으므로 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오.위치 줄:1 문자:1+ quasar new boot initalization+ ~~~~~~ + CategoryInfo : 보안 오류: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess 이런식으로 뜨네요
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
db쪽에 자꾸 에러가 납니다
현재 MySQL을 사용해서 선생님 강의를 보며 모델을작성중인데 계속 이런 에러가 뜹니다. django.db.utils.OperationalError: (1054, "Unknown column 'accounts_user.password' in 'field list'")accounts/models.pyfrom django.conf import settings from django.contrib.auth.models import AbstractUser from django.db import models class User(AbstractUser): pass./ serializers.pyfrom rest_framework import serializers from django.contrib.auth import get_user_model User = get_user_model() class SignupSerializer(serializers.ModelSerializer): #pw 보안 password = serializers.CharField(write_only=True) def create(self, validated_data): user = User.objects.create(username=validated_data["username"]) user.set_password(validated_data["password"]) #암호화된 비번 저장 user.save() return user class Meta: model = User fields = ["pk", "username", "password"]./views.pyfrom django.contrib.auth import get_user_model from django.shortcuts import render from rest_framework.permissions import AllowAny from rest_framework.generics import CreateAPIView from .serializers import SignupSerializer #회원가입 뷰 #createapiview 이므로 get 메소드 허용X class SignupView(CreateAPIView): model = get_user_model() serializer_class = SignupSerializer permission_classes = [ AllowAny,#실제로 회원가입할 때는 로그인은 되면 안됨 ] 그리고 accounts의 user를 참조하면서 라벨과 이미지를 첨부할 수있는 mainfunc의./models.pyfrom django.db import models from django.conf import settings from django.contrib.auth.models import User class TImestampedModel(models.Model): # 기본 필드값 created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) class Meta: abstract = True class Post(TImestampedModel): author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) label = models.CharField(max_length=50, default='') images = models.ImageField(upload_to='images/%Y/%m/%d', blank=True) def __str__(self): return f'{self.author}' ./views.py from rest_framework.viewsets import ModelViewSet from .serializers import PostSerializer from .models import Post from rest_framework.permissions import AllowAny from django.db.models import Q # CRUD가 모두 들어간 API를 지원 class PostViewSet(ModelViewSet): queryset = Post.objects.all() serializer_class = PostSerializer #permission_classes = [AllowAny] #FIXME: 인증 적용 def get_queryset(self): qs = super().get_queryset() qs = qs.filter( Q(author=self.request.user) #본인이 작성한 글만 볼 수 있도록 함. ) return qs 이렇습니다.구글링해봐도 대부분은 그냥 migrations 된 파일을 삭제하고 다시 migrate 하니까 해결이 되던데 저는 계속 같은 에러가 뜨네요..혹시 뭐가 원인인지 알 수 있을까요? AbstractUser 로 수정하고나서부터 이런 현상이 나타나긴 했습니다일단 ERD는 아래와 같이 나옵니다.
-
미해결<M.B.I.T> 테스트 페이지 만들기! with Django
장고 ORM 깃허브 업로드 관련 질문입니다.
강의 내용을 응용해서 비슷한 프로젝트를 하고 있습니다.프로젝트 내용을 깃허브 레포에 업로드하는 과정에서 gitignore에 db파일은 올라가지 않도록 되어 있는데 깃허브에서 받은 파일이 완성된 페이지를 보여주도록 하려면 어떻게 해야하나요?이 이슈로 인해서 깃허브에서 다운받은 파일에서는 Question, Choice 등 데이터가 반영이 되지 않습니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
실무에서 Session
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]실무에서 Session을 어떻게 사용하는지 궁금합니다.위 그림은 실제 인프런에서 오는 쿠키들 입니다. 그런데 배웠던 것과는 다르게, 여러개의 쿠키가 전달되고, 이름이 JSESSIONID인 쿠키는 없었습니다...제가 정확하게 이해한 것인지는 모르겠지만,request.getSession()은 쿠키들 중 이름이 JSESSIONID인 것을 찾고, 세션 저장소에서 이 쿠키의 value와 매칭되는 세션을 찾아 반환하는 것이라고 생각합니다.그렇다면, 위와 같이 인프런에서는 JSESSIONID를 사용하지 않기 때문에 V1처럼 자체적으로 세션 저장소를 사용하는 건가요? 그리고 여러개의 쿠키와 세션을 사용하고 싶다면, 여러개의 세션 저장소를 만들어서 사용하는 건가요? 감사합니다!
-
미해결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이 붙은 클래스의 실제 객체 대신 프록시 객체를 만들어서 스프링 컨테이너에 등록한다고 강의에서 들었습니다. 스프링 컨테이너에 등록된 프록시 객체는 내부적으로 실제 객체를 호출하는 것으로 알고 있는데, 그럼 이 실제 객체는 어디에 저장되어있는건가요? 실제 객체도 스프링 컨테이너에 등록되어 있는건지, 아니면 별도의 저장공간에 존재하는건지 궁금합니다.