inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

검증시 변수값이 아니라 상수값으로 비교하는 이유가 있나요?

미해결

호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)

문제가 발생한건 아니고 단순 질문입니다! 테스트 짜실 때 보면, // 1번 코드 assertEquals("상수값", findComment.getAuthor()); // 2번 코드 assertEquals(addComment.getAuthor, findComment.getAuthor()); 1번처럼 상수값과 비교를 많이 하시는데, 저는 2번처럼 저장하려고 했던 객체와 실제로 저장된 후 리턴된 객체간의 비교를 많이 하는 것 같습니다. 2번이 유지보수의 측면으로 봤을 때 더 좋아보이는데 1번 스타일로 테스트 코드를 짜는 이유가 있으실까요?

  • vue.js
  • aws
  • spring-boot
  • jpa
  • spring-security
Dompoo 댓글 2 좋아요 0 조회수 558

강의 질문

미해결

AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)

강사님 안녕하세요 강의를 선 구매후에 질문을 남깁니다. 현재 도커 컴포즈를 이용한 서비스를 개발하고 있는데요. 강의를 듣고 lightsail이 아닌 ECS Fargate 혹은 EC2 형식으로 배포할 수 있는 능력을 키울 수 있을까요?

  • aws
  • docker
  • ci/cd
  • aws-ecs
daniel 댓글 1 좋아요 0 조회수 334

deleteUser 관련 질문

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

현재 코드에서는 name을 기준으로 delete를 하는데요, findByName(name)을 이용한 코드에서 DB 안에 같은 이름의 회원이 2명 이상인 경우엔 오류가 생깁니다. 그 이유가 find는 return 개수가 1건이기 때문에 rollback 된다고 생각했습니다. 이 버그를 수정하기 위해서 deleteUser의 파라미터는 Long id 로 수정했는데, 또 안 되더라고요...? findAll을 쓰면 같은 이름을 가진 모든 회원이 삭제될 것 같고... 어떻게 하면 동명이인의 회원 중에서 내가 원하는 한 회원만 삭제할 수 있나요? + 추가 방금 다른 학생분의 질문과 답변을 읽었습니다. 같은 내용의 질문인 것 같네요! 그러면 파라미터를 Long id 로 변경하되, 현재 실습 중인 UI에서도 코드를 수정해야하는 부분이 있기에 삭제가 안 되는 게 맞다고 이해하면 될까요?

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
alstjs 댓글 1 좋아요 1 조회수 228

service 생성시 public ip 를 설정하지 않는 경우

해결됨

AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)

안녕하세요. 유익한 강의 정말 감사드립니다 강의 내용에서 조금 벗어난 질문이 될 수 있겠네요. 현재 강의 내용을 토대로 service 를 생성해보려하는데 public Ip 를 off 하였습니다. 이유는 외부에서의 접근을 막기 위함 (물론 Security guard 로 해결되는 부분입니다) 더 큰 문제는 비용문제로 off 하였습니다 (내년 2월부터 public ip 에 대한 과금 때문입니다) public ip 를 off 한 결과 Service 에서 Task 를 정상적으로 실행못한느데 cloudFormation 을 봐도 정확한 정보가 나오지 않아 현재 2가지 문제로 예상하고 있습니다 ECR 을 pull 하지 못하는 문제 target group 을 auto detect 못하는 문제 혹시 비슷한 경험이 있으면 조언 부탁드립니다! 감사합니다

  • aws
  • docker
  • ci/cd
  • aws-ecs
도크 댓글 1 좋아요 2 조회수 399

수강 연장 부탁드립니다.

미해결

AWS Certified Advanced Networking - Specialty 자격증 준비하기

associate 자격증 따고 ans 자격증을 도전해보려고 합니다. 해당 수강 연장하여 다시 들어보고 싶은데 수강연장 가능할까요 ?

  • 네트워크
  • aws
조서호 댓글 1 좋아요 0 조회수 288

docker build ./ 했는데 이미지 ID가 안나옵니다

미해결

따라하며 배우는 도커와 CI환경 [2023.11 업데이트]

mac os m2 모델을 사용하는데, 질문게시판에 있는대로 buildkit 부분을 건드리려고 설정에서 Docker Engine에 들어가니, 해당부분이 저는 없더라구요. 찾아봐도 이에 대한 언급은 없는데, m1/m2 mac silicon 도커에서는 이미지 Id를 다른 방식으로 찾아야하나요?

  • aws
  • docker
  • github
  • ci/cd
  • travis-ci
  • 데이터-엔지니어링
gonieyoo 댓글 0 좋아요 0 조회수 347

