전체 글
-
Dispatcher Servlet에 대해 알아보기 전에 아래 글에서 서블릿에 대해 알아보고 오자!⬇️ 서블릿이 뭐에요?스프링 MVC에 대해 공부하던 중 서블릿에 대한 나름대로의 정리가 필요할 것 같았다. 그래서 먼저 위키에 서블릿이 뭔지 찾아봤다.뭐 그렇다는데, 영한님의 강의에서는 이렇게 서블릿을 설명해dockerel.tistory.com 그럼 이제 이런 서블릿들이 있는데, 뭔가 이상하다고 느낄 부분이 있을 것이다. 현재는 아래와 같이 요청들이 처리 된다.이렇게 되면 각각의 서블릿에서 컨트롤러로 클라이언트의 요청을 처리한다. 근데 이러면 중복되는 부분이 너무 많아질 수 있다. 그래서 클라이언트 요청을 받는 서블릿 하나만 앞단에 두고 해당 서블릿이 요청 경로에 따라 컨트롤러를 매핑하게 바꿀 수 있다.이것을..
Dispatcher Servlet은 뭔데요?Dispatcher Servlet에 대해 알아보기 전에 아래 글에서 서블릿에 대해 알아보고 오자!⬇️ 서블릿이 뭐에요?스프링 MVC에 대해 공부하던 중 서블릿에 대한 나름대로의 정리가 필요할 것 같았다. 그래서 먼저 위키에 서블릿이 뭔지 찾아봤다.뭐 그렇다는데, 영한님의 강의에서는 이렇게 서블릿을 설명해dockerel.tistory.com 그럼 이제 이런 서블릿들이 있는데, 뭔가 이상하다고 느낄 부분이 있을 것이다. 현재는 아래와 같이 요청들이 처리 된다.이렇게 되면 각각의 서블릿에서 컨트롤러로 클라이언트의 요청을 처리한다. 근데 이러면 중복되는 부분이 너무 많아질 수 있다. 그래서 클라이언트 요청을 받는 서블릿 하나만 앞단에 두고 해당 서블릿이 요청 경로에 따라 컨트롤러를 매핑하게 바꿀 수 있다.이것을..
2025.01.19 -
동등성과 동일성?동등성과 동일성은 언뜻 들으면 비슷할 수 있긴 한데 결과적으로는 다른 개념이다. 쉽게 말하자면 동등성은 객체의 내용이 같은지를, 동일성은 메모리상에서 같은 객체인지를 의미한다. 맨날 이 둘이 헷갈려서 사전을 찾아봤다등급, 정도, 내용이 같다고 외우고동일성이 아얘 같은 것, 메모리 상에서 같은 걸 의미한다고 외워버렸다.자바에서는?자 그러면 자바 코드로는 어떻게 비교할까? 우선 동일성은 equals 메서드를 사용하여 비교할 수 있다.위와 같이 비교가 가능한데, 결국 말하고자 하는 건 객체 안의 내용이 같아야 한다는 것이다.그런데 위와 같이 작성하면 사실 안된다.equals와 hashCode객체에서 equals 오버라이딩을 하려고 하면 다음과 같이 나타난다.hashCode가 같이 세트로 오버라..
[매일메일] 동등성과 동일성에 대해서 설명해주세요.동등성과 동일성?동등성과 동일성은 언뜻 들으면 비슷할 수 있긴 한데 결과적으로는 다른 개념이다. 쉽게 말하자면 동등성은 객체의 내용이 같은지를, 동일성은 메모리상에서 같은 객체인지를 의미한다. 맨날 이 둘이 헷갈려서 사전을 찾아봤다등급, 정도, 내용이 같다고 외우고동일성이 아얘 같은 것, 메모리 상에서 같은 걸 의미한다고 외워버렸다.자바에서는?자 그러면 자바 코드로는 어떻게 비교할까? 우선 동일성은 equals 메서드를 사용하여 비교할 수 있다.위와 같이 비교가 가능한데, 결국 말하고자 하는 건 객체 안의 내용이 같아야 한다는 것이다.그런데 위와 같이 작성하면 사실 안된다.equals와 hashCode객체에서 equals 오버라이딩을 하려고 하면 다음과 같이 나타난다.hashCode가 같이 세트로 오버라..
2025.01.18 -
스프링 MVC에 대해 공부하던 중 서블릿에 대한 나름대로의 정리가 필요할 것 같았다. 그래서 먼저 위키에 서블릿이 뭔지 찾아봤다.뭐 그렇다는데, 영한님의 강의에서는 이렇게 서블릿을 설명해주셨다. WAS(웹 어플리케이션 서버)를 구현하려면 아래와 같이 여러 작업을 해야한다.서버 소켓 연결HTTP 요청 메시지 파싱...비즈니스 로직 실행 및 디비에 저장...HTTP 응답 메시지 생성 및 전달소켓 종료이렇게 많은 동작을 필요로 하는데, 서블릿을 지원하는 WAS 사용시 위와 같이 비즈니스 로직 실행 및 디비 저장하는 부분 외에 귀찮은 부분들을 다 처리해준다. 그래서 개발자가 WAS를 더 쉽게 개발할 수 있게 되는 것이다. WAS는 Web Server + Web Container(Sevlet Container)로..
서블릿이 뭐에요?스프링 MVC에 대해 공부하던 중 서블릿에 대한 나름대로의 정리가 필요할 것 같았다. 그래서 먼저 위키에 서블릿이 뭔지 찾아봤다.뭐 그렇다는데, 영한님의 강의에서는 이렇게 서블릿을 설명해주셨다. WAS(웹 어플리케이션 서버)를 구현하려면 아래와 같이 여러 작업을 해야한다.서버 소켓 연결HTTP 요청 메시지 파싱...비즈니스 로직 실행 및 디비에 저장...HTTP 응답 메시지 생성 및 전달소켓 종료이렇게 많은 동작을 필요로 하는데, 서블릿을 지원하는 WAS 사용시 위와 같이 비즈니스 로직 실행 및 디비 저장하는 부분 외에 귀찮은 부분들을 다 처리해준다. 그래서 개발자가 WAS를 더 쉽게 개발할 수 있게 되는 것이다. WAS는 Web Server + Web Container(Sevlet Container)로..
2025.01.18 -
코딩애플 정규화 영상 3번, 학교 강의 1번, 복습 1번 했지만 아직 애매한 정규화...데이터 정규화 우선 데이터 정규화에 대해 설명하기 전에 관계형 DB를 사용하는 이유부터 생각해보자. 첫 번째는 데이터 저장을 위해서이고 두 번째는 데이터의 중복을 줄이기 위해서이다. 개요 그러면 관계형 스키마를 위한 가이드라인부터 한번 알아보자. 이것만 지키면 최고의 스키마?? 1. Making sure the semantics of the attributes 즉, 엔티티를 섞지 말라는 말이다. 오직 foreign key로만 다른 엔티티를 가리켜야 한다. 2. Reduce the redundant information in tuples redundancy(중복)이 생기면 update 이상이 생길 수 있다. 이때 upd..
데이터 정규화코딩애플 정규화 영상 3번, 학교 강의 1번, 복습 1번 했지만 아직 애매한 정규화...데이터 정규화 우선 데이터 정규화에 대해 설명하기 전에 관계형 DB를 사용하는 이유부터 생각해보자. 첫 번째는 데이터 저장을 위해서이고 두 번째는 데이터의 중복을 줄이기 위해서이다. 개요 그러면 관계형 스키마를 위한 가이드라인부터 한번 알아보자. 이것만 지키면 최고의 스키마?? 1. Making sure the semantics of the attributes 즉, 엔티티를 섞지 말라는 말이다. 오직 foreign key로만 다른 엔티티를 가리켜야 한다. 2. Reduce the redundant information in tuples redundancy(중복)이 생기면 update 이상이 생길 수 있다. 이때 upd..
2024.12.02 -
Indexing이 뭔가요? 위 사진과 같이 다른 테이블, 엔트리로 빠르게 안내해주는 보조 접근 방식이라 생각하면 된다. 이로 인해 원하는 데이터에 빠르고 효율적이게 접근이 가능하다. 이러한 Index는 Single-Level과 Multi-Level Indexes로 나눌 수 있다.Single-Level Indexes Single-Level Indexes의 Index Table에는 Index value와 해당 Disk block을 가리키는 Pointer가 있다. 이때 Index value들은 정렬되어 있고, 당연하지만 원래 데이터 파일보다 작다는 특징이 있다. Single-Level Indexes는 Primary Indexes, Clustering Indexes, Secondary Indexes로 나눠진다...
IndexingIndexing이 뭔가요? 위 사진과 같이 다른 테이블, 엔트리로 빠르게 안내해주는 보조 접근 방식이라 생각하면 된다. 이로 인해 원하는 데이터에 빠르고 효율적이게 접근이 가능하다. 이러한 Index는 Single-Level과 Multi-Level Indexes로 나눌 수 있다.Single-Level Indexes Single-Level Indexes의 Index Table에는 Index value와 해당 Disk block을 가리키는 Pointer가 있다. 이때 Index value들은 정렬되어 있고, 당연하지만 원래 데이터 파일보다 작다는 특징이 있다. Single-Level Indexes는 Primary Indexes, Clustering Indexes, Secondary Indexes로 나눠진다...
2024.12.02 -
DI와 DIPDIDI(Dependency Injection, 의존성 주입)은 설명 그대로 의존성을 주입하는 방식을 뜻한다.우선 의존성을 주입한다는 뜻부터 알아보자. A가 B에 의존한다는 말은 B가 변하면 A도 변해야 함을 뜻하고, A -> B와 같이 나타낼 수 있다. 예를 들어 다음과 같은 코드가 있다고 할 때class JdbcRepository { public void save() { // code }}class User { public void saveUser(User user){ new JdbcRepository().save(user); }}만약 DB 접근 방식이 Jdbc에서 Jpa로 바뀐다면 아래와 같이 코드가 변해야 한다.class JpaReposi..
DI와 DIPDI와 DIPDIDI(Dependency Injection, 의존성 주입)은 설명 그대로 의존성을 주입하는 방식을 뜻한다.우선 의존성을 주입한다는 뜻부터 알아보자. A가 B에 의존한다는 말은 B가 변하면 A도 변해야 함을 뜻하고, A -> B와 같이 나타낼 수 있다. 예를 들어 다음과 같은 코드가 있다고 할 때class JdbcRepository { public void save() { // code }}class User { public void saveUser(User user){ new JdbcRepository().save(user); }}만약 DB 접근 방식이 Jdbc에서 Jpa로 바뀐다면 아래와 같이 코드가 변해야 한다.class JpaReposi..
2024.11.23 -
use case 모델링use case 모델링은 시스템의 기능적 요구사항을 결정하고 설명하는 데 사용된다. 이를 통해 고객과 소프트웨어 개발자 간의 합의가 이루어지며, 시스템이 수행해야 하는 작업에 대해 명확하고 일관된 설명을 제공한다. 또한, 개발 과정 전반에 걸쳐 모든 개발자에게 이러한 요구사항을 효과적으로 전달하는 데 활용된다.use case란?use case는 시스템이 특정 사용자(액터) 에게 가치를 제공하기 위해 수행하는 일련의 행동을 설명하는 것으로, use case를 통해 특정 작업이나 기능이 어떻게 이루어지는지를 상세히 설명하고, 이를 통해 시스템이 제공하는 서비스의 범위를 명확하게 설정할 수 있다.use case 모델링은 use case diagram과 use case description..
use case 모델링use case 모델링use case 모델링은 시스템의 기능적 요구사항을 결정하고 설명하는 데 사용된다. 이를 통해 고객과 소프트웨어 개발자 간의 합의가 이루어지며, 시스템이 수행해야 하는 작업에 대해 명확하고 일관된 설명을 제공한다. 또한, 개발 과정 전반에 걸쳐 모든 개발자에게 이러한 요구사항을 효과적으로 전달하는 데 활용된다.use case란?use case는 시스템이 특정 사용자(액터) 에게 가치를 제공하기 위해 수행하는 일련의 행동을 설명하는 것으로, use case를 통해 특정 작업이나 기능이 어떻게 이루어지는지를 상세히 설명하고, 이를 통해 시스템이 제공하는 서비스의 범위를 명확하게 설정할 수 있다.use case 모델링은 use case diagram과 use case description..
2024.10.27 -
Activity Diagram비즈니스 프로세스는 여러 부서 간의 협업과 다양한 활동들이 유기적으로 이루어져야 하는데, 이를 효과적으로 관리하고 최적화하려면 각 단계의 활동을 명확하게 파악하고 시각화하는 것이 중요하다. 이때 activity diagram을 통해 비즈니스 프로세스 관리를 명확하게 할 수 있다.activity diagram은 비즈니스 프로세스 내에서 발생하는 복잡한 동작을 명확하게 모델링하고, 병렬적으로 수행되는 활동이나 데이터 흐름을 시각화하여 프로세스를 이해하기 쉽게 만든다.위 그림은 프린터 서버의 작동 과정을 보여주는 activity diagram으로, 작업 흐름이 조건에 따라 분기되는 방식을 통해 프린터 작업이 처리되는 일련의 과정을 설명하고 있다.또한 작업 흐름이 조건에 따라 분기될..
Activity DiagramActivity Diagram비즈니스 프로세스는 여러 부서 간의 협업과 다양한 활동들이 유기적으로 이루어져야 하는데, 이를 효과적으로 관리하고 최적화하려면 각 단계의 활동을 명확하게 파악하고 시각화하는 것이 중요하다. 이때 activity diagram을 통해 비즈니스 프로세스 관리를 명확하게 할 수 있다.activity diagram은 비즈니스 프로세스 내에서 발생하는 복잡한 동작을 명확하게 모델링하고, 병렬적으로 수행되는 활동이나 데이터 흐름을 시각화하여 프로세스를 이해하기 쉽게 만든다.위 그림은 프린터 서버의 작동 과정을 보여주는 activity diagram으로, 작업 흐름이 조건에 따라 분기되는 방식을 통해 프린터 작업이 처리되는 일련의 과정을 설명하고 있다.또한 작업 흐름이 조건에 따라 분기될..
2024.10.27