묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 핵심 원리 - 고급편
createNextId()시 새로운 객체를 반환하는 이유가 있나요?
public TraceStatus beginSync(TraceId beforeTraceId, String message) { TraceId nextId = beforeTraceId.createNextId(); Long startTimeMs = System.currentTimeMillis(); log.info("[{}] {}{}", nextId.getId(), addSpace(START_PREFIX, nextId.getLevel()), message); return new TraceStatus(nextId, startTimeMs, message); }위 코드를 아래와 같이 사용하면 어떤 단점이 있나요?public TraceStatus beginSync(TraceId traceId, String message) { traceId.increaseId(); Long startTimeMs = System.currentTimeMillis(); log.info("[{}] {}{}", traceId.getId(), addSpace(START_PREFIX, traceId.getLevel()), message); return new TraceStatus(traceId, startTimeMs, message); }객체를 새로 만들어서 반환하지 않고 id만 증가시켜서 그대로 사용하는 것은 지양되어야 하나요?
-
미해결SQL 개발자 (SQLD) 자격증 따기 Part.1
[오류발생]설치가 안됩니다oracle database rollback
이렇게 뜨면서 설치가 안되는데, 어떻게 해야 하나요?
-
미해결실무에 바로 적용하는 스토리북과 UI 테스트
제네릭 타입을 사용하는 이유
안녕하세요 강사님 좋은 강의 잘 듣고 있습니다!제네릭에 대한 이해를 위해서 따로 문서도 찾아봤는데 궁금증이 해결되지 않아서 질문드립니다.제네릭 타입을 사용해서 tagList로 넘어온 아이템이 onTagClick으로 전달된다는것을 보증 해준다고 하셨는데, 제네릭의 어떤 기능으로 이것을 보증해주는지 궁금합니다.그리고 아래처럼 작성한것과 어떤 차이가 있는지 궁금합니다.import { useState } from "react"; import TagButton from "./TagButton"; interface ITagListProps { tagList: string[]; onTagClick: (tag: string) => void; } export default function TagList({ tagList, onTagClick, }: ITagListProps) { const [selectedTag, setSelectedTag] = useState<string>(tagList[0]); return ( <div className="flex gap-x-4" onClick={(event) => { const eventTarget = event.target as HTMLButtonElement; const tag = eventTarget.textContent as string onTagClick(tag) } }> {tagList.map((tag) => ( <TagButton key={tag} isChecked={tag === selectedTag} onClick={() => setSelectedTag(tag)} > {tag} </TagButton> ))} </div> ); }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-O 질문있습니다
http://boj.kr/af87db56b1254e1baa345487841bc5a51. (와[ 입력시 스택에 넣기2.) 입력시 맨위가 (아니라면 오류 또는 비어있다면 오류3. ]시 똑같이 오류다끝냈는데 스택 안비면 오류라는 논리로 문제를 풀었습니다.하지만 특정경우에 yes와 no가 같이 나와서 틀렸다고 하는거 같습니다f만 변화시킨후 마지막에 한꺼번에 출력하면 맞았다고 하더라고요어떤경우에 yes와 no가 같이 나오는지 알수있을까요
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-B 코드질문있습니다.
안녕하세요 큰돌님.큰돌님께서 다른 수강생의 질문에 답하신 내용에 대해 질문드리고 싶습니다. while(true){ if(!s.size()){cout << "FRULA" << '\n'; return 0;} int flag = s.find(a); if(flag != string::npos){ s.erase(flag, a.size()); } else break; }큰돌님께선 문자열 S의 길이가 100만이고, 문자열 A의 길이가 1일 때, 해당 코드의 시간복잡도는 100만!이라고 하셨습니다.erase와 find의 시간복잡도는 O(N)으로 알고 있습니다.첫번째 턴 최대 O(100만) FIND + O(100만) ERASE,두번째 턴 최대 O(99만) FIND + O(99만) ERASE,...이런식이면 O(N^2)이지 않나요?어떻게 100만!이 시간복잡도가 되는지 궁금합니다.그리고 FIND의 시간복잡도가 O(N)인게 잘 이해가 안됩니다.그런데, 실제로는 O(N*M)이지 않나요? N은 찾아야 하는 문자열이 속한 문자열의 길이, M은 찾아야 하는 문자열의 길이.어떻게 O(N)이 되는지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@SpringBootTest 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]에러를 다 찾아서 수정을 하였으나 마지막인 Test단계에서계속 무시해버리네요 왜 그런건지 구글링을 해도 이해가안됩니다. h2를 킨 상태에서도 이렇게 에러가 뜨는데 어떻게 해야할까요?
-
해결됨Flutter 앱 개발 실전
1회독이 끝났습니다. 이후 공부 계획은 어떻게 세워야 할까요?
안녕하세요 강사님,현재 강의를 1회독한 상태입니다. 강의 시작 전에 말씀하신 것처럼 영상을 이해하고 논리적인 과정을 배웠습니다. 이후 부족한 부분만 개별적으로 실습을 하시라고 말씀을 하셨는데, 어떤 식으로 공부 계획을 세워야 할지 잘 모르겠습니다.개인적으로는 전 과정을 다시 복습하면서 실습하는 것이 좋을지, 아니면 배운 내용을 바탕으로 실제 앱을 만들어보는 것이 좋을지 고민이 됩니다. 이 방법들이 맞는지, 아니면 강사님께서 추천하시는 더 나은 방법이 있는지 알고 싶습니다.추가적으로 궁금한 점은 다음과 같습니다:실제 강의를 보고 디자인 시스템을 통해 미리 기능을 고려하여 코드를 구현하고, MVVM 패턴을 적용하기 위해 폴더 구조를 짜는 것을 보며, 제가 이렇게 잘 따라하고 정리할 수 있을지 두려움이 생겼습니다. 그래서 질문드립니다.디자인 시스템을 만들고 파운데이션을 구축한 후, 코드를 짜면서 필요한 컴포넌트를 만들고 재사용성이 높은 것들만 컴포넌트화하는 식으로 진행하는 것이 좋을까요? 아니면 강의처럼 미리 모든 컴포넌트를 다 작성한 후 코딩을 시작해야 할까요?MVVM 패턴을 지키면서 코딩할 때, 처음부터 뷰와 뷰모델을 명확히 나누고 코드를 진행하며, 나머지 부분은 대략적으로 해놓고 이후 MVVM을 적용하여 리팩터링하는 것이 좋을까요?실제 개인 프로젝트를 혼자 준비할 때 어떤 식으로 진행하면 좋을지 강사님께서 추천하시는 공부 방법을 알고 싶습니다.감사합니다.추가적으로 중급 강의를 먼저 보게 되었는데 너무 강의가 만족스러워서 추가적으로 강사님의 강의인 Flutter 앱 개발 기초를 들어야 고민이 듭니다... 이것도 들어봐야 하나요?
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
C++ 숙련자의 기준이 뭘까요?
안녕하세요 루키스님.현재 저는 C++강의 완강하고 현재는 자료구조&알고리즘이랑 서버 쪽 강의 거의 다 끝나가는 상황입니다. 강의를 들으면서 게임 서버 개발자 직군 쪽 채용 공고글들을 한번씩 보고 있는데요. 간혹 (신입/경력) 무관 쪽 채용 공고를 보면 지원자격이나 우대사항으로 "C++ 숙련자", "~에 능숙하신 분", "~에 이해가 있으신 분" 같이 기재해 놓은 글들을 보면 이게 어느 정도의 수준을 말하는 건지 궁금하더라구요.(신입/경력) 무관인 채용 공고의 지원자격 혹은 우대사항이 C++ 숙련자라고 했을 때 신입과 경력자의 C++에 대한 숙련도를 같은 수준으로 평가하는지도 궁금하고 평가 기준이 어느 정도를 말하는 것일지도 궁금합니다.회사마다 다를 수도 있을 거 같긴 한데 보통 어떤가요?
-
해결됨[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
[섹션18]AccessTokenGuard 적용하기 질문
post Controller > postPosts에 @UseGuard(AccessTokenGuard) 할 경우 디펜던시 오류가 납니다.앞에 강의 중에 대처법을 보고 따라 해봐도 잘 안되는데,어디어디에 무엇을 작성해야할지 모르겠습니다ㅠ///////////////////////////앞에 강의 차분하게 다시 보면서 해결했습니다,
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
컬렉션 페치 조인 관련해서 질문 드립니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]컬렉션 페치 조인을 하면 페이징시 위험하기 때문에 지양해야 한다고 하셨는데 그러면 페이징을 하지 않을 때는 컬렉션도 페치 조인을 해서 성능을 올려도 괜찮을까요? 아니면 컬렉션은 항상 지연 로딩 하는 것이 안전한가요?
-
해결됨Practical Testing: 실용적인 테스트 가이드
객체 생성 시 검증 로직에 대해 질문드립니다.
객체를 생성할 때 입력 받는 데이터를 전부 검증하고 객체 필드를 업데이트할 때도 그 데이터가 유효한지 검증하는 방식을 사용한다면, 다른 레이어에서 검증된 데이터를 넣어 객체를 생성할 때도 해당 데이터를 객체 내부에서도 검증하게 되어서 중복으로 체크하는데, 이런 방식이 괜찮을지 아니면 객체에서 데이터 검증을 적당히 처리하고 레이어 별로 검증 책임을 중복되지 않게 처리하는 방식이 괜찮을지 질문드립니다!
-
해결됨독하게 되새기는 C 프로그래밍
함수호출 규약 종류에 따른 장단점 여부
선생님, 강의 잘 듣고 있습니다.함수호출규약 강의에서 __cdecl 및 __stdcall에 대한 비교를 해주셨는데, 2가지 키워드에 대한 활용방안 및 장단점이 존재할까요?
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
43번 뮤직비디오 문제 테스트케이스 4번을 만족 못합니다.
안녕하세요 문제를 풀다가 제 코드에서 어느 부분이 틀린 건지 도무지 모르겠어서 글을 쓰게 되었습니다..혹시 괜찮으시다면 제 코드 상에서 논리적인 오류가 있는지 확인해주실 수 있으신가요?테스트케이스 4번만 만족을 못시키고 있습니다.. 감사합니다.#include <iostream> #include <stdio.h> #include <string> #include <fstream> #include <vector> #include <algorithm> #include <queue> #include <stack> using namespace std; int main() { ios_base::sync_with_stdio(false); int n, m; cin >> n >> m; vector<int> table(n); int sum = 0; for (int i = 0; i < n; i++) { cin >> table[i]; sum += table[i]; } int lt = 1, rt = sum, mid = 0; int last = 1001; while (lt <= rt) { mid = (lt + rt) / 2; int cnt = 1; int sum = 0; for (int i = 0; i < n; i++) { if (sum + table[i] > mid) { cnt++; sum = table[i]; } else if (sum + table[i] == mid) { cnt++; sum = 0; } else sum += table[i]; } if (sum == 0) cnt--; if (cnt == m) { if (last > m) { last = m; rt = mid - 1; } else break; } else if (cnt < m) rt = mid - 1; else lt = mid + 1; } cout << mid << "\n"; return 0; }
-
해결됨Part1: 진짜 왕초보 iOS 배우기(SwiftUI, SwiftData, 2024)
질문합니다. 섹션 4 - 10 [투두 삭제기능 구현하기(onDelete)]
완전 초보이다보니 궁금증이 생겨서요.투두 타이틀 반복문 쓸땐 List { } 안에서 todoList 의 타이틀들을 반복할땐 Foreach 쓰시고, .onDelete에선 for _ in을 쓰셨는데 서로 적용할 조건이 다른건가요???
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
엔티티에는 validatin을 안하는 게 좋나요?
@Column(nullable = false) 이런 것들을 엔티티 클래스에 하는 것 대신에 dto나 도메인 레이어에서 검증을 하는 게 좋다는 말을 들었는데 엔티티내부에서 검증을 하는 것을 안해도 되는 건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
assaultThat의 동등성 비교 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)[질문 내용]findByName()의 테스트 부분을 보면 아무리 봐도 member1의 밸류값과 result의 밸류값이 "spring1"로 동일한데 테스트에 실패했다고 뜹니다근데 한 가지 의문인 건 테스트 값 결과를 보면 동등성이 아닌 동일성 비교를 하는 거 같은데, MemoryMemberRepository의 store가 HashMap을 사용하기 때문에 equals()와 HashCode()를 재정의 해줘야 하는 걸까요? 강의 내용엔 따로 기재되지 않아 질문합니다!
-
미해결워드프레스 제대로 개발하기 - 어드민 편
POST http://localhost/wordpress/wp-admin/admin-ajax.php 400 (Bad Request)
안녕하세요현재 워드프레스 강의 들으면서 공부 중인데요woddy snippets 플러그인을 사용해서 테마가 아닌 곳에서 데이버베이스에 접근해서 데이터를 가지고 오려고 하는데요 이에 php 파일로 작성해서 ajax 테스트 중입니다.강의 보면서 제대로 한 거 같은데 계속 bad request가 떨어져서요 ㅜ<?php function get_by_test() { $serial = $_POST['key']; $result =[ 'result' => 1, 'message' => $serial, ]; echo json_encode($result); die(); } add_action('wp_ajax_get_by_test', 'get_by_test'); add_action('wp_ajax_nopriv_get_by_test', 'get_by_test'); ?> <form> <table align='center'> <tr> <td> <div align='center'> <input type='text' id='test' name='test'> </div> </td> </tr> <tr> <td> <button type='button' id='submit-test'>test</button> </td> </tr> </table> <div id='test-results'></div> </form> <script type='text/javascript'> jQuery(document).ready(function(e) { jQuery('#submit-test').on('click', function() { var test = jQuery('#test').val(); console.log(test); jQuery.post('wp-admin/admin-ajax.php', { action: 'get_by_test', key: test }, function (response) { console.log(response); if (response.result === 'success') { jQuery(e.target) .text('가져옴') .attr('disabled', true); // console.log(response.message); } if (response.result === 'fail') { alert(response.message); } }, 'json'); }); }); </script>
-
미해결루커 스튜디오(구글 데이터 스튜디오)로 배우는 데이터 시각화 입문
새 필드 추가 시 차트 깨짐? 현상이 발생하는거 같아요
강의 보면서 따라하고 있는데 새 필드 추가할때 계속 저렇게 나오는데 왜그럴까요..ㅠ
-
해결됨실전! Querydsl
Bulk 저장 질문
[질문 내용]em.perist()는 bulk를 사용하는 방법이 있나요?
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
하드웨어적 스레드에 관하여 ( 17:05 그림 참고)
강사님 안녕하세요 책 씹어먹을 각오로 보고 있는 개발자 지망생 수강생입니다..ㅎㅎ위 그림과 같이 2코어 4스레드 CPU 에서하나의 코어가 2개의 스레드(하드웨어적 스레드) 를 가지고 있잖아요? 하나의 코어 안에 레지스터 세트가 2개 있어서 2개의 명령어를 동시에 저장할수 있겠죠.근데 ALU , 제어장치는 하나밖에 없기 때문에, 각 레지스터세트는 ALU, 제어장치를 공유하기 때문에, 결국에는 한 번에 하나의 명령어 밖에 처리 못하는거 아닌가요?관련해서 GPTo 에게 물어봤는데, 하이퍼스레딩 기술을 통해 스레드 간의 전환을 빠르게 하여 마치 동시에 여러 명령어를 실행하는 것 같은 효과를 낸다고 하는데,GPTo 답변이 맞다면, 1코어 2스레드가 하나의 코어에서 두 개의 명령어가 동시에 실행된다고 표현하신 부분이, 동시에 실행한다고 표현할 만큼 빠르게 스레드간 전환이 되기 때문에 그렇게 표현하신걸까요?질문을 잘 한건지 모르겠네요 ㅠㅠ