2016.05.22 설교

> 22예수께서 즉시 제자들을 재촉하사 자기가 무리를 보내는 동안에 배를 타고 앞서 건너편으로 가게하시고 
> 23무리를 보내신 후에 기도하러 따로 산에 올라가시다 저물매 거기 혼자 계시더니
24배가 이미 육지에서 수리나 떠나서 바람이 거슬리므로 물결을 인하여 고난을 당하더라 25밤 사경에 예수께서 바다 위로 걸어서 제자들에게 오시니 26제자들이 그 바다 위로 걸어 오심을 보고 놀라 유령이라 하며 무서워하여 소리지르거늘 27예수께서 즉시 일러 가라사대 안심하라 내니 두려워 말라 28베드로가 대답하여 가로되 주여 만일 주시어든 나를 명하사 물 위로 오라 하소서 한대 29오라 하시니 베드로가 배에서 내려 물 위로 걸어서 예수께로 가되 30바람을 보고 무서워 빠져 가는지라 소리질러 가로되 주여 나를 구원하소서 하니 31예수께서 즉시 손을 내밀어 저를 붙잡으시며 가라사대 믿음이 적은 자여 왜 의심하였느냐 하시고 32배에 함께 오르매 바람이 그치는지라 33배에 있는 사람들이 예수께 절하며 가로되 진실로 하나님의 아들이로소이다 하더라

2015.08.09 로마서 6장 6-11

“우리의 옛사람이 그리스도 와 함께 십자가에 달려 죽은 것은, 죄의 몸을 멸하여서, 우리가 다시는 죄의 노예가 되지 않게 하려는 것임을 우리는 압니다. 죽은 사람은 이미 죄의 세력에서 해방되었습니다. 우리가 그리스도 와 함께 죽었으면, 그와 함께 우리도 또한 살아날 것임을 믿습니다. 우리가 알기로, 그리스도 께서는 죽은 사람들 가운데서 살아나셔서, 다시는 죽지 않으시며, 다시는 죽음이 그를 지배하지 못합니다. 그리스도 께서 죽으신 죽음은 죄에 대해서 단번에 죽으신 것이요, 그분이 사시는 삶은 하나님을 위하여 사시는 것입니다. 이와 같이 여러분도, 죄에 대해서는 죽은 사람이요, 하나님을 위해서는 그리스도 예수 안에서 살고 있는 사람이라는 것을 알아야 합니다.”‭‭로마서‬ ‭6:6-11‬ ‭RNKSV‬‬

http://bible.com/142/rom.6.6-11.rnksv

Elasticsearch 설치하기

설치하기

Single Cluster로 구성하기

  1. 최신 버전의 Java 설치
  2. Elasticsearch download link
  3. 압축풀기
  4. 끝 !

Java는 설치되어 있다는 가정하에 elasticsearch를 설치해보자.
일단 공식 홈페이지에서 압축파일을 받아야 한다. (현재 최신 버전은 1.6.0)

wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.6.0.tar.gz

을 통해 파일을 받고

tar zxvf elasticsearch-1.6.0.tar.gz

으로 압축을 푼다. 자 이러면 설치가 끝났다. 너무 쉬워서 설치가 되었는지 불안하므로 확인을 해보자

설치 폴더에서

./bin/elasticsearch

명령어로 elasticsearch를 실행시켜보자 (-d 옵션을 주면 백그라운드 daemon으로 실행되게 된다)

일련의 메시지가 출력되고 elasticsearch가 실행되었다.

elasticsearch가 제공하는 REST API를 통해서 잘 동작하고 있는지 확인해보자.

curl 'http://localhost:9200/?pretty'

를 실행하면 다음과 같은 메시지가 출력된다.

