묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨홍정모의 따라하며 배우는 C언어
바이너리 파일을 읽을 때 관련해서 질문 드립니다.
안녕하세요. 13.5 강의를 듣고 실습 도중 궁금한 점이 있어서 질문 드립니다.수업처럼 sample.txt 파일을 하나 만들고 나서 fread()로 파일을 어떻게 읽는지 궁금해서 frwite()로 쓸 때와 다른 순서로 fread()를 해보았습니다. 그랬더니 순서를 맞췄을 때와 다른 결과가 나와서 관련되어 질문 드립니다. 우선 다음과 같이 코드를 작성했습니다.#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> int main() { // FILE write { FILE* fp = fopen("sample.txt", "wb"); int n = 100; double d = 10.0; float f = 3.14f; int* parr = (int*)malloc(sizeof(int)*n); if (!parr) exit(1); for (int i = 0; i < n; ++i) *(parr + i) = i * 2; fwrite(&n, sizeof(n), 1, fp); fwrite(&d, sizeof(d), 1, fp); fwrite(&f, sizeof(f), 1, fp); fwrite(&parr, sizeof(parr), 1, fp); } // FILE read { FILE* fp = fopen("sample.txt", "rb"); int n = 0; double d = 0.0; float f = 0.0f; size_t c0 = fread(&n, sizeof(n), 1, fp); printf("n: %d\tcount:%d\n", n, c0); size_t c2 = fread(&f, sizeof(f), 1, fp); printf("f: %f\tcount:%d\n", f, c2); size_t c1 = fread(&d, sizeof(d), 1, fp); printf("d: %f\tcount:%d\n", d, c1); int* parr = (int*)malloc(sizeof(int) * n); if(!parr) exit(1); size_t c3 = fread(&parr, sizeof(int), n, fp); printf("parr: %d\tcount:%d\n", *parr, c3); printf("fepf: %d\n", feof(fp)); free(parr); fclose(fp); } }size_t c1 과 size_t c2 의 코드상 순서를 위와 같이 했을 때는 출력 결과가 다음과 같았습니다.출력 결과 n: 100 count:1 f: 0.000000 count:1 d: 49.920021 count:1 parr: -842150451 count:100 feof: 1size_t c1 과 size_t c2 의 코드상 순서를 뒤집어서 fwrite()을 했을 때와 동일하게 한 경우 출력 결과가 다음과 같았습니다.출력 결과 n: 100 count:1 d: 10.000000 count:1 d: 3.140000 count:1 parr: -842150451 count:100 feof: 1여기서 질문입니다.파일을 fread()로 sample.txt 파일을 읽을 때마다 인자로 입력한 크기만큼 책 읽듯이 앞에서 부터 데이터를 읽어서 파일 쓰기 값과 다른 f와 d의 결과가 나온 것일까요? 바이너리 파일을 읽을 때 fwrite()한 데이터 순서 상관 없이 존재하면 읽을 수 있는 방법이 있을까요? 웬지 일반적인 방법으로는 안될 것 같은데 순서대로 읽을 수 밖에 없는 것일까요?또한 바이너리 파일 안에 어떠한 데이터 타입 포함되어 있는지 알 수 있는 방법이 있을까요?*parr의 경우 printf()로 출력하면 0이 출력 될 것이라 생각했는데 비정상적인 값이 나와서 놀랐습니다. 여러 생각을 해보았으나 원인이 잘 떠오르지 않아 왜 이런 값이 나오는지 여쭙습니다. 수업 주제를 넘어서는 질문인 것 같은데, 교수님께서 중간에 언급하신 '바이너리 파일의 구조를 모르면 해킹과 같은 방법으로 데이터를 읽어야 한다'고 하는게 상상을 해보면, 처음 부분부터 순차적으로 맞는 데이터를 찾을 때까지 (예를 들면) fread()를 반복해서 실행해 값을 확인하고 다음 데이터로 넘어가고를 반복하는 것일까요?
-
미해결한 입 크기로 잘라먹는 Next.js(v15)
SSR과 CSR fetch 섞어서 써도 되나요?
초기 렌더에 필요한 데이터는 getServerSideProps로 갖고오고 유저 행동에 따라 데이터 동적으로 필요할 때렌더링 되고 나서 fetch해서 데이터 가져와도 되나요?
-
해결됨홍정모의 따라하며 배우는 C언어
if(!parr) exit(1); 을 하는 이유에 대해 질문 드립니다.
안녕하세요. 13.5 강의를 듣고 실습 중에 궁금증이 생겨 질문 드립니다. FILE* fp = fopen("sample.txt", "rb"); int n = 100; int* parr = (int*)malloc(sizeof(int)*n); for (int i = 0; i < n; ++i) *(parr + i) = i * 2;위와 같이 if(!parr) exit(1); 부분을 빼놓고 코드를 작성하니 "NULL 포인터 parr+i 를 역참조 할 수 없다"고 MSVS에서 표기가 뜹니다.exit(1)은 프로그램을 종료 시키는 것으로 알고 있었는데 동적할당 메모리 parr이 처음 선언될 때 할당된 메모리의 첫 번째 주소를 리턴 받은게 아니라 NULL로 리턴을 받을 수 있는 가능성이 있어서 MSVS에서 미리 경고를 주는 것일까요?코드 실행 자체는 잘됩니다.
-
해결됨홍정모의 따라하며 배우는 C언어
print_binary_loop 함수를 구현해봤습니다.
#define CRTSECURE_NO_WARNINGS#include <stdio.h>/* 10 10 / 2 = 5, remainder = 0 5 / 2 = 2, reminder = 1 2 / 2 = 1, reminder = 0 1 / 2 = 0, reminder = 1*/void print_binary(unsigned long n);void print_binary_loop(unsigned long n);int main(){ unsigned long num = 10; print_binary_loop(num); printf("\n"); print_binary(num); printf("\n"); return 0;}void print_binary(unsigned long n){ if (n > 0) { print_binary(n / 2); printf("%d", n % 2); }}void print_binary_loop(unsigned long n){ int i = 0, remain, v; for (int ans = n; ans > 0; ans = ans / 2) { //printf("ans : %d\n", ans); i++; } for (int j = 0; j < i; j++) { v = n; for (int k = i; k > j; k--) { remain = v % 2; v = v / 2; } printf("%d", remain); }}
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
라우터 사용하고부터 모든 컴포넌트에 리액트를 임포트해야 해요
react-router-dom 을 사용한 후부터랜더링되는 하단의 모든 컴포넌트에 react를 import하지 않으면 오류가 발생하거든요그런데 이전에는 분명 안 이랬어서....import를 하면 되니까 개발이 안 되는 건 아닌데강의를 계속 듣다 보니 강사님은 import하지 않으셔도 되는 거 같아서 궁금해서 물어봅니다.버전 차이 때문일까요? 제가 무슨 설정을 잘못한 걸까요? 버전은 아래와 같습니다.. "dependencies": { "react": "^19.2.0", "react-dom": "^19.2.0", "react-router-dom": "^7.10.1" },
-
미해결절대강좌! 유니티6 - 네트워크 게임 개발 마스터클래스 (Part3) : Netcode로 개발하는 2D RPG
완강 후 궁금한 것
먼저 정말 배우고 싶었던 부분을 강의해 주셔서 정말 감사합니다. 완강 후 질문 있습니다. 배운 것만 그대로 적용하더라고 멀티플레이 게임 제작이 가능한지 궁금합니다. 혹시 간단하게 100명정도 동시 접속하는 게임을 제작하게 된다면 예상되는 문제점은 무엇이 있을까요?그럼 사실상 로비나 릴레이를 구현하는 것은 거의 사용하지 않는다고 보면 될까요?
-
미해결하이퀄리티 AI 영상 올인원 클래스: 미드저니 & 런웨이 (25+a 장면 제작)
강의자료는 어디서 받아볼 수 있을까요?
안녕하세요.. 제가 강의를 따라하고자 자료를 받고 싶은데 혹시 자료는 제공을 안해주시는 건지요? 찾아봐도 안보여서요 ^^;;
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
후속강의 문의
선생님 안녕하세요좋은 강의 감사드립니다. llm, agent 등을 처음 접하는데, 선생님 강의 덕분에 수월하게? 진입할 수 있었습니다. 복습은 정말 많이 해야할 것 같지만요 ㅎㅎ 수업 후반부에 eval 관련 후속강의 언급을 하셨는데, 혹시 언제쯤 출시 예정이신가요?
-
미해결[All that MBA] 회계, 어떻게 의사결정을 할 것인가
11섹션 재무재표 비교
11섹션 재무재표 비교 내용이 아니라 10섹션 자본이랑 같은 동영상인거 같아요.
-
미해결MongoDB를 활용하여, 200억건 이상의 데이터 파이프라인 작성법
커넥션 min, max 설정과 관련하여
강사님, 안녕하세요! 강의 잘 듣고 있습니다.다름아니라 Mongo에 연결하기 강의 2분 6초대에 몽고db 커넥션 min, max값 설정 관련하여 정리된 블로그를 알려주신다고 하셨는데 찾을 수가 없어서요혹시 실례가 되지 않는다면 블로그 주소를 알려주시면 감사하겠습니다.좋은 강의 감사합니다.
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
이렇게 오류가 떠요
E/flutter ( 5343): [ERROR:flutter/runtime/dart_vm_initializer.cc(40)] Unhandled Exception: 'package:webview_flutter_platform_interface/src/platform_webview_controller.dart': Failed assertion: line 26 pos 7: 'WebViewPlatform.instance != null': A platform implementation for webview_flutter has not been set. Please ensure that an implementation of WebViewPlatform has been set to WebViewPlatform.instance before use. For unit testing, WebViewPlatform.instance can be set with your own test implementation. 코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다![코드팩토리 디스코드]https://bit.ly/3HzRzUM - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게
카카오로그인 에러
AxiosError: Request failed with status code 401 at settle (/Users/sujin/Development/_00_inflearn/code/SECTION19(finalProject)/backend/node_modules/axios/dist/node/axios.cjs:2106:12) at IncomingMessage.handleStreamEnd (/Users/sujin/Development/_00_inflearn/code/SECTION19(finalProject)/backend/node_modules/axios/dist/node/axios.cjs:3491:11) at IncomingMessage.emit (node:events:531:35) at endReadableNT (node:internal/streams/readable:1698:12) at process.processTicksAndRejections (node:internal/process/task_queues:90:21) at Axios.request (/Users/sujin/Development/_00_inflearn/code/SECTION19(finalProject)/backend/node_modules/axios/dist/node/axios.cjs:4731:41) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async /Users/sujin/Development/_00_inflearn/code/SECTION19(finalProject)/backend/routes/auth.js:77:20카카오 로그인 버튼 클릭후 동의하기 누른 다음 이런 에러가 뜹니다. .env 파일은 이렇게 입력되어있고요.JWT_SECRET=sucoding!@34 KAKAO_REDIRECT_URI=http://localhost:4000/auth/kakao/callback FRONTEND_URL=http://localhost:5173 JWT_ACCESS_EXPIRES_IN=1h JWT_REFRESH_EXPIRES_IN=7d무엇이 문제일까요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
AppBar 사용했는데
AppBar 사용했는데, 예시처럼 파란색 바탕에 흰색 글씨가 아니라, 그냥 똑같이 흰색 배경에 검정색 글씨가 나와요 코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다![코드팩토리 디스코드]https://bit.ly/3HzRzUM - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결[C#]WinForm MVP + DI(의존성 주입) + 커스텀 단축키: 고급 개발 스킬 마스터
WinForm .NetFramework 버전 프로젝트의 패키지 설정 질문
안녕하세요 강의를 듣고 있던 중 질문이 있습니다.저는 강사님이 알려주신 .NET 8.0버전 환경에서 사용하는 윈폼 프로젝트를 .NetFramework 4.8.1 버전에서도 비슷한 패턴을 적용시켜 만들어 보고 있던 중 Microsoft.Extensions.Hosting 패키지를 설치하려고 하는데 버전을 낮추어도 .NetFramework에서는 호환이 안되는 건지 설치가 되지 않습니다.Microsoft.Extensions.Hosting 패키지 말고 다른 패키지를 설치해야되는건지 궁금합니다.
-
해결됨옵시디언 마스터 클래스(생산성을 바꾸는 기록 습관)
속성에서 up 추가 vs 백링크
속성에서 up 추가해서 선택항목에 [[]] 넣는것이 결국 '백링크'와 완전히 동일한것인가요, 아니면 비슷한 기능을 하는 다른 방법인가요
-
미해결[2025] SQLD 문제가 어려운 당신을 위한 노랭이 176 문제 풀이
DIVIDE 인지 어떻게 판단할 수 있나요?
"비선호 컨텐츠 엔티티에 등록된 데이터에 대해서는 추천을 수행하지 않아야한다."이 부분은 LEFT JOIN 을 하고 IS NULL 로도 체크가 가능하지 않을까 생각이 드는데, 설명에서 저 구분은 DIVIDE 이기 때문에 NOT EXISTS 로 해야된다고 하셨는데, 판단 이유가 궁급합니다!
-
해결됨[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
BearerTokenGuard에서 db를 조회해서 유저 정보를 불러오는 이유?
BearerTokenGuard에서 db를 조회해서 유저 정보를 불러오는 이유가 궁금합니다.제가 스프링으로 개발했을 때는 role을 jwt에 담고 별도의 db 조회 없이 스프링 시큐리티에서 검증을 했어서요. 유저 엔티티가 필요하다면 서비스 레이어에서 조회를 하구요.NestJs 현업에서 쓰이는 일반적인 패턴이 궁금합니다
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
2.8 NextPage 타입을 확장한 이유
type NextPageWithLayout 타입 선언할 때NextPage를 확장하신 이유가 무엇인가요? ReactNode로만 하면 안되나요?
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
useRouter 두개의 차이가 뭔가요?
next/navigation의 useRouter는 앱라우팅 때 사용한다고 하셨는데 앱라우팅이 뭔가요?? 무슨차이가 있는지 궁금합니다.
-
미해결
영어 회화 수업 스터디 모집중 !
STEP by STEP 영어회화 수업 스터디 모집! (기초 회화 & 실전 말하기)안녕하세요! 영어 회화 스터디 STEP by STEP 입니다 !💡 이런 분께 추천합니다!• 영어로 말할 기회가 없어서 자신감이 부족한 분• 왕초보지만 영어회화를 시작하고 싶은 분• 실생활에서 바로 쓸 수 있는 영어를 배우고 싶은 분• 영어학원 다니기 전 가볍게 입문해보고 싶은 분📌 활동 정보• 진행 기간: 총 6주 (주 1회, 요일 조율 가능)• 진행 방식: 홍대/합정/서울대입구 인근 스터디룸• 수업료: 스터디룸 더치페이• 수업 후: 서로 피드백 제공✅활동 커리큘럼• 1회차: Ice Breaking & 자기소개• 2회차: 일상 회화 ① - 카페 / 음식 주문 / 인사 등• 3회차: 일상 회화 ② - 길 묻기 / 위치 설명• 4회차: 감정 & 의견 표현• 5회차: 실전 대화 연습 (롤플레이 집중)• 6회차: 나만의 말하기 발표 + 종합 피드백📚 활동 내용 요약• 상황 별 일상 대화 패턴 훈련• 발음·억양 교정• 주제별 말하기 연습• 상황별 롤플레이 실습• 피드백 + 말하기 자신감 키우기!📩 신청 방법👉 지원서 작성 https://forms.gle/DeoZgAmDocNt94hXA