분류 전체보기

👩‍💻 Develope/Python

[Python] 문자열 뒤집기

[Python] 문자열 뒤집기 1. reverse chr = 'HelloWorld" lst = list(chr) lst.reverse() ''.join(lst) 'dlroWolleH' 2. 문자열 슬라이싱 chr = 'HelloWorld' chr[::1] 'HelloWorld' chr[::2] 'Hlool' chr[::-1] 'dlroWolleH' chr[::-2] 'drWle' [::1] : 기존과 동일 [::2] : 문자열에서 한 칸씩 띄워져서 문자열이 생성됨 [::-1] : 문자열에서 역순으로 하나씩 잘라서 문자열을 생성 [::-2] : 문자열에서 역순으로 하나씩 자르되, 한 칸씩 띄워서 자르게됨 참고 https://blockdmask.tistory.com/581

💻 CSP/AWS

[AWS] S3 이벤트 알림이 추가/수정이 되지 않는 경우

[AWS] S3 이벤트 알림이 추가/수정이 되지 않는 경우 모든 권한이 잘 지정되어있는 경우에도 불구하고 아래 오류 메시지가 뜨면서 S3 버킷의 모든 이벤트 알림이 추가/수정되지 않는 경우가 있었다. 이유는 S3 이벤트 알림의 대상인 SQS 대기열이 삭제되었기 때문이였다. 전체 이벤트 중에 하나라도 없는 SQS 대기열을 바라보고있으면 전체 이벤트가 다 수정이 안된다고 한다. 이럴 땐 해결 방법이 2가지가 있다. 1. 같은 이름의 SQS 대기열을 새로 생성 대상의 대기열이 사라졌기 때문에, 바로가기를 클릭해도 이동이 안된다. SQS로가서 update_2라는 대기열을 새로 생성해준다. 정책 또한 잊지 말고 생성해주자 { "Version": "2012-10-17", "Id": "example-ID", "Sta..

🐳 Container/K8S

[Minikube] Windows에 Minikube 설치

[Minikube] Windows에 Minikube 설치 minikube github GitHub - kubernetes/minikube: Run Kubernetes locally Run Kubernetes locally. Contribute to kubernetes/minikube development by creating an account on GitHub. github.com minikube 설치 가이드 minikube start minikube is local Kubernetes minikube.sigs.k8s.io Minikube? 쿠버네티스를 로컬에서 쉽게 실행할 수 있는 툴 리눅스 VM 내에서 고가용성이 없는 단일 노드 쿠버네티스 클러스터를 실행한다. 테스트나 개발용으로 사용하려는 사용자를..

💡 etc/Infra

[etc] 가상환경과 컨테이너 비교

[etc] 가상환경과 컨테이너 비교 1. Virtual Machines 물리적 머신이 있고, 물리적 머신에 호스트 OS를 배치한 다음, 게스트 운영체제를 관리하는 데 유용한 하이퍼 바이저가 있다. 하이퍼바이저를 사용해서 하나의 호스트 운영 체제에 여러 게스트 운영 체제를 가질 수 있다. 모든 게스트 작업은 완전히 분리되어 있으며 자체 바이너리, 자체 라이브러리가 있고 응용 프로그램을 실행할 수 있다. 전체 가상 머신처럼 꽤 무겁고 바리너리, 라이브러리 및 의무 번들로 구성된 전체 운영체제다. 부팅 시 시간이 꽤 걸리며 게스트 운영 체제가 활성화되기까지 몇 분이 걸릴 수 있는 전체 부팅 주기를 거쳐야 한다. 2. Container 물리적 서버, 호스트 운영체제가 있고, 컨테이너 엔진을 사용한 호스트 운영체..

💡 etc/Infra

[Network] DNS (Domain Name System)

[Network] DNS (Domain Name System) DNS(Domain Name System) 란? 사람이 읽을 수 있는 도메인 이름을 IP 주소로 변환하는 시스템이다. IP 주소를 일일이 외울 수 없기 때문에, 쉽게 기억할 수 있는 도메인 주소 체계가 만들어졌다. DNS Server 구축 예전엔 PC끼리 통신을 하기 위해선 Hosts 파일을 주고 받아야했기 때문에 매우 불편했다. 리눅스의 root 폴더를 만들듯이 top-down 방식으로 설정하면 겹치지 않는다. DNS Server에서 root 밑의 최상위 도메인을 Top-Level-Domain (TLD) 이라 일컫는다. 도메인 네임 도메인 네임이란 IP 주소에 매핑되는 텍스트 문자열로, 클라이언트에서 서버에 액세스 하는데 사용된다. 예를 들..

🌏 OS/Linux

[Linux] 환경 설정 파일 정리

[Linux] 환경 설정 파일 정리 /etc/profile 시스템 전역 쉘 변수 user가 쉘이 로그인하게 되면 가장 먼저 읽는 파일 USER, LOGNAME, HOSTNAME 등의 쉘 변수들이 선언되어 있음 시스템 전역 쉘 변수들을 초기화 /etc/bashrc 쉘 함수, Alias 시스템 전역 변수 정의 각종 쉘 함수와 alias를 위한 전역 변수들을 정의 ~/.bash_profile 유저 개인의 환경 설정 시스템 전역에 적용되는 환경 설정이 아닌, 유저 개개인의 PATH, 시작 프로그램 등을 추가적으로 설정 가능 ~/.bashrc 유저 개인의 alias 및 변수 설정 /etc/bashrc 파일에서 시스템 전역 변수를 읽음 이 파일에서 유저 자신의 개인적인 명령어 alias, 환경 변수를 설정할 수 있..

🧾 Codetest/프로그래머스

[프로그래머스][Python][Lv0] 코딩 기초 트레이닝 (2)

[프로그래머스][Python][Lv0] 코딩 기초 트레이닝 (2) 이어서 진행 https://heywantodo.tistory.com/157 [프로그래머스][Python][Lv0] 코딩 기초 트레이닝 (1) [프로그래머스][Python][Lv0] 코딩 기초 트레이닝 (1) 아직 어떤 상황에 어떤 함수를 써야할 지 익숙하지 않아서 헷갈리는 부분 연습 겸 정리 https://school.programmers.co.kr/learn/challenges/training?order=acceptance heywantodo.tistory.com 1. 빈 배열에 추가, 삭제하기 아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 길이가 같은 정수 배열 arr과 boolean 배열 flag가 매개변수로 주어질 때, fla..

🐳 Container/K8S

[K8s] 컨피그 맵(Config map)

[K8s] 컨피그 맵(Config map) 컨피그맵은 컨테이너에 필요한 환경 설정을 컨테이너와 분리해서 제공하는 기능이다. Cloud Native Architecture에서 컨테이너는 변하지 않는 자원이여야 한다. 그러나 개발용과 상용 서비스는 서로 다른 설정이 필요할 때가 많은데 이렇게 다른 설정으로 컨테이너를 실행해야 할 때 사용하는 것이 컨피그맵이다. 컨피그맵 사용 config-dev.yaml .data 하위 필드로 환경 설정 값을 넣는다. apiVersion: v1 kind: ConfigMap metadata: name: config-dev namespace: default data: DB_URL: localhost DB_USER: myuser DB_PASS: mypass DEBUG_INFO: d..

🐳 Container/Docker

[Docker] 도커 네트워크

[Docker] 도커 네트워크 도커 컨테이너 및 서비스는 도커 네트워크를 통해 격리된 컨테이너 간의 네트워크 연결뿐만 아니라 도커 외의 다른 애플리케이션 워크로드와도 연결이 가능하다. 이때 도커 네트워크의 하위 시스템 연결을 위해 도커 네트워크 드라이버를 사용하면 상호 간 통신이 가능하다. 1. 도커 네트워크 인터페이스 Networking overview docs.docker.com 위 docs의 네트워크 정의는 다음과 같다. 도커 설치 시 기본적으로 제공되는 docker0은 소프트웨어적으로 구현된 가상 이더넷 브릿지 네트워크고, 이것을 통해 격리된 컨테이너들의 상호 간 통신을 제공한다. 별도의 브릿지 네트워크를 생성하여 연결값으로 설정하지 않는 한 실행되는 모든 컨테이너는 docker0 브릿지에 연결되..

👩‍💻 Develope/Python

[Python] 리스트 합치기

[Python] 리스트 합치기 1. + 를 사용해서 리스트 합치기 a = [1,2,3,4] b = [5,6,7,8] c = a+b print(c) [1,2,3,4,5,6,7,8] 2. extend() a = [1,2,3,4] b = [5,6,7,8] a.extend(b) [1,2,3,4,5,6,7,8] 3. 2차원 리스트 합치기 sum 함수를 이용해서 쉽게 합칠 수 있음 lst = [[1,2],[3,4],[5,6]] print(sum(lst,[])) [1,2,3,4,5,6] +) for문을 사용해서 2차원 리스트의 요소 꺼내기 in 앞에 변수 두 개를 지정해주면 리스트에서 요소 두개를 꺼내온다. lst = [[1,2],[3,4],[5,6]] for x, y in lst: print(x,y) 1 2 3 4..

