묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
통합 컨트롤러에서 핸들러의 기준은 컨트롤러인가요? 메서드인가요?
안녕하세요. 먼저 좋은 강의 감사합니다. MVC 패턴을 구현할 때에는 handlerMapping 정보에 key로 URL과 value로 controller 객체를 담고 실행했는데요. 통합된 컨트롤러를 하게되면 URL 정보가 메서드마다 매핑되는데 handler Mapping에 controller를 handler로 담고 있다면 어떻게 해당 메서드를 찾는지 궁금합니다. 감사합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
의존성 외부주입 관련 질문입니다!.
안녕하세요!. 강의 막바지에 해당 프론트 컨트롤러에 등록되는 핸들러 매핑 맵과, 핸들러어댑터 콜렉션에 대해서 외부에서 주입하도록 해봐도 된다고 하셨는데, 스프링을 사용할때는 @Configuration과 @Bean 애노테이션을 사용해 Config 클래스에서 의존성을 입맛에 맞게 주입할 수 있었는데, 지금과 같이 스프링을 안쓰고 주입을 하려면 어떻게 해야 할지 키워드가 있을까요? 프로젝트 구동시 어느 시점에서 서블릿이 스캔되서 등록되는지 몰라서 어디에 해당 정보들을 setter든 생성자든 주입해야할지 모르겠습니다 ㅠ
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
th:onclick에서 굳이 @{경로} 쓰는 이유가?
안녕하세요? 영한님. 오랜만에 올립니다. resources/templates/basic/addForm.html 에서, [취소] button 부분: th:onclick="|location.href='@{/basic/items}'|" 경로에 @{..} 쓰지 않고, th:onclick="|location.href='/basic/items'|" 로 써도 나중에 소스 보기하면 둘 다 똑 같이 보입니다. 이렇게요, onclick="location.href='/basic/items'" 그렇다면, 굳이 @{..} 를 쓰지 않아도 되는 것 아닐까요? 강의 중에 이미 말씀하신 건지 모르겠지만, 질문 올립니다. (Spring MVC 강의 질문이 너무 없어서 채워 드리려 적는 것, 아닙니다.^^)
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Optional.ofNullable
"회원 도메인과 리포지토리 만들기" 중 findById를 구현하실때 Null값 때문에 Optional.ofNullable 을 쓰셨다고 하셨는데 그냥 if문을 써서 Null이 아닐때 id를 return하고 아닐때 Null을 return하는 방식의 구현을 하면 안되는 건가요? 코드가 좀 더 지저분해져서 그런건가요? 제가 java 쪽은 아직 study를 하지 않아서 질문 설명에 조금 부족한 부분이 있네요.
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
model 내용을 request로 옮기는 시점
안녕하세요 영한님! 현재 강의에선 model 오브젝트의 내용을 request 임시 저장소에 옮기는 작업을 MyView에서 하셨는데요. 이렇게 되면 render()도 오버로딩해야되고 파라미터도 (model, request, response)로 개인적으론 지저분(?)하다고 느껴져서 그냥 front controller에서 model 내용을 request로 옮기는 것이 기존 render(request, response) 그대로 사용할 수 있고 좋은 거 같습니다. 제 짧은 소견으론 아키텍처 관점에서도 크게 나쁘진 않은거 같은데 영한님은 어떻게 생각하시는지 궁금합니다.
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
안녕하세요! 서버 프레임워크에 관련해 질문이 있습니다.
4분 30여초 부분에서 서블릿 없이 자바 코드를 실행하는 서버 프레임워크가 있다고 해주셔서 궁금한 마음에 어떤 프레임워크들이 있나 검색을 해봤습니다만 검색에 걸리는것들이 별로 없네요. 혹시 어떤 서버 프레임워크들이 있는지 알려주실 수 있으실까요? 감사합니다!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
질문있습니다.
안녕하세요! 쭉 공부하다보니 강의에서는 지금은 혼자서 개발하고 있는 것이니 백엔드 개발자(나)가 html,js,css 파일을 만들고 html을 타임리프 문법으로 수정해서 화면을 개발하고 있는 것 같다는 느낌이 들었습니다. 그런데 만약 프론트분과 함께 일할 때는 어떻게 하는걸까? 라는 생각이 들어서 질문을 하게 되었습니다! 제가 상상의 나래를 펼친 바로는 상상 1 1. 프론트분이 만든 html,css, js 등을 받아서 백엔드(나) 개발자가 만든 프로젝트의 templates과 static에 넣는다. 2. 백엔드(나)는 model로 넘긴 값들을 바탕으로 프론트분이 만들어준 html파일을 타임리프 문법으로 수정한다. 상상2 1. 프론트분이 만든 html,css, js 등을 받아서 백엔드(나) 개발자가 만든 프로젝트의 templates과 static에 넣는다. 2. 백엔드(나)는 로직에 따라 필요한 값들을 model에 담아 넘긴다. 3. 프론트 분이 model에 담긴 값을 바탕으로 타임리프가 아닌 다른 것을 사용해 화면을 구성한다. 상상 3 1. 설계한 URI에 요청이 들어오면 백엔드(나)는 필요한 데이터를 dto에 담아서 restApi JSON 형식으로 return 시킨다. 2. 프론트분은 받은 JSON형식의 데이터를 바탕으로 화면을 구성한다. 3. 완성한 html,css,js 등의 파일을 templates와 static에 가져온다. 4. 이 방법이 맞다면 프론트분과 일할 때는 model을 사용할 일이 없는것인가..? 제가 한참 고민하다가 상상을 해봤습니다. 프론트분과 어떻게 협업하는 것인가요..?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
IPv4 변경 방법
IPv6이 아닌 IPv4 정보를 보고 싶어서 VM option 추가하려고 했는데 방법을 잘 모르겠네요ㅠㅠ build.gradle 파일에 apply plugin: 'application' applicationDefaultJvmArgs = ["-Djava.net.preferIPv4Stack=true"] 를 추가하고 gradle project refresh를 해주었는데 여전히 IPv6 주소가 뜹니다. 혹시 VM option을 추가하는 다른 방법이 있을까요? 톰캣에는 종종 추가했었는데 내장 톰캣은 어떻게 설정해야하는지 모르겠어요 ㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
id 관련해서 질문드립니다!
id가 자동으로 증가하는 게 repository에서 save할 때 member.setId(++sequence)에서 증가하는 것 같은데요 sequence에 대해서 찾아보는데 db의 내용이 나와 알기가 쉽지 않습니다. 혹시 간단한 설명 부탁드려도 괜찮을까요?그리고 제가 너무 기초적인 것을 몰라서 그런지 int i = 0; member.setId(++i); 위 코드로 바꿔도 가능할지 궁금해져서 확인해보았는데요. ++i에 에러표시가 뜨기에 자료형 문제인 것 같아서 long i = 0; member.setId(++i); 로 다시 바꿔 run 해보았는데 작동은 되지만 멤버가 하나밖에 저장되지 않더라고요. (예: spring1, spring2 등록 -> id=1인 spring2 만 저장됨)그냥 숫자형과 sequence와 다른 점이 있나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
response객체
안녕하세요 선생님 좋은강의 잘듣고있습니다! 웹브라우저가 http요청메시지를 보내면 이것을 기반으로 request/response객체가 생성된다고 하셨는데 이때 처음 생성된 response객체는 정보가 없는 비어있는 객체 상태이고 helloServlet객체가 실행이 되면서 response객체에 정보가 채워진다고 볼 수 있나요? 그리고 Servlet을 그냥 service()로직을 수행하는 싱글톤 객체라고 이해하면 될까요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
gradle build할 때 이런 오류가 뜨는데 구글링해도 안 나와서요!
새로 뭐가 생성되긴 한 것 같은데 lib 폴더를 포함한 몇몇 파일은 같이 생성되지 않았더라고요 무슨 오류인가요?ㅠㅠ
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
SQL where 문 vs Java stream filter 성능차이에 관한 질문입니다
안녕하세요! 항상 강의 잘 듣고있습니다:) 스프링 관련해서 프로젝트를 하다가 두 지점사이의 거리를 계산하는 쿼리를 짤 일이 생겼습니다. (예: 내 위치에서 반경 5km이내에 있는 장소들을 가져오기 등) 그래서 QueryDsl 이나 Jdbc Template 으로 SQL 내장 함수를 호출하여 만들려고 했는데 제 경우에는 각 장소의 위경도가 암호화 되어있고 이걸 복호화 해서 거리계산 해야하는데 쉽지않더라고요ㅠㅠ 그래서 문득 생각해보니 이 기능은 전체 데이터를 가져온 다음 차라리 자바 코드로 필터링 하면 더 코드짜기 쉽지 않을까 하는 생각이 들었습니다. [질문] DB SQL where 로 필터링 해서 가져오는 것과 자바코드로 필터링 하는 것 두 방법간에 성능차이가 얼마나 나는지 궁금합니다 (물론 일반적으로는 RDBS 가 더 최적화 되어있을 것 같긴 하지만 실무에서 자바로 필터링하는 경우가 있는지도 궁금합니다) 좀 두서없이 쓴것 같은데 읽어주셔서 감사합니다ㅠ
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
동적으로 작용할 때
만약에 실전1같은 사이트가 있는데, 이제 여기서 이미지정보가 추가되어서 상품 이미지가 보여지는 사이트가 있다고 가정하면, 그 이미지는 DB에 넣어서 상품정보와 같이 가져와야하는건가요 아니면 웹서버에 폴더를 따로 만들어서 거기에서 가져와야 하는 건가요?? 만약에 둘다 가능하다면, 최신 트렌드또는 이쪽으로 공부할수 있는 구글링 키워드 부탁드려도 될까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
getter와 setter를 만드는 이유가 뭔가요?
값을 수정하고 받아들인 다는 의미는 알겠는데 언제 어떻게 사용하는지에 대해서 궁금합니다. 안만들면 안되는건가요?
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]
안녕하세요 오류 질문입니다.
선생님 강의를 현재까지 그대로 따라했는데 @WebServlet("/memberInsert.do") 으로 줬는데 제 경우에 계속 왜 404 뜨면서 없는 jsp 로 갈까요.. (콘솔창에 에러는 안나옵니다..)그리고 선생님이 실행하는 방식이 아닌 저렇게 run as로 하면 안되나요? 오히려 선생님이 하시는 대로 127.0.0.1 로컬호스트 들어가니까 안되더라구요.. 마지막으로 혹시 소스코드 pdf 파일 말고 zip파일이나 이런거로 올려주실수 있을 까요.. 에러 났을때 비교해보고 확인해보고 싶은데 pdf에서 복사하면 ㅁㅁㅁ 이런식으로 복사가 제대로 안되네요..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2실행오류
Exception opening port "8082" (port may be in use), cause: "java.net.BindException: Address already in use: NET_Bind" [90061-200] 포트 pid 찾아서 taskkill 돌리고 다시 h2.bat 실행해도 계속 뜹니다.... 사용자폴더에 .h2.~~.properties파일도 없어서 포트도 못바꾸고 있는데 무엇을 잘못했을까요 ㅠㅜ "8082" (port may be in use), cause: "java.net.BindException: Address already in use: NET_Bind" [90061-200] 포트 pid 찾아서 taskkill 돌리고 다시 h2.bat 실행해도 계속 뜹니다.... 사용자폴더에 .h2.~~.properties파일도 없어서 포트도 못바꾸고 있는데 무엇을 잘못했을까요 ㅠㅜ 윈도우OS고, java SE 1.8과 java SE 11 둘다 설치돼있으며 환경변수는 11로 바꿨습니다 혹시 해결하기가 어렵다면 H2를 건너뛰거나 다른 DB로 대체할 수 있을까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
요청 파라미터를 조회하는기능과 http 메시지 바디를 직접 조회하는 기능
안녕하세요 혹시 요청 파라미터를 조회하는기능과 http 메시지 바디를 직접 조회하는 기능이란게 뭔지 잘 이해가 안가는데 어떤걸 공부해야할까요.. 요청파라미터는 url에 입력되는 사용자의 입력값 즉jsp를 통해서 주입되는 값인거같은데 http 메시지 바디기능은 전혀 모르겠네요 ㅠ
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
BeanCreationException 에러 문의입니다!
MemberFormServlet을 만들고 메인 애플리케이션 실행 도중 발생한 오류입니다. 저번 챕터까지 강의를 듣고 잠시 나갔다 와서 그런지 갑자기 javax.servlet.annotation.WebServlet을 찾아내지 못하고 컴포넌트 스캔을 하지 못하는 것 같은데 해결 방법이 있을까요...?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
CRUD 구현 질문
안녕하세요 영한님 스프링 핵심 원리와 MVC 1편 강의 너무 잘 들었습니다! 스프링 MVC 1편을 완강했는데 CRUD중 D의 구현이 없더라구요. 강의에서도 D의 구현은 한번 해보라고 하셔서 조금 응용해서 구현을 해보았는데 이런식으로 하면되는건가요? 그리고 강의에서 D를 다루지 않은 이유가 혹시 있는지 궁금합니다..! Repository Controller view template
-
미해결스프링 핵심 원리 - 기본편
MVC 2편 ,DB접근기술편 질문
전단계 강의들 듣고있는데 너무 이해가 쏙쏙되서 기다려지네요.. 예정일자 알수있을까요..