묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2309번 왜 틀렸는지 모르겠어요
http://boj.kr/d8b1e5d511d34c0587e641458ebe3ce6
-
해결됨코딩은 실전이다! - Git알못을 위한 깃린이코스(Git, Github 실습위주)
슬랙 초대 부탁드립니다 :)
rlarjsdn3@naver.com입니다. 좋은 강의 만들어주셔서 감사합니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
JdbcSQLIntegrityConstraintViolationException: NULL not allowed for column "ID";
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]저희가 만든 회원가입 페이지에서 새로운 멤버를 등록하면아래와 같은 오류가 발생합니다. insert into member(name) values(?) [23502-200] at org.h2.message.DbException.getJdbcSQLException(DbException.java:459) at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) at org.h2.message.DbException.get(DbException.java:205) at org.h2.message.DbException.get(DbException.java:181) at org.h2.table.Column.validateConvertUpdateSequence(Column.java:374) at org.h2.table.Table.validateConvertUpdateSequence(Table.java:845) at org.h2.command.dml.Insert.insertRows(Insert.java:187) at org.h2.command.dml.Insert.update(Insert.java:151) at org.h2.command.CommandContainer.executeUpdateWithGeneratedKeys(CommandContainer.java:272) at org.h2.command.CommandContainer.update(CommandContainer.java:191) at org.h2.command.Command.executeUpdate(Command.java:251) at org.h2.server.TcpServerThread.process(TcpServerThread.java:406) at org.h2.server.TcpServerThread.run(TcpServerThread.java:183) at java.base/java.lang.Thread.run(Thread.java:834)] with root causeorg.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: NULL not allowed for column "ID"; SQL statement:insert into member(name) values(?) [23502-214] at org.h2.message.DbException.getJdbcSQLException(DbException.java:508) ~[h2-2.1.214.jar:2.1.214] at org.h2.engine.SessionRemote.readException(SessionRemote.java:637) ~[h2-2.1.214.jar:2.1.214] at org.h2.engine.SessionRemote.done(SessionRemote.java:606) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:227) ~[h2-2.1.214.jar:2.1.214] at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:209) ~[h2-2.1.214.jar:2.1.214] at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:169) ~[h2-2.1.214.jar:2.1.214] at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61) ~[HikariCP-4.0.3.jar:na] at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java) ~[HikariCP-4.0.3.jar:na] at hello.hellospring.repository.JdbcMemberRepository.save(JdbcMemberRepository.java:31) ~[classes/:na] at hello.hellospring.service.MemberService.join(MemberService.java:24) ~[classes/:na] at hello.hellospring.controller.MemberController.create(MemberController.java:31) ~[classes/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.24.jar:5.3.24] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.24.jar:5.3.24] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1071) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.24.jar:5.3.24] at javax.servlet.http.HttpServlet.service(HttpServlet.java:696) ~[tomcat-embed-core-9.0.70.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.24.jar:5.3.24] at javax.servlet.http.HttpServlet.service(HttpServlet.java:779) ~[tomcat-embed-core-9.0.70.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.70.jar:9.0.70] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.24.jar:5.3.24] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.24.jar:5.3.24] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.24.jar:5.3.24] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.24.jar:5.3.24] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.24.jar:5.3.24] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.24.jar:5.3.24] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:177) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:891) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1784) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
-
미해결
[스테킹 모델 최종모델(메타모델)질문]
안녕하십니까, 스테킹 모델 강의를 듣던 중 최종적으로 예측을 하기 위한 모델 선정 기준이 궁굼하여 문의드립니다.제가 논문을 읽던 중 논문에서는 릿지회귀나 라쏘를 많이 이용하던데 강의에서는 로지스틱 회귀를 사용한 것으로 기억합니다. 혹시 스테킹 모델을 만들 때 최종 메타모델을 선정하는 기준이 따로 있을까하여 문의드립니다.
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
수업 내용 Fundamental & 파일 관련 질의
안녕하세요 선생님, 또 물어볼 게 생겼어요 ㅠㅠ강의에서 컨트롤러는 테스트를 별도로 작성하지 않았는데 해당 부분을 강의에서 제외하신 이유가 뭔지 궁금합니다.LibraryAppApplicationTest 자바 파일은 코틀린으로 굳이 안바꾸고 Java 빈 폴더를 main에 두고 둘 다 남겨둔 건 서로 호환이 되는 걸 보여주려고 하신 건가요?지난 번에 제가 JPA 단점을 여쭤봤는데 선생님은 JPA를 안 쓰면 안 좋은 점을 알려주신 것 같아 찾아보니 ^^; 잘못 사용하면 데이터 손실이 발생할 수 있고 (persistence context), 성능에 문제 (n+1)가 생길 수 있다고 하네요. 그만큼 다루기 어려운 부분이 있어 복잡하지 않은 시스템에선 피하는 개발자들도 꽤나 있는 거겠죠?BookLoanRequest.kt에는 data class BookLoanRequest( val userName: String, val bookName: String )로 마지막 String 이후에 comma(,)를 안 찍으셨는데, BookRequest.kt에는 data class BookRequest( val name: String, val type: BookType, ) 마지막에 컴마를 찍어주셨어요. 어느게 더 바람직한 practice인가요?ExceptionUtils 파일 안에 fun <T, ID> CrudRepository<T, ID>.findByIdOrThrow(id: ID): T { 라고 T를 계속 넣어주셨는데, 그게 타입을 유연하게 받고 함수 사용을 하고자 하는 제네릭 개념인거죠?cascade = [CascadeType.ALL], orphanRemoval = true 이해하는 게 어려운 것 같아요..MutableList<UserLoanHistory> = mutableListOf() 여기서 MutableList는 가변형으로 읽기 쓰기 둘 다 되고, List는 그 반대로 읽기만 되는 거로 확인했는데 그럼 대부분 데이터 POST/UPDATE/DELETE 등에 적용되면 mutable로 가는 거네요?아직 fundamental를 잡고 있어서 양해 부탁드려요..선생님 설명 기다리겠습니다!
-
해결됨GraphQL 완전정복 (키오스크를 만들며 배우는 풀스택 과정) - [2024 부분 리뉴얼]
또 질문 드립니다
올려주신 소스코드 smart-menu를 npm i와 meteor update 하고 DISABLE_SOCKETS=true meteor run 해서실행하였는데이렇게 Websocket 에러가 나네요.. 왜 연결이 끊기면서 서버가 꺼질까요 ?ㅠ
-
미해결SELECT ALL FROM SQL
[서브쿼리] 예제 문제 Shipper_ID 총합 칼럼 추가 방법 문의
서브쿼리 예제 답으로 CustomerID 별 ShipperID_1,2,3 개수를 구하였는데 칼럼을 추가하여 ShipperID_Sum 값을 구하려면 어떻게 해야할까요? (ShipperID_1,2,3의 총합)ex) CutomerID '5'의 경우 ShipperID_1 = 1ShipperID_2 = 1ShipperID_3 = 1 인데, ShipperID_Sum = 3이 보이게끔 칼럼을 추가하고 싶습니다.
-
미해결모바일 웹 퍼블리싱 포트폴리오 with Figma
스타일가이드 color, text, font 기본셋팅
스타일가이드 color, text, font 기본셋팅 강의를 들어도어려워서 셋팅을 잘 못하겠는데 방법 있을까요?ㅠㅠ
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
이해가 잘 안가는 부분이있습니다.
express + ts 개발 환경 셋업 & hello world! 강의2:37 부분에서 npm run start 를 하면 자동으로 prestart가 먼저 실행이 된다고 말씀을 해주셨는데 이해가 잘 안가서 어떤 이유로 저게 먼저 실행이 되는건가요?
-
미해결
유료는 비활성화 바래요
유료 무료 구별을 명확히 해 주세요좋아요 해놨는데 유료네요회사마다 제공되는 과목만 보여주세요스크립트 말고 언어는 무료가 없나요가장 의견을 드리는 건 회사마다 제공되는 과목만 보여주세요
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
혹시 노션 과제 부분 어떤 강의를 듣고 어떤 과제를 수행하는 지 명시적으로 수정 가능하신가요?
섹션 안에 소제목이 강의의 어떤 부분에 해당하는지 명확하지가 않아서 어디까지 듣고 과제를 수행해야하는 지 명확하게 알기 힘든데이 부분 강의를 어디까지 듣고 과제를 수행해야하는지 노션 수정 해주실 수 있나요?예를 들면, HTTP 통신(8 ~ 10) 이런 식으로요
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
swagger 부분에서 js -> yaml로 변경했을 때 오류가 생깁니다.
주석으로 쓰는게 보기가 조금 안좋아서 yaml로 바꾸려다가 boards -> parameters 부분이 오류가 발생하네요.오류 해결 안해도 제대로 동작하긴 하는데, 공식문서를 봤을 때는 파라미터를 정의할 때는 위치(in), 매개변수의 이름(name), 데이터 유형(schema)가 필수로 들어가야 한다고 명시되어 있는데 이렇게 사용하는게 아닌가 싶습니다.paths: /boards: get: summary: 게시글 가져오기 parameters: - in: query name: number schema: type: integer ...
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
섹션별 과제와 포트폴리오 과제
section1 - 리액트 기초의 첫번째 소주제를 들었는데요.Emotion이 뭔지에 대해 간략한 설명을 들었을 뿐인데바로 Figma를 이용해서 잇츠로드-FAQ와 , 게시물등록 페이지를 만들고 다음 강의로 넘어가는게 맞나요 ? 어떤식으로 만들어야 하는지 Figma는 어떻게 활용하는건지 아무런 설명이 없어서 당황스러워요
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
강사님 이 코드에서 백틱과 따옴표들이요..
const subs = await AppDataSource.createQueryBuilder() .select( `s.title,s.name,${imageUrlExp} as "imageUrl", count(p.id) as "postCount"` ) .from(Sub, 's') .leftJoin(Post, 'p', `s.name = p."subName"`) .groupBy('s.title, s.name, "imageUrl"') .orderBy(`"postCount"`, 'DESC') .limit(5) .execute(); 위의 코드에서 백틱 ``과 따옴표들 '', "" 사용방식들에대한 기초적인 지식을 쌓으려면 어떻게 검색해보면될까요?일단 제 나름대로 접근식으로는 .from이나 .orderBy 이런건 typeORM 문법인거같아서 찾아보니 문서에는 백틱은 안적혀있는거같고 따옴표로만 작성해준거같아서요.. 혹시 변수가 들어가있으면 ``를써주는게맞나요?근데 .orderBy부분에서 `"postCount"`, 이부분이 좀 이해가 안가는게 백틱에 또 큰따옴표를 감싸주셔서..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원 서비스 테스트 8:06 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]저는 fail() 안에 내용 삭제했더니 오류가 발생하는데 왜 선생님과 다른건가요?
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
공기계를 AVD로 사용중인데 database 업로드가 안되네요
규칙도 "true"로 바꾸고, json 파일도 잘 업로드 됬는지 확인했습니다. cpu에 에뮬레이터를 설정하기에는 너무 느려져서 공기계로 사용했는데 왜 이런지 잘 모르겠네요
-
미해결스마트요원에게 배우는 구글 스프레드시트
데이터 확인 드롭다운 목록 만들기
안녕하세요, 수업 내용을 보면서 실습 파일을 진행하던 도중 궁금한 게 있어 문의드립니다. 선생님께서 강의를 해주시는 내용과 실제 구글 스프레드 시트 기능이 달라 어떻게 하면 강의대로 결과를 얻을 수 있는지 문의드립니다. 강의에서는 데이터 확인을 누를 때 알럿창이 뜨면서 설정할 수 있게 되어 있는데요.실제 기능으로는 데이터 확인 규칙으로 기준이 달라 자세히 안내해주시면 감사하겠습니다.
-
해결됨GraphQL 완전정복 (키오스크를 만들며 배우는 풀스택 과정) - [2024 부분 리뉴얼]
meteor 패키지 설치 or npm 패키지 설치
안녕하세요~패키지 설치시, 어떤 경우에는 meteor add 로 설치하고 어떤 경우에는 npm i 로 설치하는데 왜 두 방식으로 나눠서 설치하는 건가요??그리고 이 패키지의 경우에는 meteor 와 npm 둘다 설치하는데 이건 왜 그런건가요??meteor add hot-module-replacementnpm i --save hot-module-replacement
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
CPU가 곱하고 나누는 방법 질문
안녕하세요. :-)강의 너무 잘 듣고 있습니다.사소하지만 곱셈에 대해 궁금한 부분이 있습니다. 4비트로 표현한 5인 0101을왼쪽으로 한칸씩 밀고(shift)맨 오른쪽에 0이 채워지면(padding)결과가 1010으로 10이 되고이처럼 한 칸을 밀면 곱하기 2를 한 것과 같은 것은 이해를 하였는데요. 교안에 따라 4비트로 표현한 5인 0101을 두 칸을 밀면,곱하기 4로 20이 될것으로 기대했는데,결과적으로는 0100으로 4가 아닌가요?제가 어떤 부분을 이해를 못하고 있는 것인지 궁금합니다. 감사합니다.
-
미해결캐글 Advanced 머신러닝 실전 박치기
catplot의 kind=count사용 시, 비율 문제 관련 질문드립니다.
그래프를 해석하는 데 있어서, catplot의 countplot을 통해 그래프를 작성하면 한 가지 단점이 target=0과 target=1 일때 각각의 경우에 대해서 나온 그래프의 전체 값이 다르기 때문에 비율을 통해 접근을 해야 한다고 하셨습니다.그 이유는 TARGET = 0의 비율은 전체 데이터프레임 app_train['TARGET'].value_counts() / app_train.shape[0]을 적용했을 때, 각각 92% , 8% 정도가 나오기 때문입니다.Q: 올바르게 이해한 것이 맞을 까요?따라서 왼쪽 subplot의 경우 전체 92%의 데이터들 가운데, 각 object칼럼에 대응하는 TARGET = 0 일때의 count 갯수를 기준으로 만들어진 것이며, 오른쪽 subplot의 경우 이러한 왼쪽 subplot을 기준으로 만들어진 그래프이기 때문에 그래프가 짜부라져 보인다는 것으로 이해하였습니다.이와 같이 비슷하게 설명을 하셨지만, 질문 게시판에 다시 올린 이유는CODE_GENDER를 제외한 나머지 15개의 object칼럼에 대해 큰 차이가 없어보이는 것을 확인 할 수 있다고 하셨는데, FLAG_OWN_CAR(차 소유 여부)의 경우 (차량 소유 = yes)있을 때, 연체 비율이 no 일때 보다 훨씬 높다는 것을 확인 할 수 있었습니다. TARGET = 1일 떄의 차량 소유 NO /TARGET = 0일 떄의 차량 소유 NO (분모가 더 큼)마찬가지로 FLAG_OWN_REALITY(부동산 소유 여부) 의 경우에는부동산을 소유하지 않았을 때, 연체 비율이 더 높은 것을 확인할 수 있었습니다.그래서, 제가 올바르게 이해한 것인지 여쭤보고 싶습니다. Q: 그래프를 Target=1/TARGET = 0 일때를 기준으로 좀 더 명확하게 보고 싶은데 어떻게 코드를 작성하는 것이 좋을까요?먼저 제가 이렇게 그래프를 보고 싶은 이유는 다음과 같습니다. 아무래도 16개의 칼럼들에 대해서 비율로 접근하다보니, 만약 TARGET = 0일 때 object칼럼에 대한 각각의 x 값이 비슷할 경우, target = 1일 때 짜부라진 데이터에 대해서 부정확한 분석을 할 수 있을 것 같았기 때문입니다. 따라서 scale조정을 할 수 있다면, 좀 더 정확하게 분석을 할 수 있지 않을 까? 하는 생각이 들었습니다.코드를 보면, 다음과 같습니다.[16개의 object칼럼 데이터에 대해서 list형태로 만듦]object_columns = app_train.dtypes[app_train.dtypes == "object"].index.tolist()object_columns[catplot을 사용하여 kind=count형식으로 그래프를 만듦]def show_category_by_target(df, columns):for column in columns:print('column name:', column) chart = sns.catplot(x=column, col = 'TARGET', data=df, kind='count')chart.set_xticklabels(rotation=65)show_category_by_target(app_train, object_columns) x= column을 통해 loop를 돌면서 app_train[column]이 들어가기 때문에, 각 카테고리형 변수에 대해서 target 0과 target 1에 대해(col='TARGET') 두 개의 subplots 가 나오는 코드입니다.이 부분을 하나의 plot으로, target 1일 때 / target 0일 때 각 카테고리형 변수에 대한 각 인자들 로 나눠서 보고싶은데 어떻게 해야할까요?쉽게 생각하면, 원래 오른쪽 subplot / 왼쪽 subplot을 하여 하나의 target=1에 대한 그래프를 보고 싶다는 질문입니다.