묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
Jenkins background 실행시 jar 파일 실행 성공 여부 확인
안녕하세요.궁금한점이 있어서 문의 드립니다.Jenkins 에서 springboot jar 파일을 서버에 배포 후에배포한 서버에서 shell script background 로 실행하게 되면jar 파일이 정상적으로 실행된것 과 무관하게 jenkins 는 success 로 끝나게 되는데만약 jar 파일이 정상적으로 실행 되지 않았을때 jenkins 에서 failed 로 나타나게 할수 있는 방법은 없을까요?ex)shell script 예시nohub java -Dsrping.profiles.active=dev -jar test.jar > /dev/null 2>&1 &
-
미해결자바 코딩테스트 - it 대기업 유제
팰린드롬의 경우의 수 질문드립니다.
저는 입력값이 크지가 않아서 가능한 문자열의 길이가 n이 되면 팰린드롬을 체크해서 중복방지를 위해 해시셋에 만족하는 문자열을 담는 걸로 구현을 했습니다.근데 재귀함수 안에서는 출력값이 잘 나오는거 같은데, 그걸 해시에 담았는데, 해시의 크기가 0으로 나옵니다. 무엇이 잘못된건가요??? import java.util.*; class Main { public static boolean[] visit; public static int n; public static String[] ll; public static HashSet<String> ans = new HashSet<>(); public String[] solution(String s){ String[] answer = {}; dfs(0,""); n=s.length(); visit = new boolean[n]; ll = s.split(""); //s를 문자열 배열로 분리 ans = new HashSet<>(); answer = new String[ans.size()]; System.out.print(answer.length); return answer; } public static void dfs(int L, String str) { //문자열 만들어주기 if(L==n) { if(check(str)) { //팰린드롬인지 체크 //System.out.println(str); ans.add(str); } else return; } else { for(int i=0; i<ll.length;i++) { //i번째 문자 썼는지 확인하면서 문자열 만들어주기 if(!visit[i]) { visit[i] = true; dfs(L+1,str+ll[i]); visit[i] = false; } } } } public static boolean check(String str) { //팰린드롬인지 체크 String[] list = str.split(""); int lt=0; int rt= list.length-1; while(lt<rt) { if(list[lt].equals(list[rt])) { lt++; rt--; } else return false; } return true; } public static void main(String[] args){ Main T = new Main(); System.out.println(Arrays.toString(T.solution("aaaabb"))); System.out.println(Arrays.toString(T.solution("abbcc"))); System.out.println(Arrays.toString(T.solution("abbccee"))); System.out.println(Arrays.toString(T.solution("abbcceee"))); System.out.println(Arrays.toString(T.solution("ffeffaae"))); } }
-
해결됨웹 애니메이션을 위한 GSAP 가이드 Part.02
다음강의 Part.03 관련 질문
안녕하세요 part.02 강의 완강했습니다👍너무 좋은 강의라 다음 강의 스크롤트리거 관련 질문겸 반영됐으면 하는 부분이 있어서 질문을 올립니다part.03 강의에서 스크롤트리거 강의시 반응형으로 제작하는 강의도 포함되어있을까요?예를 들어 pc에서는 스크롤시 위에서 아래로 내려가는 모션이 모바일에선 좌에서 우로 가는것모션처럼 코드자체는 여기저기 검색해서 구현은 가능하지만 선생님강의처럼 효율적으로 작성하는 방법이 있을까 하는 궁금에서 질문드립니다 이번강의에서 타임라인을 효율적으로 관리하시는거보고 꼭 포함되면 좋을것 같아서 없다면 포함해주시면 감사합니다ㅠㅠ
-
미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)
await asyncio.gather 메소드 안에서 마지막 delivery 함수 이후에 , 를 추가하는 이유가 뭘까요?
결과 값은 같아 보이는데 아래 이미지에서 마지막에 ,를 추가한 이유가 있을까요?
-
미해결Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트
의존성을 분리하는 건 캡슐화를 깼다고 볼 수 없을까요?
07:05 부근에서 메서드 내에 내부 알고리즘을 확인한 시점에서 캡슐화가 깨졌다는 언급을 해주셨습니다.개인적으로 생각했을 때는 의존성을 분리했을 때 또한 로직이 외부(인자)로 노출되므로 이것도 캡슐화가 깨졌다고 볼 수 있는 것 아닐까요?
-
미해결스프링 핵심 원리 - 기본편
ComponentSacn 의 디폴터 설정에 대한 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요? 컴포넌트 스캔에 대한 강의를 듣던 중 궁금해서 테스트를 해보던 중에 이해가 안가는 부분이 있어서 질문을 드립니다.@Configuration@ComponentScanpublic class AutoAppConfig {}강의에서 excludeFilters 설정한 것을 빼고 디폴트 @ComponentScan 을 적용해서 테스트를 해봤습니다....if(beanDefinition.getRole() == BeanDefinition.ROLE_APPLICATION) {System.out.println("beanDefinitionName = " + beanDefinitionName + " value = " + beanDefinition);} 바로 위와 같이 전에 테스트했던 코드를 참고해서 내용을 찍어봤는데... beanDefinitionName = autoAppConfig value = Generic bean: class [hello.core.AutoAppConfig$$SpringCGLIB$$0]; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=nullbeanDefinitionName = applicationContextExtendsFindTest.TestConfig value = Generic bean: class [hello.core.beanfind.ApplicationContextExtendsFindTest$TestConfig$$SpringCGLIB$$0]; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in file [D:\400.Projects\01.SpringCore\core\out\test\classes\hello\core\beanfind\ApplicationContextExtendsFindTest$TestConfig.class]beanDefinitionName = applicationContextSameBeanFindTest.SameBeanConfig value = Generic bean: class [hello.core.beanfind.ApplicationContextSameBeanFindTest$SameBeanConfig$$SpringCGLIB$$0]; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in file [D:\400.Projects\01.SpringCore\core\out\test\classes\hello\core\beanfind\ApplicationContextSameBeanFindTest$SameBeanConfig.class]beanDefinitionName = statefulServiceTest.TestConfig value = Generic bean: class [hello.core.singleton.StatefulServiceTest$TestConfig$$SpringCGLIB$$0]; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in file [D:\400.Projects\01.SpringCore\core\out\test\classes\hello\core\singleton\StatefulServiceTest$TestConfig.class]beanDefinitionName = appConfig value = Generic bean: class [hello.core.AppConfig$$SpringCGLIB$$0]; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in file [D:\400.Projects\01.SpringCore\core\out\production\classes\hello\core\AppConfig.class]beanDefinitionName = coreApplication value = Generic bean: class [hello.core.CoreApplication$$SpringCGLIB$$0]; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in file [D:\400.Projects\01.SpringCore\core\out\production\classes\hello\core\CoreApplication.class]beanDefinitionName = rateDiscountPolicy value = Root bean: class [null]; scope=; abstract=false; lazyInit=null; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=applicationContextExtendsFindTest.TestConfig; factoryMethodName=rateDiscountPolicy; initMethodNames=null; destroyMethodNames=[(inferred)]; defined in class path resource [hello/core/beanfind/ApplicationContextExtendsFindTest$TestConfig.class]...위와 같이 root 패키지 내의 모든 빈이 등록되는 것 같았습니다. 예상으로는 @Component, @Configuration 이 붙어 있는 빈들만 등록될 줄 알았는데 왜 이렇게 나오는 걸까요?
-
미해결시작하는 PM들을 위한 필수지식
PI는 무슨 약자인가요?
ISP는 Information Strategy Planning인데 PI는 무엇의 약자인가요? 고맙습니다
-
미해결자바 코딩테스트 - it 대기업 유제
바둑대회 조합 코드 작성질문드립니다.
조합으로 이렇게 작성했는데, 답이 다르게 나옵니다.잘못 생각한 부분이 있을까요?? import java.util.*; class Main { public static boolean[] visit; public static int answer; public static int[] white,black; public static int sum1,sum2,n; public int solution(int[][] cans){ int answer = Integer.MAX_VALUE; n=cans.length; white = new int[n]; black = new int[n]; visit = new boolean[n]; int i=0; for(int[] x : cans) { //흰색돌, 검정돌 분리해주기 white[i] = x[0]; black[i] = x[1]; i++; } dfs(0,0); //조합 탐색 시작 return answer; } public static void dfs(int L, int s) { if(L==n/2) { sum1=0; sum2=0; for(int i=0; i<n; i++) { //방문했던곳은 흰색 돌, 그렇지 않은 곳은 검은돌 if(visit[i]) sum1+=white[i]; //흰색돌들의 합 else sum2+=black[i]; //검정색 돌들의 합 } answer = Math.min(answer, Math.abs(sum1-sum2)); } else { for(int i=s; i<n; i++) { if(!visit[i]) { visit[i] = true; dfs(L+1, i+1); visit[i] = false; } } } } public static void main(String[] args){ Main T = new Main(); System.out.println(T.solution(new int[][]{{87, 84}, {66, 78}, {94, 94}, {93, 87}, {72, 92}, {78, 63}})); System.out.println(T.solution(new int[][]{{10, 20}, {15, 25}, {35, 23}, {55, 20}})); System.out.println(T.solution(new int[][]{{11, 27}, {16, 21}, {35, 21}, {52, 21}, {25, 33},{25, 32}, {37, 59}, {33, 47}})); } }
-
미해결타입스크립트의 모든 것
안녕하세요 정말 좋은 강의 감사합니다
안녕하세요 정말 좋은 강의 감사합니다.혹시 vscode extension은 어떤거 쓰시는지 알수있을까요..?
-
미해결C# 입문부터 Xamarin Forms(자마린 폼즈) + Maui(마우이) 안드로이드, 윈도우 앱(UWP) 동시에 만들기
라인복제 단축키 Ctrl+D 가 안되는데 해결했네요
위와 같이 나오면서, 라인 복제가 안됩니다. 아래와 같이 키보드 리셋을 했더니 됩니다.도구>옵션>환경>키보드>다시 설정 출처:https://stackoverflow.com/questions/71609825/duplicate-line-visual-studio-2022
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2 database 접속 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]jdbc:h2:~/test로는 접속이 잘되고 home에 test.mv.db 가 있는 것 까지 확인했습니다. 이후에 jdbc:h2:tcp://localhost/~/test 로 접속하려고 하니 다음과 같이 연결 거부가 뜹니다. 어떻게 해결해야 할까요 ?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
sqlite 데이터 삭제가 안됩니다...ㅠ
강의에서는 레코드삭제 버튼이 생겨서 데이터를 지울 수 있었는데, 제가 할 때는 생성되지 않아 지울 수가 없었습니다.SQL 실행에서 명령어를 넣어보려 해도 에러가 뜹니다. 어떻게 하면 데이터를 지울 수 있나요?
-
해결됨WEB2 - Node.js
패키지 매니저 오류
pm2 start main.js --watch 를 입력했을때 [PM2][ERROR] Script already launched, add -f option to force re-execution 라고 오류가 뜹니다.
-
미해결ChatGPT API 입문 강의 - 30분 만에 다국어 번역기 웹 풀스택 개발하기
500 Internal Server Error
안녕하세요! 우선 좋은 강의 정말 감사드립니다.강의를 듣고 직접 따라해 보다 아래와 같은 에러가 발생하여 문의 드립니다.혹시 이 에러의 해결 법을 아신다면 공유해주시면 정말 감사드리겠습니다.
-
미해결Flutter 초입문 왕초보편
안드로이드 WebView err_cleartext_not_permitted 오류 질문합니다.
안녕하세요. 저는 오준석 선생님의 강의를 듣고 있는 천정환 학생입니다. 구글에 검색해서 오류로 입력을 하였지만 계속 오류가 나오는데요. 비슷한 사례가 있으신지 궁금합니다.
-
미해결Klaytn 클레이튼 블록체인 어플리케이션 만들기 - 이론과 실습
npm run dev 후에 caver-js 에러 해결
ERROR in ./node_modules/caver-js/packages/caver-ipfs/src/index.js Module not found: Error: Can't resolve 'fs' in 'C:\Users\user\Desktop\sidejobs\klaytn1\addition-game-starter\node_modules\caver-js\packages\caver-ipfs\src' @ ./node_modules/caver-js/packages/caver-ipfs/src/index.js 21:11-24 @ ./node_modules/caver-js/packages sync ^\.\/.*\/src\/index\.js$ @ ./node_modules/caver-js/index.js @ ./src/index.js @ multi (webpack)-dev-server/client?http://localhost:8080 ./src/index.js1.에러가 발생한다 뭐가 문제인가?2.로그를 보니 caver-js 가 어쩌고 저쩌고 fs 가 어쩌고 하면서 문제가 발생한다. 3. 아마도 기존에 설치된 것들과의 버전 호환 문제가 아닌가 싶었다 4. 모르겠고 그냥 caver 다시 설치해보자 싶었다 5. npm install caver-js 하고 엔터를 갈긴다 6. 잘된다.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
아이템 먹기전에 무기로딩이 돼있습니다.
아이템 먹기전에 Obj List Class=SkeletalMesh 시이미 리소스를 불러와 있는상태인데요.. 로그 확인했습니다. 어디선가 불러오는거같은데 확인할 수 있는 방법이 있을까요??
-
해결됨[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
포토샵 작업할때
수험자 제공파일에 있는 원본이미지를 편집해서images 폴더에 png 혹은 jpg파일로 저장하잖아요근데 영상보면 원본이미지도 따로 저장하시던데이 원본이미지 저장도 필수인걸까요?
-
해결됨[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
sprite가 load가 되지않습니다
Managers.Resource._resources 에 아래 동작으로 sprite를 넣었는데 막상 저장된 곳을보면 sprite가 아닌 texture입니다 string loadKey = key; if (key.Contains(".sprite")) loadKey = $"{key}[{key.Replace(".sprite", "")}]"; // 리소스 비동기 로딩 시작. var asyncOperation = Addressables.LoadAssetAsync<T>(loadKey); 그래서 젬의 sprite가 변경이되지않습니다..코드는 첨부된걸로 해봐도 동일한데 유니티문제일까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
트랜잭션 커밋시 영속 컨텍스트, 그리고 트랜잭션 커밋과 종료의 차이
트랜잭션이 커밋이 일어나면 영속 컨텍스트가 어떻게 되는지 궁금해서 질문드립니다. 비슷한 질문이 있어 해당 글의 답을 보니, "커밋되는 시점에는 영속성 컨텍스트를 삭제한다."라고 되어있습니다.그런데 어떤 블로그 글에서는 커밋되더라도 영속 컨텍스트의 1차 캐시는 남아있고, 쓰기 지연 SQL 저장소의 내용은 사라진다고 되어있습니다.Q1. 정확히 어떻게 되나요? 그리고 "컨텍스트의 삭제"의 정확한 의미가 이해가 되지않아서 이 부분도 궁금합니다!Q2. 영속 컨텍스트 자체가 삭제되는거라면, 커밋될 때 영속 컨텍스트의 삭제와 엔티티 매니저를 close()할 때 영속 컨텍스트가 닫히는것의 차이가 무엇인지 궁금합니다!Q3. 그리고 트랜잭션 커밋과 종료의 차이가 무엇인지 궁금합니다.찾아보니 "COMMIT을 수행하면 하나의 트랜잭션 과정을 종료하는 것이다"라고 봤는데, 워딩의 차이이지 결국 같은 의미인가요? 아니면 커밋하지않고 트랜잭션이 종료될 수 도 있는건가요?감사합니다.