전체 글44 테스트 주도 개발(TDD)란? TDD(Test Driven Development) 반복 테스트를 이용한 소프트웨어 방법론으로 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현한다. 짧은 개발 주기의 반복에 의존하는 개발 프로세스이며, 애자일 방법론 중 하나인 eXtream Programming(XP)의 'Test-First’개념에 기반을 둔 단순한 설계를 중요시한다. 이 기법을 개발했거나 '재발견’한 것으로 인정되는 Kent Beck(켄트 벡)은 2003년 TDD가 단순한 설계를 장려하고 자신감을 불어넣어 준다고 말하였다. eXtream Programming(XP)란? 익스트림 프로그래밍 미래에 대한 예측을 최대한 하지 않고 지속적으로 프로토타입을 완성하는 애자일 기방법론 중 하나이다. 이 방법.. 2023. 11. 13. Scanner VS BufferedReader 차이 계기 백준 Java 알고리즘을 풀던 도중 무지성 Scanner 클래스를 사용했다. 다른 사람의 풀이를 보니 BufferedReader를 주로 사용하는 것을 알게 되었고 BufferedReader가 Scanner보다 빠른건 알고 있지만 왜 빠른지 궁금해져서 정리를 하게 되었다. 이를 기록으로 남겨 Scanner와 BufferedReader의 차이점에 대해 알아보고자 한다. Scanner란? 입력 받은 데이터(바이트)를 다양한 타입으로 변환하여 변환하는 클래스이다. 간단하게 기본형과 String타입을 정규표현식을 사용해 파싱(parse)할 수 있다. 특징 java.util패키지 안에 들어있다. 공백(띄어쓰기) 및 개행(줄 바꿈)을 기준으로 읽는다. 원하는 타입으로 읽을 수 있다. 버퍼의 사이즈가 **1024.. 2023. 11. 11. 백준 - 시험 성적 Java 문제 시험 점수를 입력받아 90~100점은 A, 80~89점은 B, 70~79점은 C, 60~69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력 시험 성적을 출력한다. 예제 입력 100 예체 출력 A 나의 풀이 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner in = new Scanner(System.in); int score = in.nextInt(); if(score >= 90){System.out.print("A");} else if(score >= 80){.. 2023. 11. 11. 헥사고날 아키텍처(Hexagonal Architecture)란 헥사고날 아키텍처란 자료 출처 Hexagonal은 사전적 의미로 '육각형 건축물’을 의미한다. 소프트웨어 설계에 사용되는 아키텍처 패턴중 하나로 여러 소프트웨어 환경에 쉽게 연결할 수 있도록, MSA와 같이 느슨하게 결합된 애플리케이션 구성요소를 만드는 것을 목표로 하는 아키텍처이다. 도메인의 비즈니스 로직을 외부 라이브러리 및 툴로부터 분리 할 때 포트와 어댑터로 사용하기 때문에 포트&어댑터 아키텍처라고도 부른다. (막상 6각형 네이밍보다는 포트&어댑터 아키텍처가 조금 더 맞는 표현이라 생각한다.) 헥사고날 핵심 도메인 비즈니스 로직이 외부요소에 의존하지 않게 만들고, 프레젠테이션 계층(controller)과 데이터 소스 계층(persistence) 같은 외부 요소들이 도메인 계층에 의존하도록 한다. .. 2023. 10. 28. 이전 1 2 3 4 5 ··· 11 다음