묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
print 출력
선생님처럼 깔끔하게 괄호 안에 있는 부분만 뜨는 게 아니라 저 파란 줄로 길게 뜨는 건 왜 그런 건가요? 어떻게 하면 없앨 수 있나요?
-
미해결비전공 기획자 및 관리자를 위한 IT 필수 지식
강의 교안 요청
안녕하세요. 강의 교안 요청 드립니다.siwoobyeol@kakao.com입니다
-
미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
196. subquery로 풀 때, 궁금한 점
수업내용은 이해했습니다. 그래서 196번을 서브쿼리로 다시 풀어봤어요. DELETEFROM personWHERE id NOT IN( SELECT MIN(p.id) FROM person p GROUP BY p.email ) 에러가 나서 강사님 풀이와 비교해서 차이점은 찾았어요. 제가 생각해본 코드로 풀면 왜 에러가 날까요?다시한 번 SELECT/FROM으로 감싸줘야하는? 이유가 궁금해요. 이해가 안되면, 다음에도 이렇게 코드 짤 것 같아서 여쭤봅니다!
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
SQL과 파이어베이스
저희가 만들고자 하는 앱에서 SQL과 파이어베이스 어떤차이입니까?만들려고 하는 앱 성격에 따라 데이터베이스가 달라지나요?
-
해결됨[UI3 업데이트] 피그마 배리어블을 활용한 디자인 시스템 구축하기
브랜드컬러, 시스템컬러 정의 방법 궁금합니다!
브랜드 컬러, 시스템 컬러 정의 관련 질문 있습니다!컬러 스타일을 등록하기 전에 브랜드 컬러와 시스템 컬러 색을 정하는 부분이 어렵게 느껴집니다! 브랜드 컬러와 시스템 컬러를 정하는 노하우를가 있을까요?브랜드 컬러는 기존 로고 컬러 톤이 어두워서 웹에서만 채도를 조절해서 좀 더 밝게 정했는데요! 어느 정도까지 조절할지 기준을 정하거나, 시스템 컬러를 같이 도출하는 과정이 아직 어렵습니다ㅠㅠ강사님의 조언 부탁드립니다!
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
ip header 강의
이전 강의들은 쭈욱 이어지는 느낌을 받았는데 ip header 강의는 갑자기 시작하는 느낌이 강하게 들고 그냥 와다다다 알려주고 넘어가시는 느낌이 들어서 아쉽습니다.. 그냥 넘어가도 되는 부분일까요?
-
미해결지금 당장 NodeJS 백엔드 개발 [사주 만세력]
docker containers failed connect
docker 설치를 했는데,containers를 보면 failed to connect라고 나옵니다.
-
미해결지금 당장 NodeJS 백엔드 개발 [사주 만세력]
MySQL Workbench 접속 연결 에러
아래 팝업 화면으로 계속 에러가 나고 있습니다.Failed to connect to MySQL at 127.0.0.1:3309 with user rootunable to connect to 127.0.0.1:3309
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
VS 툴팁 이전/다음 단축키 질문드립니다.
루키스님 안녕하세요?VS 단축키가 궁금해서 질문 올립니다.강의 10:56초툴팁 확인할 때 다음/이전 단축키가 무엇인가요?tab은 될때 있고 안될 때 있는 것 같아서요위아래 화살표는 자동완성 따라가서 잘 안되는 것 같아요.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
인수 전달 관련 질문 있습니다!!
안녕하세요 선생님 강의 잘 듣고 있습니다!강의 초반에 bool[] visited를 클래스 내에서 필드로 선언할 수도 있지만, SearchAll 메서드 내에서 선언해서 DFS에 인수로 넘겨줄 수도 있다고 하셨는데요 이 때 ref 키워드를 쓰지 않았는데도 visited가 참조로 넘어가는 이유가배열 자체가 참조 형식이기 때문이 맞나욤? 만약 맞다면 배열이 아니라 int같은 값 형식을 메서드 내에서 선언해서 다른 메서드에 참조로 전달하려는 경우에는 ref를 써야하는 게 맞을까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-L 1940 주몽 질문있습니다!!
안녕하세요 선생님.이 문제를 맵을 이용해 풀어보려고 했는데요.692 7 4 1 5 3예시가 이렇게 들어올 때 mp[2]=7, mp[7]=2, mp[4]=5 ..... 이런 식으로 저장한 후에 맵을 순회하며 그 해당 요소의 value 값과 똑같은 key의 값이 0이 아니라면 ret을 1 증가시키고 짝이 맞는 key값들은 삭제하는 로직으로 짜봤습니다.예시는 맞지만 틀립니다.궁금한 점은 1.맵을 순회하면서 맵의 요소를 erase하면 문제가 생기는지(디버깅을 해보니 제가 원하는 방식과 다르게 작동하더라구요)2.조건에 맞는 요소들을 안전하게 제거하면서 맵을 순회할수 있는 방법이 있는지입니다.http://boj.kr/8d1b67b0e4c64c5ba02d48e5a656025c
-
해결됨모두의 깃 & 깃허브
rebase할때 충돌나서 소스가 날라가면
이 수업 듣기전에 rebase했는데 충돌나서작업했던게 날라갔던적이 있는데요 이때 사실 제대로 분석을 못하고 간단한 소스라 다시 개발하고 말았습니다. 충돌나서 날아가게된다면 어떻게 하면 살릴 방법이 있을지궁금합니다
-
미해결홍정모의 따라하며 배우는 C++
맥북 visual studio code 에서 헤더파일은 어떻게 만드나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. visual studio code에서는 헤더파일을 어떻게 만드나요?
-
미해결홍정모의 따라하며 배우는 C++
맥북 visual studio code 링킹
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 말씀해주신대로 g++ add.cpp main.cppclang++ add.cpp main.cpp 2가지 다 해도 안됩니다.... 어떻게 해야할까요?윈도우 노트북을 사야할까요?공부하고 싶은데 맥북 visual studio code로는 따라가기가 너무 힘드네요....
-
미해결김영한의 실전 자바 - 기본편
여러 생성자가 있을 때, this()의 역할
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요! 영한님 강의 너무 잘 보고 있습니다!생성자 강의를 듣고 있다가 this()에 관한 걸 배웠을 때, 이런 질문이 떠 올랐습니다. this()는 어떤 클래스의 생성자를 사용하고 싶을 때 사용하는 것이라고 했는데, 만약 오버로딩으로 만든 생성자가 3개 이상일 때, this()는 그 생성자들 중에서 어떤 것을 가리키는 걸까? 에 대한 의문이 생겼습니다. 제가 직접 IDE에서 실험을 했을 땐, this()에 어떤 파라미터를 사용하느냐에 따라, 해당 파라미터와 같은 생성자가 사용되는 것 같은 결과가 나왔습니다.그렇다면 this()에 대해, this() 안에 파라미터와 같은 생성자가 호출된다고 생각해도 되는 걸까요?
-
해결됨처음 만난 리액트(React)
useRef가 잘 이해되지 않습니다.
useRef() Hook의 다음 코드에서 질문이 있습니다.useRef는 DOM에 접근하기 위해 사용하는 Hook으로 이해하면 될까요?예시 코드에서 <input type="text" ref={inputElem} />inputElem을 해당 input태그에 접근하기 위해 useRef를 사용하는 것이 맞나요?useRef() Hook이 데이터 변경을 감지하지 못해서 HTML 코드에 있는 ref의 변경을 감지할 수 있는 useCallback() Hook을 대신 사용하는게 맞나요?그럼 useCallback을 useRef를 대체하여 사용가능한 건가요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
이 풀이는 어떤가요?
package hash; import java.util.HashMap; import java.util.Scanner; public class Anagram { public static String solution(String str, String str2) { String result = "YES"; HashMap<Character, Integer> map = new HashMap<>(); for(char ch : str.toCharArray()) { map.put(ch, map.getOrDefault(ch, 0)+1); } for(char ch : str2.toCharArray()) { map.put(ch, map.getOrDefault(ch, 0)-1); } for(char ch : map.keySet()) { if(map.get(ch) != 0) { result = "NO"; break; } } return result; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next(); String str2 = sc.next(); System.out.println(Anagram.solution(str, str2)); } }str, str2 둘다 같은 Map을 써서 str에 +1, str2에 -1 해주어서 0이 아닐시 NO를 반환하게 코딩하였습니다. 답은 맞게 나오는데 허점? 이 있나 궁금하여 글 남깁니다.
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
회원 저장인데 201 Created가 아닌 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]아래 사진의 경우 회원 저장을 하는 상황인데응답 메시지가 201 Created가 아닌 이유가 뭔가요? 201 Created를 하기에 적절하지 않는 경우인지,아니면 201 Created를 해도 되는 상황이 맞지만, 그냥 200 OK로 한 건지 궁금합니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberServiceTest 중 MemberService NullpointException
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.MemberServiceTest 중 하기 에러가 발생합니다. java.lang.NullPointerException: Cannot invoke "jpabook.jpashop.service.MemberService.join(jpabook.jpashop.domain.Member)" because "this.memberService" is null at jpabook.jpashop.service.MemberServiceTest.join(MemberServiceTest.java:27) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42) at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80) at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86) at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89) at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94) at jdk.proxy1/jdk.proxy1.$Proxy2.stop(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65) at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) MemberServicepackage jpabook.jpashop.service; import java.util.List; import jpabook.jpashop.domain.Member; import jpabook.jpashop.repository.MemberRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @Service @Transactional @RequiredArgsConstructor public class MemberService { private final MemberRepository memberRepository; /** * 회원 가입 */ public Long join(Member member) { validateDuplicateMember(member); // 중복 회원 검증 memberRepository.save(member); return member.getId(); } private void validateDuplicateMember(Member member) { List<Member> findMembers = memberRepository.findByName(member.getName()); if (!findMembers.isEmpty()) { throw new IllegalStateException("이미 존재하는 회원입니다."); } } // 회원 전체 조회 public List<Member> findMembers() { return memberRepository.findAll(); } public Member findOne(Long memberId) { return memberRepository.fineOne(memberId); } } MemberServiceTestpackage jpabook.jpashop.service; import static org.junit.jupiter.api.Assertions.*; import jpabook.jpashop.domain.Member; import jpabook.jpashop.repository.MemberRepository; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.transaction.annotation.Transactional; @SpringBootTest @Transactional public class MemberServiceTest { @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; @Test public void join() { Member memberTestName = new Member(); memberTestName.setName("kimjimin"); Long savedId = memberService.join(memberTestName); assertEquals(memberTestName, memberRepository.fineOne(savedId)); } }
-
해결됨실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
3.2. 왜 리소스 기반 정책은 Deny로 해야되나요? 부분이 잘 이해되지 않습니다.
3.2. 왜 리소스 기반 정책은 Deny로 해야되나요?에서 동일계정에서 권한을 부여한다는 말씀이 정확히 어떤 말씀이신건가요? 계정이 다른 경우에는 b라는 리소스를 사용하기 위해서는 사용자 a와 b리소스 모두 서로 권한을 allow해야 한다는 것까지는 이해했습니다.(c계정은 b리소스를 사용할 수 없음, 그림은 다 a계정으로 되어있어서 이 부분도 약간 혼란스러웠네요. 제가 이해한게 맞을까요?) 그런데 동일 계정'에서' 권한을 부여하는 경우 문제가 생긴다는 게 정확하게 어떤 뜻인지 이해가 가지 않습니다.예를 들어 a 계정이 b 리소스에 s3:GetObject라는 권한을 허용하면 a가 b에게 권한 설정을 했으므로, a 자체가 해당 리소스에 대한 권한이 없더라도 b리소스에 대한 접근이 가능하다는 건가요? (만일 b계정이 권한을 부여한다면 a는 접근이 불가능한거구요) '여기에 밑에 설명에 a라는 사용자에게 권한이 있으면 무용지물이 됨'이라고 되어있어서 어떤 말씀을 하시는지 잘 이해가 되지 않습니다! 초보자인 저에게 좀 더 친절한 설명을 주시면 감사하겠습니다! (혼자서 이해해보고자 chatGPT에게도 문의해보았습니다 ㅎㅎ)