본문 바로가기

spring5

Enum 열거형 클래스 (내가 취하지 못한 장점들) 그동안 코딩을 하며 내게 이상한? 원칙이 생긴 것 같다. 최근 소규모 프로젝트를 하며 느낀 것인데, 나는 항상 Colmn의 값이 2개로 제한되는 상황이 생기면 아래와 같이 Enum 방식을 고의로 사용하지않고 Y혹은 N 아니면 True혹은 False로 처리했던 것 같다. (에러 처리를 할 때는 개수가 많아지다보니 그때는 Enum을 활용하여 에러코드를 관리하였다) 그러던 와중 문득 이런 생각이 들었다. "Enum을 사용하여 열거를 해놓으면 나중에 생길 경우의 값도 대비할 수 있으니 좋겠지만, 나는 2개만 될 것이 확실하기에 Enum을 쓰지않았다. 근데 이런 내 생각이 맞는 것일까? Enum의 다른 장점이 더 있지는 않을까? 너무 섣부른 판단은 아니였을까?" 그래서 Enum을 쓰면 좋은 점에 대해 열거해보려고.. 2023. 1. 4.
JDBC / JPA, Mybatis 차이점 우선 영속성에 대한 이해가 필요하다. 영속성(Persistence) 1. 데이터를 생성한 프로그램이 종료되더라도 사리지지 않는 데이터의 특성을 말한다. 2. 영속성을 갖지 않는 데이터는 단지 메모리에서만 존재하기 때문에 프로그램이 종료되면 모두 잃어버리게 된다. 때문에 파일 시스템, 관계형 데이터베이스 혹은 객체 데이터베이스 등을 활용하여 데이터를 영구적으로 저장하여 영속성을 부여한다. SQL Mapper와 ORM Persistence Framework는 SQL Mapper 와 ORM으로 나뉜다. 1. ORM은 데이터베이스 객체를 자바 객체로 매핑함으로써 객체 간의 관계를 바탕으로 SQL을 자동으로 생성해주지만, SQL Mapper는 SQL을 명시해줘야 한다. 2. ORM은 관계형 데이터베이스의 '관계'.. 2022. 12. 20.
Spring MVC 패턴구조 및 구동원리 MVC는 왜 생겼는지, 그리고 구동원리가 어떻게 되는지에 대해 파악해보기 위해 직접 순수 Java로 만들어보며 배우는 시간을 가져보았다. https://github.com/iswoos/no_MVCframework_java GitHub - iswoos/no_MVCframework_java: 프레임워크없이, 순수 Java로 web MVC구성하기 (MVC구동 원리파악) 프레임워크없이, 순수 Java로 web MVC구성하기 (MVC구동 원리파악). Contribute to iswoos/no_MVCframework_java development by creating an account on GitHub. github.com 사용이유를 명확히 알기위해, 서블릿과 JSP를 MVC패턴 활용없이 구현해보았다. https.. 2022. 12. 19.
Spring 요청처리 내부구조 1. Tomcat (Servlet Container) > 톰캣은 WAS로써 미들웨어역할을 하지만 아파치의 일부분 기능을 서비스(httpd(웹서비스 데몬) native 모듈 포함)하고있어 Web Server역할도 수행할 수 있다. > 톰캣의 메인 기능으로 서블릿 컨테이너역할인데 이는 서블릿의 라이플 사이클을 관리하며 DispatcherServlet도 해당 컨테이너에서 수행된다. > 또한, 응답을 위한 소켓을 만드는 역할과 요청마다 쓰레드를 생성해 요청을 처리하기 위한 스레드풀을 관리한다. > 해당 Tomcat도 결국 자바프로그램이기 때문에 별도의 JVM이 동작한다. 2. Servlet > 요청에 대한 웹페이지나 결과값을 동적으로 생성 해주기 위한 역할을 수행하는 자바 프로그램 생명주기? init->serv.. 2022. 12. 19.
3계층 구조 (3 Tier - Architecture) 3계층 구조(3 Tier- Architecture) 란? 어떠한 플랫폼을 3계층으로 나누어 별도의 논리적/물리적인 장치에 구축 및 운영하는 형태 조금 더 표현하자면 아래의 그림과 같다. 해당 계층을 사용하여 서버 한대에 모든 기능을 구축하지않고, 데이터를 저장하고 읽는 데이터 계층, 데이터를 처리하는 어플리케이션 계층, 데이터를 표현해주는 클라이언트(프레젠테이션)계층 으로 나눔으로써 각각의 기능으로 별도의 논리적/물리적 장치로 운영할 수 있게된다. 프레젠테이션 계층 (Presentation Tier) 사용자가 직접 마주하게 되는 계층이다. 따라서 주로 사용자 인터페이스(인터넷 브라우저 등)를 지원하며 이 계층은 GUI 또는 프론트엔드(front-end) 라고도 부른다. 그러므로 이 계층에서는 사용자 인터.. 2022. 12. 18.