DBMS는 어떻게 트랜잭션을 관리할까?

Posted · Add Comment

NHN Business Platform 서비스플랫폼개발센터 오이석 트랜잭션 관리는 DBMS가 제공하는 여러 기능 중에서 가장 중요하고 기본적인 것 중의 하나로, DBMS 사용자들에게는 공기와 같은 존재입니다. 이 글에서는 우리가 트랜잭션을 커밋하거나 철회했을 때 어떤 일이 일어나는지, 어떻게 DBMS가 트랜잭션을 복구하는지에 대해서 알아보려고 합니다. 어떤 원리로 트랜잭션 관리라는 매직이 이루어지는지 살펴봅시다. 트랜잭션은 무엇인가? 잘 알려진 내용이라 진부한 측면이 있지만, […]

Percona Live MySQL Conference and Expo 2013 참관기

Posted · Add Comment

NHN Business Platform DBMS개발랩 남창우 Percona Live MySQL Conference and Expo는 MySQL 커뮤니티와 생태계 구성원의 다양한 기술, 경험, 트렌드를 공유하는 행사로, 박람회 같은 요소가 가미되어 있습니다. Percona가 주최하며 올해로 5년째를 맞이했습니다(Percona가 행사를 인수하기 전까지 포함하면 더 오래되었습니다). 이번 행사에는 정확하지는 않지만 키노트 참석 인원을 기준으로 약 400 ~ 500명 정도가 참여했으며, 전체적으로 개발자보다는 사용자에 무게를 […]

클라우드 네트워크 관리 기술, OpenFlow

Posted · Add Comment

NHN Business Platform 클라우드플랫폼개발랩 박민수 클라우드 환경에서는 간단한 사용자 조작으로 네트워크 부하를 분산하고 트래픽을 모니터링하며 서로 다른 데이터 센터나 서로 다른 지역 또는 서로 다른 국가에서 운영 중인 서버에 대해 네트워크를 관리할 수 있도록 하는 기술이 필요합니다. 이번 글에서는 클라우드 네트워크를 효율적으로 관리할 수 있는 기술 중 하나인 OpenFlow에 대해서 이야기하겠습니다. 클라우드 환경의 네트워크 관리 […]

Android의 HTTP 클라이언트 라이브러리

Posted · Add Comment

NHN Business Platform 웹플랫폼개발랩 김원준, 정상혁 Android 애플리케이션에서는 HTTP 통신을 다루는 부분의 비중이 크다. 데이터를 조회하거나 저장하기 위해 서버와 통신하는 모듈은 대부분 HTTP API를 사용하고 있기 때문이다. 사용자가 보는 화면 개발을 제외한다면 HTTP 클라이언트가 애플리케이션 개발의 중심이라고도 할 만하다. Android 환경에서 HTTP 클라이언트를 개발하는 방식은 다양하다. Android SDK에서 제공하는 기능을 직접 사용하기도 하고, 이를 좀 […]

vert.x와 vert.x 임베디드

Posted · Add Comment

NHN Business Platform 웹플랫폼개발랩 김재홍 vert.x는 비동기 애플리케이션 개발을 위한 프레임워크로 node.js처럼 개발이 쉽고 확장이 편리합니다. vert.x 임베디드는 vert.x를 사용하는 방법 중 하나로 Java 또는 Groovy 애플리케이션에 HTTP, HTTPS, TCP, SSL, WebSockets 등의 기능을 추가할 때 사용합니다. 이 글에서는 vert.x 임베디드를 사용하면서 경험한 장단점과 vert.x 임베디드 사용 방법, 그리고 주의 사항을 설명하겠습니다. 이 글은 vert.x […]

[TECH@NHN] 웹 접근성 프로젝트 시작하기 책 출간

Posted · Add Comment

TECH@NHN 시리즈 여섯 번째 책인 <NHN은 이렇게 한다! 웹 접근성 프로젝트 시작하기>가 2013년 1월 11일에 출간됐습니다. TECH@NHN_006 NHN은 이렇게 한다! 웹 접근성 프로젝트 시작하기   (표지: 사라져 가는 동물 시리즈,대왕판다)   저자: 박태준, 조진주, 김한솔 출판사: 위키북스 출간일: 2013. 1. 11. 페이지: 304쪽 가격: 18,000원(온라인 서점가: 16,200원), 12,600원(eBook) <NHN은 이렇게 한다! 웹 접근성 프로젝트 시작하기>(이하 […]

Varnish 이야기

Posted · Add Comment

NHN 메인서비스개발팀 강흠근 웹 서비스에서는 사회적 이슈나 각종 이벤트, DDoS(Distributed Denial of Service) 공격 등으로 인해 트래픽이 갑자기 폭주하는 경우가 있습니다. 이러한 트래픽 폭주로 발생하는 장애를 예방하기 위해 일반적으로는 불필요한 자원을 미리 할당해 놓습니다. 그러나 자원을 미리 할당하는 것은 낭비일 수 있습니다. 자원을 낭비하지 않으면서 트래픽 폭주로 발생하는 장애를 예방하기 위해 Varnish를 사용할 수 있습니다. […]

Android에서 @Inject, @Test

Posted · Add Comment

NHN Business Platform 웹플랫폼개발랩 정상혁 @Inject와 @Test는 최근 Java 프로그래밍의 경향을 함축하는 상징입니다. @Inject는 javax.inject.Inject’ 애노테이션을 가리키기도 하지만, 이 글의 맥락에서는 @Autowire, @Resource 등 의존 관계 주입(dependency injection)을 표시하는 애노테이션의 대표라고 이해해 주었으면 합니다. @Test는 JUnit4 ‘org.junit.Test’ 애노테이션으로, 테스트 코드를 표시합니다. 최근의 많은 Java 프로그래밍 환경에서는 주요 객체간의 의존 관계를 @Inject로 정의하고, 실제 실행 환경에서는 […]

Java Reference와 GC

Posted · Add Comment

NHN Business Platform 웹플랫폼개발랩 박세훈 Java의 가비지 컬렉터(Garbage Collector)는 그 동작 방식에 따라 매우 다양한 종류가 있지만 공통적으로 크게 다음 2가지 작업을 수행한다고 볼 수 있습니다. 힙(heap) 내의 객체 중에서 가비지(garbage)를 찾아낸다. 찾아낸 가비지를 처리해서 힙의 메모리를 회수한다. 최초의 Java에서는 이들 가비지 컬렉션(Garbage Collection, 이하 GC) 작업에 애플리케이션의 사용자 코드가 관여하지 않도록 구현되어 있었습니다. 그러나 […]

안전한 패스워드 저장

Posted · Add Comment

NHN Business Platform 회원플랫폼개발랩 김종수 “보안 시스템은 가장 약한 연결 고리만큼만 강하다.” 보안 시스템은 여러 부분으로 이뤄집니다. 공격자(attacker)는 이 중에서 가장 취약한 부분을 공격할 것이라고 가정해야 합니다. 보안 시스템이라는 사슬에서 가장 약한 고리가 끊어지면 다른 고리가 얼마나 강한지는 문제가 되지 않습니다. 즉, 보안 시스템의 안정성은 ‘강한 부분이 얼마나 강한가’보다는 ‘약한 부분이 얼마나 약한가’에 따라서 좌우됩니다. […]