Til

    [Python] Iterable, Iterator, Generator, yield. [i for i in a]와 (i for i in a)가 다른 이유

    스포일러: Iterable a에 대해 [i for i in a]은 list를 반환하고 (i for i in a)는 Generator를 반환한다. 무엇이 다를까? !주의: Iterable과 Iterator를 잘 구분하여 읽어야 한다. Iterable Iterable는 반복적으로 포함된 요소를 반환할 수 있는 객체이며 list, dict, set, str, bytes, tuple 등이 예시이다. Python에서 Iteratable은 __iter__ method를 포함하는 객체이다. 객체나 인스턴스가 가진 method와 attribute를 출력해주는 dir 함수를 통해 Iterable임을 확인할 수 있다. >>> dir(list) ['__add__', '__class__', '__contains__', '__..

    [kubernetes] kubectl --record, kubectl rollout undo

    --record kubectl 명령어 뒤에 --record나 --record=true를 붙이면 나중에 kubectl rollout history {target deployment}을 했을 때 해당 명령어가 annotation으로 기록되어 있다. kubectl describe deployment ...로도 이 기록들을 확인할 수 있다. rollout undo deployment에 적용한 update를 rollback하는 명령어다. kubectl rollout undo {target deployment}을 하면 최근 업데이트 직전로 deployment가 수정된다. undo를 하면 kubectl rollout history {target deployment}에서 예전 revision이 최신 revision으로..

    [kubernetes] kubectl create vs apply ... and edit

    요약하자면 kubectl create와 kubectl apply는 모두 생성을 위해 사용될 수 있다. 하지만 생성하고자하는 대상이 이미 존재할 때 kubectl create는 에러를 발생시키며 kubectl apply는 이미 존재하는 대상을 apply 하는 내용으로 수정시킨다. 자세한 내용은 아래 내용을 참고해보자 https://stackoverflow.com/questions/47369351/kubectl-apply-vs-kubectl-create kubectl apply vs kubectl create? What I understood by the documentation is that: kubectl create Creates a new k8s resource in the cluster kubect..

    번사이드 보조정리(Burnside Lemma)

    구글 foobar challenge라는게 있다는걸 알게 되어서 검색을 해보던 중 foobar challenge 후기 블로그를 찾게 되었다. 해당 블로그에서 마지막 Level 5 문제 관련해서 소개된 내용이다. 대수학의 Group action 개념을 이용해 정의되는 Lemma인데 경우의 수 문제나 코딩 테스트 문제에 많이 언급되는 것 같다. Lemma의 내용은 위 블로그에서 소개한 블로그들에 잘 나와있다. 수학하는 블로그 - 번사이드 보조정리 AlgoShitPo Blog - 번사이드 보조정리 삼성 소프트웨어 멤버쉽 블로그 - 번사이드 보조정리(Burnside Lemma) 셋 다 같은 예시를 두고 내용을 설명하고 있으니 가장 이해가 잘 가는 설명을 찾아보면 된다. (셋 다 증명은 없고 정리의 내용만 설명한다..