개발하다보면 실무에서도 아키텍쳐를 변경해야할 때가 있다. 이 때, 구조를 수정할 때는 구조만 건들여야 한다. 수정하다보면 구조말고도 디테일한 부분이 눈에 밟혀 수정하고 싶은 충동이 생기는데, 그때 한 번에 개선을 하게 되면 다른 사람이 처리하는데도 힘들고, 사람이 다 기억하기도 힘들다. 그러니, 디테일한 것이 보여도 TODO 리스트에 적은 다음 넘어가고, 큰 구조를 먼저 변경이 완료된 후, 테스트까지 완료되면 커밋하고 나서 디테일한 것을 변경하자. 말씀을 듣자마자 과거에 경험했던 일들이 주마등처럼 스쳐 지나갔습니다... ㅋㅋㅋㅋ... 이 문구를 따로 저장해서 마음 속 깊이 새기도록 하겠습니다.
강의 9분에서 진행되던 파라미터를 Response에 다시 돌려주던 부분에서 저는 왜 에러 페이지가 뜰까 고민하다가 발견한 것을 정리했습니다. 강의 처음부터 service 메소드를 오버라이딩할 때 super.service(req, resp); 가 없었지만 Ctrl + Shift + A 를 통해 자동으로 생성할때에는 저 한 줄이 자동으로 붙습니다. 이를 제거해주지 않으면 에러페이지가 표시되고, 응답은 405로 표시됩니다. 저 코드의 의미는 부모 클래스의 service 메소드를 실행하라라는 의미인데, 들어가보면 아래의 코드를 만날 수 있습니다. if (method.equals(METHOD_GET)) { long lastModified = getLastModified(req); if (lastModified == -1) { // servlet doesn't support if-modified-since, no reason // to go through further expensive logic doGet(req, resp); } else { long ifModifiedSince; try { ifModifiedSince = req.getDateHeader(HEADER_IFMODSINCE); } catch (IllegalArgumentException iae) { // Invalid date header - proceed as if none was set ifModifiedSince = -1; } if (ifModifiedSince < (lastModified / 1000 * 1000)) { // If the servlet mod time is later, call doGet() // Round down to the nearest second for a proper compare // A ifModifiedSince of -1 will always be less maybeSetLastModified(resp, lastModified); doGet(req, resp); } else { resp.setStatus(HttpServletResponse.SC_NOT_MODIFIED); } } } 나름 해석해보면 GET 요청이 올 때, doGet 메소드로 보내는 것을 확인할 수 있고, doGet 메소드는 아래와 같습니다. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String msg = lStrings.getString("http.method_get_not_supported"); sendMethodNotAllowed(req, resp, msg); } 코드를 보면 상속을 하지않은 원형 doGet 메소드는 405코드로 바로 응답하도록 작성되어 있는 것을 확인할 수 있습니다. 이를 해결하는 방법은 2가지가 있습니다. 상속받은 HelloServlet의 service 메소드에서 super.service(req, resp) 를 제거하는 것. 상속받은 HelloServlet에 doGet 메소드를 추가로 오버라이딩해서 그곳에 Response를 조작하는 코드를 작성하는 것이 있습니다. 이에 해당하는 방법의 코드는 아래와 같습니다. @WebServlet(name = "helloServlet", urlPatterns = "/hello") public class HelloServlet extends HttpServlet { @Override protected void service( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException { super.service(req, resp); System.out.println("HelloServlet.service"); System.out.println("req = " + req); System.out.println("resp = " + resp); } @Override protected void doGet( HttpServletRequest req, HttpServletResponse resp ) throws IOException { // 파라미터 획득 String userName = req.getParameter("username"); System.out.println("userName = " + userName); // Response Header 설정 resp.setContentType("text/html"); resp.setCharacterEncoding("utf-8"); // Response resp.getWriter().write("hello " + userName); } }
그랩님 새해 복 많이 받으세요. 마케팅 6년차 일반직무에서 근무하고 있는데, 프론트엔드 개발자로 커리어 전환을 꿈꾸고 있는데요. 나이는 33살입니다. 퇴사를 하고 온전히 부트캠프를 통해서 프론트엔드 개발자로 커리어 전환을 시도해보고자 하는데요. 혹시 인프런 강의를 통해서 혼자 진행해보는게 나을지, 부트캠프를 통해 짜여진 커리큘럼을 통해서 진행하는게 나을지 문의 드립니다. 온전히 9-6를 개발 공부에 할애 할 수 있는 상황인데요. 기간은 6개월 정도로 생각하고 있습니다. 혹시 짧은 조언이나 얻어볼 수 있을까요..!
별건 아니지만 5분간 삽질한 내용 공유 드립니다. 19:25 부분에서 강사님이 말씀하신것처럼 필드 유지가 안되는 경우 @Getter @Setter public class MemberForm { @NotEmpty(message = "값이 존재해야 합니다.") private String name; private String city; private String street; private String zipcode; } MemberForm 모델에 수정자가 존재하는지 확인해보세요. @Setter를 사용하지 않는 습관때문에 간단한 것도 놓치네요. 혹시 저와 같은 문제를 겪으신 분을 위해 공유합니다.
[가짜연구소 컨퍼런스, 4th PseudoCon] 가짜연구소에서는 이번에 "함께하는 힘"이라는 주제로 컨퍼런스를 진행합니다! 관련주제로 초대하여 발표하는 invited talks와 가짜연구소의 아카데미 활동(스터디/크루/펠로우쉽)을 발표하는 contributed talk, 그리고 새로운 팀을 만들 수 있는 기회를 갖는 네트워킹까지! 누구나 참여하실 수 있으니 주저말고 오셔서 함께하는 힘, 공유, 동기부여, 함께하는 즐거움의 가치를 누리세요!! 특별히 이번 행사는 정보통신산업진흥원(NIPA)과 Google Cloud의 후원을 받아 진행됩니다. 아쉽게도 행사는 온라인으로 진행되지만, 발표자들과 기여자들은 Google for Startups의 공간에서 진행하게 됩니다! Google의 후원을 받는 날이 오다니이이 정말 기쁩니다!! :) 비영리 머신러닝 커뮤니티 가짜연구소의 4기(2022년 상반기)에는 총30여개의 그룹, 350여명이 함께 성장하며 가짜연구소의 가치를 실현해나가고 있습니다. 이번 기수에서는 삼성서울병원에서 외과의사로 근무하시는 남기님이 <CV in Surgery>팀을, Graph 관련 팀만 벌써 3번이나 이끄신 수민님의 <Groovy Graph>, 무료 튜토리얼을 자주 열어주시는 mlops 전문가 정훈님의 <ml-with-the-flow> 등 다양하고 흥미로운 주제를 기반으로 스터디와 연구개발이 이루어졌습니다! 케글 메달들과 인공지능 경진대회 우승, 70여명이 참여한 오프라인 네트워킹 파티, 다양한 튜토리얼과 쿡북, 스터디 자료와 논문 리뷰 등이 이루어졌습니다. 앞으로는 "비영리 연구"의 새로운 무브먼트를 만들기 위해 조직을 재구성하려합니다! 그러한 발표도 할 예정이니 기대해주세요!! 신청 링크: https://event-us.kr/pseudolab/event/45800 행사 정보: https://pseudo-lab.com/5aa0d71c7e7749de9545222f12c61c5e?v=32ac5977503c40618e3bdcac0035dd20&p=bdde093d551e4b59988eccaceb8ac41c 가짜연구소 디스코드 커뮤니티: https://discord.gg/EPurkHVtp2 --- 이 바쁘고 복잡한 세상에서 홀로 공부하는 것은 매우 힘이듭니다. 쏟아지는 정보를 홀로 감당하기 힘들 뿐더러, 바쁜 일상 속에 홀로 의지내어 목표 지점까지 완주하는 것은 참 어렵습니다. 그런데, 함께함은 어려운 일이 아니라, 상대적으로 쉬운 일입니다. 어떠한 작은 움직임이, 참여가, 소통이 축적되어 여러분의 삶을 크게 변화시킬 것을 기대해보세요! 단순히 혼자 공부하는 것을 함께함으로 효율적이 되는 것 뿐만 아니라, 약한 의지도 강하게 만들고, 하나의 목표를 끝까지 끌고나가 목표까지 달성하고, 같은 분야에서 오래 함께 소통하는 가짜연구소의 이야기를 들어보고 싶으시지 않으신가요? 여러분들의 참여는 거창할 필요 없습니다. 준비될 필요 없습니다. 서로에게 의지할 수 있도록 오히려 내려놓고 부족함을 인정하십시오! 그리고 함께함으로 부족함을 채워나가 끝까지 완주함으로 걸어온 발자취를 뒤돌아보며, 함께 얘기할 수 있는 동료가 있다면 얼마나 행복할까요. 여러분들의 성장 과정이 스트레스나 고통이 아닌 스토리와 즐거움이 가득하기를 바랍니다!
안녕하세요 현재 영한님 스프링 강의를 듣고 있습니다. 우선 좋은강의만들어주셔서 감사합니다. 제가 지금 야생형으로 해서 JPA 활용1편을 거의 다들었고 JPA기본편을 들을 차례인데요, 개발바닥 이벤트로 영한님의 모든 강의를 구매해놓은 상태입니다. 그래서 문득 JPA강의를들으면서 MVC강의도 같이 들으면 좀더 이해가 잘 될까? 아니면 기존 야생형코스를 다듣고 MVC를 추가로 듣는게 나을까? 고민이 되더라구요 JPA활용1편을 무작정 들어보면서 흥미가 더 올랐고 모르는부분은 제가 찾아가면서 해보니 가면갈수록 내공이쌓여서?? 이해가 잘 되고 있습니다.ㅎㅎ 1월중순부터 지인들이랑 프로젝트를 하나 해보기로한 상황이기도하고.. 궁금해서 여쭤봅니다!
📰 2021 빅데이터 통신 플랫폼 경진대회 🎫 코로나 시대와 함께하는 국민의 음식, 배달 문화 변화에 대한 시각화 처리 📅 대회 기간 : 2021년 07월 28일 ~ 2021년 08월 26일 🏆 총 상금 400만원(충북대 총장 또는 사업단장상 등 수상) 🌄 주최: 충북대학교, KT 통신 빅데이터 플랫폼 🔗링크: https://bit.ly/3kZnsyw #데이터사이언스 #인공지능 #tensorflow #pytorch #r #데이터분석가 #데이터 #머신러닝 #딥러닝 #데이콘 #경진대회 #데이터분석 #파이썬 #ML #DL #Python #Dacon #코로나 #해커톤 #Hackathon #충북대학교 #시각화 #KT
- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하 🌏 [데이콘] 자연어 기반 기후기술분류 AI 경진대회 오픈! 🍀 탄소중립 실현을 위한 기후기술 연구는 어떤 기술일까요? ! 📅 대회 기간 : 2021년 6월 21일 ~ 2021년 8월 16일까지 🏆 총 상금 600만원 🌄 주최: 녹색기술센터(GTC) 🔗링크: http://bit.ly/dacon_gtc #데이터사이언스 #인공지능 #GTC #녹색기술센터 #tensorflow #pytorch #r #데이터분석가 #데이터 #머신러닝 #딥러닝 #데이콘 #경진대회 #데이터분석 #파이썬 #ML #DL #Python #Dacon #Kaggle #해커톤 #Hackathon 기를 이용해주세요.
안녕하세요 선생님. 저는 선생님 강의를 수강하고 있는 대학원생입니다. 의료영상분야로 진학하게되어 선생님의 머신러닝/컴퓨터비전강의를 수강하고 있는데요. 현재 머신러닝 강의를 수강한 뒤, 컴퓨터 비전 강의를 수강하려고 합니다. 컴퓨터 비전 강의는 딥러닝 이론이 약하다 생각되어 다른 딥러닝 책과 병행하면서 수강하려고 하는데 괜찮을까요? +)추가로 의료영상관련하여 스타트업 기업을 준비하고 있는데 더 추가적으로 공부해야하거나 준비하면 좋은 것들이 따로 있을까요? 항상 친절하게 답변해주시고, 좋은강의올려주셔서 감사합니다.