전체 글

하둡이라는 분산처리시스템에 대해 기초적인 개념과 구조를 파악하고 이해를 해보려고 한다. 1. 하둡이란 하둡은 High-Availability Distributed Object-Oriented Platform의 줄임말로써 간단하게 말하면 분산 환경에서 대용량 데이터를 분산처리할 수 있는 자바 기반의 오픈 소스 프레임워크이다. 일반적으로 하둡은 하둡파일시스템(HDFS)와 매리듀스(MapReduce) 프레임워크로 시작되었으나 현재는 빅데이터의 저장, 처리, 실행 등등의 다양한 역할을 수행하는 하둡 생태계를 의미하는 의미로 확장되었다. 2. 하둡의 구성 요소 · 하둡 분산형 파일 시스템(Hadoop Distributed File System, HDFS) 수십 테라바이트 또는 페타바이트 이상의 대용량 파일을 분산..
빅데이터가 나온 후 여기저기서 자주 듣게 되는 용어 중 하나인 맵리듀스에 대한 기본적인 내용에 대해 알아보고 간략하게 정리하고자 한다. 1. 맵리듀스란? 구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위해 제작하여 2004년에 발표한 소프트웨어 프레임워크이다. 맵리듀스는 맵(Map)과 리듀스(Reduce)가 합져진 말로써 맵(Map)은 우리가 흔히 알고 있듯이 Key와 Value라는 두 개의 쌍으로 가지고 있는 자료구조이다. 리듀스(Reduce)는 맵(Map)의 중복된 값을 줄이거나, 값을 합쳐서 최종 결과물로 만드는 방법이라고 할 수 있다. 간단하게 말해서 맵리듀스는 맵의 데이터를 중복 제거하거나 값을 합쳐서 데이터를 만드는 것을 의미한다. 2. 맵리듀스의 처리 과정 맵리듀스의 처리과정을..
https://leetcode.com/problems/reverse-linked-list-ii/ Reverse Linked List II - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 1. 문제와 예제, 그리고 제약사항 Given the head of a singly linked list and two integers left and right where left
https://leetcode.com/problems/number-of-matching-subsequences/ Number of Matching Subsequences - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 1. 문제와 예제, 그리고 제약사항 Given a string s and an array of strings words, return the number of words[i] that is a subsequence of s. A subsequen..
1. 양방향 암호화의 분류 양방향 암호화는 크게 대칭키 방식과 비대칭키 방식으로 분류된다. 이 2가지 방식은 모두 암/복호화를 위한 키가 존재하여 복호화 과정을 통해 암호문에서 평문으로 바꾸는게 가능하다. 이 2가지 방식에 대해 아래에서 다시 한번 정리해보자 1.대칭키 방식 앞서 이야기한 것과 같이 대칭키 방식은 복호화가 가능하다. 평문의 데이터를 암/복호화 하는 과정에서 별도의 키가 존재한다. 이 때 한개의 키로 암/복호화가 가능하기에 이를 대칭키 방식이라고한다. 가장 보편적으로 사용되는 방식은 현 미국 표준 방식인 AES이다. AES에 대해 간략히 알아보면 Advanced Encryption Standard의 줄임말로서 우리 말로는 고급 암호화 표준이다. AES는 암호화 블록의 크기가 128비트이며 ..
1.Spring Cloud Bus란? 앞서 포스팅에서 언급한 것과 같이 어플리케이션 설정 파일의 변경 시 별도 빌드-배포 없이 Spring Cloud Config를 이용하면 어플리케이션의 빌드-배포 없이 적용 가능한 것을 확인할 수 있었다. 그러나 MSA 구조에서 Micro Service가 많아질 경우 서버 한개 한개 각각 개별적으로 actuator/refresh 호출하여 적용하는 것을 현실적으로 쉽지 않고 누락의 가능성도 있다. 이러한 복잡하고 번거로운 점을 개선하고자 Spring Cloud Bus를 이용할 경우 손쉽게 적용할 수 있다. Spring Cloud Bus는 분산 시스템의 노드를(Micro service)를 경량 메시지 브로커와 연결하여 상태 및 구성에 대한 변경 사항을 연결된 노드에게 전달..
야뤼송
야뤼송