묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결인공지능 기초수학
강의교안 업로드 또는 메일부탁드립니다
안녕하세요 강의교안 메일부탁드립니다 출력해서 듣고 직접 써야 학습효과가 높을것 같습니다 yjsy0418@gmail.com 입니다 감사합니다 강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
-
미해결윤재성의 Kotlin 기반 안드로이드 앱 개발 Part 3 - 데이터관리와 네트워크
42강 앨범에서 사진 가져오기 질문
//선택할 파일의 타입을 저정(안드로이 os가 사전작업을 할 수 있도록) -> 이부분이 어떤 의미인가요? 위에서 albumIntent.type = "image/* 이렇게 했는데 아래에서 다시 image/* 해주는 이유가 궁금합니다.
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
Node.js 교과서
안녕하세요 제로초님 Node.js 교과서를 사서 열심히 수업을 듣고 있는 한 학생입니다! 다름이 아니고 유튜브를보며 노드교과서 개정판 4-5. 쿠키 이해하기에서 코드 질문이 있어서 여쭤보러 왔습니다. 이것은 되는 코드이고 const parseCookies = (cookie = '') => cookie .split(';') .map(v => v.split('=')) .reduce((acc, [k,v]) => { acc[k.trim()] = decodeURIComponent(v) return acc; }, {}); 이것은 안되는 코드입니다. const parseCookies = (cookie = '') => { cookie .split(';') .map(v => v.split('=')) .reduce((acc, [k,v]) => { acc[k.trim()] = decodeURIComponent(v) return acc; }, {}); }; 둘의 차이점은 함수를 {} 로 감싸냐 안감싸냐의 차이인데 화살표함수에서 중괄호는 선택사항이라고 배웠습니다. 만약 아래 코드를 사용하게 되면 (node:9452) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'name' of undefined at Server.<anonymous> (C:\Users\ksy\Desktop\Node.js\ch04\ex03\cookie2.js:30:22) at Server.emit (events.js:315:20) at parserOnIncoming (_http_server.js:874:12) at HTTPParser.parserOnHeadersComplete (_http_common.js:126:17) (Use `node --trace-warnings ...` to show where the warning was created) (node:9452) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:9452) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. 라는 에러가 뜹니다. 함수를 제대로 사용하지 못해서 그런거 같은데 왜 중괄호를 붙이면 함수가 실행이 안되는건지 궁금합니다
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
두 번째 계정 만들기
결제할 카드 사진을 보냈습니다. 같은 이름으로된 다른 계정을 만들면 거절될 수 있나요? 된다면 세팅을 p100과 (base)만 하면되고 여태까지 했던 다운로드는 안받아도 되나요?
-
미해결스프링 시큐리티
안녕하세요. 현재 로그인한 사용자 정보 가져오는것에 대한 질문입니다.
@GetMapping("/mypage")public String myPage(Model model, Authentication authentication) throws Exception { AccountContext ac = (AccountContext) authentication.getPrincipal(); model.addAttribute("info", ac.getUsername()); return "user/mypage";}바로 전 강의에서는 이 코드가 정상적으로 실행 됐는데,이번 강의에서 추가적인 작업을 한 뒤에는 error page가 나옵니다.. 혹시 이유와 어떻게 고쳐야하는지 알 수 있을까요???
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
jpa @Table indexes 에 대해서 질문드립니다.
@Table 어노테이션을 보던중에 indexes 라는 프로퍼티를 발견해서 보니 인텍스를 설정하는 속성이라고 하던데 이 속성을 넣어주면 index table이 제가 정의해준 인덱스 테이블과 디비에서 기본으로 제공해주는 인덱스 테이블 2개가 생기는건가요? 아니면 이 속성을 넣어주면 db defult인덱스 테이블이 안만들어 지나요? 그리고 h2 에서 show index from {table 이름} 했을 때 신텍스 에러가 뜨는데 h2는 index 확인하는 방법이 뭐가 있을까요?
-
해결됨뉴욕 프로덕트 디자이너가 알려주는, 입문자를 위한 UX디자인 개론
좋은 UX와 나쁜 UX 찾기 과제
플랫폼 자체가 2단 띄어쓰기가 잘 안되네요ㅠ 행간 차이를 명확하게 주려고 했는데 불가능하니 되도록 이미지를 다운받아서 봐주시길 바랍니다.좋은 UX, 나쁜 UX 찾기 나쁜 UX의 예: 콜로소콜로소는 온라인 클래스 사이트이다. 이 사이트에서 겪은 자질구레한 불편은 많은데 특히, 이 이벤트 페이지의 UX 리디자인이 필요해보인다. 1. 콘텐츠(강의)가 중심이 되는 플랫폼에서 콘텐츠가 1순위 위계가 아니다. 온라인 클래스 플랫폼은 콘텐츠가 제 1순위 정보이다. 그런데 할인 버튼에 너무나 강한 강조가 들어가 강의의 제목이 잘 보이지 않는다. 제목 부근에 스페이싱을 넉넉하게 줘서 눈에라도 잘 띄게 했으면 좋았을 것 같다. '4만원 추가할인 받기', '6만원 추가할인 받기'에 상대적으로 채도가 강한 색이 2개나 들어가 정신이 없다. (심지어 주황색 백그라운드에 빨간색으로 '2만원 추가할인받기'라고 써져있어 가시성마저 좋지 않은 버튼도 있었다.) 2. 4만원을 할인 받으면, 전체 비용에서 얼마를 할인 받는거지? 120만원 짜리 노트북을 사는데 4만원 할인이면 크게 느껴지지 않으나 8만원 짜리 제품을 사는데 4만원 할인이면 크게 느껴지는 법이다. 저 강의들의 정가에서 도대체 어느정도 할인을 해주는 건지, 좋은 조건인지 한 번에 이해되지 않는다. 즉 설레지 않는다. 몇 % 할인이라던가, 정가를 회색 글씨에 밑금 긋고 할인가격에 하이러라키를 주는 식으로 바꿀 필요가 있어보인다. 3. 컨셉 모델간에도 카테고리가 통일되어 있지 않다. 현 UI는 우측 상단의 '이벤트' 탭을 눌렀을 때의 화면이다. 우측 상단 카테고리 탭에서 강의들을 브라우징 했을 땐 '영상 디자인'이라고 분류되어 있는데 이벤트 페이지에는 '모션 그래픽/VFX'로 분류되어 있었다. 이 두 개가 다른 카테고리의 강의인지 왔다갔다 하면서 비교해보는 불필요한 수고가 더 들었다.컨셉모델 간의 불일치로 멘탈 모델까지 혼란을 겪은 것이다. 4. 개별 강의의 제목을 알 수 없다. 이 상품들은 기본적으로 '세트상품'이다.두 강사의 개별 강의를 한 번에 싸게 구입할 수 있는 상품인 것이다. 처음엔 별 무리없이 세트상품인 것처럼 생각했지만 클릭을 해봐도 개별 강의라는 힌트가 없었다! 그래서 두 사람이 협동으로 만든 새로운 강의인가? 저분들의 개별강의 2개를 샀을때와 다른 구성의 강의들로 이루어져 있는건가? 등으로 고민하다가 QnA로 질문하기도 했다. 유저가 바로 지갑을 열려는 타이밍에 브레이크가 걸린 것이다. 좀 더 명징하게 1+1 구성이라는 것을 밝혀야 한다. 5. 설레지 않는다. 이 모든 점이 합쳐져서 즉, 설레지않는다. 타 온라인 클래스 사이트인 클래스 101를 보면 콜로소처럼 모든걸 볼드한 글씨로 강조한 것도 아닌데 좀 더 쉽게 정보를 파악할 수 있고, 이 강의가 얼마나 할인이 되는지, 할인 마감시간은 언제까지인지, 얼마나 많은 학생들의 관심을 받고 있는지를 알 수 있다. 좋은 UX의 예 핀터레스트 아티스트, 디자이너들이 가장 많이 사용하는 레퍼런스 수집 사이트이다. 애용하는 사이트이기도 하고 최근 그루핑을 수정하는 것이 매우 쉬워졌다는 것을 체감하고 있어서 좋은 UX 사례로 꼽았다. (하지만 필자는 나쁜 UX는 어느정도 강하게 캐치할 수 있는데 좋은 UX라고 강하게 느껴지는 경우는 별로 없었다.) (https://www.pinterest.co.kr/) 1. 내 취향의 이미지들을 손쉽게 받을 수 있다. 핀터레스트에서 제공하는 이미지들은 내가 원하는 주제와 관련성이 매우 높아 시간가는줄 모르고 빠져들때가 많다. 원하는 주제에 대해 느슨하게 방대한 레퍼런스를 얻고 싶으면 핀터레스트만한게 없다. 2. 남의 보드를 쉽게 팔로잉하거나 가져올 수 있다. 새로 원하는 주제에 대해서 아주 방대하게 자료를 체계적으로 쌓아온 다른 사용자를 발견할 때가 있다. 그런 귀한 보드를 클릭 한 번으로 내 보드에 추가할 수 있다. 또한 그 사용자의 다른 보드들도 열람하면서 목적이랑은 다르지만 좋은 보드들도 추가할 수도 있다. 3. 구글 플러그인으로 타 사이트에서 원하는 이미지를 쉽게 다운로드 받을 수 있다. 핀터레스트 플러그인2)을 알고나서 내 레퍼런스 수집 방식은 완전히 달라졌다.. 너무 간편하고 쉽다! 원래 마우스 오른쪽 버튼을 막아놓은 페이지들은 캡쳐를 하는 식으로 따로 저장을 하기도 했는데 번거로운 작업과정이 줄어들었다.
-
리액트로 나만의 블로그 만들기(MERN Stack)
10강 포스트맨이 에러나옵니다
삭제된 글입니다
-
미해결풀스택을 위한 탄탄한 프런트엔드 부트캠프 (HTML, CSS, 바닐라 자바스크립트 + ES6) [풀스택 Part2]
main-container margin-top: 60px; 관련
header 부분이 fixed로 인해 띄어 있는 것을 감안하여 main-container에 margin 값을 60px로 주셨는데 main 에 60px을 줘도 상관 없는건가요? 테스트 결과 다른게 없어서 굳이 main-container에 주신 이유가 있을지요 ~? - 모던 웹페이지 만들기5 15:44초 구간입니다.
-
미해결홍정모의 따라하며 배우는 C++
PoweredDevice(power) 생성자는 왜 호출해주나요?
virtual 키워드를 붙인다음에 PoweredDevice(power) 생성자는 왜 넣어주는지 잘 모르겠습니다. 강의내용에서도 그냥 붙여준다고만 나와서요
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
enum타입 변경시 질문이 있습니다..!
안녕하세요 강사님~ 값타입을 사용하는 예제를 연습해보다 궁금한게 생겨서 질문드립니다. 예를들어 public enum Role { GUEST } 이렇게 값 타입을 활용해서 db에 다 저장되어있다가 GUEST -> NORMAL으로 인스턴스명을 변경하려고하면 db에 GUEST로 남아있는 db들은 다 벌크해줘야 하는 건가요??
-
미해결단 두 장의 문서로 데이터 분석과 시각화 뽀개기
코로나 확진자 수 크롤링
현재 서울시 코로나 확진자 수를 확인해보면 1~10000명, 10000~ 현재로 구분되어있습니다. 이것을 한꺼번에 할 수는 없나요?
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
7분 48초 static
7분 48초 정도에 app.use('/', express.static(__dirname, 'public')) 이 줄을 쳤을대, 강의 영상 아래에 [nodemon] app crashed - waiting for file changes before starting... 라 에러가 떠있던데... 제 로컬에서도 강의영상처럼 에러가 떠서.. 혹시 어떻게 해결해야하려나요..?
-
미해결홍정모의 따라하며 배우는 C언어
14:15 부분 질문 있습니다
float(*pa)[4]; -> 4개의 float를 가진 배열에 대한 포인터 '1개' float* ap[2]; -> float '포인터를 2개' 가진 배열 printf("%u %u\n", (unsigned)pa, (unsigned)(pa + 1)); -> pa는 단순히 포인터이므로 주소 자체를 대입-> arr2d[0] , arr2d[1]의 주소 출력 printf("%u %u\n", (unsigned)ap, (unsigned)(ap + 1)); -> ap는 포인터의 배열, 배열의 이름은 배열의 시작 주소를 의미 -> ap[0], ap[1]의 주소(포인터 변수의 주소) 출력 제가 이해한 게 맞나요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
안녕하세요
안녕하세요 궁금한게있는데 1분50분쯤이 이야기해주신 jar파일만 서버에서 돌리면 된다고 말씀하셨는데 서버에 아무것도 안깔고 jar 파일만 복사해서 사용해도 되는건가요 아니면 자바, 인텔리제이 등등은 깔고 jar파일을 실행시켜야하는건가요
-
스프링 핵심 원리 - 기본편
안녕하세요. 강사님
삭제된 글입니다
-
미해결홍정모의 따라하며 배우는 C언어
scanf 입력 질문드립니다
int c = 'A'; printf("%c", c); printf("%d",c); 위 printf 문 실행 결과로 'A'와 65가 정상적으로 출력됩니다. 그러나, scanf("%c",&c); 로 입력을 받으면 제 생각에는 A를 입력하면 %c 가 A를 받고, 이는 내부적을 65의 형태로 저장이 되어 변수 c에 65를 저장하고, 작은 char 자료형을 큰 int 자료형에 담았으니 문제가 없을거라 생각했습니다. 혹은 scanf("%d",&c); 로 입력을 받았을 때, 'A'가 %d를 만나 65로 바뀌어서 c 에 저장될 것이라고 생각했고, 위 두가지 경우 모두 printf 문의 형식지정자에 따라 65 혹은 'A' 로 다시 출력할 것으로 예상하였는데 전혀 다른 값이 출력되고 있습니다. 잘못된 이해가 있다면 바로잡아주시면 학습에 도움이 될 것 같습니다. 감사합니다!
-
미해결커피 한 잔으로 입문하는 Convolutional Neural Network
tf.keras.models.load_model () 함수 질문
model.save('경로') 를 통해 학습시킨 모델을 저장하는 것은 작동이 잘 되는 것을 확인했습니다만... 이미 저장되어 있는 모델을 load_model()함수를 통해 불러오기 할 때 아래와 같은 ValueError 가 발생하는 이유가 무엇인지 알수 있을지요? 아무래 해봐도 저는 아래와 같은 예외가 발생하면서 불러오기가 실패합니다. 구글 검색을 하다보면 Input shape 을 설정해 주면 해결된다는 답글이 있는 것도 같은데 subclassing 으로 모델 정의할 때 각 layer 별로 Input shape 을 계산해서 넣어주어야지만 load_model 기능을 사용할 수 있는건 아닐것 같은데... 답답하네요~~ 제가 GTX970 으로 GPU 텐서플로우를 돌리려 하다보니 최신 버전은 GPU 가 안먹혀서 tensorflow 2.1 / CUDA10.1 을 설치해서 실습 따라오고 있었는데.... 혹시 tensorflow 나 CUDA버전에 따른 차이인 것일지요? ValueError: Could not find matching function to call loaded from the SavedModel. Got: Positional arguments (2 total): * Tensor("x:0", shape=(None, 28, 28, 1), dtype=float32) * Tensor("training:0", shape=(), dtype=bool) Keyword arguments: {} Expected these arguments to match one of the following 4 option(s): Option 1: Positional arguments (2 total): * TensorSpec(shape=(None, 28, 28, 1), dtype=tf.float32, name='x') * False Keyword arguments: {} Option 2: Positional arguments (2 total): * TensorSpec(shape=(None, 28, 28, 1), dtype=tf.float32, name='x') * True Keyword arguments: {} Option 3: Positional arguments (2 total): * TensorSpec(shape=(None, 28, 28, 1), dtype=tf.float32, name='input_1') * True Keyword arguments: {} Option 4: Positional arguments (2 total): * TensorSpec(shape=(None, 28, 28, 1), dtype=tf.float32, name='input_1') * False Keyword arguments: {}===== 아래는 full code 입니다. ==== import numpy as np import matplotlib.pyplot as plt from termcolor import colored import tensorflow as tf import tensorflow_datasets as tfds from tensorflow.keras.models import Model, Sequential from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense, Activation, Dropout from tensorflow.keras.losses import SparseCategoricalCrossentropy from tensorflow.keras.optimizers import Adam, SGD from tensorflow.keras.metrics import Mean, SparseCategoricalAccuracy # from utils.learning_env_setting import dir_setting, get_classification_matrics, save_metics_model, continue_setting # data pre processing def get_mnist_dataset_and_normalize(ratio, n_batch_train, n_batch_test): def normalization(images, labels): images = tf.cast(images, tf.float32)/255 labels = tf.cast(labels, tf.int32) return images, labels (train_validation_ds, test_ds), ds_info = tfds.load(name='mnist', as_supervised = True, shuffle_files = True, with_info = True, split = ['train', 'test']) n_train_validation = ds_info.splits['train'].num_examples n_train = int(ratio * n_train_validation) n_validation = n_train_validation - n_train train_ds = train_validation_ds.take(n_train) validation_ds = train_validation_ds.skip(n_train) train_ds = train_ds.map(normalization).shuffle(n_train).batch(n_batch_train) validation_ds = validation_ds.map(normalization).batch(n_batch_train) test_ds = test_ds.map(normalization).batch(n_batch_test) return train_ds, validation_ds, test_ds class CNN_Model(Model): def __init__(self): super(CNN_Model, self).__init__() # feature extractor self.conv1 = Conv2D(filters=8, kernel_size=5, padding='same', activation='relu') self.conv1_maxpool = MaxPooling2D(pool_size=2, strides=2) self.conv2 = Conv2D(filters=8, kernel_size=5, padding='same', activation='relu') self.conv2_maxpool = MaxPooling2D(pool_size=2, strides=2) # Classifier self.flatten = Flatten() self.dense1 = Dense(units=64, activation='relu') self.dense1_dropout = Dropout(0.5) self.dense2 = Dense(units=10, activation='softmax') def call(self, x): x = self.conv1(x) x = self.conv1_maxpool(x) x = self.conv2(x) x = self.conv2_maxpool(x) x = self.flatten(x) x = self.dense1(x) x = self.dense2(x) return x @tf.function def trainer(): global model, loss_object, loss_train, acc_train, optimizer for images, labels in train_ds: with tf.GradientTape() as tape: predictions = model(images) loss = loss_object(labels, predictions) gradients = tape.gradient(loss, model.trainable_variables) optimizer.apply_gradients(zip(gradients, model.trainable_variables)) loss_train(loss) acc_train(labels, predictions) @tf.function def validation(): global model, loss_object, loss_validation, acc_validation for images, labels in validation_ds: predictions = model(images) loss = loss_object(labels, predictions) loss_validation(loss) acc_validation(labels, predictions) @tf.function def tester(): global model, loss_object, loss_test, acc_test for images, labels in test_ds: predictions = model(images) loss = loss_object(labels, predictions) loss_test(loss) acc_test(labels, predictions) EPOCHS = 10 n_batch_train = 32 n_batch_test = 128 ratio = 0.8 train_ds, validation_ds, test_ds = get_mnist_dataset_and_normalize(ratio, n_batch_train, n_batch_test) model = CNN_Model() model.compile(optimizer='adam',loss = 'sparse_categorical_crossentropy', metrics =['accuracy']) history = model.fit(train_ds, validation_data=validation_ds, epochs=EPOCHS) loss_object = SparseCategoricalCrossentropy() loss_test = Mean() acc_test = SparseCategoricalAccuracy() def tester(): global model, loss_object, loss_test, acc_test for images, labels in test_ds: predictions = model(images) loss = loss_object(labels, predictions) loss_test(loss) acc_test(labels, predictions) tester() print(colored('TEST','cyan','on_white')) print("Test Loss : {:.4f} / Test Accuracy : {:.2f}".format(loss_test.result(), acc_test.result()*100)) model.save('MyModel') model1 = tf.keras.models.load_model('MyModel') def tester(): global model1, loss_object, loss_test, acc_test for images, labels in test_ds: predictions = model1(images) loss = loss_object(labels, predictions) loss_test(loss) acc_test(labels, predictions) tester() print(colored('TEST','cyan','on_white')) print("Test Loss : {:.4f} / Test Accuracy : {:.2f}".format(loss_test.result(), acc_test.result()*100))
-
해결됨프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
script 3.18.1을 찾을 수가 없어요 ㅠㅠ
밑의 사진처럼 강사님께서 설치하시라고 하는 script를 찾을 수 가없습니다 ㅠㅠ 어떻게 해야하나요?
-
미해결홍정모의 따라하며 배우는 C언어
마지막 예제 질문있습니다!!
안녕하세요 홍정모 교수님!! 질문이 있어서 여쭤봅니다. #define SIZE 5 int main() { int my_arr[SIZE]; int sum = 0; printf("Enter 5 numbers : "); for (int i = 0; i < SIZE; ++i) { scanf("%d", &my_arr[i]); sum += my_arr[i]; } printf("Sum = %d", sum); return 0; } 제가 구현한 코드입니다. 불드친 부분을 제가 my_arr 로 했을때는 sum의 값이 이상하게 출력이 되는데, 그 이유를 알고 싶습니다!! 강의에서는 &my_arr[i]와 my_arr를 같이 써도 무방하다고 하셨다고 제가 이해를 했습니다만, 어디가 어떻게 잘못되었는지 궁금합니다. 항상 좋은 강의 감사드립니다.