inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

파이참 프로 에디션

미해결

장고 설계철학으로 시작하는 파이썬 장고 입문

강의 맨 처음 시작에 pycharm pro를 쓰는데, 완강 후에만 신청하라고 되어있습니다. 강의 중간인데 신청하면 보내주실까요..?

  • python
  • django
contigunu66 댓글 1 좋아요 0 조회수 220

flex-basis auto, 0 차이

해결됨

CSS Flex와 Grid 제대로 익히기

flex-basis에서 auto로 설정하는 것과 0으로 설정하는 것의 차이가 무엇인지 궁금합니다. 따로 코드를 짜서 실행하면 autof로 설정했을 때와 0으로 설정했을 때 결과물이 똑같아서 차이가 궁금합니다.

  • HTML/CSS
  • flex
강두희 댓글 2 좋아요 0 조회수 767

학습에 대해

해결됨

아이비의 안드로이드 드릴

오리엔테이션에 있는 신입 안드로이드 개발자를 위한 학습로드맵 에 나와있는 학습주제에 대해서 전부 배울 수 있는건가요??

  • android
  • kotlin
  • jetpack
세훈 댓글 1 좋아요 0 조회수 471

혼자서 푼 문제 확인 부탁드립니다.

미해결

자바 코딩테스트 - it 대기업 유제

