inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

도서 관리 애플리케이션 화면 질문

미해결

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

안녕하세요! 강의 완강하고 복습을 하고있는 수강생입니다. 복습을 하는 과정에서 궁금한 점이 있어서 질문이 있는데요 선생님께서 도서관리 애플리케이션 화면은 제공해주셨는데 사용자 등록란에 이름과 나이를 입력하고 저장을 누르면 POST 메소드가 연결되고 목록에 들어가면 GET, 수정을 누르면 UPDATE, 삭제를 누르면 DELETE 메소드가 연결되는 것은 프론트엔드 작업 과정에서 어떠한 설정을 해주셔서 자연스럽게 되는건가요? 그 과정도 공부하고싶은데 자바스크립트와 리액트까지 공부하면 될까요? 강의 공부를 끝내고 나면 제 프로젝트를 한번 만들어보고싶은데 어느정도 공부해야 할지 감이 잘오지 않아서요 화면 구성부터 서버 동작하는 처음부터 끝까지 해보고싶어서 질문드립니다!

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
tmdwns1294 댓글 2 좋아요 1 조회수 386

EC2 Storage 강의 중 c5d.large 생성 시

미해결

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

안녕하세요.c5d.large 이미지를 생성하는 실습을 진행중인데요.스토리지(Instance Store)가 붙어있는 인스턴스 유형인데도, Storage > 고급(advanced)에서강의와 같이 볼륨2를 확인할 수가 없습니다.어떤 문제일까요?

  • 네트워크
  • aws
솔루션링크 댓글 1 좋아요 0 조회수 221

강의보고 토이프로젝트로 재고감소 낙관적락 기법 적용 질문

미해결

재고시스템으로 알아보는 동시성이슈 해결방법

안녕하세요 강사님 강의를 보고 토이 프로젝트에서 주문 시 재고 감소 및 메뉴 주문량 증가 로직에서 낙관적락 기법을 적용해 보았는데요, 강의에서 해주신 내용 그대로 파사드 패턴 까지 적용을 해보면서 시도했는데 무한 루프가 돌았습니다. hikariCP pool을 40으로 설정해주니 그제서야 해결이 되었는데요, 강의에선 네임드락에서 커넥션풀을 지정해주었는데요 저는 낙관적락인데도 해당 설정을 해서 해결된 이유가 있을까요? @Service @RequiredArgsConstructor public class OrderService { @Transactional public Order orderWithOptimisticLock(Long memberId, LocalDateTime now) { Cart cart = cartRepository.findByMember(memberId); List<CartItem> cartItems = cart.getCartItems(); cartItems.stream() .map(CartItem::getMenu) .forEach(menu -> { decreaseStockWithOptimisticLock(menu.getId(), 1); increaseMenuOrderCountWithOptimisticLock(menu.getId(), 1); }); Money money = calculator.calculateMenus(cart.getMember(), cart.convertToMenus()); Order order = Order.createOrder(cart, money, now); return orderRepository.save(order); } public void decreaseStockWithOptimisticLock(Long menuId, int quantity) { Menu menu = menuRepository.findByIdForOptimisticLock(menuId); menu.decrease(quantity); } public void increaseMenuOrderCountWithOptimisticLock(Long menuId, int quantity) { Menu menu = menuRepository.findByIdForOptimisticLock(menuId); menu.increaseOrderCount(quantity); } } ``` @Component @RequiredArgsConstructor public class OptimisticLockStockFacade { private final OrderService orderService; public Order order(Long memberId, LocalDateTime localDateTime) throws InterruptedException { while (true) { try { return orderService.orderWithOptimisticLock(memberId, localDateTime); } catch (Exception e) { Thread.sleep(50); } } } } ``` public interface JpaMenuRepository extends JpaRepository<Menu, Long> { @NotNull @Lock(LockModeType.OPTIMISTIC) @Query("select m from Menu m where m.id = :id") Optional<Menu> findByIdForOptimisticLock(@NotNull @Param("id") Long id); }

  • java
  • spring
  • 동시성
