묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결코딩으로 학습하는 GoF의 디자인 패턴
코드에 약간 오타가 있는거 같습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요. 백기선님수업을 잘 듣고 있습니다. 제 생각에 간단한(?) 오타같은게 있는거 같아서 제보드립니다. 혹시 오타가 아니라면 제가 잘못 이해한 부분을 말씀 부탁드리겠습니다.옵저버 패턴 3부 - 1:56초쯤 unregister 를 subject가 "디자인패턴"인 것에 대해서 user2 를 해지 해주었는데요.이미 user 2는 오징어게임에만 등록중입니다. 그래서 결과값도 user2 가 보낸 "옵저버 패턴 장, 단점 보는 중" 이 user1한테 가서 출력된거 같습니다.아마 user1을 해지하거나 user2를 오징어게임에 대해서 해지하려고 하지 않았나 싶습니다..
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
DB 컬럼 생성 조건이 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강사님. 엔티티 자바파일 생성 후 서버 구동시 DB에 해당 엔티티에 들어있는 필드들이 컬럼으로 생성이 되는것은 잘 알고 있습니다.그런데 컬럼으로 생성이 안되는 조건이 궁금합니다.왜 궁금하냐면, 예를들어 강이의 Order 엔티티에서 setMember, addOrderItem, getTotalPrice 등의 메서드들은 DB에 필드 생성이 되지 않아서 입니다.DB에 컬럼이 생성되는 조건/생성되지 않는 조건이 궁금합니다.
-
미해결MariaDB 클라이언트 개발, HeidiSQL
수업에서 설명해 주시는 소스는 어디서 다운로드하면 되는지요?
안녕하세요.수업에서 설명해 주시는 소스는 어디서 다운로드하면 되는지요?
-
미해결해킹대회(CTF) 출전을 위한 시스템해킹(Pwnable) 입문
도구 다운로드에서 복사 붙여넣기가 계속 안되는데 왜그러는 건지 알수 있을까요?
도구 다운로드에서 복사 붙여넣기가 계속 안되는데 왜그러는 건지 알수 있을까요?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
코드 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. Spirte 코드 44~52번줄 부분에서 { } 안에 적는 이유는 코드 정리를 깔끔하게 하기 위함인가요? 아니면 다른 이유가 있는건가요?
-
해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
질문 있습니다!
안녕하세요? 트와이스 앱 강의에서 이렇게 오류가 뜨는데혹시 해결 방법을 알려 주실 수 있을까요?감사합니다.
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
싱글톤 말고 다른 디자인 패턴도 필요한가요?
싱글톤 강의를 보고 디자인 패턴에는 여러가지가 있다는 것을 알게되었습니다.다른 패턴도 따로 공부를 하는게 도움이 될까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
이미지 불러오기 downloadImage 메서드 부분 FileNotFound에러
실제 폴더에는 저장이 잘되는데 브라우저에서 이미지 불러올 때 에러가 뜹니다. URL [file:C:/Users/tmdgn/Documents/image/a21ed678-fad4-45cc-ac1b-5a5b88f2116f.jpg] cannot be resolved in the file system for checking its content length slf4j 로그fullPath : C:/Users/tmdgn/Documents/image/a21ed678-fad4-45cc-ac1b-5a5b88f2116f.jpg 크롬 browser 개발자 도구 이미지 GET요청 urlRequest URL:http://localhost:8080/images/a21ed678-fad4-45cc-ac1b-5a5b88f2116f.jpg JSON 응답{"timestamp": "2023-09-23T15:42:22.590+00:00","status": 500,"error": "Internal Server Error","path": "/images/a21ed678-fad4-45cc-ac1b-5a5b88f2116f.jpg"}에러코드 500 입니다. html에는 이상이 없는 거 같은데..서버에 저장된 uuid + .확장자로 불러오기하면 에러가 나는 거 같은데20분 넘게 생각해도 생각이 안나네요 ㅠㅠ html 부분 ${imageFile.getUploadFileName()} 사용자가 올린 파일명으로 조회하면은 불러오기가 됩니다..
-
미해결[게임 프로그래머 도약반] DirectX11 입문
V -> VInv 에서 CameraPosition 을 뽑아쓰는 이유가 이게 맞을까요?
듣다가 뇌가꼬여서.. 질문드립니다.V월드에 배치된 오브젝트들을 카메라를 원점으로 한 좌표로 바꿔주고 VInv카메라 로컬기준 오브젝트들을 다시 월드기준으로 변경시켜준다 카메라 움직임 자체에는 이상이 없음.문제점 : 조명효과(보이기엔 Emissive) 그래서 V -> VInv 로 한 이유는 Emissive 효과에선 물체에서 카메라까(눈) 벡터가 필요한데 (월드에 배치된 물체에서 월드에 배치된 카메라의 벡터가 필요) 기존 CameraPosition 은 V 면 항상 카메라가 원점이니깐 회전을 시켰을때 제대로 적용이 안됐다. 그래서 CameraPosition 을 VInv 에서 뽑아내서 월드 좌표로 바꿔줬다.. 란 제 결론이 나왔습니다.. 이게 맞을까요?
-
미해결최신 SwiftUI와 UIKit과 함께하는 올인원 iOS 앱 개발 강의
xcode15 프리부 2개로 안보여요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 2개로 안되고 뭘해도 저렇게 합쳐져요
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
여러 패키지들 does not exist 오류
안녕하세요 김영한님! 강의 아주 잘 듣고있습니다!! 현재 김영한님 첫번째 강의를 다 듣고 저 혼자 만들어보고 싶은게 생겨서 만드는중인데요 현재 제가 군대에 있어서 사지방에서 코딩을 하느라 인텔리제이를 사용하지 못하고 깃허브에서 제공하는 codespaces와 gitpod을 사용하여 vscode 환경에서 코딩하는 중입니다. 근데 jpa의 JpaRepository나 lombok 혹은org.springframework.boot.autoconfigure.SpringBootApplication 이런 패키지들이 계속 does not exist라고 뜹니다. 김영한님꺼 따라할때는 잘 됐는데 이제 제가 혼자서 만들고 싶은거 만드려니 확실하지도 않고 실행도 잘 안돼서 패키지를 못읽는건지도 잘 모르겠습니다. 현재 build.gradle에 의존성도 다 넣어있고 vscode의 패키지 설치에도 java extention pack, lombok, spring extention pack또 다 깔았습니다. 당연 재설치도 해보았구요! 구글링을 지금 며칠째 하고있는데 도저히 안되서 여기에 질문 올려봅니다...springboot version : 3.1.3jdk version : 17
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Span<byte> 으로 유지해서 진행해본 결과..
강사님 안녕하세요.정말 즐겁게 학습 중인 수강생입니다. 강의 후반부에 유니티 연동하면서Span<byte> 를 수정하는 방향으로 진행하는 와중에제가 사용하는 유니티 버전에서 Span<byte>을 지원하게 되어 따로 수정하지 않고 이번 강의를 최종적으로 마무리 지었습니다. 다만, 더미 클라이언트를 마지막에 500으로 설정하고유니티에서 실행하는데 강사님 코드로는 500개 더미 클라이언트가 가끔씩 500개가 연결되지 못한 상태로 연결됩니다.제 코드 역시 간혹 500개가 연결되지 않습니다. 여기서 문제는...강사님은 연결이 덜 된 클라이언트가 있어도 패킷을 모아보내기가 수월하게 동작하나,span<byte>코드로 유지한 저는 500개도 아닌 200개 이상으로 설정하면 연결도 안 덜 되고... 패킷 모아보내기 조차 수행되지 않습니다. 윈머지를 통해서 코드는 전부 비교했으나, span<byte> 관련 부분 제외 전부 동일합니다. 500개가 항상 정상적으로 연결되지 못하는 이유가 있을까요?혹은, 500개가 연결되지 않더라도 span을 사용했을 때와 사용하지 않았을 때의 모아보내기 가능 유무가 달라지는 이유가 어떤게 있을까요...?어떤 차이로 혹은 어떤 곳을 의심해봐야 하는 지 여쭤봐도 될까요? 의심부분을 찾기 너무 어려워 질문 올립니다.
-
미해결홍정모의 따라하며 배우는 C언어
\t 간격 차이
#include <stdio.h> #include <stdlib.h> struct kid { char name[100]; int height; }; int compare(const void* first, const void* second) { if (((struct kid*)first)->height > ((struct kid*)second)->height) return 1; else if (((struct kid*)first)->height < ((struct kid*)second)->height) return -1; else return 0; } int main() { struct kid my_friends[] = { "Jack Jack", 40, "Geenie", 300, "Aladdin", 170, "Piona", 150 }; const int n = sizeof(my_friends) / sizeof(struct kid); qsort(my_friends, n, sizeof(struct kid), compare); for (int i = 0; i < n; i++) printf("%s \t%d\n", my_friends[i].name, my_friends[i].height); return 0; }위는 저의 코드입니다.강의 5분 45초를 보면 printf()함수에 \t를 통해서 간격을 조정해주는데 교수님의 경우 숫자가 같은 위치에서 시작하는데 저는 왜 40 혼자 멀리 떨어져있을까요? 또 \t를 검색해보면 Tab키와 같이 일정한 간격을 띄움라고 나와있는데 일정한 간격을 어디를 기준으로 띄우는 건가요?"Jack Jack"의 경우 공백 포함 9글자고"Geenie의 경우 6글자인데강의에서 "40", "300"은 같은 위치에서 시작함에 의문이 생깁니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
영구 리다이렉션과 일시적 리다이렉션에 관한 질문입니다.
영구 리다이렉션의 경우 검색 엔진 등에서 기존 URL을 버리고 새로운 URL을 사용한다고 했고 일시적 리다이렉션은 리소스의 URL이 일시적으로 변경되고 검색 엔진 등에서는 URL을 변경하지 않는다고 하셨는데 리소스 URL을 변경한다, 유지한다의 개념이 헷갈려서 몇가지 질문드립니다. 1.여기서 말씀하신 리소스 URL이라는게 {host}/{resource}?{query_param} 에서 resource만을 의미하는 건가요?가령 http://google.com/event/4?q=hello 의 경우에 event/4 까지의 변경을 의미하는 것인가요?영구 리다이렉션과 일시적 리다이렉션의 차이는 resource name이 바뀌냐 안바뀌냐의 차이인건가요? 가령 /event로 post를 보냈을 때 /new-event로 post, get을 보내는 것이 영구적 리다이렉션, /event로 post를 보냈을 때 /event까지는 유지하고 /event/{id}로 post, get을 보내는 것이 일시적 리다이렉션 인가요?만약 2번이 맞다면 리소스의 URL이 일시적으로 변경된다는게 /event -> /event/{id}로 변경되는게 일시적 변경인거고 검색 엔진 등에서 URL을 변경하지 않는 것이 /event가 변경되지 않았다는 의미인건가요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
아무리해도 서버가 켜져있는데 접속이 안됩니다.
서버도 켜고 인바운드 규칙도 변경했는데 서버에선 22 이 르스닝으로 방화벽이 안뚫려서 접속이 안된거 같은데 어떻게 해결하나요ㅠㅠ
-
미해결바닥부터 시작하는 STM32 드론 개발의 모든 것
FS-i6 바인딩 안됨
안녕하세요 이번에 조종기와 수신기 관련해서 바인딩 하려고 했으나 바인딩이 안되고 있는상태입니다.강의자료와 동일하게 결선을 하였고 조종기 공장초기화 후 바인딩시도 했으나 binding ok메시지는 확인하였습니다. 하지만 실질적으로 디스플레이 상으로 바인딩 되지 않고 수신기도 바인딩 할때처럼 계속LED가 빠르게 점등하고 있어요. 혹시 문제점이 무엇인지 알고 계실까요?
-
해결됨코틀린 고급편
추상클래스의 공변 / 반공변, 추상 제네릭 일급컬랙션 리팩토링 에 대한 질문입니다.
믿고보는 태현님강의 다른강의 듣다가 사두고 이제서야 초반을 달리고 있습니다. 역시나 그간 알다가 까먹고 했던부분 확실하게 다지고 가는 느낌이 듭니다.저는 공변/반공변 예제 중 [꺼내기 / 저장] 각각의 기능만 하는 두가지 일급컬랙션을 따라하다가, 추상클래스 AbstractCage 를 둔다면 어떨지 아래처럼 한번 구성했었습니다. abstract class AbstractCage<T>( protected val things: MutableList<T>, )/** 초기화를 통해 아무거나 저장 후, 꺼낼수만 있는 케이지 */ private class ProduceCage<out T>( vararg things: T ) : AbstractCage<T>(mutableListOf(*things)) { // ProduceCage T는 'out(공변)' 이지만 AbstractCage T는 무공변 선언되어 대입불가. fun getFirst(): T = this.things.first() fun getAll(): List<T> = this.things.toList() }/** 아무거나 저장 만 가능한 케이지 */ private class ConsumeCage<in T>( vararg things: T ) : AbstractCage<T>(mutableListOf(*things)) { // ConsumeCage T는 'in(반공변)' 이지만 AbstractCage T는 무공변 선언되어 대입불가. fun put(vararg things: T) { this.things.addAll(things) } }문제는 상속받을때의 : AbstractCage<T>(..things) 선언부에 부모 T 타입이 무공변이라 자식 T 타입이 적절치 못하다고 애러가 나는데요,생각해보니 양쪽의 하위타입에서 이도저도 아닌 T 타입을 강요하는데, 이런 방식이 좋은 접근방식인가? 하는 의구심도 들고, 현업에서나, 또는 올바른 접근방법이 궁금해 질문하게 되었습니다. AbstractCage 의 타입파라미터를 <in T1, out T2> 이렇게 두는것도 이상하구요,이렇게 일급컬랙션 의 공통부분을 만들어야 될때 어떻게 접근해서 풀어내실지 의견이 궁금해서 남기게 되었습니다.읽어주셔서 감사합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
영속성 컨텍스트와 Unique 제약 조건에 대해 질문 있습니다.
영한님의 JPA 서적/강의로 JPA를 학습하는 동시에 개인 프로젝트를 병행하여 JPA에 대한 연습을 하고 있습니다.Unique 제약 조건을 추가하는 과정에서 궁금증이 생겨 질문 드립니다. 영속성 컨텍스트는 그 자체로 Unique 제약 조건을 검증하지 않나요?chatGPT에게 질문을 했을 때의 '영속성 컨텍스트는 unique 제약 조건을 확인하지 않고 DB에 해당 역할을 위임한다; 라고 대답하였는데, 달리 검증할 방법을 모르겠어 이곳에 질문 드립니다.아래와 같은 상황을 방지하기 위해서는 데이터 저장 로직에 em.flush()를 함께 써 주는 것이 가장 바람직한 접근 방법일까요?영한님의 다른 답변을 참고하면 데이터 저장의 빈도수가 상대적으로 적기 때문에 em.flush()를 한번 더 호출하는 것이 큰 성능 저하를 가져오지 않을 것 같고, 문제 해결도 되는 것 같습니다만, 제가 놓치는 부분이 있을까 하여 질문 드립니다.테스트에 @Rollback(value=false)를 추가하면 데이터가 예상한 대로 실패하던데, 해당 어노테이션의 유무가 어떤 차이를 가지기에 결과가 달라지는건지 함께 여쭤봐도 될까요??강의 내용에 대한 질문보다는, 강의 내용에 기반을 둔 프로젝트 질문이라 여기에 질문을 드려도 되는지 모르겠습니다만, 혹여나 도움을 받을 수 있을까 하여 질문 드립니다. '영속성 컨텍스트의 동작 원리' 쯤 내용들은 관련 자료가 쉽게 찾아지지 않아 궁금증을 어떤 식으로 해결할 수 있을지 모르겠습니다 ㅠㅠ질문 이해를 돕고자 아래에 문제 상황도 함께 추가하여 질문 드립니다. 배경 설명질문 상황이 이해가 쉽도록 최대한 간단히 프로젝트 구성 설명 드립니다.유저의 데이터를 저장하는 DAO를 구현 중입니다. User 모델@Entity @Table(name = "USERS") @Getter @Setter @NoArgsConstructor public class User { @Id @GeneratedValue @Column(name = "IDX") private Long idx; @Column(name = "NAME") private String userName; @Column(name = "ID", unique = true) private String id; @Column(name = "PASSWORD") private String password; }유저의 ID가 중복되지 않도록 ID 컬럼에만 @Column( ... unique = true) 를 사용하였습니다. UserDAO@Repository public class UserDAO { @PersistenceContext private EntityManager em; public long save(User user){ em.persist(user); return user.getIdx(); } //... } 마지막으로, Unique 제약 조건을 확인하기 위한 테스트 코드 입니다.중복되는 ID 값을 가진 유저를 저장할 때 어떤 예외가 발생하는지 직접 확인하기 위해 실패하는 테스트 코드를 작성하였습니다. UserDAOTest @ExtendWith(SpringExtension.class) @SpringBootTest class DBUserDAOTest { @Autowired UserDAO userDAO; @Test @Transactional public void sameIdSaveTest(){ //given DBUser user1 = new DBUser("User1", "sameId", "PW1"); DBUser user2 = new DBUser("User2", "sameId", "PW2"); //when long savedIdx1 = userDAO.save(user1); long savedIdx2 = userDAO.save(user2); //that } 문제 상황동일한 ID 값인 "sameId"를 사용했음에도 문제가 없이 테스트가 통과하는 모습입니다. 로직 변경public long save(DBUser user){ em.persist(user); em.flush(); return user.getIdx(); }위와 같이 em.flush()를 추가하면 예상과 같이 테스트가 실패합니다.DataIntegrityViolationException이 발생합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
강의 약 10분부근 @RequestMapping 404
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 약 10분 부근에@Controller 를 주석처리하고@Component@RequestMapping 을 어노테이션으로 입력하고 실행하면에러가 뜨네요 ?@Controller로 하면 잘 되는데 강의와는 다르게 안되네요
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
해쉬 충돌에 대해 질문드리고 싶습니다.
해쉬 충돌에 대해서 제대로 이해하고 싶어서 다른 자료를 찾아보다가 이해가 안되는 부분이 있어서 질문드립니다.전제 : Key값은 상수 데이터이다.그림 설명만 놓고 보면 키값이 달라도 해쉬 버켓 값이 동일해서 해쉬 충돌이 일어날 수 있다라고 설명하는 것 같은데, 서로 다른 키가 같은 해쉬 버켓에 매핑 될 수 있는 경우가 해쉬 함수의 성능에 의해 결정되는지 궁금합니다. 더불어 대체적으로 어떤 경우에서 해쉬 충돌이 빈번한지에 대해 질문 드리고 싶습니다.