import java.util.HashMap; import java.util.Map; import java.util.PriorityQueue; class 방향바꾸기 { public int solution(int[][] board) { int answer = 0; /** * n * m 격자판 지도정보 * 격자판에는 각 1,2,3,4 의 값이 존재 * 1: 오른쪽의 인접한 격자로 이동 * 2. 왼쪽의 인접한 격자로 이동 * 3: 아래로 이동 * 4: 위로 이동 * 0,0부터 오른쪽 아래 맨 끝으로 이동하려고함 * board가 주어지면 목표지점까지 가기위해 방향을 바꾸는 최소 격자 개수 * 한 격자의 방향은 원하는 방향으로 한번만 바꾸기 가능 * * * */ //다익스트라로 인접 순회 할때마다 내가 그 격자를 바라보고있는지 확인 //내가 그 격자를 바라보고있으면 1추가 안함 , 바라보지 않으면 1 추가 int[] dx = {-1, 0, 1, 0}; int[] dy = {0, -1, 0, 1}; PriorityQueue<Candidate> queue = new PriorityQueue(); Map<String, Integer> minPosMap = new HashMap<>(); for (int i = 0; i < board.length; i++) { for (int j = 0; j < board[i].length; j++) { minPosMap.put(j + ":" + i, Integer.MAX_VALUE); } } Pos first = new Pos(0, 0); //첫번째 시작을 넣는다. queue.add(new Candidate(first, 0)); while (!queue.isEmpty()) { int size = queue.size(); for (int i = 0; i < size; i++) { Candidate candidate = queue.poll(); Pos pos = candidate.pos; if (pos.x == board[0].length - 1 && pos.y == board.length - 1) { // print(board, minPosMap); return candidate.cnt; } for (int j = 0; j < 4; j++) { int moveX = dx[j] + pos.x; int moveY = dy[j] + pos.y; if (moveX < 0 || moveY < 0 || moveX >= board[0].length || moveY >= board.length) continue; //현재 Pos 가 moveX, moveY 를 바라보고 있는지 체크 boolean isLookAt = isLookAt(board[pos.y][pos.x], pos, moveX, moveY); //바라보면 cnt 그대로 바라보지 않으면 cnt++ //내가 추가할 값이 기존에 있는 값보다 작아야함 Pos newPos = new Pos(moveX, moveY); int cnt; if (isLookAt) { cnt = candidate.cnt; } else { cnt = candidate.cnt + 1; } Integer baseCnt = minPosMap.get(newPos.getName()); if (cnt < baseCnt) { minPosMap.put(newPos.getName(), cnt); Candidate newCandi = new Candidate(newPos, cnt); queue.add(newCandi); } } } } return answer; } private static void print(int[][] board, Map<String, Integer> minPosMap) { int cnt = 0; for (Integer value : minPosMap.values()) { System.out.print(value + " "); cnt++; if (cnt % board[0].length == 0) System.out.println(); } } private boolean isLookAt(int direction, Pos pos, int moveX, int moveY) { int x = pos.x; int y = pos.y; // * 1: 오른쪽의 인접한 격자로 이동 // * 2. 왼쪽의 인접한 격자로 이동 // * 3: 아래로 이동 // * 4: 위로 이동 int[][] directionCalculate = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}}; return y + directionCalculate[direction - 1][0] == moveY && x + directionCalculate[direction - 1][1] == moveX; } class Pos { int x; int y; public Pos(int x, int y) { this.x = x; this.y = y; } public String getName() { return x + ":" + y; } } class Candidate implements Comparable<Candidate> { Pos pos; int cnt; public Candidate(Pos pos, int cnt) { this.pos = pos; this.cnt = cnt; } @Override public int compareTo(Candidate o) { return cnt - o.cnt; } } public static void main(String[] args) { 방향바꾸기 T = new 방향바꾸기(); System.out.println(T.solution(new int[][]{{3, 1, 3}, {1, 4, 2}, {4, 2, 3}})); System.out.println(T.solution(new int[][]{{3, 2, 1, 3}, {1, 1, 4, 2}, {3, 4, 2, 1}, {1, 2, 2, 4}})); System.out.println(T.solution(new int[][]{{3, 2, 1, 3, 1, 2}, {2, 1, 1, 1, 4, 2}, {2, 2, 2, 1, 2, 2}, {1, 3, 3, 4, 4, 4}, {1, 2, 2, 3, 3, 4}})); System.out.println(T.solution(new int[][]{{3, 2, 1, 3, 1, 2, 2, 2}, {2, 1, 1, 1, 4, 2, 1, 1}, {2, 2, 2, 1, 2, 2, 3, 4}, {1, 3, 3, 4, 4, 4, 3, 1}, {1, 2, 2, 3, 3, 4, 3, 4}, {1, 2, 2, 3, 3, 1, 1, 1}})); System.out.println(T.solution(new int[][]{{1, 2, 3, 2, 1, 3, 1, 2, 2, 2}, {1, 2, 2, 1, 1, 1, 4, 2, 1, 1}, {3, 2, 2, 2, 2, 1, 2, 2, 3, 4}, {3, 3, 1, 3, 3, 4, 4, 4, 3, 1}, {1, 1, 1, 2, 2, 3, 3, 4, 3, 4}, {1, 1, 1, 2, 2, 3, 3, 1, 1, 1}})); } } AI로 답변을 달아주시는 것 같은데 이번에도 확인 부탁드립니다. 해설을 보면 강사님이랑 풀이방식은 비슷한것같습니다.

  • java
  • 코딩-테스트
이승환 댓글 1 좋아요 0 조회수 190

디버거 PCB연결관련 문의

해결됨

[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.

ST 드라이버 설치 후, ST Link(디버거)만 노트북에 연결했을때는 USB가 인식을 하는데, PCB까지 추가 연결을 하면 USB가 인식을 안하는 것같습니다. (장치관리자에서 알수 없는 USB장비라고 나옵니다. ) 이유가 뭔지 알 수 있을까요? ㅠㅠㅠ 디버거만 연결 : 장치관리자 - 범용 직렬 버스 장치 - STM32 STLink 디버거+PCB 연결 : 장치관리자 - 범용 직렬 버스 컨트롤러 - 알수 없는 USB장치(장치 설명자 요청 실패)

  • Raspberry-Pi
  • arduino
  • 임베디드
huemin789 댓글 1 좋아요 0 조회수 383

json server실행/중지 문의드립니다!

해결됨

프로젝트로 배우는 Vue.js 3

json server 데이터베이스 서버 껐다 키시는데 어떻게 하는건가요??

  • vue.js
  • 웹앱
  • vuex
ivory0130 댓글 1 좋아요 0 조회수 503

JPA를 사용할 때 SQL 생성 질문

해결됨

실전! 스프링 데이터 JPA

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 내용] JPA를 사용하면 JPA에서 SQL 테이블을 연결해 놓은 테이블을 생성해주는데 실무에서도 그냥 JPA로 테이블 생성하고 테이블에 상세한 설정이 필요하다면 엔티티에서 설정을 하나요?

  • java
  • spring
  • spring-boot
  • jpa
유요한 댓글 1 좋아요 1 조회수 378

저는 왜 화면대로 되질 않을까요? 원격으로 도움을 요청합니다.

미해결

지금 당장 NodeJS 백엔드 개발 [사주 만세력]

settings.json 에서 3번 위치에 formatOnSave 를 true 로 변경합니다. 위에서부터 진행을 못하고 있습니다. Docker도 연결 에러고..... ㅠㅠ 원격으로 도와주실수 없을까요?

  • node.js
  • jwt
woodamhyy 댓글 3 좋아요 0 조회수 288

Request URL:주소 이상함!

해결됨

Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"

const fetchPost = async () => { try { const { data, headers } = await getPosts(params.value); items.value = data; totalCount.value = headers['x-total-count']; } catch (error) { console.error(error); } }; TheHeader.vue에서 게시판 클릭 시 PostListView.vue 부분에서 오류가 납니다. 위의 에러콘솔부에 걸려요. 개발자도구에서 콘솔에 찍힌 코드는 하기와 같습니다ㅠㅠ AxiosError {message: 'Request failed with status code 404', name: 'AxiosError', code: 'ERR_BAD_REQUES........} requestURL : GET http://localhost:5173/undefinedposts/?_sort=createdAt&_order=desc&_limit=3&_page=1&title_like= 404 (Not Found) 왜 주소가 위와 같이 찍히는지 모르곘어요!! 제이슨 서버 동작 확인했고, development 모드입니당 ㅠㅠ

  • vue.js
youakdl 댓글 1 좋아요 0 조회수 268

kubedam init 명령어 부분

미해결

멀티OS 사용을 위한 가상화 환경 구축 가이드 (Docker + Kubernetes)

전에 질문드렸던 ip주소는 해결되었고, 포트문제 때문인지 밑 사진처럼 오류가 발생하는데 해결방법 있을까요?

  • docker
  • kubernetes
  • 가상화
  • vagrant
  • virtualbox
여현구 댓글 2 좋아요 0 조회수 543

강의 자료

미해결

홍정모의 따라하며 배우는 C++

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 유튜브 무료강의 영상에서 보면 무료 강의자료가 있던데 이 강의는 강의자료가 따로 없는거 맞을까요?

  • c++
lahat 댓글 1 좋아요 1 조회수 302

a.out

미해결

홍정모의 따라하며 배우는 C++

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. a.out 디렉터리로 이동해서 터미널에서 ./a.out 을 치라고 하는 의미를 모르겠습니다. a.out으로 들어가면 이렇게 뜹니다.

  • c++
lahat 댓글 1 좋아요 1 조회수 190

tsc -w 명령어 실행 오류

미해결

따라하며 배우는 타입스크립트 A-Z

강의 영상을 실습하고 직접 실행해 보려고 tsc -w명령어를 입력했는데 다음과 같은 에러가 발생합니다. error TS18003: No inputs were found in config file '/Users/jihyeon/Documents/study/ts_practice/02.types/tsconfig.json'. Specified 'include' paths were '["./src/**/*.ts"]' and 'exclude' paths were '["./build/js"]'. 현재 제가 작성한 tsconfig.json 파일은 다음과 같습니다. { "compilerOptions": { "rootDir": "./src", "outDir": "./build/js", "target": "ES2015", "noEmitOnError": true, "module": "ESNext", "moduleResolution": "Node", "esModuleInterop": true, "lib": ["ESNext", "DOM"], "strict": true, "strictNullChecks": true }, "include": [ "./src/**/*.ts" ] } 그리고 현제 디렉토리 구조는 다음과 같습니다. main.ts를 따로 지정해서 컴파일 하는 것은 정상적으로 동작하는거 보면 main.ts에는 문제가 없어 보이는데 왜 계속 이런 에러가 발생하는 걸까요? ㅠㅠㅠㅠㅠ

  • javascript
  • typescript
김지현 댓글 1 좋아요 0 조회수 569

회원정보를 조회하는 API서버가 따로 있을때 로직 분리

미해결

스프링 시큐리티

웹앱이 API에 요청을 할때도 올바른 대상이 요청하는게 맞는지 별도의 검증이 필요하지만 우선 그건 무시하고 순수히 웹앱의 유저 인증만 생각했을때의 이야기입니다.. 프론트 역할을 하는 html, css, (바닐라js or jQuery) + spring boot(thymeleaf, spring security) 웹어플리케이션 프로젝트가 있고 회원이 있는지 조회할 수 있는 API 서버(DB와 연결된 spring boot)가 별도로 존재했을때 어떤 프로젝트에 어떤 식으로 시큐리티 및 토큰생성 세팅을 해야할지 감이 잘 오지 않습니다.. 제가 구현하고자 하는건 회원/비회원에 따라 페이지를 동적으로 바꾸거나 (로그인이 로그아웃으로 바뀐다든지) 페이지에 접근을 못하게 하려고 합니다 (마이페이지) 제 생각에는 구현내용 둘 다 API를 굳이 갈 필요가 없기 때문에 웹앱단에서 검증이 이루어져야 할 것 같은데 맞을까요..? API는 회원 유무를 조회한 뒤, 존재하는 경우 단순히 유저정보(or 아예 토큰을 만들어서 넘긴다..?)를 웹앱에 넘겨주는 것까지가 역할이고, 따라서 Spring Security는 여기서 필요하지 않다 웹앱 프로젝트에 스프링 시큐리티 설정을 한 뒤, 스프링부트단에서 API로부터 전달받은 토큰, 혹은 유저정보를 가지고 인증을 처리한다 (하지만 어떻게..?) 이런 흐름이 맞는지 모르겠습니다..

  • java
  • spring-boot
  • spring-security
암차 댓글 2 좋아요 0 조회수 492

[Bug?] Nav Bar가 보이지 않아요.

해결됨

[2025 리뉴얼]플러터플로우로 코딩 없이 한달 안에 앱 만들기

안녕하세요. 강의 보면서, 만들어 보던 중에 아래 2가지 이슈 발견되어 문의드립니다. 꼭 좀 알려주세요!!! Nav Bar : Run 화면에서 보이지 았아요. ㅠ Stack > Text : Align을 좌측 정렬하였으나, 적용되지 않아요.

  • flutter
  • firebase
  • no-code
  • flutterflow
YR 댓글 2 좋아요 1 조회수 413

filter test 마지막 문제 결과값이 이상합니다.

해결됨

시나브로 자바스크립트

04. Array 메소드 - (2 of 7) Filter ==================================== filter의 마지막 테스트 중 원하는 결과값이 나오지 않습니다. 강사님의 코드와 동일하게 작성하면 const tweetsPostedAfter10pm = posts.filter((post) => { const frenchTimestamp = new Date(post.meta.created_at).toLocaleString('fr-FR'); return new Date(frenchTimestamp).getHours() >= 22; }); //결과 // - Expected "5" // + Received "1" 이렇게 나옵니다. 저는 한국에 있으니 지역이 문제인 것 같아서 한국으로 설정하고 돌리면 const tweetsPostedAfter10pm = posts.filter((post) => { const koreanTimestamp = new Date(post.meta.created_at).toLocaleString('ko-KR'); return new Date(koreanTimestamp).getHours() >= 22; }); //결과 // - Expected "5" // + Received "0" 위처럼 나옵니다.. 콘솔로 데이터를 찍어보니 const tweetsPostedAfter10pm = posts.filter((post) => { const frenchTimestamp = new Date(post.meta.created_at).toLocaleString('fr-FR'); console.log(new Date(frenchTimestamp).getHours()); return new Date(frenchTimestamp).getHours() >= 22; }); //console 1 1 6 NaN NaN NaN 8 7 19 18 NaN NaN ... 참고로 ko-KR은 모두 NaN으로 나옵니다. 동일한 코드인데 왜 저는 이렇게 나오는 걸까요?? 오타라도 있는걸까요..? + 다른 코드로 해봤는데 9개가 나옵니다; const tweetsPostedAfter10pm = posts.filter((post) => { const date = new Date(post.meta.created_at); // UTC 시간을 한국 시간으로 변환 const koreanTime = new Intl.DateTimeFormat('ko-KR', { timeZone: 'Asia/Seoul', hour: '2-digit', hour12: false }).format(date); // '시' 부분만 추출 const koreanHour = koreanTime.split('시')[0]; const toNumber = koreanHour * 1; console.log(toNumber) return koreanHour >= 22;; }); //결과 // - Expected "5" // + Received "9" ++ 영상을 끝까지 보고나니까 오류가 있는게 맞는 것 같네요!? 저처럼 혼자 삽질하고 있을 학생들을 위해 남겨두겠습니다!

  • javascript
  • vanilla-js
hweejin_cha 댓글 1 좋아요 2 조회수 374

인기 태그

인프런 TOP Writers

주간 인기글