지난달부터 현장실습을 나왔는데, 약 한달간 쿠버네티스 공부를 하고이번주부터 CI/CD 시스템을 구축하는 미션을 받았습니다. 일단 CI(지속적 통합)/CD(지속적 배포)가 무엇이냐 예전엔 어떤 팀이 프로그램을 개발하고 이를 실제로 배포하여 서비스를 하는 과정에서개발자에게 많은 일이 과중되었습니다. 개발자가 개발을 하고 여러 개발자들이 만든 코드를 통합하고,통합된 코드를 테스트 하고, 이를 배포하기까지 정말 많은 과정을 개발자가 관여해야 했습니다. 그래서 이 과정을 줄일 수 있는 다양한 도구들이 나왔습니다.대표적으로 git, jenkins, argocd... 그 모든 통합과 배포 도구를 이어서 자동화하는 것이 CI/CD의 실현이라고 할 수 있습니다. 그래서 이 CI/CD를 구축하는 것은 좋지만 어떤 도구를..
전체 글
코딩테스트에 자주 사용하는 문법 위주로 정리해보았습니다. 데이터타입정수형흔히 수학에서 부르는 0, 양의 정수, 음의 정수를 담는 타입입니다.사칙연산 부터 지수연산, 정수나눗셈, 나머지 연산 등이 있습니다. a = 10b = 3print(a+b) # 13print(a-b) # 7print(a*b) # 30print(a/b) # 3.3333333333333335print(a//b) # 3 몫연산print(a**b) # 1000 지수연산print(a%b) # 1 나머지연산print(-a) # -10 부호바꾸기print(abs(-a)) # 10 절대값print(a == b) # False 같은가print(a != b) # True 다른가print(a > b) # True a가 큰가print(a = b) # Tr..
알고리즘을 사용하는 이유는 최적화, 그 중에서도 속도와 메모리라고 볼 수 있습니다. 시간 복잡도는 이 중 속도에 붙은 개념인데, 단순하게 보면 입력크기에 대한 연산 횟수의 최대값입니다.단순하진 않은데 가장 단순한 예시인 1차원 배열의 탐색법을 생각해보면 1을 찾는다면 1번 비교, 8을 찾는다면 8번 비교를 하게 됩니다. 그럼 이 1차원 탐색의 시간 복잡도는 1~8이라고 보면 될까요? 만약에 길이가 100, 1000, 1억이 된다면 복잡도는 1억인걸까요? 말도 안되죠. 그렇기 때문에 빅 오 표기법이라는 방법을 도입했습니다.(위는 사실 절대시간이라는 표기법입니다..) 알고리즘의 탐색횟수를 방정식으로 정리한 후에 최고차항만 표기하는 것이죠. 위 알고리즘의 경우 O(x)라고 볼 수 있습니다. 그럼 왜 이런 표..
코딩 테스트 연습은 아주 길고 지루할 수 있습니다. 이 긴 과정을 아무렇게나 할 수는 없는 법이죠. 전 이 긴 과정도 어떻게든 줄이기 위해 5가지 방법을 사용합니다. 1. 기록하기바라보기만 해서는 문제를 해결할 수 없습니다. 그렇기 때문에 문제를 정리해보고 사고 과정을 기록하는 것이 중요합니다. 2. 시험처럼 연습하기주기적으로 시간을 정해서 시험처럼 연습하는 것도 도움이 됩니다. 시간을 제한하고 목표를 정하면 집중력이 올라가고 효율도 좋아집니다. 3. 길게 보기00에서 적었듯이 결국 연습 없이 빠르게 실력이 늘기 어렵습니다. 절대 조급해지지 말고 길게 가는 것이 중요합니다. 하지만 막막하다면 목표를 세분화해서 짧은 목표를 여러개로 만들어 보는게 좋습니다. 4. 내가 이해되게 요약하기아주 중요합니다. 요약..
근래의 대부분의 기업은 채용과정에서 거의 반드시 코딩테스트라는 과정이 들어갑니다. 그만큼 그 사람의 능력을 객관적으로 판단하기 좋다는 것이죠. 그래서 IT기업에 들어가기 위해서 '코딩테스트를 하는 법'은 반드시 알아야합니다. 0. 코딩테스트 연습을 위한 문제 사이트 - 백준 온라인 저지 (외부 사이트를 통한 난이도 세분화, UI 불편)https://www.acmicpc.net/- 프로그래머스(UI 좋음, 친절하지 않은 난이도 분류)https://programmers.co.kr/- leetcode(해외 대규모 코딩테스트 사이트)https://leetcode.com/ 1. 알고리즘 공부하기 제가 이 글을 쓰는 이유는 바로 이 '알고리즘' 때문이라고 봐도 무방합니다. 모든 프로그램의 코드 기반엔 알고리즘이 들..