분류 전체보기(14)
-
TDD( Test Driven Development )
TDD란 무엇인가?'테스트 주도 개발'은 소프트웨어 개발 방법론 중 하나로작은 단위의 테스트 케이스를 먼저 작성하고 이를 통과하는 코드를 작성하여 무한히 반복하는 것입니다.실패하는 테스트 작성 (RED)테스트를 통과하는 최소한의 코드 작성 (GREEN)코드 리팩토링 (REFACTOR) 을 통해 중복 제거 💁TDD 도입 계기첫 프로젝트에서 기획 시 설계해놓은 ERD와 기능 리스트를 기준으로 프로젝트를 진행했습니다.메서드를 구현할 때 메서드가 실행되기 위해 필요한 파라미터는 자연스레 직접 참조를 하게 되었습니다. 이는 요구 사항이 변경될 때마다 중복된 코드를 추가하거나 기존 코드에 의존성을 더 많이 추가하게 되어 코드가 복잡해지고 유지보수가 어려워졌습니다. 또한 버그나 기능 추가로 인해 기존 로직을 수..
2024.05.27 -
Caching
💻 프로젝트 간략 소개'Cafe-On'은 카페 음료 주문 서비스로,고객들이 대기 시간으로부터 자유롭게 카페의 다양한 음료를 즐길 수 있도록 도와주는 서비스입니다. 🤔특정 카페의 쿠폰 이벤트로 인해 반복적인 메뉴 조회 요청이 예상되는 경우를 고려해보자!✍ 카페 메뉴 조회 기능의 특징카테고리 별로 분류하고 필터링을 통해 사용자가 원하는 항목을 쉽게 찾을 수 있도록 제공.다양한 커피, 음료 메뉴의 가격, 설명, 옵션 리스트 등의 데이터를 포함메뉴 데이터는 변경되는 빈도가 낮음특정 메뉴나 옵션의 재고 상태를 실시간으로 반영하여 품절된 메뉴를 미리 알려줌. ☝ 데이터 베이스로 요청을 보낸다면?다양한 메뉴 항목, 조건을 포함하는 데이터를 여러명이 동시에 요청하게 되면데이터 베이스에 반복적인 요청이 발생하며 트래..
2024.05.26 -
Spring MVC 동작원리
DispatcherServlet은 클라이언트로부터 받은 요청을 전달받는다. HandlerMapping은 해당 요청을 처리할 Controller가 있는지 찾고 해당 Controller 정보를 다시 DispatcherServlet에 리턴한다. (Controller 정보는 Controller 안에 있는 Handler 메서드 정보도 포함) DispatcherServlet은 Handler 메서드를 직접 호출하지 않고 HandlerAdapter에게 Handler 메서드 호출 책임을 넘긴다. HandlerAdapter은 전달받은 Controller 정보를 가지고 해당 Controller의 Handler 메서드를 직접 호출한다. Controller의 Handler 메서드는 Service, DAO, DB를 거쳐 비즈니스..
2023.09.25 -
12. 네트워크 프로그래밍
IP주소기기들을 구분하는 주소, 고유번호 Port컴퓨터 안에 있는 서버들을 구분하는 값 Well Known Port 0~1023 국제 인터넷 주소 관리 기구에서 미리 예약해둔 포트Registered Port 1024~49151 개인 또는 회사에서 사용하는 포트Dynamic 또는 Private Port 49152~65535 운영체제가 부여하는 동적 포트 또는 개인적인 목적으로 사용할 수 있는 포트 도메인 네임 서버(Domain Name Server : DNS)도메인 주소로 접속했을 때, 도메인 주소를 IP 주소로 바꾸고 해당 IP 주소로 접속하는 과정을 일컫음. * DNS 구성 요소 1. 도메인 네임 스페이스(Domain Name Space)2. 네임 서버(Name Server) = 권한 있는 DNS 서..
2023.09.10 -
12. 프로세스와 스레드
프로세스 (Process)프로그램이 돌아가고 있는 상태 즉, 컴퓨터에서 작업 중인 프로그램 모든 프로그램은 운영체제가 실행될 수 있도록 메모리 공간을 할당해줘야 실행될 수 있다. 그래서 프로그램을 실행하는 순간 파일은 컴퓨터 메모리에 올라가게 되고, 운영체제로 부터 시스템 자원(CPU)을 할당받아 프로그램이 실행되고 있는 상태가 프로세스이다. * 프로세스의 자원 구조 프로세스가 만들어지면 4가지 메모리 영역으로 구성되어 할당받게 된다.⊙ 코드 영역(Code / Text) : 프로그래머가 작성한 코드가 CPU가 해석할 수 있는 기계어 형태로 저장되어있다.⊙ 데이터 영역(Data) : 코드가 실행되면서 사용되는 전역 변수나 데이터가 모여있다. ..
2023.09.10 -
11. 회원관리 프로그램
회원 관리 프로그램 구성 1. 회원 등록 2. 회원 목록 보기 3. 회원정보 수정 4. 삭제 5. 종료 - 프로그램을 실행하면 /tmp/users.dat 파일에서 회원정보를 읽어온다. - 해당 파일이 없을 경우 읽어오지 않는다 - 프로그램 종료시, 메모리에 있는 회원 정보를 /tmp/users.dat에 저장한다. - 프로그램을 강제 종료하면 입력된 회원정보는 저장이 안될 수도 있다. * 클래스 다이어그램
2023.09.10