#자바
-
자바에서 람다, 스트림을 사용할 때 주의할 점
람다, 스트림은 자바 8에서 도입되면서 자바를 확실히 버전업 시킨 중요한 기능이었고 현재까지도 자바의 함수형 프로그래밍 개념에 가장 중요한 부분이 된다. 람다, 스트림을 통해 코드가 간결해지고 효율적이 되지만 반면에 몇 가지 주의할 점이 존재한다. 자바로 데이터 처리라든가 복잡한 로직을 코딩할 때 경험한 사례에서 이러한 주의할 점을 정리해봤다.
-
자바에서 데이터 캐시 구현하기
오늘은 자바(Java)에서 데이터 캐시(cache)를 직접 구현하는 방법을 정리해보고자 한다. 많이들 사용하는 Ehcache 같은 라이브러리도 있고 별도의 기계로 캐시 서버를 두는 방법도 있지만 캐시의 개념은 그리 어려운 게 아니며 특히 읽기 전용 캐시는 애플리케이션에서 간단하게 구현할 수 있다. "캐시! 어렵지 않아요~"
-
알아두면 편리한 자바 유틸리티 클래스들
프로젝트를 하다보면 비슷한 기능들이 자주 사용되는 경우가 있고 개발자들은 흔히 이런 기능들을 스태틱(static) 메서드로 만들어 유틸리티 클래스를 만들곤 한다. 그런데 이런 유틸리티 기능들이 사실 우리가 이미 사용하는 오픈소스 프레임웍이나 라이브러리에 포함된 경우가 상당히 많다. 또한 개발자가 나름 만든 클래스에는 버그가 숨어 있는 경우도 많아서 가급적 검증된 라이브러리를 사용하는 게 훨씬 낫다. 이번 글에서는 알아두면 편리한 자바 유틸리티 클래스들 에 대해 찾아보았다.

-
새로 발표된 스프링 4.0에 대해 알아보자
[덧글] 1월 23일에도 웨비나가 있었고 이번엔 앞부분을 약간 놓치고 다 봤다. 관심 있는 사람은 유튜브에서 보기 바란다. 구랍 12월에 스프링 프레임웍 4.0 GA가 발표됐었고 엊그제 Spring IO에서 웨비나를 한다길래 꼭 보려고 했는데 그만 놓치고 말았다. 요즘 야근으로 정신이 없다. T_T 그래서 남이 알려주기 전에 직접 알아보기로 했다. 출처는 스프링 블로그와 지침서 등이다. 과연 스프링 4.0에서는 뭐가 새로워졌는가?
-
자바스크립트와 자바에서 공백 문자란?
웹 프로그램을 개발할 때 인터넷 익스플로러(IE)는 참 개발자를 괴롭게 한다. IE만의 예외 상황을 고려해야 하는 번거로운 경우가 얼마나 많은지... 특히 IE 8 이하는 발표된지 몇 년이 지났는데도 우리나라에서는 아직 사용자가 많다! 수년 전까지도 윈도 XP에서 IE 6을 사용하는 사용자가 가장 많았던 우리나라에서 개발자는 이래 저래 힘들다. 여기 그 문제 중 또 하나를 얘기해보려고 한다. 공백(whitespace) 문자의 범위에 대한 문제다.
-
자바 리스트와 맵의 성능 비교
자바(Java)는 다양한 데이터 구조를 제공하고 있다. 특히 자바 1.2부터 등장한 Collections 프레임웍에서 유용한 컬렉션 유틸리티 클래스를 많이 보유하고 있다. (컬렉션 프레임웍을 공부하려면 Oracle에서 제공하는 자바 강좌도 유용하다.) 이러한 데이터 구조를 위해 여러 앨거리듬이 사용되는데 대표적으로 해시테이블과 같은 데이터 구조 앨거리듬이나 병합(merge) 정렬 같은 정렬 앨거리듬 같은 것들이 있다.
-
자바 5 + 톰캣 6의 매개변수 파싱 오류
어제 오늘 시간을 많이 잡아먹고 해결한 문제가 있어서 기록으로 남겨볼까 한다. 요즘 내가 진행 중인 웹 프로젝트가 있는데 운영 환경이 자바 버전 5에 제우스를 사용하는 환경이다. 개발 환경도 그에 맞추는 게 맞으므로 자바 버전은 5를 사용하는데 서블릿 컨테이너는 별 문제가 없겠지 생각하고 톰캣(Tomcat) 버전 6을 사용하기로 했다. 원칙적으로 서블릿 버전, JSP 버전도 운영 환경에 맞춰서 선택해야겠지만 요즘엔 아파치 톰캣 사이트에 가보면 6 버전 미만은 창고에 쳐박힌지 오래다. (여기서 창고란 메뉴 항목 중 Archives, 즉 보관소를 말한다)
-
Java와 PHP
우리나라 상용 소프트웨어 프로젝트에서 가장 많이 사용되는 언어는 Java다. 공공기관 업무용 웹사이트, 민간 상업용 웹사이트, 웹서비스 등 시스템간 연동, 뱃치성 작업 등 단순 업무 프로그램, 또한 안드로이드 모바일 앱 등에서 완전 "갑"이다. 단적으로는 Java의 캐치프레이즈인 "엔터프라이즈" 지원을 바탕으로 한 상업적 성공으로 인해 그 밖의 언어는 상대적으로 훨씬 열세를 보이고 있다. 그런데 그 와중에 민간 상업용 웹사이트, 민간 커뮤니티 웹사이트 등에서 상당한 점유율을 보이는 언어가 PHP다. 미국 등에서는 이러한 분야에서 Python, JavaScript, Ruby 등이 발군의 성과를 보여주고 있지만 우리나라 및 외국도 여전히 일부에서는 PHP가 꾸준히 힘을 발휘하고 있다. 그럼 Java는 왜 그렇게 성공한 것이고 PHP는 어떻게 꾸준히 사랑받고 있는 것일까? 이글은 그동안 내가 두 언어를 모두 접해보면서 든 개인적인 생각을 남겨보고자 한다.
-
프로그램적인 파일 다운로드
웹에서 파일을 다운로드하는 방식은 두 가지로 나눌 수 있다. 하나는 Apache 등의 웹서버 프로그램을 통해 디스크 상에 있는 그대로의 파일을 다운로드하는 경우와 또 하나는 Java, .NET 등의 프로그램에서, 예를 들어 DB 조회 결과를 CSV, XLS 등으로 출력하거나 임의의 파일 내용을 출력하는 방법으로 프로그램적으로 파일을 다운로드하는 경우다.
