BE/Java

· BE/Java
상황 프로젝트에서 API를 개발하는 과정에서 통합테스트를 작성했고 로컬에서 테이트 코드가 성공적으로 동작하는것까지 확인했다. 이후 개발 내용을 깃허브에 Pull Request 를 날렸다. 분명 로컬에서는 전체 테스트가 성공적인걸 확인했지만 Github Actions CI과정에서는 실패했다.. @DisplayName("템플릿 식별자를 통해 템플릿을 상세조회한다.") @Test void getDetailTemplateTest() { var user = UserFixtures.createUser(); var savedUser = userRepository.save(user); var template = createTemplate(savedUser); var savedTemplate = templateRepos..
· BE/Java
리스트를 정렬하기 전에 리스트에 추가할 객체를 정의하고 시작하자. public class Apple { private final String name; private final int weight; public Apple(String name, int weight) { this.name = name; this.weight = weight; } public int getWeight() { return weight; } public String getName() { return name; } @Override public String toString() { return "Apple{" + "name='" + name + '\'' + ", weight=" + weight + '}'; } } 1. List.so..
· BE/Java
String Class public final class String implements Serializable, Comparable, CharSequence { @Stable private final byte[] value; private final byte coder; private int hash; private static final long serialVersionUID = -6849794470754667710L; static final boolean COMPACT_STRINGS = true; private static final ObjectStreamField[] serialPersistentFields = new ObjectStreamField[0]; public static final Co..
· BE/Java
자바의 이전 버전에서는 우리는 컴파일을 한 뒤에야 코드를 실행할 수 있었습니다. 하지만 자바 11부터는 우리는 컴파일 없이 바로 코드를 실행할 수 있습니다. 우리가 샘플.java 파일을 갖고 있고 컴파일 없이 자바 11에서 코드를 바로 실행할 수 있다고 가정하자. Collection to an Array: 우리는 자바 11에서 toArray() 메서드를 통해 간단하게 컬렉션을 배열로 변환할 수 있다. public class Test { public static void main(String[] args) { List sampleList = Arrays.asList("LoveToLearn", "Anil"); String[] sampleArray = sampleList.toArray(String[]::new..
· BE/Java
SOLID란? SRP(Single Responsibility Principle) : 단일 책임 원칙 OCP(Opne Closed Principle) : 개방 폐쇄 원칙 LSP(Liskov Substitution Principle) : 리스코프 치환 원칙 ISP(Interface Segregation Priciple) : 인터페이스 분리 원칙 DIP(Dependency Inversion Principle) : 의존 역전 원칙 1.SRP(Single Responsibility Principle) : 단일 책임 원칙 어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 한다. - 로버트 C.마틴 위에서 남자 클래스는 역할과 책임이 너무 많다. 남자라는 클래스의 책임범위를 너무 방대하게 잡았기 때문에 하나의 클..
· BE/Java
빌드 관리 도구란 프로젝트에서 필요한 xml,properties,jar 파일등을 자동으로 인식하여 빌드해주는 도구 소스 코드를 컴파일, 테스트, 정적분석 등을 하여 실행가능한 앱으로 빌드해줌 프로젝트 정보 관리, 테스트 빌드, 배포 등의 작업을 진행해줌 외부 라이브러리를 참조하여 자동으로 다운로드 및 업데이트를 관리해줌 자바의 대표적인 빌드 도구 : Ant, Maven, Gradle 메이븐(Maven) 메이븐(Maven)이란? 자바의 대표적인 관리 도구였던 Ant를 대체하기 위해 개발된것으로 프로젝트의 외부 라이브러리를 쉽게 참조할 수 있게 pom.xml파일로 명시하여 관리함. 참조한 외부 라이브러리에 연관된 다른 라이브러리도 자동으로 관리됨 메이븐(Maven)을 사용하는 이유 - 기존에 사용하던 Ant..
· BE/Java
class Car{ Name name; Position position; } 최근에 박재성(포비)님이 운영하시는 넥스트스텝에 과정을 들으며 "일급 컬렉션을 쓴다"라는 요구사항에 맞춰서 프로그래밍하기 위해 일급 컬렉션이 무엇인지 알아보았다. 우선 일급 컬렉션이 무엇이고 언제 써야 하며 썼을 때 얻는 이점이 무엇인지 궁금했다. 우선 일급 컬렉션이란? 규칙 8: 일급 컬렉션 사용 이 규칙의 적용은 간단하다. 컬렉션을 포함한 클래스는 반드시 다른 멤버 변수가 없어야 한다. 각 컬렉션은 그 자체로 포장돼 있으므로 이제 컬렉션과 관련된 동작은 근거지가 마련된 셈이다. 필터가 이 새 클래스의 일부가 됨을 알 수 있다. 필터는 또한 스스로 함수 객체가 될 수 있다...
· BE/Java
제네릭스(Generics) 제네릭스란? 제네릭스는 JDK1.5 에서 처음 도입된 것으로 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입체크를 해주는 기능이다. 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높인다는 것은 의도하지 않은 타입의 객체가 저장되는 것을 막고 저장된 객체를 꺼내올 때 원래의 타입과 다른 타입으로 잘못 형변환되어 발생할 수 있는 오류를 줄여준 다는 뜻이다. 제네릭의 선언 제네릭 타입은 클래스와 메서드에 선언 가능한데, 클래스에서 선언하는 제네릭 타입으로 class Box { Object item; void setItem(Object item) { this.item = item; } Object getItem() { return item; } } 이 클래..
E@st
'BE/Java' 카테고리의 글 목록