inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

이중배열 관련

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

다차원 배열과 문자열 배열 강의 챕터 19:47 char *arr[2][2]={{"Hello", "World"}, {app", "dev"}} 에서 char *arr[2][2]와 char arr[2][2] 차이가 있나요??

  • python
  • java
  • c
  • 정보처리기사
dhkdxo12 댓글 2 좋아요 0 조회수 56

.prettierrc 자동완성

해결됨

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

.prettierrc 파일에서 플러그인 설정 관련 코드를 작성하실 때 자동완성이 되시는데 혹시 어떤 설정을 해야하나요??

  • react
  • typescript
  • react-query
  • supabase
  • zustand
mandoo 댓글 1 좋아요 1 조회수 136

기기에서는 네트워크 에러가 납니다.

미해결

React Native with Expo: 제로초에게 제대로 배우기

로컬에서는 분명히 문제 없이 DB에 접속이 되는데 빌드를 해서 apk파일을 만들어서 안드로이드 기기에 설치를 하면 network error가 나네요 app.json 파일에 "android": { "usesCleartextTraffic": true, 이렇게 설정을 했는데도 네트워크 오류가 나는데 이것 말고 더 수정해야하는 내용이 있을까요? 환경 설정은 https://inf.run/6wYbc 여기와 동일합니다.

  • react
  • react-native
  • 하이브리드-앱
  • typescript
  • expo
인프러너 댓글 2 좋아요 0 조회수 130

common component생성, storybook 작성시 하나하나 하게 됨

해결됨

[Live 챌린지] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)

수업에서는 common component생성, storybook 작성을 한번에 하고 그 다음 수정하는것이 효율적이라고 하셨는데 일괄생성 후 수정작업하다 보니 ( 색상코드를 사용하지 않음, 색상코드를 적용오류에 대한 발견, html 구조 이상, story 파일 오류 등 ) 다시 하나씩 재생성하는 경우도 생기게 되네요. 그냥 하나씩 component 생성 후 story 생성하는것이 낫지 않을까 싶어 글 남깁니다.

  • react
  • next.js
  • cursor
  • 프롬프트엔지니어링
  • 바이브코딩
hanbrang 댓글 2 좋아요 0 조회수 89

34.36 질문

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

for ( int i =0; i<3; ++i, ++p) printf("%s has %d\n", p->name p->score) 에서 전위연산으로 ++ 증가했으면 i=1 이기에 Bob has 85 Cody has 92 가 나와야 하는거 아닌가요

  • python
  • java
  • c
  • 정보처리기사
김성태 댓글 3 좋아요 0 조회수 80

14분55초 질문

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

강의 잘 보고있습니다! 수강중 질문이 생겨서요 해당시간에 dic[2] 자체가 키 그 키 기준 값을 넣는다고 했는데 위의 예시에 따르면 번외로 dic[0]은 질문이 될수없는게 맞을까요? dic..함수에 대해 더 설명 부탁드리겠습니다!

  • python
  • java
  • c
  • 정보처리기사
최미선 댓글 2 좋아요 0 조회수 51

3분대 두번 째 출력

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

출력값 str1==str2: true str1==str2: false 이부분 str2==str3: false 이게 맞죠? int형과 integer의 동일한 값은 ==나 equals 모두 true이지만 int와 int / integer와 integer끼리의 -128~127 외의 값은 ==로 비교 했을 때 false double은 == 비교 값은 모두 false new로 새로만든 생성자의 데이터 값은 값은 동일하여도 메모리 주소의 값이 달라서 ==와 equals(메서드 지정x)은 모두 false이며 같게 하려면 본 동영상 8분30초 부분 메서드와 같아야 equals가 true가 나오는 거죠? 처음 equals가 값만 같으면 ture라고 생각했는데, new생성자는 값이 같아도 메모리 값이 달라서 메서드가 없으면 equals도 결과 값이 false가 나오네요 처음 str="hello"가 같은 메모리 주소를 가르켜 equals메서드가 따로 없어도 ture가 나온다는 점을 잘 알아야 겠네요

  • python
  • java
  • c
  • 정보처리기사
melon2641 댓글 2 좋아요 0 조회수 46

32:19에서

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

32:19 부분에 0+9아닌가요? 왜 -1인지 모르겠습니다.

  • python
  • java
  • 정보처리기사
  • 32:19에서
김장호 댓글 3 좋아요 0 조회수 83

[소셜 로그인 33강] 일반 로그인 -> 소셜 로그인 관련 질문

미해결

스프링 부트와 리액트로 구현하는 소셜 로그인

33강에 27-30분대를 보면 SecurityConfig 클래스에서 .formLogin을 .oauth2Login으로 바꾸고, TodoController 에서 CustomUserDetails로 받았던 사용자 정보를 CustomOAuth2User 로 바꾼 것으로 보이는데,, 일반 로그인 시에 사용할 로직과 소셜 로그인 시에 사용할 로직을 둘 다 두지 않고, 소셜 로그인 하나만 사용하는 것으로 진행하려고 바꾸는건가요??

  • react
  • java
  • spring-boot
  • jpa
  • spring-security
정수현 댓글 2 좋아요 0 조회수 157

섹션6장 .chroma/esl_topics폴더에 관하여

미해결

한 번에 끝내는 AI 에이전트 개발 올인원 (w. LangGraph, Google ADK, CrewAI)

안녕하세요. 좋은 강의 항상 감사드립니다. 한 가지 문의드리고 싶습니다. 섹션 6의 28강에서 RAG 실행 부분을 실습하던 중, 제 로컬 환경에서는 코드가 에러 없이 정상적으로 실행되었지만 .chroma/esl_topics 폴더가 생성되지 않는 현상이 발생했습니다. 코드 상으로는 os.makedirs(PERSIST_DIR, exist_ok=True) 구문이 있으므로 폴더가 자동으로 생성될 것으로 예상했는데, 실제로는 생성되지 않는 것 같습니다. 혹시 해당 폴더가 생성되는 정확한 경로를 알려주실 수 있을까요? 또는 Windows 환경에서는 위 코드로 폴더가 생성되지 않는 경우가 있는지도 궁금합니다. 확인 부탁드립니다. 감사합니다. import os from typing import Type, Optional from crewai.tools import BaseTool from pydantic import BaseModel, Field from env import OPENAI_API_KEY from langchain_community.vectorstores import Chroma from langchain_openai import OpenAIEmbeddings, ChatOpenAI from langchain_community.document_loaders import PyPDFLoader from langchain.text_splitter import RecursiveCharacterTextSplitter from langchain.chains import RetrievalQA os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY PDF_FILENAME = os.path.join("knowledge", "29ESLConversationTopic.pdf") PERSIST_DIR = os.path.join(".chroma", "esl_topics") def qa(question): os.makedirs(PERSIST_DIR, exist_ok=True) embeddings = OpenAIEmbeddings() try: has_index = bool(os.listdir(PERSIST_DIR)) except FileNotFoundError: has_index = False if has_index: vectordb = Chroma(persist_directory=PERSIST_DIR, embedding_function=embeddings) else: loader = PyPDFLoader(PDF_FILENAME) docs = loader.load() splitter = RecursiveCharacterTextSplitter(chunk_size=800, chunk_overlap=100) chunks = splitter.split_documents(docs) vectordb = Chroma.from_documents(chunks, embeddings, persist_directory=PERSIST_DIR) retriever = vectordb.as_retriever(search_kwargs={"k": 3}) llm = ChatOpenAI(model="gpt-4o-mini",temperature=0.3) return RetrievalQA.from_chain_type(llm=llm, chain_type="stuff", retriever=retriever).run(question) class RAGToolInput(BaseModel): question: str = Field(description="질문") class RAGTool(BaseTool): name: str = "ESL_Chroma_RAG" description: str = "Retrieves from '29 ESL Conversation Topics' PDF via ChromaDB and answers questions." args_schema: Type[BaseModel] = RAGToolInput def _run(self, question: str): try: return qa(question) except Exception as e: return str(e) rag_tool = RAGTool()

  • python
Tora King 댓글 1 좋아요 0 조회수 83

[Todo삭제와 수정처리1] selectTodo 함수에서 filter 대신 find 메서드를 사용하면 안될까요?

해결됨

React start with Next.js

function selectTodo(id) { const targetTodo = arr.find(todo => todo.id === id); if (targetTodo) { setCurrent(targetTodo); } else { setCurrent(null); } } 또는 selectTodo 함수의 파라미터를 선택한 todo 객체 자체를 넘기는 것으로 처리했을 때 차이가 있을 까요? function selectTodo(todo) { setCurrent(todo) }

  • javascript
  • react
  • 웹앱
  • next.js
  • ajax
Codingbear 댓글 1 좋아요 0 조회수 95

전처리 방법

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

작업형 3의 문제 ## 심장마비 확률이 높은사람? - 성별, 나이, 혈압, 콜레스테롤, 공복혈당, 최대 심박수 등의 컬럼이 있음 - 평가: ROC-AUC, 정확도(Accuracy), F1 을 구하시오 - target : output (1:심장마비 확률 높음, 0:심장마비 확률 낮음) - csv파일 생성 : 수험번호.csv (예시 아래 참조) ~~~ 위와 같은 문제가 실제 시험 환경에서 문제 양식과 비슷한가요? 저렇게 문제가 나오면 전처리를 어떻게 해야 하는지... 궁금합니다. 만약, 시험 환경 문제가 저렇게 나온다면.. 결측치 제거를 그냥 컬럼을 보고 아무 컬럼이나 제거를 해도 되는지. 그게 채점 규정에 맞을지. 그리고 결측치 제거시, fillna()를 쓰는데 아무 값이나 넣어도 되는지. fillna(method='bfill') 이런걸 써도 되는지. 이상치 제거도 그냥 이것도 임의로 뭔가 이상치 인거 같다 싶으면 제거 하는건지.. 이게 채점 규정에 맞을지... 애매 한거 같은데요. ============ 그리고 혹시나 시험 유형이 저렇게 안나온다면, 문제를 좀 더 명확하게 서술 해주셔야 할 거 같아요

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
JunSuPark 댓글 1 좋아요 0 조회수 71

원핫인코딩 후 컬럼 개수 불일

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 print(train.info()) print(test.info()) print(train.isnull().sum()) print(test.isnull().sum()) print(train.head()) print(test.head()) target = train['총가스사용량'].pop # import sklearn # print(sklearn.__all__) print(train.shape, test.shape) train = pd.get_dummies(train) test = pd.get_dummies(test) print(train.shape, test.shape) 상기 처럼 코딩 후, 컬럼값이 26, 25로 불일치하게 나와요. 왜일까요... (3196, 6) (1476, 5) (3196, 26) (1476, 25) 그래서 그 이후 값들도 에러가 떠요 from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size=0.2, random_state = 0) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) /tmp/ipython-input-3028840780.py in <cell line: 0>() 1 from sklearn.model_selection import train_test_split 2 ----> 3 X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size=0.2, random_state = 0) 4 frames /usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py in _num_samples(x) 397 if hasattr(x, "shape") and x.shape is not None: 398 if len(x.shape) == 0: --> 399 raise TypeError( 400 "Input should have at least 1 dimension i.e. satisfy " 401 f"`len(x.shape) > 0`, got scalar `{x!r}` instead." TypeError: Input should have at least 1 dimension i.e. satisfy `len(x.shape) > 0`, got scalar `array(<bound method Series.pop of 0 9077.8 1 10105.5 2 8603.6 3 11076.8 4 10781.4 ... 3191 12294.7 3192 10410.7 3193 10473.8 3194 9657.9 3195 9961.5 Name: 총가스사용량, Length: 3196, dtype: float64>, dtype=object)` instead.

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
지은 댓글 3 좋아요 0 조회수 65

작업형2 모의문제2

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

안녕하세요 혹시 문제에서는 전처리시에 열을 삭제하고, cols = ['name', 'host_name', 'last_review', 'host_id'] 열을 삭제하고, 값이 비어 있는거 train['reviews_per_month'] = train['reviews_per_month'].fillna(0) test['reviews_per_month'] = test['reviews_per_month'].fillna(0) 이렇게 채우는게 문제에서 지시 사항이 없었는데, 작업을 해도 되는건가요? 명확한 지시 사항이 있어야 하는게 아닌가 싶어서 여쭤봅니다. 시험 환경에서 저렇게 데이터를 삭제하거나 이상치를 처리 하는거 결측치 처리를 임의로 해도 되는지 궁금합니다.

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
JunSuPark 댓글 2 좋아요 0 조회수 46

지금 이 화면에서 뭘로 fps를 알 수 있나요?

해결됨

DOM에서 픽셀까지, 브라우저 렌더링과 CRP 완전 정복 - [DOM 완전 정복 Part 3]

지금 이 화면에서 뭘로 fps를 알 수 있나요?

  • HTML/CSS
  • javascript
  • react
  • dom
  • frontend
ah young kim 댓글 2 좋아요 0 조회수 221

작업형2-모의문제 1번 검증 데이터 분리

미해결

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split( train.drop('Attrition_Flag', axis=1), train['Attrition_Flag'], test_size=0.2, random_state=2022 ) 선생님, 데이터 분리 작성할 떄, train.drop('Attrition_Flag', axis=1) 이 부분이 이해가 가지 않아요. Attrition_Flag 컬럼은 pop함수로 따로 빼놓는거로 알고 있는데, 여기서 왜 drop으로 삭제를 하고, 뒤에 train['Attrition_Flag']를 다시 넣는건지 모르겠어요.. + 데이터 분리 전에, 먼저 target에 Attrition_Flag를 따로 분리시켜놓고 split함수를 작성해도 되나요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
audreyjy 댓글 2 좋아요 0 조회수 77

17강 포인터 조작과 출제패턴 / 10:00 / 이중포인터 출력 관련 문의

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

안녕하세요. 영상 10:00쯤(정확히는 10:39)에 printf(*(*ptr_b+1)); 부분 설명해 주실 때 *ptr_b+1은 ptr_b주소에서 char크기만큼 증가시키는거라고 설명해 주셨습니다. 그런데 이전 영상에서는 출력할때 포인터변수명 앞에 *(별표)를 붙이면 주소가 아닌 값을 가져오는거라고 설명해 주셨는데, 여기서는 왜 값이 아닌 주소를 불러오는건지 문의드립니다.

  • python
  • java
  • c
  • 정보처리기사
태0 댓글 2 좋아요 0 조회수 94

17강 포인터 조작과 출제패턴 / 08:40 / 메모리주소 관련 문의

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

안녕하세요. 영상에서 선언해 주신 str[], ptr_a, ptr_b 3개 변수의 메모리주소에 대해 문의드립니다. char str[] = "Hello"; char *ptr_a = str; > 포인터변수 ptr_a의 메모리주소는 배열변수 str과 동일하다. char **ptr_b = &ptr_a; > 이중포인터변수 ptr_b의 메모리주소는 포인터변수 ptr_a의 메모리주소와 동일하다. 이렇게 되면 str, &ptr_a, &ptr_b가 모두 동일한거 아닌가요? 이중포인터에 대해 이해가 부족해서 질문이 생겼을수도 있을거 같긴 한데, 영상 보면서 그때그때 궁금한게 생기면 일시정지하고 질문을 남기고 있어서 혹시 뒤에 설명해 주시는 내용이더라도 양해 부탁드립니다.

  • python
  • java
  • c
  • 정보처리기사
태0 댓글 2 좋아요 0 조회수 65

오디오 Input -> Speaker 출력 Noise

미해결

웹에서 다루는 미디어 - 화상 대화를 만들면서 배우는 MediaStream API

안녕하세요. 이번에 프로젝트를 진행 하고 있는데 해결되지 않는 부분이 있어서 질문을 드립니다. 상황을 간단히 말씀드리면, 미팅룸 개설을 하고 참여한 인원중에 말을 하면 해당 음성을 다른 참여자의 스피커로 출력하는 방식입니다. (발화자 제외) 이때 Input Audio format은 16Khz, MONO, 32Float, 16,000 sample 로 지정되어 있습니다. (음성 출력 뿐만 아니라, STT 서버에 보내서 텍스트를 반환하는데 이때 STT 서버의 오디오 요청스펙 입니다.) 그리고 Gemini의 도움을 받아 아래와 같이 옵션을 설정하였지만, 실제로 스피커 출력시 매우심한 Noise가 발생합니다. (STT 서버의 응답 텍스트는 정상 동작) 저는 백엔드 개발자인데, 프론트단에서 해결 방법을 잘 모르겠어서, 강의를 결제하게 되었습니다. 혹시 조언을 해주실수 있을까요? 아니면 강의에 몇강을 보면 관련 주제가 나오는지 알려주도 좋을거같습니다. 긴글 읽어주셔서 감사합니다. Input audio data 관련 코드 audio: { echoCancellation: true, noiseSuppression: false, autoGainControl: false, } this.highPassFilter = this.audioContext.createBiquadFilter(); this.highPassFilter.type = 'highpass'; // [튜닝] 목소리 뭉개짐을 피하기 위해 60Hz로 설정 this.highPassFilter.frequency.value = 60; // 2. Compressor (안전장치/Limiter 역할 튜닝) this.compressor = this.audioContext.createDynamicsCompressor(); // [튜닝] -6dB를 넘어가는 "정말 큰 기계음"만 잡는 '안전장치'로 사용 this.compressor.threshold.value = -6; this.compressor.knee.value = 30; // [튜닝] 2:1로 최소한만 압축 this.compressor.ratio.value = 2; // [튜닝] 순간적인 피크를 빠르게(3ms) 잡음 this.compressor.attack.value = 0.003; this.compressor.release.value = 0.25; // 3. GainNode (전체 볼륨 증폭) this.gainNode = this.audioContext.createGain(); // [튜닝] 압축을 거의 안 하므로 1.1배로 소폭만 증폭 this.gainNode.gain.value = 1.1; // --- 7. 노드 체인 연결 --- this.audioSource.connect(this.highPassFilter); // 1. (마이크) -> 저주파 험 제거 this.highPassFilter.connect(this.compressor); // 2. -> "정말 큰 소리"만 방지 this.compressor.connect(this.gainNode); // 3. -> 전체 볼륨 소폭 증폭 this.gainNode.connect(this.resamplerNode); // 4. -> VAD 및 리샘플링 this.resamplerNode.connect(this.audioContext.destination); // (워크렛 실행용) 스피커 출력 관련 코드 // --- [수정] 오디오 출력(Playback) 로직 (심리스 스케줄링) --- private handleIncomingAudio(audioData: ArrayBuffer): void { if (audioData.byteLength === 0 || !this.playbackAudioContext) return; if (this.playbackAudioContext.state === 'suspended') { this.playbackAudioContext.resume().catch((err) => { console.error('Playback AudioContext 재개 실패:', err); }); } this.audioQueue.push(audioData); // [수정] 재생 루프가 멈춰있을 때(!this.isPlaying)만 새로 시작 if (!this.isPlaying) { this.isPlaying = true; // 현재 시간을 기준으로 스케줄링을 다시 시작합니다. this.nextChunkTime = this.playbackAudioContext.currentTime; this.playNextChunk(); } } private playNextChunk(): void { if (this.audioQueue.length === 0) { this.isPlaying = false; // 큐가 비면 재생 중지 return; } if (!this.playbackAudioContext || this.playbackAudioContext.state === 'closed') { this.isPlaying = false; this.audioQueue = []; return; } const audioData = this.audioQueue.shift()!; try { const float32Data = new Float32Array(audioData); const audioBuffer = this.playbackAudioContext.createBuffer( PLAYBACK_CHANNELS, float32Data.length, this.playbackAudioContext.sampleRate ); audioBuffer.copyToChannel(float32Data, 0); const source = this.playbackAudioContext.createBufferSource(); source.buffer = audioBuffer; source.connect(this.playbackAudioContext.destination); // --- [수정] 심리스 스케줄링 로직 --- // 1. 랙(Lag)으로 인해 예약 시간이 이미 지났는지 확인 const currentTime = this.playbackAudioContext.currentTime; if (this.nextChunkTime < currentTime) { // 지연이 발생했으면, 갭(Gap)이 생기지 않도록 현재 시간으로 리셋 this.nextChunkTime = currentTime; } // 2. 계산된 nextChunkTime에 재생을 '예약'합니다. (갭 제거) source.start(this.nextChunkTime); // 3. 다음 청크가 시작될 시간을 미리 계산합니다. this.nextChunkTime += audioBuffer.duration; // 4. [수정] onended에서 다음 청크를 비동기적으로 호출합니다. (버그 수정) source.onended = () => { // 큐에 다음 데이터가 있으면, 딜레이 없이 바로 다음 청크를 스케줄링합니다. if (this.audioQueue.length > 0) { this.playNextChunk(); } else { this.isPlaying = false; // 큐가 비었으면 재생 종료 } }; // 5. [삭제] 즉각적인 재귀 호출을 삭제합니다. (이것이 버그였습니다) // if (this.audioQueue.length > 0) { // this.playNextChunk(); // } } catch (e) { console.error('오디오 청크 재생 중 오류:', e); this.isPlaying = false; // 오류 발생 시 재생 루프 중지 } }

  • react
  • java
  • web-api
  • websocket
  • webrtc
성능측정달인123 댓글 1 좋아요 0 조회수 114

인기 태그

인프런 TOP Writers

주간 인기글