묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
git push 후 username 과 password를 물어보는데 어떻게 해야하나요 ?
이렇게 뜨는데 무었을 입력해야 하나요 ? 구글링 해본결과를 personal access tokens 을 만들어야 한다고 하는데 정말 그렇게 해야하는건가요 ?
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강 기간 연장 부탁드립니다.
안녕하세요 선생님. 좋은 강의 올려주셔서 감사합니다. 이 강의를 등록한 뒤로 회사 일이 너무 바빠져서 최근에 제대로 듣기 시작해서요ㅜㅜ죄송하지만 혹시 수강 연장 해주실 수 있으실까요?
-
미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
구글 로그인 오류 .
강의와 동일하게 진행을 했음에도 불구하고 오류가 계속 나옵니다 . 어떻게 해야할지 구글링을 해보아도 답을 찾기 힘들어 질문합니다 해결방법을 알려주시면 정말 감사하겠습니다.
-
미해결비전공자도 이해할 수 있는 AWS 입문/실전
채굴에 당하지 않는법
안녕하세요. 이번에 배포 관련해서 도움받고자 강의 듣고 있는중인 학생입니다. 다름이 아니라 제가 글을 읽었는데 거기서 이렇게 언급합니다. ```유형 항목에서 SSH이면서 포트 항목에서 22인 경우는 AWS EC2에 터미널로 접근할 때를 이야기합니다. pem키가 없으면 접속이 안되니 전체 오픈하는 경우가 종종 있는데, 이렇게되면 이후 파일 공유 디렉토리나 깃허브 등에 실수로 pem키가 노출될 수 있습니다. 노출되는 순간 서버에서 가상화폐가 채굴되는 것을 볼 수 있습니다..```그리고 거기서는 소스유형을 "내 IP"로 하고 진행했는데 강의처럼 위치무관으로 설정해도 되는지 여쭙고 싶습니다. 얉은 지식이라 질문이 이상할 수 있는점 양해바랍니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
서버 실행 실패
> Task :LibraryAppApplication.main() FAILED . ____ _ /\\ / ___'_ __ (_)_ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.7.6)2024-04-04 17:09:40.815 INFO 12468 --- [ main] c.g.libraryapp.LibraryAppApplication : Starting LibraryAppApplication using Java 17.0.9 on KONG with PID 12468 (C:\Project\project\library-app\build\classes\java\main started by jinju in C:\Project\project\library-app)2024-04-04 17:09:40.819 INFO 12468 --- [ main] c.g.libraryapp.LibraryAppApplication : No active profile set, falling back to 1 default profile: "default"2024-04-04 17:09:41.422 INFO 12468 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.2024-04-04 17:09:41.474 WARN 12468 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.support.BeanDefinitionOverrideException: Invalid bean definition with name 'userRepository' defined in com.group.libraryapp.domain.user.UserRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Cannot register bean definition [Root bean: class [org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in com.group.libraryapp.domain.user.UserRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration] for bean 'userRepository': There is already [Root bean: class [null]; scope=; abstract=false; lazyInit=null; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=userConfiguration; factoryMethodName=userRepository; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [com/group/libraryapp/config/UserConfiguration.class]] bound.2024-04-04 17:09:41.505 INFO 12468 --- [ main] ConditionEvaluationReportLoggingListener : Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2024-04-04 17:09:41.521 ERROR 12468 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : ***************************APPLICATION FAILED TO START***************************Description:The bean 'userRepository', defined in com.group.libraryapp.domain.user.UserRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration, could not be registered. A bean with that name has already been defined in class path resource [com/group/libraryapp/config/UserConfiguration.class] and overriding is disabled.Action:Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=trueExecution failed for task ':LibraryAppApplication.main()'.> Process 'command 'C:/Program Files/Java/jdk-17/bin/java.exe'' finished with non-zero exit value 1 찾아본 결과이 문제는 Spring 애플리케이션의 빈(bean) 정의 중에 중복이 발생하여 발생한 것으로 보입니다. 에러 메시지에 따르면 userRepository 빈이 이미 UserConfiguration 클래스에서 정의되어 있으며, 또한 Spring Data JPA가 자체적으로 해당 빈을 생성하려고 시도하고 있는 것으로 보인다고 합니다.혹시 UserConfiguration 부분에 변경이 적용 안된게 있어서 그런걸까요?저 bean 부분을 지워도 .UserServiceV1 때문에 컴파일 에러가 발생하더라구요,.,..
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
JPA 를 사용하는 이유
안녕하세요 강사님. 항상 정성 가득하고 충분한 설명 덕분에 도움을 많이 받고 있습니다 : )강의를 듣다가 문득 호기심이 생겨 질문을 드립니다 !JPA 를 사용하는 이유가 DB가 변경 시에 유리하기 때문이라고 이해했습니다.그런데 만약 DB 변경이 일어나지 않는다고 가정한다면, JPA 설정을 통해서 스프링이 DB 에 넣어주는 것 보다, 일일이 쿼리를 작성하는 것이 더 속도나.. 그런 측면에서 유리하지는 않나요?1개의 기능을 만드는데 그보다 많은 기능이 포함되어있는 어떤것을 쓰면 자원이 낭비되는 것이 아닐까? 하는 생각이 들었습니다.현업에서 DB를 변경할 일이 많아서 그런 것일까요?왜 요즘 MyBatis 보다 JPA 를 선호하는 추세인지도 궁금합니다. (취업 공고를 보면 MyBatis 보다는 JPA 가 많이 보이더라구요!)항상 감사하고 존경드리며 환절기 감기 조심하세요 !
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
git에서 커밋을 했는데, 계속 진행해도 되는지의 여부
40강. git 기초사용법을 듣고 있습니다. 코드를 github에 올리는 과정에서 처음에는 git add . 작성 시 아래와 같이 에러가 나타났습니다위와 같은 과정을 거쳤고, 커밋이 반영된듯 싶으면서도 fatal: unknown write failure on standard output이라는 문구가 떠 다음 과정을 진행하기 찝찝합니다. 이전에 git add .시 실행은 된 것 같지만 warning이 난것도 나중에 문제가 될것 같습니다..감사합니다.
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
lightsail instance를 종료해도 서버를 연결된 상태로 유지하려면 어떻게 해야 할까요?
안녕하세요. 강의 잘 보고 있습니다. lightsail instance 터미널에 연결후에 서버를 실행해 주고 난 뒤 터미널을 종료하면 어느정도 시간이 지나면 서버가 연결이 끊기네요. 계속 연결을 지속시키려면 어떻게 할 수 있을까요?
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
강의 소스코드 제공 요청드립니다.
강의 타이핑 그대로 따라했는데도, npm run build, npm run test에서 redis time out error가 발생하네요. 버전이 안맞는건지.. 강사님과 동일하게 버전 맞추고 진행하고 싶은데 package.json이라도 제공해주시면 감사드리겠습니다.
-
해결됨CloudNet@와 함께하는 Amazon EKS 기본 강의
Amazon VPC CNI 아키텍처와 통신 흐름
안녕하세요. 강의 잘 듣고 있습니다.한 가지 궁금한 사항이 생겨 질문드립니다. Pod A에서 Pod E로 통신을 할 때 IP 헤더를 덧붙인다고 하셨는데요, Pod E가 Node 3에 있는지 어떻게 알고 헤더를 덧 붙이는 건가요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
./gradlew build -x test 질문
Exception in thread "main" java.io.IOException: No space left on deviceat java.base/java.io.FileOutputStream.writeBytes(Native Method)at java.base/java.io.FileOutputStream.write(FileOutputStream.java:354)at java.base/java.io.BufferedOutputStream.write(BufferedOutputStream.java:123)at org.gradle.wrapper.Download.downloadInternal(Download.java:119)at org.gradle.wrapper.Download.download(Download.java:80)at org.gradle.wrapper.Install$1.call(Install.java:83)at org.gradle.wrapper.Install$1.call(Install.java:63)at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:69)at org.gradle.wrapper.Install.createDist(Install.java:63)at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107)at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:63)이런 에러가 뜹니다.. 그 이전과 다르게 진행했던 것은 [ec2-user@ip-172-31-36-164 library-app]$ sudo dd if=/dev/zero of=/swaplife bs=128M count=16여기서 swaplife가 오타가 나서 [ec2-user@ip-172-31-36-164 library-app]$ sudo dd if=/dev/zero of=/swapfile bs=128M count=32swapfile로 바꾸어 다시 진행을 했습니다. dd: error writing '/swapfile': No space left on device29+0 records in28+0 records out이 상태에서 다시 지우고 어떻게 처음부터 시작할 수 있을까요..?
-
해결됨스타트업 성장과 함께하는 AWS 클라우드 아키텍쳐 올인원
Route 53 , Nginx 관련 질문
안녕하세요! 강의 정말 잘 보고 있습니다. 저도 웹 검색을 통해 주먹 구구식으로 AWS 를 사용하다가, 강사님의 강의를 들으니 왜 이런 설정을 해야하는지 이해가 잘갑니다. 정말 감사합니다. 근데 하나 궁금한게 생겨 질문드립니다.https 인증을 위해 강의에서 ACM을 사용하셨는데, 그 방식을 유지한다면 추후에 백엔드 서버에 nginx를 설치하여 웹서버를 구축할 필요하가 있는걸까요? 현재 제가 구축한 웹서버는nginx와 certbot을 이용하여 https인증을 진행한 상황입니다.강사님의 강의를 듣고 업데이트를 해볼 생각인데, 궁금해서 질문드립니다.(Docker를 이용하여 백서버와 nginx, certbot 이미지를 사용해서 서버를 구축해볼 예정이었는데, nginx,certbot이 꼭 필요한지 의문이 들었습니다.)
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강 기간 연장 부탁드립니다.
안녕하세요. 좋은 강의 감사드립니다.아직 시험에 합격하지 못하였는데 기간이 얼마 남지 않아서..혹시 수강 기간 연장 부탁드려도 될까요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
40강 개인 DB 비밀번호만 가리기
안녕하세요 강의 잘 듣고 있습니다.git Push까지 잘 됐는데 github에서 application.yml까지 올라간 것을 확인 했습니다. 여기서 제 비밀번호만 가리고 나머지 설정은 공유하고 싶은데 따로 비밀번호만 분리하는 방법은 없을까요 ?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
31강 대출기능 개발에서 계속 유저 정보 가져오는곳에서 null이 나오는 이유가 뭘까요..
분명 MySql에 보면 user 테이블에 잘 저장되어 있고 북도 잘 저장되어있는데 왜 계속 null 뜰까요 ㅠㅠ java.lang.IllegalArgumentException: null at java.base/java.util.Optional.orElseThrow(Optional.java:408) ~[na:na] at com.group.libraryapp.service.book.BookService.loanBook(BookService.java:43) ~[main/:na] at com.group.libraryapp.service.book.BookService$$FastClassBySpringCGLIB$$9fdbff4c.invoke(<generated>) ~[main/:na] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.3.24.jar:5.3.24] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) ~[spring-aop-5.3.24.jar:5.3.24] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.24.jar:5.3.24] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) ~[spring-aop-5.3.24.jar:5.3.24] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.24.jar:5.3.24] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.24.jar:5.3.24] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.24.jar:5.3.24] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.24.jar:5.3.24] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) ~[spring-aop-5.3.24.jar:5.3.24] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) ~[spring-aop-5.3.24.jar:5.3.24] at com.group.libraryapp.service.book.BookService$$EnhancerBySpringCGLIB$$41338896.loanBook(<generated>) ~[main/:na] at com.group.libraryapp.controller.book.BookController.loanBook(BookController.java:27) ~[main/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.24.jar:5.3.24] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.24.jar:5.3.24] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1071) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.24.jar:5.3.24] at javax.servlet.http.HttpServlet.service(HttpServlet.java:696) ~[tomcat-embed-core-9.0.69.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.24.jar:5.3.24] at javax.servlet.http.HttpServlet.service(HttpServlet.java:779) ~[tomcat-embed-core-9.0.69.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.69.jar:9.0.69] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.24.jar:5.3.24] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.24.jar:5.3.24] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.24.jar:5.3.24] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.24.jar:5.3.24] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.24.jar:5.3.24] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.24.jar:5.3.24] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:177) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:891) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1784) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
User와 loanhistory 관계
User가 UserLoanHistory를 가지게 됨으로써 대출하는 로직이 간단해지지만 UserLoanHistory관련 CRUD를 전부 User에서 비즈니스 로직을 처리해야하는 건가요? User가 처리하는 로직이 너무 많아지는 것 같아 이게 객체지향적인 게 맞나 고민이 되네요 현재 경우는 C U 밖에 없지만 만약 예를 들어서 작가와 책 엔티티가 있을 때 연관관계의 주인은 책에 있지만 작가가 보유한 책을 조회하는 로직을 더 간편하게 처리하기 위해 작가는 책을 리스트로 가지면서 생명주기를 관리하면, 책을 수정하거나 삭제할 때도 무조건 작가의 도메인에서 로직을 처리하게 되는 건가요? 단일책임원칙을 위배하는 것이 아닌가 고민이 되어 질문드립니다!
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강기간 연장 부탁드립니다.
거의 다 듣긴 했는데 한번 더 복습하고 싶습니다.연장 부탁드립니다!
-
해결됨실리콘밸리 엔지니어와 함께하는 아마존 웹서비스(Core)편
RDS의 서브넷 그룹, 파라미터 그룹, 옵션 그룹은 뭔가요?
RDS의 서브넷 그룹이랑 VPC의 서브넷이랑 무엇이 다른가요?파라미터 그룹이 뭔가요? 어떻게 쓰이는지 간단한 예시 부탁드립니다.옵션 그룹도 마찬가지로, 그게 무엇인지, 어떻게 쓰이는지 간단하게 설명 부탁드립니다.
-
미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
makemigrations 을 했는데 aws lightsail에서
makemigrations을 했는데 no changes detected가 나왔습니다 근데 docker-compose logs를 하면 db 오류가 계속 나옵니다 이런 경우에는 어떻게 하여야 하죠? 사진 첨부가 안되서 직접 복붙하겠습니다 FROM "blog_post" ORDER BY "blog_post"."id" DESC LIMIT 3db_1 | 2024-04-01 12:29:31.263 UTC [47] ERROR: relation "blog_post" does not exist at character 256db_1 | 2024-04-01 12:29:31.263 UTC [47] STATEMENT: SELECT "blog_post"."id", "blog_post"."title", "blog_post"."content", "blog_post"."hook_text", "blog_post"."author_id", "blog_post"."category_id", "blog_post"."head_image", "blog_post"."file_upload", "blog_post"."created_at", "blog_post"."updated_at" FROM "blog_post" ORDER BY "blog_post"."id" DESC LIMIT 3db_1 | 2024-04-01 12:29:31.264 UTC [47] ERROR: relation "blog_post" does not exist at character 256db_1 | 2024-04-01 12:29:31.264 UTC [47] STATEMENT: SELECT "blog_post"."id", "blog_post"."title", "blog_post"."content", "blog_post"."hook_text", "blog_post"."author_id", "blog_post"."category_id", "blog_post"."head_image", "blog_post"."file_upload", "blog_post"."created_at", "blog_post"."updated_at" FROM "blog_post" ORDER BY "blog_post"."id" DESC LIMIT 3db_1 | 2024-04-01 12:29:31.265 UTC [47] ERROR: relation "blog_post" does not exist at character 256db_1 | 2024-04-01 12:29:31.265 UTC [47] STATEMENT: SELECT "blog_post"."id", "blog_post"."title", "blog_post"."content", "blog_post"."hook_text", "blog_post"."author_id", "blog_post"."category_id", "blog_post"."head_image", "blog_post"."file_upload", "blog_post"."created_at", "blog_post"."updated_at" FROM "blog_post" ORDER BY "blog_post"."id" DESC LIMIT 3db_1 | 2024-04-01 12:29:31.265 UTC [47] ERROR: relation "blog_post" does not exist at character 256db_1 | 2024-04-01 12:29:31.265 UTC [47] STATEMENT: SELECT "blog_post"."id", "blog_post"."title", "blog_post"."content", "blog_post"."hook_text", "blog_post"."author_id", "blog_post"."category_id", "blog_post"."head_image", "blog_post"."file_upload", "blog_post"."created_at", "blog_post"."updated_at" FROM "blog_post" ORDER BY "blog_post"."id" DESC LIMIT 3db_1 | 2024-04-01 12:29:31.266 UTC [47] ERROR: relation "blog_post" does not exist at character 256db_1 | 2024-04-01 12:29:31.266 UTC [47] STATEMENT: SELECT "blog_post"."id", "blog_post"."title", "blog_post"."content", "blog_post"."hook_text", "blog_post"."author_id", "blog_post"."category_id", "blog_post"."head_image", "blog_post"."file_upload", "blog_post"."created_at", "blog_post"."updated_at" FROM "blog_post" ORDER BY "blog_post"."id" DESC LIMIT 3db_1 | 2024-04-01 12:29:31.266 UTC [47] ERROR: relation "blog_post" does not exist at character 256db_1 | 2024-04-01 12:29:31.266 UTC [47] STATEMENT: SELECT "blog_post"."id", "blog_post"."title", "blog_post"."content", "blog_post"."hook_text", "blog_post"."author_id", "blog_post"."category_id", "blog_post"."head_image", "blog_post"."file_upload", "blog_post"."created_at", "blog_post"."updated_at" FROM "blog_post" ORDER BY "blog_post"."id" DESC LIMIT 3db_1 | 2024-04-01 12:29:31.267 UTC [47] ERROR: relation "blog_post" does not exist at character 256db_1 | 2024-04-01 12:29:31.267 UTC [47] STATEMENT: SELECT "blog_post"."id", "blog_post"."title", "blog_post"."content", "blog_post"."hook_text", "blog_post"."author_id", "blog_post"."category_id", "blog_post"."head_image", "blog_post"."file_upload", "blog_post"."created_at", "blog_post"."updated_at" FROM "blog_post" ORDER BY "blog_post"."id" DESC LIMIT 3web_1 | [2024-04-01 12:20:00 +0000] [1] [INFO] Starting gunicorn 21.2.0web_1 | [2024-04-01 12:20:00 +0000] [1] [INFO] Listening at: http://0.0.0.0:8000 (1)web_1 | [2024-04-01 12:20:00 +0000] [1] [INFO] Using worker: syncweb_1 | [2024-04-01 12:20:00 +0000] [7] [INFO] Booting worker with pid: 7[ec2-user@ip-172-26-12-132 django_giyeon]$ docker-compose exec web python manage.py makemigrationsNo changes detected
-
해결됨비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
MysqlWorkbench 접속문제
안녕하세요 강의를 듣고 있는 학생입니다. 다름이 아니라 워크밴치 접속 문제 때문에 질문 드립니다.워크밴치를 접속하려하면 위와 같은 문제가 계속 발생하고 있습니다. mysql 8.x 버전부터는 bind-address를 주석처리 할필요가 없다하여 그 부분은 넘어간상태로 계속진행하엿습니다. https://1mini2.tistory.com/87 이 링크를 보고 따라 해보고 있는데 mysql -h 3.36.28.138 -u root -p 이명령어를 쳣을때 위와같이 출력이 되지 않고 있습니다.