수강기간 연장 부탁드립니다.

미해결

AWS Certified Solutions Architect - Associate 자격증 준비하기

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 시험을 보고 왔는 데 ㅜㅜ복습이 더 필요할 것 같습니다

  • 네트워크
  • aws
꾸준히쌓자 댓글 1 좋아요 0 조회수 320

수강연장부탁드립니다.

미해결

AWS Certified Solutions Architect - Associate 자격증 준비하기

도저히 시간이 안나 강의를 듣기 어렵네요 ㅠ

  • 네트워크
  • aws
김명주 댓글 1 좋아요 0 조회수 273

수강기간 연장 요청드립니다

미해결

AWS Certified Solutions Architect - Associate 자격증 준비하기

업무와 병행하려니 시간이 부족하네요ㅠ 수강 연장 해주시면 감사하겠습니다!

  • 네트워크
  • aws
Jinhyuk Park 댓글 1 좋아요 0 조회수 258

ingress 문제

미해결

CloudNet@ - Amazon EKS 기본 강의

ingress에 address가 안 생기는데 뭐가 문제인지 알 수 있을까요?

  • 네트워크
  • aws
  • kubernetes
  • amazon-eks
  • eks
김영웅 댓글 6 좋아요 1 조회수 1659

실전문제풀이1 6번

미해결

AWS Certified Solutions Architect - Associate 자격증 준비하기

응용 프로그램 계층이 망이크로서비스를 기반으로 하기 때문에 A도 C도 서버리스지만 코드를 짜야하는 A가 아닌 API를 쓰는 C가 정답인건가요?

  • 네트워크
  • aws
고태동 댓글 1 좋아요 0 조회수 213

테이블을 못 찾습니다. ㅠㅠ

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

