https://school.programmers.co.kr/learn/courses/30/lessons/81303 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 오랜만에 자료구조형에 대해 생각해 볼 수 있는 문제를 풀었당 문제상황 (시간 초과) 맨 첨에는 list 만들고 삭제하면 0 , 데이터 있는 값은 1 이렇게 테이블을 만들어주었다. 그러나 list 로 테이블을 관리하게 되면.. Z 복구 연산의 경우 0 -> 1로 바꿔주는거니 O(1) 이지만, 행들을 순차적으로 탐색해야 하는 U, D, C 연산의 경우 시간복잡도에서 걸린다. 최대 cmd 가 20000..
전체 글
Data Engineering과 Cloud Native 기술에 대해 Dive Deep 하는 플랫폼 엔지니어가 되는 것을 목표로 하고 있습니다. 경험과 공부한 내용을 기록하며 지속가능한 엔지니어가 되는 것이 꿈입니다.
반복문 (loop) Playbook 에서 반복되는 작업을 수행하기 위해서 반복문을 사용할 수 있다. 반복문은 loop 로 표기한다. 주의할 점은 반복문은 작업의 하위 옵션이 아니라, 작업을 어떻게 제어할지에 대한 설정이므로 실행할 모듈과 같은 라인에 써주어야 한다 ! 또한 다른 프로그래밍 언어와 다르게, Playbook 에서 loop 문을 사용할 때 list 를 참조하는 변수 명은 항상 item 으로 고정해서 사용한다. 반복문을 이용하여 간단하게 리스트를 출력해보는 플레이북 정의 파일이다. - hosts: ansi-node1 tasks: - debug: msg: "{{ item }}" loop: ["linux", "ubuntu", "window", "mac"] 다음과 같이 반복문에 사용할 리스트를 변수명..

Fact (팩트 변수) 란? 관리하는 노드의 정보를 가지고 있는 변수이다. 이 정보에는 운영체제, 로컬 변수, IP 주소, NIC 등의 정보가 포함된다. fact 변수는 setup 모듈을 이용해서 정보를 확인할 수 있다. Adhoc 과 플레이북을 통해 setup 모듈을 실행할 수 있다. 모든 노드들에 대한 팩트변수 내용 확인하기 ansible all -m setup 팩트 변수 이름 참조하기 setup 모듈을 이용해서 ansible_ 접두사가 붙은 지정된 변수 이름으로 참조하면 원하는 팩트변수의 정보를 얻을 수 있다. Adhoc 명령어로 팩트 변수 참조하는 예시 $ ansible ansi-node1 -m setup -a "filter=ansible_distribution” -m 옵션으로 모듈을 지정하고, ..

변수 정의하기 Ansible에서 변수를 정의할 수 있는 곳은 다음과 같다. 플레이북 외부 참조 파일 인벤토리 파일 명령의 -e 옵션 Ansible 에서는 변수를 key, value 형태로 정의한다. Playbook 에서 변수의 우선 순위 동일한 변수명을 가진 경우 플레이북에서 변수가 참조되는 우선순위는 다음과 같다. (우선 순위 높은 순으로 정렬되었다.) -e옵션으로 변수 지정 > 플레이북 vars_files 변수 > 플레이북에 정의된 변수 > host_vars 디렉토리의 호스트 변수 > Inventory 의 호스트 변수 > group_vars directory의 그룹 변수 > Inventory 의 그룹변수 1. 인벤토리 파일에 변수 정의하기 인벤토리 파일에서 host 변수 및 group 변수를 작성할 ..
https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 시간초과 풀이 단순하게 구현했더니 시간초과 난다 ㅎㅎ import sys input = sys.stdin.readline r, c = map(int, input().split()) board = [] for i in range(r): data = input() temp = [] for j in range(c): temp.append(data[j]) board.append(temp) dx =..

Playbook 이란 여러 호스트들을 대상으로 반복해야 하는 작업, 재사용이 필요한 작업, 구성 관리 등이 필요할 때 Playbook을 정의해서 사용할 수 있다. Playbook 은 멱등성이라는 특징을 가진다. 멱등성이란 Ansible이 작업을 할 때 작업 상태가 원하는 최종 상태로 만들어진 경우 작업을 더 이상 반복하지 않는 특성이다. 그러나 멱등성이 적용되지 않는 몇몇 모듈들이 존재한다. 멱등성 예외 모듈 : command, shell, raw 같은 명령 모듈 또는 service 재시작 모듈은 해당하지 않는다. Playbook 의 구성 Playbook : 하나 이상의 Play를 가진다. Play: 하나 이상의 Task로 이루어져있다. Task : 하나의 Module과 Module의 옵션 및 arugm..
Ansible의 설정파일 Ansible의 설정파일은 ansible.cfg 에 적을 수 있다. 작동되는 방식에 대해 설정할 수 있다. 그런데 Ansible은 설정파일의 우선순위에 따라서 적용되는 설정이 다르다. 즉, 우선순위가 높은 설정을 기준으로 설정된다. Ansible 설정파일의 우선순위 1. ANSIBLE_CONFIG 환경 변수 2. 현재 디렉토리의 ansible.cfg 3. 홈 디렉토리의 ansible.cfg 4. /etc/ansible/ansible.cfg 예를 들어서 환경변수가 없으면 현재 디렉토리의 ansible.cfg가 실행될것이며, 현재 디렉토리에도 설정파일이 없으면 홈 디렉토리에 있는 설정 파일이 실행될 것이다. 아무것도 설정파일을 따로 만들지 않는 경우에는 /etc/ansible/ans..

Ad-Hoc 명령 관리하는 노드에 단일 작업을 수행할 때 사용한다. 반복적이거나 2개 이상의 작업을 하는 경우에는 Playbook 으로 수행한다. ansible [PATTERN] -m [MODULE] -a "[MODULE OPTIONS/ARGUMENT]" 예시 다음은 관리 노드 중 하나인 ansi-node2 라는 호스트를 재부팅시키는 Ad-Hoc 명령이다. $ ansible ansi-node2 -m reboot 현재 Ansible에서 사용할 수 있는 모든 모듈에 대한 정보 확인 $ ansible-doc -t module -l 특정 모듈에 대한 정보 확인하기 $ ansible-doc [MODULE_NAME] Ad Hoc 명령 vs Ansible Playbook 다음 그림은 동일한 작업을 수행하는 Ad Ho..