묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
강의자료 문의
강의 자료 ppt 파일 카페에서 받을 수 있는지요?ㅎㅎㅎ링크를 못찾아서 질문드려요!
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
DBSynchronizer에서의 XML과 DB 동기화 문제
안녕하세요. DB관련 작업중에 이런 문제가 생겨서 어떻게 이런 결과가 생긴 것 인지 궁금해 질문 올려봅니다. 우선 모든 강의를 다 들었다는 전제하에,다음과 같은 XML 코드는 잘 동작합니다.이 코드를 기반으로간단한 로그인 시스템을 만들어 보려고Account Table과 Register Procedure을 만들었는데요문제는 기존에 있는 DB를 가져와서 DBSynchronizer의 Synchronize를 실행하는 부분에Gather 시리즈에 문제가 있습니다.Gather 시리즈를 간략하게 요약하자면, 현재 system에 있는 Table, Column, Procedures들을 모두 긁어서 While(...fetch()) 문으로 DBModel::Table, DBModel::Column등으로 매핑하는 작업입니다.여기서 Fetch할때마다 함수 가장위에 정의해둔 여러 변수들이 갱신되는데요bool값이나 숫자값은 값을 Fetch()가 값을 덮어씌워 별 문제가 없는데 tableName이나 columnName같은 특정 문자열 배열인 경우에 문제가 생겼습니다.위의 사진의 경우 columnName을 순서대로 파싱할경우각 DBModel::Column 별로 name이 accountId, email, pwHash가 되야할게accountId, emailntId, pwHashtId가 되더라구요 그래도 운이좋게끝에 tId가 공통됨으로, WChar 부분이 Fetch()시 완전히 초기화되지 않고 앞의 주소값만 넘어가서 len만큼 채우는것으로 결국 len뒤의 값은 남아 그대로 반영이 된것으로 확인 됬습니다. 각 Loop가 끝날때마다 WChar과 Vector 같은 주소값을 가지는 모든값의 초기화를 이런식으로 명시함으로써 해결할 수 있었지만, 예제코드는 잘 동작했던것을 보아하니 뭔가 코드를 빠뜨렸나 싶었습니다. 참고로 예제 코드의 Gold같은 경우name이 id, gold, name, createDate로 작은값부터 커지기 때문에 위의 문제가 발생하지 않았나 싶기도 합니다. 혹시 이 문제 저만 그런가요?원본 코드에서 spRegister의 out Parameter를 처리하기 위해 살짝 바꾸긴 했는데그거 때문이려나요
-
미해결주니어를 위한 6시간만에 끝내는 AWS 아키텍처
web server / 로드밸런서
web server와 로드밸런서에 대해 질문이 있습니다.아키텍처는 구성하기 나름이겠지만, 보편적으로는 web server(reverse proxy)를 가장 앞단에 두고,aws alb를 그 뒷단에 두고,그 alb 뒷단에 각 종류별 application server를 둔다고 생각하면 될까요?
-
미해결[2탄] 옆집 개발자와 같이 진짜 이해하며 만들어보는 첫 Spring Boot 프로젝트
강의 자료 부탁드립니다.
강의 자료 제공이라고 하셨는데 강의 자료가 없습니다. 미리 올려 주시면 좋을 것 같습니다.
-
해결됨PCB HW설계 실무 : STM32를 활용한 Mixed-signal 보드 설계 프로젝트
ERC Error 문의
안녕하세요 삼코치님최종 schematic 완성하여 ERC 진행 후 문의 사항이 생겨 질문 남깁니다. 해당 Error 사항을 waive해도 되는지 궁금해서 자료 첨부드립니다. 현재 Error 내용에서 가리키는 소자들은 모두 symbol을 불러와서 rounting까지 마친 상태입니다.감사합니다.
-
해결됨코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
Hugging Face의 etri-vilab/Ko-LLaVA-13b 모델을 활용
Hugging Face의 etri-vilab/Ko-LLaVA-13b 모델을 활용해, 이미지를 이해하고 한국어 텍스트를 생성하는 작업을 n8n의 HTTP Request 노드로 구현하려고 하는데 잘 되지 않습니다. 혹시 이를 구현하는 방법을 알 수 있을까요?
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
Auto Increment 질문
안녕하세요 토비님. 강의 정말 잘 보고 있습니다.다름이 아니라 Auto Increment 전략을 현업에서도 자주 사용하시는지 궁금해서 문의드립니다. Mysql에서 Auto Increment를 사용하니 bluk insert가 안되는 구조던데 문제가 있으셨던 적은 없는지 궁금합니다. bluk insert를 jdbc template으로 구현했더니 갈레라 3중화 구조라 ID가 3씩 증가하는 문제가 있어서 곤란한 경험이 있습니다. 이럴 경우 ID 전략을 UUID나 Snowflake 이런식으로 가져가야 하는지 궁금합니다.아니면 다른 해결 방법이 있으시다면 알려주시면 감사하겠습니다.
-
해결됨Spring Boot와 React로 배우는 초간단 REST API 게시판 만들기
스프링 기동 하는 부분에서 계속 에러가 나와서 질문 드립니다.
안녕하세요. 스프링 기동 부분에서 에러가 나와서,자바 버전도 바꾸어 보고, 인텔리제이도 최신 버전으로 업데이트 하고 , 여러 가지 시도를 해보는데, 문제가 해결이 안되고 있습니다.여기 에러 로그를 남겨 봅니다. 참고로 그래이들 빌드시엔 에러가 안 나오지만, 소스의 메인 메서드를 실행하면 에러가 나옵니다. Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.2025-06-25T19:32:28.071+09:00 ERROR 10688 --- [prac] [ main] o.s.b.d.LoggingFailureAnalysisReporter :***************************APPLICATION FAILED TO START***************************Description:Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.Reason: Failed to determine a suitable driver classAction:Consider the following:If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).> Task :restapi.prac.PracApplication.main() FAILEDExecution failed for task ':restapi.prac.PracApplication.main()'.> Process 'command 'C:\Users\jjhgw\.jdks\openjdk-24.0.1\bin\java.exe'' finished with non-zero exit value 1* Try:> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.> Get more help at https://help.gradle.org.BUILD FAILED in 14s3 actionable tasks: 2 executed, 1 up-to-date
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
tryLock 이후 InterruptedException 발생
락을 얻고 그 후에 InterruptedException이 발생 한다면 finally 에 unlock 을 작성 해 주어야 하나요 ?
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
이력서 작성 시 궁금한 점
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 3챕터 인덱스 파트 수강 중 질문 1. "기존 API 응답 시간에서 **를 개선하여 **ms까지 빨라졌다." 이런 식으로 문구를 작성하라고 하셨는데, 기존 API 시간이 너무 크면 어떻게 해야할까요? API 성능 측정을 하려면 데이터를 넣어야하니까 각 테이블마다 백만 건을 넣어놓고 테스트를 했는데, 개선 전 응답 시간이 너무 오래 걸려서 그걸 그대로 써도 될지 모르겠어요. 강의 중 index파트에서 통계 테이블을 만들어서 @scheduled로 개선하는 부분을 제 프로젝트에 적용했는데, 데이터를 넣을 때 다른 API 성능을 측정하면서 각 테이블 당 백만개, 1:N관계일 때는 1개당 10개씩으로 해서 총 천만개 넣어놓은 상태입니다. 데이터가 너무 많아서 통계 테이블 만들기 전인 상태에서 COUNT 쿼리를 할 때 JOIN하는 테이블은 3개로 각 백만개, 이백만개, 천만개 데이터가 들어가있어서 약 20-30초 가량 쿼리가 실행이 됩니다. 근데 이력서에 "23초 걸리는 통계 데이터 조회 API를 통계 테이블을 만들고 @scheduled를 활용해 5분마다 갱신하고, 갱신된 데이터를 가져오도록 개선하여 **ms로 개선되었다." 라는 문구를 쓰려니까 23초라는 수치가 "인위적으로 드라마틱한 개선을 위하여 만들어낸 수치 아닌가?" 라는 의문이 들 수 있을 것 같아서 어떻게 하면 좋을까요? 물론!! 23초가 나온 근거라고 해야할지... 그 퍼포먼스 테스트 결과는 있고, 일부러 조작하지 않고 데이터가 많아서 그렇다! 라고 설명은 할 수 있겠지만, 이력서에 들어가는 수치를 보면 위에서 얘기한 것 같은 의심이 먼저 들 것 같아서 질문 드립니다. ㅠㅠㅠㅠ
-
미해결Next.js App router 기반 Chat GPT 만들기
page loading... 이 안보입니다.
안녕하세요. Loading UI & Streaming 강의를 따라 하는데,캐시 비우기 및 강력 새로고침으로 해도 page loading... 이 안보이네요.개발자도구 띄우고 '캐시 비우기 및 강력 새로고침'으로 하면, 개발자도구 > 네트워크 에서 dashboard페이지가 '대기중' 상태이고, 미리보기에서 보이는 내용은 없습니다.route.ts에서 랜덤 지연시간이 지난 후 VSCode 에서 data { data: '4057만에 응답완료!' }라고 뜬 후에 브라우저 개발자도구 > 네트워크에서 dashboard페이지 미리보기를 보면 "루트 레이아웃대시보드 레이아웃 page loading..." 이라고 보이는데, 지연시간이 지난 후이라서 그런지 브라우저 상에서는 "루트 레이아웃대시보드 레이아웃 대시 보드 페이지" 으로만 보입니다.datashboard 페이지의 응답이 지연 시간이 지난 후에 하는거 같은데 왜 이럴까 궁금해지네요.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
Java 언어 기출문제의 변형 25:29
String subStr1 = str1.substring(1, 4) 은str1 = Hello 입니다.인덱스 1,4 는 ello 아닌가요 ? 강의에선 ell 로나옵니다.
-
미해결엑셀 활용하기 : EXCEL 중급 (Inflearn Original)
섹션3. 12. 피벗테이블로 데이터 기본분석
쿼리데이터에서 피벗테이블을 하나씩 만들어 가고 있습니다.두번째피벗을 만드는데 "월의 시작"을 행으로 놓고 나머지 계층화된것을 삭제하면 첫번째 피벗(년도별)까지 변경이 됩니다.영상에서는 첫번째 피벗은 년도별, 두번째 피벗은 월의시작으로 행을 구성하였는데.. 저는 계속 두번째꺼를 변경하면 첫번째꺼도 따라서 변경이 되는 오류가 발생합니다... 왜그러는 걸까요?
-
미해결Kafka & Spark 활용한 Realtime Datalake
[과제10-3] count 하지 않을때 `persist` 함수의 의미와 순서도에서 `scan csv`가 세번 나온 이유
질문만약 문제에서 카운트를 출력하라는 조건이 없었으면 persist를 호출 하지않아도 같은 퍼포먼스가 나오나요? (문제: ... 각각 데이터를 로드한 후 카운트를 출력하고,...)count 함수를 제외하면 action 계열 함수가 없는데 count 함수가 없는 경우에도 persist가 유의미 한지 궁금합니다. [SQL/DataFrame] - [Details for Query0] 순서도(마지막에 첨부) 에서 Scan csv 가 3번 나타나는 이유는 무엇인가요?? csv 파일을 읽어오는 함수는 두번 실행했는데 왜 3번 실행되는지 궁금합니다. 참고목차질문-참고-코드-순서도코드 구조HDFS 경로 정의스키마 정의데이터프레임 생성time_recorded에 의한 중복열 제거employee_count 컬럼 추가를 위한 joinIT Services and IT Consulting 회사 추출두 테이블 결합결과 출력dropDuplicate가 정확히 어떤 행을 drop 하는지 몰라서 egg-max 조합으로 중복 행을 제거함코드""" >>> company_industries_df.printSchema() root |-- company_id: string (nullable = true) |-- industry: string (nullable = true) >>> company_industries_df.show(5) +----------+--------------------+ |company_id| industry| +----------+--------------------+ | 391906|Book and Periodic...| | 22292832| Construction| | 20300| Banking| | 3570660|Book and Periodic...| | 878353|Staffing and Recr...| +----------+--------------------+ only showing top 5 rows >>> employee_counts_df.printSchema() root |-- company_id: string (nullable = true) |-- employee_count: string (nullable = true) |-- follower_count: string (nullable = true) |-- time_recorded: string (nullable = true) >>> employee_counts_df.show(5) +----------+--------------+--------------+-------------+ |company_id|employee_count|follower_count|time_recorded| +----------+--------------+--------------+-------------+ | 391906| 186| 32508| 1712346173| | 22292832| 311| 4471| 1712346173| | 20300| 1053| 6554| 1712346173| | 3570660| 383| 35241| 1712346173| | 878353| 52| 26397| 1712346173| +----------+--------------+--------------+-------------+ only showing top 5 rows +----------+--------------------+--------------+--------------+-------------+ |company_id| industry|employee_count|follower_count|time_recorded| +----------+--------------------+--------------+--------------+-------------+ | 1353|IT Services and I...| 596046| 14829798| 1713536641| | 1353|IT Services and I...| 595935| 14822564| 1713448937| | 1353|IT Services and I...| 595844| 14817360| 1713407024| | 1353|IT Services and I...| 595782| 14807439| 1713279321| | 1353|IT Services and I...| 595669| 14800204| 1713208435| +----------+--------------------+--------------+--------------+-------------+ only showing top 5 rows """ import time from pyspark.sql import SparkSession from pyspark.sql.types import StructType, StructField, StringType, IntegerType from pyspark.sql.functions import col, max spark = SparkSession.builder.getOrCreate() # 1. 파일 경로 정의 company_industries_path = ( "/home/spark/sample/linkedin_jobs/companies/company_industries.csv" ) employee_counts_path = "/home/spark/sample/linkedin_jobs/companies/employee_counts.csv" # 2. 스키마 정의 company_industries_schema = StructType( [ StructField("company_id", IntegerType(), True), StructField("industry", StringType(), True), ] ) employee_counts_schema = StructType( [ StructField("company_id", IntegerType(), True), StructField("employee_count", IntegerType(), True), StructField("follower_count", IntegerType(), True), StructField("time_recorded", IntegerType(), True), ] ) # 3. 데이터프레임 생성 company_industries_df = ( spark.read.option("header", "true") .option("multiLine", "true") .schema(company_industries_schema) .csv(company_industries_path) ) employee_counts_df = ( spark.read.option("header", "true") .option("multiLine", "true") .schema(employee_counts_schema) .csv(employee_counts_path) ) # 4. 중복 제거: groupby(company_id) -> agg -> max(time_recorded) agg_latest_employee_counts_df = employee_counts_df.groupBy("company_id").agg( max("time_recorded").alias("time_recorded") ) # 5. employee_count 컬럼 추가 latest_employee_counts_df = agg_latest_employee_counts_df.join( employee_counts_df, on=["company_id", "time_recorded"], how="inner", ) # 6. 필터링: 업종이 IT Services and IT Consulting인 회사 추출 industry = "IT Services and IT Consulting" it_services_company_industries_df = company_industries_df.filter( col("industry") == industry ) # 7.조인: 회사 정보와 종업원 수 결합 및 필터링: 종업원수 1000명 이상 및 정렬: 종업원수 내림차순 정렬 result_df = ( it_services_company_industries_df.join( latest_employee_counts_df, on="company_id", how="inner", ) .filter(col("employee_count") >= 1000) .orderBy(col("employee_count").desc()) ) # 8. 'company_id', 'employee_count', 컬럼만 출력 result_df.select("company_id", "employee_count").show() time.sleep(300)순서도 이미지가 압축되어 올라가 [링크] 첨부합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
리틀 엔디안 장점 질문합니다.
수업에서, 리틀 엔디안의 장점이 캐스팅에 용이하다 하셨는데, 78 56 43 21일때, 78을 빼낼 때에 용이한 것은 이해가 되는데, 뒤에 값들을 빼내는 것은 어차피 리틀엔디안이나 빅 엔디안이 똑같은 거 아닌가요? 아니면 캐스팅이 마지막 부분의 값만 빼오는 것을 의미하는 건가요? 궁금증이 생겨 질문드립니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
데이터 초기화 시 CASCADE 옵션 궁금증
안녕하세요. PostConstruct 어노테이션을 사용해 Spring이 초기화될 때 DB에 데이터를 초기화 해주셨는데요. Order, OrderItem 클래스 필드에 cascade 옵션이 있어서 order나 orderItem만 em.persist() 하면 다른 엔티티도(delivery, orderItems 등) 다 같이 persist 되지 않나요? 왜 엔티티별로 따로 하나씩 persist 하셨는지 궁금합니다. 제가 잘못 이해한 거라면 설명 한번 부탁드리겠습니다!
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
Java언어 기출문제의 변형 간단한재귀함수 21:33
Add 5 출력 후 return super.sum(n) 을 하면 n=5 가 부모 클래스 SUM으로 호출되서 if문 false로 인해 else 실행하며 5 + sum(n-1) 은 알겠어 근데 왜 ADD4 가 출력되는지 정확하게 이해하지 못하겠습니다. 5+Sum(4)4+Sum(3)3+Sum(2)2+Sum(1)1+Sum(0)n <=0 -> returm 0으로 제가 풀이된 답은ADD 5Sum : 15 로 되는데요 무슨 차이 이길래 다시 자식에게 ADD 4를 호출시키느거죠
-
미해결업무가 100배 빨라지는 엑셀 데이터 활용과 분석 노하우
빈셀만 선택 후 데이터 동시입력_수식입력
이미 정렬 및 필터를 할 때 부서가 나오지 않는 경우는 화면 내용과 어떤 게 다르게 적용된 걸까요? 필터 정렬 후 값 복사를 안 해도 되는 건 편한데 수식이 왜 똑같이 안 나오는지 알고 싶습니다!
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
정적메서드+문자열
Java언어 기출문제의 변형 13:48for (int i = 0; i < maxL; i++) { if (i < a.length() && i % 2 == 0) { c.append(a.charAt(i)); } if (i < b.length() && i % 2 != 0) { c.append(b.charAt(i)) }}에서 왜 1번 if문 출력 후 2번 if문이 실행되는건가요1번 if문 실행이 종료 후 2번 실행이 되어야하는거 아닌가요?
-
해결됨코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
Railway 사용 case 문의
안녕하세요 n8n 셀프호스팅 도커로 잘 학습을 완료햇는데요 항상 도메인이 바뀌기 때문에 요새 가장 많이 사용한다는 railway를 통해서 호스팅을 해보려고하는데요 기존에 학습한 도커 컨테이너 이미지 들과 환경설정들을 이관하고 싶은데 혹시 이부분에 대해서 추가 강의를 해주실수 있을까여?