inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

strlen에 대한 질문

해결됨

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

안녕하세요. 강의 도중 strlen과 sizeof을 비교하는 부분(18분 경)에서 strlen에 대한 질문이 생겨서 글을 작성하게 되었습니다. 직접 3가지 str을 정의하였고, 각 str에 대해 strlen()값을 출력하였더니, 다음과 같았습니다. // 문자열 배열 (NULL 문자 포함 X) char str1[5] = {'H', 'e', 'l', 'l', 'o'}; // 문자열 (NULL 문자 포함 O) char str2[] = "Hello"; // {'H', 'e', 'l', 'l', 'o', '\0'}; char str3[6] = {'H', 'e', 'l', 'l', 'o', '\0'}; printf("strlen(str1) : %d\n", strlen(str1)); printf("strlen(str2) : %d\n", strlen(str2)); printf("strlen(str3) : %d\n", strlen(str3)); 출력되는 결과는 각각 10, 5, 5로 실제 문자형 배열의 크기를 지정한 5를 훨씬 넘어가는 결과가 나왔습니다. 이 결과는 아무래도 마지막 원소로 NULL문자를 넣지 않아서 발생 한 듯 싶은데, 왜 하필 10이 나왔는지 이유가 궁금합니다. 또한, 이럴 경우까지도 고려하여 sizeof를 사용하는 것이 더 바람직한 방법인지 궁금합니다. 마지막으로, 구글링 결과 sizeof의 반환 타입이 size_t이기 때문에 %zu라는 형식 변환자를 사용해야 한다고 하는데, %lu의 경우 보다 자유롭게 대략 long int로 판별될 경우 사용하면 되는 것인지도 궁금합니다. C언어에서 타입을 지정하는 것이 굉장히 중요한 것 같은데, %lu로 퉁쳐도(??) 되는 것인지, 그 판단은 어떻게 하는지 등이 궁금합니다! 긴 글 읽어주셔서 감사합니다.

  • python
  • java
  • c
  • 정보처리기사
김민규 댓글 2 좋아요 0 조회수 152

회원가입() 테스트 오류

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 회원가입() 테스트를 실행하면 위와 같이 나옵니다. 강의에선 "이미 존재하는 회원입니다"가 뜨던데.. 뭐가 잘못된걸까요

  • java
  • spring
  • mvc
  • spring-boot
yoon6669 댓글 3 좋아요 0 조회수 241

query DSL 대신 Native Query를 사용하시는 이유가 있으신가요?

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강의 잘 듣고 있는 학생입니다. 다름이 아니라, 강의에서 query DSL 대신 Native Query를 사용하시는 이유가 있으신가요? 현업에서는 query DSL 대신 Native Query를 더 많이 사용하는걸까요??

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
blackhole124 댓글 2 좋아요 0 조회수 448

뷰티파이 대체

미해결

[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드

■ 질문 남기실 때 꼭! 참고해주세요. 안녕하세요 비쥬얼 스튜디오 코드에서 뷰티파이가 더이상 업데이트 하지 않는다고 하는데요, 자동 인덴트 조절은 어떤 어플 대체품이 있을까요? 또한 선생님 설명에는 블라켓 사용법이 pdf 앞장에 되어있는데, 현재는 비쥬얼만 된다는 강의를 봤습니다. 이론 강의를 듣기 시작하려고 하는데 블라켓베이스 기준 설명이신데 그거 상관없이 코드로 그냥 하면 될까요? 헷갈려서 여쭤봅니다 - 먼저 유사한 질문이 있었는지 검색해주세요. - 궁금한 부분이 있으시면 해당 강의의 타임라인 부분을 표시해주시면 좋습니다. - HTML, CSS, JQUERY 코드 소스를 텍스트 형태로 첨부해주시고 스크린샷도 첨부해주세요. - 다운로드가 필요한 파일은 해당 강의의 마지막 섹션에 모두 있습니다. 질문 하실 때 어떤 유형인지 말씀해주세요. ex) A1 작업하는데 ???이 안됩니다.

  • HTML/CSS
  • jquery
  • 웹-디자인
열매 댓글 2 좋아요 1 조회수 119

모듈과 패키지에 대해 질문이 있습니다.

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] MemberService를 import 없이 사용할 수 있는 이유가 뭔가요? Member와 MemoryMemberRepository는 import를 해줘야 쓸 수 있는데 MemberService는 그렇지 않은게 궁금합니다. 패키지 이름이 service로 동일하기 때문인가요? 모듈이 다르면, 패키지 이름이 같더라도 다른 패키지로 치는게 아닌가요? 혹여 junit을 사용한 테스트 모듈이라 그런걸까요?

  • java
  • spring
  • mvc
  • spring-boot
