Posts

2017

Safari ICE Candidate Restrictions 회피하기

2017-11-12

Problem Safari v11 이후부터 미디어 캡쳐 장치에 대한 접근 권한이 최종 사용자에 의해 확보되지 않으면, 더 이상 Host ICE 후보 주소들의 노출을 허용하지 않는다. 실제로 테스트를 해 보면, UDP Candidate Type이 host를 제외한 나머지 형식의 후보...

RTP Payload Type

2017-11-11

SDP 전문에서 협상 가능한 미디어 코덱에 대한 식별자로 RTP Payload Type 값을 사용한다. IANA 표준 규약은 고정 미디어 프로파일(0~95번), 동적 미디어 프로파일(96~127번)으로 분류하여 정의하고 있으며, 후자의 경우 중복되지 않는 미디어 프로파일 번호를 할...

SFU Adaptive Streaming

2017-11-10

Problem 대부분의 1 세대 WebRTC SFU 서버는 서로 다른 참가자에게 독립적으로 미디어 비트율을 적용 할 수 없었다. SFU 서버는 모든 수신자의 RTCP feedback을 송신자에게 전달하므로, 결국 송신자는 최악의 수신자 조건 (e.g., 가장 낮은 예상 대역폭 및 ...

Overview of WebRTC Open Source Media Servers

2017-11-09

WebRTC 미들웨어로 검토할만한 오픈 소스 미디어 서버들에 대하여 간략하게 정리하였다. SFU와 MCU에 대한 내용은 이전 블로그 참고.

P2P vs SFU vs MCU

2017-11-07

WebRTC는 기본적으로 P2P 프로토콜로서, 대규모의 미디어 방송 서비스를 구축하거나 나 컨텐츠 가공이 필요한 경우와 같이, 서비스 목적에 따라 별도의 중앙 서버를 구성해야 할 필요가 있다. 아키텍처는 유즈케이스에 따라 다음과 같은 구성을 고려해 볼 수 있다.

WebRTC Simulcast Samples

2017-11-06

SIM SSRC Group을 활용한 동시 방송 예제 코드. ```html Local Video Remote Videos

SDP: Session Description Protocol

2017-11-04

종단 간 상호 미디어 규약 협의를 위하여 WebRTC는 세션 기술 프로토콜(Session Description Protocol, SDP) 협상 모델을 사용한다. SDP 전문은 각 클라이언트가 교환할 상세 미디어 프로토콜 규약과 옵션을 포함하며, 한 피어에서 제안(Offer)하고 다...

WebRTC Architecture

2017-11-03

Overall Design WebRTC Media Engine Packet loss concealment. Echo cancellation. Bandwidth adaptivity. Dynamic jitter buffering. Automatic gain con...

About WebRTC

2017-11-03

Overview WebRTC(Web Real-Time Communication)는 웹 브라우저에서 플러그인 없이 상호 미디어 교환을 가능하게 하는 API로, 음성/영상 통화 또는 파일 송수신을 위해 활용될 수 있다. 프로젝트는 2011년 5월 구글에서 시작되었고 IETF와 W3C에...

Twelve Factor Apps

2017-04-03

What is the Twelve Factor Apps? ‘Twelve-Factor‘란, 클라우드 환경에서 좀 더 나은 마이크로-서비스 애플리케이션을 설계하기 위한 개발 방법론이다. 다양한 SaaS 환경에서 관찰된 설계와 시스템의 문제를 공유하고, 유비쿼터스 언어로 통용화하기 위해...

Back to Top ↑

2015

Esper CEP - 1. Overview

2015-06-08

Esper는 실시간 분석의 대표적인 CEP 오픈 소스 프로젝트이다. 이전부터 관심은 있었지만 볼 기회가 없던 차에, 시간이 남아 돌아 끄적여본다…^^; (* Event-driven architecture에 대한 내용은 이전 포스트 참고: EDA 개념과 Event Processing)

EDA 개념과 Event Processing

2015-05-08

EDA 개념 EDA(Event Driven Architecture)는 -이벤트의 생산, 감지, 소모 그리고 반응을 위한 소프트웨어 설계 패턴-이다. 이미 꽤 오래전에 나온 디자인이고 GUI를 다루는 Rich Client 분야에서 쉽게 볼 수 있었지만, 몇 해 전부터 유행하기 시작한...

Summary of HTTP/2

2015-04-21

Problem HTTP/1.x의 -단일 요청과 응답-은 불필요한 RTT 증가와 네트워크 지연을 초래한다. 기본적으로 HTTP는 단일 연결에서 단일 요청만을 처리할 수 있으므로 모든 메세지 교환은 순차적이며 latency는 증가할 수밖에 없다. 이는 몇 가지 사이트들의 성능 통계만 ...

Mixed Scala and Java Project 구성하기

2015-03-12

Problem 복잡한 비지니스 로직을 포함하는 자바 프로젝트는 그 테스트도 상당히 복잡해진다. 다양한 조건과 분기 테스트를 수행하는 단위 테스트 케이스는 코드도 길어지고 본래 테스트의 의미를 제대로 표현하지 못하는 지저분한 코드가 되기 쉽상인데, 이런 상황에서 테스트 케이스만 다른...

TDD가 가져온 변화

2015-02-11

지난 기간동안 TDD를 도입하며 느꼈던 부분들을 공유하고자 한다. TDD가 주는 이점은 분명히 존재하지만 TDD를 꼭 도입해야 하느냐에 대한 원론적인 내용은 아니며, 사전 테스트가 지니는 의미에 중점을 두고 작성해 보았다.

Back to Top ↑

2014

Java 8 - Method References

2014-09-15

지난 포스팅에서 Lambda Expression을 통한 익명 메서드(anonymous method)를 생성하는 예를 간단히 살펴보았다. 이번에 살펴볼 ‘Method References’는 이미 존재하는 메서드를 함수형 인터페이스의 구현 내용으로 전달할 수 있는데, 조금 더 쉽고 가...

Java 8 - Lambda Expression과 변경된 Interface의 모호함

2014-09-09

Java 8이 릴리즈된지 꽤 지났음에도 불구하고, 내 게으름으로 인해 이제야 Lambda 테스트를 해 보게 되었다. Lambda의 지원 여부를 놓고 오래 전부터 옥신각신(?)하던 과거와는 달리, java가 Oracle로 흡수되면서 보이는 첫 큰 변화라고 해도 과언이 아닐 듯 싶다....

Java 8 - Metaspace Area

2014-06-02

PermGen 영역이 사라지다 Permanent Generation(이하 PermGen) 영역은 JVM Heap 영역의 일부로 클래스의 메타데이터를 저장하는 공간이었다. Oracle HotSpot JVM은 Java 7부터 이미 PermGen 영역을 제거하기 위한 사전 작업으로 일부...

Hazelcast 시작하기 -1-

2014-03-25

Overview Hazelcast는 분산 환경에서 데이터 공유를 위한 ‘In Memory Data Grid’ (이하 IMDG) 오픈 소스 솔루션이다. 그동안 비슷한 류의 data grid 소스들이 존재했지만(e.g, Terracotta, Coherence, etc), Hazelca...

MVW(Model View Whatever)의 이해

2014-03-19

주말에 짬이 생겨 AngularJS를 훑어보고 있는데, MVW라는 재밌는 표현이 보이길래 잠시 정리해 보았다.

Flash Scope in Spring MVC 3.1

2014-02-04

Spring MVC 3.1에 추가된 Flash Attribute Scope는, Redirect View Handling 전에 HTTP 요청 데이터를 임시 보관하였다가 재전송하기 위한 Attribute Scope이다. 이런 상황에서, 보통 개발자들은 다른 방법을 강구하거나 HTTP ...

Back to Top ↑

2013

CQRS

2013-07-02

What is the CQRS? CQRS는 -명령과 질의 책임의 분리(Command Query Responsibility Segregation)-를 의미하는 설계 패턴이다. 표현 그대로 읽기/쓰기 모델을 분리하여 설계하는 디자인으로, 마침 읽기 전용 인터페이스들의 재사용성 증대와 ...

IBSheet Code Generator

2013-06-24

간만에 주말 아르바이트로 만들고있는 IBSheet Code Generator - Eclipse Plugin 버전.

Functional Programming - 1급 함수와 고차 함수의 개념

2013-03-22

함수형 프로그래밍에서 함수를 ‘1급 구성원(first class citizen)’으로 취급하는지에 따라 ‘함수형 언어’냐 ‘함수형 프로그래밍 스타일을 지원하는 언어(?)’냐로 구분하여 보는 것이 타당할 것 같다. 일반적으로 함수형 언어는 syntax 차원에서 함수를 1급으로 다룰 ...

Back to Top ↑

2012

Synchronized의 동작 원리

2012-11-05

Java에서 동기화는 synchronized keyword를 통해 이루어지며, 실제로는 OS에서 제공되는 쓰레드의 구현 기능을 사용하게 된다. 여기서 동기화란, 공유 리소스에 대한 멀티 쓰레드 환경에서의 접근 순서를 순차적으로 부여함을 의미하며, 순차 처리에 의한 공유 리소스의 일...

Summary Java Agent (Bytecode Instrumentation)

2012-10-03

Overview Java SE 5 에서 Bytecode Instrumentation의 범주로 새롭게 소개된 ‘Java Agent’ 명세에 대하여 간단히 소개하고자 한다. (* 일반적인 Agent 의미와 혼용되지 않는다.)

Method Chaining Pattern

2012-09-07

Method Chaining Pattern(이하 MCP)은 함수형 언어에서 많이 볼 수 있는 디자인 패턴으로서 행위의 연속을 단순하게 표현할 수 있도록 돕는다. 각 행위를 담당하는 메서드 혹은 함수는 다시 자신의 레퍼런스를 응답함으로서 여러 줄에 걸쳐서 표현된 코드를 단순하고 직관...

Summary of UML 2

2012-08-06

1. Overview UML(Unified Modeling Language: www.uml.org)은 시스템 소프트웨어를 설계하고 표현하는 것을 시각적으로 도와주기 위한 GML(Graphical Modeling Language)의 일종으로, 도메인의 추상적/피상적인 부분을 포함하여...

객체지향을 이루는 개념과 5대 설계 원칙

2012-05-29

객체지향을 이루는 개념과 5대 설계 원칙 OOP, Object Oriented Programming 객체지향(Object Oriented)이란, 현실 세계를 반영하는 객체 기반의 모델링 기법이다. 근래에 유행하는 대부분의 언어는 모두 객체에 기반하고 있으며, 이러한 언어들을 객체지...

Java Assertion을 사용하지 말자

2012-04-08

Problem Java 1.4에서 추가된 assert 식은 다양한 사전 조건이나 제약 사항에 대한 검사를 편하게 할 수 있도록 예약어로 제공된다. 하지만 assert 식은 개인적으로 사용하지 않는 편이다. 그 이유는 assert 식의 대부분은 예외로 처리할 수 있으며, 여러모로 구...

Spring 3.1 Profile Abstraction

2012-03-05

Spring 3.1에 추가된 Profile Abstraction은 환경별/단계별 Context를 바인딩 할 수 있도록 지원한다. 예를 들면, 개발(DEV), 테스트(STG), 운영(PRD) 단계별로 각자 다른 배포 전략이나 프로세스로 관리되던 ApplicationContext를 ...

Apache ZooKeeper - 1. Overview

2012-02-20

-Apache Zookeeper-는 분산 코디네이터로 얼마전까지 Hadoop의 서브 프로젝트였다가 apache 메인 프로젝트로 당당히 납시셨다.;;; 레퍼런스는 http://zookeeper.apache.org/를 참고하였으며, 현재일자 기준 최신버전인 3.4.2 버전을 토대로 작...

JNA (Java Native Access)

2012-02-06

JNA는 기존 JNI(Java Native Interface)의 복잡한 구현 방식을 단축하고자 나온 OpenSource Library이다. https://github.com/twall/jna JNA를 이용하면 JNI의 native library와의 연결을 위한 javah...

Hudson(Jenkins) Integration for Mylyn

2012-01-16

Mylyn은 Trac/Jira와 같은 Issue Tracker나 SCM, CI, 기타 build 도구들과의 통합 및 모니터링을 지원하여 좀 더 빠른 작업 및 모니터링, 문서화가 가능하게 한다. 또한 Outlook, Gmail 등의 연동으로 일정, 작업리스트, 메일 등의 통합관리도 ...

Back to Top ↑

2011

The Overview Servlet 3.0 of JEE 6

2011-12-21

Servlet 3.0 (JSR-315) API는 개발 편의성의 증대라는 목표로 Annotation을 통한 선언적 프로그래밍, 하위 호환성 문제가 없는 type-safety한 Generics, 손쉬운 Web Application 설정 등을 지원한다. 역시나 눈에 띄는 부분은 Anno...

Spring Business Tier Design Pattern

2011-11-29

회사에서 문서질만 하다 Spring @Service를 이용한 Business Tier에서 설계할 수 있는 Design Pattern 몇 가지를 정리해본다. Monolith 개발 환경에서 비지니스 로직의 단순화와 도메인 모델의 표현력에 촛점을 맞추도록 한다.

Spring 3.1 Cache Abstraction

2011-11-07

Spring 3.1부터는 어플리케이션에 캐시 기능을 추가할 수 있는 기능이 제공된다. 현재 Spring Framework 3.1.0.M2 버전에서 제공하는 캐시 저장소는 java.util.concurrent.ConcurrentMap과 EhCache 두가지를 제공한다.

Spring 3 @Async 비동기 메서드 호출

2011-11-06

Spring 3 @Async Annotation을 통해 비동기 호출 로직을 쉽게 구현할 수 있다. 실제로 @Async Method는 ThreadExecutor를 통해 별도 Thread로 동작하게 된다. 예 1) Async Method ... <task:scheduler ...

Spring 3 @Scheduled

2011-11-06

Spring 3에서는 @Scheduled Annotation을 통한 스케줄링이 가능하다. 다음은 cron-expression을 통한 스케줄링의 예이다. 예 1) TestJob.java package com.xenomity.batch; import org.springframew...

Overview Spring Batch

2011-11-06

Spring Batch는 엔터프라이즈 환경에서의 작업을 위한 강력한 일괄 처리 응용프로그램 개발이 가능하도록 설계된 경량/포괄적 프레임워크로써, 로깅/추적, 트랜잭션 관리, 작업 처리 통계, 작업 다시 시작, 건너뛰기, 및 리소스 관리를 포함하는 레코드 처리에 필수적인 재사용 가능...

Overview MapReduce

2011-11-01

MapReduce는 Google에서 정보 검색을 위한 Big Data의 가공을 목적으로 개발된 분산 환경에서의 병렬 데이터 처리 기법이자 프로그래밍 모델이며, 이를 지원하는 시스템을 통틀어 일컫는다. 줄여서 M/R이라고도 하며, LISP 언어에서의 map()과 reduce() 함수...

Overview Spring DM

2011-09-15

OSGi에 대한 내용들은 이전에 포스팅한 글들을 참고한다. (Search -> OSGi) Spring DM에 대한 간략한 Overview가 필요하여 정리하였다.

Quartz에서 Spring ApplicationContext 공유하기

2011-09-10

Quartz의 Life-cycle이 Spring과 별개 level에서 동작하는 이유로, @Resource나 @Autowired같은 Annotation 기반의 Dependency Injection을 사용하기에는 무리가 있다. 그래서 보통 quartz 설정에서 직접 Job의 sette...

Spring DataSource 계정정보 암호화하기

2011-09-10

jasypt (Java Simplified Encryption)을 사용하면 손쉽게 properties 파일 내부의 값을 암호화가 가능하다. 그러나 Spring의 applicationContext 값을 암호화하려면, 값을 properties로 분리하고 PropertyPlaceHold...

Spring 3 EhCache 적용하기

2011-07-28

EhCache는 JVM 캐싱과 분산 캐싱(distributed/clustered)을 지원하는 대표적인 Java Cache Framework이다. 다양한 캐싱 모델을 지원하고 있으며, 물리디스크 또는 메모리를 캐싱 저장장치로 이용할 수 있다. EhCache를 Spring에 통합하고...

Spring에서 Hibernate Validator 사용하기

2011-07-21

작업환경 : Spring 3.0.5, Hibernate Validator 4.2 Hibernate Validator는 JSR-303 Spec의 구현체로서 도메인 모델에서 @Annotation을 통한 필드값 검증을 가능하게 해준다. Controller에서의 Validatio...

Maven Emma Test-Coverage Analysis Plug-in

2011-07-20

Emma는 TestCase를 품질지표로 설정하기 위한 Test Coverage Reporting Tool로써, PMD Code Inspection과 함께 대표적으로 많이 쓰이는 품질관리 도구이다.

JUnit 4.x with Spring-test Module

2011-07-20

Spring-JUnit 테스트시 applicationContext를 @Annotation을 통해 간편하게 로딩하고 초기화하기 위한 Spring Module로써, Spring TestContext Framework라고도 한다. 기존 Spring의 TestClass들을 상속하여 직접 ...

Castor를 이용한 Spring 3 OXM

2011-07-20

Spring OXM을 이용하면 거의 대다수의 OXM 프레임워크들의 일관된 적용이 가능하다. 그 중 Castor는 별도의 매핑정보가 없이도 심플하게 XML-Object간 Marshalling/Unmarshalling이 가능한 Mapper로서, ContentNegotiatingView...

Spring 3 RESTful style MVC 예

2011-07-20

Spring 3 @MVC를 통하여 RESTful한 스타일의 서비스를 쉽게 구현할 수 있다. Spring Form 태그를 통한 GET, PUT, DELETE, POST HTTP 요청으로 동일한 자원요청에 대한 CRUD를 다양하게 처리할 수 있으며, 별도로 ContentNegotiat...

Spring 3 SpEL을 통한 Properties 활용하기

2011-07-18

기존 스프링 2.5.x 버전의 property-placeholder와 EL을 통한 properties 활용이 개인적으로는 더 친숙하고 편했던것 같지만… 없는 프로퍼티 값을 요청할 경우 그대로 찍히는 EL 표현식때문에 일일이 체크하기에 좀 불편한감도 없지 않았다.; 대신 Sprin...

Spring Transction Attributes

2011-07-13

Spring Transaction Attributes Spring을 통한 트랜잭션 처리는 전략에 따라 트랜잭션 전파 범위와 격리 수준 등을 결정할 수 있다.

Spring Transaction Propagation

2011-07-13

트랜잭션 전파 방법에 관한 속성을 정의한다. 예) applicationContext.xml <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> &l...

Embedded Servlet/JSP Container Winstone

2011-07-04

Java DB나 이전 Derby, HSQL처럼 Embeded형 DB는 여럿 종류를 보았지만, Embedded형 Servlet/JSP Container는 Winstone이 독보적인 것으로 알고있다. 현재 Hudson CI가 WAS 없이도 번들된 Winstone을 통해 웹서비스가 가능...

m2e와 Eclipse WTP 연동을 통한 Web Project 생성하기

2011-07-01

작업 환경: JDK 6, Tomcat 6, Eclipse Indigo Eclipse의 Maven 플러그인인 m2e를 통해 생성된 프로젝트는 WTP 플러그인과 연동되지 않아 여러 불편함이 있었다. 하지만 m2e Extra 플러그인을 추가 설치하여 손쉽게 WTP와 연동하고 개...

Google Weather Open API

2011-06-24

Google에서 제공하는 날씨 정보 API로 4일간의 일기예보 및 해당 날씨의 이쁜(?) 아이콘까지 제공한다. 현재까지 Weather API는 라이센스 키의 인증없이 공개적인 사용이 가능하다. :)

About Polling, Long Polling, Stream, WebSocket

2011-05-04

초기의 정적인 웹이 시간이 지나면서 다양한 동적 요소와 복잡한 상호 작용이 요구됨에 따라 다양한 기술로의 발전을 이루어냈다. 여기서는 RIA나 X-Internet과 같은 별도 런타임 환경이 아닌, 순수한 웹 환경의 폴링(Polling) 기법과 연관하여 발전된 방법들을 정리한다.

Apache Project 리스트

2011-05-02

Apache HTTP Server : Open Source HTTP Server. Apache Abdera : Open Source Atom Implementation. Apache ActiveMQ : Open Source Messaging and Integration Patter...

Google AdSense 모바일 광고 삽입하기

2011-04-25

Google AdSense에서 제공하는 모바일 컨텐츠용 광고 단위를 이용하면 AdMob같이 별도 라이브러리를 필요로하는 프로바이더보다 손쉽게 광고를 추가할 수 있다. 구글 애드센스 : http://www.google.com/adsense 내 광고 -> 모바일 컨텐츠 ->...

Spring DM 서비스 구현의 예

2011-04-15

Spring DM에서 간단한 서비스 구현 및 배포의 예를 작성해 보았다. Spring DM Target Platform이 구성되어 있지 않은 경우, 이전 포스팅을 참고. 작업환경 Equinox Framework v3.4 Spring 2.5.6a...

qooxdoo Examples

2011-04-08

qooxdoo(발음 참.. 쿡스두? ㅡ.ㅡ;;)는 RWT때문에 처음 알게 됬었는데… Eclipse RAP의 RWT는 qooxdoo 기반이며, 실제 샘플을 보아도 유사한 UI Layout을 보여준다. 그리고 IE에서 특히 여타 JavaScript Framework들(Dojo, jQ...

OSGi Bundle Life-cycle

2011-04-07

Status Description INSTALLED 최초 번들이 설치된 상태 RESOLVED 번들의 검증이 정상적으로 수행된 상태 ...

JVM 메모리 영역별 OutOfMemoryError

2011-04-01

프로젝트를 하다보면 다양한 환경에서 OutOfMemoryError가 발생하고 이에 대한 대처를 단순히 JVM의 Heap 크기를 늘린다던가, 주기적인 시스템 재시작으로 운영하는 경우를 많이 보았다..-0- 특히나 웹 프로젝트에서 Instance Pooling, Auto Re-load...

JDK 7 New Features

2011-04-01

오라클은 Lambda, Jigsaw, Coin의 일부 기능을 제거한 JDK 7를 2011년 중반에 출시하고 나머지 기능 + Alpha를 2012년에 JDK 8으로 출시한다는 계획이다. G1 Garbage First Collector 서버측 JVM에서 주로 사용되던 CMS (Con...

Java Application을 Java Web Start (JWS)로 전개하기

2011-03-21

JWS 엔진은 최초에 클라이언트의 jre 버전을 확인하고, 없거나 충족되지 못하면 Descriptor에 기술된 정보대로 jre 환경의 자동설치, 모듈의 버전변경에 따른 자동 업데이트, 캐싱 등등 다양한 기술을 제공한다.

Maven PMD Reporting Plug-in

2011-03-20

Maven을 통한 빌드시 PMD Code Inspection의 결과물을 내보낼 수 있게 한다. ‘pmd:pmd’ Goal을 실행하면 정해진 경로로 xml 결과물이 생성되며, Hudson(Jenkins)과 같은 CI의 plug-in과 조합하여 상당한 수준의 관리 통합도 가능하다. 또...

Eclipse P2 초간단 Tutorial

2011-02-22

* Eclipse 3.6 Helios 기반으로 작성함. Eclipse의 업데이트 방식이 P2로 바뀌면서 기존 org.eclipse.update.ui 클래스들은 전부 Deprecated되었다. 그래서 기존 Product를 수정하면서 P2 예제를 간단하게 만들어 보았다.

Load Balancing Metric

2011-02-04

Metric Description Least Connection 활성 세션이 가장 적은 쪽으로 세션 전달. Round-Robin 순차적 세션 전달. ...

Android 루팅 여부 체크

2011-02-03

일반 디바이스는 ‘su’ 실행이 막혀있으므로, Root 권한이 획득 가능하면 루팅된 디바이스로 간주한다. 직접 ‘su’를 호출하여 정상적 실행이 되는지 확인한다. public boolean isRooted() { boolean isRooted = true; ...

Apache Axis를 통한 Client Stub 생성하기

2011-01-29

SOAP 방식의 WebService를 이용하기 위한 Client Stub 및 서비스, 필요 클래스들은 Axis2의 배치 파일을 이용하게 쉽게 생성하고 바인딩할 수 있다. Axis2를 이용한다면 기본적으로 Stub 파일과 CallbackHandler 파일이 생성되며, 데이터 바인딩...

Cubic Word v1.0 beta1

2011-01-27

열심히 달리고 있는 나홀로 안드로이드 플젝.ㅡ,.ㅡ;; 구체적인 기능 및 목적은 나중에~~ ^.~

Oracle USER_SOURCE Table

2011-01-03

오라클 DB의 USER_SOURCE 테이블을 통해 간단히 Function 및 Procedure, Package의 코드를 확인할 수 있다.

Back to Top ↑

2010

Spring 3 추가 지원요소

2010-12-28

Spring 3.0을 테스트해보면서 몇가지 눈에 띄는 새로운 지원요소들을 정리해 보았다.

JDK Binary Tools

2010-12-27

JDK Binary Tools HotSpot JDK 6 기준으로, 배포본에 포함되는 바이너리 도구들과 그에 상응하는 표준 또는 확장 패키지를 매핑한 내용이다. 보다시피 대부분의 도구들은 programmatically 사용이 가능하다.

E-Mail Domain 유효성 검사

2010-12-27

가장 확실한 방법은 Java Mail이나 Socket 등을 통해 해당 메일 서버로 직접 연결하여 응답코드를 받아오는 것이지만, 테스트 결과 여러가지 문제점 및 복잡성 증가가 있다. 연결을 거부하는 곳도 있고, SSL 연결 여부, 포트 등… 대신 해당 메일 서버에 해당 계정이 사용가...

JAX-RS Annotation

2010-12-27

@Path : Request URL @GET, @POST, @DELETE, @PUT : HTTP Method Mapping @Consumes : Response Data Format 정의 (HTTP Content-Type) @Produces : Request Data Format ...

Android .apk 로컬 keyStore로 서명하여 내보내기

2010-12-27

Android Market에 Android Application을 올리려면 서명된 .apk 파일이어야 가능하다. 서명은 공인 인증기관의 서명 툴로 가능하지만, 테스트를 위한 로컬 keyStore 생성 후 서명도 가능하다. 1. AndroidManifest.xml 파일을 연 후, ...

Equinox config.ini 기본 내용

2010-12-27

Equinox Bundle의 config.ini 환경설정 파일은 {workspace}/configurations 경로에 최초실행시, 자동으로 생성된다.

Equinox Console Commands

2010-12-27

ss : 설치된 모든 번들의 id, status, name을 보여준다. start [id] : 번들 시작. stop [id] : 반들 종료. init : 모든 번들 제거. install [bundle] : 번들 설치. uninstall [bundle] : 번들 제거. diag [i...

Equinox MANIFEST.MF Attributes

2010-12-27

META-INF/MANIFEST.MF Bundle-ManifestVersion : 번들의 OSGi 버전 호환성 명시. (R4:2) Bundle-Name : 번들의 이름 명시. Bundle-SymbolicName : 번들의 유니크한 이름 명시. Bundle-Version : 번들의...

HTTP Status Code (HTTP 1.1 : RFC 2616) 번역

2010-12-27

HTTP Status Code(HTTP 1.1 : RFC 2616) 상태코드는 서버가 요구 메시지를 수신하여 처리한 결과를 알려주는 세 자리의 정수로 된 처리 결과 번호입니다. 첫 번째 자리 숫자는 응답의 종류에 대한 분류 기호이며, 나머지 두 자리 숫자는 일련번호입니다. 현재 ...

Android 초간단 Hello World~

2010-12-27

본 내용은 JDK 6, Eclipse 3.6, Android SDK Tools (rev.7) 기준으로 작성함. Android 개발환경 구축 선작업이 되어있지 않은 경우, Android 개발환경 구축 포스트 참고.

Spring DM for OSGi Tutorial

2010-12-27

http://sites.google.com/site/springosgi/ 아직 몇가지 WAS에서는 제대로 동작되지 않는 호환성 문제와 다양한 Web 기반 기술을 접목하여 활용하기에는 어려움이 있지만… OSGi가 Web 기반에서 어떻게 적용될 수 있는지를 가장 잘 보여주는 Fram...

Lombok

2010-12-27

Lombok과 같은 Getter/Setter 자동 생성기는 실제로 호불호가 갈릴 수 있다. 캡슐화된 데이터의 필드만 작성함으로 Value Object의 표현력을 떨어뜨릴 수 있고, java agent를 통해 동작하는지라 사전 환경 구성이 되어 있지 않는 상황에는 올바른 컴파일을 보...

Java Application 중복실행 방지

2010-12-27

Java Application은 각각 별도의 jvm process로 동작하므로 상호 통신 및 정보를 주고받기에 여러가지 에로사항이 있다. 그로 인해 현재 동일한 프로그램이 실행되고 있는지를 체크하는 방법이 여러가지가 편법(?)으로 사용되고 있는데, 그 중 몇 가지를 나열해 보자면 ...

GoF Design Patterns

2010-12-27

GoF(Gang of Four)에서는 23가지 객체지향 설계 패턴을 3가지 유형으로 분류한다.

Java 6 Update 21의 jvm.dll 변동사항과 Eclipse

2010-12-27

Oracle이 Java를 인수한 이후, “java.vm.vendor” System Property가 기존 “Sun Microsystems, Inc”에서 “Oracle Corporation”으로 변경되었다고 한다. 이로 인해 몇가지 Java 기반의 어플리케이션 동작에 문제가 발생하는...

RGB 색상표

2010-12-27

#000000 R - 000 G - 000 B - 000 #333333 R - 051 G - 051 B - 051 #666666 R - 102 G - 102 B - 102 #999999 R - 153 G - 153 B - 153 #CCCCCC R - 204 G -...

Java Components 요약

2010-12-27

다음은 Java SE 5 and J2EE 1.4 명세에 포함되는 자바 컴포넌트 목록과 내용에 대한 요약이다.

Maven 2 Dependency Scope

2010-12-12

Scope Description compile 기본영역으로 아무것도 지정되지 않은 경우 사용됨. compile 의존관계에 있는 것은 프로젝트의 모든 클래스에서 사용가능함. 또한, 이와 같은 의존...

Java Class Version

2010-12-03

Java Ver Class Ver Java 1.0 45.3 Java 1.1 45.3 Java 1.2 46.0 ...

Java - strictfp

2010-05-02

Java - strictfp 자바 1.2부터 새롭게 추가된 strictfp 키워드는 부동소수점 연산을 이식성 있게 수행하도록 한다.

Java is pass-by-value

2010-04-04

Java is pass-by-value Java는 오직 pass-by-value(값을 통한 전달)을 한다. 이전부터 오해의 소지가 있었던 부분이라 명확하게 정리해 보고자 한다.

JVM Memory Structure

2010-03-09

JVM 메모리 구조 JVM은 OS 위에서 하나의 프로세스로 동작한다. 자바 애플리케이션이 실행되면 JVM은 OS로부터 실행에 필요한 자원을 할당받고 JVM이 필요로 하는 메모리 영역을 용도에 따라 분리하여 관리하게 된다. 이 메모리를 Runtime Data Areas라고 하는데, ...

Java 성능 튜닝 -4- 요약

2010-03-09

객체 Casting 객체 타입 캐스팅은 컴파일 시점이 아닌 런타임 시점에 그 형이 결정되므로 불필요한 캐스팅은 수행시간을 느리게 한다.

Java 성능 튜닝 -3- Overhead의 예

2010-03-09

동일한 로직에 대한 성능차가 얼마나 큰 Overhead를 일으키는지에 대한 예를 작성해 보았다. 다음은 간단한 Echo의 예이다. 예 1) public class Echo1 { ... // Get Server Status private boolean ...

Java 성능 튜닝 -2- Collection

2010-03-09

Java에서는 Map, List, Set의 자료구조를 구현한 다양한 Collection Framework를 표준 패키지로 제공한다. 대표적으로 자주 사용되는 Map, List의 비교표를 보자면,

Java String Pool

2010-03-08

Java는 8가지 Primitive Type을 제외하고는 전부 Object Type이다. 그러나, 자주 사용하는 문자열의 사용 편의성을 위해, 문법차원에서의 방법도 제공한다.

Back to Top ↑