묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
--record 옵션을 대체하는 옵션이 있나요?
kubectl 명령어의 --record 옵션이 deprecated 된다고 나오는데요, 변경 이력(history)을 기록하고 rivision을 확인할 수 있는 방법이 있을까요? 찾아보는데 잘 안보이네요. kubectl rollout history deployment deploy-roll 다만, 모든 deployment rollout history는 기본적으로 저장된다는데 --record 옵션을 넣지 않아도 history가 저장되는 것이 맞나요? (제가 테스트를 해봐도 되겠네요.) [업데이트] --record 옵션없이 하면 CHANGE-CAUSE 가 모두 <none>으로 나오네요.deployment.apps/deploy-rollout REVISION CHANGE-CAUSE 1 <none> 2 <none> 3 <none> Rolling Back a DeploymentSometimes, you may want to rollback a Deployment; for example, when the Deployment is not stable, such as crash looping. By default, all of the Deployment's rollout history is kept in the system so that you can rollback anytime you want (you can change that by modifying revision history limit).https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
-
미해결한 방에 끝! 빅데이터분석기사 실기 작업형
강사님의 Notion 페이지를 어떻게 접속하나요?
강사님, 안녕하세요. 첫 번째 "강의 소개 및 방향성 제시" 강의를 이수하고 Notion에 회원가입을 했습니다. 강사님의 Notion페이지 접속하려면 별도 URL을 알아야 하나요?
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
넌적스 실행결과가 잘못나와서 질문드리고 싶습니다
강사님 안녕하세요 이렇게 파일과 폴더를 만들고 app.js를 실행했는데 넌적스 실행결과가 잘못나와서 질문드리고 싶습니다 넌적스 실행결과가 성공하지 못해서 혹시 그 원인을 가르쳐주시면 감사하겠습니다 아래는 app.js 코드입니다 const nunjucks = require(`nunjucks`); const express = require(`express`); const morgan = require(`morgan`); const path = require('path'); const app = express(); app.set('view engine', 'html'); nunjucks.configure('views',{ express: app, watch: true }) app.set('port', process.env.PORT || 3000); //'port' 라는 속성에 포트번호 3000번을 설정합니다. //서버의 포트를 3000번으로 지정하는 것 같습니다. // 이 속성은 아래 19행처럼 가져올 수 있습니다 //app.use(morgan('dev')); app.use(morgan('dev')) app.get('/', (req, res) => { // res.send('Hello, Express'); console.log('진입') res.sendFile(path.join(__dirname, 'views/main.html')); }); app.listen(3000, () => { console.log(app.get('port'), '번 포트에서 대기 중'); }); 아래는 main.html 파일입니다 {% include "header.html" %} <main> <h1>메인 파일</h1> <p>다른 파일을 include 할 수 있습니다</p> </main> {% include="footer.html" %} 아래는 header.html 파일입니다 <header> <a href="/">home</a> <a href="/about">About</a> </header> 아래는 footer.html 파일입니다 <footer> <div>푸터입니다.</div> </footer> 읽어주셔서 감사합니다
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Task 순서 질문
안녕하세요. 아래 코드처럼 Task 안에 while 대신 i를 찍어보게 했는데 왜 i가 0~3까지 나오지 않고 전부 4로 찍히는지 제가 이해하고 있는게 맞는지 궁금합니다. Task.Start() 함수는 TaskScheduler에 예약을 시키는 함수이기 때문에 for문을 돌면서 바로 실행시키지 않는데요. 실행순서가 오로지 스케쥴러에게 의존적이기 때문에 예측할 수 없고, 따라서 이미지와 같이 실행할 때마다 다르게 나옵니다. i가 4가된 이유는 for문을 4번 다 돈 후 어느 특정 시점에 Task(일감)이 실행이 되기 때문에, i=4로 찍히는 것입니다. 디버그 모드에서 천천히 한줄한줄 실행했을 경우 i가 4가 아닌 경우도 출력이 되던데, 그냥 실행시키는 경우에도 진짜 운좋으면 i가 4가 아닌 경우도 나올수가 있을까요?
-
해결됨스프링 핵심 원리 - 기본편
섹션7의 애노테이션 직접 만들기 관련 질문입니다.
안녕하세요, 섹션7의 애노테이션 직접 만들기 강의를 수강하면서 궁금한 점이 있어 질문드립니다. 강의를 보면 MainDiscountPolicy 애노테이션을 만들면서 Qualifier 구현 코드에 있는 Target, Retention 등의 다른 애노테이션을 MainDiscountPolicy에도 동일하게 작성합니다. 그런데 MainDiscountPolicy annotation내에는 Qualifier애노테이션을 사용하는데, Qualifier 애노테이션을 사용하면서 Target이나 Retention 같은 다른 애노테이션이 이미 적용되는게 아닌지 궁금합니다. 애노테이션에는 상속이 되지 않는다는 개념은 이해했지만, 상속과 별개로 Qualifier내의 Traget 등의 내용이 적용되면서 같은 Qualifier 애노테이션 하나만 적어도 같은 효과를 낼 것 같아서 질문드립니다. 그리고 추가로, 애노테이션을 모아서 사용하는 기능은 스프링이 제공해 주는 것이라고 했는데, 그럼 자바 자체에서는 한 변수/한 함수에 애노테이션을 여러개 달 수 없는건가요? 또, 이게 스프링이 제공해주는기능이라면 스프링없는 순수 자바 코드만으로 짜여진 테스트를 테스트하는것이 불가능해지는건가요?
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
새 프로젝트 실행
안녕하세요. 말씀하신 대로 android studio를 깔아서 new project를 했는데, 맨 처음 빌드에서 There was a failure while populating the build operation queue: Failed to create MD5 hash for file content. Failed to create MD5 hash for file content. 데이터 오류(CRC)입니다 이런 오류가 납니다. 구글에서 여러가지 방법을 써봤는데 별다른 효험이 없네요. 혹시 어떻게 해결하시는지 알 수 있을까요. android studio version은 2021.1.1.23이고, 운영체제는 windows입니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의중에 findOne()을 어디서 만들었는지 모르겠네요?
제가 학습하다가 놓쳤는지 findOne 만든거 기억나시죠? 하시는데 전혀 기억이 안나서 못찾고있습니다 ㅠㅠ
-
미해결React + API Server 프로젝트 개발과 배포 (CI/CD)
도와주세요..
ACTIONS에 가도 이렇게만 나와요.. 노란점도 없고요 ㅠ 를 이용해주세요.
-
해결됨스프링 시큐리티
ConcurrentSessionControlAuthenticationStrategy는 어떻게 같은 user를 인증한 서로 다른 세션이 있는지, 또 그 수가 얼마나 있는지 알 수 있는 것인가요?
ConcurrentSessionControlAuthenticationStrategy는 어떻게 같은 user를 인증한 서로 다른 세션이 있는지, 또 그 수가 얼마나 있는지 알 수 있는 것인가요? 유저가 인증 요청을 할 때마다, 해당 유저와 동일한 유저의 인증된 세션이 존재하는지, 서버에 있는 모든 세션들을 순회하면서 Authentication객체를 열어보고, 거기에 있는 principal 객체의 username이 현재 인증 요청을 한 username과 일치하는지 항상 확인하는 것인가요? 그럼 굉장히 느리고 비효율적일 것 같고 그렇게 구현되지는 않았을 것 같은데, 그럼 어떻게 구현되어 있는 것인지 궁금합니다.
-
미해결실전! Querydsl
String 타입 동적 쿼리 작성하기
안녕하세요! 소중한 강의 열심히 보면서 공부하고 있습니다. 감사드립니다.😊 여러 변수로 나누어져 있는 Address 데이터들을 String 타입으로 모두 합친 뒤 클라이언트로부터 입력 받은 keyword로 where 절에서 검색기능을 하고 싶은데 String 타입에 contains() 함수를 사용하면 BooleanExpression 타입이 아닌 boolean 타입으로 반환값을 받아 컴파일 오류가 나는데 StringPath 타입이 아닌 String 타입으로 쿼리를 짜는 방법은 없을까요? //Address 클래스 //컴파일 오류 concat() 함수를 사용해봐았는데 쿼리문을 나가지만 원하는 데이터는 얻지 못했습니다. (아무런 데이터가 출력되지 않음) //sql where문
-
미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)
async 관련해서 질문입니다!
async가 붙은 함수에서는 코루틴으로 동작해서 입구와 출구가 여러개인걸로 이해하고 await가 붙은 부분에서 탈출을 할수있는걸로 이해를 했는데요. 자장면 예시를 들어주신것처럼 asyncio.gather(자장면(1), 자장면(2), 자장면(3)) 로 했으면 첫번째 집에 간후 await asyncio.sleep으로 탈출을 하고 다음집으로 넘어가고 먼저 완료된 순으로 그 이후 구문이 작동이 되는데 먼저 완료가 됬는지는 어떻게 아는걸까요..? 1,2,3일수 있고 2,3,1 일수도 있고 먼저 완료된 코루틴? 함수? 가 어떤건지 어떻게 아는지가 궁금합니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
wsl2 포트포워딩 장고 로컬 서버 접속불가
안녕하세요 진석님! 저는 wsl2를 사용하여 강의를 듣고 있는 수강생입니다. 강의를 따라하면서 한번 외부접속을 시도해보고 싶어 구글링을 해보니 포트 포워딩이란걸 이용하더라고요! 그래서 이와 같이 파워쉘에서 명령어를 쳐서 포트 포워딩을 하였습니다. 이렇게 설정을 하고나서 사진의 ip와 포트로 runserver를 돌리니 잘 돌아가는데 그냥 runserver 혹은 127.0.0.1:8000, localhost:8000은 접속이 되지 않는 현상이 발생하였습니다. 그런데 또 포트번호만 바꾸면 잘 돌아가더라고요! 이러한 현상의 원인을 알 수 있을까요?
-
미해결After Effects CC 2020 모션 그래픽의 입문 Part.1
오퍼시티 엔 마스크 강좌에서 알파
안녕하세요 보다가 문의드릴게 있는데, 알파채널이 무엇이고 강의도중 선생님께서 알파정보를 확인하고 알파데이터를 가지고 있다고 말씀하셨는데, 알파가 무엇인가요?? 왜 확인했는지 궁금합니다!
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
안녕하세요 강사님!
안녕하세요 강사님! 강의 잘 듣고있습니다. 다른 분과 동일한 에러가 발생하여 아래와 같이 코드를 작성하여 오류를 해결했습니다만, 코드의 로직이 맞는지와 다른 방법이 있는지 궁금합니다. (질문 수정해서 올렸습니다! 감사합니다!.) 오류 내용 해결 코드 def post_new(request): if request.method=="POST": form = PostForm(request.POST, request.FILES) if form.is_valid(): post = form.save(commit=False) post.author = request.user post.save() post.tag_set.add(*post.extract_tag_list()) messages.success(request, '포스팅을 저장했습니다.') redirect('/') else: form = PostForm() return render(request, 'instargram/post_form.html', { 'form' : form, })
-
미해결면접과 취업을 부르는 '퍼블리셔 개인 포트폴리오 홈페이지' 제작
PDF 파일도 모달로 띄우는 방법이 궁금합니다.
안녕하세요 선생님. 강의 보면서 열심히 포트폴리오를 준비하고 있습니다. 질문은 모달로 PDF 파일을 띄우는 방법이 궁금합니다. PDF파일인지 파워포인트인지 정확하게 모르겠네요..! https://www.youtube.com/watch?v=-kz4EvLbbjE&t=1695s 이 유튜브 강좌에서 14분55초에 보면 PDF파일 같은걸 모달로 띄우는데.. 이것도 featherlight 플러그인을 사용한건가요?? 아니라면 다른 방법은 뭔지 궁금합니다..!
-
미해결제로부터 시작하는 네카라쿠배 합격 가이드
CS 지식 관련 내용에 대한 질문드립니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 2:34 자료구조, 알고리즘에 대해 이 강의 다른 장에서 자주 나오는 질문들에 대한 정리가 있다고 하셨는데 강의를 모두 수강했는데 못찾아서요 어느 부분인지 알 수 있을까요?
-
미해결Slack 클론 코딩[실시간 채팅 with React]
<IUser | false> 에러 입니다 ㅠ
안녕하세요 제로초님 혼자 에러해결해보려다 실패해서 질문남깁니다 ㅠㅠ <IUser | false> 쓰니까 에러가 납니다 userData는 개체가 undefined 인거 같습니다 에러 뜨길래 ? 넣어서 막았는데 막으니까 false | IUser 형식에 닉네임 이메일 워크스페이스 속성이 없다고 합니다.. 제로초님 이랑 똑같이 코딩했는데 왜 이럴까요..
-
미해결Vue.js + TypeScript 완벽 가이드
코드 스플리팅 방법시 타입스크립트 적용
안녕하세요 캡틴판교님 덕분에 즐겁게 공부하며 개발하고 있는 주니어 개발자입니다. vue 끝장내기 강의에 코드 스플리팅 기법을 적용하여 component: () => import("@/xxx.vue"), 위와 같은 방법으로 라우터를 구성한 뒤에 타입스크립트를 적용하니 리턴타입이 없다고 나오는데요 (각 라우터를 파일분리 후 import하여 사용중입니다.) 아래와 같이 하니 오류없이 되긴하는데, 괜찮은 코드인지 궁금하여 질문 올리게 되었습니다. import { Component } from "vue/types/umd"; type ImportComponentType = Promise<{ default: Component }>; ... component: (): ImportComponentType => import("@/xxx.vue"),
-
해결됨코딩으로 학습하는 GoF의 디자인 패턴
Flyweight Pattern 이론 강의 자료중에 오타인거 같습니다.
Flyweight Pattern 이론 강의 자료 중에 내적인 요소, 외적인 요소의 영어 표현으로 [Intrinsit], [extrinsit] 라는 표현이 있는데 해당 표현들은 [Intrinsic], [extrinsic] 표현인거 같습니다. 혹시 오타이신건가요? 항상 좋은 강의 감사드립니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
LoginForm 컴포넌트에서 props로 setIsLoggedIn을 받아올 때 질문입니다!
LoginForm 컴포넌트에서 AppLayout 컴포넌트의 props로 setIsLoggedIn을 받아올 때 밑에 빨간 줄이 뜨네요! 위 경고(?) 메시지가 떠서 구글 찾아보면서 propTypes 적용해봤는데setIsLoggedIn이 isLoggedIn의 상태를 바꾸는 함수라 생각하여 아래와 같이 작성해봤는데 맞는지 여쭤보고 싶습니다! 빠르게 보시라고 LoginForm 컴포넌트 내용 전체 올릴게요! import React, { useState, useCallback } from 'react'; import propTypes from 'prop-types'; import { Form, Input, Button } from 'antd'; import Link from 'next/link'; import styled from 'styled-components'; const ButtonWrapper = styled.div ` margin-top: 10px; `; // 백틱 안에는 CSS 적듯이 적으면 됨 // div 태그이면서 css가 적용된 ButtonWrapper 컴포넌트 사용 가능 const LoginForm = ({ setIsLoggedIn }) => { const [id, setId] = useState(''); const [password, setPassword] = useState(''); const onChangeId = useCallback((e) => { setId(e.target.value); }, []); const onChangePassword = useCallback((e) => { setPassword(e.target.value); }, []); // 배열 안에 id, password 작성하지 않으면 초기값을 기억하기 때문에 넣어줘야 함 const onSubmitForm = useCallback(() => { console.log(id, password); setIsLoggedIn(true); }, [id, password]); return ( <Form onFinish={onSubmitForm}> <div> <label htmlFor="user-id">아이디</label> <br /> <Input name="user-id" value={id} onChange={onChangeId} /> </div> <div> <label htmlFor="user-password">비밀번호</label> <Input name="user-password" type="password" value={password} onChange={onChangePassword} required /> </div> <ButtonWrapper> <Button type="primary" htmlType="submit" loading={false}>로그인</Button> <Link href="/signup"><a><Button>회원가입</Button></a></Link> </ButtonWrapper> </Form> ); }; LoginForm.propTypes = { setIsLoggedIn: propTypes.func.isRequired, }; LoginForm.defaultProps = { setIsLoggedIn: () => console.warn('setIsLoggedIn 값이 없습니다') }; export default LoginForm;