Java SE 8 의 새로운 기능.

Java 8 의 closure, lambda, Nashorn 등 굵직한 변화에 묻혀 잘 화자되진 않지만 몇 가지 유용한 기능을 살펴보면 Stamped Lock멀티 쓰레드 코드는 오랜 기간 (지금도 여전히) 서버 개발자의 골칫거리 중에 하나이다. 오랜 시간 Java Core에는 공유된 자원에 대해 ...

lambda 와 closure 의 차이점 ?

Java SE 8에 도입되기 전부터 관심을 받던 람다식과 closure. 이 둘의 차이는 뭘까?한마디로 lambda는 이름이 없는 익명 함수( anonymous function ) 를 가르키며,closure는 하나 이상의 엮인(bound) 변수가 있는 환경에서 실행( or 평가)되는 함수 정도로 이해할 ...

java se 8 에서 람다식 사용하기 - 기초

java 8 에 람다 표현식이 도입되면서 closure를 사용하지 않고도 함수형 언어 비슷한 코드를 작성하는게 가능해졌다. 람다 표현식은 이름이 없는 익명 함수를 의미한다.람다 표현식에 관심을 둬야하는 몇가지 이유는 다음과 같다. OOP 언어인 Java에서 함수형 코드...

replaceAll(" ","") trim() 으로 제거되지 않는 공백 제거

[code java]String str =originalString.replaceAll(" ", "");[/code] 등으로 삭제되지 않는 공백문자를 제거 해 보자.상기 코드로 삭제되지 않는 이유는.. cjk 문자셋에서 나타나는 IDEOGRAPHIC SPACE 라 불리는 유니코드 \u3000 , HTML 표현으로는   ...

근래 JAVA 쪽에는 어떤 일들이 있나?

문득 문득 현재 JAVA의 위상이나 JAVA 다음은 무엇일까 등을 생각해 보는데요... 그에 대한 힌트를 얻을 수 있는 발표 자료가 있어 공유합니다. Zeroturnaround 社에서 2,164 명의 개발자 설문 결과를 정리/배포한 자료입니다.현재 java 진영의 트렌드에 초점이 맞...

2014년 java 진영 웹 프레임워크

2014년 기준으로 java 진영에서 웹개발에 사용하고 있는 프레임워크 동향을 JRebel 제품으로 유명한 Zeroturnaround 社에서 레포팅했습니다. 역시나 SpringMVC가 가장 널리 활용되고 있으며 JSF , Vaadin 이 그 뒤를 잇고 있습니다. 발표 자료가 자료니 만큼 국내와...

Spring4 - Servlet3.0 Websocket ConcurrentModificationException 익셉션 발생 시

Spring 4 에서 지원하는 @MessageMapping 어노테이션으로 구현한 WebSocket 서버 프로그램에서 Exception in thread "clientInboundChannel-5" java.util.ConcurrentModificationException 와 같은 익셉션 발생 시.스프링 프레임워크 버전을 확인. 4.0.5 에서 해결...

Spring3 에서 Spring4 - servlet 3.0 으로 웹어플리케이션 마이그레이션하기

기존 Spring3 기반으로 개발한 웹어플리케이션을 Servlet 3.0 , Spring 4 버전으로 마이그레이션 하는 순서는 다음과 같다.Spring 4의 변경 신기능 소개.1. 메이븐 형식의 프로젝트라면 POM 파일에 서블릿 3.0 스펙의 API를 사용할 수 있도록 servlet-api.jar depen...

MSSQL 연결 문자열을 row로 변환

function으로..[code sql]CREATE FUNCTION [dbo].[SplitToRows] ( @List NVARCHAR(MAX), @delim VARCHAR(255) ) RETURNS TABLE AS RETURN ( SELECT [Value] FROM ( SELECT [Value] = LTRIM(RT...

VisualVm으로 원격 JVM 프로파일링

1. jstatd.all.policy 파일 작성[java_home]/bin 디렉토리에 아래 내용의 jstatd.all.policy 파일을 작성한다.[code]grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission;};[/code]2. 2020 포트로 rmi 통신 준비.rmir...

구글 JAVA 코딩 스타일 가이드

원문 : http://www.infoq.com/news/2014/02/google-java-coding-standards구글은 최근에 자바 코딩 표준을 퍼블리싱했습니다.http://google-styleguide.googlecode.com/svn/trunk/javaguide.html 에서 확인할 수 있으며특징으로는 모든 소스파일은 UTF-8 인코딩으로...

windows 코맨드 콘솔 문자셋 변경

한글 윈도우를 사용하고 있다면 코맨드콘솔은 default로 한글 코드페이지 949로 지정되어 있다. 이를UTF-8등의 다른 코드페이지로 변경하는 방법은 코맨드콘솔의 바로가기->속성에서 변경할 수 있다.위 첨부 이미지와 같이 UTF-8등 원하는 코드 페이지가 존재하...

웹 서비스개발 조직 구조

웹서비스 소프트웨어 개발 회사의 효율적인 조직 구조및 관리 - 박재상님http://www.slipp.net/wiki/pages/viewpage.action?pageId=8880208소프트웨어 개발팀의 구조 - 조대협님http://bcho.tistory.com/813

logback 도입 고려

log4j에서 제공을 하지 않는 기능과 다양한 장점을 가지고 있는 logback 도입을 검토.http://beyondj2ee.wordpress.com/2012/11/09/logback-%EC%82%AC%EC%9A%A9%ED%95%B4%EC%95%BC-%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0-reasons-to-prefer-logback-over-log4j/

Thread throw Exception 핸들링하기

java thread에서 Exception을 던져 쓰레드를 생성/실행한 곳에서 익셉션을 받아 처리하기위해서는 Thread.UncaughtExceptionHandler 를 이용해야한다.다음과 같이 말이다.[code]//테스트용 쓰레드 생성.Thread t = new Thread( new Runnable{ @Override publ...