묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
예제문제가 안보입니다.
예제문제 폴더를 다운 받아도 문제가 보이지 않습니다. 이메일로 따로 보내 주실 수 있을까요? zz12xx12c12@naver.com입니다!
-
미해결윤재성의 Kotlin 기반 안드로이드 앱 개발 Part4 - 실전 프로젝트
오류 좀 봐주세요. ':app:debugCompileClasPath';
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. splash 화면을 추가하는 과정에서 부터 오류메세지가 괴롭히네요. 구글 지도 사용하기 과정에서 발생했습니다. 구글 API 가져오기까지는 잘 되는 것 같았으나 맵이 보이지 않았습니다. 뭔가 잘못했나 싶어 처음부터 다시 해보자는 심정으로 프로젝트 만드는 것 부터 해봤습니다. 각 단계별로 실행해보면서 체크했는데요. 첨부된 에러 메세지 때문에 진행이 안되네요. 3번 프로젝트를 지우고(폴더 삭제) 새로 만들어서 해보지만 splash화면 만들기에서 넘어가질 못하고 있습니다. 내용을 좀 읽어보면 환경 설정이나 버전 문제 인것 같은데요. 알 수가 없네요. 도움 부탁드립니다.
-
미해결코딩으로 학습하는 GoF의 디자인 패턴
ioc 컨테이너이의 singleton scope를 무너뜨리는 방법
(IoC 컨테이너는 ApplicationContext를 사용해서 bean을 관리하는걸로 아는데 그럼 강의해서 설명해주신 ApplicationContext를 이용한 spring에서 사용되는 예제가 같다고 생각해서 IoC 컨테이너로 워딩 하였습니다.) IoC 컨테이너의 기본 scope가 singleton scope인걸 학습했었는데 IoC 컨테이너를 사용하더라도 다른 hash 값을 가진 인스턴스를 뽑아낼 수 있다고 언급하셨는데 어떻게 다른 인스턴스를 뽑아내는건가요?
-
해결됨Slack 클론 코딩[백엔드 with NestJS + TypeORM]
데코레이터의 인자로 클래스내의 프로퍼티 혹은 메서드등을 this로 전달할 수 없나요?
안녕하세요 조현영님. 이번에는 데코레이터에 this를 전달하려는데 this에 빨간줄에러가 나서 문의드립니다. 이미지 업로드등을 하기 위해서 아래처럼 MulterProvider라는 provider를 만들고 해당 모듈에 provider에 넣어주었습니다. // multer.provider.ts import { Injectable, Logger } from "@nestjs/common"; import { MulterOptions } from "@nestjs/platform-express/multer/interfaces/multer-options.interface"; import * as fs from "fs"; import * as path from "path"; import * as multer from "multer"; @Injectable() export class MulterProvider { private readonly logger = new Logger("Multer"); createFolder(folder1: string, folder2: string) { try { this.logger.log("create uploads folder"); fs.mkdirSync(path.join(__dirname, "../../../uploads")); } catch (err) { this.logger.log("uploads folder is already exist"); } try { this.logger.log(`create ${folder1}folder into uploads foler`); fs.mkdirSync(path.join(__dirname, `../../../uploads/${folder1}`)); } catch (err) { this.logger.log(`${folder1} is already exist`); } try { this.logger.log(`create ${folder2}folder into uploads folder`); fs.mkdirSync(path.join(__dirname, `../../../uploads/${folder2}`)); } catch (err) { this.logger.log(`${folder2} is already exist`); } } storage(folder1: string, folder2: string): multer.StorageEngine { this.createFolder(folder1, folder2); return multer.diskStorage({ destination(req, file, cb) { if (file.mimetype.includes("image")) { const folderName = path.join( __dirname, `../../../uploads/${folder1}`, ); cb(null, folderName); } else { const folderName = path.join( __dirname, `../../../uploads/${folder2}`, ); cb(null, folderName); } }, filename(req, file, cb) { const ext: string = path.extname(file.originalname); const fileName = `${path.basename( file.originalname, ext, )}-${Date.now()}${ext}`; cb(null, fileName); }, }); } apply(folder1: string, folder2: string) { const result: MulterOptions = { storage: this.storage(folder1, folder2), }; return result; } } // upload.module.ts import { MulterProvider } from "src/model/upload/multer.provider"; import { TypeOrmModule } from "@nestjs/typeorm"; import { Module } from "@nestjs/common"; import { UploadService } from "../upload/services/upload.service"; import { UploadController } from "../upload/controllers/upload.controller"; import { ImagesEntity, VideosEntity } from "./entities/upload.entity"; import { UploadRepository } from "./upload.repository"; @Module({ imports: [TypeOrmModule.forFeature([ImagesEntity, VideosEntity])], controllers: [UploadController], providers: [UploadService, UploadRepository, MulterProvider], exports: [UploadRepository], }) export class UploadModule {} 그리고 이미지를 업로드 할 컨트롤러에 MulterProvider를 적용시키기 위해 아래 처럼하였습니다. @Controller("upload") export class UploadController { constructor( private readonly uploadService: UploadService, private readonly multerProvider: MulterProvider, ) {} @UseInterceptors( FileInterceptor("image", this.multerProvider.apply("image", "video")), ) 이 때 FileInterceptor() 함수의 this가 들어간 인자가 빨간색 에러가 뜨며 에러 내용은 개체가 'undefined'인거 같습니다 라고 뜹니다. 위 예시를 di하지 않고 this.multerProvider 대신 new를 사용해 클래스를 초기화 한다면 정상작동 하기는 합니다. 어찌보면 FileInterceptor에 this로 된 인자를 전달해서 데코레이터에 인자로 준거랑은 다른 맥락인거 같아서 아래처럼 테스트를 해봤는데 this에 '개체가 'undefined'인거 같습니다'라는 에러가 나는 것은 똑같습니다. private readonly te = "hello"; @Get(this.te) test() { return "hello" }
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
질문있습니다
아직 수업을 다들은게 아니지만 제가 이 보일러플레이트를 통해 홈페이지를 만들어 배포를 하고싶다면 혹시 어떻게 해야할까요???
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
MemberRepository 구현 시, findAll() 메서드 질문 드립니다.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용] public List<Member> findAll() { return new ArrayList<>(store.values()); } store에 있는 값을 전체 조회하는 부분에서 new ArrayList<>(); 를 해주었는데이 이유가 반환값에 컬렉션이다 보니 store.values()를 반환하게 되면findAll() 메서드를 호출하는 곳에서 store의 데이터 조작이 가능하기 때문인게 맞을까요??맞다면 findAll() 메서드 외에도 다른 경우에도 리턴값을 줄때 변경이 불가능하도록 new를 통해 새로운 객체를 리턴해주던지 dto와 같은 객체를 통해서 리턴을 해주어 변경에 닫혀있도록 구현해주는 것이 좋은 구현인지 궁금합니다
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
@Transactional, public 제어자 질문입니다.
안녕하세요, 강사님. 해당 강의 관련 질문이 있어 질문드립니다. 1. 해당 강의 마지막 부분에서 'public이 아닌 곳에 @Transactional이 붙어있는 경우 예외가 발생하지 않고 트랜잭션 적용만 무시된다.'를 설명해주셨는데요, 이 말이 '@Transactional을 '비즈니스 시작점(외부 트랜잭션)'에 걸 때 그 메서드의 제어자가 private일 경우 예외가 발생하지 않고 트랜잭션 적용이 무시된다.'를 말씀하시는 것인가요? 즉, 내부 트랜잭션은 제어자가 어떻든 관련이 없다인가요? 아래 질문부터는 1번 질문이 맞다고 가정하고 질문드립니다. 예를 들어, 한 클래스 내에 다음의 3개 메서드가 있고, A 메서드(public, @Transactional 붙음) B, C 메서드(모두 private) A 메서드 내에 B와 C 메서드를 각각 호출하는 로직이 존재하고, C 메서드 내에 B 메서드를 호출하는 로직이 존재한다고 할 경우 2. A메서드가 비즈니스 로직의 시작점이기 때문에 B, C 메서드가 기존의 트랜잭션에 참여하는 형태를 가진다고 봐도 될까요? 3. B와 C 메서드 사이에 호출이 일어나게 되는 경우 이미 논리적으로 하나의 트랜잭션(A, B, C)에 속해있기 때문에 B와 C의 제어자를 private으로 그대로 두어도 괜찮을까요? 4. 호출 관계가 복잡해 함수를 각각의 클래스로 나눈다면, 기존의 B, C 함수(이제는 클래스)를 다룰 때는 @Transactional을 어떻게 적용해야 할까요? 저는 비즈니스 시작점인 A 클래스에 @Transactional을 남기고, B, C 클래스에는 두 클래스 사이에 호출이 일어나기에 @Transactional(REQUIRES_NEW) 옵션을 주는 식으로 작성했는데요, 이미 논리적으로 하나의 트랜잭션으로 묶여있는데 굳이 REQUIRES_NEW 옵션을 주는 건 트랜잭션을 과도하게 설정한 것이 아닌가 생각하게 되어 해당 질문을 남기게 되었습니다.
-
해결됨스프링 핵심 원리 - 기본편
스프링 핵심원리 -기본편(주문과 할인 도메인 개발) 관련
안녕하세요, 스프링 핵심원리 -기본편(주문할인 도메인 개발) 수강중에 궁금해서 남겨봅니다. 아래의 코드에서 멤버 변수를 final로 선언 하는 이유가 무엇인지 궁금합니다. 자바에서 final은 변하지 않는값, 상수로 알고 있는데 저기서 final로 멤버변수를 설정한 이유가 있는것 일까요? public class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository = new MemoryMemberRepository(); private final DiscountPolicy discountPolicy = new FixDiscountPolicy(); @Override public Order createOrder(Long memberId, String itemName, int itemPrice) { Member member = memberRepository.findById(memberId); discountPolicy.discount(member, itemPrice); int discountPrice = discountPolicy.discount(member, itemPrice); return new Order(memberId, itemName, itemPrice, discountPrice); }}
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이렇게도 풀어봤어요 :)
function solution(arr){ let answer=[]; let max = 0 let randomPick = [] while (max !== 100) { const random = Math.floor(Math.random() * arr.length); if (randomPick.findIndex((item) => item === random) === -1) { randomPick.push(random) max += arr[random] answer.push(arr[random]) } if (randomPick.length === arr.length) { if (max === 100) { break; } max = 0 randomPick = [] answer = [] } } return answer; } let arr=[20, 7, 23, 19, 10, 15, 25, 8, 13]; console.log(solution(arr));
-
미해결데이터 분석 SQL Fundamentals
성능과 관련된 강의 계획은 없으신가요?
성능과 관련된 강의 계획은 없으신가요? 인덱스, 힌트, 조인 방식 등과 같은 주제의 강의 계획은 없으신지 궁금합니다. 강사님 강의중에 오라클 아키텍쳐 관련 강의가 있는데 그 사이에 성능 관련 강의가 있으면 정말 풀코스(?) 일 것 같다는 생각과 아쉬움이 남습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
다른 질문이지만, 한 가지 여쭤보겠습니다!
강의보며 따라하다가, Define 클래스에 있는 enum을 유니티에서 '없다고 오류처리' 해버려서 철자가 틀린 줄 알고 엄청 찾아 헤맸습니다.. 물론 비주얼 스튜디오는 오류가 없다고 떠서 엄청 고생했어요 ㅠㅠ 그런데 유니티를 껐다가 켜보니 똑같은 코드인데, 이번에는 정상 실행 되더군요;;;;;; 이런식으로 완벽한 코드인데도 유니티가 오류처리를 할 수 있나요?
-
미해결C# 윈폼_ 응용프로그램 개발(.NetFramework)
8강 디버그 수강 중입니다. 클래스 다이어 그램 질문드립니다.
8강 디버그 수강 중입니다. 클래스 다이어 그램 설치 방법을 공유 부탁드립니다.
-
미해결실전! 스프링 데이터 JPA
페이징 slice관련
slice나 page 일단 page는그래도 예제로보여주셨는데slice는 구글링해도 예제도없고 그런데 어디서볼수있는게있을까요 콘솔이나 테스트코드에서말고 뷰단까지의 더보기버튼같은 까지의 어떻게 구현이되는지 알고싶습니다
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
강의 이후 코드를 살펴보다 궁금한 점이 있습니다.
안녕하세요, 강의 이후 작성된 코드를 돌려보다 궁금한 점이 있어 질문드립니다. 현재 이 강의만 따라왔을때, 실제로 주문을 한 뒤에 member, order, item, order_item 테이블에 데이터가 입력되도록 하려면 4개의 엔티티를 모두 객체 생성한 뒤에 영속화를 하는게 맞는지, 혹은 제가 강의의 양방향 연관관계를 잘 이해하지 못한것인지 궁금합니다. 메인메서드에 작성한 코드는 다음과 같습니다. addOrderItem 메서드는 다음과 같습니다. 현재 강의 내용만으로 봤을때, 4개의 엔티티를 모두 직접 객체 생성 후 영속화를 해야만 데이터가 제대로 들어가는게 맞는지 리뷰 한번해주시면 감사하겠습니다 :)
-
미해결엑셀 매크로와 VBA 기초부터 실무활용까지 완전 정복
Rows와 EntireRow
2-2 고객사 실습 중 코드에서 필요없는 코드를 지우는 연습하는 중에 ActiveCell.Offset(-2, 0).Rows("1:3").EntireRow.Select EntireRow를 지워도 되지 않을까 해서 지웠더니, 기존과 다르게 동작합니다. 이전 강의에서 Rows("1:3")과 EntireRow는 동일한 것으로 배웠는데, 이부분에서는 어떠한 차이점이 있는지 잘 이해가 되지 않습니다. 답변 주시면 감사하겠습니다.
-
미해결배달앱 클론코딩 [with React Native]
ios simulator tmap setup 관련
안녕하세요 강의 잘 보고 있는 수강생입니다. 현재 rn 0.68.2v 을 사용하면서 graddle version issue인지, 혹은 개발환경 세팅 issue인지는 모르겠으나 안드로이드에서 gradle build 관련하여 문제가 있어 ios만 실습중입니다. ios simulator에서는 별도로 앱스토어 접속하여 타 앱을 설치하는 것이 불가능한 것으로 알고 있는데, TMap 연동 강의와 Mac ch5 세팅 영상을 보아도 ios 시뮬에서 Tmap 앱을 설치하시는 모습이 안나와서 혹시나 시뮬에서는 구현이 안되고 실제 디바이스로 진행을 해야하는 지 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
교안 21쪽의 예제 질문 있습니다.
안녕하세요 큰돌님 교안 21쪽에 scanf로 받기 에서 예제로 나온 문제에서 cin >> n >> m; 이부분에 대한 변수 선언이 없는것 같은데 예제가 맞는건가요? #include<bits/stdc++.h> using namespace std; int a[10][10]; int main() { cin >> n >> m; for(int i=0; i<n; i++) { for(int j = 0; j < m; j++) { scanf("%1d", &a[i][j]); } } return 0; } 그리고 밑에 eof 이용한 예제인 while (scanf("%d", &n) != EOF) while (cin >> n) 이거랑 while(!cin.eof()) { cin >> n; } 이거랑 비슷한 방법인가요? 밑에 코드는 입력이 되는데 엔터 후에도 계속되더가 ctrl+z 누르면 종료가 되는데 교재에 나와 있는 코드는 그냥 엔터 누르면 멈춰 버리는 것 같아서 여쭤봅니다.
-
미해결배달앱 클론코딩 [with React Native]
응용 프로그램이 예기치 않게 종료되었습니다.
buttons.tsx 컴포넌트로 따로 분리해서 사용중입니다. interface Props { name: string; color: string; hasMarginRight?: boolean; onPress?: any; } function TransparentCircleButton({ name, color, hasMarginRight, onPress, }: Props) { return ( <View style={[styles.iconButtonWrapper, hasMarginRight && styles.marginRight]}> <Pressable style={({pressed}) => [ styles.iconButton, Platform.OS === 'ios' && pressed && { backgroundColor: '#efefef', }, ]} onPress={onPress} android_ripple={{color: '#ededde'}}> <Icon name={name} size={24} color={color} /> </Pressable> </View> ); } 다른 화면에는 해당 컴포넌트를 사용해도 문제 없이 잘 작동하는데 이상하게 한 페이지에서만 해당 컴포넌트 사용시 응용프로그램이 예기치 않게 종료되었습니다. 라고 떠서 어떻게 찾아야할지도 모르겠습니다...
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
통계성 데이터 조회
안녕하세요. 강사님 실무에서 통계성 데이터는 어떻게 처리하는지 궁금합니다. 통계성이면.. 객체가 연관관계가 없을 수도 있을 것이고, 대량의 데이터를 조회하기도 할 것 같은데 best practice나 권장 구현 방안이 있다면 설명 부탁드립니다.
-
미해결최고의 프론트엔드 CSS Frameworks, UIkit
안녕하세요
해당 강의 아직 완강은 못했지만 필요한 부분 잘 듣고 바로 적용해서 깔끔한 홈페이지 하나 만들었었습니다 요즘은 Tailwind 프레임워크가 핫하던데 이것도 강의 해주시면 안될까요