{
  "status" : 200,
  "name" : "Coach",
  "cluster_name" : "elasticsearch",
  "version" : {
    "number" : "1.6.0",
    "build_hash" : "cdd3ac4dde4f69524ec0a14de3828cb95bbb86d0",
    "build_timestamp" : "2015-06-09T13:36:34Z",
    "build_snapshot" : false,
    "lucene_version" : "4.10.4"
  },
  "tagline" : "You Know, for Search"
}

이 출력값의 의미는 Elasticsearch cluster가 동작하고 있다는 의미이다.

Multi Cluster로 구성하기

용어를 정리하고 시작하자.
Node
동작하고 있는 elasticsearch의 인스턴스
Cluster
같은 cluster.name을 갖고 있는 데이터를 공유하고 failover를 방지하고 스케일 아웃되는 노드들의 그룹

즉 같은 cluster로 구성하고 싶다면 같은 네트워크 안에서 같은 cluster.name1 으로 구성하고 elasticsearch를 재시작하면 cluster.name이 같은 것 끼리 clustering 된다.

실제로 클러스터 구성을 해보자.
실습은 Ubuntu 14.04.1, Java 1.7에서 하겠다.

일단 기본 cluster.name은 default 값으로 elasticsearch로 설정되어 있고 이 디폴트 값을 그대로 사용하자.

첫번째 노드를 실행하면 그 노드는 마스터 노드로 정의되며 다음과 같은 메시지를 볼 수 있다.

K-8

두번째 노드를 실행하면 포트 9200을 통해 자동으로 master 노드가 있는지 확인한 후 자신을 클러스터에 등록한다.
K-6

두번째 노드가 클러스터에 추가된 후 첫번째 노드로 가서 확인해보면 다른 노드가 클러스터에 등록된 것을 확인할 수 있다.
K-10

끝내기

노드를 정지할 때는 다음과 같이 요청하면 된다.

curl -XPOST 'http://localhost:9200/_shutdown'

  1. config/ 폴더 안에 elasticsearch.yml파일에 있다 
태그 지정됨 , ,

소비와 공급 사이

누군가는 컨텐츠를 공급하고

누군가는 컨텐츠를 소비하고

누군가는 그사이에 갈팡질팡

MDN 번역 시작

Spring 4 + Esper로 websocket으로 실시간 모니터링 데이터를 보는 프로젝트 조사중에

MDN에 websocket 문서가 누구나 (Github 계정만 있으면) 수정 가능하다는 걸 알았다!

언제나 도움만 받았는데 나도 미흡하게나마 번역을 해봐야겠다 흐흐

Writing WebSocket client applications

태그 지정됨 , , , ,

핫한 한식 뷔페 올반 정ㅋ벅ㅋ기

요즘 핫한 파미에 스테이션을 지나다가 사람들이 바글바글한 곳을 보고

‘오 저기 엄청 맛나겠다 가보고 싶다’

이렇게만 생각했는데 한식 뷔페 기사를 보고 올반이라는 것을 알았어요.

한식 뷔페가 막 핫해질 무렵 가족들이랑 자연별곡을 갔는데 자연별곡도 괜찮다고 잘 먹었었는데 거기보다 더 맛깔나다니!

여긴 가봐야해! 이러고 친구들을 열심히 꼬셔서 가보았습니다.

조지기 전에 사전답사부터 꼬꼬~ 올반 홈페이지

개발자인 필자의 눈으로 볼 때 이 통 이미지를 밖아 넣은 홈페이지는 뭐지…………. 홈페이지 좀 신경 좀 쓰시지??

얻을게 없군요. 일단 직접 눈으로 봐야겠네요. IMG_9719

아 금요일 저녁에 갔더니 대기 인원이 장난 아닙니다. 이게 한시간 기다린 대기인원이랍니다…………

그래도 웨이팅 걸어놓고 기다리다 못해 다른 곳으로 간 분들이 많아서 한시간 반만에 먹었네요… (금요일 저녁에 처음엔 220명이 넘었어요… 웨이팅을 할걸…)