Maruche 댓글 2 좋아요 1 조회수 119

velog., github 업로드 관련 문의

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

강사님 잘 듣고 있습니다..! 혹시 다름이 아니라 출처를 남기고 velog, github에 공부한 내용을 업로드 해도 될까요?

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
jaemm 댓글 1 좋아요 0 조회수 211

v-table 오버라이딩 동작방식 질문

미해결

김영한의 실전 자바 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 많은 분들이 똑같은 질문을 하시는 것 같은데 문장에서 헷갈릴 수 있을만한 요소가 있는 것 같습니다. 강의내용 이나 강의 자료에서 부모에서 자식으로 찾아내려가는 것은 불가능하다 라는 문장이 있는데요, c++ 을 전공과목 에서 배우며 vptr 과 같은 내용을 배웠음에도 java 문법이나 jvm 에 관해서는 아는게 전혀 없어 저도 헷갈립니다 ㅠㅠ.. 저 오버라이딩 되는 부분이 어떻게 구현되는건지, 왜 오버라이딩은 예외로 분류 ( 부모에서 자식으로 아래로 찾아내려가는 것은 불가능하다고 강의 pdf 에 기재되어 있기 때문에 ) 인건지 질문해봅니다. 바로 아랫분이랑 똑같은 내용인데 저도 전혀 해결이 되질 않네요..

  • java
  • 객체지향
xxanecdote 댓글 3 좋아요 0 조회수 156

채팅 프로그램 콘솔출력 겹침

미해결

