전체 글(121)
-
애자일 방법론 vs 폭포수 방법론
폭포수 방법론 폭포수(WATERFALL)방법론은 그림에서 알 수 있듯이 소프트웨어 개발 단계가 위에서 부터 아래로 폭포에서 물이 떨어지듯이 순차적으로 진행됩니다. 폭포수 방법론은 한단계씩 진행함에 따라 다시 이전 단계로 가지 않고 계속 진행하기에 다음 단계로 가기전에 완벽하게 요구사항을 반영하여 개발했다는 것을 전제로 합니다. 장점 - 수직적으로 진행이 되어 과정에 대한 내용이 이해하기 쉽고 과정마다 진행상황이 탄탄하다. 단점 - 수직적으로 진행이 되어 개발 도중에 요구사항이 변경 되었을 때, 추가적인 비용과 시간이 많이 들게 된다. 애자일 방법론 애자일(AGILE)방법론은 폭포수(WATERFALL)방법론과 다르게 소프트웨어 개발 단계를 명확하게 구분하지 않고 각 단계를 반복적으로 수행하면서 진행합니다...
2022.04.11 -
[Spring] DTO 에 대하여
강의를 들으면서 DTO라는 개념이 존재하고 DTO의 이론적인 설명에 대해 이해하는데 부족한 점이 있어 검색을 하던 중 Tecoble이라는 기술 블로그 사이트에서 좋은 글이 있어 그 글 토대로 정리해보려 한다. 먼저 DTO 란? 계층 간의 데이터 교환을 위해 사용하는 객체 이다. - MVC 패턴은 개발할 때 구성 요소를 Model과 View , Controller 등 세 가지 역할로 구분하는 디자인 패턴중 하나이다. Model 과 View는 서로의 존재를 인지하지 못하고, Controller가 중간에서 연결을 한다. - Model 과 View를 분리함으로써 서로의 의존성을 낮추고 독립적인 개발을 가능하게 한다. - Controller는 View와 도메인 Model의 데이터를 주고받을 때 별도의 DTO를 사..
2022.04.07 -
[테스트] TDD (테스트 주도 개발)
TDD 란? Test Driven Development의 약자로 테스트 주도 개발이라고 한다. 반복 테스트를 이용한 소프트웨어 방법론으로 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현 짧은 개발 주기의 반복에 의존하는 개발 프로세스이며, 애자일 방법론 중 하나인 eXtream Programming의 Test-First 개념에 기반을 둔 단순한 설계를 중요시한다. * eXtreme Programming 이란? 미래에 대한 예측을 최대한 하지 않고 지속적으로 프로토 타입을 완성하는 애자일 방법론 중 하나이다. 추가 요구사항이 생기더라도 실시간으로 빠르게 반영할 수 있다. * 단위 테스트란? 말 그대로 한 단위만을 테스트하는 것. (일반적으로 class 단위) TDD..
2022.04.04 -
[항해99] WIL - 4주차 회고록
Weekly I Learned Spring skilled 배달 API 구현 ORM , SQL , MVC ORM이란? (객체관계매핑) Object-Relational Mapping 의 약자로, 이름 그대로 객체와 관계형 데이터를 매핑하기 위한 기술이다. 이러한 매핑이 필요한 이유는 객체 지향 언어과 관계형 데이터베이스사이의 패러다임 불일치가 있기때문이다. 이 둘 간의 패러다임 불일치 때문에 개발자는 더 많은 코드를 작성해야 하며, 이는 반복적이고 실수하기 쉬운 작업이 된다. 그렇기 때문에 개발자는 객체지향적인 설계에 집중할 수 없게 된다. ORM이 바로 이러한 문제를 해결해 준다. 장점 객체지향적인 코드로 인해 직관적이고 비즈니스 로직에 더 집중할 수 있다.( 코드의 가독성을 올려주며, 부수적인 코드의 양..
2022.04.03 -
[Web] WAS 란 무엇인가? Web Server와 차이점은 무엇인가?
WAS (Web Application Server) 란? - DB 조회나 다양한 로직 처리를 요구하는 동적인 콘텐츠를 제공하기 위해 만들어진 Application Server이다. - Web Container , Servlet Container라고도 불린다. (Container 란 JSP, Servlet을 실행시킬 수 있는 소프트웨어를 말한다.) - WAS는 JSP, Servlet 구동 환경을 제공한다. WAS 역할 Web Server 기능들을 구조적으로 분리하여 처리하고자 하는 목적으로 제시되었다. - 분산 트랜잭션, 보안, 메시징, 스레드 처리 등의 기능을 처리하는 분산 환경에서 사용된다. - 주로 DB 서버와 같이 수행된다. 현재는 WAS 가 가지고 있는 Web Server도 정적인 콘텐츠를 처리하..
2022.04.01 -
[네트워크] TCP와 UDP
TCP 란? TCP (Transmission Control Protocol) 전송 제어 프로토콜 TCP는 IP와 함께 사용된다. IP는 패킷을 목적지까지만 보내는 일을 한다. 네트워크상에서 발생할 수 있는 데이터 누락, 패킷의 순서 뒤바뀜 등 데이터 검사 및 교정과 관련된 기능이 있다. 신뢰성이 있는 데이터 전송을 위한 방법으로, 클라이언트 , 서버라는 개념을 도입하였고 이러한 연결을 만드는 특성으로 연결 지향 프로토콜이라고 한다. * 프로토콜 : 통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다. 즉 통신 규약 및 약속이다. * 패킷 : 정보 기술에서 패킷 방식의 컴퓨터 네트워크가 전달하는 데이터의 형식화된 블록이다. 즉, 컴퓨터 네트워크에서..
2022.03.27