올바르게 만들어 반듯하게 차린다니 이거 하나 믿고 기다려보겠어요. 평일엔 좌석에 30프로만 예약을 받고 주말엔 예약을 안받는다네요. 평일날 가시려면 예약하시면 좋을 듯 싶어요. IMG_9721

안에는 이런 주전부리랑 신선한 야채들을 이쁘게 포장해서 파네요. IMG_9782

친절하게 조지는 순서까지 나와있네요 ! IMG_9725 IMG_9723

가볍게 에피타이저로 먹을수 있는 죽들! 첫번째 사진은 타락죽 인데요 참 적당히 달달하며 부드러운게 참 맛깔나네요. IMG_9727

제가 좋아하는 나물들도 많네요. 김 모락모락 나는 밥이랑 고추장에 쓱쓱 비벼 먹으면 캬 ~ IMG_9792

낙지 속젓도 있네요 아까 나물이랑 비벼 먹으란 건가요? ㅎㅎ IMG_9728IMG_9736IMG_9737IMG_9791IMG_9738

올반의 인기 메뉴 낙지탕탕 무 샐러드. 무의 아삭거림과 낙지의 쫄깃함을 감싸주는 겨자 소스의 상큼함이 좋았어요. IMG_9746 IMG_9744 IMG_9745 IMG_9759

낙지 무침~ 평소에 먹기 힘든 낙지가 이렇게 많다니! IMG_9749

코다리 강정에

IMG_9752

내가 좋아하는 떡볶이도 있고IMG_9756

대파 닭강정! (같이 갔던 친구들이 이게 제일 맛있었대요) IMG_9757IMG_9758 IMG_9762IMG_9764IMG_9765

각종 전들에

IMG_9767

너무 느끼할 까봐 입가심하라고 있는 장아찌들까지 IMG_9769

장아찌들이 안 짜고 맛있더라니 자신있나봐요~ IMG_9771IMG_9770IMG_9772

오징어 두루치기에 떡갈비에 돼지고기 볶음까지 IMG_9773

따로 설명이 있는 만큼 두부에 자신이 있나보죠?? 두부는 재료에 참 정직한 재료인데 말이죠. IMG_9773

두부의 영원한 친구 볶음 김치랑 IMG_9775

살며시 수줍게 고개를 내밀고 있는 판두부   IMG_9786

요즘 잘 찾아볼 수 없는 순두부도 있네요! 맛은 두부 매니아들한테도 어필할 수 있는 맛이었어요.

약간 잡맛이 나긴 하지만 이정도면 매우 훌륭하죠! IMG_9733

여자분들이 좋아하는 감귤 젤리에 IMG_9778

동글동글 찹쌀 도너쓰까지 있네요.

사진은 없지만 조그맣고 귀여운 붕어빵에 옛날 풀빵 아이스크림 등등 디저트도 훌륭하네요.

자 그럼 이제 본격적으로 조져봅시다. IMG_9780

간장 새우도 있는데 으 이건 비려요…

간장 새우 한번도 안 먹어봤는데 기대 많이했는데 딴데도 이런 맛은 아니겠죠….

간장 새우다!!! 이러고 많이 퍼왔는데….   IMG_9784

고기랑 전도 먹고 야채로 입가심도 하고 IMG_9789

야채로 입가심 했으니까 다시 기름진 음식들 좀 먹어주고IMG_9794

각종 달달한 디저트랑 과일로 입가심 하면 끗 ~~~~~ !

전체적으로 다른 한식 뷔페랑 비교하면 더 정갈하고 맛깔나는건 확실합니다요. 다만 요즘 매우 핫한 파미에 스테이션인만큼 매우 긴 웨이팅은 감수하시길 ~ (다음엔 평일날 예약을 걸어놓고 가야겠어요…) 정말 오랜만에 만족스럽게 먹은 뷔페였습니다 ! ㅎㅎ

태그 지정됨 , , , ,

Scala 시작하기

Inspired

