안녕하세요. 이번 강의에서는 HTML 입력 폼을 만들어서 회원가입을 하는 예제를 아래 코드와 같이 만들었는데요. @Getter @Setter public class MemberForm { @NotEmpty(message = "회원 이름은 필수입니다.") private String name; private String city; private String street; private String zipcode; } 그런데 해당 코드는 단순히 공백이 입력되는 경우에도 정상적으로 회원가입이 처리되고, 이런 경우의 처리는 클라이언트 측에서 정상적인 입력만을 받도록 Form을 구현하는 것으로 배웠습니다. 그런데 만약에 서버 측에서 위와 비슷한 입력 값에 대한 예외처리가 필요하다면 어떻게 처리하는 것이 올바른 방법일까요? 비즈니스 로직에서 데이터를 저장하는 과정 중에 값을 검사하고 예외를 호출하는 것이 맞을까요? P.S 혹시 Spring MVC 강의에서 이러한 내용들을 설명하시는 지도 궁금합니다.
- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 현재 비전공자로 백엔드 개발쪽을 준비하는 취준생입니다. 다름이아니라 타 사이트에서 강의하신 강사님 운영체제 강의를 들어볼까하는데 c언어를 선수지식으로 알아야 운영체제 강의를 들을수있나요? 지금까지 자바스크립트만 공부한 상태라 c언어는 지식이 전무한 상태입니다. 운영체제강의를 듣기위해서 알아야 하는 선수지식이 어떤게 있을까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. array.splice( start [, deleteCount [, item1 [, item2 [, ... ]]]]) mdn 문서보면 저런식으로 써져있는데 [, [, [[[]]] 이런건 무슨 기호인가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. array.splice( start [, deleteCount [, item1 [, item2 [, ... ]]]]) 이런식으로 쓰여져 있는데 [, [, ?? 이건 무슨뜻일까요?ㅠㅠ 중첩구조로 되있는데
안녕하세요, multiple bullet 문제를 생각해보고 있는데, 혼자 생각한지 너무 오래 되어, 생각이 고착되어 있는 거 아닌가해서, 질문글을 올려봅니다. MyBullet* bullet[100] = { nullptr, }; int i = -1; //bullet number 와 같이 pointer 들로 이루어진 배열을 사용해보려고 했습니다. if (isKeyPressedAndReleased(GLFW_KEY_SPACE)) { i++; bullet[i] = new MyBullet; bullet[i]->center = tank.center; bullet[i]->center.x += 0.2f; bullet[i]->center.y += 0.1f; bullet[i]->velocity = vec2(0.5f, 0.0f); } 와 같이 하여, 스페이스바를 누를 때마다, array 한칸한칸에 bullet 객체포인터를 저장했습니다. 여기서부터, 문제가 이렇게 해도 결국, bullet[i] -> update()와 같은 줄을 100줄을 써야한다는 것입니다. if (bullet[0] != nullptr) bullet[0]->update(getTimeStep()); if (bullet[1] != nullptr) bullet[1]->update(getTimeStep()); if (bullet[2] != nullptr) bullet[2]->update(getTimeStep()); if (bullet[3] != nullptr) bullet[3]->update(getTimeStep()); if (bullet[4] != nullptr) bullet[4]->update(getTimeStep()); 와 같이 써야지 작동을 했습니다. 밑에 draw() 함수 도 마찬가지여서, 코드를 줄일 수 있는 방법을 생각해보다가, 도저히 생각이안나서 질문글을 올려봅니다. 찾다보니 thread를 이용하는 것도 나오고 하지만, 유용하지 않다고 판단했습니다. for문을 돌리면, 다음 loop으로 넘어갈 때 실행되던 update함수가 사라지게 되어, 결국 모든 객체의(bullet[0], bullet[1]....)의 update 메소드를 동시에 실행시키는 방법을 일일히 100줄을 쓰는 것 외에는 찾을 수 없어, 질문글을 올려봅니다 ㅠ 감사합니다.
안녕하세요 선생님. 강의 감사히 듣고 있습니다. requestAnimationFrame( ) 에 대해서는 솔직히 이번에 처음 알게 되었습니다. 특정 함수 내부에서 이 함수를, 반복해서 호출을 하는 모양인데요 혹시 "재귀" 방식이라고 생각하는게 맞을까요 ? 감사합니다 :)
mysql을 사용하여 진행 중인 프로젝트가 있는데 tdd를 적용해보려고 합니다. controllers/subscription.js const db = require('../routes/database.js'); exports.subscribeCalendar=()=>{}; 컨트롤러 코드는 위와 같고 test/unit/subscription.test.js const subscriptionController=require("../../controllers/subscription") describe("캘린더 구독",()=>{ test("subscribeCalendar 함수가 있을 겁니다.",()=>{ // subscriptionController.subscribeCalendar의 타입은 함수다. expect(typeof subscriptionController.subscribeCalendar).toBe("function") }) }) 테스트 코드는 위와 같은데 컨트롤러에서 db를 임포트 하기 전에는 에러가 안 떴는데 임포트 한 후에 테스트는 통과하지만 아래와 같은 에러 메시지가 뜹니다. 검색해보니 단위테스트 할 때는 db 관련 코드는 넣지 말라고 하는데 그 원인일까요? ReferenceError: You are trying to `import` a file after the Jest environment has been torn down. 이미 mysql로 진행 중이라 몽구스로 변경하기가 어려운데 에러메시지 무시하면 될까요..?
forms.py는 깃헙에 올리신 것 복붙했는데 음..뭐가 문제일까요..ㅜㅜ? 이전도 똑같이 해서 에러나 문제는 지금까지는 없었습니다. 근데 회원정보 수정시 확인해보니 아래 코드를 쳤는데도 여전히 아이디를 바꿀수 있더라구요... 일단 Quit까지 만들어서 탈퇴까지는 되는 상태입니다. from django.contrib.auth.forms import UserCreationForm class AccountUpdateForm(UserCreationForm): def __init__ ( self , *args , **kwargs): super (). __init__ (*args , **kwargs) self .fields[ 'username' ].disabled = True
안녕하세요 궁금했지만 물어볼 곳이 없던 것들을 강의로 만들어주셔서 너무 유익했어요! 강의를 보고 mmorpg를 처음부터 끝까지 혼자 만들수있는 실력을 목표로 잡은 대학생입니다. 궁금한 점은 게임학원 커리큘럼을 보면 win api를 배우고 directX를 배우던데 이 영상에서나 게임수학과 directX강의목록을 보면 win api에 대한 언급이 없으셔서요. win api를 안배우고 바로 directX를 공부해도 상관이 없는건가요??
장바구니에 담긴 아이템을 데이터베이스에서 삭제하는 기능을 추가하려고 합니다. controller //주문한 아이템 식제 @DeleteMapping ( "/orders/{orderId}/orderList" ) public String deleteOrderItem ( @PathVariable ( "orderId" ) Long orderId){ orderItemService .deleteOrderItem(orderId) ; return "orders/orderForm" ; } repository @Repository @RequiredArgsConstructor public class OrderItemRepository { private final EntityManager em ; public void save (OrderItem orderItem) { em .persist(orderItem) ; } public OrderItem findOne (Long id) { return em .find(OrderItem. class, id) ; } public List<OrderItem> findAll () { return em .createQuery( " select i from OrderItem i " , OrderItem. class ).getResultList() ; } //해당 orderId의 OrderItem을 검색 public List<OrderItem> findOrder (Long orderId) { String query = " select i from OrderItem i where i.order = " +orderId ; return em .createQuery(query , OrderItem. class ).getResultList() ; } //해당 OrderId의 orderItem 삭제 public void deleteOrderItem (Long orderId) { em .remove(findOrder(orderId)) ; } } service @Service @Transactional (readOnly = true ) @RequiredArgsConstructor public class OrderItemService { private final OrderRepository orderRepository ; private final OrderItemRepository orderItemRepository ; private final ItemRepository itemRepository ; /** * 주문 */ @Transactional public Long orderItem (Long orderId , Long itemId , String temperature , String size , int amount , int sizeUp) { //엔티티 조회 Order order = orderRepository .findOne(orderId) ; Item item = itemRepository .findOne(itemId) ; //주문상품 생성 OrderItem orderItem = OrderItem. createOrderItem (order , item , item.getName() , item.getPrice() , temperature , size , amount , sizeUp) ; //주문 저장 orderItemRepository .save(orderItem) ; return orderItem.getOrder().getOrderId() ; } public List<OrderItem> findOrderItems () { return orderItemRepository .findAll() ; } //주문아이템 삭제 public void deleteOrderItem (Long orderId){ orderItemRepository .deleteOrderItem(orderId) ; } findOrder 메소드로 해당하는 주문아이템을 찾아서 findOrder(orderId) entitiymanager의 remove메소드를 이용해서 삭제를 시도해봤습니다. em .remove(findOrder(orderId)) ; 하지만 삭제 버튼을 누르면 Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: Unknown entity: java.util.ArrayList; nested exception is java.lang.IllegalArgumentException: Unknown entity: java.util.ArrayList] with root cause org.hibernate.MappingException: Unknown entity: java.util.ArrayList 해당 오류가 뜹니다. 도움주시면 감사하겠습니다ㅠ