GKE 클러스터에서 --replicas 옵션으로 컨테이너를 배포하면 ReplicaSet의 관리를 받나요? kubectl create deploy --image=consol/tomcat-7.0 --replicas=5 위 명령으로 컨테이너를 배포하였는데요. 배포된 컨테이너를 삭제하려고 delete 명령어를 수행했는데, 계속 파드가 재생성되네요.. describe 명령어로 확인해보니깐 ReplicaSet으로 컨트롤 되고 있어서 삭제가 되도 다시 파드를 재생성하는거 같은데, 완전히 삭제하는 방법이 있을까요?
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 스프링 DB 1편 트랜잭션 이해 파트에서 질문입니다. "애플리케이션에서 DB 트랜잭션을 사용하려면 트랜잭션을 사용하는 동안 같은 커넥션을 유지해야한다. 그래야 같은 세션을 사용할 수 있다" 여기서 세션의 개념이 정확히 이해가 가지 않아 질문드립니다. 찾아본 결과 하나의 커넥션에는 여러 개 세션이 존재할 수도, 아예 없을 수도 있다고 하고, 세션은 전달된 SQL이 실행되는 하나의 논리적 단위라고 합니다. 강의 설명에 따르면 같은 세션을 유지해야만 트랜잭션이 하나의 단위로 처리되기 때문에 이를 위해 같은 커넥션을 사용해야 한다고 이해했습니다. 그렇다면 같은 커넥션을 사용하는 것을 보장했을 때 항상 같은 세션을 사용하는 것도 보장되는 것인가요? 한 커넥션이 여러 세션을 사용하는 경우는 어떤 경우인가요? 여러 세션을 사용하게 되면 여러 세션에서 여러 개의 트랜잭션이 실행될 수 있는 것인가요?
안녕하세요. 수업 잘 듣고 있습니다! 년 단위의 데이터를 가져오는 경우엔 1년에 딱 한 번만 코드를 작동하면 되는데, 이런 경우에도 에어플로우로 관리를 해주는 게 좋을까요? 태스크에 비해 너무 자원을 많이 쓰는 건지, 그래도 프로세스를 보기 편하게 관리할 수 있다는 점에도 활용하는 게 좋을지 고민이 많이 되네요. 강사님의 의견이 궁금합니다!
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 추상적인 내용을 코드로 먼저 보여드리고 질문하겠습니다. 먼저 정적인 클래스 의존관계는 다음과 같은데요 import hello.core.discount.DiscountPolicy; import hello.core.member.Member; import hello.core.member.MemberRepository; public class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) { this.memberRepository = memberRepository; this.discountPolicy = discountPolicy; } 제가 이해한 바로는, DIP 원칙을 지키기 위해 생성자를 통한 인터페이스 주입을 해야 한다고 들었습니다. 다음은 동적인 인스턴스 의존관계 관련 코드입니다. public class AppConfig { public MemberService memberService() { return new MemberServiceImpl(memberRepository()); } public MemberRepository memberRepository() { return new MemoryMemberRepository(); } public OrderService orderService() { return new OrderServiceImpl(memberRepository(), discountPolicy()); } public DiscountPolicy discountPolicy() { return new RateDiscountPolicy(); } } 먼저 앱을 실행하기 전인 정적인 클래스 의존관계 단계에서 생성자를 통한 인터페이스 의존성 주입으로 OrderService 객체가 MemberRepository와 DiscountPolicy 인터페이스를 사용할 것이라고 알린 후, 실제로 앱을 구동하면 런타임 환경에서 사용할 인스턴스를 생성하고 이전의 정적인 클래스 단계에서 주입한 것을 구현 객체로 반환하면서 의존성이 물리적으로 연결되었다고 볼 수 있나요? 그래서 정적인 단계와 동적인 단계로 구분한 것인가요?
지난시간에 배운 정규식 이용해서 풀어봤습니다. 항상 강의 잘 듣고 있습니다. 감사합니다. function sol(s) { let answer = ''; s = s.replace(/[^0-9]/g, ''); answer = s.indexOf(0); answer = s.substring(answer + 1, s.length); return answer; } console.log(sol('g0en2T0s8eSoft'));
안녕하세요 선생님! 강의 잘 듣고 있습니다. 한 가지 궁금한게 있어서 질문 남깁니다. 다름아니라, BookSearchAdapter의 onBindViewHolder에서 book의 position을 currentList에서 가져오시던데, val book = currentList[position]과 val book = getItem[position]의 차이점이 무엇인지 궁금합니다...! 기능적으로 차이가 없다면, 경우에 따라 어떤 것을 사용하는것이 더 효율적인지 궁금합니다! 감사합니다.
선생님 앞 강의에서 말씀 해 주신 s.length -i -1 로 풀고싶어서 아스키코드를 이용해봤는데 if 문을 열고 소문자 대문자 일 때만 돌게끔 범위를 설정해줬습니다. 이런 방법으로는 풀수없는걸까요 ? s[i] !== s[s.length -i -1] 일때는 'NO' 를 출력하게끔 했는데 맞는 문자열이 들어가도 'NO'를 출력하더라구요 ㅠㅠ function solution(s) { let answer = 'YES'; s = s.toLowerCase(); for (let i = 0; i < Math.floor(s.length / 2); i++) { if ( s[i].charCodeAt() >= 65 || s[i].charCodeAt() <= 90 || s[i].charCodeAt() >= 97 || s[i].charCodeAt() <= 122 ) { if (s[i] !== s[s.length - i - 1]) { return 'NO'; } } } return answer; } console.log(solution('found7, time: study; Yduts; emit, 7DnuoF'));
build 파일도 완성됐고 다른 것들도 다 오류없이 되었는데 serve -s build가 안됩니다.. 이렇게 오류가 뜹니다.. 커뮤니티에서 찾아봤는데 관리자 권한으로 실행하면 될 거라고 하셔서 해봤는데 안되고.. get-executionpolicy를 입력하고 set-executionpolicy -executionpolicy remotesigned입력하라고 하셔서 해봣는데 오류가 또 납니다.. https://github.com/veryyounng/emotion_diary.git
안녕하세요 퀴즈 7번을 하다가 궁금한 점이 생겨서 질문 남깁니다. Hamburger에 대한 class를 만들 때 class Hamburger{ } 로 만들면 오류가 생기지 않지만 public class Hamburger{ } 로 만들면 오류가 생기는 이유가 뭔가요 ? 감사합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] build.gradle의 dependencies에 추가한 runtimeOnly 'com.h2database:h2' 이것이 DB가 제공하는 클라이언트라고 하셨는데 인텔리제이로 실행한 후 웹 브라우저로 localhost:8080에서 회원 등록을 하고, 회원 조회를 할 수 있잖아요? 제가 회원 등록 및 조회를 할 때의 웹 브라우저에 붙어 있는 게 클라이언트이고, h2.bat을 통해 실행시킨 프로그램이 서버라고 보면 되나요? 비슷하게 이해한 건지 궁금합니다
let intervalId; let countdownStart = function () { messageContainer.style.display = "none"; ddayContainer.style.display = "flex"; counterMaker(); intervalId = setInterval(counterMaker, 1000); console.log(intervalId); }; let countdownReset = function () { ddayContainer.style.display = "none"; messageContainer.style.display = "flex"; messageContainer.innerHTML = "<h3>D-day를 입력해 주세요</h3>"; console.log("reset >> " + intervalId); clearInterval(intervalId); }; intervalId을 전역 변수로 선언해 놓은 후 전역변수 intervalId에 setInterval(counterMaker, 1000) 값을 담은 후에 마지막으로 저장된 intervalId값을 이용해서 clearInterval(intervalId)을 실행 시켜서 타이머를 중지 시키는 방법은 문제가 있는건가요? 정상 작동 하는 것 처럼 실행이 되긴합니다. ** 마지막으로 동작된 intervalId를 사용하지 않고 동작한 모든 intervalId를 intervalIdArr배열에 담아서 배열 전부를 반복문을 이용해 clearInterval을 하는 이유가 궁금합니다 **
회원등록과 회원목록조회의 경우, 서버기동 중에만 메모리에 등록되고 서버를 죽이면 데이터(?)가 사라지는 걸로 알고있습니다. 근데, 서버재기동 후 이전에 했던 회원정보로 회원가입하면 아래와같이 이미 존재하는 회원이라는 에러처리가 발생합니다. 서버 재기동시 store객체는 초기화 되는거 아닌가요? 에러처리가 발생하는게 정상인지? 정상이면 왜 그런지 알고싶습니다.