요즘 들어서 Scala를 공부하고 있다. 아직 많이 부족하지만, 지금까지 배운 것들 기록해두고, 또 혹시 조금이라도 도움이 되는 분들이 있을 지 몰라 공유해보고자 한다.

1. 들어가며


뭘 또 배워야 한단 말인가? 이미 C++, Java, Python, Ruby, JavaScript 등 많은 프로그래밍 언어들이 있는데, 왜 자꾸 새로운 언어가 나오고 있냐? 기존 걸로 안되냐?

라는 의문을 가질 수 있다. 나 역시 처음에 그런 생각을 했었다. 하지만, Scala에 대해 공부를 하다 보니, 이제는 그런 의문들이 많이 없어졌다. 어떻게 의문을 해소했었는지, 그럼 조금 자세히 이야기 해보겠다.

2. Scala?


Scala는 다음과 같은 특징이 있다.

2.1 Fuctional language이며 또한 object-oriented language이다.

Ruby나 C#을 쓰다가 Java나 C++ 같은 언어를 쓸 때 조금 답답한 것이, lambda와 같은 functioncal language적인 syntax가 없다는 것이다. 이것을 안 쓸때는 몰랐는데, 일단 손에 익으면 생산성이 매우 높아진다. Scala는 lambda를 비롯하여 여러 functional language의 문법을 지원한다. 동시에, object-oriented적인 요소도 지원하기 때문에, objected-oriented language에 익숙한 프로그래머들이 functional language를 배우고자 할 때 쉽게 다가갈 수 있다.

나는…

원본 글 보기 938단어 남음

Scala + Play Framework 2 Server 성능 향상 시키기

Inspired

주변에서 Play Framework과 Scala에 대한 관심이 많아지고 있는 것 같다. 지난 2년간 이 조합으로 application 서버를 개발하면서 성능이나 개발 생산성에서 아주 만족하고는 있지만, 아직은 reference가 많지 않아서 중간에 어려움을 많이 겪었다. 오늘은 Scala + Play Framework2의 조합에서, thread를 활용해 성능 향상을 할 수 있는 부분에 대해서 공유해보려고 한다.

Scala 및 Play Framework에 대해서는 이전에 작성한 포스팅을 참고.

1. 접근 방향


일반적인 웹서비스는 보통 다음의 flow로 사용자의 request를 처리하는 것 같다.

  1. 사용자 request 발생
  2. DB나 Cache 서버에서 request의 처리에 필요한 값들을 조회
  3. business 로직 처리
  4. DB에 변경된 값 저장
  5. 사용자에게 response를 보내서 처리를 완료

규모가 있거나 좀더 복잡한 서비스의 경우에는 DB서버나 Cache 서버 외에 또 다른 application 서버를 이용하기도 한다. 이때 병목이 되는 부분은, 대개의 경우에는 외부의 서버와 통신하는 부분이다. 즉, DB, Cache, 다른 application 서버에 무언가를 요청하고 결과를 기다리는 작업에서 CPU 연산과는 order가 다른 수준으로 시간이 걸린다. 그래서, 어떻게 외부 서버와 효율적으로 통신을…

원본 글 보기 578단어 남음

채용공고 코딩 퀴즈

여기저기 글들을 읽다가 재밌는 채용공고를 찾았다. (주기적으로 바뀌는거 같으니 링크는 언제 잘릴지 난 모름)
서류전형에서부터 출제된 퀴즈를 풀어서 같이 내는 건데

이 회사 채용 프로세스가 빡세다.

서류전형에서 퀴즈
미션 코딩 시험 한번 더
면접 때 또 다시 코딩 시험

프로젝트가 오늘로서 끝이 났기 때문에 마음의 여유가 생겨서 그런가
갑자기 재밌어보여서 나름대로 끄적여 보았다.

끄적인 수준이기 때문에 코드는 더럽…
github

태그 지정됨 , , , , ,