일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- ipTIME
- Spring Batch
- spring reactive
- 웹 스터디
- 웹 커리큘럼
- 웹앱
- reactor core
- 서버운영
- reactor
- reactive
- Spring Framework
- 공유기 서버
- Today
- Total
목록Back-End (53)
Hello World
먼저 storm과 kafka에 대해 간단히 알아보도록 하자. storm storm은 실시간 분산 처리 시스템이고, 방대한 양에 데이터 스트림을 안정적으로 처리한다. storm은 실시간 분석, 머신러닝 등에 사용된다. storm 클러스터는 Hadoop 클러스터와 표면적으로 유사한데 Hadoop에서 "MapReduce job"을 실행하는 반면에, storm은 "topology"를 실행시킨다. "jobs" 와 "topology"는 매우 다른데 한가지 핵심적으로 다른 점은 MapReduce job 은 결국 끝나게 되지만 토폴로지는 kill하지 않는 이상 계속 message를 처리한다. storm에 대한 좀 더 자세한 설명은 링크1 링크2 를 확인해 보기 바란다. kafka kafka는 LinkedIn에서 자신들..
하둡을 운영하다 보면 여러 가지 이유로 하둡 클러스터를 업그레이드해야 하는 경우가 발생합니다. 예를 들어서 치명적인 버그가 최신 버전에서 패치가 되거나, 사용 중이거나 (혹은 사용하고 싶은) 에코 시스템이 특정 HDFS 버전에서만 설치 가능한 경우입니다. 하지만 하둡 클러스터가 실제 서비스(흔히 말하는 프러덕션 모드)에서 운영 중이라면, 담당자는 업그레이드에 큰 부담을 느낄 수도 있습니다. 업그레이드 시간이 너무 많이 소요되지는 않을지, 혹시나 데이터가 유실되지 않을지, 장애가 발생했을 때 롤백은 가능할 지 등 담당자는 많은 고민을 하게 될 것입니다. 그 중 가장 큰 부담은 운영 중지해야 된다는 것입니다. HDFS 업그레이드할 때 전체 클러스터를 최소 한번은 재시작을 해야합니다. 네임노드가 부팅될 때 f..
MVVM 패턴은 Model-View-ViewModel패턴의 약자입니다. Knockout.js이 MVVM패턴에 기반을 두고 있기 때문에 본격적으로 만져보기 전에 MVVM을 어느정도 이해할 필요가 있을 것 같아서 이리저리 좀 살펴보았습니다. MVVM은 Microsoft의 John Gossman이 WPF와 Siverlight의 아키텍쳐중 하나로 2005년 자신의 블로그에 공개를 했으며 현재도 WPF와 Siverligh쪽에서 많이 쓰이고 있는 패턴입니다. (Knockout.js도 조만간 살펴보것이긴 하지만 FRENDS 블로그에 공식문서가 번역되어 있습니다.) MVVM 이란... 앞에서도 얘기했듯이 MVVM은 Model-View-ViewModel을 이야기하고 MVC가 모델, 뷰, 컨트롤러로 이루어져있다면 MVVM..
웹에서 HTTPS는 보안을 위해서 기본적으로 지원해야 하는 부분이다. 구글에서도 작년부터 HTTPS를 지원 여부를 사이트의 신뢰할 수 있다는 척도로 판단하고 검색 순위에서 올리겠다고 발표했다. 이 블로그에서도 HTTPS를 붙이고 싶었지만, SSL 인증서를 구매해야 하다 보니 개인 블로그에서는 부담돼서 적용을 못 하고 있었다. Lets' EncryptLets' Encrypt는 HTTPS를 사용하기 위해 SSL을 구매해야 하는 부분이 HTTPS 보급에 방해된다고 생각해서 SSL을 무료로 제공해서 HTTPS를 보급하기 위해 작년 말에 만들어졌다. 초기에는 Mozilla, Cisco, Akamai, EFF, id entrust 등이 모여서 ISRG(Internet Security Research Group)라는..
아파치는 HTTP/1.1 규약에 기술된 내용협상(content negotiation)을 지원한다. 내용협상은 media type, 언어, 문자집합, 인코딩 등에 대해 브라우저가 제공한 선호도에 따라 자원의 가장 적합한 표현을 선택한다. 또 불완전한 협상 정보를 보내는 브라우저의 요청을 지능적으로 처리하는 기능도 있다.기본적으로 컴파일되는 mod_negotiation 모듈이 내용협상 기능을 제공한다.내용협상에 대해아파치의 협상협상방법품질계수 조작하기자연스러운(transparent) 내용협상의 확장하이퍼링크와 이름규칙에 대하여캐쉬에 대하여Comments내용협상에 대해자원은 여러 다른 표현을 가질 수 있다. 예를 들어, 다른 언어나 다른 media type 혹은 둘 모두가 다른 표현들이 있을 수 있다. 가장 ..
마틴 파울러가 2010년 3월에 작성한 Richardson Maturity Model (원문) (번역) 에 웹서비스들이 RESTful 을 향해 나아가는 단계를 다룬 이미지가 있습니다. 0 단계는 End-point 그 자체가 하나의 서비스입니다. 오오 POST /appointmentServie1 단계는 URI 를 Representational 하게 작성하는 단계입니다. 그러나 POST와 GET의 의미도 없고, 단순히 HTTP 요청을 보내기 위해 사용합니다. POST /doctors/mjones POST /slots/12342단계는 HTTP Method 에 의미를 부여해 Verbs, 즉 Action 처럼 활용하는 단계입니다. 각 HTTP 메소드 POST, GET, PUT, DELETE 가 CRUD 에 대응됩..
[프로그래머가 알아야 할 보안] HTTPS를 뚫는 자전거 공격개발자들 중에는 HTTPS/TLS로 암호화된 컨텐츠는 안전하다고 믿는 이가 많을 것이다. 그래서 ID/암호를 평문으로 실어 보내는 사람도 있을 것이고. (과거의 나…;;)최근 자전거 공격이라는 이름을 붙인 한 페이퍼[1]가 공개되어 궁금증을 참지 못하고 실험해 보았다. 결론적으로 이는 스트림 기반 HTTPS/TLS 암호화의 취약성을 이용하고 있다. 이는 예전부터 보고된 내용[2]으로, 새로운 발견은 아닐테지만 웹어플리케이션에서 어떻게 이용될 수 있는지를 실제로 보여주는 유용한 연구라 말할 수 있다. 스트림 기반 암호화와 블록 기반의 차이는?먼저 스트림 사이퍼와 블록 사이퍼의 차이점을 알아보자. 스트림은 이름에서 알 수 있듯이 연속적인 비트를 입..
메이븐 설명 Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. 메이븐 기능 - 빌드 - 문서화 - 리포팅 - 의존관계 관리 - 소스코드 관리 - 릴리즈 - 배포 메이븐 사용시 이점 - 의존성 관리 (오픈소스 라이브러리 뿐만 아니라 프로젝트 혹은 무듈간의 의존성 또한 관리가 가능함) + Java 개발자의 중요한 능력중에 하나는 오픈소스 라이브러리 혹은 프레임워..
차기 프로젝트에서는 CI 툴을 사용하고자 Jenkins 사용법에 대해서 알아봤다.빌드 방법은 maven을 이용해 war 생성 후 tomcat manager를 통해 war를 업로드 하는 식이다. 1. 먼저 Jenkins를 설치한 후 웹 사이트에 접속한다. 2. 시스템 설정Jenkins 관리 > 시스템 설정 메뉴 접속 후 다음과 같이 JDK, Maven, 이메일, SVN 버전 설정을 한다.이메일 서버는 gmail을 이용하였다. 3. 새로운 Job을 클릭Job 이름 입력 후 Build a maven2/3 project 라디오 버튼 클릭 4. 소스 코드 관리 설정은 다음과 같이 한다.나는 naver SVN 저장소를 이용했다. 사실 우리 회사 SVN 서버가 가끔씩 말썽을 일으키는 경우가 있는데 회사 프로젝트도 네..
This post is dedicated to REST, an architectural style of shaping webservices and the most misunderstood concept in the history of IT. This post is addressed to you who is designing webservice apis not being fully aware what REST actually means. I’m trying to give you the idea. This post is also addressed to you who think to know what REST means, when in reality you have no clue, just yet. Yes i..