김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 채팅 프로그램 작성 도중 여쭤볼 게 있어 남기게되었습니다 문제 상황 위 사진은 제 콘솔출력창입니다 왼쪽사용자는 kim : hi라는 메시지를 보냈고, 오른쪽 사용자는 han: hello라는 메시지를 보냈는데요, 문제는 메시지를 보내달라는 문장과 다른 사용자가 보낸 메시지 내용이 겹친다는 것입니다 질문 위 사진은 제가 해결해보려는 시도로 static메소드를 lock을 사용해서 만들었습니다. 하지만 결과가 똑같았습니다. 해결방법이 궁금합니다! 그리고 lock을 걸어서 사용했는데 왜 결과가 똑같은지도 궁금합니다...답변해주시면 감사하겠습니다 아래는 제 코드를 보여드리겠습니다! 1.Client 메세지 보내는 부분 클래스입니다 public class ClientSecond { private static final int PORT = 12345; static Socket socket; static DataOutputStream output; static DataInputStream input; public static void main(String[] args) throws IOException { try { socket = new Socket("localhost", PORT); output = new DataOutputStream(socket.getOutputStream()); ClientReceiverSecond clientReceiverSecond = new ClientReceiverSecond(socket); Thread thread = new Thread(clientReceiverSecond); thread.start(); System.out.println("Chatting Program"); System.out.print("사용자의 이름을 입력하세요 : "); Scanner scanner = new Scanner(System.in); String name = scanner.nextLine(); output.writeUTF(name); //1.이름전송 while (true) { //System.out.print("메세지를 입력해주세요 : "); ClientOutput.printMessage(); String message = scanner.nextLine(); output.writeUTF(message); //2.메세지전송 if (message.equals("exit")) { System.out.println("채팅 프로그램을 종료합니다. "); break; } } }finally { output.close(); socket.close(); } } } 각 클라이언트에게 다른 사용자의 메세지를 보내는 클래스입니다 public class ClientReceiverSecond implements Runnable { private static Socket socket; static DataInputStream input; public ClientReceiverSecond(Socket socket){ this.socket = socket; } @Override public void run() {//다른 사용자들의 메세지 확인 try { while (true) { input = new DataInputStream(socket.getInputStream()); String other_messages = input.readUTF(); //사용자의 이름과 메시지 분리 필요 //System.out.println(other_messages); ClientOutput.printMessage(other_messages); //todo if (other_messages.equals("exit")) { System.out.println("채팅을 종료합니다. "); break; } } } catch (IOException e) { throw new RuntimeException(e); }finally { try { input.close(); } catch (IOException e) { throw new RuntimeException(e); } } } } 클라이언트와 통신하는 세션 클래스인데요 혹시 몰라서 추가로 올려보겠습니다 public class SessionSecond implements Runnable{ private Socket socket; private SessionManagerSecond sessionManagerSecond; DataInputStream input = null; DataOutputStream output = null; public SessionSecond(Socket soket, SessionManagerSecond sessionManagerSecond) { this.socket = soket; this.sessionManagerSecond = sessionManagerSecond; sessionManagerSecond.add(this); } public void send(String message) throws IOException { output = new DataOutputStream(socket.getOutputStream()); String messages[] = message.split(","); String name = messages[0]; String messagemain = messages[1]; output.writeUTF(name+" : "+messagemain); } @Override public void run() { try { input = new DataInputStream(socket.getInputStream()); //output = new DataOutputStream(socket.getOutputStream()); String name = input.readUTF(); while (true) { String message = input.readUTF(); if (message.equals("exit")) { break; } String allmesaage = name+","+message; sessionManagerSecond.call(allmesaage); } } catch (IOException e) { throw new RuntimeException(e); }finally { try { output.close(); input.close(); } catch (IOException e) { throw new RuntimeException(e); } } } }

  • java
  • 네트워크
  • 객체지향
지민 댓글 1 좋아요 0 조회수 193

save 를 눌렀을 때

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. 회원 웹 기능 - 등록 강의에서 PostMapping 중 join을 눌렀을 땐 강의처럼 잘 이동하는데 save를 누를 경우에 강의에서는 MemoryMemberRepositoty 클래스로 이동하는데 저 같은 경우에는 MemberRepository 인터페이스로 이동이 되더라고요 실행했을 경우엔 초기 화면으로 돌아가지지 않았습니다 코딩은 동일하게 따라했습니다 혹시 더 필요하신 코드 있으시면 더 남기겠습니다 package hello.hello_spring.controller; import hello.hello_spring.domain.Member; import hello.hello_spring.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @Controller public class MemberController { private final MemberService memberService; public MemberController(MemberService memberService) { this.memberService = memberService; } @GetMapping("/members/new") public String createForm() { return "members/createMemberForm"; } @PostMapping public String create(MemberForm form) { Member member = new Member(); member.setName(form.getName()); memberService.join(member); return "redirect:/"; } }

  • java
  • spring
  • mvc
  • spring-boot
  • post
  • save
임종민 댓글 2 좋아요 0 조회수 187

컴파일러 경고 메세지 관련 질문입니다.

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

안녕하세요 쿠케님 강의 잘 듣고있습니다! 제네릭을 사용할 때마다 생기는 고민이 있습니다.. 제네릭을 사용하다보면 컴파일러 경고가 발생하는 경우가 있는데(IDE의 노란 밑줄) 이런 경고들을 모두 해결해서 제거해야할 까요?? 아니면 어느정도 무시를 해도 되는 걸까요?? 이펙티브 자바에는 런타임에 캐스팅 관련 예외가 발생할 수 있으니 이런 경고를 최선을 다해 제거하라. 라는 내용이 있기도 하고, 노란 밑줄이 보이면 눈에 거슬리기도 해서 처음에는 어느정도 제거하면서 개발을 했었는데, 시간이 지날 수록 이게 맞나 싶기도하고 책에 있는 내용이 절대적인 것도 아니기도해서 그리고 강의에서도 어느정도 무시를 하는 것 같아 질문 남깁니다! 팀에서 결정한 컨벤션으로 개발하면 될 것 같은데, 다른 팀에서는 어떻게 진행하는지 궁금합니다! 최대한 제거하는지.. 어느정도는 무시( @SuppressWarnings )해도 되는지

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
chobo 댓글 2 좋아요 0 조회수 172

개인 깃허브에 코드 업로드 관련

해결됨

이거 하나로 종결-스프링 기반 풀스택 웹 개발 무료 강의

안녕하세요, 우선 좋은 강의 업로드해주셔서 감사합니다. 다름이 아니라 강의를 보면서 공부하며 친 코드들을 깃허브나 블로그에 개인 공부 기록용으로 공개 업로드해도 될지 질문드리고 싶습니다.

  • HTML/CSS
  • javascript
  • jsp
  • spring
  • spring-boot
  • spring-security
abc123 댓글 2 좋아요 0 조회수 392

strcat

해결됨

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

11:35 strcat는 함수 이름으로 안변하는 건가요? cat이 연결시키는 느낌이고 문자 변수 이름이 str이어서 strcat인건지, 변수이름에 상관없이 strcat이 되는건지 궁금합니다. a="hello"; acat(a, "world")라고는 쓸 수 없는거겠죠...?

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

조건문에는 교육자료 pdf파일이 없는건가요?

해결됨

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

강의자료 다운로드가 없는것은 자료가 없이 영상내용만 들으면 된다고 이해하면 되나요?

  • python
  • java
  • c
  • 정보처리기사
박현서 댓글 2 좋아요 0 조회수 157

Footer를 영상에 나오는대로 변경했는데

미해결

구글 애드센스 수익형 워드프레스 블로그 만들기

강의에 대한 질문은 인프런 질문하기나, 1:1 커뮤니티 페이지에서 문의하시면 빠르게 답변 드리고 있습니다. (커뮤니티 주소 https://itconnect.dev/커뮤니티/ ) 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요 테마 파일과 CSS, PHP 파일은 아래 링크를 통해 받아보실 수 있습니다. https://drive.google.com/drive/folders/1KtkfsZe2uy5jNMps0F6gnqlEvZnq0mRN?usp=sharin 푸터를 영상에 나온것처럼 변경했는데 새로고침하면 배경색 글자색 지정한거 없어지고 위에 같이 보이네요 ㅜh1글자색으로 보여지는 것같아요 해결방법있을까요?

  • HTML/CSS
  • wordpress
  • php
  • 웹-디자인
  • 반응형-웹
박보름 댓글 2 좋아요 0 조회수 135

padding 과 box-sizing 질문

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

14분 부터 css 전체선택자 box-sizing 이 border-box 라서 padding 을 하게되면 a 태그의 크기가 줄어들어야 하는 것 아닌가요? 왜 padding을 통해 크기를 키운다고 말씀하시나요?

  • react
  • node.js
  • seo
  • graphql
  • next.js
김트랙 댓글 2 좋아요 0 조회수 126

해당 에러 뜨는 분들 보세요. "Uncaught TypeError: ReactDom.createRoot is not a function"

미해결

웹 게임을 만들며 배우는 React

package.json 파일 보시면 리액트 버전이 나오실텐데 저는 19 버전이라 위같은 에러가 뜨네요. 따라서, 기존 코드를 (리액트 17버전 이하에서 정상작동).. const ReactDom = require('react-dom'); ReactDom.render(<WordRelay />, document.querySelector('#root')); 아래처럼 변경해주셔야 합니다. import { createRoot } from 'react-dom/client'; createRoot(document.querySelector('#root')).render(<WordRelay />);

  • react
해도디 댓글 1 좋아요 1 조회수 223

D, E 유형 수험자 제공파일 어디서 받을 수 있을까요?

미해결

[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드

D,E 최종본 제작 전 영상에서 말씀주신 파일모음을 받고싶은데 수업자료에 첨부된 파일들 확인해봐도 찾을수가 없습니다. 참고PSD. 텍스트, 사진이 포함된 수험자제공파일은 어디서 받을 수 있을까요?

  • HTML/CSS
  • jquery
  • 웹-디자인
Cheon 댓글 2 좋아요 1 조회수 186

async&await에서 reject시 처리 방법이 궁금합니다.

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

채찍피티에게 물어보니 try/catch로 처리하라고 하는데 이게 최선일까요..?

  • javascript
  • react
  • node.js
박성민 댓글 2 좋아요 0 조회수 210

eslint.config.js (flat config): eslint.config.js 파일에서 eslint-config-prettier를 import한 후, 다른 설정을 재정의할 수 있도록 설정 배열의 마지막에 추가합니다.

미해결

React 완벽 마스터: 기초 개념부터 린캔버스 프로젝트까지

eslint.config.js (flat config): eslint.config.js 파일에서 eslint-config-prettier 를 import한 후, 다른 설정을 재정의할 수 있도록 설정 배열의 마지막에 추가합니다. 에서 어떻게 import해야하는가요? import eslint-config-prettier from 'eslint-config-prettier'; 로 하면 오류가 납니다.

  • react
  • React-Context
  • react-router
  • tailwindcss
  • react-query
수달고니 댓글 4 좋아요 0 조회수 249

.prettierrc를 적용했는데 저장하니 ;이 왜 안생길까요?

미해결

React 완벽 마스터: 기초 개념부터 린캔버스 프로젝트까지

.prettierrc를 적용했는데 저장하니 ;이 왜 안생길까요?

  • react
  • React-Context
  • react-router
  • tailwindcss
  • react-query
수달고니 댓글 2 좋아요 1 조회수 138

인기 태그

인프런 TOP Writers

주간 인기글