묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
강의 보지 않고 혼자 풀었는데
안녕하세요 혼자 푸는 중에 주어진 테스트케이스는 통과했으나 오답이 나왔습니다.질문에 들어와보니 테스트케이스가 여러개라는데 제 눈에는 문제에있는 한가지 테스트 케이스만 보여서요 다른 테스트 케이스는 어디서 볼 수 있나요?
-
해결됨퍼블리셔 취업 진짜 실전 가이드(PDF)
포토샵? 피그마?
선생님께서 퍼블리셔로 취업하는데 포토샵이 필요하다고 하셨었는데 피그마로 포토샵을 대체 가능한지 아니면 대체 불가능한지 제가 피그마를 아직 사용해 본적이 없어 궁금해서 여쭤봅니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
3분50초쯤에 오버라이드라고 말씀 하셨는데
Column().d.ts에서 declare로 정의 되어 있는것들을 오버라이드라고 말씀 하셨는데, 인자값에 따라 다른 호출을 하는건 오버로딩이 아닌가해서요!
-
해결됨Flutter 중급 1편 - 클린 아키텍처
모델 클래스 작석 시 nullable
json to dart 모델 작성시에nullable 보다 late final로 선언하는 것을 더 선호하신다고 했는데, 이유가 있을까요?
-
미해결Nuxt.js 시작하기
env.baseUrl 문제
nuxt.config.js // env config env: { // baseUrl: process.env.NODE_ENV === 'production' ? null : 'http://localhost:3000' baseUrl: process.env.BASE_URL || 'http://localhost:3000' } }api/index.jsconst instance = axios.create({ baseURL: process.env.BASE_URL, }) 에러nuxt 서버가 localhost:5000 입니다백엔드 서버가 localhost:3000 입니다인강처럼 해보고 안되서 이것 저것 해봐도 똑같은 에러가 뜹니다.. 하지만 api/index.js 에서 바로 baseURL : '경로' 적으면 에러가 나지 않습니다.원인을 알려주세요
-
미해결
할인문의
현재 전과목 할인이라 하여 확인해보니 홍정모 C강의가 할인이 되지 않습니다..확인부탁드립니다
-
미해결[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
prettier 적용 사라짐
강의 듣기전부터 프리티어는 사용하고 있었는데yarn add --dev eslint-config-prettier이걸 입력한이후 저장시 프리티어 간격조정이 자동으로 안됩니다format on save 다 체크 되있는 상태이고 다른폴더에선 프리티어가 되지만 yarn add --dev eslint-config-prettier 이걸 입력한 폴더만 간격 조정이 안먹는 데 이유가 뭘까요
-
해결됨[UI3 업데이트] 피그마 배리어블을 활용한 디자인 시스템 구축하기
슬랙 커뮤니티 초대 문의
안녕하세요! 선생님 슬랙 커뮤니티 초대 부탁드립니다!!
-
해결됨Vue 3 시작하기
제공파일문의
깃허브로 제공해주신 learn-vue-js 소스를 다운받으니수업내용이 이미 다있는데, 부분적으로 지우고 진행 하면 될까요?
-
해결됨Next + React Query로 SNS 서비스 만들기
LogoutButton 컴포넌트의 img 태그
Nextjs에서는 <Image /> 컴포넌트로 서버에서 이미지를 최적화 해주는 기능이 있는데,LogoutButton 컴포넌트에서는 기존의 <img> 태그를 사용하신 이유가 있는지 궁금합니다!사이즈가 작기 때문에 서버에 최적화를 맡기는 부담을 줄이기 위함일까요??
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
not exist in the namespace 에러가 납니다
error CS0234: The type or namespace name 'AddressableAssets' does not exist in the namespace 'UnityEngine' (are you missing an assembly reference?) error CS0234: The type or namespace name 'ResourceManagement' does not exist in the namespace 'UnityEngine' (are you missing an assembly reference?) 이 두 부분에서 에러가 뜨는데 어떻게 해결해야 하나요?
-
해결됨무작정 따라하기! TPS 게임 만들기.
27:46 4강) 콘솔 에러가 발생했습니다
NullReferenceException: Object reference not set to an instance of an objectGameManager.Update () (at Assets/_My/Scripts/GameManager.cs:50) 콘솔에 출력된 에러 내용입니다.cs:50 은 bulletText.text = currentBullet + " / " + maxBullet; 부분입니다. 오브젝트를 못찾는거같은데 어떻게 해결할 수 있을까요
-
미해결ChatGPT 영어 상황극 채팅 서비스 만들기 (Feat. 파이썬/장고채널스)
웹소켓 통신과 비동기처리 개념에 관해 질문 드립니다~
안녕하세요~알차고 담백한 강의 만들어주셔서 감사합니다!보는 사람까지 코딩이 참 쉽게 느껴지게 만드는 선생님의 코딩 실력이 너무 부럽네요~! 강의에서 다루는 내용과 관련된 개념과 조언을 구하고 싶은 부분에 관해 질문 좀 드릴게요.먼저 개념 관련 질문부터 드릴게요. 강의를 따라가는 데는 전혀 문제가 없었지만 제가 비전공자이다 보니 아래와 같은 웹소켓과 비동기처리에 관한 기본적인 개념이 헷갈리더라고요. 웹소켓으로 통신하면 애초에 병렬 처리가 이루어지는 게 맞나요? 여러 사람이 동시에 이 상황극 서비스를 이용해도 각 이용자와 ChatGPT 간의 대화는 독립적으로 진행되고, 그러니 모델로부터 답변을 받는 데 걸리는 시간도 일반적으로 ChatGPT 이용할 때와 같은 게 맞나요?consumer에서 async def를 사용하는 경우는 해당 메소드 안에서 처리하는 작업 중에 동시 처리가 가능한 작업이 있을 때가 맞나요? 이 강의에서 consumer의 메소드를 def로 구성한 건 메소드 안에서 작업이 순차적으로 진행되기 때문에 굳이 async def를 사용할 필요가 없기 때문인 거죠? 이어서 제가 개인적으로 진행하고 있는 프로젝트 관련해서 조언 좀 부탁드릴게요.개인 프로젝트로 주문봇 서비스를 만드는 중이고, 주문봇 페이지, 커뮤니티 페이지 등으로 구성된 홈페이지를 개발해서 실제 서비스 운영까지 목표로 삼고 있습니다. 궁금한 점은, 가령 주문봇 애플리케이션, 리뷰 어플리케이션, 커뮤니티 어플리케이션 등으로 구성된 장고 프로젝트를 서로 다른 가게에서 독립적으로 사용할 수 있게 하려면 어떻게 해야 하나요? 제가 만들려는 서비스를 기반으로 각 가게에서 자신의 홈페이지를 운영하게 할 수 있는 방법으로는 무엇이 있는지 궁금합니다.제가 만들려는 서비스를 배포하고 운영하기 위해서 필요한 기술에 대해서도 알고 싶습니다. 장고와 리액트로 서비스를 구현하고 배포와 운영은 클라우드 서비스를 이용해야겠다 정도로만 생각하고 있는데, 필요한 기술 스택에 관한 큰 그림을 좀 더 명확하고 현실적으로 그리고 싶어 질문 드려 봅니다.
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
컨트롤러와 서블릿의 차이점?
MVC 패턴을 사용하는 과정에서 @Controller과 서블릿의 차이점이 궁금합니다. 서블릿과 JSP에서는 비즈니스로직을 수행한 뒤 뷰 부분도 같이 실행했지만 MVC패턴을 활용한 부분에서는 비즈니스로직은 비즈니스로직만 뷰 관련 부분은 뷰 관련 부분에서만 실행하던데 그렇다면 @Controller와 서블릿의 차이점이 무엇인지가 궁금합니다.
-
해결됨Next + React Query로 SNS 서비스 만들기
<Image> 태그에 priority 적용건
브라우저 콘솔에 Image with src "/_next/static/media/zlogo.f72788b6.png" was detected as the Largest Contentful Paint (LCP). Please add the "priority" property if this image is above the fold.Read more: https://nextjs.org/docs/api-reference/next/image#priority 와 같은 warning이 뜨길래 공식문서와 블로그 글을 참고해 봤는데 이미지 로딩의 우선권을 주는 기능인 것 같던데요 그냥 유저가 이미지가 들어가 있는 페이지에 접속했을때, 빠른 로딩 우선권을 주는 거라고 생각하면 되는 걸까요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
lt, rt 사용하지 않아도 괜찮을까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이런식으로 해도 괜찮을까요?function handleCheck(sH, tH) { for (const [key, value] of tH) { //sH에 tH에 있는 값이 없으면 false return if (!sH.has(key)) return false //값이 같지 않으면 false return if (value !== sH.get(key)) return false } return true } function solution(s, t) { let answer = 0; let tH = new Map(); let sH = new Map(); //t for (const x of t) { if (tH.has(x)) tH.set(x, tH.get(x) + 1); else tH.set(x, 1) } //s 윈도우 생성 for (let i = 0; i < t.length - 1; i++) { if (sH.has(s[i])) sH.set(s[i], sH.get(s[i]) + 1); else sH.set(s[i], 1) } for (let i = sH.size; i < s.length; i++) { //윈도우에 추가 if (sH.has(s[i])) sH.set(s[i], sH.get(s[i]) + 1); else sH.set(s[i], 1) //비교, sH랑 tH 사이즈 체크 if (sH.size === tH.size) { //비교, sH랑 tH 값이 맞는지 체크 > 맞으면 카운트+ if (handleCheck(sH, tH)) answer++ } //sH 앞에 값 빼기 //sH 맨 앞 = s에서 현재 index+1 - tH사이즈 let idx = i + 1 - tH.size; //앞에 값 빼기 sH.set(s[idx], sH.get(s[idx]) - 1) //뺀 값이 0이면 삭제 sH.get(s[idx]) === 0 && sH.delete(s[idx]) console.log('----------------------') } return answer; } let a = "bacaAacba"; let b = "abc"; console.log(solution(a, b));
-
해결됨
젠킨스와 도커를 사용해서 배포할 때
인터넷에서 조사한 대로 하다가 에러를 만났는데 해결전에 프리티어 기간이 끝나서 결국 실습으로 해결하지 못해서 질문드립니다 ㅠㅠ 제가 진행한게 맞는지 이해한게 맞는지도 독학으로 하다보니 잘 모르겠네요...진행한 순서 : EC2 리눅스 생성EC2 시간 설정과 프로젝트에서 사용할 환경변수 설정git 설치 sudo yum install git도커 다운 sudo yum install docker도커 시작 sudo systemctl start docker도커로 자바 다운 docker pull openjdk:11도커로 젠킨스 이미지 다운로드 docker pull jenkins/jenkins:jdk11다운로드 이미지 조회 docker images젠킨스 이미지를 컨테이너로 실행 ocker run -d -p 8080:8080 -p 50000:50000 -v /home/jenkins:/var/jenkins_home -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -u root jenkins/jenkins:jdk11젠킨스에서 가입젠킨스에서 시간 설정젠킨스에서 사용할 플로그인 다운받아서 플러그인 올리기로 등록젠킨스 디렉토리 생성 sudo mkdir -p /home/jenkins/.sshSSH 권한 부여 sudo chmod 700 /home/jenkins/.sshSSH key 생성 sudo ssh-keygen -t rsa키 파일 설정 구간 /home/jenkins/.ssh/id_rsa비밀번호 없이 진행할 수 있도록 jenkins ALL=(ALL) NOPASSWD: ALLssh 퍼블릭을 복사해서 개발서버(authorized_keys)에 복사git에서 프로젝트의 레포지토리의 설정에서 Deploy keys에 ssh 퍼블릭을 넣음웹훅 설정 : 젠킨스가 설치된 서버 :포트/github-webhook/Git Token 발급Credential 등록 Kind : SSH Username with private keyUsername : 깃허브 아이디(닉네임)password : git token ID : 원하는 값 설정(아무거나)private key : ssh private 넣기Publish Over SSH 설정 name : 본인이 사용하고자하는 이름HostName : EC2 퍼블릭 ipusername : 리눅스니 ec2-userdirectory : 인스턴스 디렉토리`/home/ec2-user`여기서 Test Configurations을 누르면 에러발생여기서부터 막혀서 진행이 안됐는데 다음꺼는 조사한 거로 정리한건데 맞는지 확인을 위해 올립니다.Dockerfile 작성 FROM openjdk:11-jre-slim-buster ARG JAR_FILE=build/libs/*.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"] 젠킨스 item 생성 :파이프라인 파이프라인 설정파이프라인 충돌 방지 옵션 체크스크립트 작성pipeline { agent any stages { stage('Checkout') { steps { git branch: '원하는 브랜치명', url: '본인의 깃 레파지토리 URL(.git으로 끝나는링크)' } } stage('Build') { steps { sh './gradlew build' } } stage('Dockerize') { steps { sh ''' docker stop my_container_name || true docker rm my_container_name || true docker rmi my_image_name || true docker build -t my_image_name . ''' } } stage('Deploy') { steps { sh 'docker run -d --name my_container_name -p 8080:8080 my_image_name' } } } }도커 허브에 회원가입도커 로그인젠킨스 build 부분 수정./gradlew clean build echo " Execute shell start" # 도커 빌드와 개시 삭제 sudo docker build --no-cache -t cova1256/dev . # 기존 서버에 있는 컨테이너 중지 sudo docker stop spring-container || true #기존 서버에 있는 컨테이너 삭제 sudo docker rm -f spring-container || true # 도커 로그인 sudo docker login -u cova1256 -p password 입력 # 도커 이미지 태그 설정 및 태그가 없다면 오류가 발생해도 넘어가도록 true 처리 sudo docker image tag dev cova1256/dev || true # 도커 허브에 나의 레포지토리에 도커 푸시 sudo docker push cova1256/dev # 푸시 후 빌드한 이미지 삭제 sudo docker rmi -f cova1256/dev || true echo " Execute shell end"빌드 후 조치echo " 빌드 후 조치 start" # 기존에 있는 이미지를 삭제합니다. sudo docker rmi -f cova1256/dev || true # 기존에 있는 컨테이너를 중지합니다. sudo docker stop spring-container || true # 기존에 있는 컨테이너를 삭제합니다. sudo docker rm -f spring-container || true # 컨테이너를 설치하고 실행합니다. sudo docker run -d -p 8080:8080 --name spring-container cova1256/dev # none인 이미지 삭제 sudo docker rmi $(docker images -q -f dangling=true) echo " 빌드 후 조치 end" 질문 1 : 제가 진행했던 진행하려고 정리하는 방식이 맞나요?질문 2 : 저는 현재 EC2 외부에서 환경변수를 사용하는 방법을 사용했는데 Docker에서 외부 설정 파일 주입할 수도 있다고 하던데 Docker을 사용할 때는 후자의 방법을 선택해야 하나요?질문 3 : 저 에러는 어떻게 고칠 수 있을 까요? 찾아보니 권한을 줘야한다고 해서 주었고 git이나 젠킨스에 모두 넣었는데...
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
cascade구조를 활용한 Watch의 Delay
=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================이제 Watch만 들으면 1회독 끝나고, FPGA 강의와 함께 2회독을 돌릴 예정입니다 ㅎㅎ 강의를 수강중에 질문이 생겨 물어보고자 글을 쓰게 됐습니다.[이해한 부분]코드에서 Delay를 고려하지 않는다면 D-F/F에 의해 1 Cycle의 Delay가 발생하게 된다. (육안으로는 확인하기 쉽지 않다. 100만분의 1초)이를 보정하고자 코드 내 Delay 2정도를 감안하게 해주는 코드를 입력한다.[궁금증]제가 배우기론 Critical Path에 의한 딜레이도 존재하고, 복잡한 Logic일수록 영향이 크다고 알고 있습니다. [질문사항]Simulation 상에서는 Critical Path에 의한 Delay는 고려하지 않는지. 첫번쨰 구조에 비해 Cascade구조는 1시간 = 60분 = 3600초 로 초 -> 분 -> 시 순으로 증가한다고 이해했는데, 이렇게 되면 Delay의 영향이 더 커지게 되는것은 아닌지 몇 광년을 측정할 경우, 2번방법이 가장 좋다고 하셨는데 이부분을 듣고 나니 제가 2번에서 질문한 것과는 전혀 반대되는것 같습니다. Pipeline 개념으로 수도관에 물이 채워져있고, 신규 입력에 대해 밀어내기 때문에 빠른 동작이 가능한 것이라고 이해하는게 맞는걸까요? 질문내용이 강의내용에서 살짝 벗어나는것 같긴 한데, 이번 강의를 수강하며 궁금증이 생겨 질문드립니다!! (실제로 면접에서 Timing관련 Simulation 동작을 작성하라고 했는데 상태변화에만 집중한 나머지 Timing 부분을 고려하지 못했던 경험이 있어서요 ㅠ)
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@ExceptionHandler와 @ResponseStatus 같이 쓰는 경우 API예외처리과정
https://www.inflearn.com/questions/361278/exceptionhandler-%EC%A7%88%EB%AC%B8이 질문에서" @ResponseStatus는 내부적으로 response.sendError(statusCode, resolvedReason); 를 통해 response 내부에 오류가 발생했었음을 상태로 저장하게 됩니다.(이전 강의에서 알려주셨던 내용) "보고 의문이 들어 아래코드를 디버깅을 하고 정리했습니다.ApiResponse를 제가 니즈에 맞게 만든 JSON 형식이라 가정하시면 됩니다. @ResponseStatus(HttpStatus.BAD_REQUEST) @ExceptionHandler(BindException.class) public ApiResponse<Object> bindException(BindException e) { return ApiResponse.of( HttpStatus.BAD_REQUEST, e.getBindingResult().getAllErrors().get(0).getDefaultMessage(), null ); }@ExceptionHandler을 사용하여 API예외처리 진행과정요청의 Accept 헤더가 "*/*", "application/json"인경우(1) 컨트롤러에서 예외발생(2) 이 응답값을 @ExceptionHandler을 사용하여 프로젝트의 니즈에 맞게 변경예로들어 상품에서 일어나는 오류, 회원가입에 일어나는 오류에 맞게 변경return값을 ResponseEntity로 해주거나 클래스에 @RestControllerAdvice를 이용이 부분이 궁금한점인데(Q1) API 오류 처리 이므로 @ResponseStatus에 의해 에러 코드만 변경 되고(500 -> 400) 반환값인 ApiResponse를 DispatchServlet에서 처리하여 클라이언트에게 전달해준다고 생각이 들었습니다. (Q2) 만약 API 오류 처리가 아닌 오류 화면(HTML 오류 처리)이었더라면 (@ExceptionHandler 사용 안하고)-> 컨트롤러에서 예외발생-> @ResponseStatus를 사용하여 에러 코드만 변경되고 error정보가 WAS(HttpServlet)까지 전달-> 기본 에러 페이지인 "/error"로 재요청-> BasicErrorController.errorHtml() 호출-> response.setStatus(getStatus(request).value())(=response.sendError()) 발생-> ModelAndView 리턴을 하는 게 아닌가요? (Q3) @ResponseStatus가 response.sendError()를 발생하는 게 아니라 에러 코드만 변경해주고 이를 바탕으로 ExceptionHandler나 BasicErrorController가 처리해 준다고 생각이 듭니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
em.persist() 메서드 호출시 id값 얻어오기
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.회원 서비스 개발 4분쯤에 영한님께서 em.persist() 메서드로 영속성 컨텍스트에 인스턴스가 들어가게되면, DB에 들어가기 전에 id(key)에 대한 값이 들어가지게 된다고 하셨는데, 제가 이전에 들었던 부분은 insert쿼리가 나갔다가 저장된 엔티티를 통해서 id값을 받아오는 걸로 알고 있습니다.그래서 JPA 기본편 4챕터를 찾아보니, JDBC3에서 추가된 `Statement.getGeneratedKeys()` 이 메서드를 사용하면, 데이터를 저장하면서 동시에 생성된 기본 키 값도 얻어올 수 있다는 것을 제가 정리해놨었는데, getGeneratedKeys() 메서드가 ResultSet을 반환하던데, 구글링 해보니 ResultSet은 DB에서 조회한 정보가 담겨있는 것이더라구요. 그래서 연결지어서 생각해보니 getGeneratedKeys() 메서드를 호출해서 DB에서 마지막 결과의 id를 조회해서 할당하는 이런 방식으로 동작 하는 건가.. 생각하기도 했지만, 잘 모르겠습니다....ㅎㅎ답변 부탁드리겠습니다!