클린 코드[Clean Code] 노개북 1주차 시작하기
book/cleancode 2022. 4. 22. 12:10

좀 더 좋은 코드를 작성해보고 싶어서 개발자의 필수 책이라는 Clean Code 책을 구매해놓고 읽지 못하고 있었는데, 역시 개발책은 배수진을 쳐서 강제로라도 읽어야 한다. ㅋㅋ 마침 노마드 코더에서 진행하는 노마드 코더 북클럽에서 클린 코드 3주 읽기 프로그램이 있길래 얼른 신청했다. 표지 접지도 않아서 너무 깔끔한 것.. 시작이 반이다 오늘부터 읽기 시작!

그래프 이론 - BFS/DFS 구현해보기
study/algorithm 2022. 4. 22. 00:50

그래프란? 그래프는 정점(Vertex)들과 간선(Edge)들의 집합으로 구성된 자료구조이다. 정점의 위치나, 간선의 순서들은 그래프를 정의하는 데 사용되지 않는다. 트리도 그래프의 일종이나, 그래프는 트리와 다르게 정점마다 간선을 가지지 않을 수 있다. 그래프는 트리와 다르게 계층 구조의 형태가 아니므로, 역시 노드 간에 부모-자식 계층 관계가 성립하지 않는다. 따라서 루트 노드의 개념도 없다. 그래프의 종류 그래프는 정점이나 간선에 추가적인 속성을 부여하거나, 정점이 존재할 수 있는 방법을 다양하게 함으로써 여러 방식의 그래프로 표현이 가능하다. 방향 그래프( Directed Graph ) 대표적인 그래프의 종류 정점을 잇는 간선들이 방향을 가진다. 위 그림의 첫번째 그래프에서 정점 2와 정점 3을 사..

HDFS Balancer - Namespace 페더레이션 되어있을 때
platform/hadoop 2022. 4. 18. 18:30

신규로 데이터 노드를 추가하였을 경우, 혹은 디스크 교체로 인해 특정 노드의 데이터가 비게 될 경우 Hadoop에서는 이를 균형 잡히게 만들기 위해 Balancer 기능을 제공한다. 네임 스페이스가 페더레이션 되어있을 경우, balancer 수행 시 다중 네임 스페이스들에 모두 밸런싱 작업이 수행되도록 변경이 되었다. 따라서 특정 hdfs 네임스페이스만을 밸런싱 하고 싶을 경우에 해당 네임스페이스 만을 포함하는 core-site.xml, hdfs-site.xml 을 따로 빼고, 해당 config를 물고 들어갈 수 있게끔 실행해준다. hadoop hdfs에 권한이 있는 유저로 실행해주어야 한다. 특정 폴더에 core-site.xml 과 hdfs-site.xml을 복사하여 생성해주고, 위 주요 속성 값들을 ..

이진 검색트리(Binary Search Tree) 구현해보기
study/algorithm 2022. 4. 16. 16:30

트리 어떤 계층 구조를 표현하고자 할 때, 트리(Tree)라는 자료구조를 사용할 수 있다. 상위 계층이 아래에 있는 하위 계층들을 포함하며 가지를 치는 모습이 마치 나무와 같다고 하여 트리(Tree)라고 명명되었다 한다. 어떤 데이터로 트리를 구성하느냐, 자료들을 어떻게 배치하느냐에 따라서 다양한 트리를 구성할 수가 있다. 트리의 구성요소 트리는 가질 수 있는 데이터(노드)와 노드들을 연결하는 간선으로 구성된다. 노드가 연결되었을 때, 그 두 노드 간에는 상 하 계층 관계가 성립이 되어야 한다. 트리 용어 부모 노드(parent node) : 연결된 노드 중 상위 노드 하위 노드(child node) : 연결된 노드 중 하위 노드 형제 노드(sibling node) : 부모 노드가 같은 노드 루트 노드(..

선형 자료구조 - 배열/연결 리스트/큐/스택
study/algorithm 2022. 4. 2. 21:55

알고리즘 공부 시작 알고리즘을 너무 오래 놓고 있는 것 같아서.. 나중에 이직을 위해서라도 공부를 해야겠다는 생각이 들었다. 제로 베이스로 기본부터 새로 시작해보려 한다. 선형 자료구조부터 시작! 선형 자료구조란? - 연속적으로 자료 뒤에 자료가 배치되는 구조 - 배열, 리스트, 스택, 큐가 대표적이다. 배열 - 번호(인덱스)와 해당 인덱스에 대응하는 데이터로 이루어진 자료구조다. - 메모리 상에 같은 종류의 데이터들이 순차적으로 저장되고, 인덱스로 해당 자료의 상대적인 위치를 알아낼 수 있다. 배열의 종류 배열에는 엄밀하게 성질에 따라 정적 배열과 동적 배열로 구분할 수 있다. 크게 자세하게 다루지는 않는다. 배열의 특징 - 말 그대로 크기가 정해져 있는 배열을 의미한다. - 연속된 메모리 경로에 정해..