묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결PWA 시작하기 - 웹 기술로 앱을 만들자
서비스워커 배경 > '문제' 링크 없는 문제
해당 '서비스 워커 배경' 강의 들어보면 '문제'에 대한 링크가 있다고 하시는데, 아래에 링크가 보이지 않습니다.링크가 어디 있는지 알려주시면 감사하겠습니다.감사합니다.
-
미해결쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
vagrant up 수행 후에 sysnet4admin/CentOS-k8s could not be found 로 error 발생
실습 환경을 위한 설치 과정중에 cmd 화면에서 vagrant up 을 수행하였으나 아래와 같이 디렉토리 내 설정파일에 선언된 OS 정보를 불러오지 못해 에러가 발생하는 것 같습니다.추가 설정이 더 필요한게 있는지 아니면 어떤 이유로 발생하는지 궁금합니다.기존에 vm들은 사용하고 있던 상태였고, virtual box 만 버전업(5.0 -> 7.0) 한 상태로 실습 환경을 셋팅했습니다.vagrant 2.4.1vitual box 7.0
-
미해결리눅스 입문 - 개념으로 탄탄히!!
우분투설치관련 버튼노출이 안돼요ㅠ
안녕하세요. 리눅스 처음 공부하는 리눅스 입문자인데 VB는 7버전이고 우분투는 20.04버전입니다.. 22버전으로 하다가 실행이 안되길래 다른 댓글들 보고 20버전으로 하면 괜찮다고 하여 20버전으로 수정했습니다. 설치중 버튼이 안나와서 설치를 진행하기가 어렵네요 ,, vmware로 갈아타야할까요
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
세그먼트 생성 예시 재설명부탁드립니다.
안녕하세요, 강사님! 강의 항상 잘 듣고있습니다ㅎㅎ세그먼트 생성 관련 내용에서 잠깐 언급하고 지나가신 예제가 있는데, 이부분 실제 적용 방법이 궁금해서 문의드립니다! *강의 예제 내용)'특정제품에 구매를 한사람들' <-- 해당 세그먼트를 구하기위해서는 '구매자'조건에 '해당 제품에 해당하는 매개변수를 걸어야함(예를들면 A라는 제품을 구매한 사람들을 구하고싶다면, A제품 페이지타이틀을 확인해서 매개변수로 넣으면됨)상기 내용으로 간략하게 이야기 해주셨는데요! page_title을 사용해서 A제품의 페이지명을 넣고+교집합으로 purchase를 활용하여 구매자를 넣는 세그먼트를 만든다면, 결국 [A제품페이지를 본 유저 중 구매자]를 구하게 되는 것같아서요. 제가 뭔가 내용을 잘못 이해한 것같은데, 설명 한번 부탁드리겠습니다!
-
해결됨Flutter 앱 개발 실전
Flutter 빌드 범위
안녕하세요 flutter 개발을 수행하려고합니다.flutter로 강의를 들어보면서 build를 수행해보니 궁금한 점이 하나 있습니다.macos 환경에서 사용할 애플리케이션을 만들려면 macPC에서만 빌드를 할 수 있나요? window 환경에서는 macos 애플리케이션이 빌드 바이너리 생성이 불가능한지 궁금합니다. 반대로 window환경에서 사용할 애플리케이션을 만들려면 windowPC에서만 빌드를 할 수 있나요?만약 된다면 둘을 한번에 shall script 배치 등을 통해 아웃풋으로 각각의 환경의 애플리케이션을 만들 수 있는게 가능한지 궁금합니다.아직 관련 프로젝트 경험이 많지않아 문의 드려봅니다
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
메서드 - 문제와풀이2 예제
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.package method.ex;import java.util.Scanner;public class MethodEx4 {public static void main(String[] args) {int balance = 0;Scanner scanner = new Scanner(System.in);System.out.println("---------------------------------------");System.out.println("1. 입금 | 2. 출금 | 3. 잔액 확인 | 4. 종료");System.out.println("---------------------------------------"); while (true) {System.out.print("선택: ");int choice = scanner.nextInt();switch (choice) {case 1:case 2:case 3:case 4:System.out.println("시스템을 종료합니다."); return;}}}해당 코드에서 switch문 4를 선택해도 return으로 main 메서드가 즉시 종료되지 않고, ---------------------------------------1. 입금 | 2. 출금 | 3. 잔액 확인 | 4. 종료---------------------------------------가 반복 출력되는 이유는 무엇일까요? 해당 코드가 반복문도 아닌데 계속 반복되는 이유와,4를 입력해도 코드가 즉시 종료되지 않는 이유가 궁금합니다.해당 반복출력되는 부분을 while문 안에 넣어주니 4 입력시 코드가 즉시 종료되는데, 왜 이런 차이가 발생하는지 잘 모르겠습니다. 답변 부탁드립니다. 감사합니다.
-
해결됨Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
개인 깃허브
안녕하세요 수업 잘듣고있는 초급개발자입니다~ 제가 따라치면서 공부하는걸좋아하는데 공부한걸 기록하는 의미로개인 깃허브에 수업하신부분을 클론코딩으로 올려도 상관없을까요?
-
해결됨[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
scrollController 관련 에러입니다.
이런 식으로에러가 발생하는데 이유를 모르겠네요;;강사님 깃 들어가서 코드 비교해보기도 하고 에러를 검색해보기도 했는데 아직 해결하지 못했습니다ㅠ 아래는 코드 전문입니다.import 'package:dusty_dust/component/category_card.dart'; import 'package:dusty_dust/component/hourly_card.dart'; import 'package:dusty_dust/component/main_app_bar.dart'; import 'package:dusty_dust/component/main_drawer.dart'; import 'package:dusty_dust/model/stat_and_status_model.dart'; import 'package:dusty_dust/model/stat_model.dart'; import 'package:dusty_dust/repository/stat_repository.dart'; import 'package:dusty_dust/utils/data_utils.dart'; import 'package:flutter/material.dart'; import '../const/regions.dart'; class HomeScreen extends StatefulWidget { HomeScreen({super.key}); @override State<HomeScreen> createState() => _HomeScreenState(); } class _HomeScreenState extends State<HomeScreen> { String region = regions[0]; bool isExpanded = true; ScrollController scrollController = ScrollController(); @override initState() { super.initState(); scrollController.addListener(scrollController); } @override dispose() { scrollController.removeListener(scrollController); scrollController.dispose(); super.dispose(); } Future<Map<ItemCode, List<StatModel>>> fetchData() async { Map<ItemCode, List<StatModel>> stats = {}; List<Future> futures = []; for (ItemCode itemCode in ItemCode.values) { futures.add( StatRepository.fetchData( itemCode: itemCode, ), ); } final results = await Future.wait(futures); for (int i = 0; i < results.length; i++) { final key = ItemCode.values[i]; final value = results[i]; stats.addAll({ key: value, }); } return stats; } scrollListener() { bool isExpanded = scrollController.offset < 500 - kToolbarHeight; if (isExpanded != this.isExpanded) { setState(() { this.isExpanded = isExpanded; }); } } @override Widget build(BuildContext context) { return Scaffold( drawer: MainDrawer( selectedRegion: region, onRegionTap: (String region) { setState(() { this.region = region; }); Navigator.of(context).pop(); }, ), body: FutureBuilder<Map<ItemCode, List<StatModel>>>( future: fetchData(), builder: (context, snapshot) { if (snapshot.hasError) { return Center( child: Text('에러가 있습니다.'), ); } if (!snapshot.hasData) { return Center( child: CircularProgressIndicator(), ); } Map<ItemCode, List<StatModel>> stats = snapshot.data!; StatModel pm10RecentStat = stats[ItemCode.PM10]![0]; // 미세먼지 최근 데이터의 현재 상태 final status = DataUtils.getStatusFromItemCodeAndValue( value: pm10RecentStat.seoul, itemCode: ItemCode.PM10, ); final ssModel = stats.keys.map((key) { final value = stats[key]!; final stat = value[0]; return StatAndStatusModel( itemCode: key, status: DataUtils.getStatusFromItemCodeAndValue( value: stat.getLevelFromRegion(region), itemCode: key, ), stat: stat, ); }).toList(); return Container( color: status.primaryColor, child: CustomScrollView( controller: scrollController, slivers: [ MainAppBar( region: region, stat: pm10RecentStat, status: status, dateTime: pm10RecentStat.dataTime, isExpanded: true, ), SliverToBoxAdapter( child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ CategoryCard( region: region, models: ssModel, darkColor: status.darkColor, lightColor: status.lightColor, ), const SizedBox( height: 16.0, ), ...stats.keys.map((itemCode) { final stat = stats[itemCode]!; return Padding( padding: const EdgeInsets.only(bottom: 16.0), child: HourlyCard( darkColor: status.darkColor, lightColor: status.lightColor, category: DataUtils.getItemCodeKrString(itemCode: itemCode), stats: stat, region: region, ), ); }).toList(), ], ), ) ], ), ); }), ); } }
-
미해결코틀린 문법부터 실무까지 (실전 자바->코틀린 변환)
서비스, 컨트롤러 질문입니다.
1. 컨트롤러를 변환후 test실행했는데요.com.makers.princemaker.exception.PrinceMakerException: 해당되는 왕자님이 안계십니다.at com.makers.princemaker.controller.PrinceMakerController.getPrinces(PrinceMakerController.kt:31) ~[main/:na] 31번째 라인 소스입니다.@get:GetMapping("/princes") val princes: List<PrinceDto> get() = princeMakerService.allPrince 오류메세지를 자세히 보니 수업시간에 말씀하신부분인거 같은데 정확하게 어딘지 못찾겠네요... ERROR 68014 --- [ Test worker] c.m.p.e.PrinceMakerExceptionHandler : url: /create-prince, message: Validation failed for argument [0] in public com.makers.princemaker.dto.CreatePrince$Response com.makers.princemaker.controller.PrinceMakerController.createPrince(com.makers.princemaker.dto.CreatePrince$Request): [Field error in object 'request' on field 'experienceYears': rejected value [null]; codes [NotNull.request.experienceYears,NotNull.experienceYears,NotNull.java.lang.Integer,NotNull]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [request.experienceYears,experienceYears]; arguments []; default message [experienceYears]]; default message [must not be null]] 컨트롤러 변환이후 서비스에서 WoundedPrinceRepository해당 파라미터가 not-null인데 null로 설정되어있다고 오류메시지가 나와서 서비스 상단 생성자 부분을 아래와 같이 수정했더니 오류가 사라졌는데 맞게 수정한걸까요?class PrinceMakerService ( private val princeRepository: PrinceRepository, private val woundedPrinceRepository: WoundedPrinceRepository? )
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
프로젝트 생성후 빌드시 에러 발생
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]처음 프로젝트를 생성 후 빌드 했는데 에러가 발생하네요JDK버전을 맞춰주라고 해서 맞췄는데도 에러가 있네요에러 사진 첨부합니다.
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
안녕하세요 교수님
'Dense Layer로 Fashion MNIST 예측 모델 구현하기 - 이미지 데이터 확인 및 사전 데이터 처리' 강의코드중 궁금한 내용이 있어 질문드립니다.train_images[0, :, :] 코드를 사용하셨는데 train_images[0]이 아닌 이미지 인덱스에 전체 행과 열을 불러오는 부분을 추가하신 특별한 이유가 있을까요?
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
강의 잘듣고 디테일을 좀 수정해보고 싶은게 있어서 힌트좀 주시면 감사하겠습니다
1. ContentListActivity 관련해서 응용해보고 싶은게 있습니다! val database = Firebase.database val category = intent.getStringExtra("category") // 받은 카테고리 val 값 when (category) { "category1" -> { myRef = database.getReference("contents") } "category2" -> { myRef = database.getReference("contents2") } "category3" -> { myRef = database.getReference("contents3") } "category4" -> { myRef = database.getReference("contents4") } "category5" -> { myRef = database.getReference("contents5") } "category6" -> { myRef = database.getReference("contents6") } "category7" -> { myRef = database.getReference("contents7") } "category8" -> { myRef = database.getReference("contents8") } }이런식으로 강의내용에 추가해서 카테고리를 여러개 추가했는데요tip의 category1 이미지가 ALL입니다. 그래서 ALL에는 category2 부터 category8까지의 이미지가 모두 랜더링 됐으면 합니다. getReference에는 복수의 path를 넣을수 없게끔 되어있고 독스에 가서 읽어봐도 관련된 내용은 찾지못해서 어떻게 하는게 좋을지 잘 모르겠어서 글을 남깁니다.2. 댓글쓸때 title, time 만 랜더링되게끔 만들고싶은데 content도 같이 랜더링됩니다. 이걸 어떻게 해야 삭제할수있을까요?
-
해결됨[2025 리뉴얼]플러터플로우로 코딩 없이 한달 안에 앱 만들기
섹션2.1부 프로필 완성하기 selected reference to update 에 authenticated User 에 설정 질문
"섹션2.1부 프로필 완성하기" 수강중아래 이미지와 같이 selected reference to update 에 authenticated User 에 설정을 하려하는데알려준 항목이 없고, 선택이 되지 않습니다. 다른 source를 찾아봐도 알려준 항목이 없는데 왜 그런걸까요?이부분 설정이 안되어서 계속 에러로 남아서 run도 되지 않습니다. 어떤부분을 봐야할까요?
-
미해결데이터 분석 SQL Fundamentals
데이터베이스 연결시 오류가 발생합니다
안녕하세요. 오랜만에 디비버를 실행시켰더니 계속 위와같은 오류가 발생합니다.디비버와 포스트그레 재설치를 반복하고 방화벽에 추가해 보아도 같은 현상이 발생하네요..구글링을 해보아도 해결책을 찾지 못하겠습니다. 도와주십시오..!
-
미해결스프링 핵심 원리 - 기본편
DIP구현 중, AOP과의 이슈가 발생하여 질문 드립니다
안녕하세요! 알려주신 내용을 바탕으로 제 개인프로젝트에 적용해서 리팩토링을 해보고있는데요! DIP를 위배하지않기위해@Getter @Configuration public class IamportConfig {@Value("${secret.sec.key}")private String secretKey ;@Value("${api.api.key}")private String apiKey ;@Bean public IamportClient iamportClient(){ return new IamportClient(apiKey, secretKey); } }이런식으로 IamportConfig를 선언해서 주입을 해주었고실제 코드에는private final PurchaseService purchaseService;private final ItemService itemService;private final IamportClient iamportClient;private final RedissonClient redissonClient;private final JwtUtil jwtUtil;private final IamportConfig iamportConfig;이렇게 선언했습니다!이후 @PostMapping("/api/payment/cancel") private boolean cancelPayment(@RequestBody RefundRequestDto refundRequestDto) throws JsonProcessingException { RestTemplate restTemplate = new RestTemplate(); String url = "https://api.iamport.kr/payments/cancel"; // 요청 파라미터 설정 MultiValueMap<String, String> formData = new LinkedMultiValueMap<>(); formData.add("impUid", refundRequestDto.imp_uid()); formData.add("checksum", String.valueOf(refundRequestDto.checksum())); formData.add("reason", refundRequestDto.reason()); // 요청 헤더 설정 HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); String token = getAccessToken(new PaymentRequestDto.getToken(iamportConfig.getApiKey(), iamportConfig.getSecretKey())); headers.set("Authorization", "Bearer " + token); // 요청 객체 생성 HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(formData, headers); // 요청 보내기 ResponseEntity<String> response = restTemplate.postForEntity(url, requestEntity, String.class); // 응답 처리 if (response.getStatusCode() == HttpStatus.OK) { // 각 아이템에 대해 수량 롤백 진행 purchaseService.rollbackItemsQuantity(refundRequestDto.imp_uid()); // 주문 상태 변경 purchaseService.ChangeStatusToCancelled(refundRequestDto.imp_uid()); return true; } else { return false; } } 이런 코드를 사용하는과정에서 String token = getAccessToken(new PaymentRequestDto.getToken(iamportConfig.getApiKey(), iamportConfig.getSecretKey()));이부분의 iamportConfig 가 null로 나오는 문제가 발생했습니다.다방면으로 답을 찾아보다가 AOP를 전부 주석처리하니까 해결되더라구요. 그래서 AOP의 적용범위에서 해당 컨트롤러를 제외시켰는데 해결이 되었습니다.이를통해 좀 알아보니까 AOP가 실행되는 시점은 새로운 PaymentRequestDto 인스턴스가 생성되기 전 이므로AOP 프록시 객체가 cancelPayment를 감쌀때 PaymentRequestDto는 null이게 된다.(AOP 로직이 @Value로 주입된 프로퍼티 값에 접근하기 전에 실행되어 값을 정상적으로 참조할 수 없는 상황이 발생)라는 결론에 다다르게 되었는데, 제가 잘 이해한게 맞을까요?...!
-
미해결[게임 프로그래머 도약반] DirectX11 입문
상수버퍼도 공용적으로 사용하는게 좋나요?
공통적인 상수버퍼를 셰이더마다 생성하는것이 아니고리소스매니저처럼 따로 상수버퍼를 만들어놓고 받아와서 사용하는 식으로 해도 되나요?
-
미해결김영한의 실전 자바 - 기본편
상속
public class cd{public int amt ;........... } public class ab extends cd{public int count ;public void method(){count += amt ;}이 상황에서 class ab 는 cd 의 instance variable 인 amt 를 자유자재로 쓸 수 있나요? 그렇다면 위와 같이 그냥 amt 만 써야 하나요?마찬가지로 이 아래 BankAccount class 의 private double balance 가 아니라 public double balance 였다면 Checking class 에서 만약 withdraw method 를 public void withdraw{transcations ++ ;balance = balance + amt ; } 라고 해도 되는건가요 ?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
controllerV1 사용이유
질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]V3까지 공부하다가 너무 헷갈려서 다시 V1으로 와서 공부하고있습니다. 3분 30초 쯤에 ControllerV1 즉 interface를 사용하는 이유를 들어도 너무 헷갈립니다.각각의 컨트롤러는 인터페이스를 의존하고 프론트컨트롤러는 인터페이스를 통해 request, response를 넘겨주면서 각각의 컨트롤러가 받는 형식으로 생각하고 있었습니다. 근데 정작 왜 사용하는지 제대로 이해를 못하고있는 것 같아 질문드립니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
MethodEx4 지역변수 선언 관련 질문
[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요. 공부하는 도중에 질문이 있어서 남깁니다.1. 왜 balance 지역변수는 메인 메서드 범위 내에 선언을 하고 0으로 초기화를 하였는지 왜 amount 지역변수는 while문 범위 내에 선언을 하고 초기화를 하지 않았는지초기화값을 줄 때와 주지 않을 때의 상황이 따로 있는것인지 위에 3가지가 궁금합니다. 이미 여러 예제들을 통해 제가 작성한 코드와 강사님이 작성하신 코드를 비교해봤을 때, 발생한 공통된 질문들입니다.감사합니다.
-
해결됨스프링 핵심 원리 - 기본편
스프링 빈 상속 관계에서 6분쯤 라이브코딩하는데
강사님과 똑같이 쳤는데 빨간줄이 뜨네요 뭐가 문제일까요?