묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 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접근기술편 질문
전단계 강의들 듣고있는데 너무 이해가 쏙쏙되서 기다려지네요.. 예정일자 알수있을까요..
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
공통처리의 어려움
안녕하세요 영한님 항상잘듣고있습니다.! 공통처리가 어려운이유중 "아무데나 다 호출이되기때문에"라고 말씀하시는 (2:11) 부분이 클라이언트의 요청을 new-form컨트롤러, save 컨트롤러, list컨트롤러세개중 아무데서나 받을수 있기 떄문에라고 이해했는데 맞을까요?!
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
rs.next()가 지칭하는바가 무엇인지 여쭤봐도 될까요...?
안녕하세요 ㅎㅎㅎ 항상 강의 잘 듣고 있습니다. 감사합니다. HTTP 강의 수강 이후에 RFC문서도 좀 보면서 웹에 빠져들고 있어서 Spring 공부도 하고 있습니다....! 다름이 아니라 순수 JDBC강좌 10분 20초경에 나오는 rs.next()의 의미가 무엇인지 잘 모르겠습니다 ㅠㅠ conn으로 연결을 실행하고 pstmt로 sql문을 전송 Generated ID KEY를 받아옴 rs로 Generated된 key값을 받아옴 까진 이해가 되는데 rs.next()가 의미하는 바가 무엇인지 모르겠습니다. 그래서 뒤에부터 값을 설정한다는게 어떻게 flow가 흘러가는건지 잘 이해가 안가는데 부가 설명을 부탁드려도 될까요 ㅠㅠ 추가로) getLong, getString, setLong ---- 등등의 메소드 이름에서 뒤에 붙는것들은 (Long, String...) DB에서 생성된 Column의 Attribute라고 봐도 될까요? 감사합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
ReturnValueHandler
안녕하세요 영한님 강의를 듣던 도중 궁금한것이 생겨 질문드립니다. 강의 노트 179페이지에 보면 "String으로 뷰 이름을 반환해도, 동작하는 이유가 바로 ReturnValueHandler 덕분이다." 라고 나와있는데 String으로 뷰이름을 반환해도 동작하는 이유는 ViewResolver 때문이 아닌가요? ReturnValueHandler 안에 ViewResolver 가 포함되는것인가요? 좋은 강의 너무 감사드립닌다. 답변기다리겠습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
탈락되면 어떻게 되나요?
마지막에 들어주신 예시 content type : text/html@RequestBody HelloData data 의 경우는 3개의 컨버터를 모두 지나쳐서 탈락하게 된다고 하셨는데요. 그러면 어떻게 되나요? 객체일 때는 null이 넘어오고 primitive 타입일 때는 기본값이 넘어오는 건가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
view를 사용하지 않는다?
안녕하세요 강사님, 질문 드리겠습니다. HttpEntity나 @ResponseBody를 통해 응답 처리를 할 때는 view를 사용하지 않는다는 말이 이해가 잘 안 되는데요. 이전처럼 view의 논리적 이름을 반환한 후 렌더링 해주는 식의 처리를 하는 것이 아니라, 그냥 http body에 필요한 데이터만 담아서 전달해주고 뷰에 대한 부분은 클라이언트 측에서 알아서 하도록 일임한다는 식의 흐름이 맞나요?? 위 내용이 맞다면 여기에서 뷰 리졸버는 아예 사용되지 않는 것인가요? 감사합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
template, webapp
안녕하세요 강사님, 말씀하셨던대로 이번 강의에서 대부분의 의문이 해결되었습니다. 그런데 이번 강의에서도 뷰 파일의 저장 위치가(template or webapp) 달라지는 부분에 대해서는 별다른 언급이 없더라구요. 이 부분도 뒷부분을 듣다보면 알게 되나요??