하윤 댓글 2 좋아요 0 조회수 647

코드 질문 드립니다!

미해결

비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지

const {studentName} = req.query; const {studentIdx} = req.params; 여기서 req.query와 req.params의 차이가뭔가요?

  • HTML/CSS
  • javascript
  • aws
  • git
  • mysql
  • rest-api
  • github
퀀텀코더 댓글 1 좋아요 0 조회수 246

혹시 강의자료 노션 내리셨나요?

미해결

비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지

들어가서 찾아보고 싶은게 있는데 새소식에 없어져서요..

  • HTML/CSS
  • javascript
  • aws
  • git
  • mysql
  • rest-api
  • github
퀀텀코더 댓글 1 좋아요 0 조회수 260

Array.sort 사용 구분

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

앞 문제에서 Collection.sort를 쓰면 문제에서 효율적이지 못하다는 댓글을 봐서 처음부터 Array.sort를 해서 정렬하는 방법을 생각을 못했는데 어떤 문제에선 사용하고 사용하지말고 구분이잘 안되는데 이럴땐 어떻게 하나요...

  • java
  • 코딩-테스트
이주용 댓글 1 좋아요 0 조회수 386

service, repository 단계 구성하기 - 1

해결됨

Golang을 통한 백엔드 개발 및 환경 구축하기

이 챕터에서 시작할때 network/user.go에서 갑자기 코드가 바꼈는데 이 부분은 임의로 작성하신건가요? &types.GetUserResponse{}, &types.CreateUserResponse{}, 나머지 두개 타입 update, delete. 작성하셨다면 types에 user.go에 작성하셨다는건데 일부러 뛰어 넘으신건지 궁금합니다.

  • aws
  • go
  • crud
  • postman-mocks
마음을 녹이는 고양이 댓글 1 좋아요 0 조회수 376

delete 에러 관련되서 질문이 있습니다.

해결됨

Golang을 통한 백엔드 개발 및 환경 구축하기

2023/11/20 20:44:01 http: panic serving [::1]:8034: runtime error: invalid memory address or nil pointer dereference goroutine 51 [running]: net/http.(*conn).serve.func1() C:/Program Files/Go/src/net/http/server.go:1854 +0xbf panic({0xec01a0, 0x126f410}) C:/Program Files/Go/src/runtime/panic.go:890 +0x263 github.com/dev-yakuza/study-golang/gin/start/repository.(*UserRepository).Delete(0xc0000a4030, {0x12466f8, 0x1}) C:/go_gin/src/CURS_SERVICE/repository/user.go:42 +0x36a github.com/dev-yakuza/study-golang/gin/start/service.(*User).Delete(...) C:/go_gin/src/CURS_SERVICE/service/user.go:27 github.com/dev-yakuza/study-golang/gin/start/network.(*userRouter).delete(0xc000444530, 0xc000456100) C:/go_gin/src/CURS_SERVICE/network/user.go:104 +0x1ca github.com/gin-gonic/gin.(*Context).Next(...) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174 github.com/gin-gonic/gin.(*Engine).handleHTTPRequest(0xc0005841a0, 0xc000456100) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:620 +0x66b github.com/gin-gonic/gin.(*Engine).ServeHTTP(0xc0005841a0, {0xfeda80?, 0xc00045e0e0}, 0xc000456200) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:576 +0x1dd net/http.serverHandler.ServeHTTP({0xfecb10?}, {0xfeda80, 0xc00045e0e0}, 0xc000456200) C:/Program Files/Go/src/net/http/server.go:2936 +0x316 net/http.(*conn).serve(0xc0004fa090, {0xfee018, 0xc0000a27e0}) C:/Program Files/Go/src/net/http/server.go:1995 +0x612 created by net/http.(*Server).Serve C:/Program Files/Go/src/net/http/server.go:3089 +0x5ed 관련된 에러가 나고 있습니다. for index, user := range u.userMap { if user.Name == userName { u.userMap = append(u.userMap[:index], u.userMap[index+1:]...) isExisted = true continue } } 해당코드에서 user가 nil일 경우에도 for문이 실행이 되고 있습니다. 혹시 이게 u.userMap이 자동적으로 뒤에 nil이 있는 것으로 확인이 됩니다. 혹시 다른 설정하신게 있으실까요? 아니면 append가 패치된 상황일까요? 일단은 for index, user := range u.userMap { if user != nil { if user.Name == userName { u.userMap = append(u.userMap[:index], u.userMap[index+1:]...) isExisted = true continue } } } 이렇게 해결 했습니다.

  • aws
  • go
  • crud
  • postman-mocks
