BE/Java

· BE/Java
이것도 모르고 자바를 했다니..자바 IO/NIO 프로그래밍 책을 보던중에 아래와 같은 예제를 볼 수 있었다.public class ExtendThread extends Thread { @Override public void run() { System.out.println("Thread 클래스 상속"); }}class ExtendThreadTest { public static void main(String[] args) { Thread thread = new ExtendThread(); thread.start(); }}상속을 통해 Thread를 생성하고 시작하는 방식의 대한 예제이다.위에 예제는 상속을 통해 Thread를 생성하고 시작하는 방..
· 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: 일급 컬렉션 사용 이 규칙의 적용은 간단하다. 컬렉션을 포함한 클래스는 반드시 다른 멤버 변수가 없어야 한다. 각 컬렉션은 그 자체로 포장돼 있으므로 이제 컬렉션과 관련된 동작은 근거지가 마련된 셈이다. 필터가 이 새 클래스의 일부가 됨을 알 수 있다. 필터는 또한 스스로 함수 객체가 될 수 있다...
E@st
'BE/Java' 카테고리의 글 목록