전체 글

제가 미처 확인하지 못한 부분이 있다면 알려주시면 감사하겠습니다.
· 회고록
자격증 스터디에 들어가서 2주 안에 자격증을 호다닥 취득했습니다. 9일 중 2일은 주말 제외, 총 7일 공부하고 바로 시험을 쳤습니다. CLF는 거저 주는 문제가 많아서 조금만 더 맞추면 통과할 수 있을 거라고 해서 냅다 시험 쳤는데 됐네용 높은 점수는 아니지만 절대평가니까 *^____^* 역시 덤프로 따는 것보다 직접 공부해서 딴 자격증이 더 소중하네요. 뿌듯하다. 스터디가 짱입니다. 공부하라고 채찍질 해주는 분들도 있고 너무 좋아요. https://explore.skillbuilder.aws/learn/course/13522/AWS%2520Cloud%2520Practitioner%2520Essentials%2520%28Korean%29%2520%28Na%29%2520%28%25ED%2595%259C%..
0. IaC(Infra as a Code)의 사용 이유 사람은 한정적인데 운영해야 할 서버가 많아짐 → 반복되는 일이 늘어남 버전 관리 가능 리뷰 및 테스트 가능 휴먼 에러 감소 테라폼 사용에 대한 공부와 기존 인프라가 이미 있을 경우 통합시키는 수고 필요 1. 기본 동작 방식 1.1 Init: 실행을 위한 준비 작업(초기 setting) 테라폼 상태 파일 확인 provider 플러그인 다운로드 모듈 다운로드 1.2 apply: 작성된 코드를 기반으로 인프라 구성 테라폼이 자동으로 의존성(dependency)을 구성하고 병렬로 인프라를 구성한다. 수동으로 의존성을 걸 수 있지만 테라폼이 의존성을 구성하는 과정에서 꼬일 수 있어 사용하지 않는 것을 권장 어떤 리소스가 생성/수정/삭제 되는지 확인하는 pla..
서버(server) [서버의 사전적 정의] 1. 식당에서 음식과 음료를 가져오는 사람, 웨이터 또는 웨이트리스 2. 네트워크를 통해 다른 컴퓨터에서 사용되는 파일과 서비스를 제공하는 메인 컴퓨터 3. 테니스, 배구 등의 경기에서 공을 서브함으로써 경기를 시작하는 선수 출처: Merriam Webster's Learner's Dictionary 서버는 serve(제공하다)+er(~을 하는 사람)의 합성어이다. 무언가를 제공하는 것(컴퓨터)이다. 서버라는 용어는 원래 '특정 역할에 특화된 것'을 의미한다. 레스토랑의 웨이터를 서버라고도 한다. 웨이터의 역할은 주문 접수나 음식을 내오는 것에 특화돼 있으며 요리는 하지 않는다. 서버라는 용어는 컴퓨터 자체(하드웨어)를 가리키는 경우도 있고, 컴퓨터에서 동작하고..
과제 echo2 abc라고 보내면 응답이 abc가 아니라 echo2_abc의 형태로 응답이 오도록 합니다. 힌트 기존에 사용하던 client *의 내부구조를 살펴보아야 합니다. 다음 구조체와 함수들을 참고하세요. sds sdscatfmt sdsempty addReplyBultSds 실습 Redis의 Client 구조체 접속한 클라이언트의 정보를 가지고 있습니다. argc는 입력 받은 파라미터의 개수 argv는 입력 받은 파라미터 각각을 저장한 배열 typedef struct client { ... int argc; /* Num of arguments of current command. */ robj **argv; /* Arguments of current command. */ int argv_len; /..
순서쌍의 개수 풀이 def solution(n): return len([i for i in range(1, n+1) if n%i==0]) 나누어 떨어지면 순서쌍에 해당된다. 리스트를 만들고 리스트의 길이를 리턴한다. 다른 풀이 def solution(n): return len(list(filter(lambda v: n % (v+1) == 0, range(n)))) filter(function, iterator) 함수를 사용해서 iterator 값을 함수에 넣어서 true인 값을 리스트로 만든다. 0부터 n-1까지의 값들 중에 나누어 떨어지는 값을 필터링한다. 진료순서 정하기 풀이 def solution(emergency): li = sorted(emergency, reverse=True) return [..
숨어있는 숫자의 덧셈(1) 풀이 def solution(my_string): return sum([int(i) for i in my_string if i in ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]]) 인덱스 바꾸기 풀이 def solution(my_string, num1, num2): s = list(my_string) s[num1], s[num2] = s[num2], s[num1] return ''.join(s) list(my_string)으로만 해도 리스트로 변경된다. swap()함수를 따로 사용할 필요 없이 파이썬에서는 문자를 서로 바꾸는 문법을 지원한다. 특정 문자 제거하기 풀이 def solution(my_string, letter): s =..
최빈값 구하기 풀이 def solution(array): count = [0]*(max(array)+1) for i in array: count[i] += 1 alot = -1 for i in count: if alot < i: alot = i return count.index(alot) if count.count(alot) == 1 else -1 코딩을 C로 시작한 터라.. 이런 방법밖에는 생각나지 않았다.. array의 최대값 크기만큼 count 배열을 생성한다. array의 값이 나올 때마다 count 배열의 인덱스에서 +1을 한다. count 배열의 가장 큰 값이 최빈값이다. 가장 큰 값이 2개 이상이면 -1을 리턴한다. 다른 풀이 def solution(array): while len(array..
피자 나눠 먹기(2) 풀이 import math def solution(n): return n/math.gcd(6, n) 6과 n의 최소공배수를 6으로 나눈 값이 답이다. 파이썬 3.9부터 최소공배수를 구하는 lcm함수를 지원하는데, 프로그래머스의 버전이 3.8.5이기 때문에 lcm 함수가 지원되지 않는다. 따라서 최소공배수는 6*n/gcd(6,n) 이다. 답은 6*n/gcd(6,n)/6을 구하면 되는데, 약분해서 n/gcd(6,n)을 계산한다. 피자 나눠 먹기(3) def solution(slice, n): return n//slice if n%slice==0 else n//slice+1 n/slice의 값이 나누어 떨어지면 n/slice의 몫이 값이 된다. 나누어 떨어지지 않으면 한 판을 더 시키면 ..
짝수의 합 def solution(n): return sum([i for i in range(2, n+1, 2)]) 리스트 컴프리헨션 사용 리스트의 값들을 모두 더해주는 sum 함수 사용 배열의 평균값 def solution(numbers): return sum(numbers)/len(numbers) 리스트의 합을 반환하는 sum 함수 사용 리스트의 길이를 반환하는 len 함수 사용 피자 나눠 먹기(1) def solution(n): return n//7+1 if n%7 else n//7 나는 코드 그대로 생각해서 이렇게 풀었는데 n을 7로 나눠서 0이면 n//7을 하고 나머지가 있으면 n//7+1로 계산하여 리턴함 def solution(n): return (n - 1) // 7 + 1 다른 풀이에 수..
su-mmer
Summary Of Summer