JUNI 댓글 1 좋아요 0 조회수 383

github에서 파일을 받고 다시 커밋을 하려면

미해결

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

제가 컴퓨터를 포맷할 일이 생겨서 포맷 후 진도를 이어서 따라 가려고 github에 올려둔 파일을 다운 받아서 이어서 하고 있었습니다. 그러다가 aws에 비밀번호를 바꾸고 두 번째 커밋을 할 때 막혔는데요.. 다시 git 등록하는 강의도 듣고 이것저것 해보았지만 push할 때 막혀서 그냥 github에 새로운 library2-app 레포지터리를 만들고 처음 저장한 것처럼 저장했습니다. 일단 이렇게 해결하긴 했는데 위에 상황처럼 만약 github에서 파일을 다시 받고 이어서 커밋 하려면 어떻게 해야 하나요?? 그리고 방법들을 찾다가 pull이라는 명령어도 찾았었는데 pull 명령어를 입력할 때 origin과 master는 무엇을 의미하나요? origin은 library-app을 입력했었고 master는 제 github 닉네임인지 이게 맞는 건지도 알고 싶습니다!!

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
하고싶은거하자 댓글 1 좋아요 0 조회수 427

자격증 시험 관련 문의

미해결

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

AWS 시험 관련해서 매년, 내용 변경 시 마다 Dump가 나오는것으로 아는데요. 강사님께서 가지고 계신 Dump가 있으신가요??? 있으시다면 공유 가능할까요?

  • 네트워크
  • aws
조운삼 댓글 1 좋아요 0 조회수 193

수강기한 연장 문의 드립니다.

미해결

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

안녕하세요. 기한 내 모두 수강 가능할 것 같았는데ㅠㅠ 아무래도 어려울 거 같아서 수강 기한 연장 가능할까요?ㅠㅠ

  • 네트워크
  • aws
S Eo 댓글 1 좋아요 0 조회수 333

서버 구조에 대한 질문

해결됨

Golang을 통한 백엔드 개발 및 환경 구축하기

이 프로젝트 서버 구조가 mvc 패턴에 기반한 건가요? 계속 공부하다 보니 뭔가 헷갈리네요 ㅠㅠ

  • aws
  • go
  • crud
  • postman-mocks
마음을 녹이는 고양이 댓글 1 좋아요 1 조회수 489

redis 서버 추가시 할당량 에러

해결됨

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

이번엔 제가 스스로 해보고 싶었는데 안되서 질문드립니다 죄송합니다 ㅜㅜ redis 서버를 추가하는 도중에 이런창이떠서 이렇게 추가를 했더니....redis 서버가 추가가안되서 다시 요청하려고했더니 Only one open service quota increase request is allowed per quota 라고 뜨네요 ㅜㅜ 혹시 redis 서버를 추가할 수 있는 방법이 있을까요?

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

308 status code

해결됨

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

