묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[파이썬/Python] 문과생도 이해하는 DFS 알고리즘! - 입문편
알고리즘 수업 - 깊이 우선 탐색 2( 백준 24480) 번 질문
강의 제목 : 알고리즘 수업 - 깊이 우선 탐색 2( 백준 24480) 번 질문 안녕하세요! 위 강의 10:14번에 나와있는 정리 노트 관련해서 하나 여쭤보고 싶은 것이 있어요! 5번 '방문 순서를 담기 위해서는 어떤 자료구조를 사용해야 될까?' 이거 답이 리스트(LIST) 인가요?? 혹시 이 정리 노트에 있는 질문 5개에 대한 답변이 적혀있는 PDF 같은 게 있을까요??나중에 자격증 공부할 때 도움될 것 같아서 여쭤봅니다 감사합니다! 강의 영상마다 질문이 있으면 언제든 그리고 바로 질문 남겨주세요! 질문할 때 가장 정확하게 이해할 수 있습니다.해당 영상과 관련된 질문들을 해주실 때 제가 가장 정확히 답변 드릴 수 있습니다!취업 전반의 상담이나, "제 코드가 왜 틀렸는지 알려주세요"와 같이 광범위한 질문은, 질문자의 상황에 따라 답변이 달라질 수 있기 때문에, 정확한 답변을 드리기가 어렵습니다 :(이런 분들을 위해서는 멘토링 항목으로 별도 제공하고 있으니, 다음 링크를 참고해주세요!이 링크를 통해서는 본인의 코드가 왜 틀렸는지 모를 때 질문을 주셔도 좋고, 취업 전반(면접 준비, 자소서, CS 면접 등)에 관련한 질문을 주시면 답변 드리겠습니다 :)"이 질문은 해도 되나?"라는 생각이 드신다면 우선 남겨주세요! 제가 답변 드리기 어려운 건 멘토링에 올려 달라고 재요청 드리겠습니다 :)
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
FIFO second-chance와 LRU의 성능 차이가 나나요?
안녕하세요 강의 잘 듣고 있습니다.페이지 교체 알고리즘 중 가장 오래 사용되지 않은 페이지의 스왑 아웃과 먼저 들어온 페이지들 중 참조되지 않은 페이지를 선별하여 스왑아웃 하는 것이 결과적으로 비슷한 결과가 나올 거 같은 생각이 들었습니다.제가 잘 이해한 게 맞다면 예시로 들어주신 참조열 2313523423의 경우에도 두 방식이 동일하게 2, 1, 5를 스왑 아웃 하는 결과가 나오는 듯 합니다.이 둘의 사용성에 대한 더 구체적인 차이를 알 수 있을까요?
-
해결됨독하게 시작하는 C 프로그래밍
교재 chapter 11장 5번 연습문제 관련 질문
안녕하십니까? 강사님교재 chapter 11장 5번 연습문제를 풀기 위해 coding을 했습니다. 프로그램은 작동 하는데 첨부 화면캡처 사진 14번행에 밑줄이 생겼는데 읽어봐도 무슨 말인지 알수가 없습니다.설명을 부탁드려도 될까요?혹시 저 밑줄을 없앨 수 있는 방법이 있을까요?수고하십시오
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원 서비스 테스트 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]섹션 3 중 회원 서비스 테스트 질문입니다.10분 정도에서 진행한 중복_회원_예외() 메서드에서 다음과 같은 코드를 입력했는데package com.example.hellospring.service; import com.example.hellospring.domain.Member; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*; class MemberServiceTest { MemberService memberService = new MemberService(); @Test void 회원가입() { //given Member member = new Member(); member.setName("hello"); //when Long saveId = memberService.join(member); //then Member findMember = memberService.findOne(saveId).get(); Assertions.assertThat(member.getName()).isEqualTo(findMember.getName()); } @Test public void 중복_회원_예외() { //given Member member1 = new Member(); member1.setName("spring"); Member member2 = new Member(); member2.setName("spring2"); memberService.join(member1); IllegalStateException e = assertThrows(IllegalStateException.class, () -> memberService.join(member2)); assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다"); /*try { memberService.join(member2); fail(); } catch (IllegalStateException e) { assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다."); }*/ } @Test void findMembers() { } @Test void findOne() { } }전 강사님과 다르게 초록 불이 안 뜨고 에러가 떴습니다. 라이브러리 설정을 안해줘서 다음과 같은 에러가 뜬 건가요? org.opentest4j.AssertionFailedError: Expected java.lang.IllegalStateException to be thrown, but nothing was thrown.
-
해결됨Practical Testing: 실용적인 테스트 가이드
트랜잭션이 보장되고 처리되어야만 하는 N개의 작업이 있다면 별도의 서비스로 추출하라는 말이 헷갈립니다.
안녕하세요, 항상 강의 잘 보고 있습니다. 강의 듣기 전에는 모든 Layer에 단위테스트를 작성하느라 테스트가 싫었는데 덕분에 테스트가 재미있어졌습니다. 감사합니다 😀 아래 질문에 대한 답변을 읽다가 알쏭달쏭한 부분이 생겼습니다.해당 질문(긴 작업일 경우 트랜잭션을 걸지 말아도 된다는 점이 이해가 잘 안갑니다)에서 강사님께서는 "메일 전송 이후에 해야하는 작업들이 1가지가 아니라 트랜잭션이 보장되고 처리되어야만 하는 N개의 작업이었다면, 별도의 서비스로 추출해 트랜잭션을 적용하는 방법을 생각해볼 수 있습니다." 라는 말씀을 하셨습니다. 그렇다면 아래 MailService 클래스를 예시로 생각했을 때, 아래와 같이 별도의 클래스로 분리하라는 말씀이 맞으실까요?// 변경 전 @RequiredArgsConstructor @Service public class MailService { private final MailSendClient mailSendClient; private final MailSendHistoryRepository mailSendHistoryRepository; public boolean sendMail(String fromEmail, String toEmail, String subject, String content) { boolean result = mailSendClient.sendEmail(fromEmail, toEmail, subject, content); if (result) { mailSendHistoryRepository.save(MailSendHistory.builder() .fromEmail(fromEmail) .toEmail(toEmail) .subject(subject) .content(content) .build() ); return true; } return false; } }아래 코드에서 변경된 부분은 다음과 같습니다.MailSendHistoryService 클래스에 대한 의존관계가 생겼습니다.MailService의 sendEmail 메서드에는 readOnly 트랜잭션이 걸렸습니다.MailSendHistoryService의 추가적인_일을_하다 메서드에는 트랜잭션이 걸렸습니다.// 변경 후(내 생각) @RequiredArgsConstructor @Service public class MailService { private final MailSendClient mailSendClient; private final MailSendHistoryService mailSendHistoryService; @Transactional(readOnly = true) public boolean sendMail(String fromEmail, String toEmail, String subject, String content) { boolean result = mailSendClient.sendEmail(fromEmail, toEmail, subject, content); if (result) { mailSendHistoryService.추가적인_일을_하다(); return true; } return false; } } @RequiredArgsConstructor @Service public class MailSendHistoryService { private final MailSendHistoryRepository mailSendHistoryRepository; @Transactional public void 추가적인_일을_하다() { ... DB CUD 작업 ... } }
-
해결됨쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
jenkins Pipelin (기초부터 blue/green까지) 오류 질문입니다.
안녕하세요해당 강의 15분 입니다. Pipeline 2212-jenkins_pipeline-step2만들고 지금 빌드 누르면 잘 되다가소스빌드 부분부터 에러가 발생합니다.해당 오류처럼 나오는데 제가 빼먹은 게 있을까요?다시 카페에서 페이지 보고 수정해도 안되네요참고로 실습환경은 mac m2입니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
코드 순서 차이
1012번 문제 이전에 dfs. bfs 강의 부분에서 제가 기억하기로는 ret++; dfs(i, j); 이렇게 써서 제출 후 정답은 맞았습니다만...이 두 코드의 위치가 바뀌어도 상관없는 걸로 아는데제가 알고 있는 것이 맞나요?아니면 혹시 코테 볼 때는 dfs(i, j); ret++; 이렇게 해야만 하나요???
-
미해결[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
안녕하세요 몇가지 질문이 있습니다.
안녕하세요 좋은 강의 잘 듣고있습니다. 몇가지 질문이 있어 문의드립니다.데코레이터로 감싸진 함수 호출강의를 다볼때쯤 되어 코드를 보니 blog_abtest.py와 blog.py에서 데코레이터로 감싸진 함수들의 호출은 @login_manager.user_loader -> 해당 데코레이터 부분에서 된다고 보면 될까요??수업시간에 말씀해주셨을텐데 제가 잘 이해를 못한것 같네요...예를들어, 아래 이미지의 함수들의 경우 선언과 동시에 호출을 하는 것일까요?2. C++, C#으로 구현된 서비스 SDK와의 연계제가 타전공으로서 웹은 처음으로 강사님을 통해 배우고 있는데 실무에서 C++ 혹은 C#으로 구현된 SDK에서 제공하는 '지도(map)'을 가시화하는 웹서버를 개발해야 됩니다. 본 강의에서 학습한 FLASK에 해당 SDK를 연동해서 홈페이지에서 지도를 불러올 방법이 있을까요?? 마지막으로, 정부쪽 웹개발은 FLASK를 사용하지 못하나요??국가 과제를 수행하고 있는데 정부에서 쓰는 웹 프레임워크가 따로 있다고 들었습니다.(자바와 유사한 전자정부~)국가기관에 웹서비스를 배포하고자 할때는 파이썬 기반의 FLASK를 사용하지는 못할까요??
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
실제 비슷한 문제를 sort()함수 사용하여 푼다면
코딩테스트 실전에서 sort()를 이용하여 풀고 제출해버리면영상에서 설명해주신 방법으로 해결한 답에 비해 떨어질 확률이 높아질까요?두 가지 방법으로 문제 풀어 보았고 둘 다 한번에 성공하긴 했습니다 다만, 실전문제에서 sort()함수를 사용하지 말라는 조건이 없다면 굳이 영상에서의 방법을 써야하는지도 궁금합니다.실전코테 시 문제가 여러개 나올 수도 있고 심적 압박(?)으로 반복문을 써야한다고 알고 있어도 긴장해서 sort()쓸 것 같아서요 ㅜㅜ
-
미해결그림으로 쉽게 배우는 운영체제
0번 프로세스 1번 프로세스 질문이요
0번 프로세스와 1번 프로세스의 차이가 궁금해서 질문해봅니다 이 사진이맞는걸까요 아니면 이 사진이 맞는걸까요?
-
미해결스프링 핵심 원리 - 기본편
OrderServiceTest 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. OrderServiceTest 클래스 질문이 있습니다.MemberServiceImpl 객체와 OrderServiceImpl 객체는 서로 의존성이 없어보이는데, 각각의 객체 내부에 존재하는 MemberRepository를 어떻게 공유하는지 궁금합니다. 정확히는 createOrder() 테스트 함수 내부에서 memberService.join(member)을 했을 때, 이후 orderService.createOrder() 메서드 내부에서 memberRepository.findByID()를 통해 멤버를 어떻게 찾아내는 것인가요?
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
안녕하세요. 강의 보기 전 질문드립니다.
안녕하세요. 유니티를 다루다가 언리얼을 공부하고자 해당 강의 구매 후 시청 전에 질문 드릴 것이 있어 남깁니다.유니티로 게임 로직을 구현할 때 경험상 씬(언리얼에서는 레벨이라고 하는 것 같습니다)을 통해 간단하게 로그인씬->로비씬->인게임씬의 로직으로 게임이 구현되는데요. 강의 내용의 서버는 인게임씬에 해당하는 것인지 로그인씬, 로비씬 같은 것도 구현이 가능한 것인지 궁금합니다.인게임씬에 해당하여 다른 씬은 따로 구현해야한다면 1강이나 2강을 보면 도움이 될 지도 궁금합니다.감사합니다.
-
미해결스프링 핵심 원리 - 기본편
build.gradle에 롬복 추가할 때 dependencies 관련 질문드립니다
롬복 기능 추가할 때 build.gradle의 dependencies에 implementation 'org.projectlombok:lombok' 이 한 줄만 넣어줘도 롬복이 기능하는데 문제가 없는데 강의에서는 아래와 같이 여러 줄의 코드를 추가해줬습니다. 단순히 implementation만 추가해주는것과 강의에서 제시한 아래의 코드가 서로 어떻게 다른 건지 알 수 있을까요?//lombok 라이브러리 추가 시작 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' //lombok 라이브러리 추가 끝참고로 스프링부트 버전은 3.2.1 입니다.
-
미해결처음 만난 리액트(React)
오류가 뜹니다ㅜ
이거 왜 이런가요ㅜㅜnpm uninstall -g create-react-app 치면 저렇게 돼요ㅠㅠ
-
해결됨스프링 핵심 원리 - 기본편
섹션7. 조회한 빈이 모두 필요할 때, List, Map
AllBeanTest에서@Autowired 어노테이션을 붙일 경우에, 빨간 밑줄이 생기면서, Autowired members must be defined in valid Spring bean (@Component|@Service|...) 이런 경고 문구가 뜹니다.실제로 해당 어노테이션을 붙이던 안붙이던 동일한 결과가 출력이 되는데 이유를 알 수 있을까요? public class AllBeanTest { @Test void findAllBean() { ApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class, DiscountService.class); } static class DiscountService { private final Map<String, DiscountPolicy> policyMap; private final List<DiscountPolicy> policies; @Autowired public DiscountService(Map<String, DiscountPolicy> policyMap, List<DiscountPolicy> policies) { this.policyMap = policyMap; this.policies = policies; System.out.println("policyMap = " + policyMap); System.out.println("policies = " + policies); } } }
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
동적페이이지 이동, 8강 10분56초에서 허공에 클릭하시는데 페이지가 이동하는것 같은데요...
8강 10분56초에서 하늘색 허공에 클릭하시는데 페이지가 이동하는것 같은데요. 어떻게 하신것인지 궁금해서 질문드립니다. 글자를 클릭해야 하는것 아닌가요? 근데 영상에서 동작은 또 잘되네요...?... 제가 잘 몰라서 이해를 잘못한걸까여?... 아래는 제 코드입니다..
-
미해결
mvvm uitextfield delegate 관련 질문
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=hjloveu012&logNo=221601526390&categoryNo=24&proxyReferer= 이 링크에 있는 코드를 이용해서 강의하셨던 memberlist mvvm 강의 참고하여 앱을 만들고 있는데요..사진 처럼 save를 해서 가격에 있는 데이터 값을 저장하고 새로 생성된 셀을 클릭하면 아래 화면이 나오는데 가격이 0으로 계속 수렴합니다 디버깅을 통해 save해서 데이터값이 올바르게 들어오는 것까진 확인을 했는데요 셀을 클릭하고 detailview로 넘어가는 과정에서 데이터값을 전달 못받는건가 싶은데 몇일동안 구글링해봤지만 해결을 못하고 있습니다...또한 기존에 생성되있는 1개의 멤버리스트 배열 또한 nametextfield 부분은 수정해도 잘 뷰에 표시 되는데 동일하게 가격 부분을 수정해서 update하면 디버깅을 통해 데이터가 정상적으로 들어오는것은 확인되나 셀을 클릭해서 detailview로 넘어오면 0으로 표시 됩니다.링크에 있는 코드를 사용하지 않으면(extension으로 uitextfield delegate) 입력한 데이터 값이 잘 저장되고 잘 보여집니다.github에 올려서 다른 커뮤니티에 올려보고 하는데 아무런 피드백을 받을 수 없어서 돌고 돌아 여기에 질문 남깁니다.. 꼭 좀 부탁드리겠습니다 ㅠㅠ참고로 깃허브 주소 남기겠습니다 https://github.com/theBettor/StackToShop
-
미해결[중급편] 코인 가격 모니터링 앱 제작 (Android Kotlin)
notification 문의드립니다.
안녕하세요. 강의듣던중 notification이 제대로 작동되지 않아서 문의드립니다.강의 내용과 동일하게 소스코드를 작성했는데 알림창 시작 버튼을 누르면 알림팝업이 나오지 않습니다.강의자료에 올라온 소스코드를 그대로 실행하면 알림팝업이 잘나오는데, 제 소스코드를 실행이 제대로 작동되지 않는 것으로 봐서 설정 문제인거 같은데 어디가 문제인지 모르겠습니다ㅠ확인부탁드립니다. 소스코드 https://drive.google.com/file/d/1TuCLiaHZ6Rkijb5X8z4wbqHEw3uTjHmK/view?usp=sharing
-
해결됨[C#/.NET 8.0]어서와, WinForm은 처음이지?
디비 Restore에러
Restore가 안되네요.. 동영상 몇번 보면서 똑같이 해도 해결이 안됩니다...
-
해결됨Next.js 필수 개발 가이드 3시간 완성!
Dynamic Routes GET 메소드 만들기 질문 있습니다!
안녕하세요 ! APIs 생성하기 섹션을 들으며 연습하고 있는데요.사용자 ID 값이 10 보다 큰 경우에는 404 에러를 출력하고 나머지 경우에는 사용자 정보를 반환하도록 작성해주신 GET 메서드 코드를 따라 작성했고, 포스트맨에서 정상 작동함을 확인하였습니다.강사님 코드import { NextRequest, NextResponse } from "next/server"; export function GET( request: NextRequest, { params }: { params: { id: number } } ) { // 사용자 ID 값이 10보다 큰 경우 404 오류 출력 if (params.id > 10) { return NextResponse.json({ error: "USER NOT FOUND" }, { status: 404 }); } // 사용자 정보를 응답으로 전달 return NextResponse.json([ { id: 1, name: "Jieun" }, { id: 2, name: "Hansol" }, ]); }따라하다가 문득, 전체 사용자 정보가 아니라 해당 id 에 해당하는 사용자 정보를 출력하고 싶어, 아래와 같이 코드를 수정하였습니다. 코드에 문제가 없다 생각했는데 에러를 출력하더라구요 ㅠㅠ에러 코드import { NextRequest, NextResponse } from "next/server"; export function GET( request: NextRequest, { params }: { params: { id: number } } ) { const userData = [ { id: 1, name: "Jieun" }, { id: 2, name: "Hansol" }, ]; const user = userData.find((user) => user.id === params.id); if (!user) { return NextResponse.json( { error: "사용자를 찾을 수 없습니다" }, { status: 404 } ); } return NextResponse.json(user); }`user` 를 잘 찾지 못하는 것 같아서 혹시 id 타입 문제인가 해서 params.id 의 타입을 바꾸고 실행하였더니 정상 작동 하였습니다.정상 작동했던 코드 1import { NextRequest, NextResponse } from "next/server"; export function GET( request: NextRequest, { params }: { params: { id: string } } ) { const userData = [ { id: 1, name: "Jieun" }, { id: 2, name: "Hansol" }, ]; const requestedId = parseInt(params.id); const user = userData.find((user) => user.id === requestedId); if (!user) { return NextResponse.json( { error: "사용자를 찾을 수 없습니다" }, { status: 404 } ); } return NextResponse.json(user); }정상 작동했던 코드 2import { NextRequest, NextResponse } from "next/server"; export function GET( request: NextRequest, { params }: { params: { id: number } } ) { // Mock user data const userData = [ { id: 1, name: "Jieun" }, { id: 2, name: "Hansol" }, ]; const requestedId = typeof params.id === "string" ? parseInt(params.id, 10) : params.id; const user = userData.find((user) => user.id === requestedId); if (!user) { return NextResponse.json( { error: "사용자를 찾을 수 없습니다" }, { status: 404 } ); } // Return the user information return NextResponse.json(user); }질문입니다!API 호출 시 전달되는 매개변수 params.id 의 타입은 GET 메소드 매개변수 선언시 지정해주는 타입으로 정해지는건가요?string 타입인거라면 강사님 코드가 실행되지 않았어야 하고, number 타입이라면 저의 에러코드 또한 실행되었어야 하는데 왜 정상적으로 작동하지 않았는지 궁금합니다.