FieldError 생성자 중 arguments에 Object 배열을 전달하는데 분명 Integer 값을 전달했음에도 화면에는 알아서 1000 단위로 콤마가 찍혀서 나오는 이유가 궁금합니다. 혼자서 검색으로 알아보려 했는데 어디서 찾아야 하는지도 몰라 계속 헤매기만 하네요. ㅠㅠ
만약에 Item과 User라는 클래스가 존재하고 이를 validation할 때 Item클래스를 담당하는 ItemValidator.java, User클래스를 담당하는 UserValidator.java를 만들어 쓰면 될까요? 아니면 하나의 validator로 여러 클래스를 처리할 수 있는 방법으로 만들면 될까요?
driver.find_element_by_xpath('/html/body/div[2]/form/div/section/div/div[3]/p[2]/input').send_keys('5950') #금액 입력 안녕하세요 파이썬, 셀레니움을 이용해서 웹페이지 자동화를 하고 있습니다. click, send_keys가 다 정상적으로 작동 되는데 저 부분만 제꺼 컴퓨터에서는 정상 작동 친구컴퓨터에서는 작동하지 않네요... 건강보험 사이트인데...일부는 정상작동 몇분은 작동 안되는 이유를 모르겠습니다.
김영한 강사님 항상 좋은 강의해주셔서 감사합니다! 인터셉터는 정확히 어떻게 등록되는 건가요? 설정파일에 WebMvcConfigurer을 구현해주고 addInterceptors() 메서드를 오버라이딩 해주기만 하면 알아서 인터셉터가 등록되는 건가요???... 인터셉터가 어떤 식으로 등록이 되는지 궁금합니다ㅠㅠ
1. @ResponseBody 와 ResponseEntity 의 기능적인 부분이 동일한 것으로 알고 있는데 ResponseEntity를 사용하면 HTTP header를 좀 더 편리하게 변경 할 수 있다고 이해하면 될까요? 2.어떤 상황에 어떤 것을 사용하는지 예시를 들어주실수 있나요? - 제가 생각한 예시는, HTTP 상태코드를 변경하지 않아도 되는상황 에 API통신을 할 때 @ResponseBody를 사용 하고 HTTP 상태 코드도 변경해야할 때 는 ResponseEntity 를 사용하는 것이라고 생각했습니다. (물론 @ResponseBody도 파라미터로 Response객체를 받아 헤더의 상태코드를 변경할 수 있지만 ResponseEntity는 추가 파라미터 없이 가능하니까 좀 더 유연하다?는 개념으로 이해했습니다.)
안녕하세요! 이 코드에서 라벨의 위치만 바꿔서 이렇게하면 제 예상으론 label이 위로가서 원래 ㅁ 판매오픈 , ㅁ 서울 ( ㅁ은 체크박스 입니다) 이렇게 나오는게 판매오픈 ㅁ, 서울 ㅁ 이렇게 나온다고 예상했는데 판매오픈같은 경우에는 옮겨도 오류는 안나지만 그대로 ㅁ판매오픈 이런식으로 나오고 서울 부산 제주 밑에 코드의 경우에는 아예 오류가 나버리던데 왜그런건가요,..?
안녕하세요 김영한님 항상 좋은 강의 강의 너무 잘 듣고 있습니다! 스프링 빈이 등록될 때 빈 이름은 기본적으로 클래스 명을 따라가되 맨 앞글자만 소문자로 바뀌는거 아닌가요? @Component("helloBean") static class HelloBean { public String hello(String data) { return "Hello " + data; } } 해당 내용을 다음과 같이 수정해서 @Component static class HelloBean { public String hello(String data) { return "Hello " + data; } } 타임리프에 @helloBean 으로 적용하면 NoSuchBeanDefinitionException이 발생하네요 ㅠㅠ...
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. save-servlet.jsp 와 members.jsp에서 jsp의 ${} 문법을 활용하여 request.setAttribute("model", model)을 한 값을 가져다 쓰는 부분에서 다음과 같이 경고 줄이 뜹니다. viewPath 문제인가 해서 계속 다시봤는데 영상대로 진행을 했고, 혹시나 추가해줘야 하는 코드를 넣지 않은건지 모르겠어서 질문 남깁니다.
[실전] 크롤링과 데이터베이스 - 크롤링 코드 작성 시작 강의 6분 58초 내용입니다 에서 실행을 할 때 오류없이 카테고리 ALL 내용은 카테고리만 출력을 하고, 그다음 카테고리들 부터는 카테고리와 서브카테고리를 잘 출력을 합니다. 다른 카테고리들(ex패션의류 신발/잡화 등)은 서브카테고리들(브랜드 여성의류 등)이 있어서 sub_categories = soup.select('div.navi.group ul li > a') 통해서 서브카테고리들을 가져올 수 있는데 ALL (메인)카테고리에서는 서브카테고리에 해당하는 내용이 없어서 크롤링을 할 때 빈값을 가져오고 그러면, 출력을 할 때(sub_category.get_text()을 사용할 때) 빈 값이니까 오류가 나야 하는거 아닌가요?
안녕하세요. ${data}에는 값이 있으니까 _(no operation)을선택하지 않고, ${nullData}는 null이니 _(no operation)을선택하게 돼서 연산을 수행하지 않고 그냥 원래 html이 보여지게 하잖아요. 그럼 그냥 <span th:text="${data}">데이터가 없습니다.</span> <span th:text="${nullData}">데이터가 없습니다.</span>이렇게 써도 결과에 차이가 없어보이는데 왜 저걸 사용하는건가요?
안녕하세요? 헬로 마인크래프트 실행 과정 중에 자꾸 에러가 발생하여 문의 드립니다. 아래와 같은 에러 내용이 뜨는데, 인터넷 검색해보면 서버와 클라이언트의 idle.exe가 달라야 한다는 식의 내용이 뜨는데 무슨 말인지 모르겠습니다. 파이썬에 대해서 전혀 모르고 수업을 듣기 시작했는데, 나오는 문제들을 해결하려면 기본적으로 코딩을 알아야 하는 건가 싶습니다. ;;; 어떻게 해결할 수 있을지 설명 부탁 드립니다. ---------------------<에러내용>---------- Traceback (most recent call last): File "C:\Users\박아름\Desktop\마크와코딩\drive-download-20210721T045252Z-001\01 헬로 마인크래프트.py", line 2, in <module> mc = Minecraft.create() File "C:\Users\박아름\AppData\Local\Programs\Python\Python38-32\lib\site-packages\mcpi\minecraft.py", line 171, in create return Minecraft(Connection(address, port)) File "C:\Users\박아름\AppData\Local\Programs\Python\Python38-32\lib\site-packages\mcpi\connection.py", line 17, in __init__ self.socket.connect((address, port)) ConnectionRefusedError: [WinError 10061] 대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다
위에 17:28 초 쯤에 설명해주시는 Test 코드에 대해 질문이 있습니다. 다름이 아니라 HttpRequest 를 보낸 이후에 응답인 HttpResponse에 Cookie를 담아서 돌려주는 부분은 이해가 되는데 왜 Request에 해당하는 부분도 response 에서 꺼낸 cookie를 request 에 setCookie로 담아주어야 하나요 ? 순서적인 부분에서 좀 헷갈리는 부분이 생겨 질문 드립니다..! 늘 좋은 강의 감사드립니다..!
항상 좋은 강의 감사드립니다. 다름이 아니라 국제화 기능에 대한 강의를 듣던 중 질문이 생겨서 글 남깁니다! 말씀하신 국제화 기능은 타임리프에서 해당 내용들을 치환해서 사용하는 것으로 이해를 하였는데요, 만약 현재 API 서버를 만들고 있고, 해당 API 서버에서 앱에 접속한 유저의 국적에 따라 API 에서 내려주는 데이터의 언어를 맞춰서 줘야할 경우에 어떻게 해야할 지 감이 안잡혀서 질문을 드립니다. 구체적인 상황을 가정하여 말씀드려보면, 예를들어 배달의 민족 서비스 어플에서 각 가게들의 정보 및 메뉴들이 핸드폰 기기언어가 한국어 일시 한국어로, 영어일 시 영어로 나와야 한다고 가정하고 질문드려보려고 합니다 1. 먼저 데이터베이스에 테이블 설계를 어떻게 하는것이 효율적인지 궁금합니다. 단순하게 생각하면 가게 데이터베이스 칼럼을 영어칼럼을 하나씩 다 만드는 경우가 있을것 같은데, 이렇게하면 요구사항에 대응해야하는 언어가 늘어날 때마다 칼럼을 추가해야해서 비효율적이지 않을까 생각이 듭니다... 아니면 번역 테이블을 따로 만들어서 한국어, 영어, 기타언어.. 등의 방식으로 만들어 놓고 비즈니스 로직중에 번역 테이블을 조회하여 해당 데이터들을 조회한 언어로 치환하는 방법이 있을 것 같은데 이 방법은 언어가 바뀌어야 하는 비즈니스 로직 모두를 손봐야 해서 복잡할 것 같다는 생각이 듭니다. 어떤 방법이 좋을지, 실무에서 어떻게 이러한 문제를 해결하는 지 궁금합니다! 2. 기존 코드에 대한 이식성 좋게 언어대응하는 방법이 궁금합니다. 한국어 서비스를 출시하고 서비스가 잘 되어서 API 서버가 주는 데이터가 기타 언어까지 확장해야 한다는 요구사항이 들어왔을 때 1번에서 말씀드린 방법들로 해결하고자 하면 기존 코드를 모두 손봐야하는 상황이 발생합니다. 혹시 이러한 상황을 해결할 수 있는 다른 방법이 있는지 궁금합니다. 저 혼자서 생각을 해보았을 때는 Response Advice 등으로 response 로 나가는 데이터를 json 으로 convert 하기 전에 가로채서 Reflection 으로 응답으로 나간 객체의 데이터를 샅샅이(?) 뒤져서 String 형태의 문자열이 있으면 1번에서 말씀드린 번역테이블에 조회하여 번역해야 하는 언어로 교체하는 방법.. 정도가 떠오르는데 이게 맞는건지 모르겠습니다ㅠㅠ 해당 이슈 해결방법에 대한 강사님의 의견이 궁금합니다! 긴 글 읽어주셔서 감사합니다:)
안녕하세요. 스프링 MVC Part.2 강좌에서 필터와 인터셉터를 배우고나서, 서블릿 필터, 스프링 인터셉터, AOP가 모두 선언이 되어 있는 경우 AOP가 동작하는 시점에 대해 질문을 드리고자 글을 남깁니다. [강의 자료에서 가져온 필터, 인터셉터의 동작 과정] HTTP 요청 -> WAS -> 필터 -> 서블릿(디스패처 서블릿) -> 스프링 인터셉터 -> 컨트롤러 동작 과정을 보다가 문득 든 생각입니다. '그럼 AOP는 어느 구간에서 요청을 캐치해서 동작하는거지?' 예를 들어, 공통 관심 사항(메소드 실행시간 체크)을 처리하는 AOP를 @Around(핵심 기능 실행 전/후 동작)로 선언했다면 AOP가 동작하는 과정은 아래 과정이 맞을까요? HTTP 요청 -> WAS -> 필터 -> 서블릿(디스패처 서블릿) -> 스프링 인터셉터 -> AOP -> 컨트롤러 무조건 위 과정이 맞는지 아니면 공통 관심 사항을 적용하는 방법 ( 메소드 실행 전 , 후 , 전 + 후 ) 에 따라 바뀌는지 궁금합니다 .
안녕하세요, 로그인 처리2 - 필터, 인터셉터 파트의 'ArgumentResolver' 활용편에서 궁금한 사항이 있어 질문 글을 작성해 봅니다. HomeController에서 '/' URL에 대한 핸들러 메소드 선언시 'member' 파라미터에 대해서는 @Login 어노테이션을 선언하여 직접 구현한 LoginMemberArgumentResolver를 통해 세션에 담긴 로그인 객체를 바인딩(?) 시켜주는 과정을 확인할 수 있었습니다. 만약, HomeController에서 '/' URL 요청 매핑 외 다른 URL 요청 매핑을 처리할 수 있는 여러 핸들러 메소드가 선언되고, 기획자 또는 클라이언트의 요구사항에 따라 HomeController에서 처리되는 모든 핸들러 메소드에 대해서는 로그인 객체를 이용하여 무언가 분기 처리를 해야하는 로직이 포함되어 있어야 한다면(분기 처리는 각기 다른 로직을 포함하고 있습니다.) HomeController에 존재하는 모든 핸들러 메소드의 파라미터로 '@Login Member member'가 선언이 되어야 할 것 같다라는 생각이 들었습니다. 이 또한 반복적인 코드가 아닐까 싶은데요. HomeController에서 ' 전역적 '으로 로그인 정보를 포함하고 있는 객체를 선언하고, 이를 핸들러 파라미터로 굳이 선언하지 않아도, 각 핸들러 메소드에서 사용할 수 있는 방법이 있을까요? P.S HTTP 요청 -> WAS -> 필터 -> 서블릿(디스패처 서블릿) -> 스프링 인터셉터 -> 컨트롤러 흐름을 생각해 보면... 서블릿 필터 또는 인터셉터를 통해 매 요청에 세션에 담긴 로그인 정보를 핸들러 메소드에 각각 다시 주입(?) 시켜줘야 할 것 같은데 실무에서 보통 이렇게 처리하는지 아니면 다른 방법이 있는지 궁금합니다. 미리 답변 감사드립니다 .
id는 css나 javascript에서 HTML element를 특정할 때 사용하는 거잖아요? 단일 css 파일이나 js 파일을 쓴다고 가정한다면 어플리케이션 전체 html 상에서 그 id는 유일성이 보장되어야지 나중에 화면이 꼬이거나 javascript가 꼬이거나 하는 일이 없을 거 같거든요. 만약 퍼블리셔나 프론트엔드 개발자가 A form에서는 <input id="itemNameA" > B form에서는 <input id="itemNameB"> 라고 잡아놓고 퍼블리싱이나 클라이언트 쪽 개발을 했다면, 나중에 백엔드 개발자가 A form에는 <form th:object = "${itemA}"> <input id="itemNameA" th:field="*{itemName}"> </form> B form에는 <form th:object = "${itemB}"> <input id="itemNameB" th:field="*{itemName}"> </form> 이렇게 해버리면 id를 서로 다른 DTO의 같은 필드명을 사용해버려서 문제가 생길 것 같은데요. 그런데 타임리프 개발자들이 id랑 name 모두 바뀌도록 설정해놓은 것은 무언가 깊은 뜻이 있어서일 것 같은데, 제가 생각하는 문제가 일어날 가능성이 없는 건가요? 제가 무언가 잘못 이해하고 있는 건가요?