묻고 답해요
132만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
POST
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]요청 데이터 처리 • 단순히 데이터를 생성하거나, 변경하는 것을 넘어서 프로세스를 처리해야 하는 경우예) 주문에서 결제완료 -> 배달시작 -> 배달완료 처럼 단순히 값 변경을 넘어 프로세스의 상태가 변경되는 경우POST의 결과로 새로운 리소스가 생성되지 않을 수도 있음 예) POST /orders/{orderId}/start-delivery (컨트롤 URI)POST /orders/{orderId}/start-delivery (컨트롤 URI)에서 위의 POST 메서드는 다른 POST와는 달리 클라이언트에서 리소스를 식별하고 있는 것으로 보이는데 이러한 경우에는 리소스를 생성하지 않고 프로세스의 상태를 변경하는 건가요?POST /orders/{orderId}/start-delivery 이것이 정확히 무엇을 의미하는지 잘 모르겠습니다.+ PUT을 지원하지 않는 곳이 있어서 그럴 때는 POST를 사용하면 된다고 한 것이 데이터 변경을 의미한다는 것은 이해를 했습니다.그리고 리소스라고 하는 것은 문서, 동영상, 사진 등과 같이 식별할 수 있는 모든 것이라고 얘기를 했는데 리소스 변경, 수정, 삭제, 조회라고 하는 것이 저 예제를 통해서 이해를 하자면 members라는 리소스가 있는데 그 안에 들어있는 필드 값(속성?)을 변경하는 것으로 느껴집니다.
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
자동 import 질문
안녕하세요 강사님저는 import 할 때마다 아래 처럼 생성했더니 따로 import 줄이 생성이 됩니다import { SafeAreaView } from './node_modules/react-native/types/index';혹시 강사님처럼 자동으로 아래 코드에 들어갈 수 있도록 하는 방법을 알 수 있을까요?import {SafeAreaView, Button, StyleSheet, Text, View} from 'react-native';
-
미해결코드로 배우는 React with 스프링부트 API서버
포스트맨에서 회원 권한이 출력되지 않습니다.ㅠㅠ
강의 내용와 다르게 포스트맨 수행 결과 권한이 함께 출력되지 않고 있습니다. 어느 부분이 문제인가요 ..? 콘솔창에서는 정상적으로 모두 출력된 것을 확인했습니다 ㅠㅠ 그래서 더 모르겠습니다..
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
국제화 기본 설정 테스트 코드 실패
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]스프링 메시지 소스 사용 강의 2분 50초 정도에 나오는 테스트 코드가 계속 실패해서 문의 드립니다.계속 hello 값을 가져오는것 같은데, 설정 값은강의에서 제시한 그대로 인데, 기본 디폴트 값이 영어로 되어 있는걸까요? 혹시나 해서 Local.KOREA(N)을 모두 적용해보았으나 역시 같은 에러가 발생합니다.코드 내용은 위와 같습니다. 원인이 뭘까요? ㅠㅠ
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
Feature Scaling 강의 질문 있습니다!
(1) Feature scaling 실습 강의를 듣다가 궁금한 점이 있어 질문드립니다! 타이타닉 자료에서 나이에 대한 결측치는 중간값으로 처리하고, Embarked의 경우 drop을 하는 걸로 알려주셨는데요 🙂 원래 없는 값인데 중간 값으로 결측치를 채워주는 것도 그렇구 다른 FEATURE값이 있는데 결측치가 있는 row라고 지워버리는 것도 그렇고 결측치가 주는 영향이 그만큼 크기 때문인가요?? 값이 비어있는 것보다는 평균으로라도 채워놓는 게 좋은 건지, 다른 feature 정보가 있더라도 결측치가 있는 row는 지우는 게 좋은 건지 feature engineering에 대해 제대로 이해하지 못한 것 같아 여쭤봅니다! (2) SKEW된 FARE에 log를 취해주셨는데요! 사실 그래프만 보면 parch도 sibsb도 한 쪽으로 쏠려있고 한 쪽이 많은 느낌인데 왜 fare만 skew로 log를 취해주신 걸까요? (3) 교재에서는 train_test_split 부분을 이렇게 해주셨는데요! X_train = df_titanic[:700]X_test = df_titanic[700:]y_train = X_train.pop('Survived')y_test = X_test.pop('Survived')X_train, X_test에서 survived 부분을 안 빼줘도 되는 건가요?? 늘 감사합니다!!
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
heatmap에서 numeric_only=True
타이타닉 탑승자 자료로 Feature scaling을 실습하는 강의에서, heatmap을 그리는 부분을 듣고 있는데요!g=sns.heatmap(df_titanic.corr(numeric_only=True),annot=True,cmap='coolwarm') 교재에는 이렇게 되어 있는데 실제 강의에서는 numeric_only=True 부분을 작성하지 않고도 똑같이 그리셨더라구요! 교재 코드에 해당 부분이 있는 이유가 궁금해 여쭤봅니다! 감사합니다 :)
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
switch문강의에서 Swich4에서 ;이 왜 들어가나요
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기서는 switch문 닫는중괄호에 ;을 넣지 않았는데 여기에는 ; 이 왜 들어가는 건가요?
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
안녕하세요. 강의 연장 신청 문의드립니다
안녕하세요 교수님현재 spark advanced 까지 진도 나갔으나 아쉽게도 수강기한이 거의 끝나서나머지 강의 수강을 위해 구글폼으로 연장 신청했습니다강의 연장 가능할까요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
데이터베이스 삭제후 nullable false일떄 에러 발생하지 않습니다.
DB도 지우고, 강의 그대로 코드도 동일하나 nullable이 에러가 발생하지 않습니다. 아래 질문하고 동일한 현상이 발생합니다!
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
10:26 popitem() 질문입니다
argument가 필요한 pop(arg)와 달리 popitem()는 변수 없이 무작위로 key 하나를 pop 한다고 하셨는데요. 아무리 돌려봐도 무작위가 아니라 맨 마지막에 선언한 key부터 차례대로 pop 하는 것 같습니다. dictionary는 순서가 없는 자료형이라 key 간 순서가 있는 것 같진 않은데 제일 마지막에 선언한 key부터 pop되는게 맞나요? 코드 아래 첨부드립니다.----------- # Chapter03-5 # Python Dictionary # 범용적으로 가장 많이 사용 # 순서x, 키 중복x, 수정o, 삭제 o # 선언. 중괄호 사용 a = {'name': 'Kim', 'phone': '01033337777', 'birth':'870514'} # 중괄호 + 키 + : + 값. 키는 int등 다른 자료형도 가능 b = {0: 'Hello Phtyon'} # 키는 숫자도 가능 c = {'arr': [1, 2, 3, 4]} # 값 역시 리스트 등 어떤 자료형도 가능 d = { 'Name' : 'Niceman', 'City' : 'Seoul', 'Age' : 33, 'Grade':'A', 'Status': True } # 가독성 좋게 보통 이렇게 많이 선언함. e = dict([ ('Name', 'Niceman'), ('City', 'Seoul'), ('Age', 33), ('Grade', 'A'), ('Status',True) ]) # 사실 이게 가장 정석임. dict 명령어 안에 list 안에 튜플. 어려워서 많이 쓰진 않지만 정석코드 선호하는 사람은 씀 f = dict( Name = 'Niceman', City = 'Seoul', Age = 33, Grade = 'A', Status = True ) # e의 개선형. 이걸 d와 더불어 가장 많이 사용함. 이거로 선언하는 습관 들이는게 좋음. print('a - ', type(a), a) print('b - ', type(b), b) print('c - ', type(c), c) print('d - ', type(d), d) print('e - ', type(e), e) print('f - ', type(f), f) print('>>>>>>') # 출력 print('a - ', a['name']) # 직접 key로 접근. 존재하지 않는 key를 가져오려하면 error print('a - ', a.get('name1')) # get 명령어로 접근. key로 접근하는 방식과 달리, 없는 key도 None으로 가져오므로 안정적. 많이 씀. print('b - ', b[0]) print('b - ', b.get(0)) print('f - ', f.get('City')) print('f - ', f.get('Age')) print('>>>>>') # 추가 a['address'] = 'seoul' print(a.get('address')) print(a['address']) a['rank'] = [1, 2, 3] print(a) print(len(a)) # key의 갯수 print(len(b)) print('>>>>') # 함수 : dict_keys, dict_values, dict_items : 반복문에서 사용 가능 print('a - ', a.keys()) # value는 무관. key만 가져옴 print('a - keys list', list(a.keys())) # key를 list 형태로 반환 print('b - ', b.keys()) print('c - ', c.keys()) print() print('a - ', a.values()) # value만 반환 print('b - ', b.values()) print() print('a - ', a.items()) # key-value가 튜플 형태로 한쌍으로 묶여서 리스트로 반환. 정석대로 선언할 때처럼 key-value 튜플 형태로 반환되는거임. print('a - items list', list(a.items())) # list로 형변환 print() print('a - ', a.pop('name')) # pop : 꺼내서 반환 후 원래 리스트에서는 삭제 print('a - after pop', a) print('c - ', c.pop('arr')) print('c - after pop', c) # 빈 dict print() print('f - ', f.popitem()) # popitem : 이름 지정 안해도 자동으로 뒤부터? 랜덤으로? pop print('f - after popitem', f) print('f - ',f.popitem()) print('f - after popitem', f) print('f - ',f.popitem()) print('f - after popitem', f) print('a - ', a.popitem()) print('a - after popitem', a) print('a - ', a.popitem()) print('a - after popitem', a) print('a - ', a.popitem()) print('a - after popitem', a)
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
레퍼지토리 주입 기준이 궁금합니다.
안녕하세요.개인프로젝트하면서 필요한부분들 다시 보는중인데 궁금한점이 생겨서 질문드립니다. 이전 1:1 관계등록 API 강의에서는 상품판매위치 레퍼지토리를 상품의 service에서 주입받지 않고 따로 service를 만들어서 거기서 주입받고 해당 로직을 처리했었습니다.검증로직을 통일시키기 위해서라고 하셨는데, 이번 강의에서는 포인트 레퍼지토리가 주입되어있는 상태에서 추가적으로 유저 레퍼지토리를 주입받아서 유저정보를 가져오시는데, 차이나 기준이 궁금합니다. 더불어 나중 강의인 트랜젝션에서도 현재 주입받은 유저 레퍼지토리를 기준으로 진행되는데, 만약 레퍼지토리를 service별로 분리해야된다면, 쿼리러너를 해당 service로 던졌다가 받던지, 아니면 해당 service에서 xxRepository.create()로 만든걸 받던지 하는 식으로 해야할듯 싶은데 그런 불편함보다는 그냥 한곳에서 처리하는게 낫지 않나 하는 생각이 들기도합니다. 그래서 트랜젝션 사용할때의 레퍼지토리 기준과 만약 service별로 나뉘게 된다면 사용 방법이 궁금합니다. 마지막으로 제가 트렌젝션을 써봤는데, 다른 테이블의 레퍼지토리를 한 개의 service에서 레퍼지토리 주입은 안받고, 모듈에서만 import의 TypeOrmModule.forFreature([]) 부분에 넣어줘도 잘 동작하던데 이렇게 써도 되는게 맞는지 궁금합니다. 혹시 몰라 아래에 해당 코드 첨부해봅니다.// restAPI입니다. // auth.module.ts import { Module } from '@nestjs/common'; import { AuthController } from './auth.controller'; import { AuthService } from './auth.service'; import { UsersService } from '../02.Users/users.service'; import { TypeOrmModule } from '@nestjs/typeorm'; import { User } from '../02.Users/entities/users.entity'; import { Auth } from './entities/auth.entity'; @Module({ imports: [TypeOrmModule.forFeature([Auth, User])], controllers: [AuthController], providers: [AuthService], }) export class AuthModule {} // auth.service.ts import { BadRequestException, ConflictException, Injectable, InternalServerErrorException, } from '@nestjs/common'; import { UsersService } from '../02.Users/users.service'; import { InjectRepository } from '@nestjs/typeorm'; import { Auth } from './entities/auth.entity'; import { DataSource, Repository } from 'typeorm'; import { ConfigService } from '@nestjs/config'; import * as bcrypt from 'bcrypt'; import { IAuthServiceCheckInput, IAuthServiceCreate, IAuthServiceLogin, } from './interfaces/auth-service.interface'; import { User } from '../02.Users/entities/users.entity'; @Injectable() export class AuthService { constructor( @InjectRepository(Auth) private readonly authRepository: Repository<Auth>, private readonly configService: ConfigService, private readonly dataSource: DataSource, ) {} // 생략 async create({ createUserInput }: IAuthServiceCreate): Promise<User> { const { user_id, user_pw, id, ...userData } = createUserInput; const { user_email, user_nick } = userData; if (!id) { const checkUserInput = { user_id, user_email, user_nick }; await this.checkUser({ checkUserInput }); } const queryRunner = this.dataSource.createQueryRunner(); await queryRunner.connect(); await queryRunner.startTransaction(); try { const user = await queryRunner.manager.save( User, id ? { id: id, ...userData } : userData, ); const hashedPw = await this.hashPw({ user_pw }); await queryRunner.manager.save(Auth, { user_id, user_pw: hashedPw, user, }); await queryRunner.commitTransaction(); return user; } catch (error) { await queryRunner.rollbackTransaction(); throw new InternalServerErrorException('회원 가입 실패(DB)'); } finally { queryRunner.release(); } } // 생략
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
MVC 프레임워크 만들기-유연한 컨트롤러1 - v5 질문있습니다.
MVC 프레임워크 만들기-유연한 컨트롤러1 - v5 28분49초 위 사진처럼 get뒤에 url주소가 어떻게 호출되는건가요? put주소를 틀린거를 줬는데요.
-
미해결파이썬 Streamlit 활용한 웹 자동화 업무, 데이터 검색 및 시각화
강의 자료는 어떻게 볼 수 있어요?
강의 자료 링크를 눌러도 어떤 링크도 보이지를 않는데 어떻게 볼 수 있나요?
-
미해결스프링 핵심 원리 - 기본편
TestBean 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]ApplicationContext ac = new AnnotationConfigApplicationContext(TestBean.class); 이 부분에서 TestBean.class이 클래스에는 @Configuration, @Bean도 없음으로 설정정보로 쓰이는게 아니라 그냥 단순히 빈으로만 등록된다는건가요?
-
미해결실전! Querydsl
buildtool
springboot 3.2부터 build and run 두 가지를 전부 gradle로 해야 한다 하셨는데, 예전 강의에서는 intellij 로 선택하라 하셨던게 기억나서 여쭤봅니다. 어떤게 바뀌어서 gradle을 고르라 하셨나요?
-
미해결
미디어쿼리 적용이 안되서 질문드립니다.
안녕하세요. 아래 미디어쿼리가 적용이 안되어서 질문드립니다. 제가 어떤 실수를 한 걸까요?ㅠ
-
해결됨김영한의 실전 자바 - 중급 1편
문제 풀이 1-1 문제 질문이요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]문제를 풀긴 해서 답이 나오긴 했는데.답안 풀이를 보니 코드를 이런식 으로도 작성해도 되는지모르겠더라고요.한번에 값을 넣어봣는데.. (생각이 안나서, 어찌 저찌 하다가 하니 이렇게 되었는데)이런 식으로 코드를 해도 되는건가요?
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
3.:43 초 때부터 잘 안되는 것 같습니다...
코드도 정확히 다 따라했는데도 결과랑 다르게 나오네요 3:43초 쯔음에 소문자 대문자 구분 말 나오면서 뭔가 잘 안되고 있습니다 ㅠ
-
해결됨김영한의 실전 자바 - 중급 1편
섹션3. String
여기서 원래 charArr을 출력하면 배열의 참조값이 나와야하는 거라고 생각했는데 왜 hello가 나오는 건가요?int, String 배열을 출력하면 참조값이 나오는데 char만 뭔가 다른게 있는건가요?public static void main(String[] args) { char[] charArr = new char[] {'h', 'e', 'l', 'l', 'o'}; System.out.println(charArr); int[] i = new int[] {1, 2, 3}; System.out.println(i); } -실행 결과 hello [I@7cc355be
-
해결됨스프링 시큐리티 완전 정복 [6.x 개정판]
http 파일이 잘 안 먹힐 때
### 로그인 POST http://localhost:8080/login Content-Type: application/json { "username": "user", "password": "1111" } > {% client.global.set("JSESSIONID", response.headers.valueOf("Set-Cookie").split(";")[0].split("=")[1]) %} ### 루트 접속 GET http://localhost:8080/ Accept: application/json Cookie: JSESSIONID={{JSESSIONID}}강의에서 설명하신 대로 따라해봤는데 http 파일이 잘 작동하지 않는 문제가 있었습니다.이 부분이 잘 안 먹혀서 찾아봤는데 인프런 현재 CTO이신 '향로'님 블로그쪽에 이 내용이 정리가 되어 있는 것을 확인할 수 있었습니다.- https://jojoldu.tistory.com/366> {% %} 를 http 파일에 작성하고, 이 사이에서 응답이 온 데이터를 전역변수로 저장해둘 수 있습니다.이후 로그인할 때 Cookie: JSESSIONID={{JSESSIONID}} 와 같이 전역변수에서 꺼내서 사용하면 명시적으로 쿠키를 지정해서 전달할 수 있어서 작동이 잘 됩니다.