묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
강의자료 오타 수정 요청
오타 부분이 몇 군데 있습니다~! 수정 내용 : 스테이스리스 -> 스테이트리스
-
미해결스프링 시큐리티 OAuth2
25:00 PKCE 관련 질문 있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.secret을 안보내도 된다는것 자체가 약간은 의아해서 질문드립니다. PKCE, 인가코드만 있어도, challenge, verifer 를 통해서, 인가서버로 요청하는 client 가 위조되었을 가능성이 낮기 때문에 secret을 안보내도 되도록 허용하는 것인가요? 인가 코드를 탈취당해도, PKCE를 통해서 client 가 challenge, verifier 를 통해서 알 수 있으니까..?
-
미해결Flutter로 SNS 앱 만들기
저는 키보드 동작이 안돼는데 원래 그런가요.
저는 키보드 동작이 안돼는데요 원래 그런가요.에뮬레이터로 테스트 하는데 이상은 없지만 불편해서요.
-
미해결[기초스피치] 14년차 아나운서에게 배우는 말 잘하는 방법!
즉석 스피치에서
안녕하세요. 좋은 강의 잘 듣고 있습니다. 즉석 스피치 강의 내용 중에 결론부터 말하되 한 가지에 대해서 구체적으로 얘기하고 말씀하시고 계시는데요.. 혹시 이게 상대방에게는 관심 없는 TMI로 느껴질 위험은 없나요?
-
해결됨데이터 분석 SQL Fundamentals
Group by를 이용한 월별 입사동기를 구할 때 좀 더 깔끔한 방법 질문
안녕하세요.마지막에 group by로 묶어서 입사동기로 나올 때, 뒤에 일자 + 00:00:00 까지 나오는 게 보기가 안 좋아서요. 년-월만 나오게 할 수 있을까요? 가령,select date_part('year',hire_month)||'-'||date_part('month', hire_month), countsfrom(select date_trunc('month', hiredate) as hire_month, count(*) as countsfrom hr.emp_testgroup by date_trunc('month', hiredate)); 로 하면 나오긴 하는데 이건 서브쿼리를 이용한 방법이라 좀 더 간결하게 표현하고 싶습니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드리뷰 부탁드립니다
<html> <head> <meta charset="UTF-8" /> <title>출력결과</title> </head> <body> <script> function solution(board, moves) { let answer = 0; let stack = []; for (let j = 0; j < moves.length; j++) { stack.push(board[moves[j] - 1].pop()); if (stack[stack.length - 1] === 0) { stack.pop(); } if ( stack.length >= 2 && stack[stack.length - 1] === stack[stack.length - 2] ) { stack.pop(); stack.pop(); answer += 2; } } return answer; } let a = [ [0, 0, 0, 0, 0], [0, 0, 1, 0, 3], [0, 2, 5, 0, 1], [4, 2, 4, 4, 2], [3, 5, 1, 3, 1], ]; let b = [1, 5, 3, 5, 1, 2, 1, 4]; console.log(solution(a, b)); </script> </body> </html>
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
실습3) Tomcat 서버에 배포하기 질문 있습니다.
Mac PC에서 Tomcat 9점대 설치했습니다. Mac IP : ifconfig에서 en0:의 inet 주소 복붙 젠킨스 콘솔에서 http://[MacIP]:8088 or http://[네이버 내 아이피주소]:80882가지로 테스트해서 진행했는데, 계속 에러가 나더라구요. 1) conf/tomcat-users.xml에서 admin/deployer/tomcat : 롤 수정해서 세팅했구요.2) webapps/host-manager/META-INF/context.xml : 해당 부분 주석 처리했습니다.3) webapps/manager/META-INF/context.xml : 해당 부분 주석처리했습니다. ERROR: Build step failed with exception org.codehaus.cargo.container.ContainerException: Failed to redeploy [/var/jenkins_home/workspace/SsuThirdProject/target/hello-world.war] at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:176) at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:81) at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:167) at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:136) at hudson.FilePath.act(FilePath.java:1198) at hudson.FilePath.act(FilePath.java:1181) at hudson.plugins.deploy.CargoContainerAdapter.redeployFile(CargoContainerAdapter.java:133) at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeployFile(PasswordProtectedAdapterCargo.java:95) at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:113) at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123) at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:80) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:47) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:818) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:767) at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1072) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:711) at hudson.model.Run.execute(Run.java:1918) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543) at hudson.model.ResourceController.execute(ResourceController.java:101) at hudson.model.Executor.run(Executor.java:442) Caused by: java.net.ConnectException: Connection refused (Connection refused) at java.base/java.net.PlainSocketImpl.socketConnect(Native Method) at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412) at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255) at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237) at java.base/java.net.Socket.connect(Socket.java:609) at java.base/java.net.Socket.connect(Socket.java:558) at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:182) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:509) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:604) at java.base/sun.net.www.http.HttpClient.<init>(HttpClient.java:277) at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:376) at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:397) at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1253) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1187) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081) at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1015) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:567) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:882) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:895) at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:161) ... 19 more java.net.ConnectException: Connection refused (Connection refused) at java.base/java.net.PlainSocketImpl.socketConnect(Native Method) at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412) at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255) at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237) at java.base/java.net.Socket.connect(Socket.java:609) at java.base/java.net.Socket.connect(Socket.java:558) at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:182) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:509) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:604) at java.base/sun.net.www.http.HttpClient.<init>(HttpClient.java:277) at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:376) at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:397) at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1253) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1187) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081) at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1015) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:567) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:882) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:895) at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:161) at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:81) at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:167) at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:136) at hudson.FilePath.act(FilePath.java:1198) at hudson.FilePath.act(FilePath.java:1181) at hudson.plugins.deploy.CargoContainerAdapter.redeployFile(CargoContainerAdapter.java:133) at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeployFile(PasswordProtectedAdapterCargo.java:95) at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:113) at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123) at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:80) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:47) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:818) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:767) at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1072) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:711) at hudson.model.Run.execute(Run.java:1918) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543) at hudson.model.ResourceController.execute(ResourceController.java:101) at hudson.model.Executor.run(Executor.java:442) Build step 'Deploy war/ear to a container' marked build as failure Finished: FAILURE
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
Scanner 큐
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("첫 번째 숫자와 두 번째 숫자 모두 0을 입력하면 프로그램을 종료합니다."); while (true) { System.out.print("첫 번째 숫자를 입력하세요:"); int num1 = scanner.nextInt(); System.out.print("두 번째 숫자를 입력하세요:"); int num2 = scanner.nextInt(); if (num1 == 0 && num2 == 0) { System.out.println("프로그램 종료"); break; } int sum = num1 + num2; System.out.println("두 숫자의 합: " + sum); } }위 코드를 실행시켰을때첫 번째 숫자를 입력하세요 : 10\n이렇게 입력하고 두번째 줄에 두 번째 숫자를 입력하세요 : 20\n이렇게 제가 입력했다고 가정했을때 큐에서 문자열이 어떻게 들어가고 나오는지 궁금합니다.10하고 enter를 치면 num1은 정수 부분을 읽어들여서 10만 저장하고 큐에는 현재 '\n'가 남아있는 상황이고 그 이후에 20enter를 치게 된다면 20\n을 큐에 집어넣은 상황이므로 큐에는 현재 \n20\n이렇게 들어가있을텐데 여기서 num2는 바로 20을 꺼낼 수 있는 건가요?? 앞에 있는 \n 값은 무시하고 정수만 바로 뽑아내는건가요?
-
미해결김영한의 실전 자바 - 기본편
인텔리제이 단축키 일부가 안됩니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]김영한님 강의 듣는 중인데, 강의 중 나오는 단축키 중에 안먹히는 것들이 있어서요... 예를 들면 ctrl+alt+m / ctrl+o 등이 안먹힙니다 해결할 수 있는 방법이 있을까요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
설명 파일 보는 곳?
이 설명하는 파일 어디서 볼수 있나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
주문 기능 테스트 부분에서 질문이 있습니다!
상품 주문을 테스트할 땐 Book 객체로 받아서 테스트를 실행했는데, 상품주문 재고수량초과 테스트에선 . 왜 Item 객체로 받아서 테스트를 실행하는건가요? 차이점은 따로 없지 않나요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
new Item() 질문
model.addAttribute("item", "new Item())1.이 문장은 html 문서에서 th:Object를 활용하기 위해서 쓴건데 실질적으로 new Item() 기본생성자라 Item클래스안에 파라미터에는 아무런값도 없고 단지, 타임리프 문법을 쓰기위함이라고 이해했는데 맞을까요?
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
Adressable그룹에서 Sprite부분에 . 을붙인이후 작동이안됩니다.
영상을 따라했는데 Object_Firewood.sprite를 추가한 이후부터 wizard_SkeletonData : 4/7 에서멈추고있어요 어드레서블을 다시 빌드해도 같은현상이 일어나고있습니다. 유니티버전은 2022.3.16f1에디터 타겟플렛폼 윈도우 입니다.
-
해결됨독하게 시작하는 C 프로그래밍
Little-Endian에 대해서 궁금합니다.
제가 이해한 대로 말씀드리자면 저희가 사용하는 intel의 cpu가 기본적으로 Little-Endian 방식을 채택한다고 하셨습니다.제가 사용하는 AMD의 cpu도 메모리 주소가 반대로 찍힙니다 그럼 AMD도 Little-Endian을 채택하는 것으로 이해하고 있으면 될까요??
-
미해결[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]
[아나콘다 및 주피터 노트북 설치] 주피터 다운로드 후 엣지
[아나콘다 및 주피터 노트북 설치 윈도우] 7분20초 경 주피터를 다운받았는데 크롬 설정 없이 자동으로 edge로 다운로드 받아지는데 크게 상관이 있을까요?
-
해결됨실전! 스프링 데이터 JPA
연관관계 편의 메서드에서 mappedBy 필드에 대한 수정 로직 추가여부
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예https://www.inflearn.com/questions/25417/changeteam-%EA%B4%80%EB%A0%A8%ED%95%98%EC%97%AC-%EC%A7%88%EB%AC%B8-%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4 연관관계 편의 메서드 관련 질문인 위 링크의 글과 연관이 있습니다. 질문을 먼저 작성해놓고 질문 끝에 다시 언급해놓겠습니다.1) 어쩌면 필요없는 구현일 수 있는데, 이런 습관?을 들여도 괜찮은지2) 아니면 강의처럼 DB에 반영되지 않고 거의 문제가 발생할 가능성이 없는 부분은 간단하게 구현하고 넘어갈지 mappedBy로 read-only상태인 조회 전용 필드인 members는 변경 상태가 DB에 반영되지 않지만,인스턴스 입장에서는(객체지향적으로는?) 어플리케이션 런타임 시점에 변경을 해주어야한다고 생각했습니다.위 링크의 영한님 말씀처럼 데이터 변경 후 이를 즉시 재활용하는 일은 극히 드물지만 말이죠. Member 엔티티// 연관관계 편의 메서드 public void changeTeam(Team team) { // 기존에 팀이 있다면 탈퇴 if (this.team != null) { // 탈퇴를 위한 비즈니스 로직을 Team에 구현함 this.team.removeMember(this); } this.team = team; team.getMembers().add(this); }그래서 위와 같이 if 분기를 두고 소속 팀이 있는 회원은 해당 팀에서 회원 자신을 지우는 로직을 추가했습니다. this.team.removeMember(this)위 로직은this.team.getMembers().remove(this)와 같지만 의미있는 메서드를 만들어보고 싶어서 아래처럼 removeMember 를 구현했습니다.Team 엔티티// 비즈니스 로직 -> read-only 필드라서 DB에는 반영 안됨 public void removeMember(Member member) { this.members.remove(member); } null 확인 로직이 changeTeam() 내부에 있으므로 Member 엔티티 생성자는 다음과 같이 작성했습니다.public Member(String username, int age, Team team) { this.username = username; this.age = age; changeTeam(team); } 결론적으로 물어보고 싶은 질문은1) 어쩌면 필요없는 구현일 수 있는데, 이런 습관?을 들여도 괜찮은지2) 아니면 강의처럼 DB에 반영되지 않고 거의 문제가 발생할 가능성이 없는 부분은 아래처럼 간단하게 구현하고 넘어갈지// 연관관계 편의 메서드 public void changeTeam(Team team) { this.team = team; team.getMembers().add(this); } 이렇게 두 가지 질문이 있습니다.늘 좋은 강의 해주셔서 감사합니다.
-
미해결스프링 시큐리티 OAuth2
7:50 초 authentication token 관련 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. Oauth2AuthenticationToken 이라는 것이 사실은 인가서버로의 인증을 의미하는 것이지 client 서버로의 인증이라고는 볼 수 없는 것 아닌가요? 그러니까 Oauth2 과정을 거쳤다는 것은, 해당 유저의 resource 를 auth 서버든 resource 서버든 접근이 가능하다는 것이지, 우리 서버에 인증이 되었다는 것은 아니라고 저는 이해했는데요. 왜, oauth2 프로세스가 끝나면 최초 요청지 (예를들어 localhost:8081/home -> 로그인 창으로 가서 oauth2 process 끝 -> localhost:8081/home 이라고 할때, 최초 요청지는 localhost:8081/home) 가 접근이 되는 것이죠?
-
해결됨김영한의 실전 자바 - 기본편
부모의 부모 인스턴스
예를 들어 ElectricCar extends Car, Car extends Vehicle의 상속 관계를 가질 때 new ElectricCar()를 호출하면 부모 인스턴스인 Car도 같이 생성하는데 이 경우 Car는 Vehicle 의 상속을 받으니까 Vehicle 인스턴스도 함께 생성되나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-J 다른 풀이 방법 질문드립니다.
제가 처음에 접근했던 방법은 옷의 개수가 3가지라면 3C0 + 3C1 + 3C2 + 3C3으로 입을 수 있는 모든 경우의 수를 구한 후, 같은 종류의 옷을 입은 경우의 수를 구해 빼는 방식이였는데void combi(int start, vector b){ if(b.size() == k){ print(b); return; } for(int i = start + 1; i < n; i++){ b.push_back(i); combi(i, b); b.pop_back(); } return; }이 함수를 사용해서 map<string,string>mp을 선언하고 옷의 이름과 종류 모두 입력 받아서 같은 종류의 옷을 입은 경우를 판별하여 구할 수는 없는지 여쭤보고 싶습니다.
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
downgrading 관련질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.사이킷런 다운그레이딩시 계속 오류가 나서, 파이썬을 3.9버전으로 다운그레이드 시킨 후 하면 된다고 해서 파이썬을 다운그레이드 하려고 했는데요.맥 터미널에서 다음과 같이 뜨고 Version이 바뀌지가 않네요 ㅜㅜ 제발 좀 도와주세요 ㅜㅜ