묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
memberRowMapper()메서드 문법관련
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용] 안녕하세요수업 내용은 아니고 문법관련 질문입니다.3분 15초 경 memberRowMapper()메서드를 생성하는데요. 여기서 return대상은 new RowMapper()로 클래스인 것으로 이해했습니다. 근데 그 후에 어째서 mapRow메서드를 다시 선언할 수 있는거죠? RowMapper가 클래스가 아닌건가요? 람다식으로 선언할 수 있는 거 보면 RowMapper()가 메서드일 수도 있는 거 같은데, 그렇다면 new키워드는 왜 쓰는 건가요? 죄송합니다. 제가 기본 문법이 많이 부족한 상태에서 수강하고 있어요. 제가 모르는 것이 무엇인지도 모르는 상태에서 질문을 드려서 질문이 굉장히 난잡하네요. 다시 정리하자면, RowMapper()클래스를 반환하는 코드에 어떻게 다른 메서드(mapRow())를 선언할 수 있는지 궁금합니다.
-
미해결
[ios - Swift] 회사 내부용 앱을 만들었는데요.. 배포는..?
CRM ios app을 제작하였습니다. swift 언어를 사용하였고, storyboard 방식으로 제작하였습니다.플러그인으로 onesignal(푸시알림 서비스)를 붙였고, 현재 애플 공식 개발자 계정이 존재합니다.CRM을 App Store가 아닌, 직원들에게 직접 설치해주려고 합니다.어떤 방법을 사용해야 하는지 질문드립니다.*참고: 스타트업이라, Enterprise용 계정이 아닌 일반 개발자 계정입니다. 즉 직접 설치 방법 중Enterprise 방식은 사용할 수 없습니다.**참고2: Xcode로 build하여 아이폰에 설치해봤는데요, 개발자 모드 없이는 실행이 안됩니다. (다른 분들에게 항상 개발자 모드를 켜놓으라 할 수는 없어서...) 그래서 Xcode 빌드 외에 방법을 찾고 있습니다...
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
두리스트 합치기 수업 질문
n=int(input()) a=list(map(int, input().split())) m=int(input()) b=list(map(int, input().split())) res=list(a+b) res.sort() print(res) for i in range(len(res)): print(res[i], end=' ')이런식으로 문제를 풀어도 문제가 없을까요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
왜 틀렸는지 이유를 잘 모르겠습니다..
import java.util.Scanner; public class Main { public static void main(String[] args) { Main main = new Main(); Scanner sc = new Scanner(System.in); String s = sc.next(); String solution = main.solution(s); System.out.println(solution); } public String solution(String str) { String answer = ""; char[] chArr = str.toCharArray(); if (chArr.length % 2 == 1) { return answer = "NO"; } int lt = 0; int rt = chArr.length - 1; while (lt < rt) { char startWord = Character.toUpperCase(chArr[lt]); char lastWord = Character.toUpperCase(chArr[rt]); if (!(startWord == lastWord)) { return answer = "NO"; } lt++; rt--; } return answer = "YES"; } }
-
미해결비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
run실행시 크롬에서 에러발생
run실행하면 크롬에서 사이트에 연결할 수 없습니다.http://localhost:8080/vscode에서 error메시지는 다음과 같습니다.crbug/1173575, non-JS module files deprecated.
-
미해결[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지
데이터 불러오기 강의에서 오류가 발생하였습니다.
다음과 같이 에러가 발생하였다고 하는데 코랩을 사용해보는게 처음이라 스스로 해결하는데 어려움이 있어 질문드립니다.
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
팩토리 패턴의 의존성 주입과 관련해서 질문이 있습니다!
강의 교재에서 "CoffeeFactory라는 상위 클래스가 중요한 뼈대를 결정하고 하위 클래스인 LatteFactory가 구체적인 내용을 결정하고 있습니다. 참고로 이는 의존성 주입이라고도 볼 수 있습니다. CoffeeFactory에서 LatteFactory의 인스턴스를 생성하는 것이 아닌 LatteFactory에서 생성한 인스턴스를 CoffeeFactory에 주입하고 있기 때문이죠."위 문장에 대해 두 가지 의문점이 있습니다.CoffeeFactory 클래스와 LatteFactory가 상속 관계를 가진 상위/하위 클래스인가?CoffeeFactory는 그저 LatteFactory, EspressoFactory를 호출하는 역할의 클래스이고 extends를 통해 상속을 하고 있지 않다고 생각하는데 이 부분이 왜 상속 관계에 있는 것인지 이해가 안갔습니다.LatteFactory에서 생성한 인스턴스를 CoffeeFactory에 주입하고 있다?해당 예시에서 의존성 주입은 의존성 주입자의 역할을 하고있는 CoffeeFactory 클래스가 main 함수와 하위 클래스(LatteFactory, EspressoFactory)와의 의존성을 느슨하게 만들고, 하위 클래스가 CoffeeFactory 클래스에 의존하게 만들면서 달성된다고 생각했습니다. 그런데 LatteFactory에서 생성한 인스턴스를 CoffeeFactory에 주입하기 때문에 의존성 주입이 달성된다는 문장이 이해가 안 갔습니다.+static 메서드를 사용하고 있기 때문에 인스턴스를 생성하지 않는 것으로 보이는데 '인스턴스'를 주입하고 있다는 문장도 잘 이해가 가지 않습니다.긴 질문 읽어주셔서 감사합니다! 답변 기다리겠습니다 :)
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-A 질문이 있습니다 !
선생님 7-A에서 경로를 계산할 때 순서는 상관이 없다고 하셨는데..각 경로 방향마다 가중치값이 다른데 어떻게 순서가 상관이 없나요??각 경로마다 모든 경우의 수를 계산해서 최솟값을 계산해야하는거아닌가요? ㅠㅠ 예를 들면 도시 A,B,C가 있다고 가정할 때 A B CA C BB A CB C AC A BC B A각 경로 가중치 합이 다르지 않나요 ?그래서 저는 왜 시작 정점을 하나로만 계산하는지도 잘 이해가 안갑니다 ㅠㅠ
-
미해결[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지
5-1 CNN코드에서 모델 정확도 구할때
안녕하세요! 좋은 강의 감사드립니다.5-1 CNN코드에서 모델 정확도 구할 때correct = 0 total = 0 with torch.no_grad(): for data in testloader: images, labels = data[0].to(device), data[1].to(device) outputs = net(images) _, predicted = torch.max(outputs.data, 1) total += labels.size(0) # 개수 누적(총 개수) correct += (predicted == labels).sum().item() # 누적(맞으면 1, 틀리면 0으로 합산) print('Accuracy of the network on the 10000 test images: %d %%' % (100 * correct / total)) _, predicted = torch.max(outputs.data, 1)에서 _ 는 무엇을 뜻하나요?? 그리고 max에서 max(outputs.data, 1) 에서 1은 무엇을 의미하나요?? 감사합니다!!
-
미해결[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지
5-1강 CNN코드에서
class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.conv1 = nn.Conv2d(3, 6, 5) # 합성곱 연산 (입력 채널수 3, 출력 채널수 6, 필터크기 5x5 , stride=1(defualt)) self.pool1 = nn.MaxPool2d(2, 2) # 합성곱 연산 (필터크기 2, stride=2) self.conv2 = nn.Conv2d(6, 16, 5) # 합성곱 연산 (입력 채널수 6, 출력 채널수 16, 필터크기 5x5 , stride=1(defualt)) self.pool2 = nn.MaxPool2d(2, 2) # 합성곱 연산 (필터크기 2, stride=2) self.fc1 = nn.Linear(16 * 5 * 5, 120) # 5x5 피쳐맵 16개를 일렬로 피면 16*5*5개의 노드가 생성 self.fc2 = nn.Linear(120, 10) # 120개 노드에서 클래스의 개수인 10개의 노드로 연산 def forward(self, x): x = self.pool1(F.relu(self.conv1(x))) # conv1 -> ReLU -> pool1 x = self.pool2(F.relu(self.conv2(x))) # conv2 -> ReLU -> pool2 x = x.view(-1, 16 * 5 * 5) # 5x5 피쳐맵 16개를 일렬로 만든다. x = F.relu(self.fc1(x)) x = self.fc2(x) return x net = Net().to(device) # 모델 선언에 x = x.view(-1, 16 * 5 * 5) # 5x5 피쳐맵 16개를 일렬로 만든다.에서 -1이 배치의 개수라고 하셨는데 그럼 이 파일의 코드에서trainloader = torch.utils.data.DataLoader(trainset, batch_size=8, shuffle=True)trainloader에서 batch_size 가 8이니까 -1값이 제일 마지막에 나누어 떨어지지 않을 때 제외하고8 인건가요??아니면print(len(trainloader))하니까 6250이 나오는데 6250일까요..배치의 크기를 의미하는건지 헷갈립니다..
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
컨트롤러에서 반환하려는 DTO 에 임베디드 타입
컨트롤러에서 반환하려는 DTO에 임베디드 타입으로 사용한 클래스를 넣어도 괜찮은가요? 강의에서 OrderDto에 Address 를 넣으셨는데 생각해보면 Address 자체는 엔티티가 아니라서 괜찮을것 같지만 궁금해서 질문 남깁니다.
-
미해결[핵집] 2025 빅데이터 분석기사(필기)_과목 1~2
밑에 분들과 마찬가지로 1~4까지 강의를 모두 신청하였습니다.
빅데이터 분석기사 필기 1~2와 3~4 강의를 모두 신청하였습니다.저도 강의 자료 한꺼번에 받고 싶습니다.athena_jiwon@naver.com으로 자료 부탁드립니다.감사합니다.
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
이벤트 핸들러로 왜 일반 함수로는 작동이 안 되나요? + console.log도 인식이 안되요
정상 작동 <input @input=" e => { e.target.value += '!'; console.log('hi'); } " /> 에러 뜸 <input @input=" function(e) { e.target.value += '!'; " /> 질문1) 화살표 함수를 일반함수로 바꿨더니 에러가 뜨면서 화면이 안떠져요질문2) 이벤트 핸들러를 화살표 함수로 작성하면e.target.value += '!' 는 정상 작동되는데console.log()에서 Uncaught TypeError: Cannot read properties of undefined (reading 'log')가 뜹니다이유가 뭔가요?
-
미해결내러티브 있는 문서와 프레젠테이션
도형에 대한 템플릿을 공유받을 수 있을까요?
강의를 시간될때 보면서 많은 도움 받고 있습니다.그 중 도형 강의를 들어보니 10개 정도의 도형을 미리 만들어놓고 활용하라는 내용을 보았는데요.선생님께서 강의에서 보여주신 도형들을 혹시 파일로 공유받을 수는 없을지 여쭤보고자 합니다.
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
클래스 - 상속 (후반전) 강의 질문
강의에서와 달리 SpeedCam.java의 public String name;을 지우지 않으니 실행 결과의 마지막 줄에서 "과속단속 카메라 : 사진을 촬영합니다" 가 아닌 "카메라 : 사진을 촬영합니다"가 나오는데, 왜 이런 결과가 나오는 것인지 궁금합니다.제 생각으로는, SpeedCam.java의 public SpeedCam()에서 this.name = "과속단속 카메라"를 적어 놨으니 public String name;을 지우든 지우지 않든 "과속단속 카메라 : 사진을 촬영합니다" 가 나와야 할 것 같은데, public String name;을 지우지 않고 남겨 놓으니 SpeedCam()에서의 this.name이 무시가 되는 것 같아 그 이유가 궁금하여 질문드립니다.감사합니다.
-
해결됨그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
삽입 정렬 - 1분 17초에서
여기서 선택 정렬은 가장 첫 번째 숫자인 4만 정렬되었다고 가정합니다. 선택 정렬은 정렬되지 않은 영역의 가장 앞에 있는 숫자를 하나씩 정렬된 영역의 적절한 위치에 ‘삽입’을 하며 정렬을 진행합니다. 삽입 정렬을 선택 정렬이라고 잘못 말씀하신건가용?
-
미해결Redux vs MobX (둘 다 배우자!)
redux-saga 깃헙 파일
제로초 쌤 혹시 redux-toolkit 쓰는 법을 배우고 나서 노드버드도 같이하고 싶어서 구매한 뒤 살펴보니 redux-saga도 쓴다고 하셔서 듣고있습니다.근데 redux-saga의 깃헙 파일은 어떤 폴더를 봐야하는지 안보이는데 혹시 어떤 파일을 보면 될까요..?!
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
토큰 인증 방식에 대해 질문이 있습니다.
안녕하세요. 선생님의 수업을 보고 좀 더 응용해 보고 싶은 부분이 있어 구현하는 과정에 궁금증이 생겼습니다.주변에 물어볼 사람이 없어서 수업 내용과 거리가 있는 감이 있음에도 여기에 질문하게 됐습니다.주 목표세션 방식의 인증에서 토큰 방식 인증으로 바꾸기하려는 이유대규모 프로젝트에선 세션보단 토큰 방식이 더 효과적이기 때문에 이를 미리 해보고 싶어서구현 목표구글, 네이버 같은 소셜 로그인이 성공하면 access, refresh 토큰을 만들어 DB에 저장해당 토큰들을 jwt로 만들고, XSS 공격에 토큰이 탈취되는 걸 대비하기 위해 http-only 쿠키로 전달jwt를 사용한 이유는 access 토큰의 expire 확인 같은 경우, DB를 거치는 것보단 서버 쪽에서 확인을 하는 것이 더 낫다고 생각했습니다.토큰 검증 과정expire된 토큰이라면 DB에서 해당 access 토큰을 가지는 refresh 토큰을 가져와 일치한다면 기간이 만료된 토큰으로 간주하고 새로운 access 토큰을 발급하는 방향으로 생각하고 있습니다.로그아웃을 할 땐 해당 토큰 정보를 테이블에서 삭제하려고 합니다.현재 구현된 것현재 유저와 토큰 도메인을 나눠서 관리하고 있고, 토큰 도메인은 유저 id를 외래 키로 가지고 있습니다.oauth2-client dependency를 사용해 소셜 로그인이 성공하면 관련 서비스를 호출해 유저 정보를 저장, 갱신하는 것을 구현했습니다.성공 후, successHandler를 통해 사용자에게 토큰 정보를 http-only 쿠키로 보내주려고 합니다. (handler 틀만 구현)궁금한 점jwt에 사용자 정보를 어디까지 담아야 하는지 모르겠습니다.jwt 공식 사이트의 설명을 보면 민감한 정보는 담지 말라고 적혀있기 때문에 토큰 값만 담아서 전달하려고 합니다.하지만, 이렇게 되면 유효한 토큰을 가지고 있더라도 전달한 사용자가 진짜 토큰의 주인인지 판단하는 게 어렵다고 생각했습니다.유효한 토큰이기만 하면 다른 계정이 해당 토큰을 사용해도 인증이 될 것이라고 생각합니다.여기에 관해 검색한 키워드들입니다.spring boot oauth 2.0 jwt auth best practicesspring boot oauth2 authenicationuser table auth table schemaspring boot security context관련 글들이 많았지만, 제가 본 글들은 대부분 jwt 토큰에 사용자 정보를 담아서 보내주고, 이 값들로 db에 매칭하는 식인 예제를 목적으로 만든 코드였습니다.종합한 결과, 인증 방식에 정론은 없지만, 제가 생각한 방식이 조금 동떨어져 있나란 생각이 들었습니다.혹시 현업에서는 이런 토큰 인증 방식을 어떻게 구현하는지에 대한 방향이라도 알고 싶습니다.여기서 설명하는게 어렵다면, 키워드라도 알려주시면 좀 더 찾아보고 노력하겠습니다.긴 글 읽어주셔서 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
JPA와 NoSQL의 관계에 대해 질문드립니다.
안녕하세요.JPA를 공부하면서 궁금한점이 생겨서 질문드립니다.JPA는 ORM이므로 RDMS와 연결되는거로 알고있습니다. 현재 제가 사이드 프로젝트를 진행하고 있는데.. NoSQL와 JPA를 동시에 경험해볼 수 있는 프로젝트를 만들고자하는데.. NoSQL은 JPA와 아예 연결지을 수가 없는지 궁금합니다.강의 잘 듣고있습니다.항상 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
JPA @Entity에 관한 질문입니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.JPA를 진행하기 위해 @Entity를 추가하려고 했는데 계속 빨간색이 뜨는것을 확인했고 단축키로 import했는데 import jakarta.persistence.Entity 만 import되어 혼란이왔습니다. 찾아보니 javax가 2019년도부터 jakarta로 이름을 바꿨다고하는데 이후 과정을 진행하는데에 jakarta로 해도 상관이 없는지 궁금합니다!