안녕하세요. 백그라운드를 먼저 소개해드리자면, 강사님께서 설명해주셨듯 http -> https로 리다이렉션을 시킬 때, 301 status code를 내뱉도록 만들었습니다. 테스트하다가 알게 됐는데, GET 메서드의 경우에는 잘 리다이렉션되지만, POST PUT 메서드의 경우 GET 메서드로 바뀐채 리다이렉션되더라고요. rfc 문서에서는 아래와 같이 설명하고 있습니다. | Note: For historical reasons, a user agent MAY change the request method from POST to GET for the subsequent request. If this behavior is undesired, the 308 (Permanent Redirect) status code can be used instead. 이에 따라 http -> https로 리다이렉션을 시킬 때 POST 나 PUT 인 경우 308 status code를 주려고 했으나, aws 공식문서에는 이를 지원하고 있지 않더라고요. 참고 : https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#redirect-actions 보안 그룹에서 http에 대한 요청 자체를 막는것도 하나의 방법이 될거 같긴한데, 강사님께서는 어떻게 해결하실지 궁금해서 질문 남겨봅니다.

  • aws
  • docker
  • ci/cd
  • aws-ecs
한글영문대소문자 댓글 1 좋아요 1 조회수 619

flush() 와 clear()

해결됨

실전! 스프링 데이터 JPA

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 1. 스프링 데이터 JPA 가 지원하는 save를 호출하면 flush()가 나가는건가요 아니면 save를 하고 bulkAgePlus()를 호출하면서 bulkAgePlus() 에 있는 JQPL이 실행되서 flush() 가 나가는건가요 ? bulkAgePlus()를 실행하면 JPQL 실행이되고, JPQL 이 실행이 되면 flush() 가 호출이 되는데 이때 SQL쿼리문이 DB에 전송이대서 DB에는 업데이트가 되어있지만 영속성 컨텍스트는 업데이트가 안되기 때문에 clear()를 해주는게 맞는건가요 ?

  • java
  • spring
  • spring-boot
  • jpa
최재영 댓글 1 좋아요 0 조회수 483

client_loop: send disconnect: Broken pipe

해결됨

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

안녕하세요 dev push 후 master 에 merge 중 에러가 나서 질문 드립니다! 섹션 4. Github Actions 를 이용한 배포자동화 main branch 보호해주기 강좌를 보고 있는데요 client_loop: send disconnect: Broken pipe 해당 에러가 나고 있지만 domain 으로 접속해보니깐 수정한 텍스트 적용이 잘되더라구요 검색해보니 https://may0301.tistory.com/10 소켓이 닫혀서 nano ~/.ssh/config 파일에 text editor에 Host * ServerAliveInterval 120 TCPKeepAlive no 를 입력 해줘야한다고하는데 혹시 해당 에러가 나는 원인을 알수 있을까요? 위에 검색한대로 소켓이 닫혀서 그럴까요?

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

안녕하세요 ECS를 활용한 ETL 작업 관련해서 질문 드립니다

해결됨

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

현재 강사님의 강의를 듣고 크롤러와 ETL 배치 파이프라인을 ECS로 배포해서 사용해보려고 합니다 한가지 궁금한 점이 있어 문의드립니다 해당 크롤러와 배치 잡은 모두 api가 아닌 스크립트로 이루어져 있습니다. 이 경우, 클러스터 내 서비스는 생성할 필요 없이, 태스크로만 필요할 때마다 생성하면 되나요? 아님 서비스도 사용하면 좋을까요?

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

create 요청시 에러

해결됨

Golang을 통한 백엔드 개발 및 환경 구축하기

