-
표준라이브러리
Python 경우의 수 구하기
# itertools 사용from itertools import permutations, combinationsdata = ['김상철', '류경수', '이영식', '고도윤', '김두환']# 3개의 조합 구하기list(combinations(data, 3))## 결과값 #[('김상철', '류경수', '이영식'),# ('김상철', '류경수', '고도윤'),# ('김상철', '류경수', '김두환'),# ('김상철', '이영식', '고도윤'),# ('김상철', '이영식', '김두환'),# ('김상철', '고도윤', '김두환'),# ('류경수', '이영식', '고도윤'),# ('류경수', '이영식', '김두환'),# ('류경수', '고도윤', '김두환'),# ('이영식', '고도윤', '김두환')]# 2개의 순열..
-
표준라이브러리
Python 리스트 묶기
zip으로 iterable 타입 묶기# zip 활용num = [1, 2, 3, 4, 5]alpha = ['a', 'b', 'c']kr = ['가', '나', '다', '라']result = zip(num, alpha, kr)list(result)# 결과값# [(1, 'a', '가'), (2, 'b', '나'), (3, 'c', '다')]가장 개수가 적은 alpha을 기준으로 묶임 zip_longest로 iterable 타입 묶기 (긴 객체 길이에 맞추기)# itertools.zip_longest 활용from itertools import zip_longestnum = [1, 2, 3, 4, 5]alpha = ['a', 'b', 'c']kr = ['가', '나', '다', '라']# Default None..
-
표준라이브러리
Python 리스트 섞기
# random 활용import randomsample = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]random.sample(sample, len(sample)) # 결과값 예시: [8, 1, 9, 7, 5, 4, 2, 3, 6, 10]
-
카테고리 없음
Python 최소공배수
# math 활용## python 3.9 이상 ##from math import lcmlcm(9, 10, 14) # 결과값 : 630
-
Python 경우의 수 구하기
# itertools 사용from itertools import permutations, combinationsdata = ['김상철', '류경수', '이영식', '고도윤', '김두환']# 3개의 조합 구하기list(combinations(data, 3))## 결과값 #[('김상철', '류경수', '이영식'),# ('김상철', '류경수', '고도윤'),# ('김상철', '류경수', '김두환'),# ('김상철', '이영식', '고도윤'),# ('김상철', '이영식', '김두환'),# ('김상철', '고도윤', '김두환'),# ('류경수', '이영식', '고도윤'),# ('류경수', '이영식', '김두환'),# ('류경수', '고도윤', '김두환'),# ('이영식', '고도윤', '김두환')]# 2개의 순열..
2024.09.22 23:56 -
Python 리스트 묶기
zip으로 iterable 타입 묶기# zip 활용num = [1, 2, 3, 4, 5]alpha = ['a', 'b', 'c']kr = ['가', '나', '다', '라']result = zip(num, alpha, kr)list(result)# 결과값# [(1, 'a', '가'), (2, 'b', '나'), (3, 'c', '다')]가장 개수가 적은 alpha을 기준으로 묶임 zip_longest로 iterable 타입 묶기 (긴 객체 길이에 맞추기)# itertools.zip_longest 활용from itertools import zip_longestnum = [1, 2, 3, 4, 5]alpha = ['a', 'b', 'c']kr = ['가', '나', '다', '라']# Default None..
2024.09.22 23:48 -
Python 리스트 섞기
# random 활용import randomsample = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]random.sample(sample, len(sample)) # 결과값 예시: [8, 1, 9, 7, 5, 4, 2, 3, 6, 10]
2024.09.22 23:38 -
Python 최소공배수
# math 활용## python 3.9 이상 ##from math import lcmlcm(9, 10, 14) # 결과값 : 630
2024.09.22 23:35 -
Python 최대공약수
# math 활용from math import gcdgcd(30, 60, 90, 150, 180) # 결과값: 30
2024.09.22 23:33 -
Python 날짜 차이
# datetime 활용from datetime import datedate1 = date(2024, 9, 22)date2 = date(2023, 9, 22)diff = (date1 - date2).daysdiff # 결과값:366
2024.09.22 23:31 -
누니주얼리 결혼 반지 맞춘 후기
후기를 남기기에 앞서 우리가 고민했던 결혼 반지에 대해 먼저 소개하자면 첫 번째. 일상 생활에서 계속 착용할 반지이니 만큼 착용시 불편함이 없었으면 좋겠다. 두 번째. 착용하는 기간이 긴 반지이니 질리지 않을 디자인이었으면 좋겠다. 세 번째. 안질리는데 이뻐.. 그러면 좋겠어 우리는 위의 세 가지의 고민을 가지고 결혼 반지를 맞추기 위해 여러 업체를 찾아보던 중 우리 보다 먼저 결혼을 앞둔 같은 회사 동료들이 모두 누니 주얼리에서 반지를 맞췄기에 관심이 생겨 여러 반지 디자인과 후기들을 찾아보고 글쓴이도 실제 매장에 방문하게 되어 후기로 남긴다. 정성스러운 후기를 쓰려했으나 이 후기를 보고 방문을 하게 되실 분들이 얼마나 있을지도 모르겠고 웬만하면 누니주얼리의 디자인은 미리 보고 오셨을 거라 생각하고 내..
2023.10.11 23:29 -
miniCRAN으로 로컬 Repository 구성
구성 환경 Ubuntu 버전 : 22.04.3 LTS R 버전 : v4.1.2 (rstudio-server) miniCRAN 설치 miniCRAN은 curl-devel 패키지에 대한 시스템 종속성이 있는 RCurl 패키지가 존재함으로 libcurl을 먼저 설치해줍니다. # ======================================= # libcurl 설치 (miniCRAN 설치 시 필요) # ======================================= sudo apt-get install libcurl4-openssl-dev miniCRAN, igraph 설치 # ======================================= # miniCRAN 및 igraph 설치 # ==..
2023.09.17 20:37 -
CentOS NFS 설정
NFS Server 설정 (서버 측) # =================================================================== # 방화벽 해제 # =================================================================== firewall-cmd --permanent --zone=public --add-port=2049/tcp # =================================================================== # nfs-utils 설치 # =================================================================== sudo yum insta..
2023.09.04 00:10 -
kubernetes join token 생성
kubadm token 생성 kubeadm init후 생성된 토큰은 기본적을 24시간 후에 만료된다. 토큰이 만료된 후 worker 노드를 클러스터에 편입시키고자 하는경우 control-plane에서 아래 명령어를 실행하여 새로운 토큰을 생성 할 수 있다. # 토큰 생성 kubeadm token create $ 5didvk.d09sbcov8ph2amjw --discovery-token-ca-cert-hash 값 가져오기 openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | \ openssl dgst -sha256 -hex | sed 's/^.* //' kubeadm join # 위..
2023.08.11 00:44 -
nerdctl 설치
구성 환경OS : CentOS-Stream-Release-9.0.21.el9.noarchCRI : containerd github.com/containerd/containerd v1.7.1설치버전 : nerdctl version 1.4.0 nerdctl 설치nerdctl은 containerd에서 뒷글자 nerd에 control를 붙인 명령어로 docker와 친화적인 CLI 툴로, docker 명령어와 비슷하게 containerd에 올라가 있는 여러 가지 오브젝트들을 확인할 수 있습니다. 설치를 위해 아래 링크에 접속하여 필요한 버전의 binary 파일을 다운로드 받습니다.→ 원하시는 버전 클릭 후 맨 아래를 보시면 됩니다.※ 해당 포스트에서는 containerd, ctr, runc 등 한 번에 모두 설..
2023.08.11 00:14 -
Containerd 설치
구성 환경 OS : CentOS-Stream-Release-9.0.21.el9.noarch 설치버전 : containerd github.com/containerd/containerd v1.7.1 Containerd 설치 Containerd를 설치하기 위해 아래 사이트에 접속하여 설치하고자 하는 버전을 다운받는다. containerd – containerd downloads To install the binaries for containerd version 1.7.2 (latest), click on the Binaries (.tar.gz) button for that version in the Releases table below. That will copy the tarball URL to your c..
2023.08.11 00:14 -
Linux ssh 보안 설정
sudo 권한이 있는 유저 생성 & root ssh 접근 제어 모든 권한을 갖고 있는 root 계정으로 ssh 접근을 막기 위해서 sudo 권한이 있는 유저를 생성하고 root 계정의 ssh 접근을 비활성화 시킨다. useradd -m sudouser# sudouser를 홈디렉토리와 함께 생성 passwd sudouser# password 변경 usermod -aG sudo sudouser# sudo 그룹에 추가 /etc/ssh/sshd_config 파일에 아래 값들을 수정하여 root 계정의 외부 접속을 막고 접속을 허용할 계정들을 추가합니다. ※ 아래 부터 나오는 설정값들은 모두 /etc/ssh/sshd_config 파일입니다. PermitRootLogin no# yes : 허용, no : 차단, p..
2023.08.05 23:33 -
containerd image 삭제
image 삭제user에 따라 image 리스트가 다름, 삭제하고자 하는 이미지의 user로 접속하여 삭제(제 환경에서 삭제하고자 하는 이미지의 유저는 root)# nerdctl -n {namespace} rmi {image id}nerdctl -n k8s.io rmi 8q4a9f8575q1※ nerdctl 설치 방법은 아래 포스트를 참고해주세요 nerdctl 설치구성 환경 OS : CentOS-Stream-Release-9.0.21.el9.noarch CRI : containerd github.com/containerd/containerd v1.7.1 설치버전 : nerdctl version 1.4.0 nerdctl 설치 nerdctl은 containerd에서 뒷글자 nerd에 control를 붙인 명..
2023.08.05 13:09 -
tee 명령어 사용법 [리눅스:Linux]
tee표준 입력으로 받아서 표준 출력과 파일에 쓰는 명령어로 개인적으로는 shell 개발 시 log를 찍을 때 자주 사용합니다.lsblk | tee my_devices.logcat 명령어로 my_devices.log 파일을 출력해보면 터미널에서와 동일하게 저장되어 있는 걸 볼 수 있습니다. 기존 파일에 내용을 추가하고 싶을 때tee 명령어는 기본적으로 파일을 덮어씌우는데 기존 내용은 유지하고 추가하고 싶다면 -a 옵션을 사용합니다.lsblk | tee -a my_devices.log 화면에 출력하고 싶지 않을 때화면에 출력하지 않고 파일로만 저장하고 싶을때는 출력을 /dev/null로 redirect 합니다.lsblk | tee my_devices.log > /dev/null root가 소유자인 파일..
2023.08.05 11:55 -
Masquerading
매스커레이딩 Masquerading은 내부 사설 노드들이 외부망과 연결될 수 있도록 해주는 SNAT(Source NAT)의 종류로 내부에서 내보낸 패킷 소스의 주소를 외부에서 바라볼 수 있는 IP로 변경하는 것을 말합니다. kubernetes에서는 Pod에서 내보낸 패킷에 ip masquerading을 적용해서 패킷의 소스 주소인 Pod의 Cluster IP에서 Node IP 주소로 변경합니다. ※ 작성 중
2023.08.05 10:55 -
Overlay Network
오버레이 네트워크 기존의 물리적인 인프라 기반의 네트워크를 바탕으로 그 위에 논리적인 노드들과 연결들로 구성한 가상 네트워크를 Overlay(덮어 씌우다) Network라고 합니다. ※ 작성 중
2023.08.05 10:53 -
kubernetes 설치 [CentOS 9/v1.27.4]
구성 환경k8s 버전 : 1.27.4OS 버전 : CentOS-Stream-Release-9.0.21.el9.noarchCRI : containerd github.com/containerd/containerd v1.7.1CNI : Calicokube-proxy mode : ipvs PrerequisitesCPU 2 코어 이상Memory 2 GB 이상 권장 (2 GB 보다 작을 시 Application을 위한 공간이 없음)노드 간 Network 연결에 이상 無k8s에서 사용하는 port 개방 [k8s Ports and Protocols]calico에서 사용하는 port 개방 [Calico Ports]firewalld에 calico pod ip 대역 및 kube-dns port 개방더보기※ zone은 사용중..
2023.08.05 09:41