데이터베이스도 생성해주고 해당 테이블도 만들어주었으나 정보를 입력했을 때 해당 테이블을 찾지못해 내부 서버 오류가 발생합니다. 추가적으로 더 설정해줘야 하는 것이 있나요? 아래 로그 첨부하겠습니다ㅠㅠ java.sql.SQLSyntaxErrorException: Table 'library.user' doesn't exist at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException( SQLError.java:121 ) ~[mysql-connector-j-8.0.33.jar:8.0.33] at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException( SQLExceptionsMapping.java:122 ) ~[mysql-connector-j-8.0.33.jar:8.0.33] at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal( ClientPreparedStatement.java:916 ) ~[mysql-connector-j-8.0.33.jar:8.0.33] at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal( ClientPreparedStatement.java:1061 ) ~[mysql-connector-j-8.0.33.jar:8.0.33] at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal( ClientPreparedStatement.java:1009 ) ~[mysql-connector-j-8.0.33.jar:8.0.33] at com.mysql.cj.jdbc.ClientPreparedStatement.executeLargeUpdate( ClientPreparedStatement.java:1320 ) ~[mysql-connector-j-8.0.33.jar:8.0.33] at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdate( ClientPreparedStatement.java:994 ) ~[mysql-connector-j-8.0.33.jar:8.0.33] at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate( ProxyPreparedStatement.java:61 ) ~[HikariCP-4.0.3.jar:na] at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate( HikariProxyPreparedStatement.java ) ~[HikariCP-4.0.3.jar:na] at org.springframework.jdbc.core.JdbcTemplate.lambda$update$2( JdbcTemplate.java:973 ) ~[spring-jdbc-5.3.29.jar:5.3.29] at org.springframework.jdbc.core.JdbcTemplate.execute( JdbcTemplate.java:656 ) ~[spring-jdbc-5.3.29.jar:5.3.29] at org.springframework.jdbc.core.JdbcTemplate.update( JdbcTemplate.java:968 ) ~[spring-jdbc-5.3.29.jar:5.3.29] at org.springframework.jdbc.core.JdbcTemplate.update( JdbcTemplate.java:1023 ) ~[spring-jdbc-5.3.29.jar:5.3.29] at org.springframework.jdbc.core.JdbcTemplate.update( JdbcTemplate.java:1033 ) ~[spring-jdbc-5.3.29.jar:5.3.29] at com.group .libraryapp.controller.user.UserController.saveUser( UserController.java:37 ) ~[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.29.jar:5.3.29] at org.springframework.web.method.support .InvocableHandlerMethod.invokeForRequest( InvocableHandlerMethod.java:150 ) ~[spring-web-5.3.29.jar:5.3.29] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle( ServletInvocableHandlerMethod.java:117 ) ~[spring-webmvc-5.3.29.jar:5.3.29] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod( RequestMappingHandlerAdapter.java:895 ) ~[spring-webmvc-5.3.29.jar:5.3.29] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal( RequestMappingHandlerAdapter.java:808 ) ~[spring-webmvc-5.3.29.jar:5.3.29] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle( AbstractHandlerMethodAdapter.java:87 ) ~[spring-webmvc-5.3.29.jar:5.3.29] at org.springframework.web.servlet.DispatcherServlet.doDispatch( DispatcherServlet.java:1072 ) ~[spring-webmvc-5.3.29.jar:5.3.29] at org.springframework.web.servlet.DispatcherServlet.doService( DispatcherServlet.java:965 ) ~[spring-webmvc-5.3.29.jar:5.3.29] at org.springframework.web.servlet.FrameworkServlet.processRequest( FrameworkServlet.java:1006 ) ~[spring-webmvc-5.3.29.jar:5.3.29] at org.springframework.web.servlet.FrameworkServlet.doPost( FrameworkServlet.java:909 ) ~[spring-webmvc-5.3.29.jar:5.3.29] at javax.servlet.http.HttpServlet.service( HttpServlet.java:555 ) ~[tomcat-embed-core-9.0.79.jar: 4.0.FR ] at org.springframework.web.servlet.FrameworkServlet.service( FrameworkServlet.java:883 ) ~[spring-webmvc-5.3.29.jar:5.3.29] at javax.servlet.http.HttpServlet.service( HttpServlet.java:623 ) ~[tomcat-embed-core-9.0.79.jar: 4.0.FR ] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:209 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:153 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.apache.tomcat.websocket.server.WsFilter.doFilter( WsFilter.java:51 ) ~[tomcat-embed-websocket-9.0.79.jar:9.0.79] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:178 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:153 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.springframework.web.filter.RequestContextFilter.doFilterInternal( RequestContextFilter.java:100 ) ~[spring-web-5.3.29.jar:5.3.29] at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:117 ) ~[spring-web-5.3.29.jar:5.3.29] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:178 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:153 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.springframework.web.filter.FormContentFilter.doFilterInternal( FormContentFilter.java:93 ) ~[spring-web-5.3.29.jar:5.3.29] at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:117 ) ~[spring-web-5.3.29.jar:5.3.29] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:178 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:153 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal( CharacterEncodingFilter.java:201 ) ~[spring-web-5.3.29.jar:5.3.29] at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:117 ) ~[spring-web-5.3.29.jar:5.3.29] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:178 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:153 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.apache.catalina.core.StandardWrapperValve.invoke( StandardWrapperValve.java:167 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.apache.catalina.core.StandardContextValve.invoke( StandardContextValve.java:90 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.apache.catalina.authenticator.AuthenticatorBase.invoke( AuthenticatorBase.java:481 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:130 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.apache.catalina.valves.ErrorReportValve.invoke( ErrorReportValve.java:93 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.apache.catalina.core.StandardEngineValve.invoke( StandardEngineValve.java:74 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.apache.catalina.connector.CoyoteAdapter.service( CoyoteAdapter.java:343 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.apache.coyote.http11.Http11Processor.service( Http11Processor.java:390 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.apache.coyote.AbstractProcessorLight.process( AbstractProcessorLight.java:63 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process( AbstractProtocol.java:926 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.apache.tomcat.util.net .NioEndpoint$SocketProcessor.doRun( NioEndpoint.java:1790 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.apache.tomcat.util.net.SocketProcessorBase.run ( SocketProcessorBase.java:52 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1191 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.apache.tomcat.util.threads.ThreadPoolExecutor$ Worker.run ( ThreadPoolExecutor.java:659 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at org.apache.tomcat.util.threads.TaskThread$ WrappingRunnable.run ( TaskThread.java:61 ) ~[tomcat-embed-core-9.0.79.jar:9.0.79] at java.base/ java.lang.Thread.run ( Thread.java:834 ) ~[na:na]

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
OoOoO 댓글 1 좋아요 0 조회수 342

안녕하세요 수강기간 연장 부탁드립니다

미해결

AWS Certified Solutions Architect - Associate 자격증 준비하기

다른 일정으로 연속적으로 학습을 하지 못해서 다시 복습 후 시험을 치루려고 하는데요 수강 연장 부탁드리겠습니다^-^

  • 네트워크
  • aws
윤동민 댓글 1 좋아요 0 조회수 306

실전문제풀이15-13,17

미해결

AWS Certified Solutions Architect - Associate 자격증 준비하기