2023/11/16 23:42:58 http: panic serving [::1]:6279: Undefined validation function 'require' on field 'Name' goroutine 21 [running]: net/http.(*conn).serve.func1() C:/Program Files/Go/src/net/http/server.go:1854 +0xbf panic({0x8d4c00, 0xc000061b50}) C:/Program Files/Go/src/runtime/panic.go:890 +0x263 github.com/go-playground/validator/v10.(*Validate).parseFieldTagsRecursive(0xc00014e0e0, {0x8bf3a5?, 0x9661a2?}, {0x8bf38b, 0x4}, {0x0, 0x0}, 0x0) C:/go_gin/pkg/mod/github.com/go-playground/validator/v10@v10.16.0/cache.go:299 +0xa39 github.com/go-playground/validator/v10.(*Validate).extractStructCache(0xc00014e0e0, {0x909600?, 0xc000008108?, 0x1f4e0985898?}, {0x8b7042, 0xd}) C:/go_gin/pkg/mod/github.com/go-playground/validator/v10@v10.16.0/cache.go:156 +0x5ac github.com/go-playground/validator/v10.(*validate).validateStruct(0xc00043a240, {0xa1ce68, 0xc000026158}, {0x909600?, 0xc000008108?, 0xcb2930?}, {0x909600?, 0xc000008108?, 0x0?}, {0xa220a8, ...}, ...) C:/go_gin/pkg/mod/github.com/go-playground/validator/v10@v10.16.0/validator.go:37 +0x19d github.com/go-playground/validator/v10.(*Validate).StructCtx(0xc00014e0e0, {0xa1ce68, 0xc000026158}, {0x909600, 0xc000008108?}) C:/go_gin/pkg/mod/github.com/go-playground/validator/v10@v10.16.0/validator_instance.go:394 +0x479 github.com/go-playground/validator/v10.(*Validate).Struct(...) C:/go_gin/pkg/mod/github.com/go-playground/validator/v10@v10.16.0/validator_instance.go:367 github.com/gin-gonic/gin/binding.(*defaultValidator).validateStruct(0xcb2930, {0x909600, 0xc000008108}) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/binding/default_validator.go:80 +0x4e github.com/gin-gonic/gin/binding.(*defaultValidator).ValidateStruct(0x909600?, {0x909600?, 0xc000008108?}) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/binding/default_validator.go:59 +0x189 github.com/gin-gonic/gin/binding.(*defaultValidator).ValidateStruct(0xc000436000?, {0x8e4840?, 0xc0000080c0?}) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/binding/default_validator.go:57 +0x105 github.com/gin-gonic/gin/binding.validate(...) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/binding/binding.go:120 github.com/gin-gonic/gin/binding.decodeJSON({0x1f4e0aa8188?, 0xc000038040?}, {0x8e4840, 0xc0000080c0}) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/binding/json.go:55 +0xa2 github.com/gin-gonic/gin/binding.jsonBinding.Bind({}, 0xa1a460?, {0x8e4840, 0xc0000080c0}) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/binding/json.go:37 +0x66 github.com/gin-gonic/gin.(*Context).ShouldBindWith(...) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:741 github.com/gin-gonic/gin.(*Context).ShouldBindJSON(...) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:701 github.com/dev-yakuza/study-golang/gin/start/network.(*userRouter).create(0xc000098080, 0xc00051c100) C:/go_gin/src/CURS_SERVICE/network/user.go:43 +0xbf github.com/gin-gonic/gin.(*Context).Next(...) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174 github.com/gin-gonic/gin.(*Engine).handleHTTPRequest(0xc0000844e0, 0xc00051c100) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:620 +0x66b github.com/gin-gonic/gin.(*Engine).ServeHTTP(0xc0000844e0, {0xa1c940?, 0xc0001920e0}, 0xc00051c000) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:576 +0x1dd net/http.serverHandler.ServeHTTP({0xa1b9d0?}, {0xa1c940, 0xc0001920e0}, 0xc00051c000) C:/Program Files/Go/src/net/http/server.go:2936 +0x316 net/http.(*conn).serve(0xc000190240, {0xa1ced8, 0xc0000907e0}) C:/Program Files/Go/src/net/http/server.go:1995 +0x612 created by net/http.(*Server).Serve C:/Program Files/Go/src/net/http/server.go:3089 +0x5ed 무슨에러인지 알 수 있을까요?

  • aws
  • go
  • crud
  • postman-mocks
JUNI 댓글 2 좋아요 0 조회수 445

1분24초에 go run .를 실행할때 filepath에러

해결됨

Golang을 통한 백엔드 개발 및 환경 구축하기

main에서 filePath에 "./config.toml" 경로를 전달하면 config.go에서 NewConfig함수를 실행할 때 os.Open 에 ./cofig.toml은 결국 config.go가 현재경로 기준이 되는게 아닌가요?

  • aws
  • go
  • crud
  • postman-mocks
댓글 2 좋아요 0 조회수 527

인기 태그

인프런 TOP Writers

주간 인기글