본문 바로가기

Architecture for Software

(91)
JSF의 변환(Conversion)과 검증(Validation)이란 무었인가? JavaServer Faces에서는 입력되는 값들을 변환(Conversion)하고 검증(Validation)할 수 있는 표준적인 방안을 제공하고 있습니다. 이 방안을 통하여 여러분들은 언제나 쉽고 빠르게, 그리고 가장 중요한 점은 동일한 형태의 변환이나 검증을 할 경우 미리 만들어 놓은 검증기나 변환기를 재사용(Reuse)하여 원하는 어플리케이션을 보다 쉽고 빠르게 구축하실 수 있습니다. 이에따라 간략하게 JSF의 변환과 검증에 대하여 살펴보고자 합니다. 본 문서는 IBM developersWors의 JSF for nonbelievers: JSF conversion and validation라는 자료를 바탕으로 작성하였으며, Apress의 Pro JSF and AJAX란 책도 일부 참고하여 작성하였습니다..
Java Server Faces(JSF), Facelets and Web 2.0 for SVG JSF(JavaServer Faces)의 경우 Rederer 를 바꿀 수 있습니다. Rederer를 바꿀 수 있다는 의미는 하나의 컨텐츠를 다양한 형태로 바꿀 수 있다는 것을 의미합니다. 즉 하나의 HTML 문서를 MS Word로 바꾸거나 PDF로 바꿀 수 있다는 거죠. 최근 SVG에 대한 관심이 높아지면서 JSF + SVG에 대한 글이 있어서 공유차원에서 올립니다. 이미 Adobe Flex와 연동이 되고 있습니다. 나중에 한번 다루겠습니다. 개인적으로는 Flex나 SVG와 같은 벡터 그래픽을 Rich UI로 사용하는 것에 관심이 많습니다. 앞으로 점 더 연구해볼 가치가 있을 것 같습니다. :-) 출처: https://www.dimis.fim.uni-passau.de/~doeller/research_pr..
[Hibernate Annotation] 엔티티 빈의 연관 관계 및 관계 매핑: 1대 1 관계 최근 Hibernate 3.x를 이용하여 개발을 하고 있습니다. 예전에 Hibernate 2.x를 사용하였을때과 가장 큰 차이점이 Hibernate Annotations(http://www.hibernate.org/hib_docs/annotations/reference/en/html_single/)이 도입되었다는 점입니다. 아~ 정말 편리해졌습니다. hbm.xml을 손수 고칠때와는 완전히 다르더군요 ;-) Hibernate 3.x에서 Annotation이 대폭 강화되면서 이제 정말 Hibernate를 편리하게 사용해볼만 할것 같다는 생각이 듭니다. 사실 Hibernate를 많이 다루지 않았기 때문에 깊숙히 알고 있지는 않습니다. 이번 기회에 Hibernate를 깊이 익혀볼 생각입니다. 우선 Hiberna..
JavaServer Faces, Ajax, Flash: 차세대 사용자 인터페이스 Oracle의 기술백서중에서 "JavaServer Faces, Ajax, Flash: 차세대 사용자 인터페이스"라는 좋은 글이 있어서 공유차원에서 올립니다. 몇년전부터 JSF를 간혹 사용하여 오다가 최근 제가 맡은 프로젝트에서 본격적으로 활용하고 있습니다. 앞으로 JSF에 대한 좋은 글들을 올리겠습니다. 그럼 우선 Oracle의 문서부터 한번 살펴보시죠 :-)
JSF에서 request.getContextPath()를 사용할때 JSF(JavaServer Faces)로 개발을 하다보면 JSP(JavaServer Pages)에서 가장 많이 사용하였던 request.getContextPath()를 EL(Expression Language)로 어떻게 표기해야 할지 막막할때가 있습니다. 특히 JSF의 경우 EL을 바탕으로 UI 관련 개발을 하기 때문에 EL에 익숙하지 않으신 분들의 경우 더더욱 그렇습니다. 가장 많이 사용되는 EL 중에 다음과 같은 표기식이 있습니다. #{facesContext.externalContext.requestContextPath} 즉 HttpServletRequest.getContextPath()와 같은 의미입니다. 이 외에도 facesContext의 externalContext에는 SessionMap이나 R..
Top Coder에 도전하세요! 평소 소프트웨어(Software) 개발에 관심이 많거나, 특히 알고리듬(Algorithm)이나 소프트웨어 디자인(Software Design)에 관심이 많다면 Top Coder(http://www.topcoder.com)라는 사이트에서 자신의 능력을 다른 사람들과 함께 겨루어 보는 것도 참 좋은 일이라고 생각합니다. 전 세계에서 소프트웨어에 관심이 많은 사람들이 모여서 자신의 능력을 겨루고 있는데 재미있는 점은 우리나라의 순위입니다. 현재 우리나라의 순위는 8위인데 세계최고의 소프트웨어 강국인 미국은 7위로서 별 차이가 없으며, 세계 2위의 소프트웨어 강국인 인도의 경우 14위로 우리보다 많이 떨어집니다. 인도의 경우 1133명이나 참여하고 있지만, 우리나라의 경우 149명정도밖에 참여하지 않았는데도 좋..
[Java의 이해] 핫스팟VM의 메소드 인라이닝 Java의 메소드 인라인(Method Inline)에 관한 좋은 글이 있어서 공유하고자 올립니다. 기회가 있을때 마다 Java의 이해라는 글을 올리고자 합니다. 이 글은 The Java HotSpot Performance Engine: Method Inlining Example 을 바탕으로 작성하였습니다. Java에서는 성능 향상을 위하여 Java HotSpot Engine(VM)이 다음과 같은 경우 메소드 인라이닝(Method Inlining)을 합니다. 이를 통해서 메소드를 호출할때 실제 메소드를 호출하지 않고 바로 결과값을 돌려주어, JVM(Java Virtual Machine)의 성능을 향상시킵니다. class A { final int foo() { return 3; } } A라는 클래스(Clas..
Google의 SaaS 기반 서비스의 평가 기준 SaaS 기반의 어플리케이션이 많은 각광을 받을 것 같습니다. 이에 따라 SaaS기반의 어플리케이션이 제공하는 서비스를 평가하는 기준이 필요한 시점입니다. 여러 가지 좋은 평가 기준들이 존재하지만 Google의 평가기준이 여러모로 좋은 관점을 제공하고 있는 것 같습니다. 아직 국내에서는 Google Apps를 많이 사용하지 않고 있지만, 알게 모르게 많은 분들이 큰 관심을 보이고 계십니다. 특히 소규모 기업이나 조직(비영리 조직인 동아리나 클럽 등)에서 Gmail을 자신들의 도메인과 연동시켜 사용하고 있습니다. 이에 관한 자세한 내용은 다음에 한번 다루겠습니다. 이처럼 SaaS 기반의 서비스들을 사용하려고 할 때 여러 가지 고민해야 할 점들이 있습니다. 이러한 점들을 모아 Google에서 "SaaS를 통..