묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
JSON과 JS Object
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.JSON이라는 데이터가 있을때 parse로 JSObject로 역직렬화를 하고 JSObject를 외부의 시스템에서 사용하기 위해 stringify를 통해 문자열 타입으로 변환한다고 설명되어 있습니다.그러면 JSON이라는 데이터는 결국 문자열 타입인건가요?아니면 JSObject를 JSON이라고 하는것인가요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
TRACE 레벨의 로그가 찍히지 않는 것 같아요( 해결완료 )
JPA 와 DB 설정, 동작확인 강의에서 리뉴얼된 메뉴얼을 따라서 진행하고 있는데 24분 34초에 나오는 BasicBinder 와 관련한 로그가 TRACE 레벨인 것 같은데 해당 로그가 찍히지 않습니다.또한 org.hibernate.SQL 과 관련한 로그도 영상과는 다르게 찍히는데 이유가 뭘까요?p6spy를 적용하여 나오는 결과 로그도 영상과 다릅니다 ( 27분 28초 )p6spy 를 적용하면서 동일한 쿼리 내용이 2번 찍히는 것 같기도 하고 문제를 모르겠습니다.2025-03-25T23:48:11.976+09:00 INFO 12200 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2025-03-25T23:48:12.165+09:00 INFO 12200 --- [ Test worker] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection conn0: url=jdbc:h2:tcp://localhost/~/jpashop user=SA 2025-03-25T23:48:12.168+09:00 INFO 12200 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2025-03-25T23:48:12.225+09:00 INFO 12200 --- [ Test worker] org.hibernate.orm.connections.pooling : HHH10001005: Database info: Database JDBC URL [Connecting through datasource 'p6SpyDataSourceDecorator [com.p6spy.engine.spy.P6DataSource] -> dataSource [com.zaxxer.hikari.HikariDataSource]'] Database driver: undefined/unknown Database version: 2.2.224 Autocommit mode: undefined/unknown Isolation level: undefined/unknown Minimum pool size: undefined/unknown Maximum pool size: undefined/unknown 2025-03-25T23:48:12.864+09:00 DEBUG 12200 --- [ Test worker] org.hibernate.SQL : create global temporary table HTE_member(rn_ integer not null, id bigint, username varchar(255), primary key (rn_)) TRANSACTIONAL 2025-03-25T23:48:12.869+09:00 INFO 12200 --- [ Test worker] p6spy : #1742914092869 | took 2ms | statement | connection 1| url jdbc:h2:tcp://localhost/~/jpashop create global temporary table HTE_member(rn_ integer not null, id bigint, username varchar(255), primary key (rn_)) TRANSACTIONAL create global temporary table HTE_member(rn_ integer not null, id bigint, username varchar(255), primary key (rn_)) TRANSACTIONAL; 2025-03-25T23:48:12.976+09:00 INFO 12200 --- [ Test worker] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) 2025-03-25T23:48:12.988+09:00 DEBUG 12200 --- [ Test worker] org.hibernate.SQL : drop table if exists member cascade 2025-03-25T23:48:12.990+09:00 INFO 12200 --- [ Test worker] p6spy : #1742914092990 | took 1ms | statement | connection 2| url jdbc:h2:tcp://localhost/~/jpashop drop table if exists member cascade drop table if exists member cascade ; 2025-03-25T23:48:12.990+09:00 DEBUG 12200 --- [ Test worker] org.hibernate.SQL : drop sequence if exists member_seq 2025-03-25T23:48:12.991+09:00 INFO 12200 --- [ Test worker] p6spy : #1742914092991 | took 0ms | statement | connection 2| url jdbc:h2:tcp://localhost/~/jpashop drop sequence if exists member_seq drop sequence if exists member_seq; 2025-03-25T23:48:12.995+09:00 DEBUG 12200 --- [ Test worker] org.hibernate.SQL : create sequence member_seq start with 1 increment by 50 2025-03-25T23:48:12.996+09:00 INFO 12200 --- [ Test worker] p6spy : #1742914092996 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop create sequence member_seq start with 1 increment by 50 create sequence member_seq start with 1 increment by 50; 2025-03-25T23:48:13.000+09:00 DEBUG 12200 --- [ Test worker] org.hibernate.SQL : create table member ( id bigint not null, username varchar(255), primary key (id) ) 2025-03-25T23:48:13.002+09:00 INFO 12200 --- [ Test worker] p6spy : #1742914093002 | took 2ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop create table member ( id bigint not null, username varchar(255), primary key (id) ) create table member ( id bigint not null, username varchar(255), primary key (id) ); 2025-03-25T23:48:13.005+09:00 INFO 12200 --- [ Test worker] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-03-25T23:48:13.328+09:00 WARN 12200 --- [ Test worker] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning 2025-03-25T23:48:13.368+09:00 INFO 12200 --- [ Test worker] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html] 2025-03-25T23:48:13.881+09:00 INFO 12200 --- [ Test worker] jpabook.jpashop.MemberRepositoryTest : Started MemberRepositoryTest in 4.281 seconds (process running for 5.626) 2025-03-25T23:48:14.568+09:00 DEBUG 12200 --- [ Test worker] org.hibernate.SQL : select next value for member_seq 2025-03-25T23:48:14.589+09:00 INFO 12200 --- [ Test worker] p6spy : #1742914094589 | took 13ms | statement | connection 4| url jdbc:h2:tcp://localhost/~/jpashop select next value for member_seq select next value for member_seq; 2025-03-25T23:48:14.685+09:00 INFO 12200 --- [ Test worker] p6spy : #1742914094685 | took 0ms | rollback | connection 4| url jdbc:h2:tcp://localhost/~/jpashop ; OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended 2025-03-25T23:48:14.710+09:00 INFO 12200 --- [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' 2025-03-25T23:48:14.716+09:00 INFO 12200 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... 2025-03-25T23:48:14.730+09:00 INFO 12200 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.현재 설정 파일 내용들입니다.spring: datasource: url: jdbc:h2:tcp://localhost/~/jpashop username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto : create properties: hibernate: # show_sql: true format_sql: true logging.level: org.hibernate.SQL: debug org.hibernate.orm.jdbc.bind: traceJunit5를 사용하기 위해서 Junit4를 추가하지 않았습니다.plugins { id 'java' id 'org.springframework.boot' version '3.4.4' id 'io.spring.dependency-management' version '1.1.7' } group = 'jpabook' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.10.0' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() }
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
Integer: 뒤에 띄어쓰기까지 해야하는 건가요?
16:46 Integer: 이랑 42 사이에 띄어쓰기까지 해야하는 건가요? 안하면 틀리는 건가요?18:45하얀글씨 5번째줄인 float fnum =3.14f;에서 마지막 f는 뭔가요? 저것도 같이 출력하는건줄 알았는데
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
2분 44초 질문
무슨말씀이신지 이해가 안가요.ㅠㅠ가운데정렬을 편안하게 해주려면 span 을 이용하는 이유가 와닿지 않습니다.
-
미해결AWS 클라우드 서비스 인프라 구축 이해와 해킹, 보안
워드프레스 접속이안됩니다.
기존에 촬영 영상은 22년 기준이어현재기준 도커컴포스 설치 방법찾아보니워드프레스 접속포트가 -80:80 형식이더군요이미지와 같이 설치하고 docker ps 명령에도정상 ps 출력되고있습니다.다만 저렇게 설정하고 워드프레스 접속시개방주소법의 퍼블릭IP:80 해도 접속이안되며localhost:80 해도 접속이안됩니다.접속안될때 문구는 localhost 에서 연결을 거부했습니다 라고 나옵니다.접속이왜 안되는지 문의드립니다.(영상이 22년 화면 기준이라 현재랑 너무 다른설정이 많아 따라가는데 불편합니다)
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
최종과제 제출
질문을 남겨주실 때 아래 부분을 같이 남겨주시면 더 빠르게 상황을 파악하고 답변드릴 수 있어요 🙂어떤 강의를 들으면서 발생했나요?어떤 문제가 생겼나요?어떤 시도를 해보셨나요? 어떤 쿼리를 사용했나요?환경이 어떻게 되나요?(윈도우, 맥 중 택1, 크롬 같은 웹브라우저 환경)배운 것을 토대로 분석해보았는데, 홈페이지에 올렸습니다링크
-
해결됨[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
homework에 관한 강의는없나용?
homework에 관한 강의는없나용?
-
해결됨(2025) MBTI 테스트 기반 수익형 웹사이트 만들기 - <코딩 배워 사업하자>
이미지 제작에 관한 문의
케이테스트 사이트는 썸네일 부터 결과 페이지 까지 모두 통이미지로 되어있습니다.결국 테스트성격에 맞는 이미지들을 만들어야하는데테스트 하나당 결과 페이지까지 합쳐서 15개 정도를 만들어야 할듯 합니다.이 부분은 어디서 뭘 참고하거나 공부해야 감을 잡을수 있을까요?아니면 이미지에 관련된 수업이 예정되어 있는지요~소중한 강의 감사합니다~
-
해결됨친절한 블렌더 - [LV.2] 모델링 연습
49:20 포탈 노드 부분
49:20 포탈 노드 부분에서노드를 똑같이 해도, 위치 x부분, y,z부분 다 수정해도 똑같이 안되더라고요,여러번 해도 안되어서 질문남깁니다!
-
미해결
스마트폰에서 강의 재생이 안됩니다.
스마트폰 크롬에서 강의 수강하려는데, 3016 오류가 나면서 강의 재생이 안됩니다.스마트폰 오페라mini 브라우저에서도 강의수강 안되요.노트북에서는 수강 가능....이동 중 수강해야 하는데, 해결 부탁드려요!
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
category 테이블을 사용할 수 없습니다
코드를 똑같이 따라했는데 innerJoin을 사용할때 category 테이블을 입력하면 에러가 나옵니다.Undefined name 'category'. (Documentation) Try correcting the name to one that is defined, or defining the name.뭐가 문제일까요?
-
해결됨따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
toJson을 추가하면 [sub].tsx에서 sub를 받아오지 못합니다.
entity에 toJson을 추가하고 내용을 비워놓기만 해도, sub를 받아오지 못합니다.강의에서는 잘 진행되어서 지금 전혀 원인을 알 수 없습니다. 답변 부탁드립니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
성능 비교 관련해서 질문 있습니다.
안녕하세요 큰돌님 강의 잘 듣고 있습니다.저는 공부할 때 제가 짠 코드랑 큰돌님이 짠 코드 그리고 채점현황에 있는 다른 사람코드를 보며 걸린 시간을 자주 비교해봅니다.걸린 시간이 차이나는 건 해결방법의 시간복잡도의 차이가 있어서겠지만, 코드를 비교하다보면 꽤나 자주 문제를 푸는 방법이 비슷한데도 불구하고 걸린 시간 차이가 유의미해 보이는 경우가 있습니다.예를 들면 4-F문제의 경우 큰돌님이 공유해주신 코드는 124ms걸렸습니다. (제가 다시 큰돌님 코드 그대로 다시 돌려봤을 때는 100ms 걸렸습니다.)http://boj.kr/7943b7d08dcb4d30bec01eabbf160e77그리고 제가 큰돌님 코드를 참고해서 다시 짠 코드는 24ms가 걸렸습니다.http://boj.kr/e57959b67c14428ab1a14942f45f667e큰돌님꺼 보고 짠거라 논리는 거의 똑같은데 4~5배 정도의 시간차이가 나서 꽤 유의미한 차이가 나는 것에 의문이 들었습니다.하지만 제가 그 우의미한 시간 차이의 원인을 찾기는 힘들었습니다.백준 테스트케이스의 구성에 따라서 같은 성능을 가진 두 코드라도 걸린 시간의 유의미한 시간 차이가 생길 수 있는 걸까요?걸린 시간 차이가 왜 생겼는지 고민해보는 건 좋겠지만 이 정도의 코드 차이에 대해서 걸린 시간 차이가 왜 생겼는지 고민해보는 건 불필요할까요?아니면 제가 생각히지 못하는 두 코드의 유의미한 성능에 영향을 주는 요소가 있을까요?이런 비교를 하는데 너무 시간을 쓰는 건 아닐까 고민이 되기도 해서 질문드립니다.감사합니다.
-
해결됨코딩테스트 [ ALL IN ONE ]
list1.append(list2)와 list1.append(list2[:])의 차이가 무엇인가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 def solution(l,k): result = [] curr = [] def backtracking(start, curr): if len(curr) == k: result.append(curr[:]) return for i in range(start, len(l)): curr.append(i+1) backtracking(i + 1, curr) curr.pop() backtracking(0, curr) return result위의 코드에서 if len(curr) == k: 안에 result.append(curr[:]) 대신 result.append(curr)을 넣으면 result = [[], [], [], [], [], []]와 같이 값이 제대로 추가가 안 되던데 무슨 차이가 있는 건가요?main 함수에서 test1 = [] test2 = [1,2,3] test1.append(test2) print(test1) test1 = [] test1.append(test2[:]) print(test1)이와 같이 테스트를 해보면 두 프린트 결과 모두 [[1,2,3]]으로 동일하게 나오는데 위의 경우는 달라서 질문 드립니다.
-
미해결
dfdf
ddddd
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
숫자입력 시 int 형 범위가 넘어가는 경우
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]안녕하세요 !! 영한님 강의로 열심히 공부하고 있는 한 사람입니다.수량 입력할 때, 1111111111(11개) 를 입력했을 때, "숫자를 입력해주세요" 라는 오류 메시지가 뜨더라구요.그래서 혹시 int 형 범위 문제인가 싶어서2147483648(int 형 최대 범위 숫자 " + 1")를 넣어보니, 다시 "숫자를 입력해주세요" 오류 메시지가 나왔습니다. 따라서 int 형 범위를 넘어선 long 형 범위에 들어가면 숫자가 아니라고 판단하는 것 같더라구요.사용자 입장에서 int 형 범위든 long 형 범위든 숫자를 입력한 건 맞는 사실이기에, 기존에 int 형 범위 숫자만 숫자로 인식하는 것이 아닌, long 형 범위에서도 숫자로 인식하여 "숫자를 입력해주세요" 라는 오류 메시지가 발생하지 않으려면 어떻게 해야하나요 ??
-
미해결[백엔드/예외처리 시나리오/집계 최적화] 백엔드 포트폴리오와 실무 이력 강화 전략. 올인원 PART1
bulkInsert 부분에서 마지막에 이상한? 부분이 있는것 같아서 문의드립니다.
마지막 부분에 getBatchSize()를 1000정도 권장해주셨는데요.jdbcTemplate.batchUpdate()는 내부적으로 배치사이즈만큼 for문을 통해 반복하는것 같습니다. 즉 실제 처리해야할 대상 데이터가 1000개가 넘는다면 1000번째 이후 데이터부터는 INSERT가 안될거고요.만약 1000개 미만이라면 예를 들어 500개밖에 없다면 501번째 반복때 java.lang.ArrayIndexOutOfBoundsException발생할것 같습니다.만약 chunk가 최대 1000개정도가 적당하다라는 말씀이신거면 모르겠지만 1000으로 하드코딩해서 쓴다 라고 하신것처럼 와닿아서.. 오해의 소지가 있는것 같아 남깁니다~ private void bulkProcessSettlements(Map<Long, BigDecimal> settlementMap, LocalDate paymentDate) { String sql = "INSERT INTO settlements (partner_id, total_amount, payment_date) VALUES (?, ?, ?)"; jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() { @Override public void setValues(PreparedStatement ps, int i) throws SQLException { // } @Override public int getBatchSize() { return 1000; } }); }
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
SSR은 언제 사용될까요??
안녕하세요!강의를 수강하면서 나날이 성장하는게 느껴집니다!!SSG, SSR, ISR 개념을 배우면서, SSR을 언제 사용해야 하는지에 대한 고민이 생겼습니다.블로그 글이나 GPT의 답변을 참고해보니, 개인화된 사용자 데이터나 요청 시에만 알 수 있는 정보에 의존하는 페이지를 렌더링해야 하는 경우 사용한다고 합니다.저는 조금 다른 접근을 고민해봤습니다.ISR을 활용하여 개인화된 페이지를 생성하고, Middleware에서 사용자 인증을 검증하는 방식으로 생각해봤습니다.또는 SSR 대신 SSG를 사용하고, 클라이언트 측에서 필요한 데이터를 패칭하는 방식으로 생각해봤습니다.정리하자면 SSR은 언제 써야하는지 잘 모르겠습니다.소중한 시간 긴 글 읽어주셔서 감사합니다!!
-
미해결[애플 공식 교재] 스위프트 퍼즐 2
배열 섬생성기
water를 입력하면 오류가 생깁니다
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
FrontControllerServletV2의 service 메소드 동작원리 질문
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.FrontControllerServletV2의 service 메소드를 보면 마지막 두 줄에 MyView view = controller.process(request, response); view.render(request, response);첫번째 줄에는 viewpath만 가지고 있는 객체라고 생각이 되는데두번째 줄에서 render의 매개변수로 사용되는 request, response 두가지는 어디서 나온건지 궁금합니다.제가 이해 하기론 예를들어 회원 저장시 FrontControllerServletV2가 requestURI변수에 "/front-controller/v2/members/save" 를 받아오고 controller는 controllerMap.get(requestURI)로 인해 MemberSaveControllerV2객체를 담습니다.MemberSaveControllerV2가 오버라이딩한 process는 @Override public MyView process(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); int age = Integer.parseInt(request.getParameter("age")); Member member = new Member(username, age); memberRepository.save(member); request.setAttribute("member", member); return new MyView("/WEB-INF/views/save-result.jsp"); }저장로직을 실행한 후 request.setAttribute를 통해 (명칭이 기억안납니다) 저장한 후 "/WEB-INF/views/save-result.jsp"를 viewpath로 갖는 MyView객체를 반환하고 이 객체가 FrontControllerServletV2의 view변수에 저장되는데 request와 response는 전달 받지 않았음에도 어떻게 render메소드를 실행하는지 궁금합니다.