👩‍💻 Develope/Python

[Python] enumerate(), range()

[Python] enumerate(), range() 1. enumerate 순서가 있는 자료형(List, Set, Tuple, Dictionary, String)을 입력으로 받아 인덱스 값을 포함하는객체를 돌려준다. for문과 함께 사용하면 자료형의 index를 알 수 있다. for idx, e in enumerate(['a','b','c']): print(idx, e) 0 a 1 b 2 c 2. range() 연속된 숫자를 만들어주는 함수 range(1, 11) ==> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 for문에서 많이 사용된다. for num in range(2, 5): print(num) 2 3 4 범위의 증가와 감소도 가능하다. for num in (2, 10, 2): pri..

👩‍💻 Develope/Python

[Python] 문자열 찾기

[Python] 문자열 찾기 파이썬에서 문자열의 위치와 문자열이 특정 문자로 시작하거나 끝나는지 특정 문자가 문자열에 속해있는지 아닌지를 파이썬 함수를 통해서 찾아보자. 1. 문자열의 위치 반환 1-1. find() 문자열의 왼쪽에서부터 문자를 찾는다. 못찾으면 -1 을 반환한다. english = "abcdefg" english.find('a') 0 2-1. rfind() 문자열에서 중복된 문자가 있으면, 문자열 중 가장 끝에 있는 위치를 반환한다. 못찾으면 -1을 반환한다. english = "aaabcdefg" english.find('a') 2 2. 문자열의 시작과 끝 2-1. startswith() 문자열/튜플이 특정 문자로 시작하는지 알려준다. True/False로 반환한다. a = "hell..

heywantodo
'분류 전체보기' 카테고리의 글 목록 (22 Page)