안녕하세요. 예외 처리 질문드립니다. checked exception을 잡을 때 catch 블럭에서 임의로 발생시킨 MyCheckedException이 아닌 RuntimeException을 잡으려고 하면 여기서 예외 처리를 못하니 throws로 예외를 다시 던져줘서 코드가 에러가 없었는데, unchecked exception을 잡을 때 똑같이 catch 블럭에서 발생된 MyUncheckedException이 아닌 다른 예외를 catch로 선언하고 나서 못 잡을 경우 밖으로 예외를 던지나 보려고 했는데 catch 에서 MyUncheckedException이 아닌 예외 중 어떤 건 에러가 안 나고 어떤 건 에러가 납니다. 예를 들어 NullPointerExceptoin으로 잡으려고 하면 코드에 이상이 없고, MyCheckedException으로 잡으려고 하면 에러가 발생합니다. 어차피 둘 다 catch 블럭에서 처리할 수 없어서 밖으로 던질텐데 왜 이런 걸까요 ? public void callCatch(){ try{ client.call(); }catch(NullPointerException e){ System.out.println("예외처리, message = " + e.getMessage()); } System.out.println("정상 흐름"); } public void callCatch(){ try{ client.call(); }catch(MyCheckedException e){ System.out.println("예외처리, message = " + e.getMessage()); } System.out.println("정상 흐름"); } java: exception exception.basic.checked.MyCheckedException is never thrown in body of corresponding try statement
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 6. 로그인 처리1 - 쿠키, 세션.pdf (v20240408) '쿠키를 사용해서 로그인Id를 전달해서 ~~~' 이런 식으로 나와 있는데 여기에 써진 로그인Id가 loginId랑 같은 의미라면 혹시 오타일까요? 쿠키를 통해 전달하는 건 MemberRepository의 store에 저장된 id라서 memberId 혹은 id가 좀 더 명확하지 않나 싶어서 제보합니다.
안녕하세요 콘솔에서 배포한 aws 리소스들을 테라폼으로 관리하려고 한다면, 배포된 모든 리소스들을 하나씩 import한 후 plan해보면서 변경점을 찾아 코드화시키는 방법밖에 없을까요? 리소스가 많으면 이런 작업도 공수가 꽤나 들어갈 것 같은데 다른 방법이나 툴같은게 있는지 궁금합니다. 찾아보니 terraformer로 가져올 수 있는거 같은데, 얘를 사용해도 일부 커스텀이 좀 필요한 것 같아 보입니다. 실제 업무에서는 어떤 식으로 해결하는지 궁금하여 질문드립니다.
선생님 안녕하세요 두번째 강의 막 시작했는데요...^^ 강의 아주 초반에는 postman으로 성적저장 put api 보낼 때는 스프링 서버가 잘 응답했는데, 오히려 성적저장 애플리케이션 개발 후 마지막으로 테스트 put api 보낼때는 응답못하고 500 에러 뱉으면서 local host access denied 이런 에러가 갑자기 나오는데 구글링하고 chatGPT 물어봐도 해결이 안 되요. 아무래도 db쪽 문제인 것 같은데 뭐가 문제일까요? 도와주세요.
@Controller @RequestMapping("/springmvc/v3/members") public class SpringMemberControllerV3 { private MemberRepository memberRepository = MemberRepository.getInstance(); @GetMapping("/new-form") public String newForm() { return "new-form"; } @PostMapping("/save") public String save(@RequestParam("username") String username, @RequestParam("age") int age, Model model) { Member member = new Member(username, age); memberRepository.save(member); model.addAttribute("member", member); return "save-result"; } @GetMapping public String members(Model model) { List<Member> members = memberRepository.findAll(); model.addAttribute("members", members); return "members"; } } 코드를 실행하면 스프링 빈에 Controller가 붙은 SpringMemberControllerV3가 등록되고, 자동으로 맵핑도 됩니다. 질문: http 요청이 오면, mapping된 핸들러를 찾습니다. 여기서 핸들러는 SpringMemberControllerV3인 건가요? 핸들러가 핸들러 어댑터를 찾아야하는데 핸들러 어댑터 맵핑 할 때는 뭐가 등록이 되는 건가요? 제가 이해한 건 SpringMemberControllerV3 클래스가 핸들러 어댑터로 등록이 되고, SpringMemberControllerV3 클래스 안에 있는 메서드가 핸들러로 등록이 되는 거 맞나요? 어떤게 핸들러 어댑터고 어떤 게 핸들러(컨트롤러) 인지 잘 모르겠습니다. 여기서는 핸들러(컨트롤러)만 만들어놓은 거 같은데 여기서 핸들러 어댑터는 뭐로 맵핑이 되는지를 몰라서 핸들러 어댑터를 찾을 때 어떤 것과 비교를 하는 건가요?
해당 프로젝트는 벤치마킹할 기업은 있습니다. 저희 차별점은 해당 사업 관련 사이드 프로젝트로 런칭 후 3개월 내에 목표 KPI 이상 매출을 만들고 현재도 유지 중에 있습니다. 그로 인해 저희 프로젝트의 신뢰성과 레퍼런스가 생성되였고, 본격 프로젝트화를 진행하고자 공고를 올리게 되었습니다. 1. 프로젝트의 시작 동기 만들고자 하는 것은 B2B 중개 플랫폼 (크몽, 숨고)입니다. 현재 이커머스 셀러, 오프라인 자영업자, 소상공인 더 나아가 대기업도 전문(대행 등) 업체를 찾기 위해 노력하지만 직접 찾는 데에 있어 큰 어려움이 있습니다. 그로 인해 의지할 방향성이 없어 영업에 휘둘리며 좋지 못한 경험을 하여 사업성이 떨어지고 있습니다. -> 이 문제점을 이용하여 크몽과 숨고를 디벨롭한 사업 아이템의 가능성을 확인하기 위해 개인사업자로 개인 프로젝트를 진행하였고 런칭 3개월 내에 월 매출 1,000만원 이상을 확보하였습니다. S사, C사, A사에서 그로스마케터로 데이터분석 / AARRR 마케팅 등 다양한 마케팅 경험을 기반으로 2023.07 현 사업을 위한 사이드 프로젝트를 개인사업자로 시작하여 2023.09 ~ 현재까지 월 매출 1,000만원 이상 유지하고 있습니다. 이러한 경험을 기반으로 N사 백엔드/App(flutter) 개발자와 B2B 중개 플랫폼 문제를 해소하며 최고의 솔루션 개발을 진행하려고 합니다. 이 점을 해결하고 더 나아가 대기업/공공기관 등이 의지하는 전문 기업으로 성장할 것 입니다. (자세한 내용은 문의해 주세요) 이커머스 셀러 / 마케터 / 블로거 등 온라인을 넘어 오프라인 사업장에도 큰 영향력을 끼칠 것 입니다. 저는 S사에서는 신사업 기획을 하였고 C사에서는 그로스 마케팅, A사에서는 마케팅과 데이터 분석을 전문적으로 하였고 사이드 프로젝트로 사업기획을 경험하고 성공한 사례를 바탕으로 좋은 영향력으로 프로젝트를 진행하고 싶습니다. *참고 : 현재 N사 개발자는 퇴사하여 사업 성장에 집중하고 있는 상태이며, 개인으로 진행했던 매출 나오던 건 7월에 종료할 예정이며 본격 초기멤버를 구성하여 사업화 진행하고자 합니다. 2. 회의 진행/모임 방식 - 현재 N사 백엔드 개발자와 기획까지는 마무리되어 바로 실행에 옮기고자 합니다. 현직자도 무방하나, 빠르게 진행하려고 합니다. - 오프라인은 상황에 맞추어 진행할 예정이며, 상황이 어려운 경우 Zoom 미팅으로 대체합니다. <현재 인원> 백엔드 : 1명 기획 : 1명 마케팅 : 1명 (기획자와 동일한 본인) 앱 : 1명 UI/UX : 면접 2명 진행 예정 <모집 인원> 웹 : 프레임워크 상관없음 앱 : IOS 3. 기타 해당 공고 프로젝트는 단순 사이드 프로젝트가 아닌 사업성을 보고 진행하는 것이기에, 중도 포기하지 않을 분을 찾고 있으며, 초기 멤버로 급여 방식이 아닌 법인 설립에 대한 지분 공유로 보상이 측정됩니다. 스타트업 멤버 지원 (직장인, 투잡 불가는 아니지만 9-11월 내 런칭을 목표로 타이트한 일정에 대한 task 이슈가 없어야 합니다.) https://open.kakao.com/o/ss5SJsxg
데이터가 충분할 때는 train_test_split으로 X_tr, X_val, y_tr, y_val로 모델을 학습하고, 데이터가 충분하지 않을 때는 cross_val_scores로 모델을 학습한다고 알고 있습니다. 여기서 데이터가 충분하고 충분하지 않고의 기준은 무엇인가요? 데이터가 몇 개의 행이 있어야 충분하다고 보는지 궁금합니다!
안녕하세요 선생님, 보통 작업형2에서 train, val 데이터 분할하고 from sklearn.ensemble import RandomForestRegressor rf = RandomForestRegressor() rf.fit (X_tr,y_tr) 하고 모델 평가 했을 떄 이상없으면 pred = rf.predict(test) << test를 예측하게 되는데 여기서 질문이, fit은 X_tr, y_tr로 하는게 맞을까요 ? 아님 분할 데이터가 아닌 X_train, X_train[y]로 하는게 더 적합할까요 ?? ㅠㅠ 어렵네여 강의보면 x_tr, y_tr fit해서 진행하긴했는데 궁금합니당
[문제] 결측치가 있는 행을 제거한 후, 학생이 가장 많이 수강한 과목(id_assessment)을 찾고, 해당 과목 점수(score)를 표준화(스탠다스 스케일) 한 뒤에 표준화된 가장 큰 값을 구하시오. (반올림하여 소수 셋째자리까지 계산) 선생님께서는 가장 많이 수강한 과목을 찾기 위해서 value_counts()로 코딩을 하셨는데요! 다름 아니라 df.sort_values('id_assessment' , ascending = False)로 내림차순정렬을 하여서 구하면 안되는걸까요! 내림차순정렬을 할때와 value_counts()로 구할때의 차이점도 혹시 있을까요.. 종종 헷갈리네요.. 둘다 같은 의미일까요 혹시.?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] Database "/home/ubuntu/test" not found, either pre-create it or allow remote database creation (not recommended in secure environments) [90149-224] 90149/90149 (도움말) 오류가 발생합니다.. 구글링을 해보니t est.mv. db 를 생성해주어야하더라구요.. 원래 맨처음에는 잘 됐는데 비번 잘못설정해서 다 삭제하고 다시 설치하였습니다. 일단 설명대로 C:\Users\user에 직접 만들어주었습니다. 하지만 같은 오류가 발생해서 원인을 모르겠습니다 ㅠㅠ.ㅠ
예외처리에 관련해 질문이 있습니다. try 구문안에서 예외가 발생하면 밑에있는 try의 남은 구문 건너뛰고 바로 catch문으로가서 잡아주는것으로 알고있습니다. 그런데 공부하다보니까 헷갈리는게 MemberRepository에 있는 save메서드로 예를 들면, con.prepareStatement(sql)부터 SQLException을 발생시키는데 어떻게 try안에 있는 것들이 정상적으로 수행되는지 궁금합니다. 예외가 나오는 순간 catch문으로가서 catch구문을 수행하는 것이 아닌가요 ?? @Override public Member save(Member member) { String sql = "insert into member(member_id,money) values(?,?)"; Connection con = null; PreparedStatement pstmt = null; try { con = getConnection(); pstmt = con.prepareStatement(sql); pstmt.setString(1, member.getMemberId()); pstmt.setInt(2, member.getMoney()); pstmt.executeUpdate(); //수정 return member; } catch (SQLException e) { log.error("db error", e); throw new MyDbException(e); }finally { close(con, pstmt, null); } }