FrameWork(6)
-
ORM
ORM을 이용하기 위해서는 Object modeling과 Relational modeling, 두 Modeling의 차이점을 이해해야만 한다. Object Modeling Object Modeling은 OOP를 기반으로 생성된 시스템을 표현한다. 기본 개념 Identity, State, Behavior, Encapsulation 높은 레벨의 개념 Type, Associations, Class, Inheritance Relational Modeling Relational Modeling은 서술어와 비슷한 truth statement로 정보를 표현한다. 기본 개념 Relation, Attribute, Domain, Tuple, Attribute Value( attribute value는 각각의 tuple에 ..
2020.09.08 -
싱글톤 패턴
싱글턴(Singleton) 이란 ? 싱글턴 패턴은 인스턴스가 오직 1개만 생성되야 하는 경우에 사용되는 패턴입니다. 예를들어 레지스트리 같은 설정 파일의 경우 객체가 여러개 생성되면 설정 값이 변경될 위험이 생길 수 있습니다. 인스턴스가 1개만 생성되는 특징을 가진 싱글턴 패턴을 이용하면, 하나의 인스턴스를 메모리에 등록해서 여러 스레드가 동시에 해당 인스턴스를 공유하여 사용하게끔 할 수 있으므로, 요청이 많은 곳에서 사용하면 효율을 높일 수 있습니다. 주의 해야할 점은 싱글턴을 만들때 동시성(Concurrency) 문제를 고려해서 싱글턴을 설계해야합니다. 아래에서 자바의 싱글턴 패턴 구현방법과, 스프링에서 사용되는 싱글턴 패턴에 대해서 배워보겠습니다. 자바의 싱글턴 패턴(Sigleton Pattern ..
2020.09.07 -
Jetty
[Java] Jetty 란? Jetty는 자바 HTTP 웹 서버이자 자바 서블릿 컨테이너다. 웹 서버가 보통 문서를 사람들에게 제공하는 것과 관련된 반면, 제티는 대규모 소프트웨어 프레임워크에서 기계와 기계의 커뮤니테이션에 사용된다. 서블릿 컨테이너(servlet container) 서블릿(servlet)이란 SUN 사에서 제안한 웹서비스를 위한 인터페이스로, 원칙적으로는 javax.servlet.Servlet 인터페이스의 구현체다. 일반적인 자바 독립 실행 프로그램과 달리 main 메소드가 없으며, 서블릿 컨테이너에 등록된 후 서블릿 컨테이너에 의해 생성, 호출, 소멸이 이루어진다. 즉, 클라이언트가 request를 보내면 그에 대한 결과를 다시 전송해주어야 하는데, 이러한 역할을 하는 자바 프로그램이..
2020.09.04 -
JUnit
xUnit이란? 자바만 단위 테스팅 프레임 워크인 JUnit만 있는게 아니다. 다른 언어도 단위 테스트를 위한 프레임워크가 존재하며 보통 이름을 xUnit이라 칭한다. xUnit이름해당 언어관련 사이트 CUnit C http://cunit.sourceforge.net/ CppUnit C++ https://sourceforge.net/projects/cppunit/ PHPUnit PHp https://phpunit.de/ PyUnit Python http://pyunit.sourceforge.net/ JUnit Java http://junit.org/ 1. JUnit 환경구축하기 Maven을 통해 쉽게 추가 할 수 있다. pom.xml에 dependency를 추가한다. JUnit Source : https..
2020.09.03 -
메이븐
1. 메이븐이란? 주로 java 진영에서 프로젝트 빌드, 관리에 사용되는 도구이다. 개발자들이 전체 개발과정을 한 눈에 알아볼 수 있다. 아파치 프로젝트이다. maven의 특징 빌드 절차 간소화 동일한 빌드 시스템 제공 프로젝트 정보 제공 구조 ant와의 차이점 Ant가 비교적 자유도가 높다. 전처리, 컴파일, 패키징, 테스팅, 배포 가능 Maven은 정해진 라이프사이클에 의하여 작업 수행하며, 전반적인 프로젝트 관리 기능까지 포함하고 있음. (Build Tool + Project Management) gradle과의 차이점 XML 대신 groovy 스크립트를 사용하여 동적인 빌드 가능. maven은 멀티프로젝트에서 상속구조인데, gradle은 주입 방식이다. 멀티프로젝트에서 gradle이 더 적합하다...
2020.09.02 -
스트럿츠
스트럿츠 아파치 스트럿츠(Apache Struts)는 Java EE 웹 애플리케이션을 개발하기 위한 오픈 소스 프레임워크이다. 이전에는 자카르타 프로젝트의 하부프로젝트에 속하였으나 스트럿츠는 이제 최상위 레벨의 프로젝트가 되었다. MVC 아키텍처를 적용하는 개발자를 지원하기 위하여 자바 서블릿 API 를 사용하고 확장하였다. 이 프레임워크는 페이지 디자이너, 컴포넌트 개발자, 프로젝트 일부를 담당하는 다른 개발자 등 성격이 다른 그룹들에 의해 다루어지는 대형 웹 애플리케이션의 설계와 구현을 가능케 한다. 강력한 커스텀 태그 라이브러리, 타일형 디스플레이, 폼 유효성 검사등의 특징을 가진다. 또한 다양한 프레젠테이션 레이어들을 지원하여, JSP, XML/XSLT, JSF 등을 포함하고 있으며 또한 Java..
2020.09.01