본문 바로가기

분류 전체보기

(212)
[reference] spark - programming quick start Contents spark 사용법 Spark-shell self-contained application Spark 사용법에 대해 알아보자 Spark-shell 을 이용한 방법과 어플리케이션을 이용한 방법을 알아보자 - 스파크 2.0 이전에는 스파크의 주 프로그래밍 인터페이스가 RDD 였다. 2.0 이후엔 RDD 는 데이터셋으로 데체 되었다 RDD 인터페이스도 여전히 지원되지만, 데이터셋을 사용하길 권장된다. 데이터 셋에 대한 자세한 내용은 나중에 알아보도록 하자 DataSet- https://spark.apache.org/docs/latest/sql-programming-guide.html Spark-Shell 스파크의 셸은 API를 배울 수 있는 간단한 방법과 데이터를 대화식으로 분석할 수 있는 강력한..
[reference] Spark - 개념 클러스터 모드 Contents 스파크? 클러스터 모드 클러스터 매니저 종류 응용프로그램 제출 모니터링 잡 스케쥴링 용어 설명 스파크? Apache Spark 는 빠르고 제네럴한 클러스터다 자바, 스칼라, 파이썬, R 등의 고급 API 들을 지원하는 최적화된 엔진을 제공한다고 한다. 스파크는 혼자서 또는 기존의 클러스터에서 실행 될 수 있는데 오늘은 스파크가 클러스터에서 어떻게 실행이 되는지 알아보도록 하자 -이 다음 내용에선 클러스터에서 응용 프로그램이 어떻게 실행되는지 알아볼 것 스파크는 클러스터에서 독립적인 프로세스 세트로 실행이 된다. 드라이버 프로그램의 스파크 콘텍스트 객체에 의해 조정된다. 구체적으로 보면, 스파크 콘텍스트는 여러 유형의 ClusterManager(spark standalone, Mesos, ..
[이진검색트리] leetCode - 530. Minimum Absolute Difference in BST 이진 검색트리 leetCode - 530. Minimum Absolute Difference in BST 문제 설명: 이진 검색 트리에서 각 노드의 데이터 중 절대값의 차이가 가장 작은 값을 구해라 문제 풀이 : 이진 검색트리 서치 종류 가 3가지가 있다. preOrder : preOrder 에서는 root left right 이런식으로 검색을 하고 inOrder : inOrder 에서는 left root right 이런식 postOrder : postOrder 에서는 left right root 이렇게 검색을 한다. 근데, 이때 이진 검색트리의 특징이 inOrder 를 하면 오름차순이 된다는것 이걸 이용해서 풀어준다. 코드를 보면 클래스 변수로 이전 노드의 데이터를 저장하고 이전 노드와의 차이 값을 M..
[백트래킹] leetCode - Generate Parentheses 백트래킹 재귀(recursion) 과 거의 동일하게 풀었다. 재귀와 거의 다를게 없다고 생각. 먼저 문제를 봐보자 문제 요약 - 먼저 int n 이 주어지고, () 괄호의 정합성이 항상 맞으면서 n 만큼의 () 이 나오는 모든 경우를 표현하는 문제 문제 풀이 - 괄호 '(' 부분과 ')' 부분을 재귀 호출을 하고 , 호출을 끝낼 수 있게 termination check 를 해준다. 코드에서 (open < n && close < n) 이 termination check 를 해준 부분이고, 먼저 괄호 ( 가 n 번 만큼 나오게 재귀 호출을 해준후 다시 ( 가 나온 만큼 ')' 가 호출 되도록 재귀 호출을 해준다. 이렇게 하면 open 이 n 번 만큼 close가 n 번만큼 나오는 모든 경우의 수를 볼 수 있..
kafka - Quick Start 카프카 실습 따라해보기 Contents kafka quick start kafka quick start 먼저 카프카의 이론을 정리하기 전에 Apache Kafka 의 Quick Start 를 정리해보려고 한다. 카프카 공식 홈페이지에서 kafka 최신 버전을 다운로드 해준다. 카프카를 실행하기에 앞서 zookeeper 를 먼저 실행시켜 줘야한다. zookeeper 의 실행 방식은 https://naeti.tistory.com/52 를 참고해서 실행시킨다. Apache- Zookeeper 를 알아보자 Contents zookeeper 란? zookeeper 시작하기 zookeeper 란? ZooKeeper is a centralized service for maintaining configuration information, n..
Apache- Zookeeper 를 알아보자 Contents zookeeper 란? zookeeper 시작하기 zookeeper 란? ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. 공홈에서는 ZooKeeper는 구성 정보 유지, 이름 지정, 분산 동기화 제공 및 그룹 서비스 제공을 위한 중앙 집중식 서비스라는데, 잘 와닿지 않는다. zookeeper 는 분산 어플리케이션을 위한 고성능 조정 서비스 라고 한다. 일단은 , 분산 어플리케이션들의 단순한 집합으로 이해하자 Zookeeper 는 공유된 계층 네임스페이스를 통해서 ..
leetCode - daily coding 오늘의 leetCode 알고리즘 풀어본 문제를 봐보자 5. Longest Palindromic Substring 먼저 가장 긴 펠린드롬 문제 문제 요약 - 주어진 스트링에서 뒤집어도 똑같은 문자 - 펠린드롬 문자 중 가장 긴 문자를 찾아서 return 시키는 문제다 문제 풀이 - 이 문제는 다이나믹 프로그래밍으로 풀었다. 생각을 어떻게 해야하냐면 , 일단 펠린드롬을 찾기위해서는 2중 for문을 돌아야하는데, 첫번째 기준 문자와 두번째 기준 문자가 같을때 , 안에 있는 문자가 1개 밖에 없거나 , 이 문자 전까지 즉 [i-1][j+1] 까지가 동일한 문자였으면 팰린드롬이라고 할 수 있다. 그 찾은 문자중에 가장 긴 문자를 return 하면 된다. 문제 정답 - https://github.com/kwonhy..
Spring Core - 프록시 AOP Contents 스프링 AOP의 특징 어노테이션 기반의 AOP 스프링 AOP 의 특징 프록시 기반의 AOP 구현 스프링 빈에만 AOP 를 적용할 수 있다. 프록시 패턴 프록시 패턴에는 인터페이스가 있다. 클라이언트는 이 인터페이스 타입으로 Proxy 객체를 사용하게 된다. Proxy객체가 실제 객체를 감싸서 실행을 하게 된다. 근데 이렇게 프록시 패턴을 직접 구현을 하면 여러 문제점이 생긴다 -프록시 패턴을 직접 구현하면 생기는 문제점 매번 이런 프록시 클래스를 작성해야하나? 한 Real Subject 가 아니라 여러 클래스에 advice를 적용하고 싶다면..? 위 같은 문제들이 생겨났고 이걸 해결하기 위해 등장한게 Spring AOP 다 스프링 AOP 에서는 동적으로 프록시를 생성해서 이런 문제들을 해..