Home

Search results

"category:/JavaTech"

1 2 3 4 5 6 7 8 Next >>

Title and summary Date/time
1
설정 기반의 플러그인 시스템(Java)
Java에는 OSGi라는 동적 모듈 플러그인 시스템을 구현할 수 있도록 가능케하는 오픈 소스가 있지만 다루기 복잡한 면이 있어, Guice, Airlift, ServiceLoader를 활용해 간단하면서 요긴한 플러그인 시스템을 만들어 본다. 기본적인 제약사항은 단일 프로세스에, 플러그인 추가나 제거시 프로세스를 재시작해야 하며, 정의된 플러그인만 가능하다는 점을 일러둔다. 필요한 오픈 소스 1. Guice(구글에서 만든 JSR330 ...
Aug 23, 2016
7:18:20 PM
2
[번역] 객체지향 프로그래밍으로 유틸리티 클래스를 대체하자.
유틸리티 클래스를 안써본 사람은 거의 없을겁니다. 유틸리티 클래스가 좋다, 나쁘다는 논쟁꺼리지만, 객체지향의 관점에서 볼때 그래도 생각해볼 꺼리가 된다고 생각해, OOP Alternative to Utility Classes"라는 아티클을 저자 허락하에 번역해 봅니다. 유틸리티 클래스(또는 헬퍼 클래스)는 정적 메소드만을 가지고 있고, 상태를 내포하지 않는 "구조"이다. Apache Commons의 StringUtils, IOUtils, ...
Jan 6, 2016
3:09:19 PM
3
[번역] 왜 Null이 나쁜가?
우리가 개발을 하면서 항상 마주하는게 NULL 체크인데(잊고 있을수도 있지만), NULL 체크를 해야하는지 말아야하는지 등의 부담을 개발자에게 전가시키는 것은 안좋은 방법이라고 알고 있다. 그래서 왜 Null의 반환이 안좋은지를 잘 이해시킨 포스트가 있어 소개한다. "Why NULL is Bad?". Java에서 NULL을 사용하는 아주 단순한 예이다. public Employee getByName(String name) { int id = ...
Nov 11, 2015
5:48:40 PM
4
스타트업에 필요한 코드 품질 관리
코드 품질 관리 부분은 개발자가 소홀히 하기 쉬운 부분이고, 대기업에서는 어느 정도 품질관리 부서가 있어서 프로세스화 되어 있는데, 작은 기업들은 개발자의 성향에 의존하는 환경에 놓여 있어, 개발자가 코드 리뷰하기 전에 남에게 내 놓을 수 있는 최소한의 품질이 보장되는 코드를 양산하도록 도와주는 정적 분석 도구에 대한 사용 가이드를 정리해 보았습니다. 정적 분석 도구를 통해 우리는 기존에 공유된 코딩 스타일을 위반하거나, 잠재적 버그의 가능성이 있는 ...
Nov 5, 2015
4:40:47 PM
5
[번역] Java에서 String 클래스가 왜 final 혹은 Immutable인가?
Java에서 String이 왜 final 혹은 Immutable인지에 대해서 적당한 사유를 정리해 준 사이트(Why String Class is made Immutable or Final in Java - 5 Reasons")가 있어 번역, 정리해 봅니다. 왜 String 클래스가 final이었는지의 진짜 이유는 James Gosling이 말했던 보안적인 부분을 제외하더라도, Java 언어 디자이너가 가장 잘 알고 있겠지만, 여기서는 내 자신이 왜 ...
Oct 10, 2015
5:44:37 PM
6
Singleton, Lazy loading 그리고 WeakSingleton
최근에 푸시 솔루션(MQTT 기반)을 만들면서 데몬 프로그래밍을 하다가 Singleton 패턴을 적용한 부분이 있어, 이부분에 대한 정리가 필요할 것 같아서 몇자 정리해 봅니다. 싱글톤 패턴의 변천사로 봐도 무방하리라 생각됩니다. static inner class를 사용한 하나의 인스턴스만 생성하는 Singleton 이 경우 synchronized된 getInstance() 함수를 매번 호출하게 되는 문제가 있다. 실제로는 한번만 호출되어도 ...
May 27, 2013
4:47:15 PM
7
[번역] Urban Airship(Push 서비스)에서 C500k를 위해 벌인 일들
푸시 서버를 구축하는 분들이라면 Urban Airship 블로그를 관심있게 볼 필요가 있습니다. 푸시 서버 구축에 대한 시행착오나 튜닝 정보들을 포스팅하고 있어 도움이 될법한 콘텐츠들이 많습니다. 그 중 오늘은 "C500k in Action at Urban Airship"이란 아티클을 의역해 봅니다. 2000년쯤에는 c10k라는 문제(동시접속 만개를 해결하는 문제)가 주로 화두였는데, 현재는 c500k 도 이미 해결된 상태죠. Urban ...
Jul 18, 2012
6:10:54 PM
8
Java School이 위험하다
해가 많이 바뀌었지만, 깊이 고민해 볼 꺼리가 있어 몇자 정리해 봅니다. 그 내용은 Joel Spolsky가 2005년 12월 29일자에 "The Perils of JavaSchools"라는 글인데요. 의역하자면, "Java School이 위험하다"라는 의미가 될 거 같네요. 대충 머리에 남는 것만 간추려 본다면.. 전통적으로 대학의 컴퓨터 과학 커리큘럼에서 많은 사람들이 잘 이해할 수 없는 것 두 가지 있다 : 포인터와 재귀이다. 포인터와 재귀를 ...
Jul 12, 2012
8:06:56 PM
9
Redis pub/sub를 활용한 푸시 기능 구현
Redis의 pub/sub 기능을 가지고 푸시를 구현해 보면 어떨까? 하는 호기심에서 구현 가능성을 검토해 봤습니다. 푸시 아키텍처 형상 Tomcat 위에서 돌아가는 Noti 발생 기능은 Spring MVC기반에 Jredis를 활용하여 회원을 가입/정보변경/삭제를 하는 기능을 통해 Redis로 회원 가입/정보변경/해지 노티기능이 추가되어 해당 액션이 호출되면서 이벤트 내용이 Redis로 publish 된다. Tomcat에서 발생한 노티를 ...
Jun 14, 2012
5:54:27 AM
10
ActiveMQ와 Spring 사용하기
업무나 프로젝트를 하다보면 비동기적인 처리를 요하는 잡들이 생길겁니다. 이런 일들은 FIFO를 통해 순서 보장되는 큐를 이용하면 좋은 효과를 봅니다. 또한, 클라우드 환경에서도 프로비저닝 등을 이용할 때 활용되곤 합니다. 1. ActiveMQ 매커니즘 ActiveMQ는 queue와 topic이라는 구조를 지원합니다 - queue(Sender와 Receiver가 1:1 관계) - topic(Publisher와 Subscriber가 1:n 관계) ...
Mar 15, 2011
10:28:07 PM
11
XStream에서 언더바2개 처리
XStream에서는 XML 시리얼/언시리얼할 경우 _가 들어가면 __(언더바 2개)로 바뀌어서 XML로 변환된다. 그래서 아래처럼 하면 해결된다. XmlFriendlyReplacer replacer = new XmlFriendlyReplacer(...
Mar 9, 2011
8:17:56 PM
12
Spring 3.0과 MongoDB로 Rest 서버 개발
MongoDB는 Document 기반의 저장소이며, 인덱스 지원, 리플리케이션, 샤딩, 문서 기반이어서 바이너리 데이터 효과적 저장, 쉬운 설치, 다양한 언어셋 지원(C, C++, Java, Perl, PHP, Python, Ruby 등) 지원이 가능한 NoSQL DB입니다. 간단하게 Spring과 연동하여 어떻게 동작하는 지 이해하기 쉽도록 관련 샘플을 공유합니다. 아래는 단일 MongoDB 환경하에서 구동된 샘플입니다. 1. 설치 - 다운 로드 ...
Feb 28, 2011
10:30:38 PM
13
Java 기반의 HTML5 WebSockets 맛보기
Java로 서버에서 데몬을 구동하고, 웹 프론트에서 AJAX 요청없이 WebSocket protocol을 사용하여 클라이언트와 서버간의 메세지를 주고 받는 기능을 구현해 보았습니다. 1. WebSockets 개요 WebSockets is a technique for two-way communication over one (TCP) socket, a type of PUSH technology. At the moment, it’s still being ...
Feb 16, 2011
8:25:07 PM
14
JODConverter(Java OpenDocument Converter) 소개
JODConverter는 Open Office를 활용하여 오피스 문서를 PDF나 HTML등으로 변환해주는 오픈소스 라이브러리입니다. 주로 웹이서 변환이나 뷰잉용으로 활용을 하는데, 설치 및 사용 관련해서 사용법을 공유해 봅니다. 1. 사전 준비사항 - Java 1.5 or later - OpenOffice.org 3.0.0 or later - JODConverter 3.0 beta(http://code.goo...
Feb 8, 2011
8:35:38 PM
15
MapConverter 재정의해서 사용하기
이글은 키값과 밸류값을 한 라인을오 통합해서 keyvalue/key방식으로 Map을 XML로 변환할 때 적용하는 방법에 대해서 기술합니다. 1. MapConverter 재정의 public class CustomMapConverter implements Converter { private static final Logger LOG = Logger.getLogger(Cus...
Jan 3, 2011
7:32:20 PM
16
Axis2 SOAP 가용성 향상 방안
1. axis2 version 1.5 사용 - 1.5.1, 1.5.2 관련 이슈들이 존재함 - 사유 : https://issues.apach...
Dec 9, 2010
7:15:00 PM
17
Google Web Toolkit 맛보기
Google Web Toolkit(이하 GWT)는 구글에서 개발자를 위해 제공하는 Ajax개발을 위한 프레임워크이다. 사용하는 이유는 Eclipse와 같은 자바IDE를 이용해서 Ajax 응용 프로그램을 개발하고 디버깅이 가능함 자바스크립트 언어에서 발생하는 에러들이 Run Time에 발견되는 것을 Compile Time으로 이동시켜서 그만큼 개발 시간을 단축시킴 기존 Ajax 툴과 성능이 크게 뒤지지 않음 구글의 ...
Aug 19, 2010
7:45:00 PM
18
jersey 로깅 필터 수정해서 성능 향상하기
rest 서버를 구축하기 위해서 jersey를 사용하신불들은 로깅을 걸어놓을 경우 성능에 어느정도 영향을 줄 것입니다. 그래서 로깅을 하돼 오류인 경우만 로깅하도록 소스를 수정해서 올려봤는데... 전체 로깅보다는 성능이 좀 좋아졌네요. 간단하지만 이방법도 괜찮은 거 같아서 공유합니다. 1. jersey 로깅 필터 달기 - client.addFilter(new LoggingFilter());추가해...
Jun 17, 2010
7:36:00 PM
19
Rest Client에서 SSL 통신 하기
jersey 기반으로 구현됨을 알려드립니다. 1. 관련 소스 X509TrustManager xtm = new X509TrustManager() { @Override public void checkClientTrusted(X...
May 13, 2010
8:55:00 PM
20
Maven 프로젝트 구축하기
1. Maven 설치 - http://maven.apache....
Apr 22, 2010
8:17:00 PM

1 2 3 4 5 6 7 8 Next >>