본문 바로가기

전체 글

(96)
Apache Kafka란 무엇인가 카프카를 아시나요? 카프카는 독일 문학에서 유명한 작가로 체코 프라하에서 집필활동을 하던 작가입니다. 하지만 지금 제가 설명드릴건 프란츠 카프가가 아닌 메세지 퍼블리싱을 위한 프로젝트인 카프카에 대해서 입니다. 처음에는 링크드인에서 로그 메시지등을 처리하기 위해서 개발되었다가 프로젝트 팀이 Confluent라는 회사로 독립을 했고 현재는 아파치 재단에 속해 있는 프로젝트 입니다. 프로젝트 명을 카프카로 한 것은 카프카를 좋아했었고 어감이 좋아서 이름을 그렇게 만들었다고 합니다. 큰 의미는 없습니다. 그럼 본격적으로 카프카란 무엇인지 살펴보도록 하겠습니다. 카프카는 Pub-Sub(Publish-Subscribe) 시스템이라고 불리기도 합니다. Producer에서 메세지를 Publish하고 Consumer에..
1. Count 값 구하기 - var 말고 val 쓰자 2019/08/06 - [만들어 봐요/Scala] - var말고 val 쓰자!! 시리즈의 첫번째로 foreach 반복문 안에서 특정 조건에서의 카운트를 해야하는 경우에 대해 사용해보겠다. val isRunAList: List[Boolean] = List(true, false, true, false) var countCalledA = 0 isRunAList.foreach(isRunA => isRunA match { case true => A() count = count + 1 case false => B() } ) A함수가 몇 번 호출 되는지 횟수를 구하는 예제를 만들어 봤다. var를 사용하면 자바와 같이 count변수 값을 늘려가며 최종 결과 값을 얻을 수 있다. 하지만 val을 사용하면 우리는 증가되..
var말고 val 쓰자!! Scala 에서는 변수 선언 방법이 두가지가 있다. val 과 var 이다. var는 일반적으로 알고 있는 변수로 선언을 하는 것이여서 함수 중간에 값의 변경이 가능하다. 하지만 val 타입은 불변하는 값으로 자바의 final 선언과 비슷하다. 따라서 한 번 값이 결정되고 난 다음에는 값의 변경이 불가능하다. Scala에서는 함수형 프로그래밍을 지향하고 의도치 않은 동작을 방지하기 위해 var 타입을 사용하지 않는 것을 권장한다. 때론 이것을 지키려고 하다보면 상당히 머리를 써야할 때가 있다. 이런 문제들이 발생했을 때 유용한 패턴들을 한 번 만들어 보려 한다. 각 패턴별로 목록을 이 글에 추가해나가도록 하겠다. 2019/08/06 - [만들어 봐요/Scala] - 1. Count 값 구하기 - var ..
[프라하] 믈리니체(Mlejnice) 프라하에는 정말 많은 관광객들이 있는 곳이죠. 그래서 관광객을 상대로하는 식당들이 정말 많이 있습니다. 모던하며 분위기 좋은 레스토랑들도 있지만, 관광객을 많이 상대하다보니 약간 높은 가격이거나 질이 좀 떨어지는 식당도 많이 있지요. 관광지에서는 어쩔 수 없는 현상인 것 같습니다. 저는 레스토랑을 찾을 때 구글 지도에서의 평점과 Yelp라는 앱을 주로 사용합니다. 사람들이 평점을 보고 일정 이하인 식당은 거르곤 합니다. 어쨌거나!! 프라하에 왔으니 체코 음식을 먹어봐야겠지요. 그래서 이번에 선택한 메뉴는 굴라쉬 입니다. 굴라쉬는 동유럽 국가들에서 많이들 먹는 스튜입니다. 스튜에 들어가는 양념이 한국인들 입맛에 잘 맞는 편이라 많이들 찾는 음식입니다. 제가 찾은 곳은 믈리니체(Mlejnice)라는 레스토랑..
Scala란 무엇인가? 스칼라 간단 소개 스칼라는 함수형 객체지향 프로그래밍 언어 입니다. 스칼라는 자바의 복잡한 단점을 해결하기 위해 만들어 졌습니다. 스칼라는 자바 바이트 코드를 사용하기 때문에 JVM위에서 실행 시킬 수 있습니다. 또한 자바의 클래스들을 바로 사용할 수도 있고, 자바에서도 스칼라 코드들을 호출할 수 있습니다. 그래서 자바 프로그래머들이 아주 빠르게 배울 수 있는 언어 중 하나입니다. 물론 문법적으론 차이가 있기에 따로 공부를 해야하긴 합니다. 주요 특징들부터 설명해보겠습니다. 함수형 프로그래밍 앞선 소개에서 스칼라는 함수형 프로그래밍을 표방한다고 간략히 적었었습니다. 그렇다면 함수형 프로그래밍이란 무엇일까요? 함수는 입력 값을 파라미터를 통해 입력 받고, 출력 값을 리턴하는 구조를 가지고 있습니다. 하지만..
베를린 여행 비행기 티켓 최근 꽃보다 할배에서 베를린이 나왔었죠. 제가 살고 있는 동네가 나와서 너무나도 반가웠었습니다. 요즘 유럽 여행을 하시는 분들이 늘어난 것 같아요. 하지만 유럽이 가까운 거리도 아니고 비행기 티켓은 여전히 비싸지요. 물론~시간적으로 여유가 많으신 분들은 정말 저렴한 가격에 구매가 가능합니다. 왕복 항공권이 60-70만원대에도 많이 나오니까요. 행사 때를 노리면 더 저렴하게 구입도 가능합니다. 맘껏 휴가를 못쓰는 직장인에게는 그림의 떡이지만요 ㅠㅠ 그럼에도 불구하고 저렴한 항공권들을 어떻게 찾느냐!! 그 팁을 적어보려 합니다. 요즘 항공권 검색 앱이나 사이트가 정말 많이 늘어났습니다. 땡처리 항공권도 파는 곳도 있고요. 운이 좋다면 땡처리 항공권으로 정말 싸게 다녀오실 수도 있지만, 유럽가는 건 그리 쉽지..
HDFS 하둡 분산 파일 시스템 소개HDFS(Hadoop Distributed File System)는 범용 하드웨어에서 분산 처리 파일 시스템을 운용하기 위한 기술이다. 기존의 존재하던 분산처리 파일 시스템들과 기술적으로 거의 동일하다. 특징은 특정 하드웨어를 의한 시스템이 아닌 범용 시스템에서 동작하도록 설계되었다는 것이다. 이러한 기능은 분산 처리를 위한 하둡의 기본 중 하나이다. 네임 노드와 데이터 노드HDFS는 마스터와 슬레이브 아키텍쳐를 가지고 있다. HDFS는 하나의 네임노드와 여러 개의 데이터노드로 구성된다. 네임 노드는 마스터 서버로서 파일 시스템의 네임 스페이스를 관리하고 클라이언트의 권한 등을 체크에 데이터의 접근을 관리한다. 데이터 노드는 네임 노드의 명령에 따라 이 블록을을 생성하거나 삭제, 복제하는 기능을 수행..
[암스테르담] 더 씨푸드 바 (The Seafood Bar) 더 씨푸드 바 (The Seafood Bar) 네덜란드 암스테르담에서 먹어야할 음식은 무엇일까 고민을 많이 했었습니다. 유명한건 홀랜더 감자튀김이나 더치 파이 등인데 먼가 한끼 제대로 먹기에는 부족했지요.암스테르담은 옛날 부터 유명한 항구 도시로 많은 향신료들이 들어왔고 사람들의 마인드가 매우 자유스러웠기에 그런 많은 재료들로 새로운 요리를 만들기를 좋아했다고 합니다.그래서 딱히 어떤 특정 음식을 고르기가 어려웠습니다. 베를린에서 오랜만에 바닷가 근처로 왔으니 해산물을 먹어보기로 결정했습니다. 저녁 비행기를 타야했기에 조금 이른 시간에 갔더니 붐비지는 않았습니다. 하지만 일어날 때 쯤 되니 식당안이 가득 찼었습니다. 식사 시간에 방문하시려면 예약을 미리 하시는게 좋을 듯 합니다. 실내 인테리어도 굉장히 ..

반응형