알아두면 편리한 자바 유틸리티 클래스들

유틸리티 도구

프로젝트를 하다보면 비슷한 기능들이 자주 사용되는 경우가 있고 개발자들은 흔히 이런 기능들을 스태틱(static) 메서드로 만들어 유틸리티 클래스를 만들곤 한다. 그런데 이런 유틸리티 기능들이 사실 우리가 이미 사용하는 오픈소스 프레임웍이나 라이브러리에 포함된 경우가 상당히 많다. 또한 개발자가 나름 만든 클래스에는 버그가 숨어 있는 경우도 많아서 가급적 검증된 라이브러리를 사용하는 게 훨씬 낫다. 이번 글에서는 알아두면 편리한 자바 유틸리티 클래스들 에 대해 찾아보았다.

계속 읽기…

애플 스위프트 (Swift) 프로그램 언어

애플 국제 개발자 컨퍼런스(WWDC) 2014에서 스위프트 (Swift)라는 새로운 프로그램 언어가 발표되었다. 사실 이 컨퍼런스에서 여러가지가 주목을 끌고 있지만 그중 스위프트는 개발자로서 내 관심을 끌었다. 원래 나는 얼리어답터가 아니라 나랑 직접 관련이 없는 것이면(애플은 나와 상관 없는 세계였다) 새로운 것이 나와도 그냥 그런가보다 했다. 모두들 자바스크립트의 신세계를 개척하는 데 바쁘고 모바일은 자바스크립트를 제외하면 자바와 오브젝티브-C로 팽팽한 상황에서 새로운 언어라니! 이건 필시 오브젝티브-C를 넘어 보다 많은 개발자를 끌어모으겠다는 전략?!
계속 읽기…

톰캣의 컨텍스트 외부로 경로 매핑하는 방법

일반적으로 웹 프로젝트를 진행해보면 디자인은 디자인팀에서, 프로그램은 프로그램 개발팀에서 별개로 진행하게 되어 별개의 산출물이 만들어진다. 그래서 개발팀의 프로젝트 소스에 디자인 산출물, 예를 들어 이미지나 CSS 파일을 일일이 받아 넣기가 곤란하거나 효율상 넣지 않기로 하는 경우가 대체적인 프로젝트 흐름이다. 이럴 때 개발팀에서 톰캣의 컨텍스트 외부로 경로 매핑하는 방법이 필요해진다.

계속 읽기…

CSS counter로 다단계 순번 만들기

HTML의 순서 있는 목록(ordered list)에는 자동으로 번호가 붙게 돼 있다. 그런데 이 번호라는 게 기본 상태에서는 1, 2, 3,…이고 CSS의 list-style-type을 사용하면 숫자대신 알파벳이나 로마자를 사용할 수는 있기는 하지만 해당 단계에 대해서만 표시하고 다단계는 되지 않는다. 오늘은 CSS counter로 다단계 순번 만들기를 알아보자.

계속 읽기…

지난 프로젝트의 교훈

최근 참여한 프로젝트가 얼마 전에 끝났다. 매번 프로젝트가 끝날 때마다 다음 프로젝트는 더 잘하자고 생각하면서도 지난 프로젝트의 교훈을 잘 활용하지 못하는 것 같다. 이번에는 오랜만에 한번 정리해보기로 했다.
계속 읽기…

이미지의 가로세로비를 유지하면서 틀 안에 맞추려면

웹사이트 중에는 종종 이미지가 가로세로비(종횡비)를 못 맞추고 짜부라진 모양으로 나오는 곳들이 있다. 크기가 큰 사진들은 괜찮은데 좁은 자리에 가로 세로 크기를 한정시켜 맞춰넣는 얼굴 사진이나 광고 같은 것들에 그런 게 종종 보인다. 얼굴이 너무 넓적하다든지 몸매가 완전 날씬한 형태로 나오는 사진들이 그런 것들이다.

계속 읽기…

데이터베이스 SQL 특성 비교

(2015년 10월 1일 현황: 구글 문서를 원본으로 하여 파일 내보내기를 통해 페이지를 제공하고 있었는데 현재는 파일 형식이 바뀐 등의 문제로 페이지가 안나오고 있다. 시간 나면 다시 수정해야할 듯…)

그 동안 프로젝트를 많이 하다보니 데이터베이스도 여러가지를 사용해봤는데 여러 다른 개발 분야처럼 제품간 차이가 꽤 나는 분야가 바로 이 영역이다. SQL 구문 등에 있어서 크고 작은 여러 차이가 사람을 혼란스럽게 하다보니 2009년에 데이터베이스 SQL 특성 비교 문서를 만든 적이 있다.

계속 읽기…

톰캣 8 소개

아파치 톰캣

아파치 톰캣(Apache Tomcat) 8 버전이 곧 베타에서 정식 버전으로 발표될 예정인데 스프링 프레임웍 팀에서 웨비나를 하길래 오늘 방금 전 자정부터 1시까지 그걸 봤다. 동영상 리플레이 및 발표 자료는 1-2주 후에 https://www.youtube.com/springsourcedev에 올린다고 한다. 아래 웨비나 내용 및 공부한 내용을 정리해본다. 예제 출처는 github.com/swilliams-pivotal/s2gx-tomcat다.

계속 읽기…