13) 메모리 몇에 스토리지가 몇이 되면 ec2가 lambda보다는 비용효율적인가요? 17) C에 보안그룹은 인스턴스랑 연결되는거고 서브넷은 NACL인줄 알았는데, 서브넷도 보안그룹과 연결될 수 있나요?

  • 네트워크
  • aws
고태동 댓글 1 좋아요 0 조회수 225

updateMany에서 user._id를 못찾는 상황

해결됨

mongoDB 기초부터 실무까지(feat. Node.js)

강좌대로 Blog.updateMany({ "user._id": userId }, { "user.name": name }) 로 하니 블로그 데이터 유저 정보가 변경이 계속 안되고 있습니다 ㅠㅠ 유저 데이터는 정상적으로 변경이 되었는데요 문제점을 모르겠습니다. 해당 코드 깃허브 : https://github.com/alinfanclub/KimDevlogServer/blob/updateMany/src/routes/userRouter.js userRouter.put("/:userId", async (req, res) => { try { const { userId } = req.params; if (!mongoose.isValidObjectId(userId)) return res.status(400).send({ err: "invalid userId" }); const { age, name } = req.body; if (!age && !name) return res.status(400).send({ err: "age or name is required" }); if (age && typeof age !== "number") return res.status(400).send({ err: "age must be a number" }); if (name && typeof name.first !== "string" && typeof name.last !== "string") return res.status(400).send({ err: "first and last name are strings" }); // let updateBody = {}; // if(age) updateBody.age = age; // if(name) updateBody.name = name; // const user = await User.findByIdAndUpdate(userId, updateBody, { new: true }); let user = await User.findById(userId); if (age) user.age = age; if (name) { user.name = name; await Blog.updateMany({ "user._id": userId }, { "user.name": name }); } await user.save(); return res.send({ user }); } catch (err) { console.log(err); return res.status(500).send({ err: err.message }); } });

  • javascript
  • node.js
  • aws
  • mongodb
  • rest-api
  • dbms/rdbms
  • 데이터-엔지니어링
댓글 1 좋아요 1 조회수 424

Scale-in 시

해결됨

AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)

안녕하세요, 강의 수강 중 궁금한 점이 있어 질문 남깁니다. Scale-in 시에도 기본적으로 graceful shutdown 되도록 ecs autoscaling 내부에서 처리가 되는 것일까요? 아니면, graceful shutdown을 위해서는 따로 설정을 해야하는 것일까요? 감사합니다!

  • aws
  • docker
  • ci/cd
  • aws-ecs
Dev 댓글 1 좋아요 1 조회수 274

node port 설정

해결됨

AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)

안녕하세요, 강의를 듣다 궁금한 점이 생겨 질문 남깁니다. 이전에 lightsail에서 load-balancing 시 port를 80으로 설정했어야해서 현재 node 서버가 80 port로 설정되어 있잖아요! 만약, node 서버의 port를 4000으로 열어놓고, ECR을 통해서 service 생성 시 load-balancer 세팅에서 사진의 부분이 80:4000으로 자동적으로 바뀌는 건가요? 어떻게 ecr에서 현재 port가 80으로 열려있는 지 인식하고 위와같이 선택할 수 있는건가요? node port가 4000이였다면, 어떻게 되는 것일까요? 감사합니다!

  • aws
  • docker
  • ci/cd
  • aws-ecs
Dev 댓글 1 좋아요 1 조회수 380

강의가 안나와요

미해결

AWS Certified Cloud Practitioner 자격증 준비하기

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • 네트워크
  • aws
김윤석 댓글 1 좋아요 1 조회수 269

Rest API Lambda 함수 생성 + code 분석 코드 어디있나요?

해결됨

하루만에 배우는 aws 서버리스

다음과 같은 양식으로 남겨주세요. 질문을 한 배경 :코드 보고 싶습니다 질문내용 :Lambda 함수 생성 + code 분석" 파트를 듣고 있는데요, index.mjs 코드를 올려주신다고 했는데, 어디서 볼 수 있을지 궁금합니다 선생님

  • aws
  • 서버리스
  • aws-serverless
이희서 댓글 3 좋아요 2 조회수 531

실전문제풀이14 Q11

미해결

AWS Certified Solutions Architect - Associate 자격증 준비하기

문제에 '외부 공급자의 서비스에 연결해야 합니다.' 라고 되어있는데 VPC피어링, VPC엔드포인트, AWS PrivateLink가 다른 클라우드 플랫폼 VPC나 온프레미스 네트워크와도 호환(?)되는 기능인가요?

  • 네트워크
  • aws
고태동 댓글 1 좋아요 0 조회수 244

인기 태그

인프런 TOP Writers

주간 인기글