본문 바로가기

반응형
개발 53

[Data Structure] 선형 자료구조 선형 자료구조를 시작하기 앞서 자료구조가 뭔지 알아보자 자료구조 란? 자료(데이터)를 저장하는 도구로 삽입/삭제/탐색 연산을 적절한 상황에 알맞게 사용하기 위해 사용한다. 배열 (Array) 같은 종류의 자료 여러개를 저장하기 위한 선형 자료구조 원소들이 메모리의 연속된 위치에 저장된다 => 캐시의 효율성과 연결 주어진 위치의 원소를 반환하거나 변경하는 동작이 O(1)로 가능 삽입, 삭제 연산 후 shift 비용이 발생하기 때문에 O(n)의 시간복잡도를 가짐 크기가 제한적이다 => 이를 보완한 것으로 동적 배열(Dynamic Array)가 있다 링크드리스트 (Linked List) 논리적 저장 순서와 물리적 저장 순서 비일치 (포인터로 연결) 특정 위치에서의 삽입과 삭제를 상수 시간에 할 수 있게 해줌 .. 2020. 11. 24.
[Clean Code] 4장. 주석(comments) Intro 나쁜 코드에 주석을 달지 마라. 새로 짜라. - 브라이언 W. 커니핸, P. J. 플라우거 주석을 사용하면 좋을까요, 나쁠까요? 예상하셨듯 잘달린 주석이라면 그 어떤 정보보다 유용하지만, 코드로 의도를 잘 표현하지 못해 실패를 만회하기 위한 주석은 절대 좋지 못합니다. 주석이 필요한 상황에 처하면 상황을 역전해 코드로 의도를 표현할 방법이 없는지 곰곰히 생각하고, 주석을 유지보수하기 힘들고, 오래될수록 완전히 그릇될 가능성도 커지기 때문에 주석은 가능한 줄이도록 꾸준히 노력해야 합니다. 필자는 크게 2가지를 얘기합니다. 1. 주석은 나쁜 코드를 보완하지 못한다. 표현력이 풍부하고 깔끔하고 주석이 거의 없는 코드가 복잡하고 어수선하며 주석이 많이 달린 코드보다 훨씬 좋다. 2. 코드로 의도를 표.. 2020. 11. 24.
Clean Code에 대하여 회사 동기들과 Clean Code 스터디를 진행하게 되었습니다. 「Clean Code(클린 코드)-애자일 소프트웨어 장인 정신 (저자: 로버트 C.마틴 출판사: 인사이트)」 를 매주 1챕터씩 정리해보고, 본인이 생각하는 Clean Code에 대해서도 생각해보고 정리할 예정입니다. 1장. 깨끗한 코드 2장. 의미있는 이름 3장. 함수 4장. 주석 5장. 형식맞추기 6장. 객체와 자료구조 7장. 오류처리 8장. 경계 9장. 단위테스트 10장. 클래스 2020. 11. 23.
[k8s study] 8. 모니터링과 로깅 본 포스트는 조나단바이에르, 쿠버네티스 기초다지기 3/e (에이콘)을 참고하여 정리하였습니다. 다루는 내용 먼저 스터디에서 참고하고 있는 책(쿠버네티스 기초다지기 3/e, 에이콘)에서 다뤄진 내용은 다음 5가지 내용입니다. 쿠버네티스가 cAdvisor, 힙스터, 인플럭스DB, 그라파나를 사용하는 방법 기본 그라파나 대시보드 커스터마이징 플루언티드(FleuntD)와 그라파나 사용방법 로깅 도구의 설치 및 사용방법 모니터링 능력을 확장하기 위해 스택드라이버(Stackdriver)나 시스딕처럼 널리 알려진 3rd-party 도구를 함께 사용하는 방법 하지만 본 포스트에서는 책과 다소 다루는 내용을 다르게 구성했습니다. 힙스터가 쿠버네티스 1.13부터 deprecated됨에 따라 (2020년 10월 쿠버네티스버.. 2020. 10. 6.
[k8s study] 4. 신뢰성있는 컨테이너 네이티브 애플리케이션 구현 본 포스트는 조나단바이에르, 쿠버네티스 기초다지기 3/e (에이콘)을 참고하여 정리하였습니다. 4장에서 다루는 내용 Deployment Job DemonSet 쿠버네티스는 클러스터가 원하는 상태를 유지합니다. 이러한 상태를 운영자는 Deployment를 사용해 정의하고, 조정된 비율로 micro-service와 같은 stateless 서비스를 변경합니다. Deployment 공식 문서: https://kubernetes.io/ko/docs/concepts/workloads/controllers/deployment/ 디플로이먼트 디플로이먼트(Deployment) 는 파드파드는 클러스터에서 실행 중인 컨테이너의 집합을 나타낸다. 와 레플리카셋(ReplicaSet)레플리카셋은 지정된 수의 파드 레플리카가 동시.. 2020. 8. 29.
[mongoDB] 3. CRUD Operations - Create, Read 본 포스트에서는 mongoDB document의 Create(삽입), Read(읽기), Update(수정), Delete(삭제) 연산 중 Create와 Read 연산에 대해서 알아보겠습니다. 본 포스트를 읽기 전 documents와 collections이라는 개념이 생소하신 분은 [mongoDB] 2. Databases, Collections, Documents를 먼저 보고 오시면 될 것 같습니다. [mongoDB] 2. Databases, Collections, Documents [mongoDB] 1. 시작하기 (소개, SQL vs NoSQL, 장단점, 용어, 설치) 의 mongoDB 특징에서 언급했지만, 기본적으로 mongoDB는 Document-oriented 스토리지 입니다. 구체적으로 docum.. 2020. 8. 21.
반응형